Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(473)

Side by Side Diff: chrome/installer/linux/rpm/build.sh

Issue 2963223003: Reland of Switch Chrome on Linux to libc++ (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #!/bin/bash 1 #!/bin/bash
2 # 2 #
3 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 # TODO(mmoss) This currently only works with official builds, since non-official 7 # TODO(mmoss) This currently only works with official builds, since non-official
8 # builds don't add the "${BUILDDIR}/installer/" files needed for packaging. 8 # builds don't add the "${BUILDDIR}/installer/" files needed for packaging.
9 9
10 set -e 10 set -e
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
83 # we use is too old and doesn't provide %{_isa}, so we do this manually. 83 # we use is too old and doesn't provide %{_isa}, so we do this manually.
84 if [ "$ARCHITECTURE" = "x86_64" ] ; then 84 if [ "$ARCHITECTURE" = "x86_64" ] ; then
85 local EMPTY_VERSION="()" 85 local EMPTY_VERSION="()"
86 local PKG_ARCH="(64bit)" 86 local PKG_ARCH="(64bit)"
87 elif [ "$ARCHITECTURE" = "i386" ] ; then 87 elif [ "$ARCHITECTURE" = "i386" ] ; then
88 local EMPTY_VERSION="" 88 local EMPTY_VERSION=""
89 local PKG_ARCH="" 89 local PKG_ARCH=""
90 fi 90 fi
91 91
92 # Use find-requires script to make sure the dependencies are complete 92 # Use find-requires script to make sure the dependencies are complete
93 # (especially libc and libstdc++ versions). 93 # (especially libc versions).
94 DETECTED_DEPENDS="$(echo "${BUILDDIR}/chrome" | /usr/lib/rpm/find-requires)" 94 DETECTED_DEPENDS="$(echo "${BUILDDIR}/chrome" | /usr/lib/rpm/find-requires)"
95 95
96 # Compare the expected dependency list to the generated list. 96 # Compare the expected dependency list to the generated list.
97 # 97 #
98 # In this comparison, we allow ld-linux.so's symbol version "GLIBC_2.3" 98 # In this comparison, we allow ld-linux.so's symbol version "GLIBC_2.3"
99 # to be present but don't require it, because it is hard to predict 99 # to be present but don't require it, because it is hard to predict
100 # whether it will be generated. Referencing a __thread 100 # whether it will be generated. Referencing a __thread
101 # (thread-local/TLS) variable *sometimes* causes the compiler to generate 101 # (thread-local/TLS) variable *sometimes* causes the compiler to generate
102 # a reference to __tls_get_addr() (depending on compiler options such as 102 # a reference to __tls_get_addr() (depending on compiler options such as
103 # -fPIC vs. -fPIE). This function has symbol version "GLIBC_2.3". The 103 # -fPIC vs. -fPIE). This function has symbol version "GLIBC_2.3". The
(...skipping 16 matching lines...) Expand all
120 exit $BAD_DIFF 120 exit $BAD_DIFF
121 fi 121 fi
122 122
123 # lsb implies many dependencies. 123 # lsb implies many dependencies.
124 # 124 #
125 # nss (bundled) is optional in LSB 4.0. Also specify a more recent version 125 # nss (bundled) is optional in LSB 4.0. Also specify a more recent version
126 # for security and stability updates. While we depend on libnss3.so and not 126 # for security and stability updates. While we depend on libnss3.so and not
127 # libssl3.so, force the dependency on libssl3 to ensure the NSS version is 127 # libssl3.so, force the dependency on libssl3 to ensure the NSS version is
128 # 3.28 or later, since libssl3 should always be packaged with libnss3. 128 # 3.28 or later, since libssl3 should always be packaged with libnss3.
129 # 129 #
130 # libstdc++.so.6 is for C++11 support.
131 #
132 # wget is for uploading crash reports with Breakpad. 130 # wget is for uploading crash reports with Breakpad.
133 # 131 #
134 # xdg-utils is still optional in LSB 4.0. 132 # xdg-utils is still optional in LSB 4.0.
135 # 133 #
136 # zlib may not need to be there. It should be included with LSB. 134 # zlib may not need to be there. It should be included with LSB.
137 # TODO(thestig): Figure out why there is an entry for zlib. 135 # TODO(thestig): Figure out why there is an entry for zlib.
138 # 136 #
139 # We want to depend on the system SSL certs so wget can upload crash reports 137 # We want to depend on the system SSL certs so wget can upload crash reports
140 # securely, but there's no common capability between the distros. Bugs filed: 138 # securely, but there's no common capability between the distros. Bugs filed:
141 # https://qa.mandriva.com/show_bug.cgi?id=55714 139 # https://qa.mandriva.com/show_bug.cgi?id=55714
142 # https://bugzilla.redhat.com/show_bug.cgi?id=538158 140 # https://bugzilla.redhat.com/show_bug.cgi?id=538158
143 # https://bugzilla.novell.com/show_bug.cgi?id=556248 141 # https://bugzilla.novell.com/show_bug.cgi?id=556248
144 # 142 #
145 # We want to depend on liberation-fonts as well, but there is no such package 143 # We want to depend on liberation-fonts as well, but there is no such package
146 # for Fedora. https://bugzilla.redhat.com/show_bug.cgi?id=1252564 144 # for Fedora. https://bugzilla.redhat.com/show_bug.cgi?id=1252564
147 # TODO(thestig): Use the liberation-fonts package once its available on all 145 # TODO(thestig): Use the liberation-fonts package once its available on all
148 # supported distros. 146 # supported distros.
149 DEPENDS="lsb >= 4.0, \ 147 DEPENDS="lsb >= 4.0, \
150 libnss3.so(NSS_3.22)${PKG_ARCH}, \ 148 libnss3.so(NSS_3.22)${PKG_ARCH}, \
151 libssl3.so(NSS_3.28)${PKG_ARCH}, \ 149 libssl3.so(NSS_3.28)${PKG_ARCH}, \
152 libstdc++.so.6(GLIBCXX_3.4.18)${PKG_ARCH}, \
153 wget, \ 150 wget, \
154 xdg-utils, \ 151 xdg-utils, \
155 zlib, \ 152 zlib, \
156 $(echo "${DETECTED_DEPENDS}" | tr '\n' ',')" 153 $(echo "${DETECTED_DEPENDS}" | tr '\n' ',')"
157 gen_spec 154 gen_spec
158 155
159 # Create temporary rpmbuild dirs. 156 # Create temporary rpmbuild dirs.
160 RPMBUILD_DIR=$(mktemp -d -t rpmbuild.XXXXXX) || exit 1 157 RPMBUILD_DIR=$(mktemp -d -t rpmbuild.XXXXXX) || exit 1
161 mkdir -p "$RPMBUILD_DIR/BUILD" 158 mkdir -p "$RPMBUILD_DIR/BUILD"
162 mkdir -p "$RPMBUILD_DIR/RPMS" 159 mkdir -p "$RPMBUILD_DIR/RPMS"
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
323 ;; 320 ;;
324 * ) 321 * )
325 echo 322 echo
326 echo "ERROR: Don't know how to build RPMs for '$TARGETARCH'." 323 echo "ERROR: Don't know how to build RPMs for '$TARGETARCH'."
327 echo 324 echo
328 exit 1 325 exit 1
329 ;; 326 ;;
330 esac 327 esac
331 328
332 do_package 329 do_package
OLDNEW
« no previous file with comments | « chrome/installer/linux/debian/expected_deps_x64_jessie ('k') | chrome/installer/linux/rpm/expected_deps_i386 » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698