Browse code

Do not ignore 'Requires: /path/to/binary' if mapping not found

Package builder support dependency tracking for spec files linked
by 'Requires: /bin/awk' (as for example). But constants.py should
have a mapping from '/bin/awk tool' to 'gawk' package.

If the mapping not found current implementation just dropes this
dependency link.

This change throws an exception if mapping not found.

Extra:
- python2-libs does not depend on python2.
- Fix spec checker to do not bail out earlier.
- Fix check-spec-files target in the Makefile
- added all necessary mappings to constants.py
- reduce toolchain list, removed 'python2', 'man', 'cpio',
'which', 'groff' from there
- .spec files: add missing build requires

Change-Id: I00cbebdbc7948a6d557fb0ecfe26549366d8dd9c
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6302
Tested-by: gerrit-photon <photon-checkins@vmware.com>
Reviewed-by: Anish Swaminathan <anishs@vmware.com>

Alexey Makhalov authored on 2018/12/01 07:27:18
Showing 25 changed files
... ...
@@ -548,8 +548,7 @@ install-photon-docker-image: photon-docker-image
548 548
 # Spec file checker and utilities
549 549
 #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
550 550
 check-spec-files:
551
-	@echo ""
552
-	@./tools/scripts/check_spec_files.sh $(BASE_COMMIT)
551
+	@./tools/scripts/check_spec_files.sh
553 552
 
554 553
 generate-dep-lists:
555 554
 	@echo ""
... ...
@@ -5,7 +5,7 @@
5 5
 Summary:        Python bindings for PAM (Pluggable Authentication Modules).
6 6
 Name:           PyPAM
7 7
 Version:        0.5.0
8
-Release:        3%{?dist}
8
+Release:        4%{?dist}
9 9
 License:        LGPLv2
10 10
 Group:          Development/Languages/Python
11 11
 Vendor:         VMware, Inc.
... ...
@@ -21,10 +21,13 @@ Patch3:         PyPAM-0.5.0-memory-errors.patch
21 21
 Patch4:         PyPAM-0.5.0-return-value.patch
22 22
 Patch5:         PyPAM-python3-support.patch
23 23
 
24
-BuildRequires:  python2
24
+BuildRequires:  python2-devel
25 25
 BuildRequires:  python2-libs
26 26
 BuildRequires:  python-setuptools
27 27
 BuildRequires:  Linux-PAM-devel
28
+BuildRequires:  python3
29
+BuildRequires:  python3-devel
30
+BuildRequires:  python3-libs
28 31
 
29 32
 Requires:       python2
30 33
 Requires:       python2-libs
... ...
@@ -34,9 +37,6 @@ Python bindings for PAM (Pluggable Authentication Modules).
34 34
 
35 35
 %package -n     python3-PyPAM
36 36
 Summary:        python-PyPAM
37
-BuildRequires:  python3
38
-BuildRequires:  python3-devel
39
-BuildRequires:  python3-libs
40 37
 Requires:       python3
41 38
 Requires:       python3-libs
42 39
 
