Browse code

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>

Shreenidhi Shedi authored on 2022/02/08 04:35:08
Showing 55 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Linux Pluggable Authentication Modules
2 2
 Name:           Linux-PAM
3 3
 Version:        1.5.2
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        BSD and GPLv2+
6 6
 URL:            https://github.com/linux-pam/linux-pam
7 7
 Group:          System Environment/Security
... ...
@@ -10,6 +10,7 @@ Distribution:   Photon
10 10
 
11 11
 Source0:        https://github.com/linux-pam/linux-pam/releases/download/v%{version}/%{name}-%{version}.tar.xz
12 12
 %define sha512 %{name}=fa16350c132d3e5fb82b60d991768fb596582639841b8ece645c684705467305ccf1302a0147ec222ab78c01b2c9114c5496dc1ca565d2b56bf315f29a815144
13
+
13 14
 Source1:        pamtmp.conf
14 15
 
15 16
 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
81 81
 ln -sfv pam_unix.so %{buildroot}%{_libdir}/security/pam_unix_session.so
82 82
 find %{buildroot}%{_libdir} -name '*.la' -delete
83 83
 
84
-install -d -m 755 %{buildroot}/var/run/faillock
84
+install -d -m 755 %{buildroot}%{_var}/run/faillock
85 85
 install -m644 -D %{SOURCE1} %{buildroot}%{_libdir}/tmpfiles.d/pam.conf
86 86
 
87 87
 %{find_lang} %{name}
