2
1
Fork 0
mirror of https://git.savannah.gnu.org/git/gnuboot.git synced 2025-01-07 16:17:41 +01:00
gnuboot/resources/dependencies/pureos-10
Denis 'GNUtoo' Carikli e50f311c45
dependencies: pureos: go back to apt (instead of packagekit).
In the commit 0f74569af0 ("dependencies:
switch arch, debian, fedora35, ubuntu2004 to packagekit"), the
Trisquel script was converted to use packagekit to then be able to
unify the dependency management between several distributions.

However GNU Boot doesn't build directly on Parabola, and the build is
completely untested on Fedora and Void, so the other scripts are less
important. In contrast building GNU Boot is regularely tested on
PureOS 10 (byzantium) and Trisquel 11 (aramo).

Since the Guix debootstrap package can be used to safely create
chroots of PureOS and Trisquel, it may be possible to use that to
build GNU Boot on any distributions.

However packagekit requires a daemon to work:
    # pkcon install guix
    Failed to contact PackageKit: Could not connect:
    No such file or directory

And in turn the /usr/libexec/packagekitd daemon requires dbus as shown
by the /lib/systemd/system/packagekit.service file:
    [Unit]
    Description=PackageKit Daemon
    # PK doesn't know how to do anything on ostree-managed systems;
    # currently the design is to have dedicated daemons like
    # eos-updater and rpm-ostree, and gnome-software talks to those.
    ConditionPathExists=!/run/ostree-booted
    Wants=network-online.target

    [Service]
    Type=dbus
    BusName=org.freedesktop.PackageKit
    User=root
    ExecStart=/usr/libexec/packagekitd

So reverting back to apt seems a safe choice for now.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-11-24 14:17:19 +01:00

111 lines
4 KiB
Bash
Executable file

#!/usr/bin/env bash
# trisquel-10 script: installs build dependencies for Ubuntu 20.04
#
# Copyright (C) 2014, 2015, 2021 Leah Rowe <info@minifree.org>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
[ "x${DEBUG+set}" = 'xset' ] && set -v
set -u -e
if [ $EUID -ne 0 ]; then
printf "This script must be run as root\n"
exit 1
fi
apt-get -y install packagekit
# Duplications are intentional. Please do not re-factor.
#
# This is so that they can moved to separate scripts.
#
apt install -y --allow-reinstall install wget
# For downloading source code
# ------------------------------------------------------------
apt install -y --allow-reinstall install git
# For Tianocore and iPXE
# TODO: check whether this is the full list
apt install -y --allow-reinstall install uuid-dev nasm
# For building source code:
# ------------------------------------------------------------
apt install -y --allow-reinstall install build-essential
# for running the crostool script (to get mrc.bin file for t440p)
apt install -y --allow-reinstall install sharutils curl parted e2fsprogs unzip
# to use the right software versions and links for compiling
apt install -y --allow-reinstall install pkg-config
# for cross-compiling ARM binaries
apt install -y --allow-reinstall install gcc-arm-linux-gnueabi
[ "$(uname -i)" = x86_64 ] || [ "$(uname -m)" = x86_64 ]
arch=${?}
# For cross-compiling i686 target on x86_64 host.
if [ "${arch}" -eq 0 ]; then
apt install -y --allow-reinstall install gcc-multilib libc6-i386 libc6-dev-i386
apt install -y --allow-reinstall install lib32stdc++6 g++-multilib dh-autoreconf
fi
# Memtest86+ build dependencies
# ------------------------------------------------------------
apt install -y --allow-reinstall install build-essential python2.7 python-is-python3
# i945-pwm build dependencies
# ------------------------------------------------------------
apt install -y --allow-reinstall install build-essential perl
# Coreboot build dependencies (also requires build-essential and git)
# ------------------------------------------------------------
apt install -y --allow-reinstall install libncurses5-dev doxygen acpica-tools gdb flex bison build-essential git libssl-dev gnat
# GRUB build dependencies (also requires build-essential, bison and flex)
# ------------------------------------------------------------
apt install -y --allow-reinstall install fonts-unifont libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev libfont-freetype-perl automake autotools-dev build-essential bison flex libfuse-dev liblzma-dev gawk libdevmapper-dev libtool-bin libfreetype6-dev
# BucTS build dependencies (external script)
# ------------------------------------------------------------
apt install -y --allow-reinstall install build-essential
# Flashrom build dependencies (also requires build-essential)
# ------------------------------------------------------------
apt install -y --allow-reinstall install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0-0
# For cross-compiling i686 target on x86_64 host.
[ "${arch}" -eq 0 ] && apt install -y --allow-reinstall install lib32z1-dev
# For running make check
# ----------------------
apt install -y --allow-reinstall install shellcheck # lint
apt install -y --allow-reinstall install gawk git grep lzip make sed tar xz-utils # u-boot-libre
# For building the website tarball
apt install -y --allow-reinstall install \
graphviz \
pandoc