diff options
author | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 00:04:16 +0000 |
---|---|---|
committer | sbc@chromium.org <sbc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-13 00:04:16 +0000 |
commit | 86f50531d86acde53cdcf42bb740e29add43808e (patch) | |
tree | 60ebfde6aaa3142bc9dcb6c4464dca56b710876c /chrome/installer | |
parent | 1f738cb6a612558ae92bd1245296190dda617019 (diff) | |
download | chromium_src-86f50531d86acde53cdcf42bb740e29add43808e.zip chromium_src-86f50531d86acde53cdcf42bb740e29add43808e.tar.gz chromium_src-86f50531d86acde53cdcf42bb740e29add43808e.tar.bz2 |
Add sysroot script for armhf linux.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/101033002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269929 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/installer')
4 files changed, 276 insertions, 42 deletions
diff --git a/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.amd64 b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.amd64 index 7295de9..12cf828 100644 --- a/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.amd64 +++ b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.amd64 @@ -39,10 +39,10 @@ main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1_amd64.deb main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.26.1-1_amd64.deb main/g/glib2.0/libglib2.0-0_2.33.12+really2.32.4-5_amd64.deb main/g/glib2.0/libglib2.0-dev_2.33.12+really2.32.4-5_amd64.deb -main/g/gnutls26/libgnutls26_2.12.20-7_amd64.deb -main/g/gnutls26/libgnutls-dev_2.12.20-7_amd64.deb -main/g/gnutls26/libgnutls-openssl27_2.12.20-7_amd64.deb -main/g/gnutls26/libgnutlsxx27_2.12.20-7_amd64.deb +main/g/gnutls26/libgnutls26_2.12.20-8+deb7u1_amd64.deb +main/g/gnutls26/libgnutls-dev_2.12.20-8+deb7u1_amd64.deb +main/g/gnutls26/libgnutls-openssl27_2.12.20-8+deb7u1_amd64.deb +main/g/gnutls26/libgnutlsxx27_2.12.20-8+deb7u1_amd64.deb main/g/gtk+2.0/libgtk2.0-0_2.24.10-2_amd64.deb main/g/gtk+2.0/libgtk2.0-dev_2.24.10-2_amd64.deb main/k/keyutils/libkeyutils1_1.5.5-3_amd64.deb @@ -112,7 +112,7 @@ main/libx/libxt/libxt-dev_1.1.3-1+deb7u1_amd64.deb main/libx/libxtst/libxtst6_1.2.1-1+deb7u1_amd64.deb main/libx/libxtst/libxtst-dev_1.2.1-1+deb7u1_amd64.deb main/libx/libxxf86vm/libxxf86vm1_1.1.2-1+deb7u1_amd64.deb -main/l/linux/linux-libc-dev_3.2.54-2_amd64.deb +main/l/linux/linux-libc-dev_3.2.57-3_amd64.deb main/m/mesa/libgl1-mesa-dev_8.0.5-4+deb7u2_amd64.deb main/m/mesa/libgl1-mesa-glx_8.0.5-4+deb7u2_amd64.deb main/m/mesa/libglapi-mesa_8.0.5-4+deb7u2_amd64.deb @@ -121,8 +121,8 @@ main/n/nspr/libnspr4_4.9.2-1+deb7u1_amd64.deb main/n/nspr/libnspr4-dev_4.9.2-1+deb7u1_amd64.deb main/n/nss/libnss3_3.14.5-1_amd64.deb main/n/nss/libnss3-dev_3.14.5-1_amd64.deb -main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u4_amd64.deb -main/o/openssl/libssl-dev_1.0.1e-2+deb7u4_amd64.deb +main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u7_amd64.deb +main/o/openssl/libssl-dev_1.0.1e-2+deb7u7_amd64.deb main/o/orbit2/liborbit2_2.14.19-0.1_amd64.deb main/p/p11-kit/libp11-kit0_0.12-3_amd64.deb main/p/pam/libpam0g_1.1.3-7.1_amd64.deb diff --git a/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.arm b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.arm new file mode 100644 index 0000000..8bdfeec --- /dev/null +++ b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.arm @@ -0,0 +1,158 @@ +main/a/alsa-lib/libasound2_1.0.25-4_armhf.deb +main/a/alsa-lib/libasound2-dev_1.0.25-4_armhf.deb +main/a/atk1.0/libatk1.0-0_2.4.0-2_armhf.deb +main/a/atk1.0/libatk1.0-dev_2.4.0-2_armhf.deb +main/a/avahi/libavahi-client3_0.6.31-2_armhf.deb +main/a/avahi/libavahi-common3_0.6.31-2_armhf.deb +main/c/cairo/libcairo2_1.12.2-3_armhf.deb +main/c/cairo/libcairo2-dev_1.12.2-3_armhf.deb +main/c/cairo/libcairo-gobject2_1.12.2-3_armhf.deb +main/c/cairo/libcairo-script-interpreter2_1.12.2-3_armhf.deb +main/c/cups/libcups2_1.5.3-5+deb7u1_armhf.deb +main/c/cups/libcups2-dev_1.5.3-5+deb7u1_armhf.deb +main/d/dbus-glib/libdbus-glib-1-2_0.100.2-1_armhf.deb +main/d/dbus/libdbus-1-3_1.6.8-1+deb7u1_armhf.deb +main/d/dbus/libdbus-1-dev_1.6.8-1+deb7u1_armhf.deb +main/e/e2fsprogs/comerr-dev_2.1-1.42.5-1.1_armhf.deb +main/e/e2fsprogs/libcomerr2_1.42.5-1.1_armhf.deb +main/e/eglibc/libc6_2.13-38+deb7u1_armhf.deb +main/e/eglibc/libc6-dev_2.13-38+deb7u1_armhf.deb +main/e/elfutils/libelf1_0.152-1+wheezy1_armhf.deb +main/e/elfutils/libelf-dev_0.152-1+wheezy1_armhf.deb +main/e/expat/libexpat1_2.1.0-1+deb7u1_armhf.deb +main/e/expat/libexpat1-dev_2.1.0-1+deb7u1_armhf.deb +main/f/fontconfig/libfontconfig1_2.9.0-7.1_armhf.deb +main/f/fontconfig/libfontconfig1-dev_2.9.0-7.1_armhf.deb +main/f/freetype/libfreetype6_2.4.9-1.1_armhf.deb +main/f/freetype/libfreetype6-dev_2.4.9-1.1_armhf.deb +main/g/gcc-4.6/gcc-4.6_4.6.3-14_armhf.deb +main/g/gcc-4.6/libstdc++6-4.6-dev_4.6.3-14_armhf.deb +main/g/gcc-4.7/libgcc1_4.7.2-5_armhf.deb +main/g/gcc-4.7/libgcc1_4.7.2-5_armhf.deb +main/g/gcc-4.7/libgomp1_4.7.2-5_armhf.deb +main/g/gcc-4.7/libstdc++6_4.7.2-5_armhf.deb +main/g/gconf/libgconf2-4_3.2.5-1+build1_armhf.deb +main/g/gconf/libgconf-2-4_3.2.5-1+build1_armhf.deb +main/g/gconf/libgconf2-dev_3.2.5-1+build1_armhf.deb +main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1_armhf.deb +main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.26.1-1_armhf.deb +main/g/glib2.0/libglib2.0-0_2.33.12+really2.32.4-5_armhf.deb +main/g/glib2.0/libglib2.0-dev_2.33.12+really2.32.4-5_armhf.deb +main/g/gnutls26/libgnutls26_2.12.20-8+deb7u1_armhf.deb +main/g/gnutls26/libgnutls-dev_2.12.20-8+deb7u1_armhf.deb +main/g/gnutls26/libgnutls-openssl27_2.12.20-8+deb7u1_armhf.deb +main/g/gnutls26/libgnutlsxx27_2.12.20-8+deb7u1_armhf.deb +main/g/gtk+2.0/libgtk2.0-0_2.24.10-2_armhf.deb +main/g/gtk+2.0/libgtk2.0-dev_2.24.10-2_armhf.deb +main/k/keyutils/libkeyutils1_1.5.5-3_armhf.deb +main/k/krb5/krb5-multidev_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libgssapi-krb5-2_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libgssrpc4_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libk5crypto3_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkadm5clnt-mit8_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkadm5srv-mit8_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkdb5-6_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkrb5-3_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkrb5-dev_1.10.1+dfsg-5+deb7u1_armhf.deb +main/k/krb5/libkrb5support0_1.10.1+dfsg-5+deb7u1_armhf.deb +main/libc/libcap2/libcap2_2.22-1.2_armhf.deb +main/libc/libcap2/libcap-dev_2.22-1.2_armhf.deb +main/libd/libdrm/libdrm2_2.4.40-1~deb7u2_armhf.deb +main/libe/libexif/libexif12_0.6.20-3_armhf.deb +main/libe/libexif/libexif-dev_0.6.20-3_armhf.deb +main/libf/libffi/libffi5_3.0.10-3+b1_armhf.deb +main/libg/libgcrypt11/libgcrypt11_1.5.0-5+deb7u1_armhf.deb +main/libg/libgcrypt11/libgcrypt11-dev_1.5.0-5+deb7u1_armhf.deb +main/libg/libgnome-keyring/libgnome-keyring0_3.4.1-1_armhf.deb +main/libg/libgnome-keyring/libgnome-keyring-dev_3.4.1-1_armhf.deb +main/libg/libgpg-error/libgpg-error0_1.10-3.1_armhf.deb +main/libg/libgpg-error/libgpg-error-dev_1.10-3.1_armhf.deb +main/libn/libnss-db/libnss-db_2.2.3pre1-4_armhf.deb +main/libp/libp11/libp11-2_0.2.8-2_armhf.deb +main/libp/libpng/libpng12-0_1.2.49-1_armhf.deb +main/libp/libpng/libpng12-dev_1.2.49-1_armhf.deb +main/libs/libselinux/libselinux1_2.1.9-5_armhf.deb +main/libt/libtasn1-3/libtasn1-3_2.13-2_armhf.deb +main/libx/libx11/libx11-6_1.5.0-1+deb7u1_armhf.deb +main/libx/libx11/libx11-dev_1.5.0-1+deb7u1_armhf.deb +main/libx/libx11/libx11-xcb1_1.5.0-1+deb7u1_armhf.deb +main/libx/libxau/libxau6_1.0.7-1_armhf.deb +main/libx/libxau/libxau-dev_1.0.7-1_armhf.deb +main/libx/libxcb/libxcb1_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb1-dev_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb-glx0_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb-render0_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb-render0-dev_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb-shm0_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcb/libxcb-shm0-dev_1.8.1-2+deb7u1_armhf.deb +main/libx/libxcomposite/libxcomposite1_0.4.3-2+b1_armhf.deb +main/libx/libxcomposite/libxcomposite-dev_0.4.3-2+b1_armhf.deb +main/libx/libxcursor/libxcursor1_1.1.13-1+deb7u1_armhf.deb +main/libx/libxcursor/libxcursor-dev_1.1.13-1+deb7u1_armhf.deb +main/libx/libxdamage/libxdamage1_1.1.3-2+b1_armhf.deb +main/libx/libxdamage/libxdamage-dev_1.1.3-2+b1_armhf.deb +main/libx/libxdmcp/libxdmcp6_1.1.1-1_armhf.deb +main/libx/libxext/libxext6_1.3.1-2+deb7u1_armhf.deb +main/libx/libxext/libxext-dev_1.3.1-2+deb7u1_armhf.deb +main/libx/libxfixes/libxfixes3_5.0-4+deb7u1_armhf.deb +main/libx/libxfixes/libxfixes-dev_5.0-4+deb7u1_armhf.deb +main/libx/libxi/libxi6_1.6.1-1+deb7u1_armhf.deb +main/libx/libxi/libxi-dev_1.6.1-1+deb7u1_armhf.deb +main/libx/libxinerama/libxinerama1_1.1.2-1+deb7u1_armhf.deb +main/libx/libxinerama/libxinerama-dev_1.1.2-1+deb7u1_armhf.deb +main/libx/libxrandr/libxrandr2_1.3.2-2+deb7u1_armhf.deb +main/libx/libxrandr/libxrandr-dev_1.3.2-2+deb7u1_armhf.deb +main/libx/libxrender/libxrender1_0.9.7-1+deb7u1_armhf.deb +main/libx/libxrender/libxrender-dev_0.9.7-1+deb7u1_armhf.deb +main/libx/libxss/libxss1_1.2.2-1_armhf.deb +main/libx/libxss/libxss-dev_1.2.2-1_armhf.deb +main/libx/libxt/libxt6_1.1.3-1+deb7u1_armhf.deb +main/libx/libxt/libxt-dev_1.1.3-1+deb7u1_armhf.deb +main/libx/libxtst/libxtst6_1.2.1-1+deb7u1_armhf.deb +main/libx/libxtst/libxtst-dev_1.2.1-1+deb7u1_armhf.deb +main/libx/libxxf86vm/libxxf86vm1_1.1.2-1+deb7u1_armhf.deb +main/l/linux/linux-libc-dev_3.2.57-3_armhf.deb +main/m/mesa/libgl1-mesa-dev_8.0.5-4+deb7u2_armhf.deb +main/m/mesa/libgl1-mesa-glx_8.0.5-4+deb7u2_armhf.deb +main/m/mesa/libglapi-mesa_8.0.5-4+deb7u2_armhf.deb +main/m/mesa/mesa-common-dev_8.0.5-4+deb7u2_armhf.deb +main/n/nspr/libnspr4_4.9.2-1+deb7u1_armhf.deb +main/n/nspr/libnspr4-dev_4.9.2-1+deb7u1_armhf.deb +main/n/nss/libnss3_3.14.5-1_armhf.deb +main/n/nss/libnss3-dev_3.14.5-1_armhf.deb +main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u7_armhf.deb +main/o/openssl/libssl-dev_1.0.1e-2+deb7u7_armhf.deb +main/o/orbit2/liborbit2_2.14.19-0.1_armhf.deb +main/p/p11-kit/libp11-kit0_0.12-3_armhf.deb +main/p/pam/libpam0g_1.1.3-7.1_armhf.deb +main/p/pam/libpam0g-dev_1.1.3-7.1_armhf.deb +main/p/pango1.0/libpango1.0-0_1.30.0-1_armhf.deb +main/p/pango1.0/libpango1.0-dev_1.30.0-1_armhf.deb +main/p/pciutils/libpci3_3.1.9-6_armhf.deb +main/p/pciutils/libpci-dev_3.1.9-6_armhf.deb +main/p/pcre3/libpcre3_8.30-5_armhf.deb +main/p/pcre3/libpcre3-dev_8.30-5_armhf.deb +main/p/pcre3/libpcrecpp0_8.30-5_armhf.deb +main/p/pixman/libpixman-1-0_0.26.0-4+deb7u1_armhf.deb +main/p/pixman/libpixman-1-dev_0.26.0-4+deb7u1_armhf.deb +main/p/pulseaudio/libpulse0_2.0-6.1_armhf.deb +main/p/pulseaudio/libpulse-dev_2.0-6.1_armhf.deb +main/p/pulseaudio/libpulse-mainloop-glib0_2.0-6.1_armhf.deb +main/s/speech-dispatcher/libspeechd2_0.7.1-6.2_armhf.deb +main/s/speech-dispatcher/libspeechd-dev_0.7.1-6.2_armhf.deb +main/s/speech-dispatcher/speech-dispatcher_0.7.1-6.2_armhf.deb +main/u/udev/libudev0_175-7.2_armhf.deb +main/u/udev/libudev-dev_175-7.2_armhf.deb +main/x/x11proto-composite/x11proto-composite-dev_0.4.2-2_all.deb +main/x/x11proto-core/x11proto-core-dev_7.0.23-1_all.deb +main/x/x11proto-damage/x11proto-damage-dev_1.2.1-2_all.deb +main/x/x11proto-fixes/x11proto-fixes-dev_5.0-2_all.deb +main/x/x11proto-input/x11proto-input-dev_2.2-1_all.deb +main/x/x11proto-kb/x11proto-kb-dev_1.0.6-2_all.deb +main/x/x11proto-randr/x11proto-randr-dev_1.3.2-2_all.deb +main/x/x11proto-record/x11proto-record-dev_1.14.2-1_all.deb +main/x/x11proto-render/x11proto-render-dev_0.11.1-2_all.deb +main/x/x11proto-scrnsaver/x11proto-scrnsaver-dev_1.2.2-1_all.deb +main/x/x11proto-xext/x11proto-xext-dev_7.2.1-1_all.deb +main/z/zlib/zlib1g_1.2.7.dfsg-13_armhf.deb +main/z/zlib/zlib1g-dev_1.2.7.dfsg-13_armhf.deb diff --git a/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.i386 b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.i386 index c0371a3..793f262 100644 --- a/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.i386 +++ b/chrome/installer/linux/sysroot_scripts/packagelist.debian.wheezy.i386 @@ -39,10 +39,10 @@ main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.26.1-1_i386.deb main/g/gdk-pixbuf/libgdk-pixbuf2.0-dev_2.26.1-1_i386.deb main/g/glib2.0/libglib2.0-0_2.33.12+really2.32.4-5_i386.deb main/g/glib2.0/libglib2.0-dev_2.33.12+really2.32.4-5_i386.deb -main/g/gnutls26/libgnutls26_2.12.20-7_i386.deb -main/g/gnutls26/libgnutls-dev_2.12.20-7_i386.deb -main/g/gnutls26/libgnutls-openssl27_2.12.20-7_i386.deb -main/g/gnutls26/libgnutlsxx27_2.12.20-7_i386.deb +main/g/gnutls26/libgnutls26_2.12.20-8+deb7u1_i386.deb +main/g/gnutls26/libgnutls-dev_2.12.20-8+deb7u1_i386.deb +main/g/gnutls26/libgnutls-openssl27_2.12.20-8+deb7u1_i386.deb +main/g/gnutls26/libgnutlsxx27_2.12.20-8+deb7u1_i386.deb main/g/gtk+2.0/libgtk2.0-0_2.24.10-2_i386.deb main/g/gtk+2.0/libgtk2.0-dev_2.24.10-2_i386.deb main/k/keyutils/libkeyutils1_1.5.5-3_i386.deb @@ -112,7 +112,7 @@ main/libx/libxt/libxt-dev_1.1.3-1+deb7u1_i386.deb main/libx/libxtst/libxtst6_1.2.1-1+deb7u1_i386.deb main/libx/libxtst/libxtst-dev_1.2.1-1+deb7u1_i386.deb main/libx/libxxf86vm/libxxf86vm1_1.1.2-1+deb7u1_i386.deb -main/l/linux/linux-libc-dev_3.2.54-2_i386.deb +main/l/linux/linux-libc-dev_3.2.57-3_i386.deb main/m/mesa/libgl1-mesa-dev_8.0.5-4+deb7u2_i386.deb main/m/mesa/libgl1-mesa-glx_8.0.5-4+deb7u2_i386.deb main/m/mesa/libglapi-mesa_8.0.5-4+deb7u2_i386.deb @@ -121,8 +121,8 @@ main/n/nspr/libnspr4_4.9.2-1+deb7u1_i386.deb main/n/nspr/libnspr4-dev_4.9.2-1+deb7u1_i386.deb main/n/nss/libnss3_3.14.5-1_i386.deb main/n/nss/libnss3-dev_3.14.5-1_i386.deb -main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u4_i386.deb -main/o/openssl/libssl-dev_1.0.1e-2+deb7u4_i386.deb +main/o/openssl/libssl1.0.0_1.0.1e-2+deb7u7_i386.deb +main/o/openssl/libssl-dev_1.0.1e-2+deb7u7_i386.deb main/o/orbit2/liborbit2_2.14.19-0.1_i386.deb main/p/p11-kit/libp11-kit0_0.12-3_i386.deb main/p/pam/libpam0g_1.1.3-7.1_i386.deb diff --git a/chrome/installer/linux/sysroot_scripts/sysroot-creator-debian.wheezy.sh b/chrome/installer/linux/sysroot_scripts/sysroot-creator-debian.wheezy.sh index fb3e043..b14359ca 100755 --- a/chrome/installer/linux/sysroot_scripts/sysroot-creator-debian.wheezy.sh +++ b/chrome/installer/linux/sysroot_scripts/sysroot-creator-debian.wheezy.sh @@ -24,6 +24,7 @@ readonly SCRIPT_DIR=$(dirname $0) # This is where the staging sysroot is. readonly INSTALL_ROOT_AMD64=$(pwd)/debian_wheezy_amd64_staging readonly INSTALL_ROOT_I386=$(pwd)/debian_wheezy_i386_staging +readonly INSTALL_ROOT_ARM=$(pwd)/debian_wheezy_arm_staging readonly REQUIRED_TOOLS="wget" @@ -41,8 +42,10 @@ readonly RELEASE_LIST="${REPO_BASEDIR}/${RELEASE_FILE}" readonly RELEASE_LIST_GPG="${REPO_BASEDIR}/${RELEASE_FILE_GPG}" readonly PACKAGE_FILE_AMD64="main/binary-amd64/Packages.bz2" readonly PACKAGE_FILE_I386="main/binary-i386/Packages.bz2" +readonly PACKAGE_FILE_ARM="main/binary-armhf/Packages.bz2" readonly PACKAGE_LIST_AMD64="${REPO_BASEDIR}/${PACKAGE_FILE_AMD64}" readonly PACKAGE_LIST_I386="${REPO_BASEDIR}/${PACKAGE_FILE_I386}" +readonly PACKAGE_LIST_ARM="${REPO_BASEDIR}/${PACKAGE_FILE_ARM}" # Sysroot packages: these are the packages needed to build chrome. # NOTE: When DEBIAN_PACKAGES is modified, the packagelist files must be updated @@ -142,7 +145,6 @@ readonly DEBIAN_PACKAGES="\ libpulse0 \ libpulse-dev \ libpulse-mainloop-glib0 \ - libquadmath0 \ libselinux1 \ libspeechd2 \ libspeechd-dev \ @@ -208,8 +210,11 @@ readonly DEBIAN_PACKAGES="\ zlib1g \ zlib1g-dev" -readonly DEBIAN_DEP_LIST_AMD64="${SCRIPT_DIR}/packagelist.debian.wheezy.amd64" -readonly DEBIAN_DEP_LIST_I386="${SCRIPT_DIR}/packagelist.debian.wheezy.i386" +DEBIAN_PACKAGES_X86="libquadmath0" + +readonly DEBIAN_DEP_LIST_AMD64="packagelist.debian.wheezy.amd64" +readonly DEBIAN_DEP_LIST_I386="packagelist.debian.wheezy.i386" +readonly DEBIAN_DEP_LIST_ARM="packagelist.debian.wheezy.arm" ###################################################################### # Helper @@ -258,7 +263,13 @@ SetEnvironmentVariables() { if [ -z "$ARCH" ]; then echo $1 | grep -qs I386$ && ARCH=I386 fi + if [ -z "$ARCH" ]; then + echo $1 | grep -qs ARM$ && ARCH=ARM + fi case "$ARCH" in + ARM) + INSTALL_ROOT="$INSTALL_ROOT_ARM"; + ;; AMD64) INSTALL_ROOT="$INSTALL_ROOT_AMD64"; ;; @@ -273,6 +284,7 @@ SetEnvironmentVariables() { } Cleanup() { + echo "Cleaning: $TMP" rm -rf "$TMP" } @@ -311,7 +323,7 @@ SanityCheck() { ChangeDirectory() { # Change directory to where this script is. - cd $(dirname "$0") + cd ${SCRIPT_DIR} } @@ -346,21 +358,36 @@ ExtractPackageBz2() { GeneratePackageListAmd64() { local output_file="$1" local package_list="${TMP}/Packages.wheezy_amd64.bz2" - DownloadOrCopy ${PACKAGE_LIST_AMD64} ${package_list} - VerifyPackageListing ${PACKAGE_FILE_AMD64} ${package_list} - ExtractPackageBz2 "$package_list" "${TMP}/Packages" + local tmp_package_list="${TMP}/Packages.wheezy_amd64" + DownloadOrCopy "${PACKAGE_LIST_AMD64}" "${package_list}" + VerifyPackageListing "${PACKAGE_FILE_AMD64}" "${package_list}" + ExtractPackageBz2 "$package_list" "$tmp_package_list" - GeneratePackageList "$output_file" "${DEBIAN_PACKAGES}" + GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} + ${DEBIAN_PACKAGES_X86}" } GeneratePackageListI386() { local output_file="$1" local package_list="${TMP}/Packages.wheezy_i386.bz2" - DownloadOrCopy ${PACKAGE_LIST_I386} ${package_list} - VerifyPackageListing ${PACKAGE_FILE_I386} ${package_list} - ExtractPackageBz2 "$package_list" "${TMP}/Packages" + local tmp_package_list="${TMP}/Packages.wheezy_amd64" + DownloadOrCopy "${PACKAGE_LIST_I386}" "${package_list}" + VerifyPackageListing "${PACKAGE_FILE_I386}" "${package_list}" + ExtractPackageBz2 "$package_list" "$tmp_package_list" + + GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES} + ${DEBIAN_PACKAGES_X86}" +} + +GeneratePackageListARM() { + local output_file="$1" + local package_list="${TMP}/Packages.wheezy_arm.bz2" + local tmp_package_list="${TMP}/Packages.wheezy_arm" + DownloadOrCopy "${PACKAGE_LIST_ARM}" "${package_list}" + VerifyPackageListing "${PACKAGE_FILE_ARM}" "${package_list}" + ExtractPackageBz2 "$package_list" "$tmp_package_list" - GeneratePackageList "$output_file" "${DEBIAN_PACKAGES}" + GeneratePackageList "$tmp_package_list" "$output_file" "${DEBIAN_PACKAGES}" } StripChecksumsFromPackageList() { @@ -431,6 +458,25 @@ HacksAndPatchesI386() { } +HacksAndPatchesARM() { + Banner "Misc Hacks & Patches" + # these are linker scripts with absolute pathnames in them + # which we rewrite here + lscripts="${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/libpthread.so \ + ${INSTALL_ROOT}/usr/lib/arm-linux-gnueabihf/libc.so" + + #SubBanner "Rewriting Linker Scripts" + sed -i -e 's|/usr/lib/arm-linux-gnueabihf/||g' ${lscripts} + sed -i -e 's|/lib/arm-linux-gnueabihf/||g' ${lscripts} + + # This is for chrome's ./build/linux/pkg-config-wrapper + # which overwrites PKG_CONFIG_PATH internally + SubBanner "Package Configs Symlink" + mkdir -p ${INSTALL_ROOT}/usr/share + ln -s ../lib/arm-linux-gnueabihf/pkgconfig ${INSTALL_ROOT}/usr/share/pkgconfig +} + + InstallIntoSysroot() { Banner "Install Libs And Headers Into Jail" @@ -473,11 +519,13 @@ CleanupJailSymlinks() { echo "${target}" | grep -qs ^/ || continue echo "${link}: ${target}" case "${link}" in - usr/lib/gcc/x86_64-linux-gnu/4.*/* | usr/lib/gcc/i486-linux-gnu/4.*/*) + usr/lib/gcc/x86_64-linux-gnu/4.*/* | usr/lib/gcc/i486-linux-gnu/4.*/* | \ + usr/lib/gcc/arm-linux-gnueabihf/4.*/*) # Relativize the symlink. ln -snfv "../../../../..${target}" "${link}" ;; - usr/lib/x86_64-linux-gnu/* | usr/lib/i386-linux-gnu/*) + usr/lib/x86_64-linux-gnu/* | usr/lib/i386-linux-gnu/* | \ + usr/lib/arm-linux-gnueabihf/*) # Relativize the symlink. ln -snfv "../../..${target}" "${link}" ;; @@ -515,7 +563,7 @@ BuildSysrootAmd64() { local files_and_sha256sums="$(cat ${package_file})" StripChecksumsFromPackageList "$package_file" VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_AMD64" - InstallIntoSysroot ${files_and_sha256sums} + InstallIntoSysroot "${files_and_sha256sums}" CleanupJailSymlinks HacksAndPatchesAmd64 CreateTarBall "$1" @@ -528,25 +576,42 @@ BuildSysrootAmd64() { BuildSysrootI386() { CheckBuildSysrootArgs $@ ClearInstallDir - local package_file="$TMP/package_with_sha256sum_amd64" + local package_file="$TMP/package_with_sha256sum_i386" GeneratePackageListI386 "$package_file" local files_and_sha256sums="$(cat ${package_file})" StripChecksumsFromPackageList "$package_file" VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_I386" - InstallIntoSysroot ${files_and_sha256sums} + InstallIntoSysroot "${files_and_sha256sums}" CleanupJailSymlinks HacksAndPatchesI386 CreateTarBall "$1" } +#@ +#@ BuildSysrootARM <tarball-name> +#@ +#@ Build everything and package it +BuildSysrootARM() { + CheckBuildSysrootArgs $@ + ClearInstallDir + local package_file="$TMP/package_with_sha256sum_arm" + GeneratePackageListARM "$package_file" + local files_and_sha256sums="$(cat ${package_file})" + StripChecksumsFromPackageList "$package_file" + VerifyPackageFilesMatch "$package_file" "$DEBIAN_DEP_LIST_ARM" + InstallIntoSysroot "${files_and_sha256sums}" + CleanupJailSymlinks + HacksAndPatchesARM + CreateTarBall "$1" +} + # -# CheckForDebianGPGKeys +# CheckForDebianGPGKeyring # # Make sure the Debian GPG keys exist. Otherwise print a helpful message. # -CheckForDebianGPGKeys() { - if [ ! -e "/etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg" ] || - [ ! -e "/etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg" ]; then +CheckForDebianGPGKeyring() { + if [ ! -e "/usr/share/keyrings/debian-archive-keyring.gpg" ]; then echo "Debian GPG keys missing. Install the debian-archive-keyring package." exit 1 fi @@ -563,13 +628,12 @@ VerifyPackageListing() { local release_file="${TMP}/${RELEASE_FILE}" local release_file_gpg="${TMP}/${RELEASE_FILE_GPG}" - CheckForDebianGPGKeys + CheckForDebianGPGKeyring DownloadOrCopy ${RELEASE_LIST} ${release_file} DownloadOrCopy ${RELEASE_LIST_GPG} ${release_file_gpg} echo "Verifying: ${release_file} with ${release_file_gpg}" - gpgv --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg \ - --keyring /etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg \ + gpgv --keyring /usr/share/keyrings/debian-archive-keyring.gpg \ ${release_file_gpg} ${release_file} echo "Verifying: ${output_file}" @@ -591,19 +655,21 @@ VerifyPackageListing() { # to output file. # GeneratePackageList() { - local output_file="$1" - echo "Updating: ${output_file}" + local input_file="$1" + local output_file="$2" + echo "Updating: ${output_file} from ${input_file}" /bin/rm -f "${output_file}" shift + shift for pkg in $@ ; do - local pkg_full=$(grep -A 1 " ${pkg}\$" "${TMP}/Packages" | \ + local pkg_full=$(grep -A 1 " ${pkg}\$" "$input_file" | \ egrep -o "pool/.*") if [ -z "${pkg_full}" ]; then echo "ERROR: missing package: $pkg" exit 1 fi local pkg_nopool=$(echo "$pkg_full" | sed "s/^pool\///") - local sha256sum=$(grep -A 4 " ${pkg}\$" "${TMP}/Packages" | \ + local sha256sum=$(grep -A 4 " ${pkg}\$" "$input_file" | \ grep ^SHA256: | sed 's/^SHA256: //') if [ "${#sha256sum}" -ne "64" ]; then echo "Bad sha256sum from Packages" @@ -635,6 +701,16 @@ UpdatePackageListsI386() { StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_I386" } +#@ +#@ UpdatePackageListsARM +#@ +#@ Regenerate the package lists such that they contain an up-to-date +#@ list of URLs within the Debian archive. (For arm) +UpdatePackageListsARM() { + GeneratePackageListARM "$DEBIAN_DEP_LIST_ARM" + StripChecksumsFromPackageList "$DEBIAN_DEP_LIST_ARM" +} + if [ $# -eq 0 ] ; then echo "ERROR: you must specify a mode on the commandline" echo |