rpm: upgrade to v4.17.1

- Migrate rpmdb location to /usr/lib/sysimage/rpm
- More details at: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr

Introduced following new packages:
- pandoc-bin
- help2man
- dwz
- debugedit

Upgraded packages:
- sendmail
- libsolv

This commit drops libdb support entirely from Photon OS.
Added new package tinycdb - sendmail uses this as default db now.

Change-Id: I151479183dc51548d5da6dfcbb25a48ef34da756
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/15197
Reviewed-by: Alexey Makhalov <amakhalov@vmware.com>
Tested-by: Alexey Makhalov <amakhalov@vmware.com>
This commit is contained in:
Shreenidhi Shedi 2022-02-08 01:05:08 +05:30 committed by Alexey Makhalov
parent 7fde9d1028
commit 2ac8da20e2
53 changed files with 1791 additions and 1596 deletions

View File

@ -1,7 +1,7 @@
Summary: Linux Pluggable Authentication Modules
Name: Linux-PAM
Version: 1.5.2
Release: 1%{?dist}
Release: 2%{?dist}
License: BSD and GPLv2+
URL: https://github.com/linux-pam/linux-pam
Group: System Environment/Security
@ -10,6 +10,7 @@ Distribution: Photon
Source0: https://github.com/linux-pam/linux-pam/releases/download/v%{version}/%{name}-%{version}.tar.xz
%define sha512 %{name}=fa16350c132d3e5fb82b60d991768fb596582639841b8ece645c684705467305ccf1302a0147ec222ab78c01b2c9114c5496dc1ca565d2b56bf315f29a815144
Source1: pamtmp.conf
Patch0: faillock-add-support-to-print-login-failures.patch
@ -81,16 +82,17 @@ ln -sfv pam_unix.so %{buildroot}%{_libdir}/security/pam_unix_passwd.so
ln -sfv pam_unix.so %{buildroot}%{_libdir}/security/pam_unix_session.so
find %{buildroot}%{_libdir} -name '*.la' -delete
install -d -m 755 %{buildroot}/var/run/faillock
install -d -m 755 %{buildroot}%{_var}/run/faillock
install -m644 -D %{SOURCE1} %{buildroot}%{_libdir}/tmpfiles.d/pam.conf
%{find_lang} %{name}
%{_fixperms} %{buildroot}/*
%check
%if 0%{?with_check}
install -v -m755 -d /etc/pam.d
cat > /etc/pam.d/other << "EOF"
install -v -m755 -d %{_sysconfdir}/pam.d
cat > %{_sysconfdir}/pam.d/other << "EOF"
auth required pam_deny.so
account required pam_deny.so
password required pam_deny.so
@ -116,7 +118,7 @@ rm -rf %{buildroot}/*
%{_mandir}/man8/*
%{_libdir}/tmpfiles.d/pam.conf
%{_unitdir}/pam_namespace.service
%dir /var/run/faillock
%dir %{_var}/run/faillock
%files lang -f Linux-PAM.lang
%defattr(-,root,root)
@ -129,6 +131,8 @@ rm -rf %{buildroot}/*
%{_libdir}/pkgconfig/*.pc
%changelog
* Wed Jul 06 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.5.2-2
- Remove libdb support from pam
* Thu Jun 30 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.5.2-1
- Further fixes to faillock patch
- Upgrade to v1.5.2

View File

@ -1,7 +1,7 @@
Summary: Creates a common metadata repository
Name: createrepo_c
Version: 0.16.0
Release: 5%{?dist}
Release: 6%{?dist}
License: GPLv2+
Group: System Environment/Base
Vendor: VMware, Inc.
@ -86,6 +86,8 @@ rm -rf %{buildroot}
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Thu Jul 07 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.16.0-6
- Bump version as a part of rpm upgrade
* Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.16.0-5
- Use cmake macros for build and install
* Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 0.16.0-4

View File

@ -0,0 +1,81 @@
Name: debugedit
Version: 5.0
Release: 1%{?dist}
Summary: Tools for debuginfo creation
License: GPLv3+ and GPLv2+ and LGPLv2+
URL: https://sourceware.org/debugedit
Group: System Environment/Base
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://sourceware.org/ftp/debugedit/%{version}/%{name}-%{version}.tar.xz
%define sha512 %{name}=7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92
Patch0: tweak-find-debuginfo.patch
BuildRequires: make
BuildRequires: gcc
BuildRequires: help2man
# For the testsuite.
BuildRequires: autoconf
BuildRequires: automake
# The find-debuginfo.sh script has a couple of tools it needs at runtime.
# For strip_to_debug, eu-strip
Requires: elfutils
# For add_minidebug, readelf, awk, nm, sort, comm, objcopy, xz
Requires: gawk
Requires: xz
Requires: (coreutils or toybox)
# For do_file, gdb_add_index
# We only need gdb-add-index, so suggest gdb-minimal (full gdb is also ok)
Requires: gdb-minimal
# For dwz
Requires: dwz
Patch1: tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
%description
The debugedit project provides programs and scripts for creating
debuginfo and source file distributions, collect build-ids and rewrite
source paths in DWARF data for debugging, tracing and profiling.
It is based on code originally from the rpm project plus libiberty and
binutils. It depends on the elfutils libelf and libdw libraries to
read and write ELF files, DWARF data and build-ids.
%prep
%autosetup -p1
%build
autoreconf -f -v -i
%configure
%make_build
%install
%make_install
cd %{buildroot}%{_bindir}
ln -sfv find-debuginfo find-debuginfo.sh
%check
%if 0%{?with_check}
sed -i 's/^\(C\|LD\)FLAGS=.*/\1FLAGS=""/' tests/atlocal
make check %{?_smp_mflags}
%endif
%files
%defattr(-,root,root)
%license COPYING COPYING3 COPYING.LIB
%doc README
%{_bindir}/debugedit
%{_bindir}/sepdebugcrcfix
%{_bindir}/find-debuginfo
%{_bindir}/find-debuginfo.sh
%{_mandir}/man1/debugedit.1*
%{_mandir}/man1/sepdebugcrcfix.1*
%{_mandir}/man1/find-debuginfo.1*
%changelog
* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 5.0-1
- Intial version. Needed for rpm-4.17.0

View File