88
+
88 89
 %{_fixperms} %{buildroot}/*
89 90
 
90 91
 %check
91 92
 %if 0%{?with_check}
92
-install -v -m755 -d /etc/pam.d
93
-cat > /etc/pam.d/other << "EOF"
93
+install -v -m755 -d %{_sysconfdir}/pam.d
94
+cat > %{_sysconfdir}/pam.d/other << "EOF"
94 95
 auth     required       pam_deny.so
95 96
 account  required       pam_deny.so
96 97
 password required       pam_deny.so
... ...
@@ -116,7 +118,7 @@ rm -rf %{buildroot}/*
116 116
 %{_mandir}/man8/*
117 117
 %{_libdir}/tmpfiles.d/pam.conf
118 118
 %{_unitdir}/pam_namespace.service
119
-%dir /var/run/faillock
119
+%dir %{_var}/run/faillock
120 120
 
121 121
 %files lang -f Linux-PAM.lang
122 122
 %defattr(-,root,root)
... ...
@@ -129,6 +131,8 @@ rm -rf %{buildroot}/*
129 129
 %{_libdir}/pkgconfig/*.pc
130 130
 
131 131
 %changelog
132
+* Wed Jul 06 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.5.2-2
133
+- Remove libdb support from pam
132 134
 * Thu Jun 30 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.5.2-1
133 135
 - Further fixes to faillock patch
134 136
 - Upgrade to v1.5.2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Creates a common metadata repository
2 2
 Name:           createrepo_c
3 3
 Version:        0.16.0
4
-Release:        5%{?dist}
4
+Release:        6%{?dist}
5 5
 License:        GPLv2+
6 6
 Group:          System Environment/Base
7 7
 Vendor:         VMware, Inc.
... ...
@@ -86,6 +86,8 @@ rm -rf %{buildroot}
86 86
 %{_libdir}/pkgconfig/%{name}.pc
87 87
 
88 88
 %changelog
89
+* Thu Jul 07 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.16.0-6
90
+- Bump version as a part of rpm upgrade
89 91
 * Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.16.0-5
90 92
 - Use cmake macros for build and install
91 93
 * Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 0.16.0-4
92 94
new file mode 100644
... ...
@@ -0,0 +1,81 @@
0
+Name:       debugedit
1
+Version:    5.0
2
+Release:    1%{?dist}
3
+Summary:    Tools for debuginfo creation
4
+License:    GPLv3+ and GPLv2+ and LGPLv2+
5
+URL:        https://sourceware.org/debugedit
6
+Group:      System Environment/Base
7
+Vendor:     VMware, Inc.
8
+Distribution:   Photon
9
+
10
+Source0:    https://sourceware.org/ftp/debugedit/%{version}/%{name}-%{version}.tar.xz
11
+%define sha512 %{name}=7e7f529eafe41b53f0b5bfc58282fdbfa0dfa93ed7908b70e81942d6d2b6f80fc9c6bff2ed9674fd98947e5750b615f4c8b222544989e2900c5f8ff5ae0efb92
12
+
13
+Patch0:     tweak-find-debuginfo.patch
14
+
15
+BuildRequires: make
16
+BuildRequires: gcc
17
+BuildRequires: help2man
18
+
19
+# For the testsuite.
20
+BuildRequires: autoconf
21
+BuildRequires: automake
22
+
23
+# The find-debuginfo.sh script has a couple of tools it needs at runtime.
24
+# For strip_to_debug, eu-strip
25
+Requires: elfutils
26
+# For add_minidebug, readelf, awk, nm, sort, comm, objcopy, xz
27
+Requires: gawk
28
+Requires: xz
29
+Requires: (coreutils or toybox)
30
+# For do_file, gdb_add_index
31
+# We only need gdb-add-index, so suggest gdb-minimal (full gdb is also ok)
32
+Requires: gdb-minimal
33
+# For dwz
34
+Requires: dwz
35
+
36
+Patch1: tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
37
+
38
+%description
39
+The debugedit project provides programs and scripts for creating
40
+debuginfo and source file distributions, collect build-ids and rewrite
41
+source paths in DWARF data for debugging, tracing and profiling.
42
+
43
+It is based on code originally from the rpm project plus libiberty and
44
+binutils.  It depends on the elfutils libelf and libdw libraries to
45
+read and write ELF files, DWARF data and build-ids.
46
+
47
+%prep
48
+%autosetup -p1
49
+
50
+%build
51
+autoreconf -f -v -i
52
+%configure
53
+%make_build
54
+
55
+%install
56
+%make_install
57
+cd %{buildroot}%{_bindir}
58
+ln -sfv find-debuginfo find-debuginfo.sh
59
+
60
+%check
61
+%if 0%{?with_check}
62
+sed -i 's/^\(C\|LD\)FLAGS=.*/\1FLAGS=""/' tests/atlocal
63
+make check %{?_smp_mflags}
64
+%endif
65
+
66
+%files
67
+%defattr(-,root,root)
68
+%license COPYING COPYING3 COPYING.LIB
69
+%doc README
70
+%{_bindir}/debugedit
71
+%{_bindir}/sepdebugcrcfix
72
+%{_bindir}/find-debuginfo
73
+%{_bindir}/find-debuginfo.sh
74
+%{_mandir}/man1/debugedit.1*
75
+%{_mandir}/man1/sepdebugcrcfix.1*
76
+%{_mandir}/man1/find-debuginfo.1*
77
+
78
+%changelog
79
+* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 5.0-1
80
+- Intial version. Needed for rpm-4.17.0
0 81
new file mode 100644
... ...
@@ -0,0 +1,130 @@
0
+From ae27211cbbfb63a0ad3c141cd1310d7f583ec40e Mon Sep 17 00:00:00 2001
1
+From: Mark Wielaard <mark@klomp.org>
2
+Date: Fri, 30 Jul 2021 18:09:46 +0200
3
+Subject: [PATCH] tests: Handle zero directory entry in .debug_line DWARF5
4
+ debugedit.at
5
+
6
+We were skipping the zero directory entry, because it was always
7
+the same as the directory entry at position one. But that isn't
8
+true anymore with gcc 11.2.1. There the zero dir entry is unique.
9
+Fix the debugedit.at .debug_line testcases using DWARF5 to also
10
+include dir entry zero.
11
+
12
+Signed-off-by: Mark Wielaard <mark@klomp.org>
13
+---
14
+ configure.ac       | 14 ++++++++++++++
15
+ tests/atlocal.in   |  1 +
16
+ tests/debugedit.at | 18 ++++++++++++------
17
+ 3 files changed, 27 insertions(+), 6 deletions(-)
18
+
19
+diff --git a/configure.ac b/configure.ac
20
+index e5c9230..6a53365 100644
21
+--- a/configure.ac
22
+@@ -87,6 +87,20 @@ CFLAGS="$save_CFLAGS"
23
+ GDWARF_5_FLAG=$ac_cv_gdwarf_5
24
+ AC_SUBST([GDWARF_5_FLAG])
25
+ 
26
++AC_CACHE_CHECK([whether -gdwarf-5 produced DWARF5 .debug_line], ac_cv_dwarf_5_debugline, [dnl
27
++save_CFLAGS="$CFLAGS"
28
++CFLAGS="-gdwarf-5"
29
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i=0;]],[[/* empty main */]])],
30
++  [if readelf --debug-dump=line conftest.o 2>&1 | \
31
++   grep "DWARF Version:" 2>&1 | grep "5" > /dev/null 2>&1; \
32
++     then ac_cv_dwarf_5_debugline=yes; \
33
++     else ac_cv_dwarf_5_debugline=no; fi],
34
++  ac_cv_dwarf_5_debugline=no)
35
++CFLAGS="$save_CFLAGS"
36
++])
37
++DWARF_5_DEBUGLINE=$ac_cv_dwarf_5_debugline
38
++AC_SUBST([DWARF_5_DEBUGLINE])
39
++
40
+ AC_CACHE_CHECK([whether gcc supports -gz=none], ac_cv_gz_none, [dnl
41
+ save_CFLAGS="$CFLAGS"
42
+ CFLAGS="-gz=none"
43
+diff --git a/tests/atlocal.in b/tests/atlocal.in
44
+index 8399f8d..d916301 100644
45
+--- a/tests/atlocal.in
46
+@@ -13,3 +13,4 @@ READELF="@READELF@"
47
+ 
48
+ GDWARF_5_FLAG=@GDWARF_5_FLAG@
49
+ GZ_NONE_FLAG=@GZ_NONE_FLAG@
50
++DWARF_5_DEBUGLINE=@DWARF_5_DEBUGLINE@
51
+diff --git a/tests/debugedit.at b/tests/debugedit.at
52
+index 0311d26..725e68e 100644
53
+--- a/tests/debugedit.at
54
+@@ -488,10 +488,12 @@ AT_CLEANUP
55
+ AT_SETUP([debugedit .debug_line objects DWARF5])
56
+ AT_KEYWORDS([debuginfo] [debugedit])
57
+ AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
58
++AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
59
+ DEBUGEDIT_SETUP([-gdwarf-5])
60
+ 
61
+ AT_DATA([expout],
62
+ [foo/bar/baz
63
++foo/bar/baz/subdir_bar
64
+ foo/bar/baz/subdir_headers
65
+ ])
66
+ 
67
+@@ -500,8 +502,8 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
68
+ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
69
+ AT_CHECK([[
70
+ readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
71
+-        | grep -A5 "The Directory Table" | grep "^  [123]" \
72
+-	| cut -f2- -d/ | grep ^foo/ | sort
73
++	| grep -A5 "The Directory Table" | grep "^  [0123]" \
74
++	| cut -f2- -d/ | grep ^foo/ | sort -u
75
+ ]],[0],[expout])
76
+ 
77
+ AT_CLEANUP
78
+@@ -535,18 +537,20 @@ AT_CLEANUP
79
+ AT_SETUP([debugedit .debug_line partial DWARF5])
80
+ AT_KEYWORDS([debuginfo] [debugedit])
81
+ AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
82
++AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
83
+ DEBUGEDIT_SETUP([-gdwarf-5])
84
+ 
85
+ AT_DATA([expout],
86
+ [foo/bar/baz
87
++foo/bar/baz/subdir_bar
88
+ foo/bar/baz/subdir_headers
89
+ ])
90
+ 
91
+ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
92
+ AT_CHECK([[
93
+ readelf --debug-dump=line ./foobarbaz.part.o \
94
+-        | grep -A5 "The Directory Table" | grep "^  [123]" \
95
+-	| cut -f2- -d/ | grep ^foo/ | sort
96
++	| grep -A5 "The Directory Table" | grep "^  [0123]" \
97
++	| cut -f2- -d/ | grep ^foo/ | sort -u
98
+ ]],[0],[expout])
99
+ 
100
+ AT_CLEANUP
101
+@@ -580,18 +584,20 @@ AT_CLEANUP
102
+ AT_SETUP([debugedit .debug_line exe DWARF5])
103
+ AT_KEYWORDS([debuginfo] [debugedit])
104
+ AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
105
++AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
106
+ DEBUGEDIT_SETUP([-gdwarf-5])
107
+ 
108
+ AT_DATA([expout],
109
+ [foo/bar/baz
110
++foo/bar/baz/subdir_bar
111
+ foo/bar/baz/subdir_headers
112
+ ])
113
+ 
114
+ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
115
+ AT_CHECK([[
116
+ readelf --debug-dump=line ./foobarbaz.exe \
117
+-        | grep -A5 "The Directory Table" | grep "^  [123]" \
118
+-	| cut -f2- -d/ | grep ^foo/ | sort
119
++	| grep -A5 "The Directory Table" | grep "^  [0123]" \
120
++	| cut -f2- -d/ | grep ^foo/ | sort -u
121
+ ]],[0],[expout])
122
+ 
123
+ AT_CLEANUP
124
+-- 
125
+2.27.0
126
+
0 127
new file mode 100644
... ...
@@ -0,0 +1,38 @@
0
+From b9977a94becdc00d20912315a12c64f132daca7a Mon Sep 17 00:00:00 2001
1
+From: Shreenidhi Shedi <sshedi@vmware.com>
2
+Date: Mon, 13 Dec 2021 16:54:28 +0530
3
+Subject: [PATCH] tweak find-debuginfo
4
+
5
+Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
6
+---
7
+ scripts/find-debuginfo.in | 7 +------
8
+ 1 file changed, 1 insertion(+), 6 deletions(-)
9
+
10
+diff --git a/scripts/find-debuginfo.in b/scripts/find-debuginfo.in
11
+index 8b9ce77..8be3aa0 100755
12
+--- a/scripts/find-debuginfo.in
13
+@@ -649,11 +649,6 @@ if [ -s "$SOURCEFILE" ]; then
14
+ fi
15
+ 
16
+ if [ -d "${RPM_BUILD_ROOT}/usr/lib" ] || [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
17
+-  ((nout > 0)) ||
18
+-  test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
19
+-  (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
20
+-  sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
21
+-
22
+   (cd "${RPM_BUILD_ROOT}/usr"
23
+    test ! -d lib/debug || find lib/debug ! -type d
24
+    test ! -d src/debug -o -n "$srcout" || find src/debug -mindepth 1 -maxdepth 1
25
+@@ -724,7 +719,7 @@ while ((i < nout)); do
26
+   mv "${LISTFILE}.new" "$LISTFILE"
27
+   ((++i))
28
+ done
29
+-if ((nout > 0)); then
30
++if ((0 && nout > 0)); then
31
+   # Generate %dir lines for each output list.
32
+   generate_percent_dir()
33
+   {
34
+-- 
35
+2.25.1
36
+
... ...
@@ -1,14 +1,14 @@
1 1
 Name:            drpm
2 2
 Summary:         A library for making, reading and applying deltarpm packages
3 3
 Version:         0.5.1
4
-Release:         2%{?dist}
4
+Release:         3%{?dist}
5 5
 License:         LGPLv2+ and BSD
6 6
 URL:             https://github.com/rpm-software-management/%{name}
7 7
 Vendor:          VMware, Inc.
8 8
 Distribution:    Photon
9 9
 Group:           System Environment/Base
10 10
 
11
-Source0:         https://github.com/rpm-software-management/drpm/releases/download/0.5.1/drpm-%{version}.tar.bz2
11
+Source0:         https://github.com/rpm-software-management/drpm/releases/download/%{version}/drpm-%{version}.tar.bz2
12 12
 %define sha512   %{name}=8c87165fa43bcc5e518a6d60eaadbc43b12643233eb0cb29633f0fdf8a516c24581f5f5bad06779f8c851d6200aec41b50998ab8040e8145391b686ae6be8c48
13 13
 
14 14
 BuildRequires:   cmake
... ...
@@ -61,11 +61,14 @@ cd %{__cmake_builddir}
61 61
 %license COPYING LICENSE.BSD
62 62
 
63 63
 %files devel
64
+%defattr(-,root,root)
64 65
 %{_libdir}/lib%{name}.so
65 66
 %{_includedir}/%{name}.h
66 67
 %{_libdir}/pkgconfig/%{name}.pc
67 68
 
68 69
 %changelog
70
+* Thu Jul 07 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.5.1-3
71
+- Bump version as a part of rpm upgrade
69 72
 * Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.5.1-2
70 73
 - Use cmake macros for build and install
71 74
 * Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 0.5.1-1
72 75
new file mode 100644
... ...
@@ -0,0 +1,53 @@
0
+Summary:    DWARF optimization and duplicate removal tool
1
+Name:       dwz
2
+Version:    0.14
3
+Release:    1%{?dist}
4
+License:    GPLv2+ and GPLv3+
5
+URL:        https://sourceware.org/dwz
6
+Group:      Applications/System
7
+Vendor:     VMware, Inc.
8
+Distribution:   Photon
9
+
10
+Source0:     https://sourceware.org/ftp/dwz/releases/%{name}-%{version}.tar.xz
11
+%define sha512 %{name}=62c39f79723ca99305dbb08d1d24a17699b9a84dd98c30904103da116831b1253bf1edbfb905c76fdc4d48305bd1ea0046314c5619209c40a1e624b8ae4908b1
12
+
13
+BuildRequires: gcc
14
+BuildRequires: gdb
15
+BuildRequires: dejagnu
16
+BuildRequires: make
17
+BuildRequires: elfutils-libelf-devel
18
+
19
+%description
20
+The dwz package contains a program that attempts to optimize DWARF
21
+debugging information contained in ELF shared libraries and ELF executables
22
+for size, by replacing DWARF information representation with equivalent
23
+smaller representation where possible and by reducing the amount of
24
+duplication using techniques from DWARF standard appendix E - creating
25
+DW_TAG_partial_unit compilation units (CUs) for duplicated information
26
+and using DW_TAG_imported_unit to import it into each CU that needs it.
27
+
28
+%prep
29
+%autosetup -p1 -n %{name}
30
+
31
+%build
32
+%make_build CFLAGS='%{optflags}' \
33
+  prefix=%{_prefix} mandir=%{_mandir} bindir=%{_bindir}
34
+
35
+%install
36
+rm -rf %{buildroot}
37
+%make_install prefix=%{_prefix} mandir=%{_mandir} bindir=%{_bindir}
38
+
39
+%check
40
+%if 0%{?with_check}
41
+make check %{?_smp_mflags}
42
+%endif
43
+
44
+%files
45
+%defattr(-,root,root)
46
+%license COPYING COPYING3 COPYING.RUNTIME
47
+%{_bindir}/%{name}
48
+%{_mandir}/man1/%{name}.1*
49
+
50
+%changelog
51
+* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 0.14-1
52
+- Intial version. Needed for rpm-4.17.0
... ...
@@ -7,8 +7,10 @@ URL:            http://www.fsarchiver.org
7 7
 Group:          Applications/System
8 8
 Vendor:         VMware, Inc.
9 9
 Distribution:   Photon
10
-Source0:        https://github.com/fdupoux/fsarchiver/releases/download/%{version}/fsarchiver-%{version}.tar.gz
11
-%define sha1    fsarchiver=6048ffc284e5284556c292a7e733f0a677785377
10
+
11
+Source0:        https://github.com/fdupoux/fsarchiver/releases/download/%{version}/%{name}-%{version}.tar.gz
12
+%define sha512  %{name}=26a2d7a68d162aabb778b14f29c52cf8fbadb8147cf5eae592352a36fbf93cc45c08c241253bd8dfe8cd0b77d0f156afcc8d89e8d24a238fd4427cb479827f14
13
+
12 14
 BuildRequires:  xz-devel
13 15
 BuildRequires:  lzo-devel
14 16
 BuildRequires:  libgcrypt-devel
... ...
@@ -25,7 +27,7 @@ Fsarchiver is released under the GPL-v2 license.
25 25
 You should read the Quick start guide if you are using FSArchiver for the first time.
26 26
 
27 27
 %prep
28
-%setup -q
28
+%autosetup -p1
29 29
 
30 30
 %build
31 31
 #make some fixes required by glibc-2.28:
... ...
@@ -36,13 +38,16 @@ sed -i '/unistd/a #include <sys/sysmacros.h>' src/devinfo.c
36 36
     --disable-silent-rules \
37 37
     --disable-lz4 \
38 38
     --disable-zstd
39
+
39 40
 make %{?_smp_mflags}
40 41
 
41 42
 %install
42
-make DESTDIR=%{buildroot} install
43
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
43 44
 
44 45
 %check
46
+%if 0%{?with_check}
45 47
 make  %{?_smp_mflags} check
48
+%endif
46 49
 
47 50
 %files
48 51
 %defattr(-,root,root)
... ...
@@ -50,11 +55,11 @@ make  %{?_smp_mflags} check
50 50
 %{_mandir}/man8/*
51 51
 
52 52
 %changelog
53
-*   Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 0.8.6-1
54
--   Automatic Version Bump
55
-*   Wed Sep 19 2018 Alexey Makhalov <amakhalov@vmware.com> 0.8.5-2
56
--   Fix compilation issue against glibc-2.28
57
-*   Mon Sep 17 2018 Sujay G <gsujay@vmware.com> 0.8.5-1
58
--   Bump to version 0.8.5
59
-*   Fri Apr 28 2017 Xiaolin Li <xiaolinl@vmware.com> 0.8.1-1
60
--   Initial build.
53
+* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 0.8.6-1
54
+- Automatic Version Bump
55
+* Wed Sep 19 2018 Alexey Makhalov <amakhalov@vmware.com> 0.8.5-2
56
+- Fix compilation issue against glibc-2.28
57
+* Mon Sep 17 2018 Sujay G <gsujay@vmware.com> 0.8.5-1
58
+- Bump to version 0.8.5
59
+* Fri Apr 28 2017 Xiaolin Li <xiaolinl@vmware.com> 0.8.1-1
60
+- Initial build.
61 61
new file mode 100644
... ...
@@ -0,0 +1,233 @@
0
+2017-07-19  Rui Gu  <ruig@vmware.com>
1
+
2
+	* Makefile.in (uninstall-pstack, install-pstack): New rules, add
3
+	to install and uninstall.
4
+	* pstack.sh, pstack.1: New files.
5
+
6
+Index: gdb-7.12/gdb/Makefile.in
7
+===================================================================
8
+--- gdb-7.12.orig/gdb/Makefile.in	2014-02-06 20:29:09.401214339 +0100
9
+@@ -1067,7 +1067,7 @@ info install-info clean-info dvi pdf ins
10
+ install: all
11
+ 	@$(MAKE) $(FLAGS_TO_PASS) install-only
12
+ 
13
+-install-only: $(CONFIG_INSTALL)
14
++install-only: install-pstack $(CONFIG_INSTALL)
15
+ 	transformed_name=`t='$(program_transform_name)'; \
16
+ 			  echo gdb | sed -e "$$t"` ; \
17
+ 		if test "x$$transformed_name" = x; then \
18
+@@ -1104,7 +1104,25 @@ install-strip:
19
+ install-python:
20
+ 	$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(GDB_DATADIR)/python/gdb
21
+ 
22
+-uninstall: force $(CONFIG_UNINSTALL)
23
++PSTACK=pstack
24
++.PHONY: install-pstack
25
++install-pstack:
26
++	transformed_name=`t='$(program_transform_name)'; \
27
++			  echo $(PSTACK) | sed -e "$$t"` ; \
28
++		if test "x$$transformed_name" = x; then \
29
++		  transformed_name=$(PSTACK) ; \
30
++		else \
31
++		  true ; \
32
++		fi ; \
33
++		$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) ; \
34
++		$(INSTALL_PROGRAM) $(srcdir)/$(PSTACK).sh \
35
++			$(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) ; \
36
++		: $(SHELL) $(srcdir)/../mkinstalldirs \
37
++			$(DESTDIR)$(man1dir) ; \
38
++		: $(INSTALL_DATA) $(srcdir)/pstack.1 \
39
++			$(DESTDIR)$(man1dir)/$$transformed_name.1
40
++
41
++uninstall: force uninstall-pstack $(CONFIG_UNINSTALL)
42
+ 	transformed_name=`t='$(program_transform_name)'; \
43
+ 			  echo gdb | sed -e $$t` ; \
44
+ 		if test "x$$transformed_name" = x; then \
45
+@@ -1127,6 +1145,18 @@ uninstall: force $(CONFIG_UNINSTALL)
46
+ 	fi
47
+ 	@$(MAKE) DO=uninstall "DODIRS=$(SUBDIRS)" $(FLAGS_TO_PASS) subdir_do
48
+ 
49
++.PHONY: uninstall-pstack
50
++uninstall-pstack:
51
++	transformed_name=`t='$(program_transform_name)'; \
52
++			  echo $(PSTACK) | sed -e $$t` ; \
53
++		if test "x$$transformed_name" = x; then \
54
++		  transformed_name=$(PSTACK) ; \
55
++		else \
56
++		  true ; \
57
++		fi ; \
58
++		rm -f $(DESTDIR)$(bindir)/$$transformed_name$(EXEEXT) \
59
++		      $(DESTDIR)$(man1dir)/$$transformed_name.1
60
++ 
61
+ # The C++ name parser can be built standalone for testing.
62
+ test-cp-name-parser.o: cp-name-parser.c
63
+ 	$(COMPILE) -DTEST_CPNAMES cp-name-parser.c
64
+Index: gdb-7.12/gdb/pstack.sh
65
+===================================================================
66
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
67
+@@ -0,0 +1,43 @@
68
++#!/bin/sh
69
++
70
++if test $# -ne 1; then
71
++    echo "Usage: `basename $0 .sh` <process-id>" 1>&2
72
++    exit 1
73
++fi
74
++
75
++if test ! -r /proc/$1; then
76
++    echo "Process $1 not found." 1>&2
77
++    exit 1
78
++fi
79
++
80
++# GDB doesn't allow "thread apply all bt" when the process isn't
81
++# threaded; need to peek at the process to determine if that or the
82
++# simpler "bt" should be used.
83
++
84
++backtrace="bt"
85
++if test -d /proc/$1/task ; then
86
++    # Newer kernel; has a task/ directory.
87
++    if test `/bin/ls /proc/$1/task | /usr/bin/wc -l` -gt 1 2>/dev/null ; then
88
++	backtrace="thread apply all bt"
89
++    fi
90
++elif test -f /proc/$1/maps ; then
91
++    # Older kernel; go by it loading libpthread.
92
++    if /bin/grep -e libpthread /proc/$1/maps > /dev/null 2>&1 ; then
93
++	backtrace="thread apply all bt"
94
++    fi
95
++fi
96
++
97
++GDB=${GDB:-gdb}
98
++
99
++# Run GDB, strip out unwanted noise.
100
++# --readnever is no longer used since .gdb_index is now in use.
101
++$GDB --quiet -nx $GDBARGS /proc/$1/exe $1 <<EOF 2>&1 | 
102
++set width 0
103
++set height 0
104
++set pagination no
105
++$backtrace
106
++EOF
107
++/bin/sed -n \
108
++    -e 's/^\((gdb) \)*//' \
109
++    -e '/^#/p' \
110
++    -e '/^Thread/p'
111
+Index: gdb-7.12/gdb/testsuite/gdb.base/pstack.exp
112
+===================================================================
113
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
114
+@@ -0,0 +1,66 @@
115
++# Copyright (C) 2012 Free Software Foundation, Inc.
116
++
117
++# This program is free software; you can redistribute it and/or modify
118
++# it under the terms of the GNU General Public License as published by
119
++# the Free Software Foundation; either version 3 of the License, or
120
++# (at your option) any later version.
121
++#
122
++# This program is distributed in the hope that it will be useful,
123
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
124
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
125
++# GNU General Public License for more details.
126
++#
127
++# You should have received a copy of the GNU General Public License
128
++# along with this program.  If not, see <http://www.gnu.org/licenses/>.
129
++
130
++set testfile pstack
131
++set executable ${testfile}
132
++set binfile [standard_output_file $executable]
133
++if {[build_executable ${testfile} ${executable} "" {debug}] == -1} {
134
++    return -1
135
++}
136
++
137
++set test "spawn inferior"
138
++set command "${binfile}"
139
++set res [remote_spawn host $command];
140
++if { $res < 0 || $res == "" } {
141
++    perror "Spawning $command failed."
142
++    fail $test
143
++    return
144
++}
145
++set use_gdb_stub 1
146
++set pid [exp_pid -i $res]
147
++gdb_expect {
148
++    -re "looping\r\n" {
149
++	pass $test
150
++    }
151
++    eof {
152
++	fail "$test (eof)"
153
++	return
154
++    }
155
++    timeout {
156
++	fail "$test (timeout)"
157
++	return
158
++    }
159
++}
160
++gdb_exit
161
++
162
++# Testcase uses the most simple notification not to get caught by attach on
163
++# exiting the function.  Still we could retry the pstack command if we fail.
164
++
165
++set test "spawn pstack"
166
++set command "sh -c GDB=$GDB\\ GDBARGS=-data-directory\\\\\\ $BUILD_DATA_DIRECTORY\\ sh\\ ${srcdir}/../pstack.sh\\ $pid\\;echo\\ GSTACK-END"
167
++set res [remote_spawn host $command];
168
++if { $res < 0 || $res == "" } {
169
++    perror "Spawning $command failed."
170
++    fail $test
171
++}
172
++set pid [exp_pid -i $res]
173
++gdb_test_multiple "" $test {
174
++    -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\$" {
175
++	pass $test
176
++    }
177
++}
178
++gdb_exit
179
++
180
++remote_exec host "kill -9 $pid"
181
+Index: gdb-7.12/gdb/testsuite/gdb.base/pstack.c
182
+===================================================================
183
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
184
+@@ -0,0 +1,43 @@
185
++/* This testcase is part of GDB, the GNU debugger.
186
++
187
++   Copyright 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
188
++
189
++   This program is free software; you can redistribute it and/or modify
190
++   it under the terms of the GNU General Public License as published by
191
++   the Free Software Foundation; either version 3 of the License, or
192
++   (at your option) any later version.
193
++
194
++   This program is distributed in the hope that it will be useful,
195
++   but WITHOUT ANY WARRANTY; without even the implied warranty of
196
++   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
197
++   GNU General Public License for more details.
198
++
199
++   You should have received a copy of the GNU General Public License
200
++   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
201
++
202
++#include <stdio.h>
203
++#include <unistd.h>
204
++#include <string.h>
205
++
206
++void
207
++func (void)
208
++{
209
++  const char msg[] = "looping\n";
210
++
211
++  /* Use the most simple notification not to get caught by attach on exiting
212
++     the function.  */
213
++  write (1, msg, strlen (msg));
214
++  
215
++  for (;;);
216
++}
217
++
218
++int
219
++main (void)
220
++{
221
++  alarm (60);
222
++  nice (100);
223
++
224
++  func ();
225
++
226
++  return 0;
227
++}
228
+
0 229
new file mode 100644
... ...
@@ -0,0 +1,58 @@
0
+From 8510e0e9287d51eb13f9792559ef9da5c5c6e88b Mon Sep 17 00:00:00 2001
1
+From: Vikash Bansal <bvikas@vmware.com>
2
+Date: Mon, 5 Oct 2020 19:38:56 +0530
3
+Subject: [PATCH] gdb: Stop inaccessible region from getting dumped
4
+
5
+Background : 7.12 onward version of gdb started dumping some
6
+inaccessible regions (e.g: alignment gaps) in coredump, which
7
+is increasing the size of core file. Bug 2564068 was raised
8
+for this issue.
9
+
10
+Fix:
11
+If a memory region in smaps file is having anonymous keyword
12
+and "read, write and execute" flags are "not set"
13
+Then that memory region is inaccessible, so should not be dumped.
14
+---
15
+ gdb/linux-tdep.c | 26 +++++++++++++++++---------
16
+ 1 file changed, 17 insertions(+), 9 deletions(-)
17
+
18
+diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
19
+index d06fbc1..d936a63 100644
20
+--- a/gdb/linux-tdep.c
21
+@@ -1537,15 +1537,23 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
22
+       int should_dump_p = 0;
23
+ 
24
+       if (map.has_anonymous)
25
+-	{
26
+-	  should_dump_p
27
+-	    = should_dump_mapping_p (filterflags, &map.vmflags,
28
+-				     map.priv,
29
+-				     map.mapping_anon_p,
30
+-				     map.mapping_file_p,
31
+-				     map.filename.c_str (),
32
+-				     map.start_address,
33
+-				     map.offset);
34
++      {
35
++          if (map.read == 0 && map.write == 0 && map.exec == 0)
36
++          {
37
++              /* This is an inaccessible region and should not be dumped */
38
++              should_dump_p = 0;
39
++          }
40
++          else
41
++          {
42
++              should_dump_p
43
++                  = should_dump_mapping_p (filterflags, &map.vmflags,
44
++                          map.priv,
45
++                          map.mapping_anon_p,
46
++                          map.mapping_file_p,
47
++                          map.filename.c_str (),
48
++                          map.start_address,
49
++                          map.offset);
50
++          }
51
+ 	}
52
+       else
53
+ 	{
54
+-- 
55
+2.25.1
56
+
... ...
@@ -1,24 +1,33 @@
1
+%global build_minimal_gdb 1
2
+
1 3
 Summary:        C debugger
2 4
 Name:           gdb
3 5
 Version:        11.2
4
-Release:        1%{?dist}
6
+Release:        2%{?dist}
5 7
 License:        GPLv2+
6 8
 URL:            http://www.gnu.org/software/%{name}
7
-Source0:        http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
8
-%define sha512  gdb=07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
9 9
 Group:          Development/Tools
10 10
 Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12
+
13
+Source0:        http://ftp.gnu.org/gnu/gdb/%{name}-%{version}.tar.xz
14
+%define sha512  %{name}=07e9026423438049b11f4f784d57401ece4e940570f613bd6958b3714fe7fbc2c048470bcce3e7d7d9f93331cdf3881d30dcc964cb113a071143a02b28e5b127
15
+
16
+Patch0:         gdb-7.12-pstack.patch
17
+Patch1:         gdb-Stop-inaccessible-region-from-getting-dumped.patch
18
+
12 19
 Requires:       expat
13 20
 Requires:       ncurses
14 21
 Requires:       python3
15 22
 Requires:       xz-libs
23
+
16 24
 BuildRequires:  expat-devel
17 25
 BuildRequires:  ncurses-devel
18 26
 BuildRequires:  python3-devel
19 27
 BuildRequires:  python3-libs
20 28
 BuildRequires:  xz-devel
21
-%if %{with_check}
29
+
30
+%if 0%{?with_check}
22 31
 BuildRequires:  dejagnu
23 32
 BuildRequires:  systemtap-sdt-devel
24 33
 %endif
... ...
@@ -27,47 +36,92 @@ BuildRequires:  systemtap-sdt-devel
27 27
 GDB, the GNU Project debugger, allows you to see what is going on
28 28
 `inside' another program while it executes -- or what
29 29
 another program was doing at the moment it crashed.
30
+
31
+%if 0%{?build_minimal_gdb}
32
+%package minimal
33
+Summary: A GNU source-level debugger for C, C++, Fortran, Go and other languages (minimal version)
34
+Conflicts: %{name} < %{version}-%{release}
35
+
36
+%description minimal
37
+GDB, the GNU debugger, allows you to debug programs written in C, C++, Java, and other languages,
38
+by executing them in a controlled fashion and printing their data.
39
+This package provides a minimal version of GDB, tailored to be used by the Photon buildroot.
40
+It should probably not be used by end users.
41
+%endif
42
+
30 43
 %prep
31
-%autosetup
44
+%autosetup -p1
32 45
 
33 46
 %build
34
-mkdir build && cd build
35
-../configure \
47
+mkdir -p build && cd build
48
+sh ../configure \
36 49
   --host=%{_host} --build=%{_build} \
37 50
   --prefix=%{_prefix} \
38
-  --with-python=/usr/bin/python3
51
+  --with-python=%{_bindir}/python3
52
+
39 53
 make %{?_smp_mflags}
40 54
 
55
+%if 0%{?build_minimal_gdb}
56
+cd ../ && mkdir -p minimal-build && cd minimal-build
57
+sh ../configure \
58
+  --host=%{_host} --build=%{_build} --prefix=%{_prefix} \
59
+  --without-babeltrace \
60
+  --without-expat \
61
+  --disable-tui \
62
+  --without-python \
63
+  --without-guile \
64
+  --disable-inprocess-agent \
65
+  --without-intel-pt \
66
+  --disable-unit-tests \
67
+  --disable-source-highlight
68
+
69
+make %{?_smp_mflags}
70
+%endif
71
+
41 72
 %install
42
-cd build && make DESTDIR=%{buildroot} %{?_smp_mflags} install
73
+cd build && make DESTDIR=%{buildroot} install %{?_smp_mflags}
43 74
 find %{buildroot} -name '*.la' -delete
44
-rm %{buildroot}%{_infodir}/dir
45
-rm %{buildroot}%{_libdir}/libctf-nobfd.a
46
-rm %{buildroot}%{_libdir}/libctf.a
75
+rm %{buildroot}%{_infodir}/dir \
76
+   %{buildroot}%{_libdir}/libctf-nobfd.a \
77
+   %{buildroot}%{_libdir}/libctf.a
47 78
 
48 79
 # following files conflicts with binutils-2.24-1.x86_64
49
-rm %{buildroot}%{_includedir}/ansidecl.h
50
-rm %{buildroot}%{_includedir}/bfd.h
51
-rm %{buildroot}%{_includedir}/bfdlink.h
52
-rm %{buildroot}%{_includedir}/dis-asm.h
53
-rm %{buildroot}%{_libdir}/libbfd.a
54
-rm %{buildroot}%{_libdir}/libopcodes.a
80
+rm %{buildroot}%{_includedir}/ansidecl.h \
81
+   %{buildroot}%{_includedir}/bfd.h \
82
+   %{buildroot}%{_includedir}/bfdlink.h \
83
+   %{buildroot}%{_includedir}/dis-asm.h \
84
+   %{buildroot}%{_libdir}/libbfd.a \
85
+   %{buildroot}%{_libdir}/libopcodes.a
55 86
 # following files conflicts with binutils-2.25-1.x86_64
56
-rm %{buildroot}%{_datadir}/locale/de/LC_MESSAGES/opcodes.mo
57
-rm %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/bfd.mo
58
-rm %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/opcodes.mo
87
+rm %{buildroot}%{_datadir}/locale/de/LC_MESSAGES/opcodes.mo \
88
+   %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/bfd.mo \
89
+   %{buildroot}%{_datadir}/locale/fi/LC_MESSAGES/opcodes.mo
90
+
91
+%if 0%{?build_minimal_gdb}
92
+mkdir -p %{buildroot}/minimal-gdb
93
+cd ../minimal-build && make DESTDIR=%{buildroot}/minimal-gdb install %{?_smp_mflags}
94
+
95
+rm -rfv %{buildroot}/minimal-gdb%{_prefix}/{include,lib*,share} \
96
+       %{buildroot}/minimal-gdb%{_bindir}/{gcore,gdbserver,gstack,gdb-add-index,pstack,run}
97
+
98
+mv %{buildroot}/minimal-gdb%{_bindir}/gdb %{buildroot}%{_bindir}/gdb.minimal
99
+%endif
100
+
59 101
 %ifarch aarch64
60 102
 rm %{buildroot}%{_libdir}/libaarch64-unknown-linux-gnu-sim.a
61 103
 %endif
104
+
62 105
 %find_lang %{name} --all-name ../%{name}.lang
63 106
 
64 107
 %check
108
+%if 0%{?with_check}
65 109
 # disable security hardening for tests
66 110
 rm -f $(dirname $(gcc -print-libgcc-file-name))/../specs
67 111
 # fix typo in test
68 112
 sed -i 's/hex in)/hex in )/g' gdb/testsuite/gdb.arch/i386-signal.exp
69 113
 # ignore exit code and check for expected number of failures
70 114
 make %{?_smp_mflags} check || tail gdb/testsuite/gdb.sum  | grep "# of unexpected failures.*1219\|# of unexpected failures.*1220"
115
+%endif
71 116
 
72 117
 %files -f %{name}.lang
73 118
 %defattr(-,root,root)
... ...
@@ -83,42 +137,51 @@ make %{?_smp_mflags} check || tail gdb/testsuite/gdb.sum  | grep "# of unexpecte
83 83
 %{_bindir}/*
84 84
 %{_mandir}/*/*
85 85
 
86
+%if 0%{?build_minimal_gdb}
87
+%files minimal
88
+%defattr(-,root,root)
89
+%{_bindir}/gdb.minimal
90
+%{_bindir}/gdb-add-index
91
+%endif
92
+
86 93
 %changelog
87
-*   Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 11.2-1
88
--   Automatic Version Bump
89
-*   Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 10.2-1
90
--   Automatic Version Bump
91
-*   Thu Jan 07 2021 Tapas Kundu <tkundu@vmware.com> 10.1-1
92
--   Update to version 10.1
93
-*   Tue Jan 05 2021 Tapas Kundu <tkundu@vmware.com> 9.2-3
94
--   Fix compatibility with python 3.9
95
-*   Mon Oct 05 2020 Vikash Bansal <bvikas@vmware.com> 9.2-2
96
--   Stop inaccessible region from getting dumped into coredump
97
-*   Mon Aug 24 2020 Keerthana K <keerthanak@vmware.com> 9.2-1
98
--   Update to version 9.2
99
-*   Mon Jul 22 2019 Alexey Makhalov <amakhalov@vmware.com> 8.2-2
100
--   Cross compilation support
101
-*   Fri Sep 14 2018 Keerthana K <keerthanak@vmware.com> 8.2-1
102
--   Update to version 8.2
103
-*   Thu Dec 07 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-8
104
--   Enable LZMA support
105
-*   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-7
106
--   Aarch64 support
107
-*   Mon Sep 11 2017 Rui Gu <ruig@vmware.com> 7.12.1-6
108
--   Enable make check in docker with part of checks disabled
109
-*   Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-5
110
--   Make check improvements
111
-*   Fri Jul 21 2017 Rui Gu <ruig@vmware.com> 7.12.1-4
112
--   Add pstack wrapper which will invoke gdb.
113
-*   Wed Jul 12 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-3
114
--   Get tcl, expect and dejagnu from packages
115
-*   Thu May 18 2017 Xiaolin Li <xiaolinl@vmware.com> 7.12.1-2
116
--   Build gdb with python3.
117
-*   Wed Mar 22 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-1
118
--   Version update
119
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-3
120
--   GA - Bump release of all rpms
121
-*   Tue Nov 10 2015 Xiaolin Li <xiaolinl@vmware.com> 7.8.2-2
122
--   Handled locale files with macro find_lang
123
-*   Wed Apr 08 2015 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-1
124
--   Initial build. First version
94
+* Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 11.2-2
95
+- Add gdb-minimal sub package
96
+* Mon Apr 18 2022 Gerrit Photon <photon-checkins@vmware.com> 11.2-1
97
+- Automatic Version Bump
98
+* Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 10.2-1
99
+- Automatic Version Bump
100
+* Thu Jan 07 2021 Tapas Kundu <tkundu@vmware.com> 10.1-1
101
+- Update to version 10.1
102
+* Tue Jan 05 2021 Tapas Kundu <tkundu@vmware.com> 9.2-3
103
+- Fix compatibility with python 3.9
104
+* Mon Oct 05 2020 Vikash Bansal <bvikas@vmware.com> 9.2-2
105
+- Stop inaccessible region from getting dumped into coredump
106
+* Mon Aug 24 2020 Keerthana K <keerthanak@vmware.com> 9.2-1
107
+- Update to version 9.2
108
+* Mon Jul 22 2019 Alexey Makhalov <amakhalov@vmware.com> 8.2-2
109
+- Cross compilation support
110
+* Fri Sep 14 2018 Keerthana K <keerthanak@vmware.com> 8.2-1
111
+- Update to version 8.2
112
+* Thu Dec 07 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-8
113
+- Enable LZMA support
114
+* Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-7
115
+- Aarch64 support
116
+* Mon Sep 11 2017 Rui Gu <ruig@vmware.com> 7.12.1-6
117
+- Enable make check in docker with part of checks disabled
118
+* Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-5
119
+- Make check improvements
120
+* Fri Jul 21 2017 Rui Gu <ruig@vmware.com> 7.12.1-4
121
+- Add pstack wrapper which will invoke gdb.
122
+* Wed Jul 12 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-3
123
+- Get tcl, expect and dejagnu from packages
124
+* Thu May 18 2017 Xiaolin Li <xiaolinl@vmware.com> 7.12.1-2
125
+- Build gdb with python3.
126
+* Wed Mar 22 2017 Alexey Makhalov <amakhalov@vmware.com> 7.12.1-1
127
+- Version update
128
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-3
129
+- GA - Bump release of all rpms
130
+* Tue Nov 10 2015 Xiaolin Li <xiaolinl@vmware.com> 7.8.2-2
131
+- Handled locale files with macro find_lang
132
+* Wed Apr 08 2015 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 7.8.2-1
133
+- Initial build. First version
... ...
@@ -59,7 +59,7 @@ developing applications that use gnutls.
59 59
 %make_build %{?_smp_mflags}
60 60
 
61 61
 %install
62
-%make_install %{?smp_mflags}
62
+%make_install %{?_smp_mflags}
63 63
 
64 64
 rm %{buildroot}%{_infodir}/*
65 65
 find %{buildroot}%{_libdir} -name '*.la' -delete
66 66
new file mode 100644
... ...
@@ -0,0 +1,51 @@
0
+Name:       help2man
1
+Summary:    Create simple man pages from --help output
2
+Version:    1.48.5
3
+Release:    1%{?dist}
4
+License:    GPLv3+
5
+URL:        https://www.gnu.org/software/help2man
6
+Group:      System Environment/Base
7
+Vendor:     VMware, Inc.
8
+Distribution:   Photon
9
+
10
+Source:         https://ftp.gnu.org/gnu/help2man/%{name}-%{version}.tar.xz
11
+%define sha512 %{name}=800eb0daa9daef8e423d52ede55eee2960122ea0269865295afada4cf4fcc1c6791da8429c3a57c0fc1bf0a14c8a77953952325413a8faa5dd07b1bc5bc0edd1
12
+
13
+BuildRequires:  gcc
14
+BuildRequires:  make
15
+BuildRequires:  perl
16
+
17
+BuildArch:      noarch
18
+
19
+%description
20
+help2man is a script to create simple man pages from the --help and
21
+--version output of programs.
22
+
23
+Since most GNU documentation is now in info format, this provides a
24
+way to generate a placeholder man page pointing to that resource while
25
+still providing some useful information.
26
+
27
+%prep
28
+%autosetup -p1 -n %{name}-%{version}
29
+
30
+%build
31
+%configure
32
+%make_build %{?_smp_mflags}
33
+
34
+%install
35
+make install_l10n DESTDIR=%{buildroot} %{?_smp_mflags}
36
+%{make_install} %{?_smp_mflags}
37
+
38
+%find_lang %name --with-man
39
+
40
+%files -f %name.lang
41
+%defattr(-,root,root)
42
+%doc README NEWS THANKS
43
+%license COPYING
44
+%{_bindir}/help2man
45
+%{_infodir}/*
46
+%{_mandir}/man1/*
47
+
48
+%changelog
49
+* Fri Dec 10 2021 Shreenidhi Shedi <sshedi@vmware.com> 1.48.5-1
50
+- Intial version. Needed for rpm-4.17.0
... ...
@@ -1,17 +1,20 @@
1 1
 Summary:        Basic and advanced IPV4-based networking
2 2
 Name:           iproute2
3 3
 Version:        5.12.0
4
-Release:        2%{?dist}
4
+Release:        3%{?dist}
5 5
 License:        GPLv2+
6 6
 URL:            http://www.kernel.org/pub/linux/utils/net/iproute2
7 7
 Group:          Applications/System
8 8
 Vendor:         VMware, Inc.
9 9
 Distribution:   Photon
10
+
10 11
 Source0:        http://www.kernel.org/pub/linux/utils/net/iproute2/%{name}-%{version}.tar.xz
11
-%define sha1    iproute2=4e18c1d72a29f41a5968ac8a9b266470f6ad89a7
12
-Provides:       iproute
12
+%define sha512  %{name}=9249beb67b30ceef178b60b2b61a5e6c45277e747ae4c865e739b7ab84192549e8e94ebaee43c0a87c0291037746ffb6936346245220786e369201ee13d60fac
13
+
13 14
 Patch0:         replace_killall_by_pkill.patch
14 15
 
16
+Provides:       iproute
17
+
15 18
 %description
16 19
 The IPRoute2 package contains programs for basic and advanced
17 20
 IPV4-based networking.
... ...
@@ -32,32 +35,34 @@ sed -i 's/arpd.8//' man/man8/Makefile
32 32
 sed -i 's/m_ipt.o//' tc/Makefile
33 33
 
34 34
 %build
35
-make CC=%{_host}-gcc VERBOSE=1 %{?_smp_mflags} DESTDIR= LIBDIR=%{_libdir}
35
+%configure
36
+%make_build %{?_smp_mflags}
36 37
 
37 38
 %install
38
-make    DESTDIR=%{buildroot} \
39
-    MANDIR=%{_mandir} \
40
-    LIBDIR=%{_libdir} \
41
-    DOCDIR=%{_defaultdocdir}/%{name}-%{version} install
39
+export SBINDIR='%{_sbindir}'
40
+export LIBDIR='%{_libdir}'
41
+%make_install %{?_smp_mflags}
42 42
 
43 43
 %check
44
+%if 0%{?with_check}
44 45
 cd testsuite
45 46
 # Fix linking issue in testsuite
46 47
 sed -i 's/<libnetlink.h>/\"..\/..\/include\/libnetlink.h\"/g' tools/generate_nlmsg.c
47 48
 sed -i 's/\"libnetlink.h\"/"..\/include\/libnetlink.h\"/g' ../lib/libnetlink.c
48 49
 cd tools
49
-make
50
+make %{?_smp_mflags}
50 51
 cd ..
51
-make
52
-make alltests
52
+make %{?_smp_mflags}
53
+make alltests %{?_smp_mflags}
53 54
 cd ..
55
+%endif
54 56
 
55 57
 %ldconfig_scriptlets
56 58
 
57 59
 %files
58 60
 %defattr(-,root,root)
59 61
 %{_sysconfdir}/%{name}/*
60
-/sbin/*
62
+%{_sbindir}/*
61 63
 %{_libdir}/tc/*
62 64
 %{_mandir}/man7/*
63 65
 %{_mandir}/man8/*
... ...
@@ -70,7 +75,9 @@ cd ..
70 70
 %{_mandir}/man3/*
71 71
 
72 72
 %changelog
73
-* Mon Aug 02 2021 Susant Sahani <ssahani@vmware.com> 5.12.0-1
73
+* Sat Feb 12 2022 Shreenidhi Shedi <sshedi@vmware.com> 5.12.0-3
74
+- Drop libdb support
75
+* Mon Aug 02 2021 Susant Sahani <ssahani@vmware.com> 5.12.0-2
74 76
 - Use autosetup and ldconfig scriptlets
75 77
 * Mon May 03 2021 Gerrit Photon <photon-checkins@vmware.com> 5.12.0-1
76 78
 - Automatic Version Bump
... ...
@@ -7,8 +7,9 @@ Vendor:         VMware, Inc.
7 7
 Distribution:   Photon
8 8
 License:        GPL-2.1 OR BSD-2-Clause
9 9
 URL:            https://github.com/libbpf/libbpf
10
-Source:         libbpf-%{version}.tar.gz
11
-%define sha1    libbpf=ae84df3705c3d20464e4d257c2182680e4eb0afa
10
+
11
+Source0:        https://github.com/libbpf/libbpf/archive/refs/tags/libbpf-%{version}.tar.gz
12
+%define sha512  %{name}=5a8ca70c571fb306dd280f0526db48b78b13b57b4012f7bd3933d6e07d5e41e9370b2db6ed9bbc283c6dcbb21036810bf3093f462906b66557ce0d850c89083a
12 13
 
13 14
 BuildRequires:  elfutils-libelf-devel
14 15
 BuildRequires:  elfutils-devel
... ...
@@ -28,31 +29,31 @@ The libbpf-devel package contains libraries header files for
28 28
 developing applications that use libbpf.
29 29
 
30 30
 %prep
31
-%autosetup
31
+%autosetup -p1
32 32
 
33 33
 %build
34
-%make_build -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir}
34
+%make_build -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir} %{?_smp_mflags}
35 35
 
36 36
 %install
37
-%make_install -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir}
37
+%make_install -C ./src DESTDIR=%{buildroot} OBJDIR=%{_builddir} LIBDIR=%{_libdir} %{?_smp_mflags}
38 38
 
39 39
 %clean
40 40
 rm -rf %{buildroot}
41 41
 
42 42
 %files
43
-%attr(0755,-,-) %{_libdir}/libbpf.so.0.6.0
43
+%attr(0755,-,-) %{_libdir}/libbpf.so.*
44 44
 %{_libdir}/libbpf.so.0
45 45
 %{_libdir}/libbpf.so
46 46
 
47 47
 %files devel
48
-%attr(0644,-,-) /usr/include/bpf/*
48
+%attr(0644,-,-) %{_includedir}/bpf/*
49 49
 %attr(0644,-,-) %{_libdir}/libbpf.a
50 50
 %attr(0644,-,-) %{_libdir}/pkgconfig/libbpf.pc
51 51
 
52 52
 %changelog
53
-* Mon Feb 21 2022 Mukul Sikka <msikka@vmware.com>  0.6.1-2
53
+* Mon Feb 21 2022 Mukul Sikka <msikka@vmware.com> 0.6.1-2
54 54
 - Fix build error in aarch64 platform
55
-* Wed Jan 12 2022 Susant Sahani <ssahani@vmware.com>  0.6.1-1
55
+* Wed Jan 12 2022 Susant Sahani <ssahani@vmware.com> 0.6.1-1
56 56
 - Version Bump
57 57
 * Thu Apr 29 2021 Gerrit Photon <photon-checkins@vmware.com> 0.3-1
58 58
 - Automatic Version Bump
59 59
deleted file mode 100644
... ...
@@ -1,72 +0,0 @@
1
-Summary:	The Berkley DB database library for C
2
-Name:		libdb
3
-Version:	5.3.28
4
-Release:	2%{?dist}
5
-License:	BSD and LGPLv2 and Sleepycat
6
-URL:		https://oss.oracle.com/berkeley-db.html
7
-Source0:	http://download.oracle.com/berkeley-db/db-%{version}.tar.gz
8
-%define sha1 db=fa3f8a41ad5101f43d08bc0efb6241c9b6fc1ae9
9
-Group:		System/Libraries
10
-Vendor:		VMware, Inc.
11
-Distribution:	Photon
12
-Obsoletes:      db
13
-%description
14
-The Berkeley DB package contains libraries used by many other applications for database related functions.
15
-
16
-%package	devel
17
-Summary:	Header and development files
18
-Requires:	%{name} = %{version}
19
-Obsoletes:      db-devel
20
-%description	devel
21
-It contains the libraries and header files to create applications 
22
-
23
-%package        docs
24
-Summary:        DB docs
25
-Group:          Databases
26
-Obsoletes:      db-docs
27
-%description docs
28
-The package contains the DB doc files
29
-
30
-%prep
31
-%setup -q -n db-%{version}
32
-%build
33
-cd build_unix
34
-../dist/configure \
35
-	--host=%{_host} --build=%{_build} \
36
-	--prefix=%{_prefix} \
37
-	--enable-compat185 \
38
-	--enable-dbm       \
39
-	--disable-static
40
-make %{?_smp_mflags}
41
-%install
42
-pushd build_unix
43
-make DESTDIR=%{buildroot} docdir=%{_docdir}/%{name}-%{version} install
44
-popd
45
-find %{buildroot} -name '*.la' -delete
46
-install -v -d -m755 %{buildroot}/%{_datadir}/licenses/
47
-install -D -m755 LICENSE %{buildroot}/%{_datadir}/licenses/LICENSE
48
-install -D -m755 README %{buildroot}/%{_datadir}/licenses/README
49
-
50
-%clean
51
-rm -rf %{buildroot}
52
-
53
-%files
54
-%defattr(-,root,root)
55
-%exclude %{_bindir}/*
56
-%{_libdir}/*.so
57
-%{_datadir}/licenses/*
58
-
59
-%files docs
60
-%defattr(-,root,root)
61
-%{_docdir}/%{name}-%{version}/*
62
-
63
-%files devel
64
-%defattr(-,root,root)
65
-%exclude %{_includedir}/db_cxx.h
66
-%{_includedir}/*
67
-
68
-%changelog
69
-*   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 5.3.28-2
70
--   Aarch64 support
71
-*	Thu Oct 27 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.3.28-1
72
--	Initial build. First version
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A free package dependency solver
2 2
 Name:           libsolv
3
-Version:        0.7.19
4
-Release:        4%{?dist}
3
+Version:        0.7.20
4
+Release:        1%{?dist}
5 5
 License:        BSD
6 6
 URL:            https://github.com/openSUSE/libsolv
7 7
 Group:          Development/Tools
... ...
@@ -9,14 +9,12 @@ Vendor:         VMware, Inc.
9 9
 Distribution:   Photon
10 10
 
11 11
 Source0:        https://github.com/openSUSE/libsolv/archive/%{name}-%{version}.tar.gz
12
-%define sha512 %{name}=dfcebea314d549a15bf5af19db775ff1b1850bfc6fb147b68fe094e43bf1541fcfe22d2f6c6607a6393e01905a086cea606d0b25da2e3ce376d100c4ef4fee00
12
+%define sha512  %{name}=be810a78543509c60fe9be9310cc84b6c75e671b77929a1f914f51d4b3b2364e68398794d4648da46691cde7e5aab3cf57d18969c31f1003692080dc1982e955
13 13
 
14 14
 Requires:       rpm-libs >= 4.16.1.3
15
-Requires:       libdb
16 15
 Requires:       expat-libs
17 16
 Requires:       zlib
18 17
 
19
-BuildRequires:  libdb-devel
20 18
 BuildRequires:  cmake
21 19
 BuildRequires:  rpm-devel >= 4.16.1.3
22 20
 BuildRequires:  expat-devel
... ...
@@ -57,6 +55,7 @@ find %{buildroot} -name '*.la' -delete
57 57
 
58 58
 %if 0%{?with_check}
59 59
 %check
60
+cd %{__cmake_builddir}
60 61
 make %{?_smp_mflags} test
61 62
 %endif
62 63
 
... ...
@@ -77,6 +76,8 @@ make %{?_smp_mflags} test
77 77
 %{_mandir}/man3/*
78 78
 
79 79
 %changelog
80
+* Wed Jul 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.7.20-1
81
+- Upgrade to v0.7.20
80 82
 * Mon Jun 20 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.7.19-4
81 83
 - Use cmake macros for build
82 84
 * Wed Dec 1 2021 Oliver Kurth <okurth@vmware.com> 0.7.19-3
... ...
@@ -1,19 +1,23 @@
1 1
 Summary:        Libxslt
2 2
 Name:           libxslt
3 3
 Version:        1.1.35
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6
-URL:            http:/http://xmlsoft.org/libxslt/
6
+URL:            http://http://xmlsoft.org/libxslt
7 7
 Group:          System Environment/General Libraries
8 8
 Vendor:         VMware, Inc.
9 9
 Distribution:   Photon
10
+
10 11
 Source0:        https://download.gnome.org/sources/%{name}/1.1/%{name}-%{version}.tar.xz
11
-%define sha512  libxslt=9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
12
+%define sha512  %{name}=9dd4a699235f50ae9b75b25137e387471635b4b2da0a4e4380879cd49f1513470fcfbfd775269b066eac513a1ffa6860c77ec42747168e2348248f09f60c8c96
12 13
 
13 14
 Requires:       libxml2-devel
14 15
 Requires:       libgcrypt
16
+
15 17
 BuildRequires:  libxml2-devel
16 18
 BuildRequires:  libgcrypt-devel
19
+BuildRequires:  libgpg-error-devel
20
+
17 21
 %description
18 22
 The libxslt package contains XSLT libraries used for extending libxml2 libraries to support XSLT files.
19 23
 
... ...
@@ -33,20 +37,25 @@ sed -i 's/int xsltMaxDepth = 3000/int xsltMaxDepth = 5000/g' libxslt/transform.c
33 33
     $(test %{_host} != %{_build} && echo "--with-sysroot=/target-%{_arch}") \
34 34
     --disable-static \
35 35
     --without-python
36
-make %{?_smp_mflags}
36
+
37
+%make_build
38
+
37 39
 %install
38
-[ %{buildroot} != "/" ] && rm -rf %{buildroot}/*
39
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
40
+%make_install %{?_smp_mflags}
40 41
 find %{buildroot} -name '*.la' -delete
41 42
 %{_fixperms} %{buildroot}/*
42 43
 
44
+%if 0%{?with_check}
43 45
 %check
44 46
 make %{?_smp_mflags} check
47
+%endif
45 48
 
46
-%post   -p /sbin/ldconfig
49
+%post -p /sbin/ldconfig
47 50
 %postun -p /sbin/ldconfig
51
+
48 52
 %clean
49 53
 rm -rf %{buildroot}/*
54
+
50 55
 %files
51 56
 %defattr(-,root,root)
52 57
 %{_libdir}/*.so.*
... ...
@@ -67,39 +76,41 @@ rm -rf %{buildroot}/*
67 67
 %{_datadir}/gtk-doc/*
68 68
 
69 69
 %changelog
70
-*   Mon Jun 20 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 1.1.35-1
71
--  Update to version 1.1.35
72
-*   Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 1.1.34-4
73
--   Release bump up to use libxml2 2.9.12-1.
74
-*   Fri Feb 19 2021 Shreyas B. <shreyasb@vmware.com> 1.1.34-3
75
--   Increase the maximum number of nested template calls for xml.
76
-*   Fri Dec 18 2020 Shreenidhi Shedi <sshedi@vmware.com> 1.1.34-2
77
--   Fix build with new rpm
78
-*   Wed Jul 08 2020 Gerrit Photon <photon-checkins@vmware.com> 1.1.34-1
79
--   Automatic Version Bump
80
-*   Tue Dec 17 2019 Shreyas B. <shreyasb@vmware.com> 1.1.32-3
81
--   Apply patch for CVE-2019-5815: READ heap-buffer-overflow in libxslt.
82
--   Apply patch for CVE-2019-18197
83
--   Apply patch for CVE-2019-13118
84
--   Apply patch for CVE-2019-13117
85
--   Apply patch for CVE-2019-11068
86
-*   Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.32-2
87
--   Cross compilation support
88
-*   Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.32-1
89
--   Update to version 1.1.32.
90
-*   Tue Jul 11 2017 Divya Thaluru <dthaluru@vmware.com> 1.1.29-4
91
--   Applied patches for CVE-2015-9019 and CVE-2017-5029.
92
-*   Tue May 23 2017 Kumar Kaushik <kaushikk@vmware.com> 1.1.29-3
93
--   Build does not requires python.
94
-*   Wed Dec 07 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.29-2
95
--   Moved man3 to devel subpackage.
96
-*   Fri Oct 21 2016 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.29-1
97
--   Fix CVEs 2016-1683, 2016-1684, 2015-7995 with version 1.1.29
98
-*   Mon Oct 03 2016 Chang Lee <changlee@vmware.com> 1.1.28-4
99
--   Modified check
100
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.28-3
101
--   GA - Bump release of all rpms
102
-*   Tue Jan 19 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.28-2
103
--   Add a dev subpackage.
104
-*   Mon Oct 13 2014 Divya Thaluru <dthaluru@vmware.com> 1.1.28-1
105
--   Initial build.  First version
70
+* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.1.35-2
71
+- Add libgpg-error-devel to BuildRequires
72
+* Mon Jun 20 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 1.1.35-1
73
+- Update to version 1.1.35
74
+* Wed Nov 17 2021 Nitesh Kumar <kunitesh@vmware.com> 1.1.34-4
75
+- Release bump up to use libxml2 2.9.12-1.
76
+* Fri Feb 19 2021 Shreyas B. <shreyasb@vmware.com> 1.1.34-3
77
+- Increase the maximum number of nested template calls for xml.
78
+* Fri Dec 18 2020 Shreenidhi Shedi <sshedi@vmware.com> 1.1.34-2
79
+- Fix build with new rpm
80
+* Wed Jul 08 2020 Gerrit Photon <photon-checkins@vmware.com> 1.1.34-1
81
+- Automatic Version Bump
82
+* Tue Dec 17 2019 Shreyas B. <shreyasb@vmware.com> 1.1.32-3
83
+- Apply patch for CVE-2019-5815: READ heap-buffer-overflow in libxslt.
84
+- Apply patch for CVE-2019-18197
85
+- Apply patch for CVE-2019-13118
86
+- Apply patch for CVE-2019-13117
87
+- Apply patch for CVE-2019-11068
88
+* Thu Nov 15 2018 Alexey Makhalov <amakhalov@vmware.com> 1.1.32-2
89
+- Cross compilation support
90
+* Wed Sep 12 2018 Keerthana K <keerthanak@vmware.com> 1.1.32-1
91
+- Update to version 1.1.32.
92
+* Tue Jul 11 2017 Divya Thaluru <dthaluru@vmware.com> 1.1.29-4
93
+- Applied patches for CVE-2015-9019 and CVE-2017-5029.
94
+* Tue May 23 2017 Kumar Kaushik <kaushikk@vmware.com> 1.1.29-3
95
+- Build does not requires python.
96
+* Wed Dec 07 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.29-2
97
+- Moved man3 to devel subpackage.
98
+* Fri Oct 21 2016 Vinay Kulkarni <kulkarniv@vmware.com> 1.1.29-1
99
+- Fix CVEs 2016-1683, 2016-1684, 2015-7995 with version 1.1.29
100
+* Mon Oct 03 2016 Chang Lee <changlee@vmware.com> 1.1.28-4
101
+- Modified check
102
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 1.1.28-3
103
+- GA - Bump release of all rpms
104
+* Tue Jan 19 2016 Xiaolin Li <xiaolinl@vmware.com> 1.1.28-2
105
+- Add a dev subpackage.
106
+* Mon Oct 13 2014 Divya Thaluru <dthaluru@vmware.com> 1.1.28-1
107
+- Initial build.  First version
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Open Source Security Compliance Solution
2 2
 Name:           openscap
3 3
 Version:        1.3.6
4
-Release:        4%{?dist}
4
+Release:        5%{?dist}
5 5
 License:        GPL2+
6 6
 URL:            https://www.open-scap.org
7 7
 Group:          System Environment/Libraries
... ...
@@ -111,6 +111,8 @@ ctest -V %{?_smp_mflags}
111 111
 %{_libdir}/python3.9/*
112 112
 
113 113
 %changelog
114
+* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-5
115
+- Bump version as a part of rpm upgrade
114 116
 * Wed Jun 22 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-4
115 117
 - Exclude debug symbols properly
116 118
 * Fri Jun 17 2022 Shreenidhi Shedi <sshedi@vmware.com> 1.3.6-3
117 119
new file mode 100644
... ...
@@ -0,0 +1,58 @@
0
+%global debug_package %{nil}
1
+
2
+Summary:        Conversion between markup formats
3
+Name:           pandoc-bin
4
+Version:        2.17.1.1
5
+Release:        1%{?dist}
6
+License:        GPLv2+
7
+URL:            https://github.com/jgm/pandoc
8
+Group:          Development/Tools
9
+Vendor:         VMware, Inc.
10
+Distribution:   Photon
11
+
12
+# To package the source:
13
+# -> Goto https://github.com/jgm/pandoc/releases/
14
+# -> Get the desired version tar archives for amd64 & aarch64
15
+# -> Unpack them and put them in a single tar archive
16
+# Example: for v2.17.1.1
17
+# mkdir -p pandoc-2.17.1.1 && cd pandoc-2.17.1.1
18
+# Download amd64 & aarch64 tar archives
19
+# tar xf pandoc-2.17.1.1-linux-arm64.tar.gz && mv pandoc-2.17.1.1 aarch64
20
+# tar xf pandoc-2.17.1.1-linux-amd64.tar.gz && mv pandoc-2.17.1.1 amd64
21
+# cd .. && tar cJf pandoc-2.17.1.1.tar.xz pandoc-2.17.1.1
22
+Source0:        pandoc-%{version}.tar.xz
23
+%define sha512  pandoc=e27e93138c3b6258a4849df23d8c0c6439e8efd26166922300ff5401f5bf68d481e6bba452c51ca24c8dbbce5894c23bde9aeef9db571078454e8caf07d3becc
24
+
25
+%description
26
+Pandoc - executable only, without Haskell depends/makedepends
27
+
28
+%package devel
29
+Summary: Pandoc man pages
30
+
31
+%description    devel
32
+Contains Pandoc man pages
33
+
34
+%prep
35
+
36
+%autosetup -p1 -n pandoc-%{version}
37
+
38
+%build
39
+
40
+%install
41
+mkdir -p %{buildroot}%{_mandir} %{buildroot}%{_bindir}
42
+pushd "%{_arch}"
43
+mv share/man/* %{buildroot}%{_mandir}
44
+mv bin/pandoc %{buildroot}%{_bindir}
45
+popd
46
+
47
+%files
48
+%defattr(-,root,root)
49
+%{_bindir}/pandoc
50
+
51
+%files devel
52
+%defattr(-,root,root)
53
+%{_mandir}/*
54
+
55
+%changelog
56
+* Sun Dec 26 2021 Shreenidhi Shedi <sshedi@vmware.com> 2.17.1.1-1
57
+- Initial version, needed for rpm-4.17.0
0 58
new file mode 100644
... ...
@@ -0,0 +1,37 @@
0
+From 6fd680c293747ff085b00f971f2fbf037c6c3a1f Mon Sep 17 00:00:00 2001
1
+From: Shreenidhi Shedi <sshedi@vmware.com>
2
+Date: Wed, 9 Feb 2022 23:35:52 +0530
3
+Subject: [PATCH] Remove libdb support
4
+
5
+Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
6
+---
7
+ Configure | 13 +++++++------
8
+ 1 file changed, 7 insertions(+), 6 deletions(-)
9
+
10
+diff --git a/Configure b/Configure
11
+index 684a9c0..9599af2 100755
12
+--- a/Configure
13
+@@ -20147,12 +20147,13 @@ int main(int argc, char *argv[])
14
+ EOCP
15
+ 	set try
16
+ 	if eval $compile_ok && $run ./try; then
17
+-		echo 'Looks OK.' >&4
18
+-		set `$run ./try 1`
19
+-		db_version_major=$1
20
+-		db_version_minor=$2
21
+-		db_version_patch=$3
22
+-	else
23
++    if false; then
24
++      echo 'Looks OK.' >&4
25
++      set `$run ./try 1`
26
++      db_version_major=$1
27
++      db_version_minor=$2
28
++      db_version_patch=$3
29
++    fi
30
+ 		echo "I can't use Berkeley DB with your <db.h>.  I'll disable Berkeley DB." >&4
31
+ 		i_db=$undef
32
+ 		case " $libs " in
33
+-- 
34
+2.25.1
35
+
0 36
deleted file mode 100644
... ...
@@ -1,24 +0,0 @@
1
-From 96c83ed78aeea1a0496dd2b2d935869a822dc8a5 Mon Sep 17 00:00:00 2001
2
-From: Karl Williamson <khw@cpan.org>
3
-Date: Wed, 21 Jun 2017 11:33:37 -0600
4
-Subject: [PATCH] regcomp [perl #131582]
5
-
6
- regcomp.c | 1 +
7
- 1 file changed, 1 insertion(+)
8
-
9
-diff --git a/regcomp.c b/regcomp.c
10
-index 800b8cdc5e..a489cdecf7 100644
11
-+++ b/regcomp.c
12
-@@ -13318,6 +13318,7 @@ S_regatom(pTHX_ RExC_state_t *pRExC_state, I32 *flagp, U32 depth)
13
-                             goto loopdone;
14
-                         }
15
-                         p = RExC_parse;
16
-+                        RExC_parse = parse_start;
17
-                         if (ender > 0xff) {
18
-                             REQUIRE_UTF8(flagp);
19
-                         }
20
-2.14.2-920-gcf0c679
21
-
22 1
deleted file mode 100644
... ...
@@ -1,24 +0,0 @@
1
-diff -dupr a/regcomp.c b/regcomp.c
2
-+++ b/regcomp.c	2017-10-03 13:05:27.589719134 -0700
3
-@@ -11918,16 +11918,17 @@ S_grok_bslash_N(pTHX_ RExC_state_t *pREx
4
- 	}
5
-         sv_catpv(substitute_parse, ")");
6
- 
7
--        RExC_parse = RExC_start = RExC_adjusted_start = SvPV(substitute_parse,
8
--                                                             len);
9
-+        len = SvCUR(substitute_parse);
10
- 
11
- 	/* Don't allow empty number */
12
- 	if (len < (STRLEN) 8) {
13
-             RExC_parse = endbrace;
14
- 	    vFAIL("Invalid hexadecimal number in \\N{U+...}");
15
- 	}
16
--	RExC_end = RExC_parse + len;
17
- 
18
-+        RExC_parse = RExC_start = RExC_adjusted_start
19
-+                                              = SvPV_nolen(substitute_parse);
20
-+        RExC_end = RExC_parse + len;
21
-         /* The values are Unicode, and therefore not subject to recoding, but
22
-          * have to be converted to native on a non-Unicode (meaning non-ASCII)
23
-          * platform. */
24 1
deleted file mode 100644
... ...
@@ -1,345 +0,0 @@
1
-From cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab Mon Sep 17 00:00:00 2001
2
-From: Tony Cook <tony@develop-help.com>
3
-Date: Tue, 21 Jun 2016 10:02:02 +1000
4
-Subject: [PATCH] (perl #127834) remove . from the end of @INC if complex
5
- modules are loaded
6
-
7
-While currently Encode and Storable are know to attempt to load modules
8
-not included in the core, updates to other modules may lead to those
9
-also attempting to load new modules, so be safe and remove . for those
10
-as well.
11
- cpan/Archive-Tar/bin/ptar                 | 1 +
12
- cpan/Archive-Tar/bin/ptardiff             | 1 +
13
- cpan/Archive-Tar/bin/ptargrep             | 1 +
14
- cpan/CPAN/scripts/cpan                    | 1 +
15
- cpan/Digest-SHA/shasum                    | 1 +
16
- cpan/Encode/bin/enc2xs                    | 1 +
17
- cpan/Encode/bin/encguess                  | 1 +
18
- cpan/Encode/bin/piconv                    | 1 +
19
- cpan/Encode/bin/ucmlint                   | 1 +
20
- cpan/Encode/bin/unidump                   | 1 +
21
- cpan/ExtUtils-MakeMaker/bin/instmodsh     | 1 +
22
- cpan/IO-Compress/bin/zipdetails           | 1 +
23
- cpan/JSON-PP/bin/json_pp                  | 1 +
24
- cpan/Test-Harness/bin/prove               | 1 +
25
- dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp | 1 +
26
- dist/Module-CoreList/corelist             | 1 +
27
- ext/Pod-Html/bin/pod2html                 | 1 +
28
- utils/c2ph.PL                             | 1 +
29
- utils/h2ph.PL                             | 2 ++
30
- utils/h2xs.PL                             | 2 ++
31
- utils/libnetcfg.PL                        | 1 +
32
- utils/perlbug.PL                          | 1 +
33
- utils/perldoc.PL                          | 5 ++++-
34
- utils/perlivp.PL                          | 2 ++
35
- utils/splain.PL                           | 6 ++++++
36
- 25 files changed, 36 insertions(+), 1 deletion(-)
37
-
38
-diff --git a/cpan/Archive-Tar/bin/ptar b/cpan/Archive-Tar/bin/ptar
39
-index 0eaffa7..9dc6402 100644
40
-+++ b/cpan/Archive-Tar/bin/ptar
41
-@@ -1,6 +1,7 @@
42
- #!/usr/bin/perl
43
- use strict;
44
- 
45
-+BEGIN { pop @INC if $INC[-1] eq '.' }
46
- use File::Find;
47
- use Getopt::Std;
48
- use Archive::Tar;
49
-diff --git a/cpan/Archive-Tar/bin/ptardiff b/cpan/Archive-Tar/bin/ptardiff
50
-index 66bd859..4668fa6 100644
51
-+++ b/cpan/Archive-Tar/bin/ptardiff
52
-@@ -1,5 +1,6 @@
53
- #!/usr/bin/perl
54
- 
55
-+BEGIN { pop @INC if $INC[-1] eq '.' }
56
- use strict;
57
- use Archive::Tar;
58
- use Getopt::Std;
59
-diff --git a/cpan/Archive-Tar/bin/ptargrep b/cpan/Archive-Tar/bin/ptargrep
60
-index 1a320f1..8dc6b4f 100644
61
-+++ b/cpan/Archive-Tar/bin/ptargrep
62
-@@ -4,6 +4,7 @@
63
- # archive.  See 'ptargrep --help' for more documentation.
64
- #
65
- 
66
-+BEGIN { pop @INC if $INC[-1] eq '.' }
67
- use strict;
68
- use warnings;
69
- 
70
-diff --git a/cpan/CPAN/scripts/cpan b/cpan/CPAN/scripts/cpan
71
-index 5555090..cceab30 100644
72
-+++ b/cpan/CPAN/scripts/cpan
73
-@@ -1,5 +1,6 @@
74
- #!/usr/local/bin/perl
75
- 
76
-+BEGIN { pop @INC if $INC[-1] eq '.' }
77
- use strict;
78
- use vars qw($VERSION);
79
- 
80
-diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum
81
-index 14ddd60..62a2b0e 100644
82
-+++ b/cpan/Digest-SHA/shasum
83
-@@ -13,6 +13,7 @@
84
- 	## "-0" option for reading bit strings, and
85
- 	## "-p" option for portable digests (to be deprecated).
86
- 
87
-+BEGIN { pop @INC if $INC[-1] eq '.' }
88
- use strict;
89
- use warnings;
90
- use Fcntl;
91
-diff --git a/cpan/Encode/bin/enc2xs b/cpan/Encode/bin/enc2xs
92
-index ec4732c..f8d9f52 100644
93
-+++ b/cpan/Encode/bin/enc2xs
94
-@@ -4,6 +4,7 @@ BEGIN {
95
-     # with $ENV{PERL_CORE} set
96
-     # In case we need it in future...
97
-     require Config; import Config;
98
-+    pop @INC if $INC[-1] eq '.';
99
- }
100
- use strict;
101
- use warnings;
102
-diff --git a/cpan/Encode/bin/encguess b/cpan/Encode/bin/encguess
103
-index 5d7ac80..0be5c7c 100644
104
-+++ b/cpan/Encode/bin/encguess
105
-@@ -1,5 +1,6 @@
106
- #!./perl
107
- use 5.008001;
108
-+BEGIN { pop @INC if $INC[-1] eq '.' }
109
- use strict;
110
- use warnings;
111
- use Encode;
112
-diff --git a/cpan/Encode/bin/piconv b/cpan/Encode/bin/piconv
113
-index c1dad9e..60b2a59 100644
114
-+++ b/cpan/Encode/bin/piconv
115
-@@ -1,6 +1,7 @@
116
- #!./perl
117
- # $Id: piconv,v 2.7 2014/05/31 09:48:48 dankogai Exp $
118
- #
119
-+BEGIN { pop @INC if $INC[-1] eq '.' }
120
- use 5.8.0;
121
- use strict;
122
- use Encode ;
123
-diff --git a/cpan/Encode/bin/ucmlint b/cpan/Encode/bin/ucmlint
124
-index 622376d..25e0d67 100644
125
-+++ b/cpan/Encode/bin/ucmlint
126
-@@ -3,6 +3,7 @@
127
- # $Id: ucmlint,v 2.2 2008/03/12 09:51:11 dankogai Exp $
128
- #
129
- 
130
-+BEGIN { pop @INC if $INC[-1] eq '.' }
131
- use strict;
132
- our  $VERSION = do { my @r = (q$Revision: 2.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r };
133
- 
134
-diff --git a/cpan/Encode/bin/unidump b/cpan/Encode/bin/unidump
135
-index ae0da30..f190827 100644
136
-+++ b/cpan/Encode/bin/unidump
137
-@@ -1,5 +1,6 @@
138
- #!./perl
139
- 
140
-+BEGIN { pop @INC if $INC[-1] eq '.' }
141
- use strict;
142
- use Encode;
143
- use Getopt::Std;
144
-diff --git a/cpan/ExtUtils-MakeMaker/bin/instmodsh b/cpan/ExtUtils-MakeMaker/bin/instmodsh
145
-index 8b9aa95..ab0f9d1 100644
146
-+++ b/cpan/ExtUtils-MakeMaker/bin/instmodsh
147
-@@ -1,5 +1,6 @@
148
- #!/usr/bin/perl -w
149
- 
150
-+BEGIN { pop @INC if $INC[-1] eq '.' }
151
- use strict;
152
- use IO::File;
153
- use ExtUtils::Packlist;
154
-diff --git a/cpan/IO-Compress/bin/zipdetails b/cpan/IO-Compress/bin/zipdetails
155
-index 0249850..1b9c70a 100644
156
-+++ b/cpan/IO-Compress/bin/zipdetails
157
-@@ -5,6 +5,7 @@
158
- # Display info on the contents of a Zip file
159
- #
160
- 
161
-+BEGIN { pop @INC if $INC[-1] eq '.' }
162
- use strict;
163
- use warnings ;
164
- 
165
-diff --git a/cpan/JSON-PP/bin/json_pp b/cpan/JSON-PP/bin/json_pp
166
-index 3362dec..39bed4d 100644
167
-+++ b/cpan/JSON-PP/bin/json_pp
168
-@@ -1,5 +1,6 @@
169
- #!/usr/bin/perl
170
- 
171
-+BEGIN { pop @INC if $INC[-1] eq '.' }
172
- use strict;
173
- use Getopt::Long;
174
- 
175
-diff --git a/cpan/Test-Harness/bin/prove b/cpan/Test-Harness/bin/prove
176
-index 6637cc4..d71b238 100644
177
-+++ b/cpan/Test-Harness/bin/prove
178
-@@ -1,5 +1,6 @@
179
- #!/usr/bin/perl -w
180
- 
181
-+BEGIN { pop @INC if $INC[-1] eq '.' }
182
- use strict;
183
- use warnings;
184
- use App::Prove;
185
-diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
186
-index e2ac71a..d596cdf 100644
187
-+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/xsubpp
188
-@@ -1,5 +1,6 @@
189
- #!perl
190
- use 5.006;
191
-+BEGIN { pop @INC if $INC[-1] eq '.' }
192
- use strict;
193
- eval {
194
-   require ExtUtils::ParseXS;
195
-diff --git a/dist/Module-CoreList/corelist b/dist/Module-CoreList/corelist
196
-index aa4a945..bbe61cc 100644
197
-+++ b/dist/Module-CoreList/corelist
198
-@@ -130,6 +130,7 @@ requested perl versions.
199
- 
200
- =cut
201
- 
202
-+BEGIN { pop @INC if $INC[-1] eq '.' }
203
- use Module::CoreList;
204
- use Getopt::Long qw(:config no_ignore_case);
205
- use Pod::Usage;
206
-diff --git a/ext/Pod-Html/bin/pod2html b/ext/Pod-Html/bin/pod2html
207
-index b022859..7d1d232 100644
208
-+++ b/ext/Pod-Html/bin/pod2html
209
-@@ -216,6 +216,7 @@ This program is distributed under the Artistic License.
210
- 
211
- =cut
212
- 
213
-+BEGIN { pop @INC if $INC[-1] eq '.' }
214
- use Pod::Html;
215
- 
216
- pod2html @ARGV;
217
-diff --git a/utils/c2ph.PL b/utils/c2ph.PL
218
-index 466223c..ea87a6f 100644
219
-+++ b/utils/c2ph.PL
220
-@@ -280,6 +280,7 @@ Anyway, here it is.  Should run on perl v4 or greater.  Maybe less.
221
- 
222
- $RCSID = '$Id: c2ph,v 1.7 95/10/28 10:41:47 tchrist Exp Locker: tchrist $';
223
- 
224
-+BEGIN { pop @INC if $INC[-1] eq '.' }
225
- use File::Temp;
226
- 
227
- ######################################################################
228
-diff --git a/utils/h2ph.PL b/utils/h2ph.PL
229
-index d082f22..2523c0a 100644
230
-+++ b/utils/h2ph.PL
231
-@@ -36,6 +36,8 @@ $Config{startperl}
232
- 
233
- print OUT <<'!NO!SUBS!';
234
- 
235
-+BEGIN { pop @INC if $INC[-1] eq '.' }
236
-+
237
- use strict;
238
- 
239
- use Config;
240
-diff --git a/utils/h2xs.PL b/utils/h2xs.PL
241
-index 4cb0943..8fda87b 100644
242
-+++ b/utils/h2xs.PL
243
-@@ -35,6 +35,8 @@ $Config{startperl}
244
- 
245
- print OUT <<'!NO!SUBS!';
246
- 
247
-+BEGIN { pop @INC if $INC[-1] eq '.' }
248
-+
249
- use warnings;
250
- 
251
- =head1 NAME
252
-diff --git a/utils/libnetcfg.PL b/utils/libnetcfg.PL
253
-index 59a2de8..26d2f99 100644
254
-+++ b/utils/libnetcfg.PL
255
-@@ -97,6 +97,7 @@ Jarkko Hietaniemi, conversion into libnetcfg for inclusion into Perl 5.8.
256
- 
257
- # $Id: Configure,v 1.8 1997/03/04 09:22:32 gbarr Exp $
258
- 
259
-+BEGIN { pop @INC if $INC[-1] eq '.' }
260
- use strict;
261
- use IO::File;
262
- use Getopt::Std;
263
-diff --git a/utils/perlbug.PL b/utils/perlbug.PL
264
-index 720cf12..b0b2c12 100644
265
-+++ b/utils/perlbug.PL
266
-@@ -57,6 +57,7 @@ print OUT <<'!NO!SUBS!';
267
- my @patches = Config::local_patches();
268
- my $patch_tags = join "", map /(\S+)/ ? "+$1 " : (), @patches;
269
- 
270
-+BEGIN { pop @INC if $INC[-1] eq '.' }
271
- use warnings;
272
- use strict;
273
- use Config;
274
-diff --git a/utils/perldoc.PL b/utils/perldoc.PL
275
-index e201de9..cd60bd4 100644
276
-+++ b/utils/perldoc.PL
277
-@@ -44,7 +44,10 @@ $Config{startperl}
278
- # This "$file" file was generated by "$0"
279
- 
280
- require 5;
281
--BEGIN { \$^W = 1 if \$ENV{'PERLDOCDEBUG'} }
282
-+BEGIN {
283
-+    \$^W = 1 if \$ENV{'PERLDOCDEBUG'};
284
-+    pop \@INC if \$INC[-1] eq '.';
285
-+}
286
- use Pod::Perldoc;
287
- exit( Pod::Perldoc->run() );
288
- 
289
-diff --git a/utils/perlivp.PL b/utils/perlivp.PL
290
-index c2f0a11..e522913 100644
291
-+++ b/utils/perlivp.PL
292
-@@ -39,6 +39,8 @@ print OUT "\n# perlivp $^V\n";
293
- 
294
- print OUT <<'!NO!SUBS!';
295
- 
296
-+BEGIN { pop @INC if $INC[-1] eq '.' }
297
-+
298
- sub usage {
299
-     warn "@_\n" if @_;
300
-     print << "    EOUSAGE";
301
-diff --git a/utils/splain.PL b/utils/splain.PL
302
-index 9c70b61..cae84a0 100644
303
-+++ b/utils/splain.PL
304
-@@ -38,6 +38,12 @@ $Config{startperl}
305
- 	if \$running_under_some_shell;
306
- !GROK!THIS!
307
- 
308
-+print <<'!NO!SUBS!';
309
-+
310
-+BEGIN { pop @INC if $INC[-1] eq '.' }
311
-+
312
-+!NO!SUBS!
313
-+
314
- while (<IN>) {
315
-     print OUT unless /^package diagnostics/;
316
- }
317
-2.10.0-rc1-260-gbdd1a2a
318
-
... ...
@@ -9,47 +9,59 @@
9 9
 Summary:        Practical Extraction and Report Language
10 10
 Name:           perl
11 11
 Version:        5.30.1
12
-Release:        3%{?dist}
12
+Release:        4%{?dist}
13 13
 License:        GPLv1+
14 14
 URL:            http://www.perl.org/
15 15
 Group:          Development/Languages
16 16
 Vendor:         VMware, Inc.
17 17
 Distribution:   Photon
18
+
18 19
 Source0:        http://www.cpan.org/src/5.0/%{name}-%{version}.tar.xz
19
-%define sha1    perl=4bc190b6ac368f573e6a028f91430f831d40d30a
20
-%if %{with_check}
20
+%define sha512  %{name}=8f3339efdcd1bb58fa58a90042181bef86bb09e4598c737e446ed43b56d2ab23d67eced5e36fb08fc61e076acfdb572a12e46a1277f5299a3f412054df0b88bf
21
+
22
+%if 0%{?with_check}
21 23
 Patch0:         make-check-failure.patch
22 24
 Patch1:         make-check-failure2.patch
23 25
 %endif
26
+
24 27
 Patch2:         CVE-2020-10878-1.patch
25 28
 Patch3:         CVE-2020-10878-2.patch
26 29
 Patch4:         CVE-2020-12723.patch
27
-Source1:	https://github.com/arsv/perl-cross/releases/download/1.2/perl-cross-1.2.tar.gz
28
-%define sha1	perl-cross=ded421469e0295ae6dde40e0cbcb2238b4e724e3
30
+Patch5:         0001-Remove-libdb-support.patch
31
+
32
+Source1:    https://github.com/arsv/perl-cross/releases/download/1.2/perl-cross-1.2.tar.gz
33
+%define sha512  perl-cross=81d86d0ad1dab55da9debcdf705f4937e36f4b3b3c3ce93e7d6eeef4a3b1e1d9498b3db5e2b6abf92525e6767d639da7587d95136c46e50808386767ee7e5b13
34
+
29 35
 Provides:       perl >= 0:5.003000
30 36
 Provides:       perl(getopts.pl)
31 37
 Provides:       perl(s)
32 38
 Provides:       /bin/perl
39
+
33 40
 BuildRequires:  zlib-devel
34 41
 BuildRequires:  bzip2-devel
35 42
 BuildRequires:  gdbm-devel
43
+
36 44
 Requires:       zlib
37 45
 Requires:       gdbm
38 46
 Requires:       glibc
39 47
 Requires:       libgcc
48
+
40 49
 %description
41 50
 The Perl package contains the Practical Extraction and
42 51
 Report Language.
52
+
43 53
 %prep
54
+# Using autosetup is not feasible
44 55
 %setup -q
45 56
 sed -i 's/-fstack-protector/&-all/' Configure
46
-%if %{with_check}
57
+%if 0%{?with_check}
47 58
 %patch0 -p1
48 59
 %patch1 -p1
49 60
 %endif
50 61
 %patch2 -p1
51 62
 %patch3 -p1
52 63
 %patch4 -p1
64
+%patch5 -p1
53 65
 
54 66
 %build
55 67
 export BUILD_ZLIB=False
... ...
@@ -64,7 +76,6 @@ sh ./configure \
64 64
     --target=%{_host} \
65 65
     --prefix=%{_prefix} \
66 66
     -Dpager=%{_bindir}"/less -isR" \
67
-    -Duseshrplib \
68 67
     -Dusethreads
69 68
 else
70 69
 sh Configure -des \
... ...
@@ -78,17 +89,21 @@ sh Configure -des \
78 78
 fi
79 79
 
80 80
 make VERBOSE=1 %{?_smp_mflags}
81
+
81 82
 %install
82
-make DESTDIR=%{buildroot} install
83
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
83 84
 unset BUILD_ZLIB BUILD_BZIP2
85
+
84 86
 %check
85 87
 sed -i '/02zlib.t/d' MANIFEST
86 88
 sed -i '/cz-03zlib-v1.t/d' MANIFEST
87 89
 sed -i '/cz-06gzsetp.t/d' MANIFEST
88 90
 sed -i '/porting\/podcheck.t/d' MANIFEST
89
-make test TEST_SKIP_VERSION_CHECK=1
91
+make test TEST_SKIP_VERSION_CHECK=1 %{?_smp_mflags}
92
+
90 93
 %post   -p /sbin/ldconfig
91 94
 %postun -p /sbin/ldconfig
95
+
92 96
 %files
93 97
 %defattr(-,root,root)
94 98
 %{_bindir}/*
... ...
@@ -98,42 +113,44 @@ make test TEST_SKIP_VERSION_CHECK=1
98 98
 %{_mandir}/*/*
99 99
 
100 100
 %changelog
101
-*   Wed Feb 10 2021 Alexey Makhalov <amakhalov@vmware.com> 5.30.1-3
102
--   Fix compilation issue with gcc-10.2.0 for aarch64
103
-*   Mon Nov 02 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.30.1-2
104
--   Fix CVE-2020-10878 CVE-2020-12723
105
-*   Thu Aug 20 2020 Gerrit Photon <photon-checkins@vmware.com> 5.30.1-1
106
--   Upgraded to version 5.30.1
107
-*   Tue Feb 25 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-5
108
--   Added a patch to fix make check
109
-*   Thu Oct 31 2019 Alexey Makhalov <amakhalov@vmware.com> 5.28.0-4
110
--   Cross compilation support
111
-*   Tue Oct 22 2019 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-3
112
--   Fix for make check failure added a patch
113
-*   Wed Oct 24 2018 Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> 5.28.0-2
114
--   Add provides perl(s)
115
-*   Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 5.28.0-1
116
--   Upgrade to version 5.28.0
117
-*   Tue Oct 03 2017 Dheeraj Shetty <dheerajs@vmware.com> 5.24.1-4
118
--   CVE-2017-12837 and CVE-2017-12883 patch from
119
--   https://perl5.git.perl.org/perl.git/commitdiff/2be4edede4ae226e2eebd4eff28cedd2041f300f#patch1
120
-*   Wed Jul 05 2017 Xiaolin Li <xiaolinl@vmware.com> 5.24.1-3
121
--   Rebuild perl after adding gdbm-devel package.
122
-*   Thu Jun 15 2017 Chang Lee <changlee@vmware.com> 5.24.1-2
123
--   Updated %check
124
-*   Mon Apr 3 2017 Robert Qi <qij@vmware.com> 5.24.1-1
125
--   Update to 5.24.1.
126
-*   Thu Oct 20 2016 Xiaolin Li <xiaolinl@vmware.com> 5.22.1-5
127
--   CVE-2016-1238 patch from http://perl5.git.perl.org/perl.git/commit/cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab.
128
-*   Mon Oct 10 2016 ChangLee <changlee@vmware.com> 5.22.1-4
129
--   Modified %check
130
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.22.1-3
131
--   GA - Bump release of all rpms
132
-*   Tue Jan 26 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-2
133
--   Enable threads
134
-*   Tue Jan 12 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-1
135
--   Update version
136
-*   Thu Jun 4 2015 Touseef Liaqat <tliaqat@vmware.com> 5.18.2-2
137
--   Provide /bin/perl.
138
-*   Wed Nov 5 2014 Divya Thaluru <dthaluru@vmware.com> 5.18.2-1
139
--   Initial build. First version
101
+* Thu Feb 10 2022 Shreenidhi Shedi <sshedi@vmware.com> 5.30.1-4
102
+- Drop libdb support
103
+* Wed Feb 10 2021 Alexey Makhalov <amakhalov@vmware.com> 5.30.1-3
104
+- Fix compilation issue with gcc-10.2.0 for aarch64
105
+* Mon Nov 02 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.30.1-2
106
+- Fix CVE-2020-10878 CVE-2020-12723
107
+* Thu Aug 20 2020 Gerrit Photon <photon-checkins@vmware.com> 5.30.1-1
108
+- Upgraded to version 5.30.1
109
+* Tue Feb 25 2020 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-5
110
+- Added a patch to fix make check
111
+* Thu Oct 31 2019 Alexey Makhalov <amakhalov@vmware.com> 5.28.0-4
112
+- Cross compilation support
113
+* Tue Oct 22 2019 Prashant S Chauhan <psinghchauha@vmware.com> 5.28.0-3
114
+- Fix for make check failure added a patch
115
+* Wed Oct 24 2018 Srivatsa S. Bhat (VMware) <srivatsa@csail.mit.edu> 5.28.0-2
116
+- Add provides perl(s)
117
+* Fri Sep 21 2018 Dweep Advani <dadvani@vmware.com> 5.28.0-1
118
+- Upgrade to version 5.28.0
119
+* Tue Oct 03 2017 Dheeraj Shetty <dheerajs@vmware.com> 5.24.1-4
120
+- CVE-2017-12837 and CVE-2017-12883 patch from
121
+- https://perl5.git.perl.org/perl.git/commitdiff/2be4edede4ae226e2eebd4eff28cedd2041f300f#patch1
122
+* Wed Jul 05 2017 Xiaolin Li <xiaolinl@vmware.com> 5.24.1-3
123
+- Rebuild perl after adding gdbm-devel package.
124
+* Thu Jun 15 2017 Chang Lee <changlee@vmware.com> 5.24.1-2
125
+- Updated %check
126
+* Mon Apr 3 2017 Robert Qi <qij@vmware.com> 5.24.1-1
127
+- Update to 5.24.1.
128
+* Thu Oct 20 2016 Xiaolin Li <xiaolinl@vmware.com> 5.22.1-5
129
+- CVE-2016-1238 patch from http://perl5.git.perl.org/perl.git/commit/cee96d52c39b1e7b36e1c62d38bcd8d86e9a41ab.
130
+* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 5.22.1-4
131
+- Modified %check
132
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 5.22.1-3
133
+- GA - Bump release of all rpms
134
+* Tue Jan 26 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-2
135
+- Enable threads
136
+* Tue Jan 12 2016 Anish Swaminathan <anishs@vmware.com> 5.22.1-1
137
+- Update version
138
+* Thu Jun 4 2015 Touseef Liaqat <tliaqat@vmware.com> 5.18.2-2
139
+- Provide /bin/perl.
140
+* Wed Nov 5 2014 Divya Thaluru <dthaluru@vmware.com> 5.18.2-1
141
+- Initial build. First version
... ...
@@ -42,7 +42,7 @@ Provides:       /usr/bin/python
42 42
 Provides:       /bin/python
43 43
 Provides:       /bin/python3
44 44
 
45
-%if 0%{with_check}
45
+%if 0%{?with_check}
46 46
 BuildRequires:  iana-etc
47 47
 BuildRequires:  tzdata
48 48
 BuildRequires:  curl-devel
... ...
@@ -193,7 +193,7 @@ rm %{buildroot}%{_bindir}/2to3
193 193
 mkdir -p %{buildroot}%{_libdir}/rpm/macros.d
194 194
 install -m 644 %{SOURCE1} %{buildroot}%{_libdir}/rpm/macros.d
195 195
 
196
-%if 0%{?with_gdb_hooks:1}
196
+%if 0%{?with_gdb_hooks}
197 197
   DirHoldingGdbPy=%{_libdir}/debug%{_libdir}
198 198
   mkdir -p %{buildroot}$DirHoldingGdbPy
199 199
   PathOfGdbPy=$DirHoldingGdbPy/libpython%{VER}.so.1.0-%{version}-%{release}.%{_arch}.debug-gdb.py
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Commit RPMs to an OSTree repository
2 2
 Name:           rpm-ostree
3 3
 Version:        2021.12
4
-Release:        4%{?dist}
4
+Release:        5%{?dist}
5 5
 License:        LGPLv2+
6 6
 Group:          Applications/System
7 7
 URL:            https://github.com/projectatomic/rpm-ostree
... ...
@@ -147,6 +147,8 @@ install -p -m 755 -D %{SOURCE3} %{buildroot}%{_bindir}/rpm-ostree-server
147 147
 %{_bindir}/rpm-ostree-server/mkostreerepo
148 148
 
149 149
 %changelog
150
+* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 2021.12-5
151
+- Bump version as a part of rpm upgrade
150 152
 * Thu Jun 16 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 2021.12-4
151 153
 - Bump version as a part of libxslt upgrade
152 154
 * Wed Nov 10 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2021.12-3
153 155
deleted file mode 100644
... ...
@@ -1,308 +0,0 @@
1
-From 8586c041219bc408500ae083aa506483bdafac7a Mon Sep 17 00:00:00 2001
2
-From: Demi Marie Obenour <demi@invisiblethingslab.com>
3
-Date: Fri, 30 Apr 2021 15:01:33 +0530
4
-Subject: [PATCH] Fix OpenPGP parsing bugs
5
-
6
-- signatures of the wrong type were accepted
7
-- signatures were allowed to contain multiple packets
8
-- numerous out-of-bounds reads
9
-- undefined pointer arithmetic
10
-
11
-[sshedi: Changes to rpmio/rpmpgp.h from original patch are dropped]
12
-
13
-Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
14
- rpmio/rpmpgp.c | 146 +++++++++++++++++++++++++++----------------------
15
- 1 file changed, 81 insertions(+), 65 deletions(-)
16
-
17
-diff --git a/rpmio/rpmpgp.c b/rpmio/rpmpgp.c
18
-index d0688ebe9..01dca84db 100644
19
-+++ b/rpmio/rpmpgp.c
20
-@@ -320,14 +320,17 @@ size_t pgpLen(const uint8_t *s, size_t slen, size_t * lenp)
21
-     if (*s < 192) {
22
- 	lenlen = 1;
23
- 	dlen = *s;
24
--    } else if (*s < 255 && slen > 2) {
25
-+    } else if (*s < 224 && slen > 2) {
26
- 	lenlen = 2;
27
- 	dlen = (((s[0]) - 192) << 8) + s[1] + 192;
28
--    } else if (slen > 5) {
29
-+    } else if (slen > 5 && *s == 255) {
30
- 	lenlen = 5;
31
- 	dlen = pgpGrab(s+1, 4);
32
-     }
33
- 
34
-+    /* Check that the buffer can hold the computed amount of bytes */
35
-+    if (slen - lenlen < dlen)
36
-+	lenlen = 0;
37
-     if (lenlen)
38
- 	*lenp = dlen;
39
- 
40
-@@ -341,12 +344,38 @@ struct pgpPkt {
41
-     size_t blen;		/* length of body in bytes */
42
- };
43
- 
44
-+/** \ingroup rpmpgp
45
-+ * Read a length field `nbytes` long.  Checks that the buffer is big enough to
46
-+ * hold `nbytes + *valp` bytes.
47
-+ * @param s		pointer to read from
48
-+ * @param nbytes	length of length field
49
-+ * @param send		pointer past end of buffer
50
-+ * @param[out] *valp	decoded length
51
-+ * @return		0 if buffer can hold `nbytes + *valp` of data,
52
-+ * 			otherwise -1.
53
-+ */
54
-+static int pgpGet(const uint8_t *s, size_t nbytes, const uint8_t *send,
55
-+		  size_t *valp)
56
-+{
57
-+    int rc = -1;
58
-+
59
-+    if (nbytes <= send - s) {
60
-+	unsigned int val = pgpGrab(s, nbytes);
61
-+	if (val <= send - s - nbytes) {
62
-+	    rc = 0;
63
-+	    *valp = val;
64
-+	}
65
-+    }
66
-+
67
-+    return rc;
68
-+}
69
-+
70
- static int decodePkt(const uint8_t *p, size_t plen, struct pgpPkt *pkt)
71
- {
72
-     int rc = -1; /* assume failure */
73
- 
74
-     /* Valid PGP packet header must always have two or more bytes in it */
75
--    if (p && plen >= 2 && p[0] & 0x80) {
76
-+    if (p && plen >= 2 && (p[0] & 0x80)) {
77
- 	size_t lenlen = 0;
78
- 	size_t hlen = 0;
79
- 
80
-@@ -357,15 +386,14 @@ static int decodePkt(const uint8_t *p, size_t plen, struct pgpPkt *pkt)
81
- 	} else {
82
- 	    /* Old format packet, body length encoding in tag byte */
83
- 	    lenlen = (1 << (p[0] & 0x3));
84
--	    if (plen > lenlen) {
85
--		pkt->blen = pgpGrab(p+1, lenlen);
86
--	    }
87
-+	    if (lenlen > 4 || pgpGet(p + 1, lenlen, p + plen, &pkt->blen))
88
-+		return rc;
89
- 	    pkt->tag = (p[0] >> 2) & 0xf;
90
- 	}
91
- 	hlen = lenlen + 1;
92
- 
93
- 	/* Does the packet header and its body fit in our boundaries? */
94
--	if (lenlen && (hlen + pkt->blen <= plen)) {
95
-+	if (lenlen) {
96
- 	    pkt->head = p;
97
- 	    pkt->body = pkt->head + hlen;
98
- 	    rc = 0;
99
-@@ -418,7 +446,7 @@ static int pgpPrtSubType(const uint8_t *h, size_t hlen, pgpSigType sigtype,
100
- 
101
-     while (hlen > 0) {
102
- 	i = pgpLen(p, hlen, &plen);
103
--	if (i == 0 || plen < 1 || i + plen > hlen)
104
-+	if (i == 0 || plen < 1)
105
- 	    break;
106
- 
107
- 	p += i;
108
-@@ -524,9 +552,9 @@ static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
109
-     int i;
110
-     pgpDigAlg sigalg = pgpSignatureNew(pubkey_algo);
111
- 
112
--    for (i = 0; i < sigalg->mpis && p + 2 <= pend; i++) {
113
-+    for (i = 0; i < sigalg->mpis && 2 < pend - p; i++) {
114
- 	int mpil = pgpMpiLen(p);
115
--	if (p + mpil > pend)
116
-+	if (mpil > pend - p)
117
- 	    break;
118
- 	if (sigtype == PGPSIGTYPE_BINARY || sigtype == PGPSIGTYPE_TEXT) {
119
- 	    if (sigalg->setmpi(sigalg, i, p))
120
-@@ -548,25 +576,12 @@ static int pgpPrtSigParams(pgpTag tag, uint8_t pubkey_algo, uint8_t sigtype,
121
-     return rc;
122
- }
123
- 
124
--static int pgpGet(const uint8_t *s, size_t nbytes, const uint8_t *send,
125
--		  unsigned int *valp)
126
--{
127
--    int rc = -1;
128
--
129
--    if (s + nbytes <= send) {
130
--	*valp = pgpGrab(s, nbytes);
131
--	rc = 0;
132
--    }
133
--
134
--    return rc;
135
--}
136
--
137
- static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
138
- 		     pgpDigParams _digp)
139
- {
140
-     uint8_t version = 0;
141
--    uint8_t * p;
142
--    unsigned int plen;
143
-+    const uint8_t * p;
144
-+    size_t plen;
145
-     int rc = 1;
146
- 
147
-     if (pgpVersion(h, hlen, &version))
148
-@@ -608,6 +623,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
149
-     }	break;
150
-     case 4:
151
-     {   pgpPktSigV4 v = (pgpPktSigV4)h;
152
-+	const uint8_t *const hend = h + hlen;
153
- 
154
- 	if (hlen <= sizeof(*v))
155
- 	    return 1;
156
-@@ -618,15 +634,12 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
157
- 	pgpPrtVal(" ", pgpSigTypeTbl, v->sigtype);
158
- 	pgpPrtNL();
159
- 
160
--	p = &v->hashlen[0];
161
--	if (pgpGet(v->hashlen, sizeof(v->hashlen), h + hlen, &plen))
162
--	    return 1;
163
--	p += sizeof(v->hashlen);
164
--
165
--	if ((p + plen) > (h + hlen))
166
-+	if (pgpGet(v->hashlen, sizeof(v->hashlen), hend, &plen))
167
- 	    return 1;
168
-+	p = h + sizeof *v;
169
- 
170
- 	if (_digp->pubkey_algo == 0) {
171
-+	    /* Get the hashed data */
172
- 	    _digp->hashlen = sizeof(*v) + plen;
173
- 	    _digp->hash = memcpy(xmalloc(_digp->hashlen), v, _digp->hashlen);
174
- 	}
175
-@@ -634,18 +647,15 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
176
- 	    return 1;
177
- 	p += plen;
178
- 
179
--	if (pgpGet(p, 2, h + hlen, &plen))
180
-+	if (pgpGet(p, 2, hend, &plen))
181
- 	    return 1;
182
- 	p += 2;
183
- 
184
--	if ((p + plen) > (h + hlen))
185
--	    return 1;
186
--
187
- 	if (pgpPrtSubType(p, plen, v->sigtype, _digp))
188
- 	    return 1;
189
- 	p += plen;
190
- 
191
--	if (pgpGet(p, 2, h + hlen, &plen))
192
-+	if (hend - p < 2)
193
- 	    return 1;
194
- 	pgpPrtHex(" signhash16", p, 2);
195
- 	pgpPrtNL();
196
-@@ -658,11 +668,7 @@ static int pgpPrtSig(pgpTag tag, const uint8_t *h, size_t hlen,
197
- 	    memcpy(_digp->signhash16, p, sizeof(_digp->signhash16));
198
- 	}
199
- 
200
--	p += 2;
201
--	if (p > (h + hlen))
202
--	    return 1;
203
--
204
--	rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p, h, hlen, _digp);
205
-+	rc = pgpPrtSigParams(tag, v->pubkey_algo, v->sigtype, p + 2, h, hlen, _digp);
206
-     }	break;
207
-     default:
208
- 	rpmlog(RPMLOG_WARNING, _("Unsupported version of key: V%d\n"), version);
209
-@@ -717,15 +723,15 @@ static int pgpPrtPubkeyParams(uint8_t pubkey_algo,
210
-     pgpDigAlg keyalg;
211
-     if (pubkey_algo == PGPPUBKEYALGO_EDDSA) {
212
- 	int len = p + 1 < pend ? p[0] : 0;
213
--	if (len == 0 || len == 0xff || p + 1 + len > pend)
214
-+	if (len == 0 || len == 0xff || 1 + len > pend - p)
215
- 	    goto exit;
216
- 	curve = pgpCurveByOid(p + 1, len);
217
- 	p += len + 1;
218
-     }
219
-     keyalg = pgpPubkeyNew(pubkey_algo, curve);
220
--    for (i = 0; i < keyalg->mpis && p + 2 <= pend; i++) {
221
-+    for (i = 0; i < keyalg->mpis && 2 < pend - p; i++) {
222
- 	int mpil = pgpMpiLen(p);
223
--	if (p + mpil > pend)
224
-+	if (mpil > pend - p)
225
- 	    break;
226
- 	if (keyalg->setmpi(keyalg, i, p))
227
- 	    break;
228
-@@ -817,30 +823,34 @@ int pgpPubkeyFingerprint(const uint8_t *h, size_t hlen,
229
- 	int mpis = -1;
230
- 
231
- 	/* Packet must be larger than v to have room for the required MPIs */
232
--	if (hlen > sizeof(*v)) {
233
--	    switch (v->pubkey_algo) {
234
--	    case PGPPUBKEYALGO_RSA:
235
--		mpis = 2;
236
--		break;
237
--	    case PGPPUBKEYALGO_DSA:
238
--		mpis = 4;
239
--		break;
240
--	    case PGPPUBKEYALGO_EDDSA:
241
--		mpis = 1;
242
--		break;
243
--	    }
244
-+	if (hlen <= sizeof(*v))
245
-+	    return rc;
246
-+	se = (uint8_t *)(v + 1);
247
-+
248
-+	switch (v->pubkey_algo) {
249
-+	case PGPPUBKEYALGO_RSA:
250
-+	    mpis = 2;
251
-+	    break;
252
-+	case PGPPUBKEYALGO_DSA:
253
-+	    mpis = 4;
254
-+	    break;
255
-+	case PGPPUBKEYALGO_EDDSA:
256
-+	    mpis = 1;
257
-+	    /* EdDSA has a curve id before the MPIs */
258
-+	    if (se[0] == 0x00 || se[0] == 0xff || pend - se <= se[0])
259
-+		return rc;
260
-+	    se += 1 + se[0];
261
-+	    break;
262
-+	default:
263
-+	    return rc;
264
- 	}
265
- 
266
--	se = (uint8_t *)(v + 1);
267
--	/* EdDSA has a curve id before the MPIs */
268
--	if (v->pubkey_algo == PGPPUBKEYALGO_EDDSA) {
269
--	    if (se < pend && se[0] != 0x00 && se[0] != 0xff)
270
--		se += 1 + se[0];
271
--	    else
272
--		se = pend;      /* error out when reading the MPI */
273
-+	while (pend - se >= 2 && mpis-- > 0) {
274
-+	    int i = pgpMpiLen(se);
275
-+	    if (pend - se < i)
276
-+		return rc;
277
-+	    se += i;
278
- 	}
279
--	while (se < pend && mpis-- > 0)
280
--	    se += pgpMpiLen(se);
281
- 
282
- 	/* Does the size and number of MPI's match our expectations? */
283
- 	if (se == pend && mpis == 0) {
284
-@@ -1067,6 +1077,8 @@ int pgpPrtParams(const uint8_t * pkts, size_t pktlen, unsigned int pkttype,
285
- 	    break;
286
- 
287
- 	p += (pkt.body - pkt.head) + pkt.blen;
288
-+	if (pkttype == PGPTAG_SIGNATURE)
289
-+	    break;
290
-     }
291
- 
292
-     rc = (digp && (p == pend)) ? 0 : -1;
293
-@@ -1189,6 +1201,10 @@ rpmRC pgpVerifySignature(pgpDigParams key, pgpDigParams sig, DIGEST_CTX hashctx)
294
-     if (sig == NULL || ctx == NULL)
295
- 	goto exit;
296
- 
297
-+    /* RPM signatures are always binary */
298
-+    if (sig->sigtype != PGPSIGTYPE_BINARY)
299
-+	goto exit;
300
-+
301
-     if (sig->hash != NULL)
302
- 	rpmDigestUpdate(ctx, sig->hash, sig->hashlen);
303
- 
304
-2.17.1
305
-
306 1
deleted file mode 100644
... ...
@@ -1,88 +0,0 @@
1
-From 0ebfd7295ea7ad26a5cfbfa399803848be03d9a2 Mon Sep 17 00:00:00 2001
2
-From: Shreenidhi Shedi <sshedi@vmware.com>
3
-Date: Tue, 1 Jun 2021 16:50:38 +0530
4
-Subject: [PATCH] Fix regression reading rpm v3 and other rare packages (#1635)
5
-
6
-Commit d6a86b5 introduced far stricter
7
-checks on what tags are allowed in signature and main headers than rpm
8
-had previously seen, and unsurprisingly this introduced some regressions
9
-on less common cases:
10
-
11
-- On rpm v3 packages and some newer 3rd party created packages (such as
12
-  install4j < 9.0.2), RPMTAG_ARCHIVESIZE resides in the main header
13
-  to begin with
14
-- In rpm 4.13 - 4.14, file IMA signatures were incorrectly placed in
15
-  the main header.
16
-
17
-As a quirk, permit the existence of RPMTAG_ARCHIVESIZE,
18
-RPMTAG_FILESIGNATURES and RPMTAG_FILESIGNATURELENGTH in the main header
19
-too provided that the corresponding signature tag is not there (so
20
-they can reside in either but not both headers).
21
-
22
-Initial workaround patch by Demi Marie Obenour.
23
-
24
-Fixes: #1635
25
-
26
-Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
27
- lib/package.c | 35 ++++++++++++++++++++---------------
28
- 1 file changed, 20 insertions(+), 15 deletions(-)
29
-
30
-diff --git a/lib/package.c b/lib/package.c
31
-index 276e3e554..da0df7779 100644
32
-+++ b/lib/package.c
33
-@@ -35,21 +35,22 @@ struct taglate_s {
34
-     rpmTagVal stag;
35
-     rpmTagVal xtag;
36
-     rpm_count_t count;
37
-+    int quirk;
38
- } const xlateTags[] = {
39
--    { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1 },
40
--    { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0 },
41
--    { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16 },
42
--    { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0 },
43
--    /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0 }, */ /* long obsolete, dont use */
44
--    { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1 },
45
--    { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0 },
46
--    { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1 },
47
--    { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1 },
48
--    { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1 },
49
--    { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0 },
50
--    { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0 },
51
--    { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1 },
52
--    { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1 },
53
-+    { RPMSIGTAG_SIZE, RPMTAG_SIGSIZE, 1, 0 },
54
-+    { RPMSIGTAG_PGP, RPMTAG_SIGPGP, 0, 0 },
55
-+    { RPMSIGTAG_MD5, RPMTAG_SIGMD5, 16, 0 },
56
-+    { RPMSIGTAG_GPG, RPMTAG_SIGGPG, 0, 0 },
57
-+    /* { RPMSIGTAG_PGP5, RPMTAG_SIGPGP5, 0, 0 }, */ /* long obsolete, dont use */
58
-+    { RPMSIGTAG_PAYLOADSIZE, RPMTAG_ARCHIVESIZE, 1, 1 },
59
-+    { RPMSIGTAG_FILESIGNATURES, RPMTAG_FILESIGNATURES, 0, 1 },
60
-+    { RPMSIGTAG_FILESIGNATURELENGTH, RPMTAG_FILESIGNATURELENGTH, 1, 1 },
61
-+    { RPMSIGTAG_SHA1, RPMTAG_SHA1HEADER, 1, 0 },
62
-+    { RPMSIGTAG_SHA256, RPMTAG_SHA256HEADER, 1, 0 },
63
-+    { RPMSIGTAG_DSA, RPMTAG_DSAHEADER, 0, 0 },
64
-+    { RPMSIGTAG_RSA, RPMTAG_RSAHEADER, 0, 0 },
65
-+    { RPMSIGTAG_LONGSIZE, RPMTAG_LONGSIGSIZE, 1, 0 },
66
-+    { RPMSIGTAG_LONGARCHIVESIZE, RPMTAG_LONGARCHIVESIZE, 1, 0 },
67
-     { 0 }
68
- };
69
- 
70
-@@ -67,8 +68,12 @@ rpmTagVal headerMergeLegacySigs(Header h, Header sigh, char **msg)
71
- 
72
-     for (xl = xlateTags; xl->stag; xl++) {
73
- 	/* There mustn't be one in the main header */
74
--	if (headerIsEntry(h, xl->xtag))
75
-+	if (headerIsEntry(h, xl->xtag)) {
76
-+	    /* Some tags may exist in either header, but never both */
77
-+	    if (xl->quirk && !headerIsEntry(sigh, xl->stag))
78
-+		continue;
79
- 	    goto exit;
80
-+	}
81
-     }
82
- 
83
-     rpmtdReset(&td);
84
-2.17.1
85
-
86 1
deleted file mode 100644
... ...
@@ -1,67 +0,0 @@
1
-From 4733c313a82a968739ab35da160d60f0fe0c079a Mon Sep 17 00:00:00 2001
2
-From: Demi Marie Obenour <demi@invisiblethingslab.com>
3
-Date: Wed, 28 Apr 2021 15:51:17 +0530
4
-Subject: [PATCH] Header signatures alone are not sufficient
5
-MIME-Version: 1.0
6
-Content-Type: text/plain; charset=UTF-8
7
-Content-Transfer-Encoding: 8bit
8
-
9
-This fixes how RPM handles packages that contain a header signature, but
10
-neither header+payload signature nor payload digests.  Such packages are
11
-obviously not properly signed, but RPM previously accepted them.
12
-
13
-This could be used to confuse both ‘rpmkeys -K’ and DNF.
14
-Both would report that the package has been properly signed even when it has not.
15
-
16
-[sshedi: Regression test changes from original patch are dropped]
17
-
18
-Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
19
- lib/rpmvs.c | 14 +++++++++++---
20
- 1 file changed, 11 insertions(+), 3 deletions(-)
21
-
22
-diff --git a/lib/rpmvs.c b/lib/rpmvs.c
23
-index 7255069fc..d2f4f3170 100644
24
-+++ b/lib/rpmvs.c
25
-@@ -451,7 +451,7 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
26
- {
27
-     int failed = 0;
28
-     int cont = 1;
29
--    int range = 0;
30
-+    int range = 0, vfylevel = sis->vfylevel;
31
-     int verified[3] = { 0, 0, 0 };
32
- 
33
-     /* sort for consistency and rough "better comes first" semantics*/
34
-@@ -478,6 +478,14 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
35
- 	}
36
-     }
37
- 
38
-+    /* Unconditionally reject partially signed packages */
39
-+    if (verified[RPMSIG_SIGNATURE_TYPE])
40
-+	vfylevel |= RPMSIG_SIGNATURE_TYPE;
41
-+
42
-+    /* Cannot verify payload if RPMVSF_NEEDPAYLOAD is set */
43
-+    if (sis->vsflags & RPMVSF_NEEDPAYLOAD)
44
-+	range &= ~RPMSIG_PAYLOAD;
45
-+
46
-     for (int i = 0; i < sis->nsigs && cont; i++) {
47
- 	struct rpmsinfo_s *sinfo = &sis->sigs[i];
48
- 	int strength = (sinfo->type | sinfo->strength);
49
-@@ -490,11 +498,11 @@ int rpmvsVerify(struct rpmvs_s *sis, int type,
50
- 		sinfo->rc = RPMRC_NOTFOUND;
51
- 	}
52
- 
53
--	if (sis->vfylevel & strength & RPMSIG_DIGEST_TYPE) {
54
-+	if (vfylevel & strength & RPMSIG_DIGEST_TYPE) {
55
- 	    int missing = (range & ~verified[RPMSIG_DIGEST_TYPE]);
56
- 	    required |= (missing & sinfo->range);
57
- 	}
58
--	if (sis->vfylevel & strength & RPMSIG_SIGNATURE_TYPE) {
59
-+	if (vfylevel & strength & RPMSIG_SIGNATURE_TYPE) {
60
- 	    int missing = (range & ~verified[RPMSIG_SIGNATURE_TYPE]);
61
- 	    required |= (missing & sinfo->range);
62
- 	}
63
-2.17.1
64
-
65 1
deleted file mode 100644
... ...
@@ -1,41 +0,0 @@
1
-From b5c8eb30d3fd9fd40416916b47d9c62eef7a3545 Mon Sep 17 00:00:00 2001
2
-From: Shreenidhi Shedi <sshedi@vmware.com>
3
-Date: Fri, 11 Dec 2020 15:54:57 +0530
4
-Subject: [PATCH] find debuginfo do not generate dir entries
5
-
6
-Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
7
- scripts/find-debuginfo.sh | 10 +++++-----
8
- 1 file changed, 5 insertions(+), 5 deletions(-)
9
-
10
-diff --git a/scripts/find-debuginfo.sh b/scripts/find-debuginfo.sh
11
-index e0c36ebb6..7c3c97628 100755
12
-+++ b/scripts/find-debuginfo.sh
13
-@@ -585,10 +585,10 @@ if [ -s "$SOURCEFILE" ]; then
14
- fi
15
- 
16
- if [ -d "${RPM_BUILD_ROOT}/usr/lib" ] || [ -d "${RPM_BUILD_ROOT}/usr/src" ]; then
17
--  ((nout > 0)) ||
18
--  test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
19
--  (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
20
--  sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
21
-+#  ((nout > 0)) ||
22
-+#  test ! -d "${RPM_BUILD_ROOT}/usr/lib" ||
23
-+#  (cd "${RPM_BUILD_ROOT}/usr/lib"; find debug -type d) |
24
-+#  sed 's,^,%dir /usr/lib/,' >> "$LISTFILE"
25
- 
26
-   (cd "${RPM_BUILD_ROOT}/usr"
27
-    test ! -d lib/debug || find lib/debug ! -type d
28
-@@ -660,7 +660,7 @@ while ((i < nout)); do
29
-   mv "${LISTFILE}.new" "$LISTFILE"
30
-   ((++i))
31
- done
32
--if ((nout > 0)); then
33
-+if ((0 && nout > 0)); then
34
-   # Generate %dir lines for each output list.
35
-   generate_percent_dir()
36
-   {
37
-2.17.1
38
-
39 1
new file mode 100644
... ...
@@ -0,0 +1,68 @@
0
+From b093e00225b14fa4ecdd1cd48243e825c0729d86 Mon Sep 17 00:00:00 2001
1
+From: Shreenidhi Shedi <sshedi@vmware.com>
2
+Date: Thu, 3 Feb 2022 16:17:38 +0530
3
+Subject: [PATCH] Migrate rpmdb to /usr/lib/sysimage/rpm
4
+
5
+Reference:  https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
6
+
7
+Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
8
+---
9
+ macros.in | 14 +++++++-------
10
+ 1 file changed, 7 insertions(+), 7 deletions(-)
11
+
12
+diff --git a/macros.in b/macros.in
13
+index 22f675cdb..fc9c49930 100644
14
+--- a/macros.in
15
+@@ -140,7 +140,7 @@
16
+ %_buildshell		/bin/sh
17
+ 
18
+ #	The location of the rpm database file(s).
19
+-%_dbpath		%{_var}/lib/rpm
20
++%_dbpath		%{_usr}/lib/sysimage/rpm
21
+ 
22
+ #	The location of the rpm database file(s) after "rpm --rebuilddb".
23
+ %_dbpath_rebuild	%{_dbpath}
24
+@@ -330,7 +330,7 @@ package or when debugging this package.\
25
+ 
26
+ #	A colon separated list of desired locales to be installed;
27
+ #	"all" means install all locale specific files.
28
+-#	
29
++#
30
+ %_install_langs	all
31
+ 
32
+ #	Set ModularityLabel: for packages being build
33
+@@ -565,17 +565,17 @@ package or when debugging this package.\
34
+ #%__find_conflicts	???
35
+ #%__find_obsoletes	???
36
+ 
37
+-# 
38
+-# Path to file attribute classifications for automatic dependency 
39
++#
40
++# Path to file attribute classifications for automatic dependency
41
+ # extraction, used when _use_internal_dependency_generator
42
+ # is used (on by default). Files can have any number of attributes
43
+ # attached to them, and dependencies are separately extracted for
44
+ # each attribute.
45
+-# 
46
++#
47
+ # To define a new file attribute called "myattr", add a file named
48
+ # "myattr" to this directory, defining the requires and/or provides
49
+ # finder script(s) + magic and/or path pattern regex(es).
50
+-# provides finder and 
51
++# provides finder and
52
+ # %__myattr_requires	path + args to requires finder script for <myattr>
53
+ # %__myattr_provides	path + args to provides finder script for <myattr>
54
+ # %__myattr_magic	libmagic classification match regex
55
+@@ -1266,7 +1266,7 @@ end
56
+ # -S<scm name>	Sets the used patch application style, eg '-S git' enables
57
+ #           	usage of git repository and per-patch commits.
58
+ # -N		Disable automatic patch application
59
+-# -p<num>	Use -p<num> for patch application	
60
++# -p<num>	Use -p<num> for patch application
61
+ %autosetup(a:b:cDn:TvNS:p:)\
62
+ %setup %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{!-v:-q}\
63
+ %{-S:%global __scm %{-S*}}\
64
+-- 
65
+2.25.1
66
+
0 67
deleted file mode 100644
... ...
@@ -1,186 +0,0 @@
1
-#!/bin/bash
2
-
3
-# Script to rebuild rpm backend db
4
-
5
-#set -x
6
-
7
-# log file name
8
-log_fn="/var/log/rpm-rebuilddb.log"
9
-
10
-# redirect stderr & stdout to log file
11
-exec > "${log_fn}" 2>&1
12
-
13
-# this serves as a key for systemd service
14
-if [ -x /usr/bin/systemctl ]; then
15
-  touch /var/lib/rpm/.rebuilddb
16
-fi
17
-
18
-rpm_lock_fn="/var/lib/rpm/.rpm.lock"
19
-lock_bin="/usr/lib/rpm/lock"
20
-lock_flag="/var/run/.lkflg"
21
-
22
-# Check if db operation is in progress
23
-# Timesout after 900 seconds
24
-check_if_db_operation_in_progress()
25
-{
26
-  local retry=900
27
-
28
-  while [ "${retry}" -gt 0 ]; do
29
-    if pgrep -x "tdnf|rpm|rpmdb" &> /dev/null; then
30
-      echo -e "\nWARNING: tdnf/rpm is still running ..."
31
-      retry=$((retry-1))
32
-      sleep 1
33
-    else
34
-      echo -e "\nINFO: tdnf/rpm are not running, proceed to next step ..."
35
-      return 0
36
-    fi
37
-  done
38
-
39
-  echo -e "\nERROR: tdnf/rpm is running from 15 minutes, retries exceeded ..."
40
-  return 1
41
-}
42
-
43
-# Sometimes rebuilddb succeeds but rpm options won't work
44
-# this is a simple sanity check
45
-sanity_check()
46
-{
47
-  if command -v rpm &> /dev/null; then
48
-    if rpm -q rpm &> /dev/null; then
49
-      return 0
50
-    fi
51
-  fi
52
-
53
-  if command -v tdnf &> /dev/null; then
54
-    if tdnf list installed tdnf --disablerepo=* &> /dev/null; then
55
-      return 0
56
-    fi
57
-  fi
58
-
59
-  # should not reach here
60
-  return 1
61
-}
62
-
63
-lpid=""
64
-
65
-unlock()
66
-{
67
-  rm -f "${lock_flag}"
68
-  kill -9 "${lpid}"
69
-}
70
-
71
-get_lock()
72
-{
73
-  local retry=100
74
-
75
-  # remove "$lock_flag" file to ensure that there is no leftover
76
-  rm -f "${lock_flag}"
77
-
78
-  "${lock_bin}" "${rpm_lock_fn}" &
79
-  lpid="$!"
80
-
81
-  # 20 second max delay
82
-  while [ "${retry}" -gt 0 ]; do
83
-    if [ -f "${lock_flag}" ]; then
84
-      return 0
85
-    fi
86
-    sleep 0.2
87
-    retry=$((retry-1))
88
-  done
89
-
90
-  echo -e "\nERROR: failed to get lock ..."
91
-  exit 1
92
-}
93
-
94
-# Rebuild rpm db --> This should finish quick
95
-# Steps:
96
-# 1. Take backup of existing db
97
-# 2. Try rebuilding db
98
-# 3. If ok, do a sanity check and remove backup
99
-#    Else - remove the newly created /var/lib/rpmrebuilddb.* and retry
100
-#
101
-# If sanity check fails, revert backup data
102
-# Stops after 10 attempts
103
-try_rpm_rebuilddb()
104
-{
105
-  local retry=10
106
-  local backup_dir=""
107
-  local rpmdb_dir="/var/lib/rpm"
108
-
109
-  # need 6 Xs, toybox mktemp doesn't work with 4 Xs
110
-  backup_dir="$(mktemp -d -p /var/lib .rpmdbXXXXXX)"
111
-  if [ "$?" -ne 0 ]; then
112
-    echo -e "\nERROR: failed to create backup directory ..."
113
-    return 1
114
-  fi
115
-
116
-  # During taking backup & restoring backup operations
117
-  # we need a lock, otherwise this might create contention.
118
-  #
119
-  # During this copy & restore operation, rpm transaction might run parallely
120
-  # and we might end up in an unlikely situation
121
-  if get_lock; then
122
-    # remove temporary lock files
123
-    rm -f "${rpmdb_dir}"/__db*
124
-
125
-    if ! cp -ar "${rpmdb_dir}"/* "${backup_dir}"; then
126
-      unlock
127
-      rm -rf "${backup_dir}"
128
-      echo -e "\nERROR: failed to copy contents to backup directory ..."
129
-      return 1
130
-    fi
131
-    unlock
132
-  fi
133
-
134
-  echo -e "\nINFO: took backup of rpmdb at ${backup_dir} ..."
135
-
136
-  while [ "${retry}" -gt 0 ]; do
137
-    while true; do
138
-      if ! pgrep -x "tdnf|rpm|rpmdb" &> /dev/null; then
139
-        break
140
-      fi
141
-      sleep 0.1
142
-    done
143
-
144
-    if rpmdb --rebuilddb; then
145
-      if get_lock; then
146
-        if sanity_check; then
147
-          unlock
148
-
149
-          rm -rf "${backup_dir}" "${rpmdb_dir}"/.rebuilddb
150
-          echo -e "\nINFO: rpmdb --rebuild success ..."
151
-          return 0
152
-        fi
153
-
154
-        local err=0
155
-        echo -e "\n--- ERROR: SOMETHING WENT TOTALLY WRONG --"
156
-        echo "Trying to restore RPMDB from backup directory ..."
157
-
158
-        rm -rf "${rpmdb_dir}"/*
159
-
160
-        if ! cp -ar "${backup_dir}"/* "${rpmdb_dir}"; then
161
-          err=1
162
-          echo -e "\nERROR: failed copy contents from ${backup_dir} to ${rpmdb_dir} ..."
163
-        else
164
-          rm -rf "${backup_dir}"
165
-        fi
166
-
167
-        if [ "${err}" -eq 0 ]; then
168
-          echo -e "\nINFO: Revert from backup directory success ..."
169
-        fi
170
-
171
-        unlock
172
-        return 1
173
-      fi
174
-    fi
175
-
176
-    rm -rf /var/lib/rpmrebuilddb.*
177
-
178
-    echo -e "\nERROR: failed to rebuild rpmdb, retrying ..."
179
-    retry=$((retry-1))
180
-
181
-  done
182
-
183
-  return 1
184
-}
185
-
186
-check_if_db_operation_in_progress && try_rpm_rebuilddb
... ...
@@ -1 +1 @@
1
-rpm-libs=4.16.1.3-1
1
+rpm-libs=4.17.0-1
... ...
@@ -1,15 +1,18 @@
1
+%define rpmhome %{_libdir}/rpm
2
+
1 3
 Summary:        Package manager
2 4
 Name:           rpm
3
-Version:        4.16.1.3
4
-Release:        4%{?dist}
5
+Version:        4.17.1
6
+Release:        1%{?dist}
5 7
 License:        GPLv2+
6 8
 URL:            http://rpm.org
7 9
 Group:          Applications/System
8 10
 Vendor:         VMware, Inc.
9 11
 Distribution:   Photon
10 12
 
11
-Source0:        https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}.tar.gz
12
-%define sha1    %{name}=7aa50461dc5500ac5c1b5d4f475cc282add2673e
13
+Source0:        https://github.com/rpm-software-management/rpm/archive/%{name}-%{version}.tar.bz2
14
+%define sha512  %{name}=d0429510140f25a25b6c9441abe2027d27c485bbd4969752f69e1c843435c9508b9f85e5bb68085dd64b7da533801aa5c04d8c9d962e08d2ddd3199d0265cc85
15
+
13 16
 Source1:        brp-strip-debug-symbols
14 17
 Source2:        brp-strip-unneeded
15 18
 Source3:        macros
... ...
@@ -17,33 +20,30 @@ Source4:        macros.php
17 17
 Source5:        macros.perl
18 18
 Source6:        macros.vpath
19 19
 Source7:        macros.ldconfig
20
-Source8:        rpm-rebuilddb.sh
21
-Source9:        rpmdb-rebuild.service
22
-Source10:       rpm.conf
23
-Source11:       lock.c
24
-
25
-Patch0:         find-debuginfo-do-not-generate-dir-entries.patch
26
-Patch1:         Fix-OpenPGP-parsing-bugs.patch
27
-Patch2:         Header-signatures-alone-are-not-sufficient.patch
28
-Patch3:         Fix-regression-reading-rpm-v3.patch
29
-Patch4:         rpmdb-rename-dir.patch
30
-Patch5:         silence-warning.patch
31
-Patch6:         sync-buf-cache.patch
32
-Patch7:         wait-for-lock.patch
20
+Source8:        rpmdb-rebuild.sh
21
+Source9:        rpmdb-migrate.sh
22
+Source10:       rpmdb-rebuild.service
23
+Source11:       rpmdb-migrate.service
24
+Source12:       rpm.conf
25
+Source13:       lock.c
26
+
27
+Patch0:         rpmdb-rename-dir.patch
28
+Patch1:         silence-warning.patch
29
+Patch2:         sync-buf-cache.patch
30
+Patch3:         wait-for-lock.patch
31
+Patch4:         migrate-rpmdb.patch
33 32
 
34 33
 Requires:       bash
35 34
 Requires:       zstd-libs
36 35
 Requires:       lua
37 36
 Requires:       openssl >= 1.1.1
38
-Requires:       libgcrypt
39 37
 Requires:       %{name}-libs = %{version}-%{release}
40 38
 
39
+BuildRequires:  pandoc-bin
41 40
 BuildRequires:  systemd-devel
42 41
 BuildRequires:  dbus-devel >= 1.3
43 42
 BuildRequires:  systemd-rpm-macros
44
-BuildRequires:  libgcrypt-devel
45 43
 BuildRequires:  lua-devel
46
-BuildRequires:  libdb-devel
47 44
 BuildRequires:  popt-devel
48 45
 BuildRequires:  nss-devel
49 46
 BuildRequires:  elfutils-devel
... ...
@@ -51,9 +51,12 @@ BuildRequires:  libcap-devel
51 51
 BuildRequires:  xz-devel
52 52
 BuildRequires:  file-devel
53 53
 BuildRequires:  python3-devel
54
-BuildRequires:  openssl >= 1.1.1
54
+BuildRequires:  openssl-devel >= 1.1.1
55 55
 BuildRequires:  zstd-devel
56 56
 BuildRequires:  sqlite-devel
57
+BuildRequires:  debugedit
58
+BuildRequires:  dwz
59
+BuildRequires:  python3-setuptools
57 60
 
58 61
 %description
59 62
 RPM package manager
... ...
@@ -78,15 +81,15 @@ Requires:   bzip2-libs
78 78
 Requires:   elfutils-libelf
79 79
 Requires:   xz-libs
80 80
 Requires:   zstd-libs
81
-Requires:   (procps-ng or toybox)
82
-
81
+Requires:   (toybox or coreutils-selinux)
82
+Requires:   (toybox or findutils)
83
+Requires:   (toybox or sed)
83 84
 Conflicts:  libsolv < 0.7.19
84 85
 
85 86
 %description    libs
86 87
 Shared libraries librpm and librpmio
87 88
 
88 89
 %package build
89
-Summary:    Binaries, scripts and libraries needed to build rpms.
90 90
 Requires:   perl
91 91
 Requires:   lua
92 92
 Requires:   %{name}-devel = %{version}-%{release}
... ...
@@ -94,6 +97,9 @@ Requires:   elfutils-libelf
94 94
 Requires:   cpio
95 95
 Requires:   systemd-rpm-macros
96 96
 Requires:   python3-macros
97
+Requires:   dwz
98
+Requires:   debugedit
99
+Summary:    Binaries, scripts and libraries needed to build rpms.
97 100
 
98 101
 %description build
99 102
 Binaries, libraries and scripts to build rpms.
... ...
@@ -110,6 +116,7 @@ These are the additional language files of rpm.
110 110
 Summary:    Python 3 bindings for rpm.
111 111
 Group:      Development/Libraries
112 112
 Requires:   python3
113
+Requires:   python3-setuptools
113 114
 
114 115
 %description -n python3-rpm
115 116
 Python3 rpm.
... ...
@@ -125,22 +132,17 @@ This plugin blocks systemd from entering idle, sleep or shutdown while an rpm
125 125
 transaction is running using the systemd-inhibit mechanism.
126 126
 
127 127
 %prep
128
-%autosetup -p1 -n rpm-%{name}-%{version}
128
+%autosetup -p1 -n %{name}-%{version}
129 129
 
130 130
 %build
131
-sed -i '/define _GNU_SOURCE/a #include "../config.h"' tools/sepdebugcrcfix.c
132 131
 # pass -L opts to gcc as well to prioritize it over standard libs
133 132
 sed -i 's/-Wl,-L//g' python/setup.py.in
134 133
 sed -i '/library_dirs/d' python/setup.py.in
135 134
 sed -i 's/extra_link_args/library_dirs/g' python/setup.py.in
136 135
 
137
-# set default db to sqlite
138
-sed -i -e "/_db_backend/ s/ bdb/ sqlite/g" macros.in
139
-
140 136
 sh autogen.sh --noconfigure
141 137
 %configure \
142 138
     CPPFLAGS='-I/usr/include/nspr -I/usr/include/nss -DLUA_COMPAT_APIINTCASTS' \
143
-        --program-prefix= \
144 139
         --disable-dependency-tracking \
145 140
         --disable-static \
146 141
         --enable-python \
... ...
@@ -151,12 +153,14 @@ sh autogen.sh --noconfigure
151 151
         --without-archive \
152 152
         --enable-sqlite \
153 153
         --enable-bdb-ro \
154
-        --enable-systemd-inhibit \
155
-        --enable-plugins
154
+        --enable-plugins \
155
+        --with-crypto=openssl \
156
+        --with-lua \
157
+        --enable-nls
156 158
 
157
-make %{?_smp_mflags}
159
+%make_build %{?_smp_mflags}
158 160
 
159
-gcc -Wall -o lock %{SOURCE11}
161
+gcc -Wall -o lock %{SOURCE13}
160 162
 chmod 700 lock
161 163
 
162 164
 pushd python
... ...
@@ -164,28 +168,37 @@ pushd python
164 164
 popd
165 165
 
166 166
 %check
167
-make check %{?_smp_mflags}
167
+%if 0%{?with_check}
168
+make check TESTSUITEFLAGS=%{?_smp_mflags} || (cat tests/rpmtests.log; exit 1)
169
+make clean %{?_smp_mflags}
170
+%endif
168 171
 
169 172
 %install
170
-make DESTDIR=%{buildroot} install %{?_smp_mflags}
173
+%make_install %{?_smp_mflags}
171 174
 find %{buildroot} -name '*.la' -delete
175
+
176
+ln -sfv %{_bindir}/find-debuginfo %{buildroot}%{rpmhome}/find-debuginfo.sh
177
+
172 178
 %find_lang %{name}
179
+
173 180
 # System macros and prefix
174 181
 install -dm644 %{buildroot}%{_sysconfdir}/rpm
175 182
 install -vm755 %{SOURCE1} %{buildroot}%{_libdir}/rpm
176 183
 install -vm755 %{SOURCE2} %{buildroot}%{_libdir}/rpm
177 184
 install -vm644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rpm
178
-install -vm644 %{SOURCE4} %{buildroot}%{_libdir}/rpm/macros.d
179
-install -vm644 %{SOURCE5} %{buildroot}%{_libdir}/rpm/macros.d
180
-install -vm644 %{SOURCE6} %{buildroot}%{_libdir}/rpm/macros.d
181
-install -vm644 %{SOURCE7} %{buildroot}%{_libdir}/rpm/macros.d
185
+install -vm644 %{SOURCE4} %{buildroot}%{rpmhome}/macros.d
186
+install -vm644 %{SOURCE5} %{buildroot}%{rpmhome}/macros.d
187
+install -vm644 %{SOURCE6} %{buildroot}%{rpmhome}/macros.d
188
+install -vm644 %{SOURCE7} %{buildroot}%{rpmhome}/macros.d
182 189
 install -vm755 %{SOURCE8} %{buildroot}%{_libdir}/rpm
190
+install -vm755 %{SOURCE9} %{buildroot}%{_libdir}/rpm
183 191
 
184 192
 mkdir -p %{buildroot}%{_unitdir}
185
-install -vm644 %{SOURCE9} %{buildroot}/%{_unitdir}
193
+install -vm644 %{SOURCE10} %{buildroot}/%{_unitdir}
194
+install -vm644 %{SOURCE11} %{buildroot}/%{_unitdir}
186 195
 
187 196
 mkdir -p %{buildroot}%{_sysconfdir}/tdnf/minversions.d
188
-install -vm644 %{SOURCE10} %{buildroot}%{_sysconfdir}/tdnf/minversions.d
197
+install -vm644 %{SOURCE12} %{buildroot}%{_sysconfdir}/tdnf/minversions.d
189 198
 mv lock %{buildroot}%{_libdir}/rpm
190 199
 
191 200
 pushd python
... ...
@@ -195,14 +208,27 @@ popd
195 195
 %post libs -p /sbin/ldconfig
196 196
 %postun libs -p /sbin/ldconfig
197 197
 
198
-%triggerun -- rpm-libs < 4.16.1.3-1
199
-if [ -x %{_bindir}/systemctl ]; then
200
-  systemctl --no-reload preset rpmdb-rebuild || :
198
+%pre
199
+# Symlink all rpmdb files to the new location if we're still using /var/lib/rpm
200
+if [ -d %{_sharedstatedir}/rpm ]; then
201
+  mkdir -p %{_libdir}/sysimage/rpm
202
+  rpmdb_files=$(find %{_sharedstatedir}/rpm -maxdepth 1 -type f | sed 's|^/var/lib/rpm/||g' | sort)
203
+  for fn in ${rpmdb_files[@]}; do
204
+    ln -sfr %{_sharedstatedir}/rpm/${fn} %{_libdir}/sysimage/rpm/${fn}
205
+  done
201 206
 fi
202 207
 
203 208
 %posttrans libs
204 209
 if [ -f %{_sharedstatedir}/rpm/Packages ]; then
205
-  nohup bash %{_libdir}/rpm/rpm-rebuilddb.sh &>/dev/null &
210
+  if [ -x %{_bindir}/systemctl ]; then
211
+    systemctl --no-reload preset rpmdb-rebuild || :
212
+  fi
213
+  nohup bash %{rpmhome}/rpmdb-rebuild.sh &>/dev/null &
214
+fi
215
+
216
+if [ -d %{_sharedstatedir}/rpm ] && [ -x %{_bindir}/systemctl ]; then
217
+  touch %{_sharedstatedir}/rpm/.migratedb
218
+  systemctl --no-reload preset rpmdb-migrate || :
206 219
 fi
207 220
 
208 221
 %clean
... ...
@@ -217,16 +243,21 @@ rm -rf %{buildroot}
217 217
 %{_bindir}/rpmkeys
218 218
 %{_bindir}/rpmquery
219 219
 %{_bindir}/rpmverify
220
-%{_libdir}/rpm/rpmpopt-*
221
-%{_libdir}/rpm/rpm.daily
222
-%{_libdir}/rpm/rpm.log
223
-%{_libdir}/rpm/rpm.supp
224
-%{_libdir}/rpm/rpm2cpio.sh
225
-%{_libdir}/rpm/tgpg
226
-%{_libdir}/rpm/platform
220
+%{rpmhome}/rpmpopt-*
221
+%{rpmhome}/rpm.daily
222
+%{rpmhome}/rpm.log
223
+%{rpmhome}/rpm.supp
224
+%{rpmhome}/rpm2cpio.sh
225
+%{rpmhome}/tgpg
226
+%{rpmhome}/platform
227 227
 %{_libdir}/rpm-plugins/ima.so
228 228
 %{_libdir}/rpm-plugins/syslog.so
229 229
 %{_libdir}/rpm-plugins/prioreset.so
230
+%{_libdir}/rpm-plugins/fsverity.so
231
+%exclude %{_libdir}/rpm-plugins/dbus_announce.so
232
+
233
+%{_sysconfdir}/dbus-1/system.d/org.rpm.conf
234
+
230 235
 %{_mandir}/man8/rpm2cpio.8.gz
231 236
 %{_mandir}/man8/rpmdb.8.gz
232 237
 %{_mandir}/man8/rpmgraph.8.gz
... ...
@@ -237,6 +268,7 @@ rm -rf %{buildroot}
237 237
 %{_mandir}/man8/rpm-plugin-syslog.8.gz
238 238
 %{_mandir}/man8/rpm-plugins.8.gz
239 239
 %{_mandir}/man8/rpm.8.gz
240
+%{_mandir}/man8/rpm-plugin-dbus-announce.8.gz
240 241
 %exclude %{_mandir}/fr/man8/*.gz
241 242
 %exclude %{_mandir}/ja/man8/*.gz
242 243
 %exclude %{_mandir}/ko/man8/*.gz
... ...
@@ -250,14 +282,16 @@ rm -rf %{buildroot}
250 250
 %config(noreplace) %{_sysconfdir}/rpm/macros
251 251
 %{_libdir}/librpmio.so.*
252 252
 %{_libdir}/librpm.so.*
253
-%{_libdir}/rpm/macros
254
-%{_libdir}/rpm/rpmrc
255
-%{_libdir}/rpm/rpmdb_*
256
-%{_libdir}/rpm/rpm-rebuilddb.sh
257
-%{_libdir}/rpm/lock
253
+%{rpmhome}/macros
254
+%{rpmhome}/rpmrc
255
+%{rpmhome}/rpmdb_*
256
+%{rpmhome}/rpmdb-rebuild.sh
257
+%{rpmhome}/rpmdb-migrate.sh
258
+%{rpmhome}/lock
258 259
 %{_bindir}/rpmdb
259 260
 %{_unitdir}/rpmdb-rebuild.service
260
-%{_sysconfdir}/tdnf/minversions.d/%{name}.conf
261
+%{_unitdir}/rpmdb-migrate.service
262
+%config(noreplace) %{_sysconfdir}/tdnf/minversions.d/%{name}.conf
261 263
 
262 264
 %files build
263 265
 %{_bindir}/rpmbuild
... ...
@@ -265,31 +299,26 @@ rm -rf %{buildroot}
265 265
 %{_bindir}/rpmspec
266 266
 %{_libdir}/librpmbuild.so
267 267
 %{_libdir}/librpmbuild.so.*
268
-%{_libdir}/rpm/macros.d/*
269
-%{_libdir}/rpm/perl.req
270
-%{_libdir}/rpm/find-debuginfo.sh
271
-%{_libdir}/rpm/find-lang.sh
272
-%{_libdir}/rpm/find-provides
273
-%{_libdir}/rpm/find-requires
274
-%{_libdir}/rpm/brp-*
275
-%{_libdir}/rpm/fileattrs/*
276
-%{_libdir}/rpm/script.req
277
-%{_libdir}/rpm/check-buildroot
278
-%{_libdir}/rpm/check-files
279
-%{_libdir}/rpm/check-prereqs
280
-%{_libdir}/rpm/check-rpaths
281
-%{_libdir}/rpm/check-rpaths-worker
282
-%{_libdir}/rpm/debugedit
283
-%{_libdir}/rpm/elfdeps
284
-%{_libdir}/rpm/libtooldeps.sh
285
-%{_libdir}/rpm/mkinstalldirs
286
-%{_libdir}/rpm/pkgconfigdeps.sh
287
-%{_libdir}/rpm/ocamldeps.sh
288
-%{_libdir}/rpm/*.prov
289
-%{_libdir}/rpm/sepdebugcrcfix
290
-
291
-%{_libdir}/rpm/rpmdeps
292
-%{_libdir}/rpm/pythondistdeps.py
268
+%{rpmhome}/macros.d/*
269
+%{rpmhome}/perl.req
270
+%{rpmhome}/find-lang.sh
271
+%{rpmhome}/find-provides
272
+%{rpmhome}/find-requires
273
+%{rpmhome}/brp-*
274
+%{rpmhome}/fileattrs/*
275
+%{rpmhome}/script.req
276
+%{rpmhome}/check-buildroot
277
+%{rpmhome}/check-files
278
+%{rpmhome}/check-prereqs
279
+%{rpmhome}/check-rpaths
280
+%{rpmhome}/check-rpaths-worker
281
+%{rpmhome}/elfdeps
282
+%{rpmhome}/mkinstalldirs
283
+%{rpmhome}/pkgconfigdeps.sh
284
+%{rpmhome}/ocamldeps.sh
285
+%{rpmhome}/*.prov
286
+%{rpmhome}/rpmdeps
287
+%{rpmhome}/find-debuginfo.sh
293 288
 
294 289
 %{_mandir}/man1/gendiff.1*
295 290
 %{_mandir}/man8/rpmbuild.8*
... ...
@@ -318,6 +347,10 @@ rm -rf %{buildroot}
318 318
 %{_mandir}/man8/rpm-plugin-systemd-inhibit.8*
319 319
 
320 320
 %changelog
321
+* Tue Feb 08 2022 Shreenidhi Shedi <sshedi@vmware.com> 4.17.1-1
322
+- Upgrade to v4.17.0
323
+- Migrate rpmdb location to /usr/lib/sysimage/rpm
324
+- More details at: https://fedoraproject.org/wiki/Changes/RelocateRPMToUsr
321 325
 * Tue Dec 21 2021 Shreenidhi Shedi <sshedi@vmware.com> 4.16.1.3-4
322 326
 - Further fix to rpm-rebuilddb.sh
323 327
 - Introduced a new locking method to handle contention while rebuilding db
324 328
new file mode 100644
... ...
@@ -0,0 +1,18 @@
0
+[Unit]
1
+Description=RPM database migration to /usr
2
+ConditionPathExists=/var/lib/rpm/.migratedb
3
+
4
+# This should run before any daemons that may open the rpmdb
5
+DefaultDependencies=no
6
+After=sysinit.target
7
+Before=basic.target shutdown.target
8
+Conflicts=shutdown.target
9
+# In case /var is remote-mounted
10
+RequiresMountsFor=/var
11
+
12
+[Service]
13
+Type=oneshot
14
+ExecStart=/usr/lib/rpm/rpmdb-migrate.sh
15
+
16
+[Install]
17
+WantedBy=basic.target
0 18
new file mode 100644
... ...
@@ -0,0 +1,66 @@
0
+#!/bin/bash
1
+
2
+# Script to migrate rpmdb from /var/lib/rpm to new rpmdb path at /usr
3
+#set -x
4
+
5
+# log file name
6
+log_fn="/var/log/rpmdb-migrate.log"
7
+
8
+# redirect stderr & stdout to log file
9
+exec > "${log_fn}" 2>&1
10
+
11
+sanity_check()
12
+{
13
+  if command -v rpm &> /dev/null; then
14
+    if rpm -q rpm &> /dev/null; then
15
+      return 0
16
+    fi
17
+  fi
18
+
19
+  if command -v tdnf &> /dev/null; then
20
+    if tdnf list installed tdnf --disablerepo=* &> /dev/null; then
21
+      return 0
22
+    fi
23
+  fi
24
+
25
+  # should not reach here
26
+  return 1
27
+}
28
+
29
+main()
30
+{
31
+  local dbpath_old="/var/lib/rpm"
32
+
33
+  if [ ! -f "${dbpath_old}/.migratedb" ]; then
34
+    echo "${dbpath_old}/.migratedb not preset, exit"
35
+    exit 0
36
+  fi
37
+
38
+  local dbpath_new="$(rpmdb -E '%_dbpath' 2>/dev/null)"
39
+
40
+  if [ "${dbpath_new}" = "${dbpath_old}" ]; then
41
+    echo "RpmDB path is still at ${dbpath_new}, exit"
42
+    exit 0
43
+  fi
44
+
45
+  if [ -L "${dbpath_old}" ]; then
46
+    echo "RpmDB has been migrated, exit"
47
+    rm -f "${dbpath_old}/.migratedb"
48
+    exit 0
49
+  fi
50
+
51
+  if ! rpmdb --rebuilddb; then
52
+    echo "ERROR: Failed to rebuild RpmDB" 1>&2
53
+    exit 1
54
+  fi
55
+
56
+  if ! sanity_check; then
57
+    echo "ERROR: sanity check failed" 1>&2
58
+    exit 1
59
+  fi
60
+
61
+  rm -rfv "${dbpath_old}"
62
+  ln -sfr "${dbpath_new}" "${dbpath_old}"
63
+}
64
+
65
+main
... ...
@@ -1,6 +1,6 @@
1 1
 [Unit]
2 2
 Description=RPM database rebuild
3
-ConditionPathExists=/var/lib/rpm/.rebuilddb
3
+ConditionPathExists=/usr/lib/sysimage/rpm/.rebuilddb
4 4
 
5 5
 # This should run before any daemons that may open the rpmdb
6 6
 DefaultDependencies=no
... ...
@@ -12,8 +12,8 @@ RequiresMountsFor=/var
12 12
 
13 13
 [Service]
14 14
 Type=oneshot
15
-ExecStart=/usr/bin/rpmdb --rebuilddb
16
-ExecStartPost=rm -f /var/lib/rpm/.rebuilddb
15
+ExecStart=/usr/lib/rpm/rpmdb-rebuild.sh
16
+ExecStartPost=rm -f /usr/lib/sysimage/rpm/.rebuilddb
17 17
 
18 18
 [Install]
19 19
 WantedBy=basic.target
20 20
new file mode 100644
... ...
@@ -0,0 +1,177 @@
0
+#!/bin/bash
1
+
2
+# Script to rebuild rpm backend db
3
+
4
+#set -x
5
+
6
+# log file name
7
+log_fn="/var/log/rpmdb-rebuild.log"
8
+
9
+# redirect stderr & stdout to log file
10
+exec > "${log_fn}" 2>&1
11
+
12
+rpmdb_dir="$(rpmdb -E '%_dbpath' 2>/dev/null)"
13
+
14
+# this serves as a key for systemd service
15
+if [ -x /usr/bin/systemctl ]; then
16
+  touch "${rpmdb_dir}/.rebuilddb"
17
+fi
18
+
19
+rpm_lock_fn="${rpmdb_dir}/.rpm.lock"
20
+lock_bin="/usr/lib/rpm/lock"
21
+lock_flag="/var/run/.lkflg"
22
+
23
+# Sometimes rebuilddb succeeds but rpm options won't work
24
+# this is a simple sanity check
25
+sanity_check()
26
+{
27
+  if command -v rpm &> /dev/null; then
28
+    if rpm -q rpm &> /dev/null; then
29
+      return 0
30
+    fi
31
+  fi
32
+
33
+  if command -v tdnf &> /dev/null; then
34
+    if tdnf list installed tdnf --disablerepo=* &> /dev/null; then
35
+      return 0
36
+    fi
37
+  fi
38
+
39
+  # should not reach here
40
+  return 1
41
+}
42
+
43
+lpid=""
44
+
45
+unlock()
46
+{
47
+  [ -f "${lock_flag}" ] && rm -f "${lock_flag}"
48
+  kill -9 "${lpid}"
49
+}
50
+
51
+get_lock()
52
+{
53
+  local retry=1500
54
+
55
+  # remove "$lock_flag" file to ensure that there is no leftover
56
+  [ -f "${lock_flag}" ] && rm -f "${lock_flag}"
57
+
58
+  "${lock_bin}" "${rpm_lock_fn}" &
59
+  lpid="$!"
60
+
61
+  # 5 min max delay
62
+  # while building ova & other images, transactions take time
63
+  while [ "${retry}" -gt 0 ]; do
64
+    if [ -f "${lock_flag}" ]; then
65
+      return 0
66
+    fi
67
+    sleep 0.2
68
+    retry=$((retry-1))
69
+  done
70
+
71
+  unlock
72
+  echo -e "\nERROR: failed to get lock"
73
+  exit 1
74
+}
75
+
76
+# Rebuild rpm db --> This should finish quick
77
+# Steps:
78
+# 1. Take backup of existing db
79
+# 2. Try rebuilding db
80
+# 3. If ok, do a sanity check and remove backup
81
+#    Else - remove the newly created /var/lib/rpmrebuilddb.* and retry
82
+#
83
+# If sanity check fails, revert backup data
84
+# Stops after 10 attempts
85
+try_rpm_rebuilddb()
86
+{
87
+  local retry=10
88
+  local backup_dir=""
89
+
90
+  if [ -x /usr/bin/systemctl ] && [ ! -f "${rpmdb_dir}/.rebuilddb" ]; then
91
+    echo "${rpmdb_dir}/.rebuilddb doesn't exist, quit"
92
+    exit 0
93
+  fi
94
+
95
+  # need 6 Xs, toybox mktemp doesn't work with 4 Xs
96
+  backup_dir="$(mktemp -d -p "${rpmdb_dir}"/.. .rpmdbXXXXXX)"
97
+  if [ "$?" -ne 0 ]; then
98
+    echo -e "\nERROR: failed to create backup directory"
99
+    return 1
100
+  fi
101
+
102
+  # During taking backup & restoring backup operations
103
+  # we need a lock, otherwise this might create contention.
104
+  #
105
+  # During this copy & restore operation, rpm transaction might run parallely
106
+  # and we might end up in an unlikely situation
107
+  if get_lock; then
108
+    # remove temporary lock files
109
+    rm -f "${rpmdb_dir}"/__db*
110
+
111
+    if ! cp -ar "${rpmdb_dir}"/* "${backup_dir}"; then
112
+      unlock
113
+      [ -d "${backup_dir}" ] && rm -rf "${backup_dir}"
114
+      echo -e "\nERROR: failed to copy contents to backup directory"
115
+      return 1
116
+    fi
117
+    unlock
118
+  fi
119
+
120
+  echo -e "\nINFO: took backup of rpmdb at ${backup_dir}"
121
+
122
+  while [ "${retry}" -gt 0 ]; do
123
+
124
+    if rpmdb --rebuilddb; then
125
+      if get_lock; then
126
+        if sanity_check; then
127
+          unlock
128
+
129
+          rm -rf "${backup_dir}" "${rpmdb_dir}"/.rebuilddb
130
+
131
+          if [ "${rpmdb_dir}" = "/usr/lib/sysimage/rpm" ]; then
132
+            rm -rf "/var/lib/rpm"
133
+            ln -sfr "${rpmdb_dir}" "/var/lib/rpm"
134
+          fi
135
+
136
+          echo -e "\nINFO: rpmdb --rebuild success"
137
+          return 0
138
+        fi
139
+
140
+        local err=0
141
+        echo -e "\n--- ERROR: SOMETHING WENT TOTALLY WRONG ---"
142
+        echo "Trying to restore RPMDB from backup directory"
143
+
144
+        if [ "${rpmdb_dir}" = "/var/lib/rpm" ] || [ "${rpmdb_dir}" = "/usr/lib/sysimage/rpm" ]; then
145
+          rm -f "${rpmdb_dir}"/*
146
+        fi
147
+
148
+        if ! cp -ar "${backup_dir}"/* "${rpmdb_dir}"; then
149
+          err=1
150
+          echo -e "\nERROR: failed copy contents from ${backup_dir} to ${rpmdb_dir}"
151
+        else
152
+          [ -d "${backup_dir}" ] && rm -rf "${backup_dir}"
153
+        fi
154
+
155
+        if [ "${err}" -eq 0 ]; then
156
+          echo -e "\nINFO: Revert from backup directory success"
157
+        fi
158
+
159
+        unlock
160
+        return 1
161
+      fi
162
+    fi
163
+
164
+    if ls "${rpmdb_dir}"/../rpmrebuilddb.* &> /dev/null; then
165
+      rm -rf "${rpmdb_dir}"/../rpmrebuilddb.*
166
+    fi
167
+
168
+    echo -e "\nERROR: failed to rebuild rpmdb, retrying"
169
+    retry=$((retry-1))
170
+
171
+  done
172
+
173
+  return 1
174
+}
175
+
176
+try_rpm_rebuilddb
... ...
@@ -1,6 +1,6 @@
1
-From bde4ceb58576e365f156fc05486f49800e16ca03 Mon Sep 17 00:00:00 2001
1
+From 1f42872d9902c93d66f0494f6ab3a07b0864cc64 Mon Sep 17 00:00:00 2001
2 2
 From: Shreenidhi Shedi <sshedi@vmware.com>
3
-Date: Fri, 13 Aug 2021 17:16:33 +0530
3
+Date: Mon, 13 Dec 2021 16:41:52 +0530
4 4
 Subject: [PATCH] lib/rpmdb.c: use a fallback method for renaming directories
5 5
 
6 6
 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>
39 39
  2 files changed, 306 insertions(+), 21 deletions(-)
40 40
 
41 41
 diff --git a/lib/rpmdb.c b/lib/rpmdb.c
42
-index 38e1cb5..710c894 100644
42
+index 2fa1f00fa..60867119b 100644
43 43
 --- a/lib/rpmdb.c
44 44
 +++ b/lib/rpmdb.c
45 45
 @@ -9,6 +9,15 @@
... ...
@@ -306,7 +306,7 @@ index 38e1cb5..710c894 100644
306 306
  static int buildIndexes(rpmdb db)
307 307
  {
308 308
      int rc = 0;
309
-@@ -494,7 +744,7 @@ static int openDatabase(const char * prefix,
309
+@@ -492,7 +742,7 @@ static int openDatabase(const char * prefix,
310 310
  
311 311
      if (dbp)
312 312
  	*dbp = NULL;
... ...
@@ -315,7 +315,7 @@ index 38e1cb5..710c894 100644
315 315
  	return 1;
316 316
  
317 317
      db = newRpmdb(prefix, dbpath, mode, perms, flags);
318
-@@ -572,7 +822,7 @@ int rpmdbVerify(const char * prefix)
318
+@@ -570,7 +820,7 @@ int rpmdbVerify(const char * prefix)
319 319
  
320 320
      if (db != NULL) {
321 321
  	int xx;
... ...
@@ -324,7 +324,7 @@ index 38e1cb5..710c894 100644
324 324
  	if (db->db_pkgs)
325 325
  	    rc += dbiVerify(db->db_pkgs, 0);
326 326
  	rc += dbiForeach(db->db_indexes, db->db_ndbi, dbiVerify, 0);
327
-@@ -585,7 +835,7 @@ int rpmdbVerify(const char * prefix)
327
+@@ -583,7 +833,7 @@ int rpmdbVerify(const char * prefix)
328 328
  }
329 329
  
330 330
  Header rpmdbGetHeaderAt(rpmdb db, unsigned int offset)
... ...
@@ -333,7 +333,7 @@ index 38e1cb5..710c894 100644
333 333
      rpmdbMatchIterator mi = rpmdbInitIterator(db, RPMDBI_PACKAGES,
334 334
  					      &offset, sizeof(offset));
335 335
      Header h = headerLink(rpmdbNextIterator(mi));
336
-@@ -758,7 +1008,7 @@ static rpmRC dbiFindMatches(rpmdb db, dbiIndex dbi,
336
+@@ -755,7 +1005,7 @@ static rpmRC dbiFindMatches(rpmdb db, dbiIndex dbi,
337 337
      /* No matches on the name, anything else wont match either */
338 338
      if (rc != RPMRC_OK)
339 339
  	goto exit;
... ...
@@ -342,7 +342,7 @@ index 38e1cb5..710c894 100644
342 342
      /* If we got matches on name and nothing else was specified, we're done */
343 343
      if (epoch < 0 && version == NULL && release == NULL && arch == NULL)
344 344
  	goto exit;
345
-@@ -1303,7 +1553,7 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
345
+@@ -1300,7 +1550,7 @@ int rpmdbSetIteratorRE(rpmdbMatchIterator mi, rpmTagVal tag,
346 346
      mi->mi_re = xrealloc(mi->mi_re, (mi->mi_nre + 1) * sizeof(*mi->mi_re));
347 347
      mire = mi->mi_re + mi->mi_nre;
348 348
      mi->mi_nre++;
... ...
@@ -351,7 +351,7 @@ index 38e1cb5..710c894 100644
351 351
      mire->tag = tag;
352 352
      mire->mode = mode;
353 353
      mire->pattern = allpat;
354
-@@ -1755,7 +2005,7 @@ static rpmdbMatchIterator indexIterInit(rpmdb db, rpmDbiTagVal rpmtag,
354
+@@ -1752,7 +2002,7 @@ static rpmdbMatchIterator indexIterInit(rpmdb db, rpmDbiTagVal rpmtag,
355 355
  	    }
356 356
  	}
357 357
      }
... ...
@@ -360,10 +360,10 @@ index 38e1cb5..710c894 100644
360 360
      return mi;
361 361
  }
362 362
  
363
-@@ -1814,9 +2064,9 @@ rpmdbMatchIterator rpmdbInitPrefixIterator(rpmdb db, rpmDbiTagVal rpmtag,
363
+@@ -1811,9 +2061,9 @@ rpmdbMatchIterator rpmdbInitPrefixIterator(rpmdb db, rpmDbiTagVal rpmtag,
364 364
   * Convert current tag data to db key
365 365
   * @param tagdata	Tag data container
366
-  * @retval keylen	Length of key
366
+  * @param[out] keylen	Length of key
367 367
 - * @return 		Pointer to key value or NULL to signal skip 
368 368
 + * @return 		Pointer to key value or NULL to signal skip
369 369
   */
... ...
@@ -372,7 +372,7 @@ index 38e1cb5..710c894 100644
372 372
  {
373 373
      const void * data = NULL;
374 374
      unsigned int size = 0;
375
-@@ -1964,7 +2214,7 @@ int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd)
375
+@@ -1961,7 +2211,7 @@ int rpmdbIndexIteratorNextTd(rpmdbIndexIterator ii, rpmtd keytd)
376 376
  	    break;
377 377
  	}
378 378
      }
... ...
@@ -381,7 +381,7 @@ index 38e1cb5..710c894 100644
381 381
      return rc;
382 382
  }
383 383
  
384
-@@ -2042,11 +2292,11 @@ static void logAddRemove(const char *dbiname, int removing, rpmtd tagdata)
384
+@@ -2039,11 +2289,11 @@ static void logAddRemove(const char *dbiname, int removing, rpmtd tagdata)
385 385
      rpm_count_t c = rpmtdCount(tagdata);
386 386
      if (c == 1 && rpmtdType(tagdata) == RPM_STRING_TYPE) {
387 387
  	rpmlog(RPMLOG_DEBUG, "%s \"%s\" %s %s index.\n",
... ...
@@ -395,7 +395,7 @@ index 38e1cb5..710c894 100644
395 395
  		removing ? "from" : "to", dbiname);
396 396
      }
397 397
  }
398
-@@ -2319,7 +2569,7 @@ int rpmdbAdd(rpmdb db, Header h)
398
+@@ -2316,7 +2566,7 @@ int rpmdbAdd(rpmdb db, Header h)
399 399
      ret = pkgdbOpen(db, 0, &dbi);
400 400
      if (ret)
401 401
  	goto exit;
... ...
@@ -404,7 +404,7 @@ index 38e1cb5..710c894 100644
404 404
      rpmsqBlock(SIG_BLOCK);
405 405
      dbCtrl(db, DB_CTRL_LOCK_RW);
406 406
  
407
-@@ -2329,7 +2579,7 @@ int rpmdbAdd(rpmdb db, Header h)
407
+@@ -2326,7 +2576,7 @@ int rpmdbAdd(rpmdb db, Header h)
408 408
      dbiCursorFree(dbi, dbc);
409 409
  
410 410
      /* Add associated data to secondary indexes */
... ...
@@ -413,7 +413,7 @@ index 38e1cb5..710c894 100644
413 413
  	for (int dbix = 0; dbix < db->db_ndbi; dbix++) {
414 414
  	    rpmDbiTag rpmtag = db->db_tags[dbix];
415 415
  
416
-@@ -2375,7 +2625,7 @@ static int rpmdbRemoveFiles(char * pattern)
416
+@@ -2372,7 +2622,7 @@ static int rpmdbRemoveFiles(char * pattern)
417 417
  
418 418
  static int rpmdbRemoveDatabase(const char *dbpath)
419 419
  {
... ...
@@ -422,7 +422,7 @@ index 38e1cb5..710c894 100644
422 422
      char *pattern;
423 423
  
424 424
      pattern = rpmGetPath(dbpath, "/*", NULL);
425
-@@ -2384,11 +2634,23 @@ static int rpmdbRemoveDatabase(const char *dbpath)
425
+@@ -2381,11 +2631,23 @@ static int rpmdbRemoveDatabase(const char *dbpath)
426 426
      pattern = rpmGetPath(dbpath, "/.??*", NULL);
427 427
      rc += rpmdbRemoveFiles(pattern);
428 428
      free(pattern);
... ...
@@ -447,7 +447,7 @@ index 38e1cb5..710c894 100644
447 447
  static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
448 448
  			     const char * dbpath, const char * tmppath)
449 449
  {
450
-@@ -2401,14 +2663,14 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
450
+@@ -2398,14 +2660,14 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
451 451
      char * oldkeys = rpmGetPath(old, "/", "pubkeys", NULL);
452 452
      char * destkeys = rpmGetPath(dest, "/", "pubkeys", NULL);
453 453
  
... ...
@@ -465,7 +465,7 @@ index 38e1cb5..710c894 100644
465 465
  	if (xx) {
466 466
  	    rpmlog(RPMLOG_ERR, _("could also not restore old database from %s\n"),
467 467
  		   old);
468
-@@ -2419,7 +2681,7 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
468
+@@ -2416,7 +2678,7 @@ static int rpmdbMoveDatabase(const char * prefix, const char * srcdbpath,
469 469
      }
470 470
  
471 471
      if (access(oldkeys, F_OK ) != -1) {
... ...
@@ -474,7 +474,7 @@ index 38e1cb5..710c894 100644
474 474
  	if (xx) {
475 475
  	    rpmlog(RPMLOG_ERR, _("Could not get public keys from %s\n"), oldkeys);
476 476
  	    goto exit;
477
-@@ -2450,7 +2712,7 @@ static int rpmdbSetPermissions(char * src, char * dest)
477
+@@ -2447,7 +2709,7 @@ static int rpmdbSetPermissions(char * src, char * dest)
478 478
      struct stat st;
479 479
      int xx, rc = -1;
480 480
      char * filepath;
... ...
@@ -483,7 +483,7 @@ index 38e1cb5..710c894 100644
483 483
      if (stat(dest, &st) < 0)
484 484
  	    goto exit;
485 485
      if (stat(src, &st) < 0)
486
-@@ -2583,7 +2845,7 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
486
+@@ -2580,7 +2842,7 @@ int rpmdbRebuild(const char * prefix, rpmts ts,
487 487
      rpmdbClose(newdb);
488 488
  
489 489
      if (failed) {
... ...
@@ -493,7 +493,7 @@ index 38e1cb5..710c894 100644
493 493
  		"remains in place\n"));
494 494
  
495 495
 diff --git a/lib/rpmdb.h b/lib/rpmdb.h
496
-index 8e3ab5a..eb4dac2 100644
496
+index c8f838cac..bd91060ac 100644
497 497
 --- a/lib/rpmdb.h
498 498
 +++ b/lib/rpmdb.h
499 499
 @@ -251,6 +251,29 @@ int rpmdbStat(const char *prefix, struct stat *statbuf);
... ...
@@ -527,5 +527,5 @@ index 8e3ab5a..eb4dac2 100644
527 527
  }
528 528
  #endif
529 529
 -- 
530
-2.17.1
530
+2.25.1
531 531
 
... ...
@@ -1,17 +1,19 @@
1 1
 Summary:        Rocket-fast system for log processing
2 2
 Name:           rsyslog
3 3
 Version:        8.2202.0
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        GPLv3+ and ASL 2.0
6
-URL:            http://www.rsyslog.com/
6
+URL:            http://www.rsyslog.com
7
+Group:          System Environment/Base
8
+Vendor:         VMware, Inc.
9
+Distribution:   Photon
10
+
7 11
 Source0:        http://www.rsyslog.com/files/download/rsyslog/%{name}-%{version}.tar.gz
8
-%define sha512    rsyslog=b1c68099236cc0722f52822f8b46d7f2a4a023e0809907f2b0173d5593df3c6f914516310bd832ac028252fb2c467dc90756d4472950e4244f3919b328a8bd6e
12
+%define sha512  %{name}=b1c68099236cc0722f52822f8b46d7f2a4a023e0809907f2b0173d5593df3c6f914516310bd832ac028252fb2c467dc90756d4472950e4244f3919b328a8bd6e
9 13
 Source1:        rsyslog.service
10 14
 Source2:        50-rsyslog-journald.conf
11 15
 Source3:        rsyslog.conf
12
-Group:          System Environment/Base
13
-Vendor:         VMware, Inc.
14
-Distribution:   Photon
16
+
15 17
 BuildRequires:  systemd-devel
16 18
 BuildRequires:  libestr-devel
17 19
 BuildRequires:  libfastjson-devel
... ...
@@ -21,6 +23,8 @@ BuildRequires:  librelp-devel
21 21
 BuildRequires:  autogen
22 22
 BuildRequires:  gnutls-devel
23 23
 BuildRequires:  curl-devel
24
+BuildRequires:  libgpg-error-devel
25
+
24 26
 Requires:       gnutls
25 27
 Requires:       systemd
26 28
 Requires:       libestr
... ...
@@ -28,6 +32,7 @@ Requires:       libfastjson
28 28
 Requires:       libgcrypt
29 29
 Requires:       liblogging
30 30
 Requires:       librelp
31
+Requires:       libgpg-error
31 32
 
32 33
 %description
33 34
 RSYSLOG is the rocket-fast system for log processing.
... ...
@@ -56,17 +61,19 @@ make %{?_smp_mflags}
56 56
 
57 57
 %install
58 58
 make DESTDIR=%{buildroot} install %{?_smp_mflags}
59
-install -vd %{buildroot}%{_libdir}/systemd/system/
60
-install -vd %{buildroot}%{_sysconfdir}/systemd/journald.conf.d/
59
+install -vd %{buildroot}%{_unitdir}
60
+install -vd %{buildroot}%{_sysconfdir}/systemd/journald.conf.d
61 61
 install -vd %{buildroot}%{_sysconfdir}/rsyslog.d
62
-rm -f %{buildroot}/lib/systemd/system/rsyslog.service
63
-install -p -m 644 %{SOURCE1} %{buildroot}%{_libdir}/systemd/system/
64
-install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/systemd/journald.conf.d/
62
+rm -f %{buildroot}%{_unitdir}/rsyslog.service
63
+install -p -m 644 %{SOURCE1} %{buildroot}%{_unitdir}
64
+install -p -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/systemd/journald.conf.d
65 65
 install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/rsyslog.conf
66 66
 find %{buildroot} -name '*.la' -delete
67 67
 
68 68
 %check
69
+%if 0%{?with_check}
69 70
 make %{?_smp_mflags} check
71
+%endif
70 72
 
71 73
 %post
72 74
 /sbin/ldconfig
... ...
@@ -85,68 +92,70 @@ make %{?_smp_mflags} check
85 85
 %{_libdir}/rsyslog/*.so
86 86
 %{_mandir}/man5/*
87 87
 %{_mandir}/man8/*
88
-%{_libdir}/systemd/system/rsyslog.service
88
+%{_unitdir}/rsyslog.service
89 89
 %dir %{_sysconfdir}/rsyslog.d
90 90
 %{_sysconfdir}/systemd/journald.conf.d/*
91 91
 %config(noreplace) %{_sysconfdir}/rsyslog.conf
92 92
 
93 93
 %changelog
94
-*   Tue Apr 19 2022 Gerrit Photon <photon-checkins@vmware.com> 8.2202.0-1
95
--   Automatic Version Bump
96
-*   Mon Nov 15 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 8.2110.0-2
97
--   Bump up release for openssl
98
-*   Fri Nov 12 2021 Tapas Kundu <tkundu@vmware.com> 8.2110.0-1
99
--   Update to 8.2110.0
100
-*   Thu Jun 24 2021 Tapas Kundu <tkundu@vmware.com> 8.2106.0-1
101
--   Update to 8.2106.0
102
-*   Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 8.2104.0-1
103
--   Automatic Version Bump
104
-*   Mon Oct 05 2020 Keerthana K <keerthanak@vmware.com> 8.2008.0-2
105
--   Adding rsyslog.d directory
106
-*   Wed Aug 26 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2008.0-1
107
--   Automatic Version Bump
108
-*   Mon Jun 22 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2006.0-1
109
--   Automatic Version Bump
110
-*   Mon Jan 27 2020 Tapas Kundu <tkundu@vmware.com> 8.2001.0-1
111
--   Update to 8.2001.0
112
-*   Mon Dec 23 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-4
113
--   Fix typo in conf file.
114
-*   Thu Nov 21 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-3
115
--   Added config noreplace for rsyslog.conf
116
-*   Mon Nov 04 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-2
117
--   Built with imtcp and openssl
118
--   Added patch to fix openssl version in rsyslog source
119
-*   Wed Oct 16 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-1
120
--   Update to 8.1910.0 release
121
--   Fix CVE-2019-17041 and CVE-2019-17042
122
-*   Fri Oct 04 2019 Keerthana K <keerthanak@vmware.com> 8.1907.0-1
123
--   Update to 8.1907.0
124
--   Fix CVE-2019-17040
125
-*   Mon Sep 10 2018 Keerthana K <keerthanak@vmware.com> 8.37.0-1
126
--   Updated to version 8.37.0
127
-*   Thu Apr 12 2018 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-5
128
--   Add $IncludeConfig /etc/rsyslog.d/ to rsyslog.conf
129
-*   Fri Dec 15 2017 Anish Swaminathan <anishs@vmware.com>  8.26.0-4
130
--   Remove kill SIGHUP from service file
131
-*   Mon Nov 13 2017 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-3
132
--   Add a default rsyslog.conf.
133
-*   Tue Aug 15 2017 Dheeraj Shetty <dheerajs@vmware.com>  8.26.0-2
134
--   Fix CVE-2017-12588
135
-*   Mon  Apr 24 2017 Siju Maliakkal <smaliakkal@vmware.com>  8.26.0-1
136
--   Update to latest
137
-*   Fri Nov 18 2016 Anish Swaminathan <anishs@vmware.com>  8.15.0-7
138
--   Change systemd dependency
139
-*   Wed Oct 05 2016 ChangLee <changlee@vmware.com> 8.15.0-6
140
--   Modified %check
141
-*   Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com>  8.15.0-5
142
--   Fixed logic to restart the active services after upgrade
143
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-4
144
--   GA - Bump release of all rpms
145
-*   Wed May 4 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com>  8.15.0-3
146
--   Use systemd macros for post, preun and postun to respect upgrades
147
-*   Wed Feb 17 2016 Anish Swaminathan <anishs@vmware.com>  8.15.0-2
148
--   Add journald conf and new service file.
149
-*   Mon Jan 11  2016 Xiaolin Li <xiaolinl@vmware.com> 8.15.0-1
150
--   Update rsyslog to 8.15.0
151
-*   Wed Jun 17 2015 Divya Thaluru <dthaluru@vmware.com> 8.10.0-1
152
--   Initial build. First version
94
+* Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.2202.0-2
95
+- Add libgpg-error-devel to BuildRequires
96
+* Tue Apr 19 2022 Gerrit Photon <photon-checkins@vmware.com> 8.2202.0-1
97
+- Automatic Version Bump
98
+* Mon Nov 15 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 8.2110.0-2
99
+- Bump up release for openssl
100
+* Fri Nov 12 2021 Tapas Kundu <tkundu@vmware.com> 8.2110.0-1
101
+- Update to 8.2110.0
102
+* Thu Jun 24 2021 Tapas Kundu <tkundu@vmware.com> 8.2106.0-1
103
+- Update to 8.2106.0
104
+* Tue Apr 13 2021 Gerrit Photon <photon-checkins@vmware.com> 8.2104.0-1
105
+- Automatic Version Bump
106
+* Mon Oct 05 2020 Keerthana K <keerthanak@vmware.com> 8.2008.0-2
107
+- Adding rsyslog.d directory
108
+* Wed Aug 26 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2008.0-1
109
+- Automatic Version Bump
110
+* Mon Jun 22 2020 Gerrit Photon <photon-checkins@vmware.com> 8.2006.0-1
111
+- Automatic Version Bump
112
+* Mon Jan 27 2020 Tapas Kundu <tkundu@vmware.com> 8.2001.0-1
113
+- Update to 8.2001.0
114
+* Mon Dec 23 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-4
115
+- Fix typo in conf file.
116
+* Thu Nov 21 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-3
117
+- Added config noreplace for rsyslog.conf
118
+* Mon Nov 04 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-2
119
+- Built with imtcp and openssl
120
+- Added patch to fix openssl version in rsyslog source
121
+* Wed Oct 16 2019 Tapas Kundu <tkundu@vmware.com> 8.1910.0-1
122
+- Update to 8.1910.0 release
123
+- Fix CVE-2019-17041 and CVE-2019-17042
124
+* Fri Oct 04 2019 Keerthana K <keerthanak@vmware.com> 8.1907.0-1
125
+- Update to 8.1907.0
126
+- Fix CVE-2019-17040
127
+* Mon Sep 10 2018 Keerthana K <keerthanak@vmware.com> 8.37.0-1
128
+- Updated to version 8.37.0
129
+* Thu Apr 12 2018 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-5
130
+- Add $IncludeConfig /etc/rsyslog.d/ to rsyslog.conf
131
+* Fri Dec 15 2017 Anish Swaminathan <anishs@vmware.com>  8.26.0-4
132
+- Remove kill SIGHUP from service file
133
+* Mon Nov 13 2017 Xiaolin Li <xiaolinl@vmware.com> 8.26.0-3
134
+- Add a default rsyslog.conf.
135
+* Tue Aug 15 2017 Dheeraj Shetty <dheerajs@vmware.com>  8.26.0-2
136
+- Fix CVE-2017-12588
137
+* Mon  Apr 24 2017 Siju Maliakkal <smaliakkal@vmware.com>  8.26.0-1
138
+- Update to latest
139
+* Fri Nov 18 2016 Anish Swaminathan <anishs@vmware.com>  8.15.0-7
140
+- Change systemd dependency
141
+* Wed Oct 05 2016 ChangLee <changlee@vmware.com> 8.15.0-6
142
+- Modified %check
143
+* Thu May 26 2016 Divya Thaluru <dthaluru@vmware.com>  8.15.0-5
144
+- Fixed logic to restart the active services after upgrade
145
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 8.15.0-4
146
+- GA - Bump release of all rpms
147
+* Wed May 4 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com>  8.15.0-3
148
+- Use systemd macros for post, preun and postun to respect upgrades
149
+* Wed Feb 17 2016 Anish Swaminathan <anishs@vmware.com>  8.15.0-2
150
+- Add journald conf and new service file.
151
+* Mon Jan 11  2016 Xiaolin Li <xiaolinl@vmware.com> 8.15.0-1
152
+- Update rsyslog to 8.15.0
153
+* Wed Jun 17 2015 Divya Thaluru <dthaluru@vmware.com> 8.10.0-1
154
+- Initial build. First version
... ...
@@ -1,23 +1,27 @@
1 1
 Summary:        Ruby
2 2
 Name:           ruby
3 3
 Version:        2.7.1
4
-Release:        3%{?dist}
4
+Release:        4%{?dist}
5 5
 License:        BSDL
6
-URL:            https://www.ruby-lang.org/en/
6
+URL:            https://www.ruby-lang.org/en
7 7
 Group:          System Environment/Security
8 8
 Vendor:         VMware, Inc.
9 9
 Distribution:   Photon
10
+
10 11
 Source0:        https://cache.ruby-lang.org/pub/ruby/2.7/%{name}-%{version}.tar.bz2
11
-%define sha1    ruby=e83a084a4329e1e3f55591bf5ac0c8ebed6444b3
12
+%define sha512 %{name}=4af568f5210379239531dbc54d35739f6ff7ab1d7ffcafc54fed2afeb2b30450d2df386504edf96a494465b3f5fd90cb030974668aa7a1fde5a6b042ea9ca858
13
+
14
+Patch0:         0001-openssl-3.0.0-compatibility.patch
15
+
12 16
 BuildRequires:  openssl-devel
13 17
 BuildRequires:  ca-certificates
14 18
 BuildRequires:  readline-devel
15 19
 BuildRequires:  readline
16 20
 BuildRequires:  tzdata
21
+
17 22
 Requires:       ca-certificates
18 23
 Requires:       openssl
19 24
 Requires:       gmp
20
-Patch0:         0001-openssl-3.0.0-compatibility.patch
21 25
 
22 26
 %description
23 27
 The Ruby package contains the Ruby development environment.
... ...
@@ -35,21 +39,24 @@ for f in `grep -ril "\/usr\/local\/bin\/ruby" ./libexec/`; do
35 35
   head -1 $f
36 36
 done
37 37
 %configure \
38
-        --enable-shared \
39
-        --docdir=%{_docdir}/%{name}-%{version} \
40
-	--with-compress-debug-sections=no
38
+  --enable-shared \
39
+  --docdir=%{_docdir}/%{name}-%{version} \
40
+  --with-compress-debug-sections=no
41
+
41 42
 make %{?_smp_mflags} COPY="cp -p"
42 43
 
43 44
 %install
44 45
 [ %{buildroot} != "/" ] && rm -rf %{buildroot}/*
45
-%make_install
46
+%make_install %{?_smp_mflags}
46 47
 
47 48
 %check
49
+%if 0%{?with_check}
48 50
 chmod g+w . -R
49 51
 useradd test -G root -m
50
-sudo -u test  make check TESTS="-v"
52
+sudo -u test make check TESTS="-v" %{?_smp_mflags}
53
+%endif
51 54
 
52
-%post   -p /sbin/ldconfig
55
+%post -p /sbin/ldconfig
53 56
 %postun -p /sbin/ldconfig
54 57
 
55 58
 %clean
... ...
@@ -69,50 +76,52 @@ rm -rf %{buildroot}/*
69 69
 %{_mandir}/man5/*
70 70
 
71 71
 %changelog
72
-*   Fri Jun 04 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-3
73
--   openssl 3.0.0 support
74
-*   Tue Sep 29 2020 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-2
75
--   openssl 1.1.1
76
-*   Tue Sep 01 2020 Sujay G <gsujay@vmware.com> 2.7.1-1
77
--   Bump version to 2.7.1
78
-*   Fri Jul 17 2020 Ankit Jain <ankitja@vmware.com> 2.5.8-2
79
--   Added --with-compress-debug-sections=no to fix build issue
80
-*   Wed May 13 2020 Sujay G <gsujay@vmware.com> 2.5.8-1
81
--   Bump version to 2.5.8
82
-*   Tue Jan 01 2019 Sujay G <gsujay@vmware.com> 2.5.3-1
83
--   Update to version 2.5.3, to fix CVE-2018-16395 & CVE-2018-16396
84
-*   Tue Sep 11 2018 srinidhira0 <srinidhir@vmware.com> 2.5.1-1
85
--   Update to version 2.5.1
86
-*   Fri Jan 12 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-2
87
--   Fix CVE-2017-17790
88
-*   Wed Jan 03 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-1
89
--   Update to version 2.4.3, fix CVE-2017-17405
90
-*   Fri Sep 29 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.2-1
91
--   Update to version 2.4.2
92
-*   Fri Sep 15 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.1-5
93
--   [security] CVE-2017-14064
94
-*   Tue Sep 05 2017 Chang Lee <changlee@vmware.com> 2.4.1-4
95
--   Built with copy preserve mode and fixed %check
96
-*   Mon Jul 24 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-3
97
--   [security] CVE-2017-9228
98
-*   Tue Jun 13 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-2
99
--   [security] CVE-2017-9224,CVE-2017-9225
100
--   [security] CVE-2017-9227,CVE-2017-9229
101
-*   Thu Apr 13 2017 Siju Maliakkal <smaliakkal@vmware.com> 2.4.1-1
102
--   Update to latest 2.4.1
103
-*   Wed Jan 18 2017 Anish Swaminathan <anishs@vmware.com> 2.4.0-1
104
--   Update to 2.4.0 - Fixes CVE-2016-2339
105
-*   Mon Oct 10 2016 ChangLee <changlee@vmware.com> 2.3.0-4
106
--   Modified %check
107
-*   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-3
108
--   GA - Bump release of all rpms
109
-*   Wed Mar 09 2016 Divya Thaluru <dthaluru@vmware.com> 2.3.0-2
110
--   Adding readline support
111
-*   Wed Jan 20 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-1
112
--   Updated to 2.3.0-1
113
-*   Tue Apr 28 2015 Fabio Rapposelli <fabio@vmware.com> 2.2.1-2
114
--   Added SSL support
115
-*   Mon Apr 6 2015 Mahmoud Bassiouny <mbassiouny@vmware.com> 2.2.1-1
116
--   Version upgrade to 2.2.1
117
-*   Fri Oct 10 2014 Divya Thaluru <dthaluru@vmware.com> 2.1.3-1
118
--   Initial build.  First version
72
+* Sat Feb 12 2022 Shreenidhi Shedi <sshedi@vmware.com> 2.7.1-4
73
+- Drop libdb support
74
+* Fri Jun 04 2021 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-3
75
+- openssl 3.0.0 support
76
+* Tue Sep 29 2020 Satya Naga Vasamsetty <svasamsetty@vmware.com> 2.7.1-2
77
+- openssl 1.1.1
78
+* Tue Sep 01 2020 Sujay G <gsujay@vmware.com> 2.7.1-1
79
+- Bump version to 2.7.1
80
+* Fri Jul 17 2020 Ankit Jain <ankitja@vmware.com> 2.5.8-2
81
+- Added --with-compress-debug-sections=no to fix build issue
82
+* Wed May 13 2020 Sujay G <gsujay@vmware.com> 2.5.8-1
83
+- Bump version to 2.5.8
84
+* Tue Jan 01 2019 Sujay G <gsujay@vmware.com> 2.5.3-1
85
+- Update to version 2.5.3, to fix CVE-2018-16395 & CVE-2018-16396
86
+* Tue Sep 11 2018 srinidhira0 <srinidhir@vmware.com> 2.5.1-1
87
+- Update to version 2.5.1
88
+* Fri Jan 12 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-2
89
+- Fix CVE-2017-17790
90
+* Wed Jan 03 2018 Xiaolin Li <xiaolinl@vmware.com> 2.4.3-1
91
+- Update to version 2.4.3, fix CVE-2017-17405
92
+* Fri Sep 29 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.2-1
93
+- Update to version 2.4.2
94
+* Fri Sep 15 2017 Xiaolin Li <xiaolinl@vmware.com> 2.4.1-5
95
+- [security] CVE-2017-14064
96
+* Tue Sep 05 2017 Chang Lee <changlee@vmware.com> 2.4.1-4
97
+- Built with copy preserve mode and fixed %check
98
+* Mon Jul 24 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-3
99
+- [security] CVE-2017-9228
100
+* Tue Jun 13 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.4.1-2
101
+- [security] CVE-2017-9224,CVE-2017-9225
102
+- [security] CVE-2017-9227,CVE-2017-9229
103
+* Thu Apr 13 2017 Siju Maliakkal <smaliakkal@vmware.com> 2.4.1-1
104
+- Update to latest 2.4.1
105
+* Wed Jan 18 2017 Anish Swaminathan <anishs@vmware.com> 2.4.0-1
106
+- Update to 2.4.0 - Fixes CVE-2016-2339
107
+* Mon Oct 10 2016 ChangLee <changlee@vmware.com> 2.3.0-4
108
+- Modified %check
109
+* Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-3
110
+- GA - Bump release of all rpms
111
+* Wed Mar 09 2016 Divya Thaluru <dthaluru@vmware.com> 2.3.0-2
112
+- Adding readline support
113
+* Wed Jan 20 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.3.0-1
114
+- Updated to 2.3.0-1
115
+* Tue Apr 28 2015 Fabio Rapposelli <fabio@vmware.com> 2.2.1-2
116
+- Added SSL support
117
+* Mon Apr 6 2015 Mahmoud Bassiouny <mbassiouny@vmware.com> 2.2.1-1
118
+- Version upgrade to 2.2.1
119
+* Fri Oct 10 2014 Divya Thaluru <dthaluru@vmware.com> 2.1.3-1
120
+- Initial build.  First version
119 121
deleted file mode 100644
... ...
@@ -1,106 +0,0 @@
1
-From 7e3105c0a5126624ce8673d6a6028b57cdf90fba Mon Sep 17 00:00:00 2001
2
-From: Satya Naga Rajesh Vasamsetty <svasamsetty@vmware.com>
3
-Date: Thu, 26 Nov 2020 16:40:08 +0530
4
-Subject: [PATCH] sendmail: fix compatibility with openssl 3.0
5
-
6
-
7
-diff --git a/sendmail/tls.c b/sendmail/tls.c
8
-index 696d32f..2b74828 100644
9
-+++ b/sendmail/tls.c
10
-@@ -80,31 +80,22 @@ static DH *
11
- get_dh512()
12
- {
13
- 	DH *dh = NULL;
14
--#  if MTA_HAVE_DH_set0_pqg
15
--	BIGNUM *dhp_bn, *dhg_bn;
16
--#  endif
17
--
18
--	if ((dh = DH_new()) == NULL)
19
--		return NULL;
20
--#  if MTA_HAVE_DH_set0_pqg
21
--	dhp_bn = BN_bin2bn(dh512_p, sizeof (dh512_p), NULL);
22
--	dhg_bn = BN_bin2bn(dh512_g, sizeof (dh512_g), NULL);
23
--	if (dhp_bn == NULL || dhg_bn == NULL || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))  {
24
--		DH_free(dh);
25
--		BN_free(dhp_bn);
26
--		BN_free(dhg_bn);
27
--		return NULL;
28
--	}
29
--#  else
30
--	dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
31
--	dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
32
--	if ((dh->p == NULL) || (dh->g == NULL))
33
--	{
34
--		DH_free(dh);
35
--		return NULL;
36
--	}
37
--#  endif
38
-+	BIGNUM *p;
39
-+	BIGNUM *g;
40
-+
41
-+	dh = DH_new();
42
-+	p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
43
-+	g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
44
-+	if (!dh || !p || !g)
45
-+		goto err;
46
-+	if (!DH_set0_pqg(dh, p, NULL, g))
47
-+		goto err;
48
- 	return dh;
49
-+err:
50
-+	DH_free(dh);
51
-+	BN_free(p);
52
-+	BN_free(g);
53
-+	return NULL;
54
- }
55
- 
56
- #  if 0
57
-@@ -150,31 +141,22 @@ get_dh2048()
58
- 		};
59
- 	static unsigned char dh2048_g[]={ 0x02, };
60
- 	DH *dh;
61
--#  if MTA_HAVE_DH_set0_pqg
62
--	BIGNUM *dhp_bn, *dhg_bn;
63
--#  endif
64
--
65
--	if ((dh=DH_new()) == NULL)
66
--		return(NULL);
67
--#  if MTA_HAVE_DH_set0_pqg
68
--	dhp_bn = BN_bin2bn(dh2048_p, sizeof (dh2048_p), NULL);
69
--	dhg_bn = BN_bin2bn(dh2048_g, sizeof (dh2048_g), NULL);
70
--	if (dhp_bn == NULL || dhg_bn == NULL || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))  {
71
--		DH_free(dh);
72
--		BN_free(dhp_bn);
73
--		BN_free(dhg_bn);
74
--		return NULL;
75
--	}
76
--#  else
77
--	dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
78
--	dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
79
--	if ((dh->p == NULL) || (dh->g == NULL))
80
--	{
81
--		DH_free(dh);
82
--		return(NULL);
83
--	}
84
--#  endif
85
-+	BIGNUM *p;
86
-+	BIGNUM *g;
87
-+
88
-+	dh = DH_new();
89
-+	p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
90
-+	g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
91
-+	if (!dh || !p || !g)
92
-+		goto err;
93
-+	if (!DH_set0_pqg(dh, p, NULL, g))
94
-+		goto err;
95
- 	return(dh);
96
-+err:
97
-+	DH_free(dh);
98
-+	BN_free(p);
99
-+	BN_free(g);
100
-+	return NULL;
101
- }
102
- # endif /* !NO_DH */
103
- 
104
-2.7.4
105 1
new file mode 100644
... ...
@@ -0,0 +1,122 @@
0
+From ffca6997a191a02ef41268d2979909286fe72bea Mon Sep 17 00:00:00 2001
1
+From: Shreenidhi Shedi <sshedi@vmware.com>
2
+Date: Sat, 12 Feb 2022 23:16:27 +0530
3
+Subject: [PATCH] fix compatibility with openssl 3.0
4
+
5
+Signed-off-by: Shreenidhi Shedi <sshedi@vmware.com>
6
+---
7
+ sendmail/tls.c | 88 +++++++++++++++++++++++---------------------------
8
+ 1 file changed, 40 insertions(+), 48 deletions(-)
9
+
10
+diff --git a/sendmail/tls.c b/sendmail/tls.c
11
+index e2cac76..b31844f 100644
12
+--- a/sendmail/tls.c
13
+@@ -86,31 +86,26 @@ static DH *
14
+ get_dh512()
15
+ {
16
+ 	DH *dh = NULL;
17
+-#  if MTA_HAVE_DH_set0_pqg
18
+-	BIGNUM *dhp_bn, *dhg_bn;
19
+-#  endif
20
++	BIGNUM *p;
21
++	BIGNUM *g;
22
+ 
23
+-	if ((dh = DH_new()) == NULL)
24
+-		return NULL;
25
+-#  if MTA_HAVE_DH_set0_pqg
26
+-	dhp_bn = BN_bin2bn(dh512_p, sizeof (dh512_p), NULL);
27
+-	dhg_bn = BN_bin2bn(dh512_g, sizeof (dh512_g), NULL);
28
+-	if (dhp_bn == NULL || dhg_bn == NULL || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))  {
29
+-		DH_free(dh);
30
+-		BN_free(dhp_bn);
31
+-		BN_free(dhg_bn);
32
+-		return NULL;
33
+-	}
34
+-#  else
35
+-	dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
36
+-	dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
37
+-	if ((dh->p == NULL) || (dh->g == NULL))
38
+-	{
39
+-		DH_free(dh);
40
+-		return NULL;
41
+-	}
42
+-#  endif
43
+-	return dh;
44
++	dh = DH_new();
45
++	p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
46
++	g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
47
++
48
++    if (!dh || !p || !g)
49
++		goto err;
50
++
51
++    if (!DH_set0_pqg(dh, p, NULL, g))
52
++		goto err;
53
++
54
++ 	return dh;
55
++
56
++err:
57
++	DH_free(dh);
58
++	BN_free(p);
59
++	BN_free(g);
60
++	return NULL;
61
+ }
62
+ 
63
+ #  if 0
64
+@@ -155,32 +150,29 @@ get_dh2048()
65
+ 		0x6C,0x79,0xA2,0x83,
66
+ 		};
67
+ 	static unsigned char dh2048_g[]={ 0x02, };
68
++
69
+ 	DH *dh;
70
+-#  if MTA_HAVE_DH_set0_pqg
71
+-	BIGNUM *dhp_bn, *dhg_bn;
72
+-#  endif
73
+ 
74
+-	if ((dh=DH_new()) == NULL)
75
+-		return(NULL);
76
+-#  if MTA_HAVE_DH_set0_pqg
77
+-	dhp_bn = BN_bin2bn(dh2048_p, sizeof (dh2048_p), NULL);
78
+-	dhg_bn = BN_bin2bn(dh2048_g, sizeof (dh2048_g), NULL);
79
+-	if (dhp_bn == NULL || dhg_bn == NULL || !DH_set0_pqg(dh, dhp_bn, NULL, dhg_bn))  {
80
+-		DH_free(dh);
81
+-		BN_free(dhp_bn);
82
+-		BN_free(dhg_bn);
83
+-		return NULL;
84
+-	}
85
+-#  else
86
+-	dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
87
+-	dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
88
+-	if ((dh->p == NULL) || (dh->g == NULL))
89
+-	{
90
+-		DH_free(dh);
91
+-		return(NULL);
92
+-	}
93
+-#  endif
94
+-	return(dh);
95
++	BIGNUM *p;
96
++	BIGNUM *g;
97
++
98
++	dh = DH_new();
99
++	p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL);
100
++	g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL);
101
++
102
++    if (!dh || !p || !g)
103
++		goto err;
104
++
105
++    if (!DH_set0_pqg(dh, p, NULL, g))
106
++		goto err;
107
++
108
++    return(dh);
109
++
110
++err:
111
++	DH_free(dh);
112
++	BN_free(p);
113
++	BN_free(g);
114
++	return NULL;
115
+ }
116
+ # endif /* !NO_DH */
117
+ 
118
+-- 
119
+2.25.1
120
+
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:          Commonly used Mail transport agent (MTA)
2 2
 Name:             sendmail
3 3
 Version:          8.17.1
4
-Release:          2%{?dist}
4
+Release:          3%{?dist}
5 5
 URL:              http://www.sendmail.org
6 6
 License:          BSD and CDDL1.1 and MIT
7 7
 Group:            Email/Server/Library
... ...
@@ -10,14 +10,16 @@ Distribution:     Photon
10 10
 
11 11
 Source0:          https://ftp.sendmail.org/sendmail.%{version}.tar.gz
12 12
 %define sha512    %{name}.%{version}=ae42343fb06c09f2db5d919d602afc4241914387dfdae0f15e0967dda3be25bf1d3a4637b57266763679646a3cea6aa07e6453266fd9b7358c1a09ec2b627a15
13
-Patch0:           0001-sendmail-fix-compatibility-with-openssl-3.0.patch
14 13
 
15
-BuildRequires:    systemd
14
+Patch0: fix-compatibility-with-openssl-3.0.patch
15
+
16
+BuildRequires:    systemd-devel
16 17
 BuildRequires:    openldap
17 18
 BuildRequires:    openssl-devel
18
-BuildRequires:    libdb-devel
19 19
 BuildRequires:    shadow
20
+BuildRequires:    tinycdb-devel
20 21
 
22
+Requires:         tinycdb
21 23
 Requires:         (coreutils or toybox)
22 24
 Requires:         systemd
23 25
 Requires:         m4
... ...
@@ -26,7 +28,6 @@ Requires(pre):    /usr/sbin/useradd /usr/sbin/groupadd
26 26
 Requires(postun): /usr/sbin/userdel /usr/sbin/groupdel
27 27
 Requires:         /bin/sed
28 28
 Requires:         (net-tools or toybox)
29
-Requires:         libdb
30 29
 
31 30
 %description
32 31
 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.
38 38
 
39 39
 %build
40 40
 cat >> devtools/Site/site.config.m4 << "EOF"
41
-APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DNETINET6 -DHASFLOCK=1')
42
-APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -ldb')
41
+APPENDDEF(`confENVDEF',`-DSTARTTLS -DSASL -DLDAPMAP -DNETINET6 -DCDB')
42
+APPENDDEF(`confLIBS', `-lssl -lcrypto -lsasl2 -lldap -llber -lcdb')
43 43
 APPENDDEF(`confINCDIRS', `-I/usr/include/sasl')
44 44
 APPENDDEF(`confLIBS', `-lresolv')
45 45
 define(`confMANGRP',`root')
... ...
@@ -49,64 +50,59 @@ define(`confUBINGRP',`root')
49 49
 define(`confUBINOWN',`root')
50 50
 EOF
51 51
 
52
-sed -i 's|/usr/man/man|/usr/share/man/man|' \
53
-    devtools/OS/Linux           &&
52
+sed -i 's|/usr/man/man|/usr/share/man/man|' devtools/OS/Linux
54 53
 
55
-cd sendmail                     &&
56
-sh Build                        &&
57
-cd ../cf/cf                     &&
58
-cp generic-linux.mc sendmail.mc &&
59
-sh Build sendmail.cf
54
+cd %{name}
55
+sh Build
56
+cd ../cf/cf
57
+cp generic-linux.mc %{name}.mc
58
+sh Build %{name}.cf
60 59
 
61 60
 %install
62
-groupadd -g 26 smmsp &&
63
-useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
64
-        -s /bin/false -u 26 smmsp                  &&
61
+groupadd -g 26 smmsp
62
+useradd -c "Sendmail Daemon" -g smmsp -d /dev/null -s /bin/false -u 26 smmsp
65 63
 
66
-cd cf/cf
67
-install -v -d -m755 %{buildroot}/etc/mail &&
68
-sh Build DESTDIR=%{buildroot} install-cf &&
64
+pushd cf/cf
65
+install -v -d -m755 %{buildroot}%{_sysconfdir}/mail
66
+sh Build DESTDIR=%{buildroot} install-cf
67
+popd
69 68
 
70
-cd ../..            &&
71
-install -v -d -m755 %{buildroot}/usr/bin &&
72
-install -v -d -m755 %{buildroot}/usr/sbin &&
73
-install -v -d -m755 %{buildroot}/usr/share/man/man1 &&
74
-install -v -d -m755 %{buildroot}/usr/share/man/man8 &&
75
-sh Build DESTDIR=%{buildroot} install    &&
69
+install -v -d -m755 %{buildroot}%{_bindir}
70
+install -v -d -m755 %{buildroot}%{_sbindir}
71
+install -v -d -m755 %{buildroot}%{_mandir}/man1
72
+install -v -d -m755 %{buildroot}%{_mandir}/man8
73
+sh Build DESTDIR=%{buildroot} install
76 74
 
77
-install -v -m644 cf/cf/{submit,sendmail}.mc %{buildroot}/etc/mail &&
78
-cp -v -R cf/* %{buildroot}/etc/mail                               &&
75
+install -v -m644 cf/cf/{submit,%{name}}.mc %{buildroot}%{_sysconfdir}/mail
76
+cp -v -R cf/* %{buildroot}%{_sysconfdir}/mail
79 77
 
80
-install -v -m755 -d %{buildroot}/usr/share/doc/sendmail-8.15.2/{cf,sendmail} &&
78
+install -v -m755 -d %{buildroot}%{_docdir}/%{name}-%{version}/{cf,%{name}}
81 79
 
82 80
 install -v -m644 CACerts FAQ KNOWNBUGS LICENSE PGPKEYS README RELEASE_NOTES \
83
-        %{buildroot}/usr/share/doc/sendmail-8.15.2 &&
81
+        %{buildroot}%{_docdir}/%{name}-%{version}
84 82
 
85
-install -v -m644 sendmail/{README,SECURITY,TRACEFLAGS,TUNING} \
86
-        %{buildroot}/usr/share/doc/sendmail-8.15.2/sendmail &&
83
+install -v -m644 %{name}/{README,SECURITY,TRACEFLAGS,TUNING} \
84
+        %{buildroot}%{_docdir}/%{name}-%{version}/%{name}
87 85
 
88
-install -v -m644 cf/README %{buildroot}/usr/share/doc/sendmail-8.15.2/cf &&
86
+install -v -m644 cf/README %{buildroot}%{_docdir}/%{name}-%{version}/cf
89 87
 
90
-for manpage in sendmail editmap mailstats makemap praliases smrsh
91
-do
92
-    install -v -m644 ${manpage}/${manpage}.8 %{buildroot}/usr/share/man/man8
93
-done &&
88
+for manpage in %{name} editmap mailstats makemap praliases smrsh; do
89
+  install -v -m644 ${manpage}/${manpage}.8 %{buildroot}%{_mandir}/man8
90
+done
94 91
 
95
-install -v -m644 sendmail/aliases.5    %{buildroot}/usr/share/man/man5 &&
96
-install -v -m644 sendmail/mailq.1      %{buildroot}/usr/share/man/man1 &&
97
-install -v -m644 sendmail/newaliases.1 %{buildroot}/usr/share/man/man1 &&
98
-install -v -m644 vacation/vacation.1   %{buildroot}/usr/share/man/man1
92
+install -v -m644 %{name}/aliases.5 %{buildroot}%{_mandir}/man5
93
+install -v -m644 %{name}/mailq.1 %{buildroot}%{_mandir}/man1
94
+install -v -m644 %{name}/newaliases.1 %{buildroot}%{_mandir}/man1
95
+install -v -m644 vacation/vacation.1 %{buildroot}%{_mandir}/man1
99 96
 
100
-mkdir -p %{buildroot}/etc/systemd/system/
101
-mkdir -p %{buildroot}/etc/sysconfig/
97
+mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
102 98
 
103
-cat > %{buildroot}/etc/sysconfig/sendmail <<- "EOF"
99
+cat > %{buildroot}%{_sysconfdir}/sysconfig/%{name} <<- "EOF"
104 100
 DAEMON=yes
105 101
 QUEUE=1h
106
-
107 102
 EOF
108 103
 
109
-cat > %{buildroot}/etc/systemd/system/sendmail.service <<- "EOF"
104
+cat > %{buildroot}%{_unitdir}/%{name}.service <<- "EOF"
110 105
 [Unit]
111 106
 Description=Sendmail Mail Transport Agent
112 107
 Wants=network-online.target
... ...
@@ -114,13 +110,12 @@ After=network-online.target syslog.target network.target
114 114
 
115 115
 [Service]
116 116
 Environment=QUEUE=1h
117
-EnvironmentFile=/etc/sysconfig/sendmail
117
+EnvironmentFile=%{_sysconfdir}/sysconfig/%{name}
118 118
 Type=forking
119
-ExecStart=/usr/sbin/sendmail -bd -q $QUEUE $SENDMAIL_OPTARG
119
+ExecStart=%{_sbindir}/%{name} -bd -q $QUEUE $SENDMAIL_OPTARG
120 120
 
121 121
 [Install]
122 122
 WantedBy=multi-user.target
123
-
124 123
 EOF
125 124
 
126 125
 %if 0%{?with_check}
... ...
@@ -130,47 +125,45 @@ make -C test check %{?_smp_mflags}
130 130
 
131 131
 %pre
132 132
 if [ $1 -eq 1 ] ; then
133
-groupadd -g 26 smmsp                               &&
134
-useradd -c "Sendmail Daemon" -g smmsp -d /dev/null \
135
-        -s /bin/false -u 26 smmsp                  &&
136
-chmod -v 1777 /var/mail                            &&
137
-install -v -m700 -d /var/spool/mqueue
133
+  groupadd -g 26 smmsp
134
+  useradd -c "Sendmail Daemon" -g smmsp -d /dev/null -s /bin/false -u 26 smmsp
135
+  chmod -v 1777 /var/mail
136
+  install -v -m700 -d /var/spool/mqueue
138 137
 fi
139 138
 
140 139
 %post
141 140
 if [ $1 -eq 1 ] ; then
142
-  echo $(hostname -f) > /etc/mail/local-host-names
143
-  cat > /etc/mail/aliases << "EOF"
141
+  echo $(hostname -f) > %{_sysconfdir}/mail/local-host-names
142
+  cat > %{_sysconfdir}/mail/aliases << "EOF"
144 143
 postmaster: root
145 144
 MAILER-DAEMON: root
146 145
 EOF
147 146
   /bin/newaliases
148 147
 
149
-  cd /etc/mail
150
-  m4 m4/cf.m4 sendmail.mc > sendmail.cf
151
-
148
+  cd %{_sysconfdir}/mail
149
+  m4 m4/cf.m4 %{name}.mc > %{name}.cf
152 150
 fi
153 151
 
154 152
 chmod 700 /var/spool/clientmqueue
155 153
 chown smmsp:smmsp /var/spool/clientmqueue
156 154
 
157
-%systemd_post sendmail.service
155
+%systemd_post %{name}.service
158 156
 
159 157
 %preun
160
-%systemd_preun sendmail.service
158
+%systemd_preun %{name}.service
161 159
 
162 160
 %postun
163 161
 if [ $1 -eq 0 ] ; then
164 162
   userdel smmsp
165 163
   groupdel smmsp
166 164
 
167
-  rm -rf /etc/mail
165
+  rm -rf %{_sysconfdir}/mail
168 166
 fi
169
-%systemd_postun_with_restart sendmail.service
167
+%systemd_postun_with_restart %{name}.service
170 168
 
171 169
 %files
172
-%config(noreplace)%{_sysconfdir}/mail/sendmail.mc
173
-%config(noreplace)%{_sysconfdir}/mail/sendmail.cf
170
+%config(noreplace)%{_sysconfdir}/mail/%{name}.mc
171
+%config(noreplace)%{_sysconfdir}/mail/%{name}.cf
174 172
 %config(noreplace)%{_sysconfdir}/mail/submit.cf
175 173
 %config(noreplace)%{_sysconfdir}/mail/submit.mc
176 174
 %{_sysconfdir}/mail/feature/*
... ...
@@ -183,19 +176,23 @@ fi
183 183
 %{_sysconfdir}/mail/domain/*
184 184
 %{_sysconfdir}/mail/README
185 185
 %{_sysconfdir}/mail/helpfile
186
-%{_sysconfdir}/mail/sendmail.schema
186
+%{_sysconfdir}/mail/%{name}.schema
187 187
 %{_sysconfdir}/mail/statistics
188 188
 %{_bindir}/*
189 189
 %{_sbindir}/*
190
-/etc/systemd/system/sendmail.service
190
+%{_datadir}/*
191
+%{_var}/spool/*
192
+%{_unitdir}/%{name}.service
191 193
 %{_sysconfdir}/sysconfig/%{name}
192 194
 %exclude %dir %{_libdir}/debug
193
-%exclude %dir %{_usrsrc}
194 195
 %exclude %{_mandir}/*
196
+%exclude %{_datadir}/man/*
195 197
 %exclude %{_docdir}/*
196 198
 %exclude %{_sysconfdir}/mail/cf/*
197 199
 
198 200
 %changelog
201
+* Sat Jul 09 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.17.1-3
202
+- Drop libdb support
199 203
 * Sun May 29 2022 Shreenidhi Shedi <sshedi@vmware.com> 8.17.1-2
200 204
 - Fix binary path
201 205
 * Mon Apr 11 2022 Nitesh Kumar <kunitesh@vmware.com> 8.17.1-1
... ...
@@ -1,7 +1,7 @@
1 1
 Name:           systemd
2 2
 URL:            http://www.freedesktop.org/wiki/Software/systemd
3 3
 Version:        251.3
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        LGPLv2+ and GPLv2+ and MIT
6 6
 Summary:        System and Service Manager
7 7
 Group:          System Environment/Security
... ...
@@ -41,7 +41,9 @@ Requires:       libselinux
41 41
 Requires:       lz4
42 42
 Requires:       pcre
43 43
 Requires:       xz
44
+Requires:       libgpg-error
44 45
 
46
+BuildRequires:  libgpg-error-devel
45 47
 BuildRequires:  bzip2-devel
46 48
 BuildRequires:  gnu-efi
47 49
 BuildRequires:  curl-devel
... ...
@@ -671,6 +673,8 @@ rm -rf %{_libdir}/systemd/tests
671 671
 %files lang -f ../%{name}.lang
672 672
 
673 673
 %changelog
674
+* Tue Jul 26 2022 Shreenidhi Shedi <sshedi@vmware.com> 251.3-2
675
+- Add libgpg-error-devel to BuildRequires
674 676
 * Mon Jul 25 2022 Susant Sahani <ssahani@vmware.com> 251.3-1
675 677
 - Version bump
676 678
 * Mon Jul 18 2022 Ashwin Dayanand Kamat <kashwindayan@vmware.com> 251-4
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        dnf/yum equivalent using C libs
2 2
 Name:           tdnf
3 3
 Version:        3.3.1
4
-Release:        3%{?dist}
4
+Release:        4%{?dist}
5 5
 Vendor:         VMware, Inc.
6 6
 Distribution:   Photon
7 7
 License:        LGPLv2.1,GPLv2
... ...
@@ -229,6 +229,8 @@ systemctl try-restart %{name}-cache-updateinfo.timer >/dev/null 2>&1 || :
229 229
 %{_unitdir}/%{name}-automatic-notifyonly.service
230 230
 
231 231
 %changelog
232
+* Sun Jul 03 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-4
233
+- Bump version as a part of rpm upgrade
232 234
 * Mon Jun 27 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-3
233 235
 - Exclude debug symbols properly
234 236
 * Fri Jun 17 2022 Shreenidhi Shedi <sshedi@vmware.com> 3.3.1-2
235 237
new file mode 100644
... ...
@@ -0,0 +1,12 @@
0
+# Package Information for pkg-config
1
+
2
+prefix=/usr
3
+exec_prefix=${prefix}
4
+libdir=${exec_prefix}/lib
5
+includedir=${prefix}/include
6
+
7
+Name: libcdb
8
+Description: tinycdb - Constant Data Base library
9
+Version: 0.78
10
+Libs: -L${libdir} -lcdb
11
+Cflags: -I${includedir}
0 12
new file mode 100644
... ...
@@ -0,0 +1,71 @@
0
+Name:       tinycdb
1
+Summary:    Utility and library for manipulating constant databases
2
+Version:    0.78
3
+Release:    1%{?dist}
4
+License:    Public Domain
5
+URL:        http://www.corpit.ru/mjt/tinycdb.html
6
+Group:      Applications/System
7
+Vendor:     VMware, Inc.
8
+Distribution:   Photon
9
+
10
+Source0:    http://www.corpit.ru/mjt/%{name}/%{name}-%{version}.tar.gz
11
+%define sha512 %{name}=8930086b8e7fddcd4dbd3354c5f5ee05171df68fde1cc222b6c402430042b6e761efbad7e5fa8de18e1d36390f1526cc3e605c5086fe1c363ba1df6c03201553
12
+Source1:    libcdb.pc
13
+
14
+BuildRequires: make
15
+BuildRequires: gcc
16
+
17
+%description
18
+tinycdb is a small, fast and reliable utility and subroutine library for
19
+creating and reading constant databases. The database structure is tuned
20
+for fast reading.
21
+
22
+This package contains tinycdb utility and shared library.
23
+
24
+%package devel
25
+Summary:    Development files for tinycdb
26
+Requires:   %{name} = %{version}-%{release}
27
+
28
+%description devel
29
+tinycdb is a small, fast and reliable utility set and subroutine
30
+library for creating and reading constant databases.
31
+
32
+This package contains tinycdb development library and header file for
33
+developing applications that use %{name}.
34
+
35
+%prep
36
+%autosetup -p1
37
+
38
+%build
39
+make %{?_smp_mflags} staticlib sharedlib cdb-shared CFLAGS="%{optflags}"
40
+
41
+%install
42
+mkdir -p %{buildroot}%{_libdir}/pkgconfig
43
+
44
+make DESTDIR=%{buildroot} prefix=%{_prefix} libdir=%{_libdir} mandir=%{_mandir} \
45
+    install install-sharedlib INSTALLPROG=cdb-shared CP="cp -p" %{?_smp_mflags}
46
+
47
+chmod +x %{buildroot}%{_libdir}/*.so.*
48
+rm -f %{buildroot}%{_libdir}/lib*.a
49
+cp %{SOURCE1} %{buildroot}%{_libdir}/pkgconfig/
50
+
51
+%ldconfig_scriptlets
52
+
53
+%files
54
+%defattr(-,root,root)
55
+%doc NEWS ChangeLog
56
+%{_bindir}/cdb
57
+%{_mandir}/man1/*.1*
58
+%{_mandir}/man5/*.5*
59
+%{_libdir}/*.so.*
60
+
61
+%files devel
62
+%defattr(-,root,root)
63
+%{_includedir}/*.h
64
+%{_mandir}/man3/*.3*
65
+%{_libdir}/*.so
66
+%{_libdir}/pkgconfig/*.pc
67
+
68
+%changelog
69
+* Wed Feb 16 2022 Shreenidhi Shedi <sshedi@vmware.com> 0.78-1
70
+- Initial version. Needed for sendmail-8.17.1
... ...
@@ -47,10 +47,9 @@ actual_pkg_list=($(tdnf --installroot $TEMP_CHROOT/ \
47 47
 expected_pkg_list=(
48 48
   bash bzip2-libs ca-certificates ca-certificates-pki curl curl-libs
49 49
   e2fsprogs-libs elfutils-libelf expat-libs filesystem glibc krb5
50
-  libcap libdb libgcc libgcrypt libgpg-error libsolv libssh2 libxml2
51
-  lua ncurses-libs nspr nss-libs openssl photon-release photon-repos popt
52
-  readline rpm-libs sqlite-libs tdnf tdnf-cli-libs toybox xz-libs zlib
53
-  zstd-libs
50
+  libcap libgcc libsolv libssh2 libxml2 lua ncurses-libs nspr nss-libs
51
+  openssl photon-release photon-repos popt readline rpm-libs sqlite-libs
52
+  tdnf tdnf-cli-libs toybox xz-libs zlib zstd-libs
54 53
 )
55 54
 
56 55
 actual_pkg_count=${#actual_pkg_list[@]}
... ...
@@ -69,6 +68,8 @@ fi
69 69
 
70 70
 rpm --root $TEMP_CHROOT/ --import $TEMP_CHROOT/etc/pki/rpm-gpg/*
71 71
 
72
+ln -sfr ${TEMP_CHROOT}/usr/lib/sysimage/rpm ${TEMP_CHROOT}/var/lib/rpm
73
+
72 74
 # cleanup anything not needed inside rootfs
73 75
 pushd $TEMP_CHROOT
74 76
 rm -rf usr/src/ home/* var/log/* var/cache/tdnf/
... ...
@@ -490,10 +490,9 @@ class SpecParser(object):
490 490
     def _isConditionalCheckMacro(self, line):
491 491
         data = line.strip()
492 492
         words = data.split()
493
-        nrWords = len(words)
494
-        if nrWords != 2:
493
+        if len(words) != 2:
495 494
             return False
496
-        if words[0] != "%if" or words[1] != "%{with_check}":
495
+        if words[0] != "%if" or "with_check" not in words[1]:
497 496
             return False
498 497
         return True
499 498
 
... ...
@@ -504,13 +503,10 @@ class SpecParser(object):
504 504
     def _isConditionTrue(self, line):
505 505
         data = line.strip()
506 506
         words = data.split()
507
-        nrWords = len(words)
508 507
         # condition like %if a > b is not supported
509
-        if nrWords != 2:
508
+        if len(words) != 2:
510 509
             return True
511
-        if self._replaceMacros(words[1]) == "0":
512
-            return False
513
-        return True
510
+        return int(self._replaceMacros(words[1]))
514 511
 
515 512
     def _isConditionalMacroStart(self, line):
516 513
         return line.startswith("%if")
... ...
@@ -1,6 +1,8 @@
1 1
 import os.path
2
-import traceback
3 2
 import re
3
+import time
4
+import traceback
5
+
4 6
 from CommandUtils import CommandUtils
5 7
 from Logger import Logger
6 8
 from PackageUtils import PackageUtils
... ...
@@ -72,8 +74,10 @@ class ToolChainUtils(object):
72 72
             packageVersion = None
73 73
             listRPMsToInstall.extend(['binutils-'+constants.targetArch+'-linux-gnu',
74 74
                                       'gcc-'+constants.targetArch+'-linux-gnu'])
75
+
75 76
         if packageName:
76 77
             listBuildRequiresPackages = self.getListDependentPackages(packageName, packageVersion)
78
+
77 79
         for package in listRPMsToInstall:
78 80
             pkgUtils = PackageUtils(self.logName, self.logPath)
79 81
             rpmFile = None
... ...
@@ -83,7 +87,7 @@ class ToolChainUtils(object):
83 83
             for depPkg in listBuildRequiresPackages:
84 84
                 depPkgName, depPkgVersion = StringUtils.splitPackageNameAndVersion(depPkg)
85 85
                 if depPkgName == package:
86
-                        version=depPkgVersion
86
+                        version = depPkgVersion
87 87
                         break
88 88
 
89 89
             if not version:
... ...
@@ -148,6 +152,26 @@ class ToolChainUtils(object):
148 148
             raise Exception("RPM installation failed")
149 149
         self.logger.debug("Successfully installed default toolchain RPMS in Chroot:" + chroot.getID())
150 150
 
151
+        # There is some weird contention with this toolchain package installations and
152
+        # rpmdb rebuilds. So, let's do it explicitly here.
153
+        # XXX: Once we use latest ova template in our build env, we can remove this.
154
+        # Ubuntu build machines also use backend db as sqlite to remove this
155
+        timeout = 900
156
+        old_epoch = time.time()
157
+        while True:
158
+            if chroot.run("[ -f /var/lib/rpm/Packages ]", logfn=self.logger.debug):
159
+                break
160
+            time.sleep(1)
161
+            # retry for 15 min, ideally this should finish quickly
162
+            # if not, abort after 15 min
163
+            if time.time() - old_epoch > timeout:
164
+                self.logger.debug("--- 15 min elapsed trying to rebuild db ---")
165
+                break
166
+
167
+        if time.time() - old_epoch > timeout and not chroot.run("[ -f /var/lib/rpm/Packages ]", logfn=self.logger.debug):
168
+            self.logger.error("rpmdb conversion failed after multiple retries")
169
+            raise Exception("RpmDB conversion error")
170
+
151 171
         if packageName:
152 172
             self.installExtraToolchainRPMS(chroot, packageName, packageVersion)
153 173
 
... ...
@@ -122,10 +122,11 @@ class constants(object):
122 122
         "automake",
123 123
         "openssl",
124 124
         "zstd",
125
-        "libdb",
126
-        "libgpg-error",
127
-        "libgcrypt",
128
-        "rpm"]
125
+        "rpm",
126
+        "dwz",
127
+        "debugedit",
128
+        "pandoc-bin",
129
+        "help2man"]
129 130
 
130 131
     # List or RPMS that will be installed in a chroot prior to build each
131 132
     # package. This list should be ordered by install order. On a stage1
... ...
@@ -216,20 +217,17 @@ class constants(object):
216 216
         "openssl",
217 217
         "openssl-devel",
218 218
         "libcap",
219
-        "libdb",
220
-        "libdb-devel",
221 219
         "zstd",
222 220
         "zstd-libs",
223 221
         "zstd-devel",
224 222
         "lua",
225 223
         "lua-devel",
226
-        "libgpg-error",
227
-        "libgcrypt",
228 224
         "rpm",
229 225
         "rpm-build",
230 226
         "rpm-devel",
231 227
         "rpm-libs",
232
-        "cpio"]
228
+        "cpio",
229
+        "debugedit"]
233 230
 
234 231
     # List of packages that will be installed in addition for each
235 232
     # package to make check
... ...
@@ -266,14 +264,12 @@ class constants(object):
266 266
         "net-tools",
267 267
         "less",
268 268
         "iana-etc",
269
-        "libdb",
270 269
         "rpm-devel",
271 270
         "rpm",
272 271
         "libxml2",
273 272
         "python3-xml",
274 273
         "libacl",
275 274
         "tzdata",
276
-        "libgcrypt-devel",
277 275
         "Linux-PAM",
278 276
         "unzip",
279 277
         "systemd-devel",
... ...
@@ -15,6 +15,7 @@ aarch64/bzip2-libs-1.0.8-3.ph4.aarch64.rpm
15 15
 aarch64/coreutils-8.32-3.ph4.aarch64.rpm
16 16
 aarch64/cpio-2.13-2.ph4.aarch64.rpm
17 17
 aarch64/diffutils-3.7-1.ph4.aarch64.rpm
18
+aarch64/debugedit-5.0-1.ph4.aarch64.rpm
18 19
 aarch64/elfutils-0.181-2.ph4.aarch64.rpm
19 20
 aarch64/elfutils-devel-0.181-2.ph4.aarch64.rpm
20 21
 aarch64/elfutils-libelf-0.181-2.ph4.aarch64.rpm
... ...
@@ -42,16 +43,12 @@ aarch64/grep-3.4-1.ph4.aarch64.rpm
42 42
 aarch64/groff-1.22.4-1.ph4.aarch64.rpm
43 43
 aarch64/gzip-1.10-1.ph4.aarch64.rpm
44 44
 aarch64/libcap-2.43-1.ph4.aarch64.rpm
45
-aarch64/libdb-5.3.28-2.ph4.aarch64.rpm
46
-aarch64/libdb-devel-5.3.28-2.ph4.aarch64.rpm
47 45
 aarch64/libffi-3.3-1.ph4.aarch64.rpm
48 46
 aarch64/libgcc-10.2.0-1.ph4.aarch64.rpm
49 47
 aarch64/libgcc-atomic-10.2.0-1.ph4.aarch64.rpm
50 48
 aarch64/libgcc-devel-10.2.0-1.ph4.aarch64.rpm
51
-aarch64/libgcrypt-1.8.7-1.ph3.aarch64.rpm
52 49
 aarch64/libgomp-10.2.0-1.ph4.aarch64.rpm
53 50
 aarch64/libgomp-devel-10.2.0-1.ph4.aarch64.rpm
54
-aarch64/libgpg-error-1.32-1.ph3.aarch64.rpm
55 51
 aarch64/libpipeline-1.5.3-1.ph4.aarch64.rpm
56 52
 aarch64/libstdc++-10.2.0-1.ph4.aarch64.rpm
57 53
 aarch64/libstdc++-devel-10.2.0-1.ph4.aarch64.rpm
... ...
@@ -73,10 +70,10 @@ aarch64/nspr-devel-4.29-1.ph4.aarch64.rpm
73 73
 aarch64/nss-3.57-2.ph4.aarch64.rpm
74 74
 aarch64/nss-devel-3.57-2.ph4.aarch64.rpm
75 75
 aarch64/nss-libs-3.57-2.ph4.aarch64.rpm
76
-aarch64/openssl-1.1.1i-2.ph4.aarch64.rpm
77
-aarch64/openssl-devel-1.1.1i-2.ph4.aarch64.rpm
76
+aarch64/openssl-3.0.0-6.ph4.aarch64.rpm
77
+aarch64/openssl-devel-3.0.0-6.ph4.aarch64.rpm
78 78
 aarch64/patch-2.7.6-5.ph4.aarch64.rpm
79
-aarch64/perl-5.30.1-3.ph4.aarch64.rpm
79
+aarch64/perl-5.30.1-5.ph4.aarch64.rpm
80 80
 aarch64/pkg-config-0.29.2-3.ph4.aarch64.rpm
81 81
 aarch64/popt-1.16-5.ph4.aarch64.rpm
82 82
 aarch64/popt-devel-1.16-5.ph4.aarch64.rpm
... ...
@@ -85,10 +82,10 @@ aarch64/python3-3.9.1-2.ph4.aarch64.rpm
85 85
 aarch64/python3-libs-3.9.1-2.ph4.aarch64.rpm
86 86
 aarch64/readline-7.0-3.ph4.aarch64.rpm
87 87
 aarch64/readline-devel-7.0-3.ph4.aarch64.rpm
88
-aarch64/rpm-4.16.1.3-1.ph4.aarch64.rpm
89
-aarch64/rpm-build-4.16.1.3-1.ph4.aarch64.rpm
90
-aarch64/rpm-devel-4.16.1.3-1.ph4.aarch64.rpm
91
-aarch64/rpm-libs-4.16.1.3-1.ph4.aarch64.rpm
88
+aarch64/rpm-4.16.1.3-7.ph4.aarch64.rpm
89
+aarch64/rpm-build-4.16.1.3-7.ph4.aarch64.rpm
90
+aarch64/rpm-devel-4.16.1.3-7.ph4.aarch64.rpm
91
+aarch64/rpm-libs-4.16.1.3-7.ph4.aarch64.rpm
92 92
 aarch64/sed-4.8-1.ph4.aarch64.rpm
93 93
 aarch64/sqlite-3.33.0-1.ph4.aarch64.rpm
94 94
 aarch64/sqlite-libs-3.33.0-1.ph4.aarch64.rpm
... ...
@@ -15,6 +15,7 @@ x86_64/bzip2-libs-1.0.8-3.ph4.x86_64.rpm
15 15
 x86_64/coreutils-8.32-3.ph4.x86_64.rpm
16 16
 x86_64/cpio-2.13-2.ph4.x86_64.rpm
17 17
 x86_64/diffutils-3.7-1.ph4.x86_64.rpm
18
+x86_64/debugedit-5.0-1.ph4.x86_64.rpm
18 19
 x86_64/elfutils-0.181-2.ph4.x86_64.rpm
19 20
 x86_64/elfutils-devel-0.181-2.ph4.x86_64.rpm
20 21
 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
42 42
 x86_64/groff-1.22.4-1.ph4.x86_64.rpm
43 43
 x86_64/gzip-1.10-1.ph4.x86_64.rpm
44 44
 x86_64/libcap-2.43-1.ph4.x86_64.rpm
45
-x86_64/libdb-5.3.28-2.ph4.x86_64.rpm
46
-x86_64/libdb-devel-5.3.28-2.ph4.x86_64.rpm
47 45
 x86_64/libffi-3.3-1.ph4.x86_64.rpm
48 46
 x86_64/libgcc-10.2.0-1.ph4.x86_64.rpm
49 47
 x86_64/libgcc-atomic-10.2.0-1.ph4.x86_64.rpm
50 48
 x86_64/libgcc-devel-10.2.0-1.ph4.x86_64.rpm
51
-x86_64/libgcrypt-1.8.5-1.ph3.x86_64.rpm
52 49
 x86_64/libgomp-10.2.0-1.ph4.x86_64.rpm
53 50
 x86_64/libgomp-devel-10.2.0-1.ph4.x86_64.rpm
54
-x86_64/libgpg-error-1.32-1.ph3.x86_64.rpm
55 51
 x86_64/libpipeline-1.5.3-1.ph4.x86_64.rpm
56 52
 x86_64/libstdc++-10.2.0-1.ph4.x86_64.rpm
57 53
 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
73 73
 x86_64/nss-3.57-2.ph4.x86_64.rpm
74 74
 x86_64/nss-devel-3.57-2.ph4.x86_64.rpm
75 75
 x86_64/nss-libs-3.57-2.ph4.x86_64.rpm
76
-x86_64/openssl-1.1.1i-2.ph4.x86_64.rpm
77
-x86_64/openssl-devel-1.1.1i-2.ph4.x86_64.rpm
76
+x86_64/openssl-3.0.0-6.ph4.x86_64.rpm
77
+x86_64/openssl-devel-3.0.0-6.ph4.x86_64.rpm
78 78
 x86_64/patch-2.7.6-5.ph4.x86_64.rpm
79 79
 x86_64/perl-5.30.1-3.ph4.x86_64.rpm
80 80
 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
85 85
 x86_64/python3-libs-3.9.1-2.ph4.x86_64.rpm
86 86
 x86_64/readline-7.0-3.ph4.x86_64.rpm
87 87
 x86_64/readline-devel-7.0-3.ph4.x86_64.rpm
88
-x86_64/rpm-4.16.1.3-1.ph4.x86_64.rpm
89
-x86_64/rpm-build-4.16.1.3-1.ph4.x86_64.rpm
90
-x86_64/rpm-devel-4.16.1.3-1.ph4.x86_64.rpm
91
-x86_64/rpm-libs-4.16.1.3-1.ph4.x86_64.rpm
88
+x86_64/rpm-4.16.1.3-7.ph4.x86_64.rpm
89
+x86_64/rpm-build-4.16.1.3-7.ph4.x86_64.rpm
90
+x86_64/rpm-devel-4.16.1.3-7.ph4.x86_64.rpm
91
+x86_64/rpm-libs-4.16.1.3-7.ph4.x86_64.rpm
92 92
 x86_64/sed-4.8-1.ph4.x86_64.rpm
93 93
 x86_64/sqlite-3.33.0-1.ph4.x86_64.rpm
94 94
 x86_64/sqlite-libs-3.33.0-1.ph4.x86_64.rpm