Browse code

Fix for build break in dev

Change-Id: I7aefadd52a1d8a70b77db2415d4c3c3e3df2a2c9
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/5797
Reviewed-by: Anish Swaminathan <anishs@vmware.com>
Tested-by: Anish Swaminathan <anishs@vmware.com>

gerrit-photon authored on 2018/09/25 22:32:10
Showing 5 changed files
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:        C++ L7 proxy and communication bus
2 2
 Name:           envoy
3 3
 Version:        1.2.0
4
-Release:        1%{?dist}
4
+Release:        2%{?dist}
5 5
 License:        Apache-2.0
6 6
 URL:            https://github.com/lyft/envoy
7 7
 Source0:        %{name}-v%{version}.tar.gz
... ...
@@ -51,6 +51,13 @@ Requires:       protobuf
51 51
 %description
52 52
 Envoy is a L7 proxy and communication bus designed for large modern service oriented architectures.
53 53
 
54
+%package test
55
+Summary: Contains envoy-test and envoy.gdb tools
56
+Group: Development/Tools
57
+Requires: envoy = %{version}-%{release}
58
+%description test
59
+Contains envoy-test and envoy.gdb tools
60
+
54 61
 %prep
55 62
 %setup -q
56 63
 cp %{SOURCE1} %{_builddir}/%{name}-%{version}/
... ...
@@ -61,6 +68,7 @@ git -c user.name='Envoy Builder' -c user.email='nobody@noorg.org' tag -a 'v%{ver
61 61
 git checkout 'v%{version}'
62 62
 sed -i "s#-Werror##g" common.cmake
63 63
 sed -i "s#static-libstdc++#lstdc++#g" CMakeLists.txt
64
+sed -i '/target_link_libraries(envoy-test gmock)/a target_link_libraries(envoy-test gtest)' test/CMakeLists.txt
64 65
 
65 66
 %build
66 67
 export CC=`which gcc`
