From 8b13b12bca54a7ca3f51b04cddf7fb40a3669ee6 Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Fri, 3 Apr 2015 02:19:54 +0100 Subject: build/dependencies/parabola: Add dependencies for x86_64 --- docs/git/index.html | 32 +++++++--- docs/release.html | 5 ++ .../scripts/helpers/build/dependencies/parabola | 73 +++++++--------------- 3 files changed, 50 insertions(+), 60 deletions(-) diff --git a/docs/git/index.html b/docs/git/index.html index a1e9dd9f..b8997e27 100644 --- a/docs/git/index.html +++ b/docs/git/index.html @@ -68,6 +68,10 @@ or:
# ./build dependencies parabola

+

+ If you are running Parabola 64-bit (x86_64), you should enable + the multilib and libre-multilib repositories. +

@@ -736,23 +740,35 @@

Preparing release archives (optional)

+

+ This is only confirmed to work (tested) in Trisquel 7. Parabola *fails* at this stage + (for now). +

+

Do the following:
$ ./build release archives

- If you are building on an i686 host, this will include statically linked 32-bit binaries in + If you are building on an i686 host, this will build statically linked 32-bit binaries in the binary release archive that you created, - for: nvramtool, cbfstool, bucts, flashrom, ich9deblob, cbmem. + for: nvramtool, cbfstool, ich9deblob, cbmem.

- If you are building on an x86_64 host, this will include statically linked 32- and 64-bit binaries for - cbmem, ich9deblob, cbfstool and nvramtool, while flashrom - and bucts will be included only as 64-bit statically linked binaries. To include a statically - linked flashrom and bucts for i686, you will need to build them on a chroot, a virtual machine or a real - 32-bit system. You can find the build dependencies for these packages listed in deps-* + If you are building on an x86_64 host, this will build statically linked 32- *and* 64-bit binaries for + cbmem, ich9deblob, cbfstool and nvramtool. +

+

+ To include statically linked i686 and x86_64 binaries for bucts and flashrom, + you will need to build them on a chroot, a virtual machine or a real + system where the host uses each given architecture. These packages are difficult + to cross-compile, and the libreboot project is still figuring out how to deal + with them. +

+

+ The same applies if you want to include statically linked flashrom binaries for ARM.

@@ -766,7 +782,7 @@

- If you are building 32-bit binaries on a live system or chroot (for flashrom/bucts), you can use the following to statically link them:
+ If you are building binaries on a live system or chroot (for flashrom/bucts), you can use the following to statically link them:
$ ./build module flashrom static
$ ./build module bucts static

diff --git a/docs/release.html b/docs/release.html index 94eecce3..019dfac4 100644 --- a/docs/release.html +++ b/docs/release.html @@ -328,6 +328,11 @@ Make libreboot (all of it!) build reproducibly. This is very important. See http://projects.mtjm.eu/work_packages/16. +
  • + build/release/archives currently fails on Parabola (it only works well in Trisquel). + That script is buggy, and full of ugly hacks anyway, + so re-write it and make it modular/portable this time. +
  • Reduce the size of libreboot releases. See http://projects.mtjm.eu/work_packages/19 diff --git a/resources/scripts/helpers/build/dependencies/parabola b/resources/scripts/helpers/build/dependencies/parabola index 6a43805b..239f4782 100755 --- a/resources/scripts/helpers/build/dependencies/parabola +++ b/resources/scripts/helpers/build/dependencies/parabola @@ -1,7 +1,7 @@ #!/bin/bash # helper script: installs build dependencies for Parabola -# works on 32-bit. TODO: adapt for 64-bit + # this script is based on the script for Trisquel 7 # # Copyright (C) 2014, 2015 Francis Rowe @@ -33,100 +33,69 @@ fi # This is so that they can moved to separate scripts. # -# TODO: get everything building in parabola 64-bit -# (this script was written for 32-bit parabola) - -pacman -S --noconfirm wget +pacman -S wget # For downloading source code # ------------------------------------------------------------ -pacman -S --noconfirm subversion git +pacman -S subversion git # For building source code: # ------------------------------------------------------------ -pacman -S --noconfirm base-devel +pacman -S base-devel libstdc++5 + +pacman -S arm-none-eabi-gcc + +pacman -S pacman -S libpciaccess -# THIS IS ONLY FOR "./build release archives" -# TODO: ADAPT FOR PARABOLA -# for cross-compiling ARM binaries -apt-get -y install gcc-arm-linux-gnueabi # TODO: ADAPT IN PARABOLA # For cross-compiling i686 target on x86_64 host. if [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ] then - apt-get -y install gcc-multilib libc6-i386 libc6-dev-i386 - apt-get -y install lib32stdc++6 g++-multilib dh-autoreconf - # recommended, but not sure what for: - apt-get -y install lib32tinfo-dev texi2html + pacman -S gcc-libs-multilib gcc-multilib lib32-fakeroot lib32-libltdl lib32-glibc lib32-libstdc++5 + pacman -S lib32-libpciaccess fi # Memtest86+ build dependencies # ------------------------------------------------------------ -# pacman -S --noconfirm base-devel +# pacman -S base-devel # i945-pwm build dependencies # ------------------------------------------------------------ -# pacman -S --noconfirm base-devel +# pacman -S base-devel # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ -pacman -S --noconfirm ncurses doxygen iasl gdb flex bison -# pacman -S --noconfirm git base-devel +pacman -S ncurses doxygen iasl gdb flex bison +# pacman -S git base-devel # For cross-compiling i686 target on x86_64 host. -TODO: ADAPT FOR PARABOLA (needed for "./build release archives") if [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ] then - apt-get -y install lib32ncurses5-dev + pacman -S lib32-ncurses fi # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ +# pacman -S base-devel bison flex -# TODO: is bdf-unifont the equivalent to Trisquel's ttf-unifont? Or do you need ttf-unifont from AUR, eg: -# https://aur.archlinux.org/packages/ttf-unifont/ - -# TODO: what is the equivalent to libopts25? - -# TODO: what is the equivalent to libselinux1-dev? -# Do you need it from AUR? -# Is SELinux even needed at all? - -# TODO: what is the equivalent to autotools-dev? - -# TODO: what is the equivalent to libfont-freetype-perl? is it freetype2 (already in the list below)? - -# pacman -S --noconfirm base-devel bison flex - -pacman -S --noconfirm autogen m4 autoconf help2man freetype2 automake fuse fuse-exfat xz gawk device-mapper libtool python -pacman -S --noconfirm bdf-unifont # trying this, otherwise there was an error. I'll try AUR if this won't work. +pacman -S autogen m4 autoconf help2man freetype2 automake fuse fuse-exfat xz gawk device-mapper libtool python +pacman -S bdf-unifont # trying this, otherwise there was an error. I'll try AUR if this won't work. # BucTS build dependencies (external script) # ------------------------------------------------------------ -# pacman -S --noconfirm base-devel +# pacman -S base-devel # Flashrom build dependencies (also requires build-essential and subversion) # ------------------------------------------------------------ -# TODO: what is the equivalent to libpci-dev? - -# - -pacman -S --noconfirm pciutils zlib libftdi libftdi-compat -# pacman -S --noconfirm base-devel subversion - -# For cross-compiling i686 target on x86_64 host. -# TODO: ADAPT FOR PARABOLA (needed for "./build release archives" -if [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ] - then - apt-get -y install lib32z1-dev -fi +pacman -S pciutils zlib libftdi libftdi-compat +# pacman -S base-devel subversion # ------------------- DONE ---------------------- -- cgit v1.2.3-70-g09d2