| OLD | NEW |
| 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 Loading... |
| 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 Loading... |
| 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 Loading... |
| 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 |
| OLD | NEW |