... ...
@@ -102,11 +110,13 @@ cp ../configs/* %{buildroot}%{_sysconfdir}/envoy
102 102
 %{_bindir}/envoy
103 103
 %config(noreplace) %{_sysconfdir}/envoy/*
104 104
 
105
-%files debuginfo
105
+%files test
106 106
 %defattr(-,root,root)
107 107
 %{_bindir}/envoy-test
108 108
 %{_bindir}/envoy.dbg
109 109
 
110 110
 %changelog
111
-*    Thu Jun 29 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.2.0-1
112
--    Initial version of envoy package for Photon.
111
+* Mon Sep 24 2018 Alexey Makhalov <amakhalov@vmware.com> 1.2.0-2
112
+- Fix compilation issue. Add test subpackage
113
+* Thu Jun 29 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.2.0-1
114
+- Initial version of envoy package for Photon.
113 115
deleted file mode 100644
... ...
@@ -1,71 +0,0 @@
1
-Summary:	Google's C++ gmock framework
2
-Name:		gmock
3
-Version:	1.8.0
4
-Release:	2%{?dist}
5
-License:	ASL 2.0
6
-URL:		https://github.com/google/googletest
7
-Source0:	https://github.com/google/googletest/archive/googletest-%{version}.tar.gz
8
-%define sha1 googletest=e7e646a6204638fe8e87e165292b8dd9cd4c36ed
9
-Group:		Development/Tools
10
-Vendor:		VMware, Inc.
11
-Distribution: 	Photon
12
-BuildRequires:  autoconf
13
-BuildRequires:  automake
14
-BuildRequires:  cmake
15
-BuildRequires:  make
16
-BuildRequires:  gcc
17
-
18
-%description
19
-Google's C++ test framework that combines the GoogleTest and GoogleMock projects. This package provides gmock shared libraries.
20
-
21
-%package devel
22
-Summary:        libgmock headers
23
-Group:          Development/Tools
24
-%description devel
25
-This contains libgmock header files.
26
-
27
-%package static
28
-Summary:        libgmock static lib
29
-Group:          Development/Tools
30
-%description static
31
-This contains libgmock static library.
32
-
33
-%prep
34
-%setup -n googletest-release-%{version}
35
-
36
-%build
37
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=OFF .
38
-make
39
-cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=ON .
40
-make
41
-
42
-%install
43
-make DESTDIR=%{buildroot} install
44
-rm -rf %{buildroot}/%{_includedir}/gtest
45
-rm -f %{buildroot}/%{_libdir}/libgtest*
46
-install -p -m 644 -t %{buildroot}/usr/lib googlemock/libgmock.a
47
-install -p -m 644 -t %{buildroot}/usr/lib googlemock/libgmock_main.a
48
-install -vdm 755 %{buildroot}/usr/src/gmock/src/
49
-cp googlemock/src/* %{buildroot}/usr/src/gmock/src/
50
-find %{buildroot} -name '*.la' -delete
51
-
52
-%files
53
-%defattr(-,root,root)
54
-%{_libdir}/libgmock.so
55
-%{_libdir}/libgmock_main.so
56
-
57
-%files devel
58
-%defattr(-,root,root)
59
-%{_includedir}/gmock/*
60
-/usr/src/gmock/
61
-
62
-%files static
63
-%defattr(-,root,root)
64
-%{_libdir}/libgmock.a
65
-%{_libdir}/libgmock_main.a
66
-
67
-%changelog
68
-*    Thu May 04 2017 Anish Swaminathan <anishs@vmware.com> 1.8.0-2
69
--    Add gmock sources in devel package
70
-*    Mon Apr 10 2017 Vinay Kulkarni <kulkarniv@vmware.com> 1.8.0-1
71
--    Initial version of libgmock package for Photon.
... ...
@@ -1,7 +1,7 @@
1 1
 Summary:	Google's C++ gtest framework
2 2
 Name:		gtest
3 3
 Version:	1.8.1
4
-Release:	1%{?dist}
4
+Release:	2%{?dist}
5 5
 License:	ASL 2.0
6 6
 URL:		https://github.com/google/googletest
7 7
 Source0:	https://github.com/google/googletest/archive/googletest-%{version}.tar.gz
... ...
@@ -30,6 +30,25 @@ Group:          Development/Tools
30 30
 %description static
31 31
 This contains libgtest static library.
32 32
 
33
+%package -n gmock
34
+Summary: Google's C++ gmock framework
35
+Group: Development/Tools
36
+%description -n gmock
37
+Google's C++ test framework that combines the GoogleTest and GoogleMock projects. This package provides gmock shared libraries.
38
+
39
+%package -n gmock-devel
40
+Summary:        libgmock headers
41
+Group:          Development/Tools
42
+%description -n gmock-devel
43
+This contains libgmock header files.
44
+
45
+%package -n gmock-static
46
+Summary:        libgtest static lib
47
+Group:          Development/Tools
48
+%description -n gmock-static
49
+This contains libgmock static library.
50
+
51
+
33 52
 %prep
34 53
 %setup -n googletest-release-%{version}
35 54
 
... ...
@@ -41,18 +60,22 @@ make
41 41
 
42 42
 %install
43 43
 make DESTDIR=%{buildroot} install
44
-rm -rf %{buildroot}/%{_includedir}/gmock
45
-rm -f %{buildroot}/%{_libdir}/libgmock*
44
+install -p -m 644 -t %{buildroot}/usr/lib64 googlemock/libgmock.a
45
+install -p -m 644 -t %{buildroot}/usr/lib64 googlemock/libgmock_main.a
46 46
 install -p -m 644 -t %{buildroot}/usr/lib64 googlemock/gtest/libgtest.a
47 47
 install -p -m 644 -t %{buildroot}/usr/lib64 googlemock/gtest/libgtest_main.a
48 48
 install -vdm 755 %{buildroot}/usr/src/gtest/src/
49
+install -vdm 755 %{buildroot}/usr/src/gmock/src/
49 50
 cp googletest/src/* %{buildroot}/usr/src/gtest/src/
51
+cp googlemock/src/* %{buildroot}/usr/src/gmock/src/
50 52
 find %{buildroot} -name '*.la' -delete
51 53
 
52 54
 %files
53 55
 %defattr(-,root,root)
54 56
 %{_lib64dir}/libgtest.so
55 57
 %{_lib64dir}/libgtest_main.so
58
+
59
+%files -n gmock
56 60
 %{_lib64dir}/libgmock.so
57 61
 %{_lib64dir}/libgmock_main.so
58 62
 
... ...
@@ -63,12 +86,23 @@ find %{buildroot} -name '*.la' -delete
63 63
 %{_lib64dir}/cmake/GTest/*.cmake
64 64
 %{_lib64dir}/pkgconfig/*.pc
65 65
 
66
+%files -n gmock-devel
67
+%{_includedir}/gmock/*
68
+/usr/src/gmock/
69
+
70
+%files -n gmock-static
71
+%defattr(-,root,root)
72
+%{_lib64dir}/libgmock.a
73
+%{_lib64dir}/libgmock_main.a
74
+
66 75
 %files static
67 76
 %defattr(-,root,root)
68 77
 %{_lib64dir}/libgtest.a
69 78
 %{_lib64dir}/libgtest_main.a
70 79
 
71 80
 %changelog
81
+*    Sun Sep 23 2018 Sharath George <anishs@vmware.com> 1.8.1-2
82
+-    Add gmock subpackage
72 83
 *    Wed Sep 12 2018 Anish Swaminathan <anishs@vmware.com> 1.8.1-1
73 84
 -    Update version to 1.8.1
74 85
 *    Thu May 04 2017 Anish Swaminathan <anishs@vmware.com> 1.8.0-2
... ...
@@ -191,38 +191,38 @@ def buildSRPMList(srpmPath, yamlDir, blackListPkgs, logger, singleFile=True):
191 191
         if package in blackListPkgs:
192 192
             continue
193 193
         ossname = package
194
-        ossversion = SPECS.getData().getVersion(package)
195
-        ossrelease = SPECS.getData().getRelease(package, ossversion)
196
-
197
-        listFoundSRPMFiles = cmdUtils.findFile(ossname + "-" + ossversion + "-" + ossrelease
198
-                                               + ".src.rpm",
199
-                                               srpmPath)
200
-        srpmName = None
201
-        if len(listFoundSRPMFiles) == 1:
202
-            srpmFullPath = listFoundSRPMFiles[0]
203
-            srpmName = os.path.basename(srpmFullPath)
204
-            cpcmd = "cp " + srpmFullPath + " " + yamlSrpmDir + "/"
205
-            returnVal = cmdUtils.runCommandInShell(cpcmd)
206
-            if not returnVal:
207
-                logger.error("Copy SRPM File is failed for package:" + ossname)
208
-        else:
209
-            logger.error("SRPM file is not found:" + ossname)
210
-
211
-        if not singleFile:
212
-            yamlFile = open(yamlSrpmDir + "/" + ossname + "-" + ossversion + "-"
213
-                            + ossrelease + ".yaml", "w")
214
-
215
-        yamlFile.write("baseos:" + ossname + ":" + ossversion + "-" + ossrelease + ":\n")
216
-        yamlFile.write("  repository: BaseOS\n")
217
-        yamlFile.write("  name: '" + ossname + "'\n")
218
-        yamlFile.write("  version: '" + ossversion + "-" + ossrelease + "'\n")
219
-        yamlFile.write("  url: 'http://www.vmware.com'\n")
220
-        yamlFile.write("  baseos-style: rpm\n")
221
-        yamlFile.write("  baseos-source: '" + str(srpmName) + "'\n")
222
-        yamlFile.write("  baseos-osname: 'photon'\n")
223
-        yamlFile.write("\n")
224
-        if not singleFile:
225
-            yamlFile.close()
194
+        for ossversion in SPECS.getData().getVersions(package):
195
+            ossrelease = SPECS.getData().getRelease(package, ossversion)
196
+
197
+            listFoundSRPMFiles = cmdUtils.findFile(ossname + "-" + ossversion + "-" + ossrelease
198
+                                                   + ".src.rpm",
199
+                                                   srpmPath)
200
+            srpmName = None
201
+            if len(listFoundSRPMFiles) == 1:
202
+                srpmFullPath = listFoundSRPMFiles[0]
203
+                srpmName = os.path.basename(srpmFullPath)
204
+                cpcmd = "cp " + srpmFullPath + " " + yamlSrpmDir + "/"
205
+                returnVal = cmdUtils.runCommandInShell(cpcmd)
206
+                if not returnVal:
207
+                    logger.error("Copy SRPM File is failed for package:" + ossname)
208
+            else:
209
+                logger.error("SRPM file is not found:" + ossname)
210
+
211
+            if not singleFile:
212
+                yamlFile = open(yamlSrpmDir + "/" + ossname + "-" + ossversion + "-"
213
+                                + ossrelease + ".yaml", "w")
214
+
215
+            yamlFile.write("baseos:" + ossname + ":" + ossversion + "-" + ossrelease + ":\n")
216
+            yamlFile.write("  repository: BaseOS\n")
217
+            yamlFile.write("  name: '" + ossname + "'\n")
218
+            yamlFile.write("  version: '" + ossversion + "-" + ossrelease + "'\n")
219
+            yamlFile.write("  url: 'http://www.vmware.com'\n")
220
+            yamlFile.write("  baseos-style: rpm\n")
221
+            yamlFile.write("  baseos-source: '" + str(srpmName) + "'\n")
222
+            yamlFile.write("  baseos-osname: 'photon'\n")
223
+            yamlFile.write("\n")
224
+            if not singleFile:
225
+                yamlFile.close()
226 226
 
227 227
     if singleFile:
228 228
         yamlFile.close()
... ...
@@ -24,30 +24,30 @@ class PackageInfo(object):
24 24
         listRPMFiles = []
25 25
         cmdUtils = CommandUtils()
26 26
         for package in listPackages:
27
-            version = SPECS.getData().getVersion(package)
28
-            release = SPECS.getData().getRelease(package, version)
29
-            listRPMPackages = SPECS.getData().getRPMPackages(package)
30
-            srpmFileName = package + "-" + version + "-" + release + ".src.rpm"
31
-            srpmFiles = cmdUtils.findFile(srpmFileName, constants.sourceRpmPath)
32
-            srpmFile = None
33
-            if len(srpmFiles) == 1:
34
-                srpmFile = srpmFiles[0]
35
-            debugrpmFileName = package + "-debuginfo-" + version + "-" + release + "*"
36
-            debugrpmFiles = cmdUtils.findFile(debugrpmFileName, constants.rpmPath)
37
-            debugrpmFile = None
38
-            if len(debugrpmFiles) == 1:
39
-                debugrpmFile = debugrpmFiles[0]
40
-            pkgUtils = PackageUtils(self.logName, self.logPath)
41
-            for rpmPkg in listRPMPackages:
42
-                rpmFile = pkgUtils.findRPMFileForGivenPackage(rpmPkg)
43
-                if rpmFile is not None:
44
-                    listRPMFiles.append(rpmFile)
45
-                    listPkgAttributes = {"sourcerpm":srpmFile, "rpm":rpmFile,
46
-                                         "debugrpm":debugrpmFile}
47
-                    self.pkgList[rpmPkg] = listPkgAttributes
48
-                    self.logger.debug("Added " + rpmPkg + " rpm package to the list")
49
-                else:
50
-                    self.logger.error("Missing rpm file for package:" + rpmPkg)
27
+            for version in SPECS.getData().getVersions(package):
28
+                release = SPECS.getData().getRelease(package, version)
29
+                listRPMPackages = SPECS.getData().getRPMPackages(package, version)
30
+                srpmFileName = package + "-" + version + "-" + release + ".src.rpm"
31
+                srpmFiles = cmdUtils.findFile(srpmFileName, constants.sourceRpmPath)
32
+                srpmFile = None
33
+                if len(srpmFiles) == 1:
34
+                    srpmFile = srpmFiles[0]
35
+                debugrpmFileName = package + "-debuginfo-" + version + "-" + release + "*"
36
+                debugrpmFiles = cmdUtils.findFile(debugrpmFileName, constants.rpmPath)
37
+                debugrpmFile = None
38
+                if len(debugrpmFiles) == 1:
39
+                    debugrpmFile = debugrpmFiles[0]
40
+                pkgUtils = PackageUtils(self.logName, self.logPath)
41
+                for rpmPkg in listRPMPackages:
42
+                    rpmFile = pkgUtils.findRPMFileForGivenPackage(rpmPkg)
43
+                    if rpmFile is not None:
44
+                        listRPMFiles.append(rpmFile)
45
+                        listPkgAttributes = {"sourcerpm":srpmFile, "rpm":rpmFile,
46
+                                             "debugrpm":debugrpmFile}
47
+                        self.pkgList[rpmPkg] = listPkgAttributes
48
+                        self.logger.debug("Added " + rpmPkg + " rpm package to the list")
49
+                    else:
50
+                        self.logger.error("Missing rpm file for package:" + rpmPkg)
51 51
 
52 52
     def writePkgListToFile(self, fileName):
53 53
         self.logger.info("Writing package list to the json file")