@ -0,0 +1,130 @@
From ae27211cbbfb63a0ad3c141cd1310d7f583ec40e Mon Sep 17 00:00:00 2001
From: Mark Wielaard <mark@klomp.org>
Date: Fri, 30 Jul 2021 18:09:46 +0200
Subject: [PATCH] tests: Handle zero directory entry in .debug_line DWARF5
debugedit.at
We were skipping the zero directory entry, because it was always
the same as the directory entry at position one. But that isn't
true anymore with gcc 11.2.1. There the zero dir entry is unique.
Fix the debugedit.at .debug_line testcases using DWARF5 to also
include dir entry zero.
Signed-off-by: Mark Wielaard <mark@klomp.org>
---
configure.ac | 14 ++++++++++++++
tests/atlocal.in | 1 +
tests/debugedit.at | 18 ++++++++++++------
3 files changed, 27 insertions(+), 6 deletions(-)
diff --git a/configure.ac b/configure.ac
index e5c9230..6a53365 100644
--- a/configure.ac
+++ b/configure.ac
@@ -87,6 +87,20 @@ CFLAGS="$save_CFLAGS"
GDWARF_5_FLAG=$ac_cv_gdwarf_5
AC_SUBST([GDWARF_5_FLAG])
+AC_CACHE_CHECK([whether -gdwarf-5 produced DWARF5 .debug_line], ac_cv_dwarf_5_debugline, [dnl
+save_CFLAGS="$CFLAGS"
+CFLAGS="-gdwarf-5"
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i=0;]],[[/* empty main */]])],
+ [if readelf --debug-dump=line conftest.o 2>&1 | \
+ grep "DWARF Version:" 2>&1 | grep "5" > /dev/null 2>&1; \
+ then ac_cv_dwarf_5_debugline=yes; \
+ else ac_cv_dwarf_5_debugline=no; fi],
+ ac_cv_dwarf_5_debugline=no)
+CFLAGS="$save_CFLAGS"
+])
+DWARF_5_DEBUGLINE=$ac_cv_dwarf_5_debugline
+AC_SUBST([DWARF_5_DEBUGLINE])
+
AC_CACHE_CHECK([whether gcc supports -gz=none], ac_cv_gz_none, [dnl
save_CFLAGS="$CFLAGS"
CFLAGS="-gz=none"
diff --git a/tests/atlocal.in b/tests/atlocal.in
index 8399f8d..d916301 100644
--- a/tests/atlocal.in
+++ b/tests/atlocal.in
@@ -13,3 +13,4 @@ READELF="@READELF@"
GDWARF_5_FLAG=@GDWARF_5_FLAG@
GZ_NONE_FLAG=@GZ_NONE_FLAG@
+DWARF_5_DEBUGLINE=@DWARF_5_DEBUGLINE@
diff --git a/tests/debugedit.at b/tests/debugedit.at
index 0311d26..725e68e 100644
--- a/tests/debugedit.at
+++ b/tests/debugedit.at
@@ -488,10 +488,12 @@ AT_CLEANUP
AT_SETUP([debugedit .debug_line objects DWARF5])
AT_KEYWORDS([debuginfo] [debugedit])
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
DEBUGEDIT_SETUP([-gdwarf-5])
AT_DATA([expout],
[foo/bar/baz
+foo/bar/baz/subdir_bar
foo/bar/baz/subdir_headers
])
@@ -500,8 +502,8 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
AT_CHECK([[
readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
- | grep -A5 "The Directory Table" | grep "^ [123]" \
- | cut -f2- -d/ | grep ^foo/ | sort
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
+ | cut -f2- -d/ | grep ^foo/ | sort -u
]],[0],[expout])
AT_CLEANUP
@@ -535,18 +537,20 @@ AT_CLEANUP
AT_SETUP([debugedit .debug_line partial DWARF5])
AT_KEYWORDS([debuginfo] [debugedit])
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
DEBUGEDIT_SETUP([-gdwarf-5])
AT_DATA([expout],
[foo/bar/baz
+foo/bar/baz/subdir_bar
foo/bar/baz/subdir_headers
])
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
AT_CHECK([[
readelf --debug-dump=line ./foobarbaz.part.o \
- | grep -A5 "The Directory Table" | grep "^ [123]" \
- | cut -f2- -d/ | grep ^foo/ | sort
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
+ | cut -f2- -d/ | grep ^foo/ | sort -u
]],[0],[expout])
AT_CLEANUP
@@ -580,18 +584,20 @@ AT_CLEANUP
AT_SETUP([debugedit .debug_line exe DWARF5])
AT_KEYWORDS([debuginfo] [debugedit])
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
DEBUGEDIT_SETUP([-gdwarf-5])
AT_DATA([expout],
[foo/bar/baz
+foo/bar/baz/subdir_bar
foo/bar/baz/subdir_headers
])
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
AT_CHECK([[
readelf --debug-dump=line ./foobarbaz.exe \
- | grep -A5 "The Directory Table" | grep "^ [123]" \
- | cut -f2- -d/ | grep ^foo/ | sort
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
+ | cut -f2- -d/ | grep ^foo/ | sort -u
]],[0],[expout])
AT_CLEANUP
--
2.27.0

View File

@ -0,0 +1,38 @@
From b9977a94becdc00d20912315a12c64f132daca7a Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Mon, 13 Dec 2021 16:54:28 +0530
Subject: [PATCH] tweak find-debuginfo
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
scripts/find-debuginfo.in | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in
index 8b9ce77..8be3aa0 100755
--- a/scripts/find-debuginfo.in
+++ b/scripts/find-debuginfo.in
@@ -649,11 +649,6 @@ if [ -s "$SOURCEFILE" ]; then
fi
if [ -d "${RPM_BUILD_ROOT}/usr/lib" ] || [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
- ((nout > 0)) ||
- test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
- (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
- sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
-
(cd "${RPM_BUILD_ROOT}/usr"
test ! -d lib/debug || find lib/debug ! -type d
test ! -d src/debug -o -n "$srcout" || find src/debug -mindepth 1 -maxdepth 1
@@ -724,7 +719,7 @@ while ((i < nout)); do
mv "${LISTFILE}.new" "$LISTFILE"
((++i))
done
-if ((nout > 0)); then
+if ((0 && nout > 0)); then
# Generate %dir lines for each output list.
generate_percent_dir()
{
--
2.25.1

View File

@ -1,14 +1,14 @@
Name: drpm
Summary: A library for making, reading and applying deltarpm packages
Version: 0.5.1
Release: 2%{?dist}
Release: 3%{?dist}
License: LGPLv2+ and BSD
URL: https://github.com/rpm-software-management/%{name}
Vendor: VMware, Inc.
Distribution: Photon
Group: System Environment/Base
Source0: https://github.com/rpm-software-management/drpm/releases/download/0.5.1/drpm-%{version}.tar.bz2
Source0: https://github.com/rpm-software-management/drpm/releases/download/%{version}/drpm-%{version}.tar.bz2
%define sha512 %{name}=8c87165fa43bcc5e518a6d60eaadbc43b12643233eb0cb29633f0fdf8a516c24581f5f5bad06779f8c851d6200aec41b50998ab8040e8145391b686ae6be8c48
BuildRequires: cmake
@ -61,11 +61,14 @@ cd %{__cmake_builddir}
%license COPYING LICENSE.BSD
%files devel
%defattr(-,root,root)
%{_libdir}/lib%{name}.so
%{_includedir}/%{name}.h
%{_libdir}/pkgconfig/%{name}.pc
%changelog
* Thu Jul 07 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.5.1-3
- Bump version as a part of rpm upgrade
* Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.5.1-2
- Use cmake macros for build and install
* Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 0.5.1-1

53
SPECS/dwz/dwz.spec Normal file
View File

@ -0,0 +1,53 @@
Summary: DWARF optimization and duplicate removal tool
Name: dwz
Version: 0.14
Release: 1%{?dist}
License: GPLv2+ and GPLv3+
URL: https://sourceware.org/dwz
Group: Applications/System
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://sourceware.org/ftp/dwz/releases/%{name}-%{version}.tar.xz
%define sha512 %{name}=62c39f79723ca99305dbb08d1d24a17699b9a84dd98c30904103da116831b1253bf1edbfb905c76fdc4d48305bd1ea0046314c5619209c40a1e624b8ae4908b1
BuildRequires: gcc
BuildRequires: gdb
BuildRequires: dejagnu
BuildRequires: make
BuildRequires: elfutils-libelf-devel
%description
The dwz package contains a program that attempts to optimize DWARF
debugging information contained in ELF shared libraries and ELF executables
for size, by replacing DWARF information representation with equivalent
smaller representation where possible and by reducing the amount of
duplication using techniques from DWARF standard appendix E - creating
DW_TAG_partial_unit compilation units (CUs) for duplicated information
and using DW_TAG_imported_unit to import it into each CU that needs it.
%prep
%autosetup -p1 -n %{name}
%build
%make_build CFLAGS='%{optflags}' \
prefix=%{_prefix} mandir=%{_mandir} bindir=%{_bindir}
%install
rm -rf %{buildroot}
%make_install prefix=%{_prefix} mandir=%{_mandir} bindir=%{_bindir}
%check
%if 0%{?with_check}
make check %{?_smp_mflags}
%endif
%files
%defattr(-,root,root)
%license COPYING COPYING3 COPYING.RUNTIME
%{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%changelog
* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 0.14-1
- Intial version. Needed for rpm-4.17.0

View File

@ -7,8 +7,10 @@ URL: http://www.fsarchiver.org
Group: Applications/System
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://github.com/fdupoux/fsarchiver/releases/download/%{version}/fsarchiver-%{version}.tar.gz
%define sha1 fsarchiver=6048ffc284e5284556c292a7e733f0a677785377
Source0: https://github.com/fdupoux/fsarchiver/releases/download/%{version}/%{name}-%{version}.tar.gz
%define sha512 %{name}=26a2d7a68d162aabb778b14f29c52cf8fbadb8147cf5eae592352a36fbf93cc45c08c241253bd8dfe8cd0b77d0f156afcc8d89e8d24a238fd4427cb479827f14
BuildRequires: xz-devel
BuildRequires: lzo-devel
BuildRequires: libgcrypt-devel
@ -25,7 +27,7 @@ Fsarchiver is released under the GPL-v2 license.
You should read the Quick start guide if you are using FSArchiver for the first time.
%prep
%setup -q
%autosetup -p1
%build
#make some fixes required by glibc-2.28:
@ -36,13 +38,16 @@ sed -i '/unistd/a #include <sys/sysmacros.h>' src/devinfo.c
--disable-silent-rules \
--disable-lz4 \
--disable-zstd
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%check
%if 0%{?with_check}
make %{?_smp_mflags} check
%endif
%files
%defattr(-,root,root)
@ -50,11 +55,11 @@ make %{?_smp_mflags} check
%{_mandir}/man8/*
%changelog
* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 0.8.6-1
- Automatic Version Bump
* Wed Sep 19 2018 Alexey Makhalov <amakhalov@vmware.com> 0.8.5-2
- Fix compilation issue against glibc-2.28
* Mon Sep 17 2018 Sujay G <gsujay@vmware.com> 0.8.5-1
- Bump to version 0.8.5
* Fri Apr 28 2017 Xiaolin Li <xiaolinl@vmware.com> 0.8.1-1
- Initial build.
* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 0.8.6-1
- Automatic Version Bump
* Wed Sep 19 2018 Alexey Makhalov <amakhalov@vmware.com> 0.8.5-2
- Fix compilation issue against glibc-2.28
* Mon Sep 17 2018 Sujay G <gsujay@vmware.com> 0.8.5-1
- Bump to version 0.8.5
* Fri Apr 28 2017 Xiaolin Li <xiaolinl@vmware.com> 0.8.1-1
- Initial build.

View File

@ -0,0 +1,233 @@
2017-07-19 Rui Gu <ruig@vmware.com>
* Makefile.in (uninstall-pstack, install-pstack): New rules, add
to install and uninstall.
* pstack.sh, pstack.1: New files.
Index: gdb-7.12/gdb/Makefile.in
===================================================================
--- gdb-7.12.orig/gdb/Makefile.in 2014-02-06 20:29:09.401214339 +0100
+++ gdb-7.12/gdb/Makefile.in 2014-02-06 20:29:09.501214360 +0100
@@ -1067,7 +1067,7 @@ info install-info clean-info dvi pdf ins
install: all
@$(MAKE) $(FLAGS_TO_PASS) install-only
-install-only: $(CONFIG_INSTALL)
+install-only: install-pstack $(CONFIG_INSTALL)
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e "$$t"` ; \
if test "x$$transformed_name" = x; then \
@@ -1104,7 +1104,25 @@ install-strip:
install-python:
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
-uninstall: force $(CONFIG_UNINSTALL)
+PSTACK=pstack
+.PHONY: install-pstack
+install-pstack:
+ transformed_name=`t='$(program_transform_name)'; \
+ echo $(PSTACK) | sed -e "$$t"` ; \
+ if test "x$$transformed_name" = x; then \
+ transformed_name=$(PSTACK) ; \
+ else \
+ true ; \
+ fi ; \
+ $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
+ $(INSTALL_PROGRAM) $(srcdir)/$(PSTACK).sh \
+ $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
+ : $(SHELL) $(srcdir)/../mkinstalldirs \
+ $(DESTDIR)$(man1dir) ; \
+ : $(INSTALL_DATA) $(srcdir)/pstack.1 \
+ $(DESTDIR)$(man1dir)/$$transformed_name.1
+
+uninstall: force uninstall-pstack $(CONFIG_UNINSTALL)
transformed_name=`t='$(program_transform_name)'; \
echo gdb | sed -e $$t` ; \
if test "x$$transformed_name" = x; then \
@@ -1127,6 +1145,18 @@ uninstall: force $(CONFIG_UNINSTALL)
fi
@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
+.PHONY: uninstall-pstack
+uninstall-pstack:
+ transformed_name=`t='$(program_transform_name)'; \
+ echo $(PSTACK) | sed -e $$t` ; \
+ if test "x$$transformed_name" = x; then \
+ transformed_name=$(PSTACK) ; \
+ else \
+ true ; \
+ fi ; \
+ rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
+ $(DESTDIR)$(man1dir)/$$transformed_name.1
+
# The C++ name parser can be built standalone for testing.
test-cp-name-parser.o: cp-name-parser.c
$(COMPILE) -DTEST_CPNAMES cp-name-parser.c
Index: gdb-7.12/gdb/pstack.sh
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.12/gdb/pstack.sh 2014-02-06 20:29:09.501214360 +0100
@@ -0,0 +1,43 @@
+#!/bin/sh
+
+if test $# -ne 1; then
+ echo "Usage: `basename $0 .sh` <process-id>" 1>&2
+ exit 1
+fi
+
+if test ! -r /proc/$1; then
+ echo "Process $1 not found." 1>&2
+ exit 1
+fi
+
+# GDB doesn't allow "thread apply all bt" when the process isn't
+# threaded; need to peek at the process to determine if that or the
+# simpler "bt" should be used.
+
+backtrace="bt"
+if test -d /proc/$1/task ; then
+ # Newer kernel; has a task/ directory.
+ if test `/bin/ls /proc/$1/task | /usr/bin/wc -l` -gt 1 2>/dev/null ; then
+ backtrace="thread apply all bt"
+ fi
+elif test -f /proc/$1/maps ; then
+ # Older kernel; go by it loading libpthread.
+ if /bin/grep -e libpthread /proc/$1/maps > /dev/null 2>&1 ; then
+ backtrace="thread apply all bt"
+ fi
+fi
+
+GDB=${GDB:-gdb}
+
+# Run GDB, strip out unwanted noise.
+# --readnever is no longer used since .gdb_index is now in use.
+$GDB --quiet -nx $GDBARGS /proc/$1/exe $1 <<EOF 2>&1 |
+set width 0
+set height 0
+set pagination no
+$backtrace
+EOF
+/bin/sed -n \
+ -e 's/^\((gdb) \)*//' \
+ -e '/^#/p' \
+ -e '/^Thread/p'
Index: gdb-7.12/gdb/testsuite/gdb.base/pstack.exp
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.12/gdb/testsuite/gdb.base/pstack.exp 2014-02-06 20:43:17.774747352 +0100
@@ -0,0 +1,66 @@
+# Copyright (C) 2012 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+set testfile pstack
+set executable ${testfile}
+set binfile [standard_output_file $executable]
+if {[build_executable ${testfile} ${executable} "" {debug}] == -1} {
+ return -1
+}
+
+set test "spawn inferior"
+set command "${binfile}"
+set res [remote_spawn host $command];
+if { $res < 0 || $res == "" } {
+ perror "Spawning $command failed."
+ fail $test
+ return
+}
+set use_gdb_stub 1
+set pid [exp_pid -i $res]
+gdb_expect {
+ -re "looping\r\n" {
+ pass $test
+ }
+ eof {
+ fail "$test (eof)"
+ return
+ }
+ timeout {
+ fail "$test (timeout)"
+ return
+ }
+}
+gdb_exit
+
+# Testcase uses the most simple notification not to get caught by attach on
+# exiting the function. Still we could retry the pstack command if we fail.
+
+set test "spawn pstack"
+set command "sh -c GDB=$GDB\\ GDBARGS=-data-directory\\\\\\ $BUILD_DATA_DIRECTORY\\ sh\\ ${srcdir}/../pstack.sh\\ $pid\\;echo\\ GSTACK-END"
+set res [remote_spawn host $command];
+if { $res < 0 || $res == "" } {
+ perror "Spawning $command failed."
+ fail $test
+}
+set pid [exp_pid -i $res]
+gdb_test_multiple "" $test {
+ -re "^#0 +(0x\[0-9a-f\]+ in )?\\.?func \\(\\) at \[^\r\n\]*\r\n#1 +0x\[0-9a-f\]+ in \\.?main \\(\\) at \[^\r\n\]*\r\nGSTACK-END\r\n\$" {
+ pass $test
+ }
+}
+gdb_exit
+
+remote_exec host "kill -9 $pid"
Index: gdb-7.12/gdb/testsuite/gdb.base/pstack.c
===================================================================
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++ gdb-7.12/gdb/testsuite/gdb.base/pstack.c 2014-02-06 20:29:09.502214360 +0100
@@ -0,0 +1,43 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+void
+func (void)
+{
+ const char msg[] = "looping\n";
+
+ /* Use the most simple notification not to get caught by attach on exiting
+ the function. */
+ write (1, msg, strlen (msg));
+
+ for (;;);
+}
+
+int
+main (void)
+{
+ alarm (60);
+ nice (100);
+
+ func ();
+
+ return 0;
+}

View File

@ -0,0 +1,58 @@
From 8510e0e9287d51eb13f9792559ef9da5c5c6e88b Mon Sep 17 00:00:00 2001
From: Vikash Bansal <bvikas@vmware.com>
Date: Mon, 5 Oct 2020 19:38:56 +0530
Subject: [PATCH] gdb: Stop inaccessible region from getting dumped
Background : 7.12 onward version of gdb started dumping some
inaccessible regions (e.g: alignment gaps) in coredump, which
is increasing the size of core file. Bug 2564068 was raised
for this issue.
Fix:
If a memory region in smaps file is having anonymous keyword
and "read, write and execute" flags are "not set"
Then that memory region is inaccessible, so should not be dumped.
---
gdb/linux-tdep.c | 26 +++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index d06fbc1..d936a63 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -1537,15 +1537,23 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
int should_dump_p = 0;
if (map.has_anonymous)
- {
- should_dump_p
- = should_dump_mapping_p (filterflags, &map.vmflags,
- map.priv,
- map.mapping_anon_p,
- map.mapping_file_p,
- map.filename.c_str (),
- map.start_address,
- map.offset);
+ {
+ if (map.read == 0 && map.write == 0 && map.exec == 0)
+ {
+ /* This is an inaccessible region and should not be dumped */
+ should_dump_p = 0;
+ }
+ else
+ {
+ should_dump_p
+ = should_dump_mapping_p (filterflags, &map.vmflags,
+ map.priv,
+ map.mapping_anon_p,
+ map.mapping_file_p,
+ map.filename.c_str (),
+ map.start_address,
+ map.offset);
+ }
}
else
{
--
2.25.1

View File

@ -1,24 +1,33 @@
%global build_minimal_gdb 1
Summary: C debugger
Name: gdb
Version: 11.2
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv2+
URL: http://www.gnu.org/software/%{name}
Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
%define sha512 gdb=07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
Group: Development/Tools
Vendor: VMware, Inc.
Distribution: Photon
Source0: http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
%define sha512 %{name}=07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
Patch0: gdb-7.12-pstack.patch
Patch1: gdb-Stop-inaccessible-region-from-getting-dumped.patch
Requires: expat
Requires: ncurses
Requires: python3
Requires: xz-libs
BuildRequires: expat-devel
BuildRequires: ncurses-devel
BuildRequires: python3-devel
BuildRequires: python3-libs
BuildRequires: xz-devel
%if %{with_check}
%if 0%{?with_check}
BuildRequires: dejagnu
BuildRequires: systemtap-sdt-devel
%endif
@ -27,47 +36,92 @@ BuildRequires: systemtap-sdt-devel
GDB, the GNU Project debugger, allows you to see what is going on
`inside' another program while it executes -- or what
another program was doing at the moment it crashed.
%if 0%{?build_minimal_gdb}
%package minimal
Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages (minimal version)
Conflicts: %{name} < %{version}-%{release}
%description minimal
GDB, the GNU debugger, allows you to debug programs written in C, C++, Java, and other languages,
by executing them in a controlled fashion and printing their data.
This package provides a minimal version of GDB, tailored to be used by the Photon buildroot.
It should probably not be used by end users.
%endif
%prep
%autosetup
%autosetup -p1
%build
mkdir build && cd build
../configure \
mkdir -p build && cd build
sh ../configure \
--host=%{_host} --build=%{_build} \
--prefix=%{_prefix} \
--with-python=/usr/bin/python3
--with-python=%{_bindir}/python3
make %{?_smp_mflags}
%if 0%{?build_minimal_gdb}
cd ../ && mkdir -p minimal-build && cd minimal-build
sh ../configure \
--host=%{_host} --build=%{_build} --prefix=%{_prefix} \
--without-babeltrace \
--without-expat \
--disable-tui \
--without-python \
--without-guile \
--disable-inprocess-agent \
--without-intel-pt \
--disable-unit-tests \
--disable-source-highlight
make %{?_smp_mflags}
%endif
%install
cd build && make DESTDIR=%{buildroot} %{?_smp_mflags} install
cd build && make DESTDIR=%{buildroot} install %{?_smp_mflags}
find %{buildroot} -name '*.la' -delete
rm %{buildroot}%{_infodir}/dir
rm %{buildroot}%{_libdir}/libctf-nobfd.a
rm %{buildroot}%{_libdir}/libctf.a
rm %{buildroot}%{_infodir}/dir \
%{buildroot}%{_libdir}/libctf-nobfd.a \
%{buildroot}%{_libdir}/libctf.a
# following files conflicts with binutils-2.24-1.x86_64
rm %{buildroot}%{_includedir}/ansidecl.h
rm %{buildroot}%{_includedir}/bfd.h
rm %{buildroot}%{_includedir}/bfdlink.h
rm %{buildroot}%{_includedir}/dis-asm.h
rm %{buildroot}%{_libdir}/libbfd.a
rm %{buildroot}%{_libdir}/libopcodes.a
rm %{buildroot}%{_includedir}/ansidecl.h \
%{buildroot}%{_includedir}/bfd.h \
%{buildroot}%{_includedir}/bfdlink.h \
%{buildroot}%{_includedir}/dis-asm.h \
%{buildroot}%{_libdir}/libbfd.a \
%{buildroot}%{_libdir}/libopcodes.a
# following files conflicts with binutils-2.25-1.x86_64
rm %{buildroot}%{_datadir}/locale/de/LC_MESSAGES/opcodes.mo
rm %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/bfd.mo
rm %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/opcodes.mo
rm %{buildroot}%{_datadir}/locale/de/LC_MESSAGES/opcodes.mo \
%{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/bfd.mo \
%{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/opcodes.mo
%if 0%{?build_minimal_gdb}
mkdir -p %{buildroot}/minimal-gdb
cd ../minimal-build && make DESTDIR=%{buildroot}/minimal-gdb install %{?_smp_mflags}
rm -rfv %{buildroot}/minimal-gdb%{_prefix}/{include,lib*,share} \
%{buildroot}/minimal-gdb%{_bindir}/{gcore,gdbserver,gstack,gdb-add-index,pstack,run}
mv %{buildroot}/minimal-gdb%{_bindir}/gdb %{buildroot}%{_bindir}/gdb.minimal
%endif
%ifarch aarch64
rm %{buildroot}%{_libdir}/libaarch64-unknown-linux-gnu-sim.a
%endif
%find_lang %{name} --all-name ../%{name}.lang
%check
%if 0%{?with_check}
# disable security hardening for tests
rm -f $(dirname $(gcc -print-libgcc-file-name))/../specs
# fix typo in test
sed -i 's/hex in)/hex in )/g' gdb/testsuite/gdb.arch/i386-signal.exp
# ignore exit code and check for expected number of failures
make %{?_smp_mflags} check || tail gdb/testsuite/gdb.sum | grep "# of unexpected failures.*1219\|# of unexpected failures.*1220"
%endif
%files -f %{name}.lang
%defattr(-,root,root)
@ -83,42 +137,51 @@ make %{?_smp_mflags} check || tail gdb/testsuite/gdb.sum | grep "# of unexpecte
%{_bindir}/*
%{_mandir}/*/*
%if 0%{?build_minimal_gdb}
%files minimal
%defattr(-,root,root)
%{_bindir}/gdb.minimal
%{_bindir}/gdb-add-index
%endif
%changelog
* Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 11.2-1
- Automatic Version Bump
* Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 10.2-1
- Automatic Version Bump
* Thu Jan 07 2021 Tapas Kundu <tkundu@vmware.com> 10.1-1
- Update to version 10.1
* Tue Jan 05 2021 Tapas Kundu <tkundu@vmware.com> 9.2-3
- Fix compatibility with python 3.9
* Mon Oct 05 2020 Vikash Bansal <bvikas@vmware.com> 9.2-2
- Stop inaccessible region from getting dumped into coredump
* Mon Aug 24 2020 Keerthana K <keerthanak@vmware.com> 9.2-1
- Update to version 9.2
* Mon Jul 22 2019 Alexey Makhalov <amakhalov@vmware.com> 8.2-2
- Cross compilation support
* Fri Sep 14 2018 Keerthana K <keerthanak@vmware.com> 8.2-1
- Update to version 8.2
* Thu Dec 07 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-8
- Enable LZMA support
* Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-7
- Aarch64 support
* Mon Sep 11 2017 Rui Gu <ruig@vmware.com> 7.12.1-6
- Enable make check in docker with part of checks disabled
* Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-5
- Make check improvements
* Fri Jul 21 2017 Rui Gu <ruig@vmware.com> 7.12.1-4
- Add pstack wrapper which will invoke gdb.
* Wed Jul 12 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-3
- Get tcl, expect and dejagnu from packages
* Thu May 18 2017 Xiaolin Li <xiaolinl@vmware.com> 7.12.1-2
- Build gdb with python3.
* Wed Mar 22 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-1
- Version update
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-3
- GA - Bump release of all rpms
* Tue Nov 10 2015 Xiaolin Li <xiaolinl@vmware.com> 7.8.2-2
- Handled locale files with macro find_lang
* Wed Apr 08 2015 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-1
- Initial build. First version
* Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 11.2-2
- Add gdb-minimal sub package
* Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 11.2-1
- Automatic Version Bump
* Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 10.2-1
- Automatic Version Bump
* Thu Jan 07 2021 Tapas Kundu <tkundu@vmware.com> 10.1-1
- Update to version 10.1
* Tue Jan 05 2021 Tapas Kundu <tkundu@vmware.com> 9.2-3
- Fix compatibility with python 3.9
* Mon Oct 05 2020 Vikash Bansal <bvikas@vmware.com> 9.2-2
- Stop inaccessible region from getting dumped into coredump
* Mon Aug 24 2020 Keerthana K <keerthanak@vmware.com> 9.2-1
- Update to version 9.2
* Mon Jul 22 2019 Alexey Makhalov <amakhalov@vmware.com> 8.2-2
- Cross compilation support
* Fri Sep 14 2018 Keerthana K <keerthanak@vmware.com> 8.2-1
- Update to version 8.2
* Thu Dec 07 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-8
- Enable LZMA support
* Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-7
- Aarch64 support
* Mon Sep 11 2017 Rui Gu <ruig@vmware.com> 7.12.1-6
- Enable make check in docker with part of checks disabled
* Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-5
- Make check improvements
* Fri Jul 21 2017 Rui Gu <ruig@vmware.com> 7.12.1-4
- Add pstack wrapper which will invoke gdb.
* Wed Jul 12 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-3
- Get tcl, expect and dejagnu from packages
* Thu May 18 2017 Xiaolin Li <xiaolinl@vmware.com> 7.12.1-2
- Build gdb with python3.
* Wed Mar 22 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-1
- Version update
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-3
- GA - Bump release of all rpms
* Tue Nov 10 2015 Xiaolin Li <xiaolinl@vmware.com> 7.8.2-2
- Handled locale files with macro find_lang
* Wed Apr 08 2015 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-1
- Initial build. First version

View File

@ -59,7 +59,7 @@ developing applications that use gnutls.
%make_build %{?_smp_mflags}
%install
%make_install %{?smp_mflags}
%make_install %{?_smp_mflags}
rm %{buildroot}%{_infodir}/*
find %{buildroot}%{_libdir} -name '*.la' -delete

View File

@ -0,0 +1,51 @@
Name: help2man
Summary: Create simple man pages from --help output
Version: 1.48.5
Release: 1%{?dist}
License: GPLv3+
URL: https://www.gnu.org/software/help2man
Group: System Environment/Base
Vendor: VMware, Inc.
Distribution: Photon
Source: https://ftp.gnu.org/gnu/help2man/%{name}-%{version}.tar.xz
%define sha512 %{name}=800eb0daa9daef8e423d52ede55eee2960122ea0269865295afada4cf4fcc1c6791da8429c3a57c0fc1bf0a14c8a77953952325413a8faa5dd07b1bc5bc0edd1
BuildRequires: gcc
BuildRequires: make
BuildRequires: perl
BuildArch: noarch
%description
help2man is a script to create simple man pages from the --help and
--version output of programs.
Since most GNU documentation is now in info format, this provides a
way to generate a placeholder man page pointing to that resource while
still providing some useful information.
%prep
%autosetup -p1 -n %{name}-%{version}
%build
%configure
%make_build %{?_smp_mflags}
%install
make install_l10n DESTDIR=%{buildroot} %{?_smp_mflags}
%{make_install} %{?_smp_mflags}
%find_lang %name --with-man
%files -f %name.lang
%defattr(-,root,root)
%doc README NEWS THANKS
%license COPYING
%{_bindir}/help2man
%{_infodir}/*
%{_mandir}/man1/*
%changelog
* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 1.48.5-1
- Intial version. Needed for rpm-4.17.0

View File

@ -1,17 +1,20 @@
Summary: Basic and advanced IPV4-based networking
Name: iproute2
Version: 5.12.0
Release: 2%{?dist}
Release: 3%{?dist}
License: GPLv2+
URL: http://www.kernel.org/pub/linux/utils/net/iproute2
Group: Applications/System
Vendor: VMware, Inc.
Distribution: Photon
Source0: http://www.kernel.org/pub/linux/utils/net/iproute2/%{name}-%{version}.tar.xz
%define sha1 iproute2=4e18c1d72a29f41a5968ac8a9b266470f6ad89a7
Provides: iproute
%define sha512 %{name}=9249beb67b30ceef178b60b2b61a5e6c45277e747ae4c865e739b7ab84192549e8e94ebaee43c0a87c0291037746ffb6936346245220786e369201ee13d60fac
Patch0: replace_killall_by_pkill.patch
Provides: iproute
%description
The IPRoute2 package contains programs for basic and advanced
IPV4-based networking.
@ -32,32 +35,34 @@ sed -i 's/arpd.8//' man/man8/Makefile
sed -i 's/m_ipt.o//' tc/Makefile
%build
make CC=%{_host}-gcc VERBOSE=1 %{?_smp_mflags} DESTDIR= LIBDIR=%{_libdir}
%configure
%make_build %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} \
MANDIR=%{_mandir} \
LIBDIR=%{_libdir} \
DOCDIR=%{_defaultdocdir}/%{name}-%{version} install
export SBINDIR='%{_sbindir}'
export LIBDIR='%{_libdir}'
%make_install %{?_smp_mflags}
%check
%if 0%{?with_check}
cd testsuite
# Fix linking issue in testsuite
sed -i 's/<libnetlink.h>/\"..\/..\/include\/libnetlink.h\"/g' tools/generate_nlmsg.c
sed -i 's/\"libnetlink.h\"/"..\/include\/libnetlink.h\"/g' ../lib/libnetlink.c
cd tools
make
make %{?_smp_mflags}
cd ..
make
make alltests
make %{?_smp_mflags}
make alltests %{?_smp_mflags}
cd ..
%endif
%ldconfig_scriptlets
%files
%defattr(-,root,root)
%{_sysconfdir}/%{name}/*
/sbin/*
%{_sbindir}/*
%{_libdir}/tc/*
%{_mandir}/man7/*
%{_mandir}/man8/*
@ -70,7 +75,9 @@ cd ..
%{_mandir}/man3/*
%changelog
* Mon Aug 02 2021 Susant Sahani <ssahani@vmware.com> 5.12.0-1
* Sat Feb 12 2022 Shreenidhi Shedi <sshedi@vmware.com> 5.12.0-3
- Drop libdb support
* Mon Aug 02 2021 Susant Sahani <ssahani@vmware.com> 5.12.0-2
- Use autosetup and ldconfig scriptlets
* Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 5.12.0-1
- Automatic Version Bump

View File

@ -7,8 +7,9 @@ Vendor: VMware, Inc.
Distribution: Photon
License: GPL-2.1 OR BSD-2-Clause
URL: https://github.com/libbpf/libbpf
Source: libbpf-%{version}.tar.gz
%define sha1 libbpf=ae84df3705c3d20464e4d257c2182680e4eb0afa
Source0: https://github.com/libbpf/libbpf/archive/refs/tags/libbpf-%{version}.tar.gz
%define sha512 %{name}=5a8ca70c571fb306dd280f0526db48b78b13b57b4012f7bd3933d6e07d5e41e9370b2db6ed9bbc283c6dcbb21036810bf3093f462906b66557ce0d850c89083a
BuildRequires: elfutils-libelf-devel
BuildRequires: elfutils-devel
@ -28,31 +29,31 @@ The libbpf-devel package contains libraries header files for
developing applications that use libbpf.
%prep
%autosetup
%autosetup -p1
%build
%make_build -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir}
%make_build -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir} %{?_smp_mflags}
%install
%make_install -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir}
%make_install -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir} %{?_smp_mflags}
%clean
rm -rf %{buildroot}
%files
%attr(0755,-,-) %{_libdir}/libbpf.so.0.6.0
%attr(0755,-,-) %{_libdir}/libbpf.so.*
%{_libdir}/libbpf.so.0
%{_libdir}/libbpf.so
%files devel
%attr(0644,-,-) /usr/include/bpf/*
%attr(0644,-,-) %{_includedir}/bpf/*
%attr(0644,-,-) %{_libdir}/libbpf.a
%attr(0644,-,-) %{_libdir}/pkgconfig/libbpf.pc
%changelog
* Mon Feb 21 2022 Mukul Sikka <msikka@vmware.com> 0.6.1-2
* Mon Feb 21 2022 Mukul Sikka <msikka@vmware.com> 0.6.1-2
- Fix build error in aarch64 platform
* Wed Jan 12 2022 Susant Sahani <ssahani@vmware.com> 0.6.1-1
* Wed Jan 12 2022 Susant Sahani <ssahani@vmware.com> 0.6.1-1
- Version Bump
* Thu Apr 29 2021 Gerrit Photon <photon-checkins@vmware.com> 0.3-1
- Automatic Version Bump

View File

@ -1,72 +0,0 @@
Summary: The Berkley DB database library for C
Name: libdb
Version: 5.3.28
Release: 2%{?dist}
License: BSD and LGPLv2 and Sleepycat
URL: https://oss.oracle.com/berkeley-db.html
Source0: http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
%define sha1 db=fa3f8a41ad5101f43d08bc0efb6241c9b6fc1ae9
Group: System/Libraries
Vendor: VMware, Inc.
Distribution: Photon
Obsoletes: db
%description
The Berkeley DB package contains libraries used by many other applications for database related functions.
%package devel
Summary: Header and development files
Requires: %{name} = %{version}
Obsoletes: db-devel
%description devel
It contains the libraries and header files to create applications
%package docs
Summary: DB docs
Group: Databases
Obsoletes: db-docs
%description docs
The package contains the DB doc files
%prep
%setup -q -n db-%{version}
%build
cd build_unix
../dist/configure \
--host=%{_host} --build=%{_build} \
--prefix=%{_prefix} \
--enable-compat185 \
--enable-dbm \
--disable-static
make %{?_smp_mflags}
%install
pushd build_unix
make DESTDIR=%{buildroot} docdir=%{_docdir}/%{name}-%{version} install
popd
find %{buildroot} -name '*.la' -delete
install -v -d -m755 %{buildroot}/%{_datadir}/licenses/
install -D -m755 LICENSE %{buildroot}/%{_datadir}/licenses/LICENSE
install -D -m755 README %{buildroot}/%{_datadir}/licenses/README
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root)
%exclude %{_bindir}/*
%{_libdir}/*.so
%{_datadir}/licenses/*
%files docs
%defattr(-,root,root)
%{_docdir}/%{name}-%{version}/*
%files devel
%defattr(-,root,root)
%exclude %{_includedir}/db_cxx.h
%{_includedir}/*
%changelog
* Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 5.3.28-2
- Aarch64 support
* Thu Oct 27 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.3.28-1
- Initial build. First version

View File

@ -1,7 +1,7 @@
Summary: A free package dependency solver
Name: libsolv
Version: 0.7.19
Release: 4%{?dist}
Version: 0.7.20
Release: 1%{?dist}
License: BSD
URL: https://github.com/openSUSE/libsolv
Group: Development/Tools
@ -9,14 +9,12 @@ Vendor: VMware, Inc.
Distribution: Photon
Source0: https://github.com/openSUSE/libsolv/archive/%{name}-%{version}.tar.gz
%define sha512 %{name}=dfcebea314d549a15bf5af19db775ff1b1850bfc6fb147b68fe094e43bf1541fcfe22d2f6c6607a6393e01905a086cea606d0b25da2e3ce376d100c4ef4fee00
%define sha512 %{name}=be810a78543509c60fe9be9310cc84b6c75e671b77929a1f914f51d4b3b2364e68398794d4648da46691cde7e5aab3cf57d18969c31f1003692080dc1982e955
Requires: rpm-libs >= 4.16.1.3
Requires: libdb
Requires: expat-libs
Requires: zlib
BuildRequires: libdb-devel
BuildRequires: cmake
BuildRequires: rpm-devel >= 4.16.1.3
BuildRequires: expat-devel
@ -57,6 +55,7 @@ find %{buildroot} -name '*.la' -delete
%if 0%{?with_check}
%check
cd %{__cmake_builddir}
make %{?_smp_mflags} test
%endif
@ -77,6 +76,8 @@ make %{?_smp_mflags} test
%{_mandir}/man3/*
%changelog
* Wed Jul 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.7.20-1
- Upgrade to v0.7.20
* Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.7.19-4
- Use cmake macros for build
* Wed Dec 1 2021 Oliver Kurth <okurth@vmware.com> 0.7.19-3

View File

@ -1,19 +1,23 @@
Summary: Libxslt
Name: libxslt
Version: 1.1.35
Release: 1%{?dist}
Release: 2%{?dist}
License: MIT
URL: http:/http://xmlsoft.org/libxslt/
URL: http://http://xmlsoft.org/libxslt
Group: System Environment/General Libraries
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://download.gnome.org/sources/%{name}/1.1/%{name}-%{version}.tar.xz
%define sha512 libxslt=9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
%define sha512 %{name}=9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
Requires: libxml2-devel
Requires: libgcrypt
BuildRequires: libxml2-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgpg-error-devel
%description
The libxslt package contains XSLT libraries used for extending libxml2 libraries to support XSLT files.
@ -33,20 +37,25 @@ sed -i 's/int xsltMaxDepth = 3000/int xsltMaxDepth = 5000/g' libxslt/transform.c
$(test %{_host} != %{_build} && echo "--with-sysroot=/target-%{_arch}") \
--disable-static \
--without-python
make %{?_smp_mflags}
%make_build
%install
[ %{buildroot} != "/" ] && rm -rf %{buildroot}/*
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%make_install %{?_smp_mflags}
find %{buildroot} -name '*.la' -delete
%{_fixperms} %{buildroot}/*
%if 0%{?with_check}
%check
make %{?_smp_mflags} check
%endif
%post -p /sbin/ldconfig
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
rm -rf %{buildroot}/*
%files
%defattr(-,root,root)
%{_libdir}/*.so.*
@ -67,39 +76,41 @@ rm -rf %{buildroot}/*
%{_datadir}/gtk-doc/*
%changelog
* Mon Jun 20 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 1.1.35-1
- Update to version 1.1.35
* Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 1.1.34-4
- Release bump up to use libxml2 2.9.12-1.
* Fri Feb 19 2021 Shreyas B. <shreyasb@vmware.com> 1.1.34-3
- Increase the maximum number of nested template calls for xml.
* Fri Dec 18 2020 Shreenidhi Shedi <sshedi@vmware.com> 1.1.34-2
- Fix build with new rpm
* Wed Jul 08 2020 Gerrit Photon <photon-checkins@vmware.com> 1.1.34-1
- Automatic Version Bump
* Tue Dec 17 2019 Shreyas B. <shreyasb@vmware.com> 1.1.32-3
- Apply patch for CVE-2019-5815: READ heap-buffer-overflow in libxslt.
- Apply patch for CVE-2019-18197
- Apply patch for CVE-2019-13118
- Apply patch for CVE-2019-13117
- Apply patch for CVE-2019-11068
* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.32-2
- Cross compilation support
* Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.32-1
- Update to version 1.1.32.
* Tue Jul 11 2017 Divya Thaluru <dthaluru@vmware.com> 1.1.29-4
- Applied patches for CVE-2015-9019 and CVE-2017-5029.
* Tue May 23 2017 Kumar Kaushik <kaushikk@vmware.com> 1.1.29-3
- Build does not requires python.
* Wed Dec 07 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.29-2
- Moved man3 to devel subpackage.
* Fri Oct 21 2016 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.29-1
- Fix CVEs 2016-1683, 2016-1684, 2015-7995 with version 1.1.29
* Mon Oct 03 2016 Chang Lee <changlee@vmware.com> 1.1.28-4
- Modified check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.28-3
- GA - Bump release of all rpms
* Tue Jan 19 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.28-2
- Add a dev subpackage.
* Mon Oct 13 2014 Divya Thaluru <dthaluru@vmware.com> 1.1.28-1
- Initial build. First version
* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.1.35-2
- Add libgpg-error-devel to BuildRequires
* Mon Jun 20 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 1.1.35-1
- Update to version 1.1.35
* Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 1.1.34-4
- Release bump up to use libxml2 2.9.12-1.
* Fri Feb 19 2021 Shreyas B. <shreyasb@vmware.com> 1.1.34-3
- Increase the maximum number of nested template calls for xml.
* Fri Dec 18 2020 Shreenidhi Shedi <sshedi@vmware.com> 1.1.34-2
- Fix build with new rpm
* Wed Jul 08 2020 Gerrit Photon <photon-checkins@vmware.com> 1.1.34-1
- Automatic Version Bump
* Tue Dec 17 2019 Shreyas B. <shreyasb@vmware.com> 1.1.32-3
- Apply patch for CVE-2019-5815: READ heap-buffer-overflow in libxslt.
- Apply patch for CVE-2019-18197
- Apply patch for CVE-2019-13118
- Apply patch for CVE-2019-13117
- Apply patch for CVE-2019-11068
* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.32-2
- Cross compilation support
* Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.32-1
- Update to version 1.1.32.
* Tue Jul 11 2017 Divya Thaluru <dthaluru@vmware.com> 1.1.29-4
- Applied patches for CVE-2015-9019 and CVE-2017-5029.
* Tue May 23 2017 Kumar Kaushik <kaushikk@vmware.com> 1.1.29-3
- Build does not requires python.
* Wed Dec 07 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.29-2
- Moved man3 to devel subpackage.
* Fri Oct 21 2016 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.29-1
- Fix CVEs 2016-1683, 2016-1684, 2015-7995 with version 1.1.29
* Mon Oct 03 2016 Chang Lee <changlee@vmware.com> 1.1.28-4
- Modified check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.28-3
- GA - Bump release of all rpms
* Tue Jan 19 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.28-2
- Add a dev subpackage.
* Mon Oct 13 2014 Divya Thaluru <dthaluru@vmware.com> 1.1.28-1
- Initial build. First version

View File

@ -1,7 +1,7 @@
Summary: Open Source Security Compliance Solution
Name: openscap
Version: 1.3.6
Release: 4%{?dist}
Release: 5%{?dist}
License: GPL2+
URL: https://www.open-scap.org
Group: System Environment/Libraries
@ -111,6 +111,8 @@ ctest -V %{?_smp_mflags}
%{_libdir}/python3.9/*
%changelog
* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-5
- Bump version as a part of rpm upgrade
* Wed Jun 22 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-4
- Exclude debug symbols properly
* Fri Jun 17 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-3

58
SPECS/pandoc/pandoc.spec Normal file
View File

@ -0,0 +1,58 @@
%global debug_package %{nil}
Summary: Conversion between markup formats
Name: pandoc-bin
Version: 2.17.1.1
Release: 1%{?dist}
License: GPLv2+
URL: https://github.com/jgm/pandoc
Group: Development/Tools
Vendor: VMware, Inc.
Distribution: Photon
# To package the source:
# -> Goto https://github.com/jgm/pandoc/releases/
# -> Get the desired version tar archives for amd64 & aarch64
# -> Unpack them and put them in a single tar archive
# Example: for v2.17.1.1
# mkdir -p pandoc-2.17.1.1 && cd pandoc-2.17.1.1
# Download amd64 & aarch64 tar archives
# tar xf pandoc-2.17.1.1-linux-arm64.tar.gz && mv pandoc-2.17.1.1 aarch64
# tar xf pandoc-2.17.1.1-linux-amd64.tar.gz && mv pandoc-2.17.1.1 amd64
# cd .. && tar cJf pandoc-2.17.1.1.tar.xz pandoc-2.17.1.1
Source0: pandoc-%{version}.tar.xz
%define sha512 pandoc=e27e93138c3b6258a4849df23d8c0c6439e8efd26166922300ff5401f5bf68d481e6bba452c51ca24c8dbbce5894c23bde9aeef9db571078454e8caf07d3becc
%description
Pandoc - executable only, without Haskell depends/makedepends
%package devel
Summary: Pandoc man pages
%description devel
Contains Pandoc man pages
%prep
%autosetup -p1 -n pandoc-%{version}
%build
%install
mkdir -p %{buildroot}%{_mandir} %{buildroot}%{_bindir}
pushd "%{_arch}"
mv share/man/* %{buildroot}%{_mandir}
mv bin/pandoc %{buildroot}%{_bindir}
popd
%files
%defattr(-,root,root)
%{_bindir}/pandoc
%files devel
%defattr(-,root,root)
%{_mandir}/*
%changelog
* Sun Dec 26 2021 Shreenidhi Shedi <sshedi@vmware.com> 2.17.1.1-1
- Initial version, needed for rpm-4.17.0

View File

@ -0,0 +1,37 @@
From 6fd680c293747ff085b00f971f2fbf037c6c3a1f Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Wed, 9 Feb 2022 23:35:52 +0530
Subject: [PATCH] Remove libdb support
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
Configure | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/Configure b/Configure
index 684a9c0..9599af2 100755
--- a/Configure
+++ b/Configure
@@ -20147,12 +20147,13 @@ int main(int argc, char *argv[])
EOCP
set try
if eval $compile_ok && $run ./try; then
- echo 'Looks OK.' >&4
- set `$run ./try 1`
- db_version_major=$1
- db_version_minor=$2
- db_version_patch=$3
- else
+ if false; then
+ echo 'Looks OK.' >&4
+ set `$run ./try 1`
+ db_version_major=$1
+ db_version_minor=$2
+ db_version_patch=$3
+ fi
echo "I can't use Berkeley DB with your <db.h>. I'll disable Berkeley DB." >&4
i_db=$undef
case " $libs " in
--
2.25.1

View File

@ -1,24 +0,0 @@
From 96c83ed78aeea1a0496dd2b2d935869a822dc8a5 Mon Sep 17 00:00:00 2001
From: Karl Williamson <khw@cpan.org>
Date: Wed, 21 Jun 2017 11:33:37 -0600
Subject: [PATCH] regcomp [perl #131582]
---
regcomp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/regcomp.c b/regcomp.c
index 800b8cdc5e..a489cdecf7 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -13318,6 +13318,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
goto loopdone;
}
p = RExC_parse;
+ RExC_parse = parse_start;
if (ender > 0xff) {
REQUIRE_UTF8(flagp);
}
--
2.14.2-920-gcf0c679

View File

@ -1,24 +0,0 @@
diff -dupr a/regcomp.c b/regcomp.c
--- a/regcomp.c 2016-07-14 12:08:08.000000000 -0700
+++ b/regcomp.c 2017-10-03 13:05:27.589719134 -0700
@@ -11918,16 +11918,17 @@ S_grok_bslash_N(pTHX_ RExC_state_t *pREx
}
sv_catpv(substitute_parse, ")");
- RExC_parse = RExC_start = RExC_adjusted_start = SvPV(substitute_parse,
- len);
+ len = SvCUR(substitute_parse);
/* Don't allow empty number */
if (len < (STRLEN) 8) {
RExC_parse = endbrace;
vFAIL("Invalid hexadecimal number in \\N{U+...}");
}
- RExC_end = RExC_parse + len;
+ RExC_parse = RExC_start = RExC_adjusted_start
+ = SvPV_nolen(substitute_parse);
+ RExC_end = RExC_parse + len;
/* The values are Unicode, and therefore not subject to recoding, but
* have to be converted to native on a non-Unicode (meaning non-ASCII)
* platform. */

View File

@ -1,345 +0,0 @@
From cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab Mon Sep 17 00:00:00 2001
From: Tony Cook <tony@develop-help.com>
Date: Tue, 21 Jun 2016 10:02:02 +1000
Subject: [PATCH] (perl #127834) remove . from the end of @INC if complex
modules are loaded
While currently Encode and Storable are know to attempt to load modules
not included in the core, updates to other modules may lead to those
also attempting to load new modules, so be safe and remove . for those
as well.
---
cpan/Archive-Tar/bin/ptar | 1 +
cpan/Archive-Tar/bin/ptardiff | 1 +
cpan/Archive-Tar/bin/ptargrep | 1 +
cpan/CPAN/scripts/cpan | 1 +
cpan/Digest-SHA/shasum | 1 +
cpan/Encode/bin/enc2xs | 1 +
cpan/Encode/bin/encguess | 1 +
cpan/Encode/bin/piconv | 1 +
cpan/Encode/bin/ucmlint | 1 +
cpan/Encode/bin/unidump | 1 +
cpan/ExtUtils-MakeMaker/bin/instmodsh | 1 +
cpan/IO-Compress/bin/zipdetails | 1 +
cpan/JSON-PP/bin/json_pp | 1 +
cpan/Test-Harness/bin/prove | 1 +
dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp | 1 +
dist/Module-CoreList/corelist | 1 +
ext/Pod-Html/bin/pod2html | 1 +
utils/c2ph.PL | 1 +
utils/h2ph.PL | 2 ++
utils/h2xs.PL | 2 ++
utils/libnetcfg.PL | 1 +
utils/perlbug.PL | 1 +
utils/perldoc.PL | 5 ++++-
utils/perlivp.PL | 2 ++
utils/splain.PL | 6 ++++++
25 files changed, 36 insertions(+), 1 deletion(-)
diff --git a/cpan/Archive-Tar/bin/ptar b/cpan/Archive-Tar/bin/ptar
index 0eaffa7..9dc6402 100644
--- a/cpan/Archive-Tar/bin/ptar
+++ b/cpan/Archive-Tar/bin/ptar
@@ -1,6 +1,7 @@
#!/usr/bin/perl
use strict;
+BEGIN { pop @INC if $INC[-1] eq '.' }
use File::Find;
use Getopt::Std;
use Archive::Tar;
diff --git a/cpan/Archive-Tar/bin/ptardiff b/cpan/Archive-Tar/bin/ptardiff
index 66bd859..4668fa6 100644
--- a/cpan/Archive-Tar/bin/ptardiff
+++ b/cpan/Archive-Tar/bin/ptardiff
@@ -1,5 +1,6 @@
#!/usr/bin/perl
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use Archive::Tar;
use Getopt::Std;
diff --git a/cpan/Archive-Tar/bin/ptargrep b/cpan/Archive-Tar/bin/ptargrep
index 1a320f1..8dc6b4f 100644
--- a/cpan/Archive-Tar/bin/ptargrep
+++ b/cpan/Archive-Tar/bin/ptargrep
@@ -4,6 +4,7 @@
# archive. See 'ptargrep --help' for more documentation.
#
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings;
diff --git a/cpan/CPAN/scripts/cpan b/cpan/CPAN/scripts/cpan
index 5555090..cceab30 100644
--- a/cpan/CPAN/scripts/cpan
+++ b/cpan/CPAN/scripts/cpan
@@ -1,5 +1,6 @@
#!/usr/local/bin/perl
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use vars qw($VERSION);
diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum
index 14ddd60..62a2b0e 100644
--- a/cpan/Digest-SHA/shasum
+++ b/cpan/Digest-SHA/shasum
@@ -13,6 +13,7 @@
## "-0" option for reading bit strings, and
## "-p" option for portable digests (to be deprecated).
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings;
use Fcntl;
diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
index ec4732c..f8d9f52 100644
--- a/cpan/Encode/bin/enc2xs
+++ b/cpan/Encode/bin/enc2xs
@@ -4,6 +4,7 @@ BEGIN {
# with $ENV{PERL_CORE} set
# In case we need it in future...
require Config; import Config;
+ pop @INC if $INC[-1] eq '.';
}
use strict;
use warnings;
diff --git a/cpan/Encode/bin/encguess b/cpan/Encode/bin/encguess
index 5d7ac80..0be5c7c 100644
--- a/cpan/Encode/bin/encguess
+++ b/cpan/Encode/bin/encguess
@@ -1,5 +1,6 @@
#!./perl
use 5.008001;
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings;
use Encode;
diff --git a/cpan/Encode/bin/piconv b/cpan/Encode/bin/piconv
index c1dad9e..60b2a59 100644
--- a/cpan/Encode/bin/piconv
+++ b/cpan/Encode/bin/piconv
@@ -1,6 +1,7 @@
#!./perl
# $Id: piconv,v 2.7 2014/05/31 09:48:48 dankogai Exp $
#
+BEGIN { pop @INC if $INC[-1] eq '.' }
use 5.8.0;
use strict;
use Encode ;
diff --git a/cpan/Encode/bin/ucmlint b/cpan/Encode/bin/ucmlint
index 622376d..25e0d67 100644
--- a/cpan/Encode/bin/ucmlint
+++ b/cpan/Encode/bin/ucmlint
@@ -3,6 +3,7 @@
# $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $
#
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
our $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
diff --git a/cpan/Encode/bin/unidump b/cpan/Encode/bin/unidump
index ae0da30..f190827 100644
--- a/cpan/Encode/bin/unidump
+++ b/cpan/Encode/bin/unidump
@@ -1,5 +1,6 @@
#!./perl
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use Encode;
use Getopt::Std;
diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
index 8b9aa95..ab0f9d1 100644
--- a/cpan/ExtUtils-MakeMaker/bin/instmodsh
+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use IO::File;
use ExtUtils::Packlist;
diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails
index 0249850..1b9c70a 100644
--- a/cpan/IO-Compress/bin/zipdetails
+++ b/cpan/IO-Compress/bin/zipdetails
@@ -5,6 +5,7 @@
# Display info on the contents of a Zip file
#
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings ;
diff --git a/cpan/JSON-PP/bin/json_pp b/cpan/JSON-PP/bin/json_pp
index 3362dec..39bed4d 100644
--- a/cpan/JSON-PP/bin/json_pp
+++ b/cpan/JSON-PP/bin/json_pp
@@ -1,5 +1,6 @@
#!/usr/bin/perl
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use Getopt::Long;
diff --git a/cpan/Test-Harness/bin/prove b/cpan/Test-Harness/bin/prove
index 6637cc4..d71b238 100644
--- a/cpan/Test-Harness/bin/prove
+++ b/cpan/Test-Harness/bin/prove
@@ -1,5 +1,6 @@
#!/usr/bin/perl -w
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use warnings;
use App::Prove;
diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
index e2ac71a..d596cdf 100644
--- a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
@@ -1,5 +1,6 @@
#!perl
use 5.006;
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
eval {
require ExtUtils::ParseXS;
diff --git a/dist/Module-CoreList/corelist b/dist/Module-CoreList/corelist
index aa4a945..bbe61cc 100644
--- a/dist/Module-CoreList/corelist
+++ b/dist/Module-CoreList/corelist
@@ -130,6 +130,7 @@ requested perl versions.
=cut
+BEGIN { pop @INC if $INC[-1] eq '.' }
use Module::CoreList;
use Getopt::Long qw(:config no_ignore_case);
use Pod::Usage;
diff --git a/ext/Pod-Html/bin/pod2html b/ext/Pod-Html/bin/pod2html
index b022859..7d1d232 100644
--- a/ext/Pod-Html/bin/pod2html
+++ b/ext/Pod-Html/bin/pod2html
@@ -216,6 +216,7 @@ This program is distributed under the Artistic License.
=cut
+BEGIN { pop @INC if $INC[-1] eq '.' }
use Pod::Html;
pod2html @ARGV;
diff --git a/utils/c2ph.PL b/utils/c2ph.PL
index 466223c..ea87a6f 100644
--- a/utils/c2ph.PL
+++ b/utils/c2ph.PL
@@ -280,6 +280,7 @@ Anyway, here it is. Should run on perl v4 or greater. Maybe less.
$RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $';
+BEGIN { pop @INC if $INC[-1] eq '.' }
use File::Temp;
######################################################################
diff --git a/utils/h2ph.PL b/utils/h2ph.PL
index d082f22..2523c0a 100644
--- a/utils/h2ph.PL
+++ b/utils/h2ph.PL
@@ -36,6 +36,8 @@ $Config{startperl}
print OUT <<'!NO!SUBS!';
+BEGIN { pop @INC if $INC[-1] eq '.' }
+
use strict;
use Config;
diff --git a/utils/h2xs.PL b/utils/h2xs.PL
index 4cb0943..8fda87b 100644
--- a/utils/h2xs.PL
+++ b/utils/h2xs.PL
@@ -35,6 +35,8 @@ $Config{startperl}
print OUT <<'!NO!SUBS!';
+BEGIN { pop @INC if $INC[-1] eq '.' }
+
use warnings;
=head1 NAME
diff --git a/utils/libnetcfg.PL b/utils/libnetcfg.PL
index 59a2de8..26d2f99 100644
--- a/utils/libnetcfg.PL
+++ b/utils/libnetcfg.PL
@@ -97,6 +97,7 @@ Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8.
# $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $
+BEGIN { pop @INC if $INC[-1] eq '.' }
use strict;
use IO::File;
use Getopt::Std;
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
index 720cf12..b0b2c12 100644
--- a/utils/perlbug.PL
+++ b/utils/perlbug.PL
@@ -57,6 +57,7 @@ print OUT <<'!NO!SUBS!';
my @patches = Config::local_patches();
my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches;
+BEGIN { pop @INC if $INC[-1] eq '.' }
use warnings;
use strict;
use Config;
diff --git a/utils/perldoc.PL b/utils/perldoc.PL
index e201de9..cd60bd4 100644
--- a/utils/perldoc.PL
+++ b/utils/perldoc.PL
@@ -44,7 +44,10 @@ $Config{startperl}
# This "$file" file was generated by "$0"
require 5;
-BEGIN { \$^W = 1 if \$ENV{'PERLDOCDEBUG'} }
+BEGIN {
+ \$^W = 1 if \$ENV{'PERLDOCDEBUG'};
+ pop \@INC if \$INC[-1] eq '.';
+}
use Pod::Perldoc;
exit( Pod::Perldoc->run() );
diff --git a/utils/perlivp.PL b/utils/perlivp.PL
index c2f0a11..e522913 100644
--- a/utils/perlivp.PL
+++ b/utils/perlivp.PL
@@ -39,6 +39,8 @@ print OUT "\n# perlivp $^V\n";
print OUT <<'!NO!SUBS!';
+BEGIN { pop @INC if $INC[-1] eq '.' }
+
sub usage {
warn "@_\n" if @_;
print << " EOUSAGE";
diff --git a/utils/splain.PL b/utils/splain.PL
index 9c70b61..cae84a0 100644
--- a/utils/splain.PL
+++ b/utils/splain.PL
@@ -38,6 +38,12 @@ $Config{startperl}
if \$running_under_some_shell;
!GROK!THIS!
+print <<'!NO!SUBS!';
+
+BEGIN { pop @INC if $INC[-1] eq '.' }
+
+!NO!SUBS!
+
while (<IN>) {
print OUT unless /^package diagnostics/;
}
--
2.10.0-rc1-260-gbdd1a2a

View File

@ -9,47 +9,59 @@
Summary: Practical Extraction and Report Language
Name: perl
Version: 5.30.1
Release: 3%{?dist}
Release: 4%{?dist}
License: GPLv1+
URL: http://www.perl.org/
Group: Development/Languages
Vendor: VMware, Inc.
Distribution: Photon
Source0: http://www.cpan.org/src/5.0/%{name}-%{version}.tar.xz
%define sha1 perl=4bc190b6ac368f573e6a028f91430f831d40d30a
%if %{with_check}
%define sha512 %{name}=8f3339efdcd1bb58fa58a90042181bef86bb09e4598c737e446ed43b56d2ab23d67eced5e36fb08fc61e076acfdb572a12e46a1277f5299a3f412054df0b88bf
%if 0%{?with_check}
Patch0: make-check-failure.patch
Patch1: make-check-failure2.patch
%endif
Patch2: CVE-2020-10878-1.patch
Patch3: CVE-2020-10878-2.patch
Patch4: CVE-2020-12723.patch
Source1: https://github.com/arsv/perl-cross/releases/download/1.2/perl-cross-1.2.tar.gz
%define sha1 perl-cross=ded421469e0295ae6dde40e0cbcb2238b4e724e3
Patch5: 0001-Remove-libdb-support.patch
Source1: https://github.com/arsv/perl-cross/releases/download/1.2/perl-cross-1.2.tar.gz
%define sha512 perl-cross=81d86d0ad1dab55da9debcdf705f4937e36f4b3b3c3ce93e7d6eeef4a3b1e1d9498b3db5e2b6abf92525e6767d639da7587d95136c46e50808386767ee7e5b13
Provides: perl >= 0:5.003000
Provides: perl(getopts.pl)
Provides: perl(s)
Provides: /bin/perl
BuildRequires: zlib-devel
BuildRequires: bzip2-devel
BuildRequires: gdbm-devel
Requires: zlib
Requires: gdbm
Requires: glibc
Requires: libgcc
%description
The Perl package contains the Practical Extraction and
Report Language.
%prep
# Using autosetup is not feasible
%setup -q
sed -i 's/-fstack-protector/&-all/' Configure
%if %{with_check}
%if 0%{?with_check}
%patch0 -p1
%patch1 -p1
%endif
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%build
export BUILD_ZLIB=False
@ -64,7 +76,6 @@ sh ./configure \
--target=%{_host} \
--prefix=%{_prefix} \
-Dpager=%{_bindir}"/less -isR" \
-Duseshrplib \
-Dusethreads
else
sh Configure -des \
@ -78,17 +89,21 @@ sh Configure -des \
fi
make VERBOSE=1 %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
unset BUILD_ZLIB BUILD_BZIP2
%check
sed -i '/02zlib.t/d' MANIFEST
sed -i '/cz-03zlib-v1.t/d' MANIFEST
sed -i '/cz-06gzsetp.t/d' MANIFEST
sed -i '/porting\/podcheck.t/d' MANIFEST
make test TEST_SKIP_VERSION_CHECK=1
make test TEST_SKIP_VERSION_CHECK=1 %{?_smp_mflags}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/*
@ -98,42 +113,44 @@ make test TEST_SKIP_VERSION_CHECK=1
%{_mandir}/*/*
%changelog
* Wed Feb 10 2021 Alexey Makhalov <amakhalov@vmware.com> 5.30.1-3
- Fix compilation issue with gcc-10.2.0 for aarch64
* Mon Nov 02 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.30.1-2
- Fix CVE-2020-10878 CVE-2020-12723
* Thu Aug 20 2020 Gerrit Photon <photon-checkins@vmware.com> 5.30.1-1
- Upgraded to version 5.30.1
* Tue Feb 25 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-5
- Added a patch to fix make check
* Thu Oct 31 2019 Alexey Makhalov <amakhalov@vmware.com> 5.28.0-4
- Cross compilation support
* Tue Oct 22 2019 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-3
- Fix for make check failure added a patch
* Wed Oct 24 2018 Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> 5.28.0-2
- Add provides perl(s)
* Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 5.28.0-1
- Upgrade to version 5.28.0
* Tue Oct 03 2017 Dheeraj Shetty <dheerajs@vmware.com> 5.24.1-4
- CVE-2017-12837 and CVE-2017-12883 patch from
- https://perl5.git.perl.org/perl.git/commitdiff/2be4edede4ae226e2eebd4eff28cedd2041f300f#patch1
* Wed Jul 05 2017 Xiaolin Li <xiaolinl@vmware.com> 5.24.1-3
- Rebuild perl after adding gdbm-devel package.
* Thu Jun 15 2017 Chang Lee <changlee@vmware.com> 5.24.1-2
- Updated %check
* Mon Apr 3 2017 Robert Qi <qij@vmware.com> 5.24.1-1
- Update to 5.24.1.
* Thu Oct 20 2016 Xiaolin Li <xiaolinl@vmware.com> 5.22.1-5
- CVE-2016-1238 patch from http://perl5.git.perl.org/perl.git/commit/cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab.
* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 5.22.1-4
- Modified %check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.22.1-3
- GA - Bump release of all rpms
* Tue Jan 26 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-2
- Enable threads
* Tue Jan 12 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-1
- Update version
* Thu Jun 4 2015 Touseef Liaqat <tliaqat@vmware.com> 5.18.2-2
- Provide /bin/perl.
* Wed Nov 5 2014 Divya Thaluru <dthaluru@vmware.com> 5.18.2-1
- Initial build. First version
* Thu Feb 10 2022 Shreenidhi Shedi <sshedi@vmware.com> 5.30.1-4
- Drop libdb support
* Wed Feb 10 2021 Alexey Makhalov <amakhalov@vmware.com> 5.30.1-3
- Fix compilation issue with gcc-10.2.0 for aarch64
* Mon Nov 02 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.30.1-2
- Fix CVE-2020-10878 CVE-2020-12723
* Thu Aug 20 2020 Gerrit Photon <photon-checkins@vmware.com> 5.30.1-1
- Upgraded to version 5.30.1
* Tue Feb 25 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-5
- Added a patch to fix make check
* Thu Oct 31 2019 Alexey Makhalov <amakhalov@vmware.com> 5.28.0-4
- Cross compilation support
* Tue Oct 22 2019 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-3
- Fix for make check failure added a patch
* Wed Oct 24 2018 Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> 5.28.0-2
- Add provides perl(s)
* Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 5.28.0-1
- Upgrade to version 5.28.0
* Tue Oct 03 2017 Dheeraj Shetty <dheerajs@vmware.com> 5.24.1-4
- CVE-2017-12837 and CVE-2017-12883 patch from
- https://perl5.git.perl.org/perl.git/commitdiff/2be4edede4ae226e2eebd4eff28cedd2041f300f#patch1
* Wed Jul 05 2017 Xiaolin Li <xiaolinl@vmware.com> 5.24.1-3
- Rebuild perl after adding gdbm-devel package.
* Thu Jun 15 2017 Chang Lee <changlee@vmware.com> 5.24.1-2
- Updated %check
* Mon Apr 3 2017 Robert Qi <qij@vmware.com> 5.24.1-1
- Update to 5.24.1.
* Thu Oct 20 2016 Xiaolin Li <xiaolinl@vmware.com> 5.22.1-5
- CVE-2016-1238 patch from http://perl5.git.perl.org/perl.git/commit/cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab.
* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 5.22.1-4
- Modified %check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.22.1-3
- GA - Bump release of all rpms
* Tue Jan 26 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-2
- Enable threads
* Tue Jan 12 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-1
- Update version
* Thu Jun 4 2015 Touseef Liaqat <tliaqat@vmware.com> 5.18.2-2
- Provide /bin/perl.
* Wed Nov 5 2014 Divya Thaluru <dthaluru@vmware.com> 5.18.2-1
- Initial build. First version

View File

@ -42,7 +42,7 @@ Provides: /usr/bin/python
Provides: /bin/python
Provides: /bin/python3
%if 0%{with_check}
%if 0%{?with_check}
BuildRequires: iana-etc
BuildRequires: tzdata
BuildRequires: curl-devel
@ -193,7 +193,7 @@ rm %{buildroot}%{_bindir}/2to3
mkdir -p %{buildroot}%{_libdir}/rpm/macros.d
install -m 644 %{SOURCE1} %{buildroot}%{_libdir}/rpm/macros.d
%if 0%{?with_gdb_hooks:1}
%if 0%{?with_gdb_hooks}
DirHoldingGdbPy=%{_libdir}/debug%{_libdir}
mkdir -p %{buildroot}$DirHoldingGdbPy
PathOfGdbPy=$DirHoldingGdbPy/libpython%{VER}.so.1.0-%{version}-%{release}.%{_arch}.debug-gdb.py

View File

@ -1,7 +1,7 @@
Summary: Commit RPMs to an OSTree repository
Name: rpm-ostree
Version: 2021.12
Release: 4%{?dist}
Release: 5%{?dist}
License: LGPLv2+
Group: Applications/System
URL: https://github.com/projectatomic/rpm-ostree
@ -147,6 +147,8 @@ install -p -m 755 -D %{SOURCE3} %{buildroot}%{_bindir}/rpm-ostree-server
%{_bindir}/rpm-ostree-server/mkostreerepo
%changelog
* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 2021.12-5
- Bump version as a part of rpm upgrade
* Thu Jun 16 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 2021.12-4
- Bump version as a part of libxslt upgrade
* Wed Nov 10 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2021.12-3

View File

@ -1,308 +0,0 @@
From 8586c041219bc408500ae083aa506483bdafac7a Mon Sep 17 00:00:00 2001
From: Demi Marie Obenour <demi@invisiblethingslab.com>
Date: Fri, 30 Apr 2021 15:01:33 +0530
Subject: [PATCH] Fix OpenPGP parsing bugs
- signatures of the wrong type were accepted
- signatures were allowed to contain multiple packets
- numerous out-of-bounds reads
- undefined pointer arithmetic
[sshedi: Changes to rpmio/rpmpgp.h from original patch are dropped]
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
rpmio/rpmpgp.c | 146 +++++++++++++++++++++++++++----------------------
1 file changed, 81 insertions(+), 65 deletions(-)
diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
index d0688ebe9..01dca84db 100644
--- a/rpmio/rpmpgp.c
+++ b/rpmio/rpmpgp.c
@@ -320,14 +320,17 @@ size_t pgpLen(const uint8_t *s, size_t slen, size_t * lenp)
if (*s < 192) {
lenlen = 1;
dlen = *s;
- } else if (*s < 255 && slen > 2) {
+ } else if (*s < 224 && slen > 2) {
lenlen = 2;
dlen = (((s[0]) - 192) << 8) + s[1] + 192;
- } else if (slen > 5) {
+ } else if (slen > 5 && *s == 255) {
lenlen = 5;
dlen = pgpGrab(s+1, 4);
}
+ /* Check that the buffer can hold the computed amount of bytes */
+ if (slen - lenlen < dlen)
+ lenlen = 0;
if (lenlen)
*lenp = dlen;
@@ -341,12 +344,38 @@ struct pgpPkt {
size_t blen; /* length of body in bytes */
};
+/** \ingroup rpmpgp
+ * Read a length field `nbytes` long. Checks that the buffer is big enough to
+ * hold `nbytes + *valp` bytes.
+ * @param s pointer to read from
+ * @param nbytes length of length field
+ * @param send pointer past end of buffer
+ * @param[out] *valp decoded length
+ * @return 0 if buffer can hold `nbytes + *valp` of data,
+ * otherwise -1.
+ */
+static int pgpGet(const uint8_t *s, size_t nbytes, const uint8_t *send,
+ size_t *valp)
+{
+ int rc = -1;
+
+ if (nbytes <= send - s) {
+ unsigned int val = pgpGrab(s, nbytes);
+ if (val <= send - s - nbytes) {
+ rc = 0;
+ *valp = val;
+ }
+ }
+
+ return rc;
+}
+
static int decodePkt(const uint8_t *p, size_t plen, struct pgpPkt *pkt)
{
int rc = -1; /* assume failure */
/* Valid PGP packet header must always have two or more bytes in it */
- if (p && plen >= 2 && p[0] & 0x80) {
+ if (p && plen >= 2 && (p[0] & 0x80)) {
size_t lenlen = 0;
size_t hlen = 0;
@@ -357,15 +386,14 @@ static int decodePkt(const uint8_t *p, size_t plen, struct pgpPkt *pkt)
} else {
/* Old format packet, body length encoding in tag byte */
lenlen = (1 << (p[0] & 0x3));
- if (plen > lenlen) {
- pkt->blen = pgpGrab(p+1, lenlen);
- }
+ if (lenlen > 4 || pgpGet(p + 1, lenlen, p + plen, &pkt->blen))
+ return rc;
pkt->tag = (p[0] >> 2) & 0xf;
}
hlen = lenlen + 1;
/* Does the packet header and its body fit in our boundaries? */
- if (lenlen && (hlen + pkt->blen <= plen)) {
+ if (lenlen) {
pkt->head = p;
pkt->body = pkt->head + hlen;
rc = 0;
@@ -418,7 +446,7 @@ static int pgpPrtSubType(const uint8_t *h, size_t hlen, pgpSigType sigtype,
while (hlen > 0) {
i = pgpLen(p, hlen, &plen);
- if (i == 0 || plen < 1 || i + plen > hlen)
+ if (i == 0 || plen < 1)
break;
p += i;
@@ -524,9 +552,9 @@ static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
int i;
pgpDigAlg sigalg = pgpSignatureNew(pubkey_algo);
- for (i = 0; i < sigalg->mpis && p + 2 <= pend; i++) {
+ for (i = 0; i < sigalg->mpis && 2 < pend - p; i++) {
int mpil = pgpMpiLen(p);
- if (p + mpil > pend)
+ if (mpil > pend - p)
break;
if (sigtype == PGPSIGTYPE_BINARY || sigtype == PGPSIGTYPE_TEXT) {
if (sigalg->setmpi(sigalg, i, p))
@@ -548,25 +576,12 @@ static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
return rc;
}
-static int pgpGet(const uint8_t *s, size_t nbytes, const uint8_t *send,
- unsigned int *valp)
-{
- int rc = -1;
-
- if (s + nbytes <= send) {
- *valp = pgpGrab(s, nbytes);
- rc = 0;
- }
-
- return rc;
-}
-
static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
pgpDigParams _digp)
{
uint8_t version = 0;
- uint8_t * p;
- unsigned int plen;
+ const uint8_t * p;
+ size_t plen;
int rc = 1;
if (pgpVersion(h, hlen, &version))
@@ -608,6 +623,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
} break;
case 4:
{ pgpPktSigV4 v = (pgpPktSigV4)h;
+ const uint8_t *const hend = h + hlen;
if (hlen <= sizeof(*v))
return 1;
@@ -618,15 +634,12 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
pgpPrtVal(" ", pgpSigTypeTbl, v->sigtype);
pgpPrtNL();
- p = &v->hashlen[0];
- if (pgpGet(v->hashlen, sizeof(v->hashlen), h + hlen, &plen))
- return 1;
- p += sizeof(v->hashlen);
-
- if ((p + plen) > (h + hlen))
+ if (pgpGet(v->hashlen, sizeof(v->hashlen), hend, &plen))
return 1;
+ p = h + sizeof *v;
if (_digp->pubkey_algo == 0) {
+ /* Get the hashed data */
_digp->hashlen = sizeof(*v) + plen;
_digp->hash = memcpy(xmalloc(_digp->hashlen), v, _digp->hashlen);
}
@@ -634,18 +647,15 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
return 1;
p += plen;
- if (pgpGet(p, 2, h + hlen, &plen))
+ if (pgpGet(p, 2, hend, &plen))
return 1;
p += 2;
- if ((p + plen) > (h + hlen))
- return 1;
-
if (pgpPrtSubType(p, plen, v->sigtype, _digp))
return 1;
p += plen;
- if (pgpGet(p, 2, h + hlen, &plen))
+ if (hend - p < 2)
return 1;
pgpPrtHex(" signhash16", p, 2);
pgpPrtNL();
@@ -658,11 +668,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
memcpy(_digp->signhash16, p, sizeof(_digp->signhash16));
}
- p += 2;
- if (p > (h + hlen))
- return 1;
-
- rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p, h, hlen, _digp);
+ rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p + 2, h, hlen, _digp);
} break;
default:
rpmlog(RPMLOG_WARNING, _("Unsupported version of key: V%d\n"), version);
@@ -717,15 +723,15 @@ static int pgpPrtPubkeyParams(uint8_t pubkey_algo,
pgpDigAlg keyalg;
if (pubkey_algo == PGPPUBKEYALGO_EDDSA) {
int len = p + 1 < pend ? p[0] : 0;
- if (len == 0 || len == 0xff || p + 1 + len > pend)
+ if (len == 0 || len == 0xff || 1 + len > pend - p)
goto exit;
curve = pgpCurveByOid(p + 1, len);
p += len + 1;
}
keyalg = pgpPubkeyNew(pubkey_algo, curve);
- for (i = 0; i < keyalg->mpis && p + 2 <= pend; i++) {
+ for (i = 0; i < keyalg->mpis && 2 < pend - p; i++) {
int mpil = pgpMpiLen(p);
- if (p + mpil > pend)
+ if (mpil > pend - p)
break;
if (keyalg->setmpi(keyalg, i, p))
break;
@@ -817,30 +823,34 @@ int pgpPubkeyFingerprint(const uint8_t *h, size_t hlen,
int mpis = -1;
/* Packet must be larger than v to have room for the required MPIs */
- if (hlen > sizeof(*v)) {
- switch (v->pubkey_algo) {
- case PGPPUBKEYALGO_RSA:
- mpis = 2;
- break;
- case PGPPUBKEYALGO_DSA:
- mpis = 4;
- break;
- case PGPPUBKEYALGO_EDDSA:
- mpis = 1;
- break;
- }
+ if (hlen <= sizeof(*v))
+ return rc;
+ se = (uint8_t *)(v + 1);
+
+ switch (v->pubkey_algo) {
+ case PGPPUBKEYALGO_RSA:
+ mpis = 2;
+ break;
+ case PGPPUBKEYALGO_DSA:
+ mpis = 4;
+ break;
+ case PGPPUBKEYALGO_EDDSA:
+ mpis = 1;
+ /* EdDSA has a curve id before the MPIs */
+ if (se[0] == 0x00 || se[0] == 0xff || pend - se <= se[0])
+ return rc;
+ se += 1 + se[0];
+ break;
+ default:
+ return rc;
}
- se = (uint8_t *)(v + 1);
- /* EdDSA has a curve id before the MPIs */
- if (v->pubkey_algo == PGPPUBKEYALGO_EDDSA) {
- if (se < pend && se[0] != 0x00 && se[0] != 0xff)
- se += 1 + se[0];
- else
- se = pend; /* error out when reading the MPI */
+ while (pend - se >= 2 && mpis-- > 0) {
+ int i = pgpMpiLen(se);
+ if (pend - se < i)
+ return rc;
+ se += i;
}
- while (se < pend && mpis-- > 0)
- se += pgpMpiLen(se);
/* Does the size and number of MPI's match our expectations? */
if (se == pend && mpis == 0) {
@@ -1067,6 +1077,8 @@ int pgpPrtParams(const uint8_t * pkts, size_t pktlen, unsigned int pkttype,
break;
p += (pkt.body - pkt.head) + pkt.blen;
+ if (pkttype == PGPTAG_SIGNATURE)
+ break;
}
rc = (digp && (p == pend)) ? 0 : -1;
@@ -1189,6 +1201,10 @@ rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx)
if (sig == NULL || ctx == NULL)
goto exit;
+ /* RPM signatures are always binary */
+ if (sig->sigtype != PGPSIGTYPE_BINARY)
+ goto exit;
+
if (sig->hash != NULL)
rpmDigestUpdate(ctx, sig->hash, sig->hashlen);
--
2.17.1

View File

@ -1,88 +0,0 @@
From 0ebfd7295ea7ad26a5cfbfa399803848be03d9a2 Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Tue, 1 Jun 2021 16:50:38 +0530
Subject: [PATCH] Fix regression reading rpm v3 and other rare packages (#1635)
Commit d6a86b5 introduced far stricter
checks on what tags are allowed in signature and main headers than rpm
had previously seen, and unsurprisingly this introduced some regressions
on less common cases:
- On rpm v3 packages and some newer 3rd party created packages (such as
install4j < 9.0.2), RPMTAG_ARCHIVESIZE resides in the main header
to begin with
- In rpm 4.13 - 4.14, file IMA signatures were incorrectly placed in
the main header.
As a quirk, permit the existence of RPMTAG_ARCHIVESIZE,
RPMTAG_FILESIGNATURES and RPMTAG_FILESIGNATURELENGTH in the main header
too provided that the corresponding signature tag is not there (so
they can reside in either but not both headers).
Initial workaround patch by Demi Marie Obenour.
Fixes: #1635
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
lib/package.c | 35 ++++++++++++++++++++---------------
1 file changed, 20 insertions(+), 15 deletions(-)
diff --git a/lib/package.c b/lib/package.c
index 276e3e554..da0df7779 100644
--- a/lib/package.c
+++ b/lib/package.c
@@ -35,21 +35,22 @@ struct taglate_s {
rpmTagVal stag;
rpmTagVal xtag;
rpm_count_t count;
+ int quirk;
} const xlateTags[] = {
- { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1 },
- { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0 },
- { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16 },
- { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0 },
- /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0 }, */ /* long obsolete, dont use */
- { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1 },
- { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0 },
- { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1 },
- { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1 },
- { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1 },
- { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0 },
- { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0 },
- { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1 },
- { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1 },
+ { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1, 0 },
+ { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0, 0 },
+ { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16, 0 },
+ { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0, 0 },
+ /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0, 0 }, */ /* long obsolete, dont use */
+ { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1, 1 },
+ { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0, 1 },
+ { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1, 1 },
+ { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1, 0 },
+ { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1, 0 },
+ { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0, 0 },
+ { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0, 0 },
+ { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1, 0 },
+ { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1, 0 },
{ 0 }
};
@@ -67,8 +68,12 @@ rpmTagVal headerMergeLegacySigs(Header h, Header sigh, char **msg)
for (xl = xlateTags; xl->stag; xl++) {
/* There mustn't be one in the main header */
- if (headerIsEntry(h, xl->xtag))
+ if (headerIsEntry(h, xl->xtag)) {
+ /* Some tags may exist in either header, but never both */
+ if (xl->quirk && !headerIsEntry(sigh, xl->stag))
+ continue;
goto exit;
+ }
}
rpmtdReset(&td);
--
2.17.1

View File

@ -1,67 +0,0 @@
From 4733c313a82a968739ab35da160d60f0fe0c079a Mon Sep 17 00:00:00 2001
From: Demi Marie Obenour <demi@invisiblethingslab.com>
Date: Wed, 28 Apr 2021 15:51:17 +0530
Subject: [PATCH] Header signatures alone are not sufficient
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes how RPM handles packages that contain a header signature, but
neither header+payload signature nor payload digests. Such packages are
obviously not properly signed, but RPM previously accepted them.
This could be used to confuse both rpmkeys -K and DNF.
Both would report that the package has been properly signed even when it has not.
[sshedi: Regression test changes from original patch are dropped]
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
lib/rpmvs.c | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/lib/rpmvs.c b/lib/rpmvs.c
index 7255069fc..d2f4f3170 100644
--- a/lib/rpmvs.c
+++ b/lib/rpmvs.c
@@ -451,7 +451,7 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
{
int failed = 0;
int cont = 1;
- int range = 0;
+ int range = 0, vfylevel = sis->vfylevel;
int verified[3] = { 0, 0, 0 };
/* sort for consistency and rough "better comes first" semantics*/
@@ -478,6 +478,14 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
}
}
+ /* Unconditionally reject partially signed packages */
+ if (verified[RPMSIG_SIGNATURE_TYPE])
+ vfylevel |= RPMSIG_SIGNATURE_TYPE;
+
+ /* Cannot verify payload if RPMVSF_NEEDPAYLOAD is set */
+ if (sis->vsflags & RPMVSF_NEEDPAYLOAD)
+ range &= ~RPMSIG_PAYLOAD;
+
for (int i = 0; i < sis->nsigs && cont; i++) {
struct rpmsinfo_s *sinfo = &sis->sigs[i];
int strength = (sinfo->type | sinfo->strength);
@@ -490,11 +498,11 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
sinfo->rc = RPMRC_NOTFOUND;
}
- if (sis->vfylevel & strength & RPMSIG_DIGEST_TYPE) {
+ if (vfylevel & strength & RPMSIG_DIGEST_TYPE) {
int missing = (range & ~verified[RPMSIG_DIGEST_TYPE]);
required |= (missing & sinfo->range);
}
- if (sis->vfylevel & strength & RPMSIG_SIGNATURE_TYPE) {
+ if (vfylevel & strength & RPMSIG_SIGNATURE_TYPE) {
int missing = (range & ~verified[RPMSIG_SIGNATURE_TYPE]);
required |= (missing & sinfo->range);
}
--
2.17.1

View File

@ -1,41 +0,0 @@
From b5c8eb30d3fd9fd40416916b47d9c62eef7a3545 Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Fri, 11 Dec 2020 15:54:57 +0530
Subject: [PATCH] find debuginfo do not generate dir entries
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
scripts/find-debuginfo.sh | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
index e0c36ebb6..7c3c97628 100755
--- a/scripts/find-debuginfo.sh
+++ b/scripts/find-debuginfo.sh
@@ -585,10 +585,10 @@ if [ -s "$SOURCEFILE" ]; then
fi
if [ -d "${RPM_BUILD_ROOT}/usr/lib" ] || [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
- ((nout > 0)) ||
- test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
- (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
- sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
+# ((nout > 0)) ||
+# test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
+# (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
+# sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
(cd "${RPM_BUILD_ROOT}/usr"
test ! -d lib/debug || find lib/debug ! -type d
@@ -660,7 +660,7 @@ while ((i < nout)); do
mv "${LISTFILE}.new" "$LISTFILE"
((++i))
done
-if ((nout > 0)); then
+if ((0 && nout > 0)); then
# Generate %dir lines for each output list.
generate_percent_dir()
{
--
2.17.1

View File

@ -0,0 +1,68 @@
From b093e00225b14fa4ecdd1cd48243e825c0729d86 Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Thu, 3 Feb 2022 16:17:38 +0530
Subject: [PATCH] Migrate rpmdb to /usr/lib/sysimage/rpm
Reference: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
macros.in | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/macros.in b/macros.in
index 22f675cdb..fc9c49930 100644
--- a/macros.in
+++ b/macros.in
@@ -140,7 +140,7 @@
%_buildshell /bin/sh
# The location of the rpm database file(s).
-%_dbpath %{_var}/lib/rpm
+%_dbpath %{_usr}/lib/sysimage/rpm
# The location of the rpm database file(s) after "rpm --rebuilddb".
%_dbpath_rebuild %{_dbpath}
@@ -330,7 +330,7 @@ package or when debugging this package.\
# A colon separated list of desired locales to be installed;
# "all" means install all locale specific files.
-#
+#
%_install_langs all
# Set ModularityLabel: for packages being build
@@ -565,17 +565,17 @@ package or when debugging this package.\
#%__find_conflicts ???
#%__find_obsoletes ???
-#
-# Path to file attribute classifications for automatic dependency
+#
+# Path to file attribute classifications for automatic dependency
# extraction, used when _use_internal_dependency_generator
# is used (on by default). Files can have any number of attributes
# attached to them, and dependencies are separately extracted for
# each attribute.
-#
+#
# To define a new file attribute called "myattr", add a file named
# "myattr" to this directory, defining the requires and/or provides
# finder script(s) + magic and/or path pattern regex(es).
-# provides finder and
+# provides finder and
# %__myattr_requires path + args to requires finder script for <myattr>
# %__myattr_provides path + args to provides finder script for <myattr>
# %__myattr_magic libmagic classification match regex
@@ -1266,7 +1266,7 @@ end
# -S<scm name> Sets the used patch application style, eg '-S git' enables
# usage of git repository and per-patch commits.
# -N Disable automatic patch application
-# -p<num> Use -p<num> for patch application
+# -p<num> Use -p<num> for patch application
%autosetup(a:b:cDn:TvNS:p:)\
%setup %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{!-v:-q}\
%{-S:%global __scm %{-S*}}\
--
2.25.1

View File

@ -1 +1 @@
rpm-libs=4.16.1.3-1
rpm-libs=4.17.0-1

View File

@ -1,15 +1,18 @@
%define rpmhome %{_libdir}/rpm
Summary: Package manager
Name: rpm
Version: 4.16.1.3
Release: 4%{?dist}
Version: 4.17.1
Release: 1%{?dist}
License: GPLv2+
URL: http://rpm.org
Group: Applications/System
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}.tar.gz
%define sha1 %{name}=7aa50461dc5500ac5c1b5d4f475cc282add2673e
Source0: https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}.tar.bz2
%define sha512 %{name}=d0429510140f25a25b6c9441abe2027d27c485bbd4969752f69e1c843435c9508b9f85e5bb68085dd64b7da533801aa5c04d8c9d962e08d2ddd3199d0265cc85
Source1: brp-strip-debug-symbols
Source2: brp-strip-unneeded
Source3: macros
@ -17,33 +20,30 @@ Source4: macros.php
Source5: macros.perl
Source6: macros.vpath
Source7: macros.ldconfig
Source8: rpm-rebuilddb.sh
Source9: rpmdb-rebuild.service
Source10: rpm.conf
Source11: lock.c
Source8: rpmdb-rebuild.sh
Source9: rpmdb-migrate.sh
Source10: rpmdb-rebuild.service
Source11: rpmdb-migrate.service
Source12: rpm.conf
Source13: lock.c
Patch0: find-debuginfo-do-not-generate-dir-entries.patch
Patch1: Fix-OpenPGP-parsing-bugs.patch
Patch2: Header-signatures-alone-are-not-sufficient.patch
Patch3: Fix-regression-reading-rpm-v3.patch
Patch4: rpmdb-rename-dir.patch
Patch5: silence-warning.patch
Patch6: sync-buf-cache.patch
Patch7: wait-for-lock.patch
Patch0: rpmdb-rename-dir.patch
Patch1: silence-warning.patch
Patch2: sync-buf-cache.patch
Patch3: wait-for-lock.patch
Patch4: migrate-rpmdb.patch
Requires: bash
Requires: zstd-libs
Requires: lua
Requires: openssl >= 1.1.1
Requires: libgcrypt
Requires: %{name}-libs = %{version}-%{release}
BuildRequires: pandoc-bin
BuildRequires: systemd-devel
BuildRequires: dbus-devel >= 1.3
BuildRequires: systemd-rpm-macros
BuildRequires: libgcrypt-devel
BuildRequires: lua-devel
BuildRequires: libdb-devel
BuildRequires: popt-devel
BuildRequires: nss-devel
BuildRequires: elfutils-devel
@ -51,9 +51,12 @@ BuildRequires: libcap-devel
BuildRequires: xz-devel
BuildRequires: file-devel
BuildRequires: python3-devel
BuildRequires: openssl >= 1.1.1
BuildRequires: openssl-devel >= 1.1.1
BuildRequires: zstd-devel
BuildRequires: sqlite-devel
BuildRequires: debugedit
BuildRequires: dwz
BuildRequires: python3-setuptools
%description
RPM package manager
@ -78,15 +81,15 @@ Requires: bzip2-libs
Requires: elfutils-libelf
Requires: xz-libs
Requires: zstd-libs
Requires: (procps-ng or toybox)
Requires: (toybox or coreutils-selinux)
Requires: (toybox or findutils)
Requires: (toybox or sed)
Conflicts: libsolv < 0.7.19
%description libs
Shared libraries librpm and librpmio
%package build
Summary: Binaries, scripts and libraries needed to build rpms.
Requires: perl
Requires: lua
Requires: %{name}-devel = %{version}-%{release}
@ -94,6 +97,9 @@ Requires: elfutils-libelf
Requires: cpio
Requires: systemd-rpm-macros
Requires: python3-macros
Requires: dwz
Requires: debugedit
Summary: Binaries, scripts and libraries needed to build rpms.
%description build
Binaries, libraries and scripts to build rpms.
@ -110,6 +116,7 @@ These are the additional language files of rpm.
Summary: Python 3 bindings for rpm.
Group: Development/Libraries
Requires: python3
Requires: python3-setuptools
%description -n python3-rpm
Python3 rpm.
@ -125,22 +132,17 @@ This plugin blocks systemd from entering idle, sleep or shutdown while an rpm
transaction is running using the systemd-inhibit mechanism.
%prep
%autosetup -p1 -n rpm-%{name}-%{version}
%autosetup -p1 -n %{name}-%{version}
%build
sed -i '/define _GNU_SOURCE/a #include "../config.h"' tools/sepdebugcrcfix.c
# pass -L opts to gcc as well to prioritize it over standard libs
sed -i 's/-Wl,-L//g' python/setup.py.in
sed -i '/library_dirs/d' python/setup.py.in
sed -i 's/extra_link_args/library_dirs/g' python/setup.py.in
# set default db to sqlite
sed -i -e "/_db_backend/ s/ bdb/ sqlite/g" macros.in
sh autogen.sh --noconfigure
%configure \
CPPFLAGS='-I/usr/include/nspr -I/usr/include/nss -DLUA_COMPAT_APIINTCASTS' \
--program-prefix= \
--disable-dependency-tracking \
--disable-static \
--enable-python \
@ -151,12 +153,14 @@ sh autogen.sh --noconfigure
--without-archive \
--enable-sqlite \
--enable-bdb-ro \
--enable-systemd-inhibit \
--enable-plugins
--enable-plugins \
--with-crypto=openssl \
--with-lua \
--enable-nls
make %{?_smp_mflags}
%make_build %{?_smp_mflags}
gcc -Wall -o lock %{SOURCE11}
gcc -Wall -o lock %{SOURCE13}
chmod 700 lock
pushd python
@ -164,28 +168,37 @@ pushd python
popd
%check
make check %{?_smp_mflags}
%if 0%{?with_check}
make check TESTSUITEFLAGS=%{?_smp_mflags} || (cat tests/rpmtests.log; exit 1)
make clean %{?_smp_mflags}
%endif
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
%make_install %{?_smp_mflags}
find %{buildroot} -name '*.la' -delete
ln -sfv %{_bindir}/find-debuginfo %{buildroot}%{rpmhome}/find-debuginfo.sh
%find_lang %{name}
# System macros and prefix
install -dm644 %{buildroot}%{_sysconfdir}/rpm
install -vm755 %{SOURCE1} %{buildroot}%{_libdir}/rpm
install -vm755 %{SOURCE2} %{buildroot}%{_libdir}/rpm
install -vm644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm
install -vm644 %{SOURCE4} %{buildroot}%{_libdir}/rpm/macros.d
install -vm644 %{SOURCE5} %{buildroot}%{_libdir}/rpm/macros.d
install -vm644 %{SOURCE6} %{buildroot}%{_libdir}/rpm/macros.d
install -vm644 %{SOURCE7} %{buildroot}%{_libdir}/rpm/macros.d
install -vm644 %{SOURCE4} %{buildroot}%{rpmhome}/macros.d
install -vm644 %{SOURCE5} %{buildroot}%{rpmhome}/macros.d
install -vm644 %{SOURCE6} %{buildroot}%{rpmhome}/macros.d
install -vm644 %{SOURCE7} %{buildroot}%{rpmhome}/macros.d
install -vm755 %{SOURCE8} %{buildroot}%{_libdir}/rpm
install -vm755 %{SOURCE9} %{buildroot}%{_libdir}/rpm
mkdir -p %{buildroot}%{_unitdir}
install -vm644 %{SOURCE9} %{buildroot}/%{_unitdir}
install -vm644 %{SOURCE10} %{buildroot}/%{_unitdir}
install -vm644 %{SOURCE11} %{buildroot}/%{_unitdir}
mkdir -p %{buildroot}%{_sysconfdir}/tdnf/minversions.d
install -vm644 %{SOURCE10} %{buildroot}%{_sysconfdir}/tdnf/minversions.d
install -vm644 %{SOURCE12} %{buildroot}%{_sysconfdir}/tdnf/minversions.d
mv lock %{buildroot}%{_libdir}/rpm
pushd python
@ -195,14 +208,27 @@ popd
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%triggerun -- rpm-libs < 4.16.1.3-1
if [ -x %{_bindir}/systemctl ]; then
systemctl --no-reload preset rpmdb-rebuild || :
%pre
# Symlink all rpmdb files to the new location if we're still using /var/lib/rpm
if [ -d %{_sharedstatedir}/rpm ]; then
mkdir -p %{_libdir}/sysimage/rpm
rpmdb_files=$(find %{_sharedstatedir}/rpm -maxdepth 1 -type f | sed 's|^/var/lib/rpm/||g' | sort)
for fn in ${rpmdb_files[@]}; do
ln -sfr %{_sharedstatedir}/rpm/${fn} %{_libdir}/sysimage/rpm/${fn}
done
fi
%posttrans libs
if [ -f %{_sharedstatedir}/rpm/Packages ]; then
nohup bash %{_libdir}/rpm/rpm-rebuilddb.sh &>/dev/null &
if [ -x %{_bindir}/systemctl ]; then
systemctl --no-reload preset rpmdb-rebuild || :
fi
nohup bash %{rpmhome}/rpmdb-rebuild.sh &>/dev/null &
fi
if [ -d %{_sharedstatedir}/rpm ] && [ -x %{_bindir}/systemctl ]; then
touch %{_sharedstatedir}/rpm/.migratedb
systemctl --no-reload preset rpmdb-migrate || :
fi
%clean
@ -217,16 +243,21 @@ rm -rf %{buildroot}
%{_bindir}/rpmkeys
%{_bindir}/rpmquery
%{_bindir}/rpmverify
%{_libdir}/rpm/rpmpopt-*
%{_libdir}/rpm/rpm.daily
%{_libdir}/rpm/rpm.log
%{_libdir}/rpm/rpm.supp
%{_libdir}/rpm/rpm2cpio.sh
%{_libdir}/rpm/tgpg
%{_libdir}/rpm/platform
%{rpmhome}/rpmpopt-*
%{rpmhome}/rpm.daily
%{rpmhome}/rpm.log
%{rpmhome}/rpm.supp
%{rpmhome}/rpm2cpio.sh
%{rpmhome}/tgpg
%{rpmhome}/platform
%{_libdir}/rpm-plugins/ima.so
%{_libdir}/rpm-plugins/syslog.so
%{_libdir}/rpm-plugins/prioreset.so
%{_libdir}/rpm-plugins/fsverity.so
%exclude %{_libdir}/rpm-plugins/dbus_announce.so
%{_sysconfdir}/dbus-1/system.d/org.rpm.conf
%{_mandir}/man8/rpm2cpio.8.gz
%{_mandir}/man8/rpmdb.8.gz
%{_mandir}/man8/rpmgraph.8.gz
@ -237,6 +268,7 @@ rm -rf %{buildroot}
%{_mandir}/man8/rpm-plugin-syslog.8.gz
%{_mandir}/man8/rpm-plugins.8.gz
%{_mandir}/man8/rpm.8.gz
%{_mandir}/man8/rpm-plugin-dbus-announce.8.gz
%exclude %{_mandir}/fr/man8/*.gz
%exclude %{_mandir}/ja/man8/*.gz
%exclude %{_mandir}/ko/man8/*.gz
@ -250,14 +282,16 @@ rm -rf %{buildroot}
%config(noreplace) %{_sysconfdir}/rpm/macros
%{_libdir}/librpmio.so.*
%{_libdir}/librpm.so.*
%{_libdir}/rpm/macros
%{_libdir}/rpm/rpmrc
%{_libdir}/rpm/rpmdb_*
%{_libdir}/rpm/rpm-rebuilddb.sh
%{_libdir}/rpm/lock
%{rpmhome}/macros
%{rpmhome}/rpmrc
%{rpmhome}/rpmdb_*
%{rpmhome}/rpmdb-rebuild.sh
%{rpmhome}/rpmdb-migrate.sh
%{rpmhome}/lock
%{_bindir}/rpmdb
%{_unitdir}/rpmdb-rebuild.service
%{_sysconfdir}/tdnf/minversions.d/%{name}.conf
%{_unitdir}/rpmdb-migrate.service
%config(noreplace) %{_sysconfdir}/tdnf/minversions.d/%{name}.conf
%files build
%{_bindir}/rpmbuild
@ -265,31 +299,26 @@ rm -rf %{buildroot}
%{_bindir}/rpmspec
%{_libdir}/librpmbuild.so
%{_libdir}/librpmbuild.so.*
%{_libdir}/rpm/macros.d/*
%{_libdir}/rpm/perl.req
%{_libdir}/rpm/find-debuginfo.sh
%{_libdir}/rpm/find-lang.sh
%{_libdir}/rpm/find-provides
%{_libdir}/rpm/find-requires
%{_libdir}/rpm/brp-*
%{_libdir}/rpm/fileattrs/*
%{_libdir}/rpm/script.req
%{_libdir}/rpm/check-buildroot
%{_libdir}/rpm/check-files
%{_libdir}/rpm/check-prereqs
%{_libdir}/rpm/check-rpaths
%{_libdir}/rpm/check-rpaths-worker
%{_libdir}/rpm/debugedit
%{_libdir}/rpm/elfdeps
%{_libdir}/rpm/libtooldeps.sh
%{_libdir}/rpm/mkinstalldirs
%{_libdir}/rpm/pkgconfigdeps.sh
%{_libdir}/rpm/ocamldeps.sh
%{_libdir}/rpm/*.prov
%{_libdir}/rpm/sepdebugcrcfix
%{_libdir}/rpm/rpmdeps
%{_libdir}/rpm/pythondistdeps.py
%{rpmhome}/macros.d/*
%{rpmhome}/perl.req
%{rpmhome}/find-lang.sh
%{rpmhome}/find-provides
%{rpmhome}/find-requires
%{rpmhome}/brp-*
%{rpmhome}/fileattrs/*
%{rpmhome}/script.req
%{rpmhome}/check-buildroot
%{rpmhome}/check-files
%{rpmhome}/check-prereqs
%{rpmhome}/check-rpaths
%{rpmhome}/check-rpaths-worker
%{rpmhome}/elfdeps
%{rpmhome}/mkinstalldirs
%{rpmhome}/pkgconfigdeps.sh
%{rpmhome}/ocamldeps.sh
%{rpmhome}/*.prov
%{rpmhome}/rpmdeps
%{rpmhome}/find-debuginfo.sh
%{_mandir}/man1/gendiff.1*
%{_mandir}/man8/rpmbuild.8*
@ -318,6 +347,10 @@ rm -rf %{buildroot}
%{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
%changelog
* Tue Feb 08 2022 Shreenidhi Shedi <sshedi@vmware.com> 4.17.1-1
- Upgrade to v4.17.0
- Migrate rpmdb location to /usr/lib/sysimage/rpm
- More details at: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
* Tue Dec 21 2021 Shreenidhi Shedi <sshedi@vmware.com> 4.16.1.3-4
- Further fix to rpm-rebuilddb.sh
- Introduced a new locking method to handle contention while rebuilding db

View File

@ -0,0 +1,18 @@
[Unit]
Description=RPM database migration to /usr
ConditionPathExists=/var/lib/rpm/.migratedb
# This should run before any daemons that may open the rpmdb
DefaultDependencies=no
After=sysinit.target
Before=basic.target shutdown.target
Conflicts=shutdown.target
# In case /var is remote-mounted
RequiresMountsFor=/var
[Service]
Type=oneshot
ExecStart=/usr/lib/rpm/rpmdb-migrate.sh
[Install]
WantedBy=basic.target

View File

@ -0,0 +1,66 @@
#!/bin/bash
# Script to migrate rpmdb from /var/lib/rpm to new rpmdb path at /usr
#set -x
# log file name
log_fn="/var/log/rpmdb-migrate.log"
# redirect stderr & stdout to log file
exec > "${log_fn}" 2>&1
sanity_check()
{
if command -v rpm &> /dev/null; then
if rpm -q rpm &> /dev/null; then
return 0
fi
fi
if command -v tdnf &> /dev/null; then
if tdnf list installed tdnf --disablerepo=* &> /dev/null; then
return 0
fi
fi
# should not reach here
return 1
}
main()
{
local dbpath_old="/var/lib/rpm"
if [ ! -f "${dbpath_old}/.migratedb" ]; then
echo "${dbpath_old}/.migratedb not preset, exit"
exit 0
fi
local dbpath_new="$(rpmdb -E '%_dbpath' 2>/dev/null)"
if [ "${dbpath_new}" = "${dbpath_old}" ]; then
echo "RpmDB path is still at ${dbpath_new}, exit"
exit 0
fi
if [ -L "${dbpath_old}" ]; then
echo "RpmDB has been migrated, exit"
rm -f "${dbpath_old}/.migratedb"
exit 0
fi
if ! rpmdb --rebuilddb; then
echo "ERROR: Failed to rebuild RpmDB" 1>&2
exit 1
fi
if ! sanity_check; then
echo "ERROR: sanity check failed" 1>&2
exit 1
fi
rm -rfv "${dbpath_old}"
ln -sfr "${dbpath_new}" "${dbpath_old}"
}
main

View File

@ -1,6 +1,6 @@
[Unit]
Description=RPM database rebuild
ConditionPathExists=/var/lib/rpm/.rebuilddb
ConditionPathExists=/usr/lib/sysimage/rpm/.rebuilddb
# This should run before any daemons that may open the rpmdb
DefaultDependencies=no
@ -12,8 +12,8 @@ RequiresMountsFor=/var
[Service]
Type=oneshot
ExecStart=/usr/bin/rpmdb --rebuilddb
ExecStartPost=rm -f /var/lib/rpm/.rebuilddb
ExecStart=/usr/lib/rpm/rpmdb-rebuild.sh
ExecStartPost=rm -f /usr/lib/sysimage/rpm/.rebuilddb
[Install]
WantedBy=basic.target

View File

@ -5,41 +5,22 @@
#set -x
# log file name
log_fn="/var/log/rpm-rebuilddb.log"
log_fn="/var/log/rpmdb-rebuild.log"
# redirect stderr & stdout to log file
exec > "${log_fn}" 2>&1
rpmdb_dir="$(rpmdb -E '%_dbpath' 2>/dev/null)"
# this serves as a key for systemd service
if [ -x /usr/bin/systemctl ]; then
touch /var/lib/rpm/.rebuilddb
touch "${rpmdb_dir}/.rebuilddb"
fi
rpm_lock_fn="/var/lib/rpm/.rpm.lock"
rpm_lock_fn="${rpmdb_dir}/.rpm.lock"
lock_bin="/usr/lib/rpm/lock"
lock_flag="/var/run/.lkflg"
# Check if db operation is in progress
# Timesout after 900 seconds
check_if_db_operation_in_progress()
{
local retry=900
while [ "${retry}" -gt 0 ]; do
if pgrep -x "tdnf|rpm|rpmdb" &> /dev/null; then
echo -e "\nWARNING: tdnf/rpm is still running ..."
retry=$((retry-1))
sleep 1
else
echo -e "\nINFO: tdnf/rpm are not running, proceed to next step ..."
return 0
fi
done
echo -e "\nERROR: tdnf/rpm is running from 15 minutes, retries exceeded ..."
return 1
}
# Sometimes rebuilddb succeeds but rpm options won't work
# this is a simple sanity check
sanity_check()
@ -64,21 +45,22 @@ lpid=""
unlock()
{
rm -f "${lock_flag}"
[ -f "${lock_flag}" ] && rm -f "${lock_flag}"
kill -9 "${lpid}"
}
get_lock()
{
local retry=100
local retry=1500
# remove "$lock_flag" file to ensure that there is no leftover
rm -f "${lock_flag}"
[ -f "${lock_flag}" ] && rm -f "${lock_flag}"
"${lock_bin}" "${rpm_lock_fn}" &
lpid="$!"
# 20 second max delay
# 5 min max delay
# while building ova & other images, transactions take time
while [ "${retry}" -gt 0 ]; do
if [ -f "${lock_flag}" ]; then
return 0
@ -87,7 +69,8 @@ get_lock()
retry=$((retry-1))
done
echo -e "\nERROR: failed to get lock ..."
unlock
echo -e "\nERROR: failed to get lock"
exit 1
}
@ -104,12 +87,16 @@ try_rpm_rebuilddb()
{
local retry=10
local backup_dir=""
local rpmdb_dir="/var/lib/rpm"
if [ -x /usr/bin/systemctl ] && [ ! -f "${rpmdb_dir}/.rebuilddb" ]; then
echo "${rpmdb_dir}/.rebuilddb doesn't exist, quit"
exit 0
fi
# need 6 Xs, toybox mktemp doesn't work with 4 Xs
backup_dir="$(mktemp -d -p /var/lib .rpmdbXXXXXX)"
backup_dir="$(mktemp -d -p "${rpmdb_dir}"/.. .rpmdbXXXXXX)"
if [ "$?" -ne 0 ]; then
echo -e "\nERROR: failed to create backup directory ..."
echo -e "\nERROR: failed to create backup directory"
return 1
fi
@ -124,22 +111,16 @@ try_rpm_rebuilddb()
if ! cp -ar "${rpmdb_dir}"/* "${backup_dir}"; then
unlock
rm -rf "${backup_dir}"
echo -e "\nERROR: failed to copy contents to backup directory ..."
[ -d "${backup_dir}" ] && rm -rf "${backup_dir}"
echo -e "\nERROR: failed to copy contents to backup directory"
return 1
fi
unlock
fi
echo -e "\nINFO: took backup of rpmdb at ${backup_dir} ..."
echo -e "\nINFO: took backup of rpmdb at ${backup_dir}"
while [ "${retry}" -gt 0 ]; do
while true; do
if ! pgrep -x "tdnf|rpm|rpmdb" &> /dev/null; then
break
fi
sleep 0.1
done
if rpmdb --rebuilddb; then
if get_lock; then
@ -147,25 +128,33 @@ try_rpm_rebuilddb()
unlock
rm -rf "${backup_dir}" "${rpmdb_dir}"/.rebuilddb
echo -e "\nINFO: rpmdb --rebuild success ..."
if [ "${rpmdb_dir}" = "/usr/lib/sysimage/rpm" ]; then
rm -rf "/var/lib/rpm"
ln -sfr "${rpmdb_dir}" "/var/lib/rpm"
fi
echo -e "\nINFO: rpmdb --rebuild success"
return 0
fi
local err=0
echo -e "\n--- ERROR: SOMETHING WENT TOTALLY WRONG --"
echo "Trying to restore RPMDB from backup directory ..."
echo -e "\n--- ERROR: SOMETHING WENT TOTALLY WRONG ---"
echo "Trying to restore RPMDB from backup directory"
rm -rf "${rpmdb_dir}"/*
if [ "${rpmdb_dir}" = "/var/lib/rpm" ] || [ "${rpmdb_dir}" = "/usr/lib/sysimage/rpm" ]; then
rm -f "${rpmdb_dir}"/*
fi
if ! cp -ar "${backup_dir}"/* "${rpmdb_dir}"; then
err=1
echo -e "\nERROR: failed copy contents from ${backup_dir} to ${rpmdb_dir} ..."
echo -e "\nERROR: failed copy contents from ${backup_dir} to ${rpmdb_dir}"
else
rm -rf "${backup_dir}"
[ -d "${backup_dir}" ] && rm -rf "${backup_dir}"
fi
if [ "${err}" -eq 0 ]; then
echo -e "\nINFO: Revert from backup directory success ..."
echo -e "\nINFO: Revert from backup directory success"
fi
unlock
@ -173,9 +162,11 @@ try_rpm_rebuilddb()
fi
fi
rm -rf /var/lib/rpmrebuilddb.*
if ls "${rpmdb_dir}"/../rpmrebuilddb.* &> /dev/null; then
rm -rf "${rpmdb_dir}"/../rpmrebuilddb.*
fi
echo -e "\nERROR: failed to rebuild rpmdb, retrying ..."
echo -e "\nERROR: failed to rebuild rpmdb, retrying"
retry=$((retry-1))
done
@ -183,4 +174,4 @@ try_rpm_rebuilddb()
return 1
}
check_if_db_operation_in_progress && try_rpm_rebuilddb
try_rpm_rebuilddb

View File

@ -1,6 +1,6 @@
From bde4ceb58576e365f156fc05486f49800e16ca03 Mon Sep 17 00:00:00 2001
From 1f42872d9902c93d66f0494f6ab3a07b0864cc64 Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Fri, 13 Aug 2021 17:16:33 +0530
Date: Mon, 13 Dec 2021 16:41:52 +0530
Subject: [PATCH] lib/rpmdb.c: use a fallback method for renaming directories
While migrating rpm db from BDB to SQLITE in a docker container rename
@ -39,7 +39,7 @@ Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
2 files changed, 306 insertions(+), 21 deletions(-)
diff --git a/lib/rpmdb.c b/lib/rpmdb.c
index 38e1cb5..710c894 100644
index 2fa1f00fa..60867119b 100644
--- a/lib/rpmdb.c
+++ b/lib/rpmdb.c
@@ -9,6 +9,15 @@
@ -306,7 +306,7 @@ index 38e1cb5..710c894 100644
static int buildIndexes(rpmdb db)
{
int rc = 0;
@@ -494,7 +744,7 @@ static int openDatabase(const char * prefix,
@@ -492,7 +742,7 @@ static int openDatabase(const char * prefix,
if (dbp)
*dbp = NULL;
@ -315,7 +315,7 @@ index 38e1cb5..710c894 100644
return 1;
db = newRpmdb(prefix, dbpath, mode, perms, flags);
@@ -572,7 +822,7 @@ int rpmdbVerify(const char * prefix)
@@ -570,7 +820,7 @@ int rpmdbVerify(const char * prefix)
if (db != NULL) {
int xx;
@ -324,7 +324,7 @@ index 38e1cb5..710c894 100644
if (db->db_pkgs)
rc += dbiVerify(db->db_pkgs, 0);
rc += dbiForeach(db->db_indexes, db->db_ndbi, dbiVerify, 0);
@@ -585,7 +835,7 @@ int rpmdbVerify(const char * prefix)
@@ -583,7 +833,7 @@ int rpmdbVerify(const char * prefix)
}
Header rpmdbGetHeaderAt(rpmdb db, unsigned int offset)
@ -333,7 +333,7 @@ index 38e1cb5..710c894 100644
rpmdbMatchIterator mi = rpmdbInitIterator(db, RPMDBI_PACKAGES,
&offset, sizeof(offset));
Header h = headerLink(rpmdbNextIterator(mi));
@@ -758,7 +1008,7 @@ static rpmRC dbiFindMatches(rpmdb db, dbiIndex dbi,
@@ -755,7 +1005,7 @@ static rpmRC dbiFindMatches(rpmdb db, dbiIndex dbi,
/* No matches on the name, anything else wont match either */
if (rc != RPMRC_OK)
goto exit;
@ -342,7 +342,7 @@ index 38e1cb5..710c894 100644
/* If we got matches on name and nothing else was specified, we're done */
if (epoch < 0 && version == NULL && release == NULL && arch == NULL)
goto exit;
@@ -1303,7 +1553,7 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
@@ -1300,7 +1550,7 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
mi->mi_re = xrealloc(mi->mi_re, (mi->mi_nre + 1) * sizeof(*mi->mi_re));
mire = mi->mi_re + mi->mi_nre;
mi->mi_nre++;
@ -351,7 +351,7 @@ index 38e1cb5..710c894 100644
mire->tag = tag;
mire->mode = mode;
mire->pattern = allpat;
@@ -1755,7 +2005,7 @@ static rpmdbMatchIterator indexIterInit(rpmdb db, rpmDbiTagVal rpmtag,
@@ -1752,7 +2002,7 @@ static rpmdbMatchIterator indexIterInit(rpmdb db, rpmDbiTagVal rpmtag,
}
}
}
@ -360,10 +360,10 @@ index 38e1cb5..710c894 100644
return mi;
}
@@ -1814,9 +2064,9 @@ rpmdbMatchIterator rpmdbInitPrefixIterator(rpmdb db, rpmDbiTagVal rpmtag,
@@ -1811,9 +2061,9 @@ rpmdbMatchIterator rpmdbInitPrefixIterator(rpmdb db, rpmDbiTagVal rpmtag,
* Convert current tag data to db key
* @param tagdata Tag data container
* @retval keylen Length of key
* @param[out] keylen Length of key
- * @return Pointer to key value or NULL to signal skip
+ * @return Pointer to key value or NULL to signal skip
*/
@ -372,7 +372,7 @@ index 38e1cb5..710c894 100644
{
const void * data = NULL;
unsigned int size = 0;
@@ -1964,7 +2214,7 @@ int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd)
@@ -1961,7 +2211,7 @@ int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd)
break;
}
}
@ -381,7 +381,7 @@ index 38e1cb5..710c894 100644
return rc;
}
@@ -2042,11 +2292,11 @@ static void logAddRemove(const char *dbiname, int removing, rpmtd tagdata)
@@ -2039,11 +2289,11 @@ static void logAddRemove(const char *dbiname, int removing, rpmtd tagdata)
rpm_count_t c = rpmtdCount(tagdata);
if (c == 1 && rpmtdType(tagdata) == RPM_STRING_TYPE) {
rpmlog(RPMLOG_DEBUG, "%s \"%s\" %s %s index.\n",
@ -395,7 +395,7 @@ index 38e1cb5..710c894 100644
removing ? "from" : "to", dbiname);
}
}
@@ -2319,7 +2569,7 @@ int rpmdbAdd(rpmdb db, Header h)
@@ -2316,7 +2566,7 @@ int rpmdbAdd(rpmdb db, Header h)
ret = pkgdbOpen(db, 0, &dbi);
if (ret)
goto exit;
@ -404,7 +404,7 @@ index 38e1cb5..710c894 100644
rpmsqBlock(SIG_BLOCK);
dbCtrl(db, DB_CTRL_LOCK_RW);
@@ -2329,7 +2579,7 @@ int rpmdbAdd(rpmdb db, Header h)
@@ -2326,7 +2576,7 @@ int rpmdbAdd(rpmdb db, Header h)
dbiCursorFree(dbi, dbc);
/* Add associated data to secondary indexes */
@ -413,7 +413,7 @@ index 38e1cb5..710c894 100644
for (int dbix = 0; dbix < db->db_ndbi; dbix++) {
rpmDbiTag rpmtag = db->db_tags[dbix];
@@ -2375,7 +2625,7 @@ static int rpmdbRemoveFiles(char * pattern)
@@ -2372,7 +2622,7 @@ static int rpmdbRemoveFiles(char * pattern)
static int rpmdbRemoveDatabase(const char *dbpath)
{
@ -422,7 +422,7 @@ index 38e1cb5..710c894 100644
char *pattern;
pattern = rpmGetPath(dbpath, "/*", NULL);
@@ -2384,11 +2634,23 @@ static int rpmdbRemoveDatabase(const char *dbpath)
@@ -2381,11 +2631,23 @@ static int rpmdbRemoveDatabase(const char *dbpath)
pattern = rpmGetPath(dbpath, "/.??*", NULL);
rc += rpmdbRemoveFiles(pattern);
free(pattern);
@ -447,7 +447,7 @@ index 38e1cb5..710c894 100644
static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
const char * dbpath, const char * tmppath)
{
@@ -2401,14 +2663,14 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
@@ -2398,14 +2660,14 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
char * oldkeys = rpmGetPath(old, "/", "pubkeys", NULL);
char * destkeys = rpmGetPath(dest, "/", "pubkeys", NULL);
@ -465,7 +465,7 @@ index 38e1cb5..710c894 100644
if (xx) {
rpmlog(RPMLOG_ERR, _("could also not restore old database from %s\n"),
old);
@@ -2419,7 +2681,7 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
@@ -2416,7 +2678,7 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
}
if (access(oldkeys, F_OK ) != -1) {
@ -474,7 +474,7 @@ index 38e1cb5..710c894 100644
if (xx) {
rpmlog(RPMLOG_ERR, _("Could not get public keys from %s\n"), oldkeys);
goto exit;
@@ -2450,7 +2712,7 @@ static int rpmdbSetPermissions(char * src, char * dest)
@@ -2447,7 +2709,7 @@ static int rpmdbSetPermissions(char * src, char * dest)
struct stat st;
int xx, rc = -1;
char * filepath;
@ -483,7 +483,7 @@ index 38e1cb5..710c894 100644
if (stat(dest, &st) < 0)
goto exit;
if (stat(src, &st) < 0)
@@ -2583,7 +2845,7 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
@@ -2580,7 +2842,7 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
rpmdbClose(newdb);
if (failed) {
@ -493,7 +493,7 @@ index 38e1cb5..710c894 100644
"remains in place\n"));
diff --git a/lib/rpmdb.h b/lib/rpmdb.h
index 8e3ab5a..eb4dac2 100644
index c8f838cac..bd91060ac 100644
--- a/lib/rpmdb.h
+++ b/lib/rpmdb.h
@@ -251,6 +251,29 @@ int rpmdbStat(const char *prefix, struct stat *statbuf);
@ -527,5 +527,5 @@ index 8e3ab5a..eb4dac2 100644
}
#endif
--
2.17.1
2.25.1

View File

@ -1,17 +1,19 @@
Summary: Rocket-fast system for log processing
Name: rsyslog
Version: 8.2202.0
Release: 1%{?dist}
Release: 2%{?dist}
License: GPLv3+ and ASL 2.0
URL: http://www.rsyslog.com/
Source0: http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
%define sha512 rsyslog=b1c68099236cc0722f52822f8b46d7f2a4a023e0809907f2b0173d5593df3c6f914516310bd832ac028252fb2c467dc90756d4472950e4244f3919b328a8bd6e
Source1: rsyslog.service
Source2: 50-rsyslog-journald.conf
Source3: rsyslog.conf
URL: http://www.rsyslog.com
Group: System Environment/Base
Vendor: VMware, Inc.
Distribution: Photon
Source0: http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
%define sha512 %{name}=b1c68099236cc0722f52822f8b46d7f2a4a023e0809907f2b0173d5593df3c6f914516310bd832ac028252fb2c467dc90756d4472950e4244f3919b328a8bd6e
Source1: rsyslog.service
Source2: 50-rsyslog-journald.conf
Source3: rsyslog.conf
BuildRequires: systemd-devel
BuildRequires: libestr-devel
BuildRequires: libfastjson-devel
@ -21,6 +23,8 @@ BuildRequires: librelp-devel
BuildRequires: autogen
BuildRequires: gnutls-devel
BuildRequires: curl-devel
BuildRequires: libgpg-error-devel
Requires: gnutls
Requires: systemd
Requires: libestr
@ -28,6 +32,7 @@ Requires: libfastjson
Requires: libgcrypt
Requires: liblogging
Requires: librelp
Requires: libgpg-error
%description
RSYSLOG is the rocket-fast system for log processing.
@ -56,17 +61,19 @@ make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} install %{?_smp_mflags}
install -vd %{buildroot}%{_libdir}/systemd/system/
install -vd %{buildroot}%{_sysconfdir}/systemd/journald.conf.d/
install -vd %{buildroot}%{_unitdir}
install -vd %{buildroot}%{_sysconfdir}/systemd/journald.conf.d
install -vd %{buildroot}%{_sysconfdir}/rsyslog.d
rm -f %{buildroot}/lib/systemd/system/rsyslog.service
install -p -m 644 %{SOURCE1} %{buildroot}%{_libdir}/systemd/system/
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/systemd/journald.conf.d/
rm -f %{buildroot}%{_unitdir}/rsyslog.service
install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}
install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/systemd/journald.conf.d
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rsyslog.conf
find %{buildroot} -name '*.la' -delete
%check
%if 0%{?with_check}
make %{?_smp_mflags} check
%endif
%post
/sbin/ldconfig
@ -85,68 +92,70 @@ make %{?_smp_mflags} check
%{_libdir}/rsyslog/*.so
%{_mandir}/man5/*
%{_mandir}/man8/*
%{_libdir}/systemd/system/rsyslog.service
%{_unitdir}/rsyslog.service
%dir %{_sysconfdir}/rsyslog.d
%{_sysconfdir}/systemd/journald.conf.d/*
%config(noreplace) %{_sysconfdir}/rsyslog.conf
%changelog
* Tue Apr 19 2022 Gerrit Photon <photon-checkins@vmware.com> 8.2202.0-1
- Automatic Version Bump
* Mon Nov 15 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 8.2110.0-2
- Bump up release for openssl
* Fri Nov 12 2021 Tapas Kundu <tkundu@vmware.com> 8.2110.0-1
- Update to 8.2110.0
* Thu Jun 24 2021 Tapas Kundu <tkundu@vmware.com> 8.2106.0-1
- Update to 8.2106.0
* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 8.2104.0-1
- Automatic Version Bump
* Mon Oct 05 2020 Keerthana K <keerthanak@vmware.com> 8.2008.0-2
- Adding rsyslog.d directory
* Wed Aug 26 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2008.0-1
- Automatic Version Bump
* Mon Jun 22 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2006.0-1
- Automatic Version Bump
* Mon Jan 27 2020 Tapas Kundu <tkundu@vmware.com> 8.2001.0-1
- Update to 8.2001.0
* Mon Dec 23 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-4
- Fix typo in conf file.
* Thu Nov 21 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-3
- Added config noreplace for rsyslog.conf
* Mon Nov 04 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-2
- Built with imtcp and openssl
- Added patch to fix openssl version in rsyslog source
* Wed Oct 16 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-1
- Update to 8.1910.0 release
- Fix CVE-2019-17041 and CVE-2019-17042
* Fri Oct 04 2019 Keerthana K <keerthanak@vmware.com> 8.1907.0-1
- Update to 8.1907.0
- Fix CVE-2019-17040
* Mon Sep 10 2018 Keerthana K <keerthanak@vmware.com> 8.37.0-1
- Updated to version 8.37.0
* Thu Apr 12 2018 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-5
- Add $IncludeConfig /etc/rsyslog.d/ to rsyslog.conf
* Fri Dec 15 2017 Anish Swaminathan <anishs@vmware.com> 8.26.0-4
- Remove kill SIGHUP from service file
* Mon Nov 13 2017 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-3
- Add a default rsyslog.conf.
* Tue Aug 15 2017 Dheeraj Shetty <dheerajs@vmware.com> 8.26.0-2
- Fix CVE-2017-12588
* Mon Apr 24 2017 Siju Maliakkal <smaliakkal@vmware.com> 8.26.0-1
- Update to latest
* Fri Nov 18 2016 Anish Swaminathan <anishs@vmware.com> 8.15.0-7
- Change systemd dependency
* Wed Oct 05 2016 ChangLee <changlee@vmware.com> 8.15.0-6
- Modified %check
* Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com> 8.15.0-5
- Fixed logic to restart the active services after upgrade
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-4
- GA - Bump release of all rpms
* Wed May 4 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-3
- Use systemd macros for post, preun and postun to respect upgrades
* Wed Feb 17 2016 Anish Swaminathan <anishs@vmware.com> 8.15.0-2
- Add journald conf and new service file.
* Mon Jan 11 2016 Xiaolin Li <xiaolinl@vmware.com> 8.15.0-1
- Update rsyslog to 8.15.0
* Wed Jun 17 2015 Divya Thaluru <dthaluru@vmware.com> 8.10.0-1
- Initial build. First version
* Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.2202.0-2
- Add libgpg-error-devel to BuildRequires
* Tue Apr 19 2022 Gerrit Photon <photon-checkins@vmware.com> 8.2202.0-1
- Automatic Version Bump
* Mon Nov 15 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 8.2110.0-2
- Bump up release for openssl
* Fri Nov 12 2021 Tapas Kundu <tkundu@vmware.com> 8.2110.0-1
- Update to 8.2110.0
* Thu Jun 24 2021 Tapas Kundu <tkundu@vmware.com> 8.2106.0-1
- Update to 8.2106.0
* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 8.2104.0-1
- Automatic Version Bump
* Mon Oct 05 2020 Keerthana K <keerthanak@vmware.com> 8.2008.0-2
- Adding rsyslog.d directory
* Wed Aug 26 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2008.0-1
- Automatic Version Bump
* Mon Jun 22 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2006.0-1
- Automatic Version Bump
* Mon Jan 27 2020 Tapas Kundu <tkundu@vmware.com> 8.2001.0-1
- Update to 8.2001.0
* Mon Dec 23 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-4
- Fix typo in conf file.
* Thu Nov 21 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-3
- Added config noreplace for rsyslog.conf
* Mon Nov 04 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-2
- Built with imtcp and openssl
- Added patch to fix openssl version in rsyslog source
* Wed Oct 16 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-1
- Update to 8.1910.0 release
- Fix CVE-2019-17041 and CVE-2019-17042
* Fri Oct 04 2019 Keerthana K <keerthanak@vmware.com> 8.1907.0-1
- Update to 8.1907.0
- Fix CVE-2019-17040
* Mon Sep 10 2018 Keerthana K <keerthanak@vmware.com> 8.37.0-1
- Updated to version 8.37.0
* Thu Apr 12 2018 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-5
- Add $IncludeConfig /etc/rsyslog.d/ to rsyslog.conf
* Fri Dec 15 2017 Anish Swaminathan <anishs@vmware.com> 8.26.0-4
- Remove kill SIGHUP from service file
* Mon Nov 13 2017 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-3
- Add a default rsyslog.conf.
* Tue Aug 15 2017 Dheeraj Shetty <dheerajs@vmware.com> 8.26.0-2
- Fix CVE-2017-12588
* Mon Apr 24 2017 Siju Maliakkal <smaliakkal@vmware.com> 8.26.0-1
- Update to latest
* Fri Nov 18 2016 Anish Swaminathan <anishs@vmware.com> 8.15.0-7
- Change systemd dependency
* Wed Oct 05 2016 ChangLee <changlee@vmware.com> 8.15.0-6
- Modified %check
* Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com> 8.15.0-5
- Fixed logic to restart the active services after upgrade
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-4
- GA - Bump release of all rpms
* Wed May 4 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-3
- Use systemd macros for post, preun and postun to respect upgrades
* Wed Feb 17 2016 Anish Swaminathan <anishs@vmware.com> 8.15.0-2
- Add journald conf and new service file.
* Mon Jan 11 2016 Xiaolin Li <xiaolinl@vmware.com> 8.15.0-1
- Update rsyslog to 8.15.0
* Wed Jun 17 2015 Divya Thaluru <dthaluru@vmware.com> 8.10.0-1
- Initial build. First version

View File

@ -1,23 +1,27 @@
Summary: Ruby
Name: ruby
Version: 2.7.1
Release: 3%{?dist}
Release: 4%{?dist}
License: BSDL
URL: https://www.ruby-lang.org/en/
URL: https://www.ruby-lang.org/en
Group: System Environment/Security
Vendor: VMware, Inc.
Distribution: Photon
Source0: https://cache.ruby-lang.org/pub/ruby/2.7/%{name}-%{version}.tar.bz2
%define sha1 ruby=e83a084a4329e1e3f55591bf5ac0c8ebed6444b3
%define sha512 %{name}=4af568f5210379239531dbc54d35739f6ff7ab1d7ffcafc54fed2afeb2b30450d2df386504edf96a494465b3f5fd90cb030974668aa7a1fde5a6b042ea9ca858
Patch0: 0001-openssl-3.0.0-compatibility.patch
BuildRequires: openssl-devel
BuildRequires: ca-certificates
BuildRequires: readline-devel
BuildRequires: readline
BuildRequires: tzdata
Requires: ca-certificates
Requires: openssl
Requires: gmp
Patch0: 0001-openssl-3.0.0-compatibility.patch
%description
The Ruby package contains the Ruby development environment.
@ -35,21 +39,24 @@ for f in `grep -ril "\/usr\/local\/bin\/ruby" ./libexec/`; do
head -1 $f
done
%configure \
--enable-shared \
--docdir=%{_docdir}/%{name}-%{version} \
--with-compress-debug-sections=no
--enable-shared \
--docdir=%{_docdir}/%{name}-%{version} \
--with-compress-debug-sections=no
make %{?_smp_mflags} COPY="cp -p"
%install
[ %{buildroot} != "/" ] && rm -rf %{buildroot}/*
%make_install
%make_install %{?_smp_mflags}
%check
%if 0%{?with_check}
chmod g+w . -R
useradd test -G root -m
sudo -u test make check TESTS="-v"
sudo -u test make check TESTS="-v" %{?_smp_mflags}
%endif
%post -p /sbin/ldconfig
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%clean
@ -69,50 +76,52 @@ rm -rf %{buildroot}/*
%{_mandir}/man5/*
%changelog
* Fri Jun 04 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-3
- openssl 3.0.0 support
* Tue Sep 29 2020 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-2
- openssl 1.1.1
* Tue Sep 01 2020 Sujay G <gsujay@vmware.com> 2.7.1-1
- Bump version to 2.7.1
* Fri Jul 17 2020 Ankit Jain <ankitja@vmware.com> 2.5.8-2
- Added --with-compress-debug-sections=no to fix build issue
* Wed May 13 2020 Sujay G <gsujay@vmware.com> 2.5.8-1
- Bump version to 2.5.8
* Tue Jan 01 2019 Sujay G <gsujay@vmware.com> 2.5.3-1
- Update to version 2.5.3, to fix CVE-2018-16395 & CVE-2018-16396
* Tue Sep 11 2018 srinidhira0 <srinidhir@vmware.com> 2.5.1-1
- Update to version 2.5.1
* Fri Jan 12 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-2
- Fix CVE-2017-17790
* Wed Jan 03 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-1
- Update to version 2.4.3, fix CVE-2017-17405
* Fri Sep 29 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.2-1
- Update to version 2.4.2
* Fri Sep 15 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.1-5
- [security] CVE-2017-14064
* Tue Sep 05 2017 Chang Lee <changlee@vmware.com> 2.4.1-4
- Built with copy preserve mode and fixed %check
* Mon Jul 24 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-3
- [security] CVE-2017-9228
* Tue Jun 13 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-2
- [security] CVE-2017-9224,CVE-2017-9225
- [security] CVE-2017-9227,CVE-2017-9229
* Thu Apr 13 2017 Siju Maliakkal <smaliakkal@vmware.com> 2.4.1-1
- Update to latest 2.4.1
* Wed Jan 18 2017 Anish Swaminathan <anishs@vmware.com> 2.4.0-1
- Update to 2.4.0 - Fixes CVE-2016-2339
* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 2.3.0-4
- Modified %check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-3
- GA - Bump release of all rpms
* Wed Mar 09 2016 Divya Thaluru <dthaluru@vmware.com> 2.3.0-2
- Adding readline support
* Wed Jan 20 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-1
- Updated to 2.3.0-1
* Tue Apr 28 2015 Fabio Rapposelli <fabio@vmware.com> 2.2.1-2
- Added SSL support
* Mon Apr 6 2015 Mahmoud Bassiouny <mbassiouny@vmware.com> 2.2.1-1
- Version upgrade to 2.2.1
* Fri Oct 10 2014 Divya Thaluru <dthaluru@vmware.com> 2.1.3-1
- Initial build. First version
* Sat Feb 12 2022 Shreenidhi Shedi <sshedi@vmware.com> 2.7.1-4
- Drop libdb support
* Fri Jun 04 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-3
- openssl 3.0.0 support
* Tue Sep 29 2020 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-2
- openssl 1.1.1
* Tue Sep 01 2020 Sujay G <gsujay@vmware.com> 2.7.1-1
- Bump version to 2.7.1
* Fri Jul 17 2020 Ankit Jain <ankitja@vmware.com> 2.5.8-2
- Added --with-compress-debug-sections=no to fix build issue
* Wed May 13 2020 Sujay G <gsujay@vmware.com> 2.5.8-1
- Bump version to 2.5.8
* Tue Jan 01 2019 Sujay G <gsujay@vmware.com> 2.5.3-1
- Update to version 2.5.3, to fix CVE-2018-16395 & CVE-2018-16396
* Tue Sep 11 2018 srinidhira0 <srinidhir@vmware.com> 2.5.1-1
- Update to version 2.5.1
* Fri Jan 12 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-2
- Fix CVE-2017-17790
* Wed Jan 03 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-1
- Update to version 2.4.3, fix CVE-2017-17405
* Fri Sep 29 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.2-1
- Update to version 2.4.2
* Fri Sep 15 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.1-5
- [security] CVE-2017-14064
* Tue Sep 05 2017 Chang Lee <changlee@vmware.com> 2.4.1-4
- Built with copy preserve mode and fixed %check
* Mon Jul 24 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-3
- [security] CVE-2017-9228
* Tue Jun 13 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-2
- [security] CVE-2017-9224,CVE-2017-9225
- [security] CVE-2017-9227,CVE-2017-9229
* Thu Apr 13 2017 Siju Maliakkal <smaliakkal@vmware.com> 2.4.1-1
- Update to latest 2.4.1
* Wed Jan 18 2017 Anish Swaminathan <anishs@vmware.com> 2.4.0-1
- Update to 2.4.0 - Fixes CVE-2016-2339
* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 2.3.0-4
- Modified %check
* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-3
- GA - Bump release of all rpms
* Wed Mar 09 2016 Divya Thaluru <dthaluru@vmware.com> 2.3.0-2
- Adding readline support
* Wed Jan 20 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-1
- Updated to 2.3.0-1
* Tue Apr 28 2015 Fabio Rapposelli <fabio@vmware.com> 2.2.1-2
- Added SSL support
* Mon Apr 6 2015 Mahmoud Bassiouny <mbassiouny@vmware.com> 2.2.1-1
- Version upgrade to 2.2.1
* Fri Oct 10 2014 Divya Thaluru <dthaluru@vmware.com> 2.1.3-1
- Initial build. First version

View File

@ -1,21 +1,27 @@
From 7e3105c0a5126624ce8673d6a6028b57cdf90fba Mon Sep 17 00:00:00 2001
From: Satya Naga Rajesh Vasamsetty <svasamsetty@vmware.com>
Date: Thu, 26 Nov 2020 16:40:08 +0530
Subject: [PATCH] sendmail: fix compatibility with openssl 3.0
From ffca6997a191a02ef41268d2979909286fe72bea Mon Sep 17 00:00:00 2001
From: Shreenidhi Shedi <sshedi@vmware.com>
Date: Sat, 12 Feb 2022 23:16:27 +0530
Subject: [PATCH] fix compatibility with openssl 3.0
Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
---
sendmail/tls.c | 88 +++++++++++++++++++++++---------------------------
1 file changed, 40 insertions(+), 48 deletions(-)
diff --git a/sendmail/tls.c b/sendmail/tls.c
index 696d32f..2b74828 100644
index e2cac76..b31844f 100644
--- a/sendmail/tls.c
+++ b/sendmail/tls.c
@@ -80,31 +80,22 @@ static DH *
@@ -86,31 +86,26 @@ static DH *
get_dh512()
{
DH *dh = NULL;
-# if MTA_HAVE_DH_set0_pqg
- BIGNUM *dhp_bn, *dhg_bn;
-# endif
-
+ BIGNUM *p;
+ BIGNUM *g;
- if ((dh = DH_new()) == NULL)
- return NULL;
-# if MTA_HAVE_DH_set0_pqg
@ -36,17 +42,19 @@ index 696d32f..2b74828 100644
- return NULL;
- }
-# endif
+ BIGNUM *p;
+ BIGNUM *g;
+
- return dh;
+ dh = DH_new();
+ p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
+ g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
+ if (!dh || !p || !g)
+
+ if (!dh || !p || !g)
+ goto err;
+ if (!DH_set0_pqg(dh, p, NULL, g))
+
+ if (!DH_set0_pqg(dh, p, NULL, g))
+ goto err;
return dh;
+
+ return dh;
+
+err:
+ DH_free(dh);
+ BN_free(p);
@ -55,14 +63,16 @@ index 696d32f..2b74828 100644
}
# if 0
@@ -150,31 +141,22 @@ get_dh2048()
@@ -155,32 +150,29 @@ get_dh2048()
0x6C,0x79,0xA2,0x83,
};
static unsigned char dh2048_g[]={ 0x02, };
+
DH *dh;
-# if MTA_HAVE_DH_set0_pqg
- BIGNUM *dhp_bn, *dhg_bn;
-# endif
-
- if ((dh=DH_new()) == NULL)
- return(NULL);
-# if MTA_HAVE_DH_set0_pqg
@ -83,17 +93,22 @@ index 696d32f..2b74828 100644
- return(NULL);
- }
-# endif
- return(dh);
+ BIGNUM *p;
+ BIGNUM *g;
+
+ dh = DH_new();
+ p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
+ g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
+ if (!dh || !p || !g)
+
+ if (!dh || !p || !g)
+ goto err;
+ if (!DH_set0_pqg(dh, p, NULL, g))
+
+ if (!DH_set0_pqg(dh, p, NULL, g))
+ goto err;
return(dh);
+
+ return(dh);
+
+err:
+ DH_free(dh);
+ BN_free(p);
@ -103,4 +118,5 @@ index 696d32f..2b74828 100644
# endif /* !NO_DH */
--
2.7.4
2.25.1

View File

@ -1,7 +1,7 @@
Summary: Commonly used Mail transport agent (MTA)
Name: sendmail
Version: 8.17.1
Release: 2%{?dist}
Release: 3%{?dist}
URL: http://www.sendmail.org
License: BSD and CDDL1.1 and MIT
Group: Email/Server/Library
@ -10,14 +10,16 @@ Distribution: Photon
Source0: https://ftp.sendmail.org/sendmail.%{version}.tar.gz
%define sha512 %{name}.%{version}=ae42343fb06c09f2db5d919d602afc4241914387dfdae0f15e0967dda3be25bf1d3a4637b57266763679646a3cea6aa07e6453266fd9b7358c1a09ec2b627a15
Patch0: 0001-sendmail-fix-compatibility-with-openssl-3.0.patch
BuildRequires: systemd
Patch0: fix-compatibility-with-openssl-3.0.patch
BuildRequires: systemd-devel
BuildRequires: openldap
BuildRequires: openssl-devel
BuildRequires: libdb-devel
BuildRequires: shadow
BuildRequires: tinycdb-devel
Requires: tinycdb
Requires: (coreutils or toybox)
Requires: systemd
Requires: m4
@ -26,7 +28,6 @@ Requires(pre): /usr/sbin/useradd /usr/sbin/groupadd
Requires(postun): /usr/sbin/userdel /usr/sbin/groupdel
Requires: /bin/sed
Requires: (net-tools or toybox)
Requires: libdb
%description
Sendmail is widely used Mail Transport agent which helps in sending
@ -38,8 +39,8 @@ of email from systems to network and is not just a mail client.
%build
cat >> devtools/Site/site.config.m4 << "EOF"
APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DNETINET6 -DHASFLOCK=1')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb')
APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DNETINET6 -DCDB')
APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -lcdb')
APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')
APPENDDEF(`confLIBS', `-lresolv')
define(`confMANGRP',`root')
@ -49,64 +50,59 @@ define(`confUBINGRP',`root')
define(`confUBINOWN',`root')
EOF
sed -i 's|/usr/man/man|/usr/share/man/man|' \
devtools/OS/Linux &&
sed -i 's|/usr/man/man|/usr/share/man/man|' devtools/OS/Linux
cd sendmail &&
sh Build &&
cd ../cf/cf &&
cp generic-linux.mc sendmail.mc &&
sh Build sendmail.cf
cd %{name}
sh Build
cd ../cf/cf
cp generic-linux.mc %{name}.mc
sh Build %{name}.cf
%install
groupadd -g 26 smmsp &&
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
-s /bin/false -u 26 smmsp &&
groupadd -g 26 smmsp
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null -s /bin/false -u 26 smmsp
cd cf/cf
install -v -d -m755 %{buildroot}/etc/mail &&
sh Build DESTDIR=%{buildroot} install-cf &&
pushd cf/cf
install -v -d -m755 %{buildroot}%{_sysconfdir}/mail
sh Build DESTDIR=%{buildroot} install-cf
popd
cd ../.. &&
install -v -d -m755 %{buildroot}/usr/bin &&
install -v -d -m755 %{buildroot}/usr/sbin &&
install -v -d -m755 %{buildroot}/usr/share/man/man1 &&
install -v -d -m755 %{buildroot}/usr/share/man/man8 &&
sh Build DESTDIR=%{buildroot} install &&
install -v -d -m755 %{buildroot}%{_bindir}
install -v -d -m755 %{buildroot}%{_sbindir}
install -v -d -m755 %{buildroot}%{_mandir}/man1
install -v -d -m755 %{buildroot}%{_mandir}/man8
sh Build DESTDIR=%{buildroot} install
install -v -m644 cf/cf/{submit,sendmail}.mc %{buildroot}/etc/mail &&
cp -v -R cf/* %{buildroot}/etc/mail &&
install -v -m644 cf/cf/{submit,%{name}}.mc %{buildroot}%{_sysconfdir}/mail
cp -v -R cf/* %{buildroot}%{_sysconfdir}/mail
install -v -m755 -d %{buildroot}/usr/share/doc/sendmail-8.15.2/{cf,sendmail} &&
install -v -m755 -d %{buildroot}%{_docdir}/%{name}-%{version}/{cf,%{name}}
install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
%{buildroot}/usr/share/doc/sendmail-8.15.2 &&
%{buildroot}%{_docdir}/%{name}-%{version}
install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
%{buildroot}/usr/share/doc/sendmail-8.15.2/sendmail &&
install -v -m644 %{name}/{README,SECURITY,TRACEFLAGS,TUNING} \
%{buildroot}%{_docdir}/%{name}-%{version}/%{name}
install -v -m644 cf/README %{buildroot}/usr/share/doc/sendmail-8.15.2/cf &&
install -v -m644 cf/README %{buildroot}%{_docdir}/%{name}-%{version}/cf
for manpage in sendmail editmap mailstats makemap praliases smrsh
do
install -v -m644 ${manpage}/${manpage}.8 %{buildroot}/usr/share/man/man8
done &&
for manpage in %{name} editmap mailstats makemap praliases smrsh; do
install -v -m644 ${manpage}/${manpage}.8 %{buildroot}%{_mandir}/man8
done
install -v -m644 sendmail/aliases.5 %{buildroot}/usr/share/man/man5 &&
install -v -m644 sendmail/mailq.1 %{buildroot}/usr/share/man/man1 &&
install -v -m644 sendmail/newaliases.1 %{buildroot}/usr/share/man/man1 &&
install -v -m644 vacation/vacation.1 %{buildroot}/usr/share/man/man1
install -v -m644 %{name}/aliases.5 %{buildroot}%{_mandir}/man5
install -v -m644 %{name}/mailq.1 %{buildroot}%{_mandir}/man1
install -v -m644 %{name}/newaliases.1 %{buildroot}%{_mandir}/man1
install -v -m644 vacation/vacation.1 %{buildroot}%{_mandir}/man1
mkdir -p %{buildroot}/etc/systemd/system/
mkdir -p %{buildroot}/etc/sysconfig/
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
cat > %{buildroot}/etc/sysconfig/sendmail <<- "EOF"
cat > %{buildroot}%{_sysconfdir}/sysconfig/%{name} <<- "EOF"
DAEMON=yes
QUEUE=1h
EOF
cat > %{buildroot}/etc/systemd/system/sendmail.service <<- "EOF"
cat > %{buildroot}%{_unitdir}/%{name}.service <<- "EOF"
[Unit]
Description=Sendmail Mail Transport Agent
Wants=network-online.target
@ -114,13 +110,12 @@ After=network-online.target syslog.target network.target
[Service]
Environment=QUEUE=1h
EnvironmentFile=/etc/sysconfig/sendmail
EnvironmentFile=%{_sysconfdir}/sysconfig/%{name}
Type=forking
ExecStart=/usr/sbin/sendmail -bd -q $QUEUE $SENDMAIL_OPTARG
ExecStart=%{_sbindir}/%{name} -bd -q $QUEUE $SENDMAIL_OPTARG
[Install]
WantedBy=multi-user.target
EOF
%if 0%{?with_check}
@ -130,47 +125,45 @@ make -C test check %{?_smp_mflags}
%pre
if [ $1 -eq 1 ] ; then
groupadd -g 26 smmsp &&
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
-s /bin/false -u 26 smmsp &&
chmod -v 1777 /var/mail &&
install -v -m700 -d /var/spool/mqueue
groupadd -g 26 smmsp
useradd -c "Sendmail Daemon" -g smmsp -d /dev/null -s /bin/false -u 26 smmsp
chmod -v 1777 /var/mail
install -v -m700 -d /var/spool/mqueue
fi
%post
if [ $1 -eq 1 ] ; then
echo $(hostname -f) > /etc/mail/local-host-names
cat > /etc/mail/aliases << "EOF"
echo $(hostname -f) > %{_sysconfdir}/mail/local-host-names
cat > %{_sysconfdir}/mail/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/bin/newaliases
cd /etc/mail
m4 m4/cf.m4 sendmail.mc > sendmail.cf
cd %{_sysconfdir}/mail
m4 m4/cf.m4 %{name}.mc > %{name}.cf
fi
chmod 700 /var/spool/clientmqueue
chown smmsp:smmsp /var/spool/clientmqueue
%systemd_post sendmail.service
%systemd_post %{name}.service
%preun
%systemd_preun sendmail.service
%systemd_preun %{name}.service
%postun
if [ $1 -eq 0 ] ; then
userdel smmsp
groupdel smmsp
rm -rf /etc/mail
rm -rf %{_sysconfdir}/mail
fi
%systemd_postun_with_restart sendmail.service
%systemd_postun_with_restart %{name}.service
%files
%config(noreplace)%{_sysconfdir}/mail/sendmail.mc
%config(noreplace)%{_sysconfdir}/mail/sendmail.cf
%config(noreplace)%{_sysconfdir}/mail/%{name}.mc
%config(noreplace)%{_sysconfdir}/mail/%{name}.cf
%config(noreplace)%{_sysconfdir}/mail/submit.cf
%config(noreplace)%{_sysconfdir}/mail/submit.mc
%{_sysconfdir}/mail/feature/*
@ -183,19 +176,23 @@ fi
%{_sysconfdir}/mail/domain/*
%{_sysconfdir}/mail/README
%{_sysconfdir}/mail/helpfile
%{_sysconfdir}/mail/sendmail.schema
%{_sysconfdir}/mail/%{name}.schema
%{_sysconfdir}/mail/statistics
%{_bindir}/*
%{_sbindir}/*
/etc/systemd/system/sendmail.service
%{_datadir}/*
%{_var}/spool/*
%{_unitdir}/%{name}.service
%{_sysconfdir}/sysconfig/%{name}
%exclude %dir %{_libdir}/debug
%exclude %dir %{_usrsrc}
%exclude %{_mandir}/*
%exclude %{_datadir}/man/*
%exclude %{_docdir}/*
%exclude %{_sysconfdir}/mail/cf/*
%changelog
* Sat Jul 09 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.17.1-3
- Drop libdb support
* Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.17.1-2
- Fix binary path
* Mon Apr 11 2022 Nitesh Kumar <kunitesh@vmware.com> 8.17.1-1

View File

@ -1,7 +1,7 @@
Name: systemd
URL: http://www.freedesktop.org/wiki/Software/systemd
Version: 251.3
Release: 1%{?dist}
Release: 2%{?dist}
License: LGPLv2+ and GPLv2+ and MIT
Summary: System and Service Manager
Group: System Environment/Security
@ -41,7 +41,9 @@ Requires: libselinux
Requires: lz4
Requires: pcre
Requires: xz
Requires: libgpg-error
BuildRequires: libgpg-error-devel
BuildRequires: bzip2-devel
BuildRequires: gnu-efi
BuildRequires: curl-devel
@ -671,6 +673,8 @@ rm -rf %{_libdir}/systemd/tests
%files lang -f ../%{name}.lang
%changelog
* Tue Jul 26 2022 Shreenidhi Shedi <sshedi@vmware.com> 251.3-2
- Add libgpg-error-devel to BuildRequires
* Mon Jul 25 2022 Susant Sahani <ssahani@vmware.com> 251.3-1
- Version bump
* Mon Jul 18 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 251-4

View File

@ -1,7 +1,7 @@
Summary: dnf/yum equivalent using C libs
Name: tdnf
Version: 3.3.1
Release: 3%{?dist}
Release: 4%{?dist}
Vendor: VMware, Inc.
Distribution: Photon
License: LGPLv2.1,GPLv2
@ -229,6 +229,8 @@ systemctl try-restart %{name}-cache-updateinfo.timer >/dev/null 2>&1 || :
%{_unitdir}/%{name}-automatic-notifyonly.service
%changelog
* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-4
- Bump version as a part of rpm upgrade
* Mon Jun 27 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-3
- Exclude debug symbols properly
* Fri Jun 17 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-2

12
SPECS/tinycdb/libcdb.pc Normal file
View File

@ -0,0 +1,12 @@
# Package Information for pkg-config
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
Name: libcdb
Description: tinycdb - Constant Data Base library
Version: 0.78
Libs: -L${libdir} -lcdb
Cflags: -I${includedir}

View File

@ -0,0 +1,71 @@
Name: tinycdb
Summary: Utility and library for manipulating constant databases
Version: 0.78
Release: 1%{?dist}
License: Public Domain
URL: http://www.corpit.ru/mjt/tinycdb.html
Group: Applications/System
Vendor: VMware, Inc.
Distribution: Photon
Source0: http://www.corpit.ru/mjt/%{name}/%{name}-%{version}.tar.gz
%define sha512 %{name}=8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553
Source1: libcdb.pc
BuildRequires: make
BuildRequires: gcc
%description
tinycdb is a small, fast and reliable utility and subroutine library for
creating and reading constant databases. The database structure is tuned
for fast reading.
This package contains tinycdb utility and shared library.
%package devel
Summary: Development files for tinycdb
Requires: %{name} = %{version}-%{release}
%description devel
tinycdb is a small, fast and reliable utility set and subroutine
library for creating and reading constant databases.
This package contains tinycdb development library and header file for
developing applications that use %{name}.
%prep
%autosetup -p1
%build
make %{?_smp_mflags} staticlib sharedlib cdb-shared CFLAGS="%{optflags}"
%install
mkdir -p %{buildroot}%{_libdir}/pkgconfig
make DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} mandir=%{_mandir} \
install install-sharedlib INSTALLPROG=cdb-shared CP="cp -p" %{?_smp_mflags}
chmod +x %{buildroot}%{_libdir}/*.so.*
rm -f %{buildroot}%{_libdir}/lib*.a
cp %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/
%ldconfig_scriptlets
%files
%defattr(-,root,root)
%doc NEWS ChangeLog
%{_bindir}/cdb
%{_mandir}/man1/*.1*
%{_mandir}/man5/*.5*
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root)
%{_includedir}/*.h
%{_mandir}/man3/*.3*
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
%changelog
* Wed Feb 16 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.78-1
- Initial version. Needed for sendmail-8.17.1

View File

@ -47,10 +47,9 @@ actual_pkg_list=($(tdnf --installroot $TEMP_CHROOT/ \
expected_pkg_list=(
bash bzip2-libs ca-certificates ca-certificates-pki curl curl-libs
e2fsprogs-libs elfutils-libelf expat-libs filesystem glibc krb5
libcap libdb libgcc libgcrypt libgpg-error libsolv libssh2 libxml2
lua ncurses-libs nspr nss-libs openssl photon-release photon-repos popt
readline rpm-libs sqlite-libs tdnf tdnf-cli-libs toybox xz-libs zlib
zstd-libs
libcap libgcc libsolv libssh2 libxml2 lua ncurses-libs nspr nss-libs
openssl photon-release photon-repos popt readline rpm-libs sqlite-libs
tdnf tdnf-cli-libs toybox xz-libs zlib zstd-libs
)
actual_pkg_count=${#actual_pkg_list[@]}
@ -69,6 +68,8 @@ fi
rpm --root $TEMP_CHROOT/ --import $TEMP_CHROOT/etc/pki/rpm-gpg/*
ln -sfr ${TEMP_CHROOT}/usr/lib/sysimage/rpm ${TEMP_CHROOT}/var/lib/rpm
# cleanup anything not needed inside rootfs
pushd $TEMP_CHROOT
rm -rf usr/src/ home/* var/log/* var/cache/tdnf/

View File

@ -490,10 +490,9 @@ class SpecParser(object):
def _isConditionalCheckMacro(self, line):
data = line.strip()
words = data.split()
nrWords = len(words)
if nrWords != 2:
if len(words) != 2:
return False
if words[0] != "%if" or words[1] != "%{with_check}":
if words[0] != "%if" or "with_check" not in words[1]:
return False
return True
@ -504,13 +503,10 @@ class SpecParser(object):
def _isConditionTrue(self, line):
data = line.strip()
words = data.split()
nrWords = len(words)
# condition like %if a > b is not supported
if nrWords != 2:
if len(words) != 2:
return True
if self._replaceMacros(words[1]) == "0":
return False
return True
return int(self._replaceMacros(words[1]))
def _isConditionalMacroStart(self, line):
return line.startswith("%if")

View File

@ -1,6 +1,8 @@
import os.path
import traceback
import re
import time
import traceback
from CommandUtils import CommandUtils
from Logger import Logger
from PackageUtils import PackageUtils
@ -72,8 +74,10 @@ class ToolChainUtils(object):
packageVersion = None
listRPMsToInstall.extend(['binutils-'+constants.targetArch+'-linux-gnu',
'gcc-'+constants.targetArch+'-linux-gnu'])
if packageName:
listBuildRequiresPackages = self.getListDependentPackages(packageName, packageVersion)
for package in listRPMsToInstall:
pkgUtils = PackageUtils(self.logName, self.logPath)
rpmFile = None
@ -83,7 +87,7 @@ class ToolChainUtils(object):
for depPkg in listBuildRequiresPackages:
depPkgName, depPkgVersion = StringUtils.splitPackageNameAndVersion(depPkg)
if depPkgName == package:
version=depPkgVersion
version = depPkgVersion
break
if not version:
@ -148,6 +152,26 @@ class ToolChainUtils(object):
raise Exception("RPM installation failed")
self.logger.debug("Successfully installed default toolchain RPMS in Chroot:" + chroot.getID())
# There is some weird contention with this toolchain package installations and
# rpmdb rebuilds. So, let's do it explicitly here.
# XXX: Once we use latest ova template in our build env, we can remove this.
# Ubuntu build machines also use backend db as sqlite to remove this
timeout = 900
old_epoch = time.time()
while True:
if chroot.run("[ -f /var/lib/rpm/Packages ]", logfn=self.logger.debug):
break
time.sleep(1)
# retry for 15 min, ideally this should finish quickly
# if not, abort after 15 min
if time.time() - old_epoch > timeout:
self.logger.debug("--- 15 min elapsed trying to rebuild db ---")
break
if time.time() - old_epoch > timeout and not chroot.run("[ -f /var/lib/rpm/Packages ]", logfn=self.logger.debug):
self.logger.error("rpmdb conversion failed after multiple retries")
raise Exception("RpmDB conversion error")
if packageName:
self.installExtraToolchainRPMS(chroot, packageName, packageVersion)

View File

@ -122,10 +122,11 @@ class constants(object):
"automake",
"openssl",
"zstd",
"libdb",
"libgpg-error",
"libgcrypt",
"rpm"]
"rpm",
"dwz",
"debugedit",
"pandoc-bin",
"help2man"]
# List or RPMS that will be installed in a chroot prior to build each
# package. This list should be ordered by install order. On a stage1
@ -216,20 +217,17 @@ class constants(object):
"openssl",
"openssl-devel",
"libcap",
"libdb",
"libdb-devel",
"zstd",
"zstd-libs",
"zstd-devel",
"lua",
"lua-devel",
"libgpg-error",
"libgcrypt",
"rpm",
"rpm-build",
"rpm-devel",
"rpm-libs",
"cpio"]
"cpio",
"debugedit"]
# List of packages that will be installed in addition for each
# package to make check
@ -266,14 +264,12 @@ class constants(object):
"net-tools",
"less",
"iana-etc",
"libdb",
"rpm-devel",
"rpm",
"libxml2",
"python3-xml",
"libacl",
"tzdata",
"libgcrypt-devel",
"Linux-PAM",
"unzip",
"systemd-devel",

View File

@ -15,6 +15,7 @@ aarch64/bzip2-libs-1.0.8-3.ph4.aarch64.rpm
aarch64/coreutils-8.32-3.ph4.aarch64.rpm
aarch64/cpio-2.13-2.ph4.aarch64.rpm
aarch64/diffutils-3.7-1.ph4.aarch64.rpm
aarch64/debugedit-5.0-1.ph4.aarch64.rpm
aarch64/elfutils-0.181-2.ph4.aarch64.rpm
aarch64/elfutils-devel-0.181-2.ph4.aarch64.rpm
aarch64/elfutils-libelf-0.181-2.ph4.aarch64.rpm
@ -42,16 +43,12 @@ aarch64/grep-3.4-1.ph4.aarch64.rpm
aarch64/groff-1.22.4-1.ph4.aarch64.rpm
aarch64/gzip-1.10-1.ph4.aarch64.rpm
aarch64/libcap-2.43-1.ph4.aarch64.rpm
aarch64/libdb-5.3.28-2.ph4.aarch64.rpm
aarch64/libdb-devel-5.3.28-2.ph4.aarch64.rpm
aarch64/libffi-3.3-1.ph4.aarch64.rpm
aarch64/libgcc-10.2.0-1.ph4.aarch64.rpm
aarch64/libgcc-atomic-10.2.0-1.ph4.aarch64.rpm
aarch64/libgcc-devel-10.2.0-1.ph4.aarch64.rpm
aarch64/libgcrypt-1.8.7-1.ph3.aarch64.rpm
aarch64/libgomp-10.2.0-1.ph4.aarch64.rpm
aarch64/libgomp-devel-10.2.0-1.ph4.aarch64.rpm
aarch64/libgpg-error-1.32-1.ph3.aarch64.rpm
aarch64/libpipeline-1.5.3-1.ph4.aarch64.rpm
aarch64/libstdc++-10.2.0-1.ph4.aarch64.rpm
aarch64/libstdc++-devel-10.2.0-1.ph4.aarch64.rpm
@ -73,10 +70,10 @@ aarch64/nspr-devel-4.29-1.ph4.aarch64.rpm
aarch64/nss-3.57-2.ph4.aarch64.rpm
aarch64/nss-devel-3.57-2.ph4.aarch64.rpm
aarch64/nss-libs-3.57-2.ph4.aarch64.rpm
aarch64/openssl-1.1.1i-2.ph4.aarch64.rpm
aarch64/openssl-devel-1.1.1i-2.ph4.aarch64.rpm
aarch64/openssl-3.0.0-6.ph4.aarch64.rpm
aarch64/openssl-devel-3.0.0-6.ph4.aarch64.rpm
aarch64/patch-2.7.6-5.ph4.aarch64.rpm
aarch64/perl-5.30.1-3.ph4.aarch64.rpm
aarch64/perl-5.30.1-5.ph4.aarch64.rpm
aarch64/pkg-config-0.29.2-3.ph4.aarch64.rpm
aarch64/popt-1.16-5.ph4.aarch64.rpm
aarch64/popt-devel-1.16-5.ph4.aarch64.rpm
@ -85,10 +82,10 @@ aarch64/python3-3.9.1-2.ph4.aarch64.rpm
aarch64/python3-libs-3.9.1-2.ph4.aarch64.rpm
aarch64/readline-7.0-3.ph4.aarch64.rpm
aarch64/readline-devel-7.0-3.ph4.aarch64.rpm
aarch64/rpm-4.16.1.3-1.ph4.aarch64.rpm
aarch64/rpm-build-4.16.1.3-1.ph4.aarch64.rpm
aarch64/rpm-devel-4.16.1.3-1.ph4.aarch64.rpm
aarch64/rpm-libs-4.16.1.3-1.ph4.aarch64.rpm
aarch64/rpm-4.16.1.3-7.ph4.aarch64.rpm
aarch64/rpm-build-4.16.1.3-7.ph4.aarch64.rpm
aarch64/rpm-devel-4.16.1.3-7.ph4.aarch64.rpm
aarch64/rpm-libs-4.16.1.3-7.ph4.aarch64.rpm
aarch64/sed-4.8-1.ph4.aarch64.rpm
aarch64/sqlite-3.33.0-1.ph4.aarch64.rpm
aarch64/sqlite-libs-3.33.0-1.ph4.aarch64.rpm

View File

@ -15,6 +15,7 @@ x86_64/bzip2-libs-1.0.8-3.ph4.x86_64.rpm
x86_64/coreutils-8.32-3.ph4.x86_64.rpm
x86_64/cpio-2.13-2.ph4.x86_64.rpm
x86_64/diffutils-3.7-1.ph4.x86_64.rpm
x86_64/debugedit-5.0-1.ph4.x86_64.rpm
x86_64/elfutils-0.181-2.ph4.x86_64.rpm
x86_64/elfutils-devel-0.181-2.ph4.x86_64.rpm
x86_64/elfutils-libelf-0.181-2.ph4.x86_64.rpm
@ -42,16 +43,12 @@ x86_64/grep-3.4-1.ph4.x86_64.rpm
x86_64/groff-1.22.4-1.ph4.x86_64.rpm
x86_64/gzip-1.10-1.ph4.x86_64.rpm
x86_64/libcap-2.43-1.ph4.x86_64.rpm
x86_64/libdb-5.3.28-2.ph4.x86_64.rpm
x86_64/libdb-devel-5.3.28-2.ph4.x86_64.rpm
x86_64/libffi-3.3-1.ph4.x86_64.rpm
x86_64/libgcc-10.2.0-1.ph4.x86_64.rpm
x86_64/libgcc-atomic-10.2.0-1.ph4.x86_64.rpm
x86_64/libgcc-devel-10.2.0-1.ph4.x86_64.rpm
x86_64/libgcrypt-1.8.5-1.ph3.x86_64.rpm
x86_64/libgomp-10.2.0-1.ph4.x86_64.rpm
x86_64/libgomp-devel-10.2.0-1.ph4.x86_64.rpm
x86_64/libgpg-error-1.32-1.ph3.x86_64.rpm
x86_64/libpipeline-1.5.3-1.ph4.x86_64.rpm
x86_64/libstdc++-10.2.0-1.ph4.x86_64.rpm
x86_64/libstdc++-devel-10.2.0-1.ph4.x86_64.rpm
@ -73,8 +70,8 @@ x86_64/nspr-devel-4.29-1.ph4.x86_64.rpm
x86_64/nss-3.57-2.ph4.x86_64.rpm
x86_64/nss-devel-3.57-2.ph4.x86_64.rpm
x86_64/nss-libs-3.57-2.ph4.x86_64.rpm
x86_64/openssl-1.1.1i-2.ph4.x86_64.rpm
x86_64/openssl-devel-1.1.1i-2.ph4.x86_64.rpm
x86_64/openssl-3.0.0-6.ph4.x86_64.rpm
x86_64/openssl-devel-3.0.0-6.ph4.x86_64.rpm
x86_64/patch-2.7.6-5.ph4.x86_64.rpm
x86_64/perl-5.30.1-3.ph4.x86_64.rpm
x86_64/pkg-config-0.29.2-3.ph4.x86_64.rpm
@ -85,10 +82,10 @@ x86_64/python3-3.9.1-2.ph4.x86_64.rpm
x86_64/python3-libs-3.9.1-2.ph4.x86_64.rpm
x86_64/readline-7.0-3.ph4.x86_64.rpm
x86_64/readline-devel-7.0-3.ph4.x86_64.rpm
x86_64/rpm-4.16.1.3-1.ph4.x86_64.rpm
x86_64/rpm-build-4.16.1.3-1.ph4.x86_64.rpm
x86_64/rpm-devel-4.16.1.3-1.ph4.x86_64.rpm
x86_64/rpm-libs-4.16.1.3-1.ph4.x86_64.rpm
x86_64/rpm-4.16.1.3-7.ph4.x86_64.rpm
x86_64/rpm-build-4.16.1.3-7.ph4.x86_64.rpm
x86_64/rpm-devel-4.16.1.3-7.ph4.x86_64.rpm
x86_64/rpm-libs-4.16.1.3-7.ph4.x86_64.rpm
x86_64/sed-4.8-1.ph4.x86_64.rpm
x86_64/sqlite-3.33.0-1.ph4.x86_64.rpm
x86_64/sqlite-libs-3.33.0-1.ph4.x86_64.rpm