... ...
@@ -85,6 +85,9 @@ popd
85 85
 %{python3_sitelib}/*
86 86
 
87 87
 %changelog
88
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 0.5.0-4
89
+-   Added BuildRequires python2-devel.
90
+-   Moved all buildRequires to the main package.
88 91
 *   Thu Jun 22 2017 Dheeraj Shetty <dheerajs@vmware.com> 0.5.0-3
89 92
 -   Fix the check section
90 93
 *   Wed May 31 2017 Dheeraj Shetty <dheerajs@vmware.com> 0.5.0-2
... ...
@@ -2,7 +2,7 @@
2 2
 Summary:        A version control system
3 3
 Name:           bzr
4 4
 Version:        2.7.0
5
-Release:        1%{?dist}
5
+Release:        2%{?dist}
6 6
 License:        GPLv2+
7 7
 URL:            http://www.bazaar-vcs.org/
8 8
 Group:          System Environment/Security
... ...
@@ -10,6 +10,7 @@ Vendor:         VMware, Inc.
10 10
 Distribution:   Photon
11 11
 Source0:        https://launchpad.net/bzr/2.7/2.7.0/+download/bzr-2.7.0.tar.gz
12 12
 %define sha1    bzr=872f6088f8b07558519dbbc88fffa05e37602f52
13
+BuildRequires:  python2-devel
13 14
 
14 15
 %description
15 16
 Bazaar is a version control system that helps you track project history over time and to collaborate easily with others. Whether you're a single developer, a co-located team or a community of developers scattered across the world, Bazaar scales and adapts to meet your needs. Part of the GNU Project, Bazaar is free software sponsored by Canonical. For a closer look, see ten reasons to switch to Bazaar.
... ...
@@ -34,5 +35,7 @@ python2 setup.py check
34 34
 %{_mandir}/man1/*
35 35
 
36 36
 %changelog
37
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 2.7.0-2
38
+-   Added BuildRequires python2-devel
37 39
 *   Thu Jun 22 2017 Xiaolin Li <xiaolinl@vmware.com> 2.7.0-1
38 40
 -   Initial build. First version
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Fast distributed version control system
2 2
 Name:           git
3 3
 Version:        2.19.0
4
-Release:        2%{?dist}
4
+Release:        3%{?dist}
5 5
 License:        GPLv2
6 6
 URL:            http://git-scm.com/
7 7
 Group:          System Environment/Programming
... ...
@@ -19,6 +19,7 @@ Requires:       perl-YAML
19 19
 Requires:       perl-DBI
20 20
 Requires:       perl-CGI
21 21
 Requires:       subversion-perl
22
+Requires:       python2
22 23
 
23 24
 %description
24 25
 Git is a free and open source, distributed version control system
... ...
@@ -89,6 +90,8 @@ rm -rf %{buildroot}/*
89 89
 %defattr(-,root,root)
90 90
 
91 91
 %changelog
92
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 2.19.0-3
93
+-   Added Requires python2
92 94
 *   Thu Oct 04 2018 Dweep Advani <dadvani@vmware.com> 2.19.0-2
93 95
 -   Using %configure and changing for perl upgrade
94 96
 *   Tue Oct 02 2018 Siju Maliakkal <smaliakkal@vmware.com> 2.19.0-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:       Mozilla's JavaScript engine.
2 2
 Name:          js
3 3
 Version:       1.8.5
4
-Release:       2%{?dist}
4
+Release:       3%{?dist}
5 5
 Group:         Applications/System
6 6
 Vendor:        VMware, Inc.
7 7
 License:       GPLv2+ or LGPLv2+ or MPLv1.1
... ...
@@ -13,13 +13,14 @@ BuildRequires: autoconf
13 13
 BuildRequires: ncurses-devel
14 14
 BuildRequires: nspr-devel >= 4.7
15 15
 BuildRequires: zip
16
+BuildRequires: python2
16 17
 Requires:      ncurses
17 18
 Requires:      nspr
18 19
 %define sha1 js185=52a01449c48d7a117b35f213d3e4263578d846d6
19 20
 
20 21
 %description
21 22
 Mozilla's JavaScript engine includes a just-in-time compiler (JIT) that compiles
22
-JavaScript to machine code, for a significant speed increase. 
23
+JavaScript to machine code, for a significant speed increase.
23 24
 
24 25
 %package devel
25 26
 Summary:        js devel
... ...
@@ -69,6 +70,8 @@ find %{buildroot} -name '*.la' -delete
69 69
 %{_libdir}/pkgconfig/mozjs185.pc
70 70
 
71 71
 %changelog
72
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 1.8.5-3
73
+-   Added BuildRequires python2
72 74
 *   Tue Nov 14 2017 Alexey Makhalov <amakhalov@vmware.com> 1.8.5-2
73 75
 -   Aarch64 support
74 76
 *   Thu Oct 05 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.5-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:    libpsl - C library to handle the Public Suffix List
2 2
 Name:       libpsl
3 3
 Version:    0.20.2
4
-Release:    1%{?dist}
4
+Release:    2%{?dist}
5 5
 License:    MIT
6 6
 URL:        https://github.com/rockdaboot/libpsl
7 7
 Group:      System Environment/Development
... ...
@@ -11,6 +11,7 @@ Source0:    https://github.com/rockdaboot/libpsl/releases/download/%{name}-%{ver
11 11
 %define sha1 libpsl=890376d6038652911cfa853ccfb5b993ae0743ee
12 12
 
13 13
 BuildRequires: icu-devel
14
+BuildRequires: python2
14 15
 Requires:      icu
15 16
 
16 17
 %description
... ...
@@ -92,5 +93,7 @@ make check
92 92
 %{_libdir}/pkgconfig/*
93 93
 
94 94
 %changelog
95
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 0.20.2-2
96
+-   Added BuildRequires python2
95 97
 *   Mon Sep 17 2018 Bo Gan <ganb@vmware.com> 0.20.2-1
96 98
 -   Initial packaging of libpsl
... ...
@@ -3,7 +3,7 @@
3 3
 Summary:        SELinux library and simple utilities
4 4
 Name:           libselinux
5 5
 Version:        2.8
6
-Release:        1%{?dist}
6
+Release:        2%{?dist}
7 7
 License:        Public Domain
8 8
 Group:          System Environment/Libraries
9 9
 Source0:        https://raw.githubusercontent.com/wiki/SELinuxProject/selinux/files/releases/20160107/%{name}-%{version}.tar.gz
... ...
@@ -13,6 +13,7 @@ Vendor:         VMware, Inc.
13 13
 Distribution:   Photon
14 14
 BuildRequires:  libsepol-devel
15 15
 BuildRequires:  pcre-devel, swig
16
+BuildRequires:  python2-devel
16 17
 BuildRequires:  python3-devel
17 18
 Requires:       pcre-libs
18 19
 Requires:       libsepol
... ...
@@ -35,7 +36,7 @@ decisions.  Required for any applications that use the SELinux API.
35 35
 %package        utils
36 36
 Summary:        SELinux libselinux utilies
37 37
 Group:          Development/Libraries
38
-Requires:       libselinux = %{version}-%{release} 
38
+Requires:       libselinux = %{version}-%{release}
39 39
 
40 40
 %description    utils
41 41
 The libselinux-utils package contains the utilities
... ...
@@ -50,7 +51,7 @@ Provides:       pkgconfig(libselinux)
50 50
 
51 51
 %description    devel
52 52
 The libselinux-devel package contains the libraries and header files
53
-needed for developing SELinux applications. 
53
+needed for developing SELinux applications.
54 54
 
55 55
 %package        python
56 56
 Summary:        SELinux python2 bindings for libselinux
... ...
@@ -130,6 +131,8 @@ rm -rf %{buildroot}
130 130
 %{python3_sitelib}/*
131 131
 
132 132
 %changelog
133
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 2.8-2
134
+-   Added BuildRequires python2-devel
133 135
 *   Fri Aug 10 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 2.8-1
134 136
 -   Update to version 2.8 to get it to build with gcc 7.3
135 137
 *   Thu Aug 24 2017 Alexey Makhalov <amakhalov@vmware.com> 2.6-4
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:    Talloc is a hierarchical, reference counted memory pool system
2 2
 Name:       libtalloc
3 3
 Version:    2.1.14
4
-Release:    1%{?dist}
4
+Release:    2%{?dist}
5 5
 License:    LGPLv3+
6 6
 URL:        https://talloc.samba.org
7 7
 Group:      System Environment/Libraries
... ...
@@ -11,6 +11,7 @@ Source0:    https://www.samba.org/ftp/talloc/talloc-%{version}.tar.gz
11 11
 %define sha1 talloc=9d563b768148b620bdae1c97b36cfc30928a1044
12 12
 BuildRequires: libxslt
13 13
 BuildRequires: docbook-xsl
14
+BuildRequires: python2-devel
14 15
 
15 16
 %description
16 17
 Libtalloc alloc is a hierarchical, reference counted memory pool system with destructors. It is the core memory allocator used in Samba.
... ...
@@ -77,6 +78,8 @@ make check
77 77
 %{_libdir}/libpytalloc-util.so
78 78
 
79 79
 %changelog
80
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 2.1.14-2
81
+-   Added BuildRequires python2-devel
80 82
 *   Tue Sep 11 2018 Bo Gan <ganb@vmware.com> 2.1.14-1
81 83
 -   Update to 2.1.14
82 84
 *   Thu Aug 03 2017 Chang Lee <changlee@vmware.com> 2.1.9-2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A collection of modular and reusable compiler and toolchain technologies.
2 2
 Name:           llvm
3 3
 Version:        6.0.1
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        NCSA
6 6
 URL:            http://lldb.llvm.org
7 7
 Group:          Development/Tools
... ...
@@ -12,6 +12,7 @@ Source0:        http://releases.llvm.org/%{version}/%{name}-%{version}.src.tar.x
12 12
 BuildRequires:  cmake
13 13
 BuildRequires:  libxml2-devel
14 14
 BuildRequires:  libffi-devel
15
+BuildRequires:  python2
15 16
 Requires:       libxml2
16 17
 
17 18
 %description
... ...
@@ -77,6 +78,8 @@ rm -rf %{buildroot}/*
77 77
 %{_includedir}/*
78 78
 
79 79
 %changelog
80
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 6.0.1-2
81
+-   Added BuildRequires python2
80 82
 *   Thu Aug 09 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 6.0.1-1
81 83
 -   Update to version 6.0.1 to get it to build with gcc 7.3
82 84
 *   Thu Aug 10 2017 Alexey Makhalov <amakhalov@vmware.com> 4.0.0-3
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:    Modular initramfs image creation utility
2 2
 Name:       mkinitcpio
3 3
 Version:    24
4
-Release:    1%{?dist}
4
+Release:    2%{?dist}
5 5
 License:    GPLv2
6 6
 URL:        https://projects.archlinux.org/mkinitcpio.git/
7 7
 Group:      System Environment/Development
... ...
@@ -11,7 +11,7 @@ Source0:    https://projects.archlinux.org/mkinitcpio.git/snapshot/%{name}-%{ver
11 11
 %define sha1 mkinitcpio=416789532960f7deecb4d5734a398da2437bbb58
12 12
 Patch0:     mkinitcpio-shutdown-ramfs.service.patch
13 13
 BuildRequires: asciidoc
14
-BuildRequires: python2-libs
14
+BuildRequires: python2
15 15
 BuildRequires: python-xml
16 16
 BuildRequires: docbook-xsl
17 17
 BuildRequires: libxml2-devel
... ...
@@ -49,6 +49,8 @@ make DESTDIR=%{buildroot} install
49 49
 /usr/share/*
50 50
 
51 51
 %changelog
52
+*   Fri Jan 18 2019 Alexey Makhalov <amakhalov@vmware.com> 24-2
53
+-   Added buildRequires python2.
52 54
 *   Mon Sep 10 2018 Srivatsa S. Bhat <srivatsa@csail.mit.edu> 24-1
53 55
 -   Update to version 24
54 56
 *   Fri May 05 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 23-3
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A JavaScript runtime built on Chrome's V8 JavaScript engine.
2 2
 Name:           nodejs
3 3
 Version:        8.11.4
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6 6
 Group:          Applications/System
7 7
 Vendor:         VMware, Inc.
... ...
@@ -11,8 +11,11 @@ Source0:        https://nodejs.org/download/release/v8.3.0/node-v%{version}.tar.
11 11
 %define         sha1 node=195b6e6b53d04659cd6ee6afa203ad486d6eb758
12 12
 
13 13
 BuildRequires:  coreutils >= 8.22, openssl-devel >= 1.0.1
14
+BuildRequires:  python2
15
+BuildRequires:  which
14 16
 Requires:       (coreutils >= 8.22 or toybox)
15 17
 Requires:       openssl >= 1.0.1
18
+Requires:       python2
16 19
 
17 20
 %description
18 21
 Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
... ...
@@ -30,7 +33,7 @@ for developing applications that use nodejs.
30 30
 %setup -q -n node-v%{version}
31 31
 
32 32
 %build
33
-./configure --prefix=%{_prefix} \
33
+sh configure --prefix=%{_prefix} \
34 34
            --shared-openssl \
35 35
            --shared-zlib
36 36
 
... ...
@@ -70,6 +73,8 @@ make cctest
70 70
 %{_datadir}/systemtap/tapset/node.stp
71 71
 
72 72
 %changelog
73
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 8.11.4-2
74
+-   Added BuildRequires python2, which
73 75
 *   Tue Sep 11 2018 Keerthana K <keerthanak@vmware.com> 8.11.4-1
74 76
 -   Updated to version 8.11.4 to fix CVE-2018-7161 and CVE-2018-7167.
75 77
 *   Wed Feb 14 2018 Xiaolin Li <xiaolinl@vmware.com> 8.3.0-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A JavaScript runtime built on Chrome's V8 JavaScript engine.
2 2
 Name:           nodejs
3 3
 Version:        9.11.2
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6 6
 Group:          Applications/System
7 7
 Vendor:         VMware, Inc.
... ...
@@ -11,8 +11,11 @@ Source0:        https://nodejs.org/download/release/v%{version}/node-v%{version}
11 11
 %define         sha1 node=4b1a5582afc298cf77fe47fa61ffc8c7f32f074d
12 12
 
13 13
 BuildRequires:  coreutils >= 8.22, openssl-devel >= 1.0.1
14
+BuildRequires:  python2
15
+BuildRequires:  which
14 16
 Requires:       (coreutils >= 8.22 or toybox)
15 17
 Requires:       openssl >= 1.0.1
18
+Requires:       python2
16 19
 
17 20
 %description
18 21
 Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
... ...
@@ -30,7 +33,7 @@ for developing applications that use nodejs.
30 30
 %setup -q -n node-v%{version}
31 31
 
32 32
 %build
33
-./configure --prefix=%{_prefix} \
33
+sh configure --prefix=%{_prefix} \
34 34
            --shared-openssl \
35 35
            --shared-zlib
36 36
 
... ...
@@ -70,6 +73,8 @@ make cctest
70 70
 %{_datadir}/systemtap/tapset/node.stp
71 71
 
72 72
 %changelog
73
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 9.11.2-2
74
+-   Added BuildRequires python2, which
73 75
 *   Thu Sep 20 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 9.11.2-1
74 76
 -   Updated to version 9.11.2
75 77
 *   Mon Sep 10 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 9.9.0-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A JavaScript runtime built on Chrome's V8 JavaScript engine.
2 2
 Name:           nodejs
3 3
 Version:        10.14.1
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        MIT
6 6
 Group:          Applications/System
7 7
 Vendor:         VMware, Inc.
... ...
@@ -11,7 +11,10 @@ Source0:        https://nodejs.org/download/release/v%{version}/node-v%{version}
11 11
 %define         sha1 node=ef39d1c5d87e018c0daf22fbdf38c31cfdfce901
12 12
 
13 13
 BuildRequires:  coreutils >= 8.22, zlib
14
+BuildRequires:  python2
15
+BuildRequires:  which
14 16
 Requires:       (coreutils >= 8.22 or toybox)
17
+Requires:       python2
15 18
 
16 19
 %description
17 20
 Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient. The Node.js package ecosystem, npm, is the largest ecosystem of open source libraries in the world.
... ...
@@ -68,6 +71,8 @@ make cctest
68 68
 %{_datadir}/systemtap/tapset/node.stp
69 69
 
70 70
 %changelog
71
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 10.14.1-2
72
+-   Added BuildRequires python2, which
71 73
 *   Tue Jan 08 2019 Siju Maliakkal <smaliakkal@vmware.com> 10.14.1-1
72 74
 -   Upgrade to 10.14.1 LTS
73 75
 *   Thu Sep 20 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 9.11.2-1
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A shared library implementation of IPMI and the basic tools
2 2
 Name:           openipmi
3 3
 Version:        2.0.25
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 URL:            https://sourceforge.net/projects/openipmi/
6 6
 License:        LGPLv2+ and GPLv2+ or BSD
7 7
 Group:          System Environment/Base
... ...
@@ -17,6 +17,7 @@ BuildRequires:  popt-devel
17 17
 BuildRequires:  ncurses-devel
18 18
 BuildRequires:  openssl-devel
19 19
 BuildRequires:  swig
20
+BuildRequires:  python2-devel
20 21
 Requires:       systemd
21 22
 
22 23
 %description
... ...
@@ -72,15 +73,13 @@ This package contains a network IPMI listener.
72 72
 # USERFIX: Things you might have to add to configure:
73 73
 #  --with-tclcflags='-I /usr/include/tclN.M' --with-tcllibs=-ltclN.M
74 74
 #    Obviously, replace N.M with the version of tcl on your system.
75
-./configure                                 \
76
-    --prefix=/usr                           \
75
+%configure                                  \
77 76
     --with-tcl=no                           \
78 77
     --disable-static                        \
79 78
     --with-tkinter=no                       \
80 79
     --docdir=%{_docdir}/%{name}-%{version}  \
81 80
     --with-perl=yes                         \
82
-    --with-perlinstall=%{perl_vendorarch}   \
83
-    --sysconfdir=%{_sysconfdir}
81
+    --with-perlinstall=%{perl_vendorarch}
84 82
 make
85 83
 
86 84
 %install
... ...
@@ -178,6 +177,8 @@ echo "disable ipmi.service" > %{buildroot}%{_libdir}/systemd/system-preset/50-ip
178 178
 %{_mandir}/man5/ipmi_sim_cmd.5.gz
179 179
 
180 180
 %changelog
181
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 2.0.25-2
182
+-   Added BuildRequires python2-devel
181 183
 *   Mon Sep 10 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 2.0.25-1
182 184
 -   Upgrade to 2.0.25
183 185
 *   Fri Sep 15 2017 Xiaolin Li <xiaolinl@vmware.com> 2.0.24-2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        Free version of the SSH connectivity tools
2 2
 Name:           openssh
3 3
 Version:        7.8p1
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        BSD
6 6
 URL:            https://www.openssh.com/
7 7
 Group:          System Environment/Security
... ...
@@ -21,6 +21,7 @@ BuildRequires:  Linux-PAM-devel
21 21
 BuildRequires:  krb5-devel
22 22
 BuildRequires:  e2fsprogs-devel
23 23
 BuildRequires:  systemd
24
+BuildRequires:  groff
24 25
 Requires:       openssh-clients = %{version}-%{release}
25 26
 Requires:       openssh-server = %{version}-%{release}
26 27
 %description
... ...
@@ -53,12 +54,7 @@ tar xf %{SOURCE1} --no-same-owner
53 53
 %patch1 -p1
54 54
 %patch2 -p1
55 55
 %build
56
-./configure \
57
-    CFLAGS="%{optflags}" \
58
-    CXXFLAGS="%{optflags}" \
59
-    --prefix=%{_prefix} \
60
-    --bindir=%{_bindir} \
61
-    --libdir=%{_libdir} \
56
+%configure \
62 57
     --sysconfdir=/etc/ssh \
63 58
     --datadir=/usr/share/sshd \
64 59
     --with-md5-passwords \
... ...
@@ -179,6 +175,9 @@ rm -rf %{buildroot}/*
179 179
 %{_mandir}/man8/ssh-pkcs11-helper.8.gz
180 180
 
181 181
 %changelog
182
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 7.8p1-2
183
+-   Added BuildRequires groff
184
+-   Use %configure
182 185
 *   Tue Sep 11 2018 Him Kalyan Bordoloi <bordoloih@vmware.com> 7.8p1-1
183 186
 -   Update version
184 187
 *   Tue Nov 28 2017 Xiaolin Li <xiaolinl@vmware.comm> 7.5p1-11
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 Name:           python-fuse
4 4
 Version:        0.3.1
5
-Release:        1%{?dist}
5
+Release:        2%{?dist}
6 6
 Summary:        Python interface to libfuse
7 7
 License:        LGPL
8 8
 Group:          Development/Languages/Python
... ...
@@ -14,7 +14,7 @@ Distribution:   Photon
14 14
 BuildRequires:  fuse
15 15
 BuildRequires:  fuse-devel
16 16
 BuildRequires:  pkg-config
17
-BuildRequires:  python2
17
+BuildRequires:  python2-devel
18 18
 BuildRequires:  python2-libs
19 19
 BuildRequires:  python-setuptools
20 20
 Requires:       fuse
... ...
@@ -41,7 +41,9 @@ easy_install py
41 41
 %{python2_sitelib}/fuse*
42 42
 
43 43
 %changelog
44
-*   Sat Sep 09 2018 Tapas Kundu <tkundu@vmware.com> 0.3.1-1
44
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 0.3.1-2
45
+-   Added BuildRequires python2-devel
46
+*   Sun Sep 09 2018 Tapas Kundu <tkundu@vmware.com> 0.3.1-1
45 47
 -   Updated to 0.3.1
46 48
 *   Thu Jun 01 2017 Dheeraj Shetty <dheerajs@vmware.com> 0.2.1-2
47 49
 -   Change python to python2
... ...
@@ -3,7 +3,7 @@
3 3
 Summary:        The Python SQL Toolkit and Object Relational Mapper
4 4
 Name:           python-sqlalchemy
5 5
 Version:        1.2.11
6
-Release:        1%{?dist}
6
+Release:        2%{?dist}
7 7
 Url:            http://www.sqlalchemy.org
8 8
 License:        MIT
9 9
 Group:          Development/Languages/Python
... ...
@@ -11,7 +11,7 @@ Vendor:         VMware, Inc.
11 11
 Distribution:   Photon
12 12
 Source0:        https://pypi.python.org/packages/29/18/a78469bc449d9f92f6269cc62d0d6fbe6bf394d1031b447ad5e54463c3a0/SQLAlchemy-%{version}.tar.gz
13 13
 %define sha1    SQLAlchemy=cec4f8ed911e52930c06090458ccf19229a2381a
14
-BuildRequires:  python2
14
+BuildRequires:  python2-devel
15 15
 BuildRequires:  python2-libs
16 16
 BuildRequires:  python-setuptools
17 17
 Requires:       python2
... ...
@@ -42,6 +42,8 @@ python2 setup.py install --prefix=%{_prefix} --root=%{buildroot}
42 42
 %{python2_sitelib}/*
43 43
 
44 44
 %changelog
45
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 1.2.11-2
46
+-   Added BuildRequires python2-devel
45 47
 *   Sun Sep 09 2018 Tapas Kundu <tkundu@vmware.com> 1.2.11-1
46 48
 -   Update to version 1.2.11
47 49
 *   Thu Jun 01 2017 Dheeraj Shetty <dheerajs@vmware.com> 1.1.7-2
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 Name:           python-subprocess32
4 4
 Version:        3.5.2
5
-Release:        1%{?dist}
5
+Release:        2%{?dist}
6 6
 Summary:        A backport of the subprocess module from Python 3.2/3.3 for use on 2.x
7 7
 License:        PSF
8 8
 Group:          Development/Languages/Python
... ...
@@ -12,7 +12,7 @@ Source0:        subprocess32-%{version}.tar.gz
12 12
 Vendor:         VMware, Inc.
13 13
 Distribution:   Photon
14 14
 
15
-BuildRequires:  python2
15
+BuildRequires:  python2-devel
16 16
 BuildRequires:  python2-libs
17 17
 BuildRequires:  python-setuptools
18 18
 BuildRequires:  python-pytest
... ...
@@ -44,6 +44,8 @@ PYTHONPATH=build/lib.linux-%{_arch}-%{python2_ver}/ python2 test_subprocess32.py
44 44
 %{python_sitelib}/*
45 45
 
46 46
 %changelog
47
+*   Tue Jan 08 2019 Alexey Makhalov <amakhalov@vmware.com> 3.5.2-2
48
+-   Added BuildRequires python2-devel
47 49
 *   Sun Sep 09 2018 Tapas Kundu <tkundu@vmware.com> 3.5.2-1
48 50
 -   Update to version 3.5.2
49 51
 *   Mon Sep 25 2017 Rui Gu <ruig@vmware.com> 3.2.7-2
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        A high-level scripting language
2 2
 Name:           python2
3 3
 Version:        2.7.15
4
-Release:        3%{?dist}
4
+Release:        4%{?dist}
5 5
 License:        PSF
6 6
 URL:            http://www.python.org/
7 7
 Group:          System Environment/Programming
... ...
@@ -29,9 +29,9 @@ Provides:       /bin/python
29 29
 Provides:       /bin/python2
30 30
 
31 31
 %description
32
-The Python 2 package contains the Python development environment. It 
33
-is useful for object-oriented programming, writing scripts, 
34
-prototyping large programs or developing entire applications. This 
32
+The Python 2 package contains the Python development environment. It
33
+is useful for object-oriented programming, writing scripts,
34
+prototyping large programs or developing entire applications. This
35 35
 version is for backward compatibility with other dependent packages.
36 36
 
37 37
 %package libs
... ...
@@ -44,13 +44,14 @@ Requires:       ncurses
44 44
 Requires:       (coreutils or toybox)
45 45
 Requires:       gdbm
46 46
 Requires:       bzip2-libs
47
+%global __requires_exclude ^(/usr/bin/python|python\\(abi\\) = 2\\.7)$
47 48
 
48 49
 # Needed for ctypes, to load libraries, worked around for Live CDs size
49 50
 # Requires: binutils
50 51
 
51 52
 %description libs
52
-The python interpreter can be embedded into applications wanting to 
53
-use python as an embedded scripting language.  The python-libs package 
53
+The python interpreter can be embedded into applications wanting to
54
+use python as an embedded scripting language.  The python-libs package
54 55
 provides the libraries needed for this.
55 56
 
56 57
 %package -n python-xml
... ...
@@ -62,7 +63,7 @@ Requires: python2-libs = %{version}-%{release}
62 62
 The python-xml package provides the libraries needed for XML manipulation.
63 63
 
64 64
 %package -n python-curses
65
-Summary: Python module interface for NCurses Library 
65
+Summary: Python module interface for NCurses Library
66 66
 Group: Applications/System
67 67
 Requires: python2-libs = %{version}-%{release}
68 68
 Requires: ncurses
... ...
@@ -116,12 +117,7 @@ The test package contains all regression tests for Python as well as the modules
116 116
 
117 117
 %build
118 118
 export OPT="${CFLAGS}"
119
-./configure \
120
-    CFLAGS="%{optflags}" \
121
-    CXXFLAGS="%{optflags}" \
122
-    --prefix=%{_prefix} \
123
-    --bindir=%{_bindir} \
124
-    --libdir=%{_libdir} \
119
+%configure \
125 120
     --enable-shared \
126 121
     --with-ssl \
127 122
     --with-system-expat \
... ...
@@ -133,7 +129,7 @@ make %{?_smp_mflags}
133 133
 [ %{buildroot} != "/"] && rm -rf %{buildroot}/*
134 134
 make DESTDIR=%{buildroot} install
135 135
 chmod -v 755 %{buildroot}%{_libdir}/libpython2.7.so.1.0
136
-%{_fixperms} %{buildroot}/* 
136
+%{_fixperms} %{buildroot}/*
137 137
 
138 138
 # Remove unused stuff
139 139
 find $RPM_BUILD_ROOT/ -name "*~"|xargs rm -f
... ...
@@ -155,7 +151,7 @@ rm -rf %{buildroot}/*
155 155
 %check
156 156
 make test
157 157
 
158
-%files 
158
+%files
159 159
 %defattr(-, root, root)
160 160
 %doc LICENSE README
161 161
 %{_bindir}/pydoc*
... ...
@@ -165,11 +161,6 @@ make test
165 165
 %dir %{_libdir}/python2.7
166 166
 %dir %{_libdir}/python2.7/site-packages
167 167
 
168
-%{_libdir}/libpython2.7.so.*
169
-/usr/lib/pkgconfig/python-2.7.pc
170
-/usr/lib/pkgconfig/python.pc
171
-/usr/lib/pkgconfig/python2.pc
172
-
173 168
 %exclude %{_libdir}/python2.7/bsddb/test
174 169
 %exclude %{_libdir}/python2.7/ctypes/test
175 170
 %exclude %{_libdir}/python2.7/distutils/tests
... ...
@@ -186,6 +177,7 @@ make test
186 186
 %defattr(-,root,root)
187 187
 %doc LICENSE README
188 188
 /usr/lib/python2.7
189
+%{_libdir}/libpython2.7.so.*
189 190
 %exclude %{_libdir}/python2.7/bsddb/test
190 191
 %exclude %{_libdir}/python2.7/ctypes/test
191 192
 %exclude %{_libdir}/python2.7/distutils/tests
... ...
@@ -218,6 +210,9 @@ make test
218 218
 %{_libdir}/python2.7/config/*
219 219
 %exclude %{_libdir}/python2.7/config/python.o
220 220
 %{_libdir}/libpython2.7.so
221
+%{_libdir}/pkgconfig/python-2.7.pc
222
+%{_libdir}/pkgconfig/python.pc
223
+%{_libdir}/pkgconfig/python2.pc
221 224
 %exclude %{_bindir}/smtpd*.py*
222 225
 %exclude %{_bindir}/2to3*
223 226
 %exclude %{_bindir}/idle*
... ...
@@ -235,6 +230,9 @@ make test
235 235
 %{_libdir}/python2.7/test/*
236 236
 
237 237
 %changelog
238
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 2.7.15-4
239
+-   Mode libpython2.7.so to python2-libs
240
+-   Remove python2 dependency from python2-libs
238 241
 *   Fri Dec 21 2018 Tapas Kundu <tkundu@vmware.com> 2.7.15-3
239 242
 -   Fix for CVE-2018-14647
240 243
 *   Mon Sep 17 2018 Dweep Advani <dadvani@vmware.com> 2.7.15-2
... ...
@@ -277,7 +275,7 @@ make test
277 277
 *   Wed Sep 14 2016 Divya Thaluru <dthaluru@vmware.com> 2.7.11-7
278 278
 -   Improvised pyopenssl patch
279 279
 *   Wed Sep 7 2016 Divya Thaluru <dthaluru@vmware.com> 2.7.11-6
280
--   Added patch to python openssl to validate certificates by ipaddress 
280
+-   Added patch to python openssl to validate certificates by ipaddress
281 281
 *   Mon Jun 20 2016 Divya Thaluru <dthaluru@vmware.com> 2.7.11-5
282 282
 -   Added stack-protector flag for ncurses module
283 283
 *   Tue May 24 2016 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.7.11-4
... ...
@@ -1,7 +1,7 @@
1 1
 Name:          rabbitmq-server
2 2
 Summary:       RabbitMQ messaging server
3 3
 Version:       3.6.15
4
-Release:       3%{?dist}
4
+Release:       4%{?dist}
5 5
 Group:         Applications
6 6
 Vendor:        VMware, Inc.
7 7
 Distribution:  Photon
... ...
@@ -19,6 +19,7 @@ BuildRequires: rsync
19 19
 BuildRequires: zip
20 20
 BuildRequires: libxslt
21 21
 BuildRequires: python-xml
22
+BuildRequires: python2
22 23
 BuildArch:     noarch
23 24
 
24 25
 %description
... ...
@@ -101,6 +102,8 @@ rm -rf $RPM_BUILD_ROOT
101 101
 /var/lib/*
102 102
 
103 103
 %changelog
104
+* Tue Feb 05 2019 Alexey Makhalov <amakhalov@vmware.com> 3.6.15-4
105
+- Added BuildRequires python2.
104 106
 * Thu Jan 31 2019 Siju Maliakkal <smaliakkal@vmware.com> 3.6.15-3
105 107
 - Consuming erlang 19.3
106 108
 * Mon Sep 24 2018 Dweep Advani <dadvani@vmware.com> 3.6.15-2
... ...
@@ -1,7 +1,7 @@
1 1
 %{!?python2_sitelib: %define python2_sitelib %(python2 -c "from distutils.sysconfig import get_python_lib;print(get_python_lib())")}
2 2
 Name:           scons
3 3
 Version:        3.0.1
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 Summary:        An Open Source software construction tool
6 6
 Group:          Development/Tools
7 7
 License:        MIT
... ...
@@ -10,6 +10,7 @@ Source0:        http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.
10 10
 %define sha1    scons=498691cf8d4f6da971b99fab0c3480ef944c4d1e
11 11
 Vendor:         VMware, Inc.
12 12
 Distribution:   Photon
13
+BuildRequires:  python2
13 14
 Requires:       python2
14 15
 BuildArch:      noarch
15 16
 
... ...
@@ -43,6 +44,8 @@ rm -rf %{buildroot}
43 43
 %{_datadir}/*
44 44
 
45 45
 %changelog
46
+*   Mon Jan 07 2019 Alexey Makhalov <amakhalov@vmware.com> 3.0.1-2
47
+-   BuildRequires: python2
46 48
 *   Tue Sep 18 2018 Srinidhi Rao <srinidhir@vmware.com> 3.0.1-1
47 49
 -   Upgraded to version 3.0.1
48 50
 *   Sun Oct 15 2017 Priyesh Padmavilasom <ppadmavilasom@vmware.com> 2.5.1-1
... ...
@@ -8,7 +8,7 @@
8 8
 
9 9
 Name:          systemtap
10 10
 Version:       4.0
11
-Release:       1%{?dist}
11
+Release:       2%{?dist}
12 12
 Summary:       Programmable system-wide instrumentation system
13 13
 Group:         Development/System
14 14
 Vendor:	       VMware, Inc.
... ...
@@ -32,6 +32,7 @@ BuildRequires: perl
32 32
 BuildRequires: python-setuptools
33 33
 BuildRequires: nss
34 34
 BuildRequires: shadow
35
+BuildRequires: python2-devel
35 36
 %if %with_boost
36 37
 BuildRequires: boost-devel
37 38
 %endif
... ...
@@ -73,6 +74,7 @@ Initscript for Systemtap scripts.
73 73
 %package python
74 74
 Group:         System/Tools
75 75
 Summary:       Python interface for systemtap
76
+Requires:      python2
76 77
 
77 78
 %description python
78 79
 This packages has the python interface to systemtap
... ...
@@ -355,6 +357,8 @@ fi
355 355
 %{_mandir}/man8/systemtap-service.8*
356 356
 
357 357
 %changelog
358
+*   Thu Jan 10 2019 Alexey Makhalov <amakhalov@vmware.com> 4.0-2
359
+-   Added BuildRequires python2-devel
358 360
 *   Tue Dec 04 2018 Keerthana K <keerthanak@vmware.com> 4.0-1
359 361
 -   Updated to version 4.0
360 362
 *   Mon Sep 10 2018 Keerthana K <keerthanak@vmware.com> 3.3-1
... ...
@@ -320,11 +320,11 @@ class SpecParser(object):
320 320
                 packageName = listContents[i]
321 321
                 if listContents[i].startswith("/"):
322 322
                     provider = constants.providedBy.get(listContents[i], None)
323
-                    i += 1
324 323
                     if provider is not None:
325 324
                         packageName = provider
326 325
                     else:
327
-                        continue
326
+                        raise Exception('What package does provide %s? Please modify providedBy in constants.py' % (listContents[i]))
327
+                    i += 1
328 328
                 if i + 2 < len(listContents):
329 329
                     if listContents[i+1] in (">=", "<=", "=", "<", ">"):
330 330
                         compare = listContents[i+1]
... ...
@@ -111,12 +111,8 @@ class constants(object):
111 111
         "automake",
112 112
         "openssl",
113 113
         "openssl-devel",
114
-        "python2",
115 114
         "libdb",
116
-        "rpm",
117
-        "groff",
118
-        "man-pages",
119
-        "cpio"]
115
+        "rpm"]
120 116
 
121 117
     # List or RPMS that will be installed in a chroot prior to build each
122 118
     # package. This list should be ordered by install order. On a stage1
... ...
@@ -204,9 +200,6 @@ class constants(object):
204 204
         "automake",
205 205
         "openssl",
206 206
         "openssl-devel",
207
-        "python2",
208
-        "python2-libs",
209
-        "python2-devel",
210 207
         "libcap",
211 208
         "libdb",
212 209
         "libdb-devel",
... ...
@@ -214,8 +207,6 @@ class constants(object):
214 214
         "rpm-build",
215 215
         "rpm-devel",
216 216
         "rpm-libs",
217
-        "groff",
218
-        "man-pages",
219 217
         "cpio"]
220 218
 
221 219
     # List of RPMs which are not published. They will be created during the
... ...
@@ -302,9 +293,32 @@ class constants(object):
302 302
     # Requires: shadow
303 303
     providedBy = {
304 304
         "/usr/sbin/useradd":"shadow",
305
+        "/usr/sbin/userdel":"shadow",
305 306
         "/usr/sbin/groupadd":"shadow",
307
+        "/sbin/service":"initscripts",
306 308
         "/usr/bin/which":"which",
307
-        "/bin/sed":"sed"
309
+        "/usr/bin/python":"python2",
310
+        "/bin/python":"python2",
311
+        "/bin/python2":"python2",
312
+        "/bin/python3":"python3",
313
+        "/bin/awk":"gawk",
314
+        "/bin/gawk":"gawk",
315
+        "/bin/sed":"sed",
316
+        "/bin/grep":"grep",
317
+        "/bin/sh":"bash",
318
+        "/bin/bash":"bash",
319
+        "/bin/zsh":"zsh",
320
+        "/bin/tcsh":"tcsh",
321
+        "/bin/csh":"csh",
322
+        "/bin/perl":"perl",
323
+        "/bin/mergerepo":"createrepo_c",
324
+        "/bin/modifyrepo":"createrepo_c",
325
+        "/bin/false":"coreutils",
326
+        "/bin/ln":"coreutils",
327
+        "/bin/chown":"coreutils",
328
+        "/bin/cp":"coreutils",
329
+        "/bin/rm":"coreutils",
330
+        "/bin/mv":"coreutils"
308 331
     }
309 332
 
310 333
     @staticmethod
... ...
@@ -90,7 +90,7 @@ function check-for-configure()
90 90
     exit 1
91 91
   fi
92 92
 
93
-  grep "%configure" $1 > /dev/null || exit 0
93
+  grep "%configure" $1 > /dev/null || return
94 94
 
95 95
   grep -Pzo ".*\\\\(\n)%configure.*" $1
96 96
   if [ $? -eq 0 ] ; then
... ...
@@ -119,7 +119,11 @@ function check-for-buildrequires()
119 119
   fi
120 120
 }
121 121
 
122
-SPECS=`git diff --name-only $1 @ | grep -e "SPECS/.*.spec$"`
122
+if [ -z "$(git diff-index --name-only HEAD --)" ] ; then
123
+	SPECS=`git diff --name-only @~ | grep -e "SPECS/.*.spec$"`
124
+else
125
+	SPECS=`git diff --name-only | grep -e "SPECS/.*.spec$"`
126
+fi
123 127
 for i in `echo $SPECS`;
124 128
 do
125 129
   echo Analyzing $i ...