From e8f42a41809ee168bf217a73db2c4c0543e5c1e0 Mon Sep 17 00:00:00 2001 From: Denis 'GNUtoo' Carikli Date: Fri, 8 Dec 2023 02:55:25 +0100 Subject: [PATCH] dependencies: fix installation when the package is already installed. Without that fix already the installation script fails on PureOS when some packages are already installed : # ./resources/dependencies/debian [...] [...] Package not found: wget [...] Command failed: The selected packages may already be installed. Since most other dependencies installation scripts also use PackageKit, they are likely to behave in the same way and so we also apply the same fix. This was broken by the commit 0f74569af0c355278a62ecc66a1397c9c3701498 ("dependencies: switch arch, debian, fedora35, ubuntu2004 to packagekit"). Signed-off-by: Denis 'GNUtoo' Carikli Acked-by: Adrien 'neox' Bourmault --- resources/dependencies/arch | 24 +++++++++---------- resources/dependencies/debian | 40 +++++++++++++++---------------- resources/dependencies/fedora35 | 30 +++++++++++------------ resources/dependencies/ubuntu2004 | 40 +++++++++++++++---------------- 4 files changed, 67 insertions(+), 67 deletions(-) diff --git a/resources/dependencies/arch b/resources/dependencies/arch index 7728b6f..6d61753 100755 --- a/resources/dependencies/arch +++ b/resources/dependencies/arch @@ -33,58 +33,58 @@ pacman -S --needed --noconfirm packagekit # This is so that they can moved to separate scripts. # -pkcon -y install wget +pkcon -y --allow-reinstall install wget # For downloading source code # ------------------------------------------------------------ -pkcon -y install git +pkcon -y --allow-reinstall install git # For Tianocore and iPXE # TODO: check whether this is the full list -pkcon -y install nasm perl-libwww python2 subversion +pkcon -y --allow-reinstall install nasm perl-libwww python2 subversion # For building source code: # ------------------------------------------------------------ -pkcon -y install base-devel +pkcon -y --allow-reinstall install base-devel # for running the crostool script (to get mrc.bin file for t440p) -pkcon -y install sharutils curl parted e2fsprogs unzip +pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip # for cross-compiling ARM binaries -pkcon -y install arm-none-eabi-gcc +pkcon -y --allow-reinstall install arm-none-eabi-gcc # Memtest86+ build dependencies # ------------------------------------------------------------ -pkcon -y install base-devel python2 +pkcon -y --allow-reinstall install base-devel python2 # i945-pwm build dependencies # ------------------------------------------------------------ -pkcon -y install base-devel perl +pkcon -y --allow-reinstall install base-devel perl # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ -pkcon -y install ncurses doxygen acpica gdb flex bison base-devel git openssl gcc-ada +pkcon -y --allow-reinstall install ncurses doxygen acpica gdb flex bison base-devel git openssl gcc-ada # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ -pkcon -y install bdf-unifont autogen help2man base-devel bison flex ttf-dejavu texinfo rsync python libusb xz gawk device-mapper fuse2 gettext freetype2 +pkcon -y --allow-reinstall install bdf-unifont autogen help2man base-devel bison flex ttf-dejavu texinfo rsync python libusb xz gawk device-mapper fuse2 gettext freetype2 # BucTS build dependencies (external script) # ------------------------------------------------------------ -pkcon -y install base-devel +pkcon -y --allow-reinstall install base-devel # Flashrom build dependencies (also requires build-essential) # ------------------------------------------------------------ -pkcon -y install libpciaccess pciutils zlib libftdi base-devel libusb +pkcon -y --allow-reinstall install libpciaccess pciutils zlib libftdi base-devel libusb # For running make check # ---------------------- diff --git a/resources/dependencies/debian b/resources/dependencies/debian index 0f1d359..544fbb3 100755 --- a/resources/dependencies/debian +++ b/resources/dependencies/debian @@ -32,80 +32,80 @@ apt-get -y install packagekit # This is so that they can moved to separate scripts. # -pkcon -y install wget +pkcon -y --allow-reinstall install wget # For downloading source code # ------------------------------------------------------------ -pkcon -y install git +pkcon -y --allow-reinstall install git # For Tianocore and iPXE # TODO: check whether this is the full list -pkcon -y install uuid-dev nasm +pkcon -y --allow-reinstall install uuid-dev nasm # For building source code: # ------------------------------------------------------------ -pkcon -y install build-essential +pkcon -y --allow-reinstall install build-essential # for running the crostool script (to get mrc.bin file for t440p) -pkcon -y install sharutils curl parted e2fsprogs unzip +pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip # to use the right software versions and links for compiling -pkcon -y install pkg-config +pkcon -y --allow-reinstall install pkg-config # for cross-compiling ARM binaries -pkcon -y install gcc-arm-linux-gnueabi +pkcon -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 - pkcon -y install gcc-multilib libc6-i386 libc6-dev-i386 - pkcon -y install lib32stdc++6 g++-multilib dh-autoreconf + pkcon -y --allow-reinstall install gcc-multilib libc6-i386 libc6-dev-i386 + pkcon -y --allow-reinstall install lib32stdc++6 g++-multilib dh-autoreconf # recommended, but not sure what for: - pkcon -y install lib32tinfo-dev + pkcon -y --allow-reinstall install lib32tinfo-dev fi # Memtest86+ build dependencies # ------------------------------------------------------------ -pkcon -y install build-essential python2.7 python-is-python3 +pkcon -y --allow-reinstall install build-essential python2.7 python-is-python3 # i945-pwm build dependencies # ------------------------------------------------------------ -pkcon -y install build-essential perl +pkcon -y --allow-reinstall install build-essential perl # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ -pkcon -y install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat +pkcon -y --allow-reinstall install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat # For cross-compiling i686 target on x86_64 host. -[ "${arch}" -eq 0 ] && pkcon -y install lib32ncurses5-dev +[ "${arch}" -eq 0 ] && pkcon -y --allow-reinstall install lib32ncurses5-dev # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ -pkcon -y 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 libfreetype6-dev +pkcon -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 libfreetype6-dev # BucTS build dependencies (external script) # ------------------------------------------------------------ -pkcon -y install build-essential +pkcon -y --allow-reinstall install build-essential # Flashrom build dependencies (also requires build-essential) # ------------------------------------------------------------ -pkcon -y install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev +pkcon -y --allow-reinstall install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev # For cross-compiling i686 target on x86_64 host. -[ "${arch}" -eq 0 ] && pkcon -y install lib32z1-dev +[ "${arch}" -eq 0 ] && pkcon -y --allow-reinstall install lib32z1-dev # For running make check # ---------------------- -pkcon -y install shellcheck # lint -pkcon -y install gawk git grep lzip make sed tar xz-utils # u-boot-libre +pkcon -y --allow-reinstall install shellcheck # lint +pkcon -y --allow-reinstall install gawk git grep lzip make sed tar xz-utils # u-boot-libre diff --git a/resources/dependencies/fedora35 b/resources/dependencies/fedora35 index ff61e4f..9633109 100755 --- a/resources/dependencies/fedora35 +++ b/resources/dependencies/fedora35 @@ -34,65 +34,65 @@ dnf -y install PackageKit # This is so that they can moved to separate scripts. # -pkcon -y install wget +pkcon -y --allow-reinstall install wget # For downloading source code # ------------------------------------------------------------ -pkcon -y install git +pkcon -y --allow-reinstall install git # For building the documentation # ------------------------------------------------------------ -pkcon -y install pandoc +pkcon -y --allow-reinstall install pandoc # For Tianocore and iPXE # TODO: check whether this is the full list -pkcon -y install nasm perl-libwww-perl python2 subversion +pkcon -y --allow-reinstall install nasm perl-libwww-perl python2 subversion # For building source code: # ------------------------------------------------------------ -pkcon -y install gcc +pkcon -y --allow-reinstall install gcc # for running the crostool script (to get mrc.bin file for t440p) -pkcon -y install sharutils curl parted e2fsprogs unzip +pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip # for cross-compiling ARM binaries -pkcon -y install arm-none-eabi-gcc-cs +pkcon -y --allow-reinstall install arm-none-eabi-gcc-cs # Memtest86+ build dependencies # ------------------------------------------------------------ -pkcon -y install gcc python2 +pkcon -y --allow-reinstall install gcc python2 # i945-pwm build dependencies # ------------------------------------------------------------ -pkcon -y install gcc perl +pkcon -y --allow-reinstall install gcc perl # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ -pkcon -y install gcc-gnat ncurses-devel doxygen acpica-tools gdb flex bison gcc git openssl-devel gprbuild bzip2 +pkcon -y --allow-reinstall install gcc-gnat ncurses-devel doxygen acpica-tools gdb flex bison gcc git openssl-devel gprbuild bzip2 # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ -pkcon -y install unifont-fonts autogen help2man gcc bison flex dejavu-fonts-all texinfo rsync python libusb xz gawk device-mapper fuse gettext freetype-devel intltool libselinux-devel +pkcon -y --allow-reinstall install unifont-fonts autogen help2man gcc bison flex dejavu-fonts-all texinfo rsync python libusb xz gawk device-mapper fuse gettext freetype-devel intltool libselinux-devel # BucTS build dependencies (external script) # ------------------------------------------------------------ -pkcon -y install gcc +pkcon -y --allow-reinstall install gcc # Flashrom build dependencies (also requires build-essential) # ------------------------------------------------------------ -pkcon -y install pciutils-devel zlib-devel libftdi-devel gcc libusb-devel +pkcon -y --allow-reinstall install pciutils-devel zlib-devel libftdi-devel gcc libusb-devel # For running make check # ---------------------- -pkcon -y install ShellCheck # lint -pkcon -y install gawk git grep lzip make sed tar xz # u-boot-libre +pkcon -y --allow-reinstall install ShellCheck # lint +pkcon -y --allow-reinstall install gawk git grep lzip make sed tar xz # u-boot-libre diff --git a/resources/dependencies/ubuntu2004 b/resources/dependencies/ubuntu2004 index 9b2ed6c..4c241f2 100755 --- a/resources/dependencies/ubuntu2004 +++ b/resources/dependencies/ubuntu2004 @@ -32,80 +32,80 @@ apt-get -y install packagekit-tools # This is so that they can moved to separate scripts. # -pkcon -y install wget +pkcon -y --allow-reinstall install wget # For downloading source code # ------------------------------------------------------------ -pkcon -y install git +pkcon -y --allow-reinstall install git # For Tianocore and iPXE # TODO: check whether this is the full list -pkcon -y install uuid-dev nasm +pkcon -y --allow-reinstall install uuid-dev nasm # For building source code: # ------------------------------------------------------------ -pkcon -y install build-essential +pkcon -y --allow-reinstall install build-essential # for running the crostool script (to get mrc.bin file for t440p) -pkcon -y install sharutils curl parted e2fsprogs unzip +pkcon -y --allow-reinstall install sharutils curl parted e2fsprogs unzip # to use the right software versions and links for compiling -pkcon -y install pkg-config +pkcon -y --allow-reinstall install pkg-config # for cross-compiling ARM binaries -pkcon -y install gcc-arm-linux-gnueabi +pkcon -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 - pkcon -y install gcc-multilib libc6-i386 libc6-dev-i386 - pkcon -y install lib32stdc++6 g++-multilib dh-autoreconf + pkcon -y --allow-reinstall install gcc-multilib libc6-i386 libc6-dev-i386 + pkcon -y --allow-reinstall install lib32stdc++6 g++-multilib dh-autoreconf # recommended, but not sure what for: - pkcon -y install lib32tinfo-dev + pkcon -y --allow-reinstall install lib32tinfo-dev fi # Memtest86+ build dependencies # ------------------------------------------------------------ -pkcon -y install build-essential python2.7 +pkcon -y --allow-reinstall install build-essential python2.7 # i945-pwm build dependencies # ------------------------------------------------------------ -pkcon -y install build-essential perl +pkcon -y --allow-reinstall install build-essential perl # Coreboot build dependencies (also requires build-essential and git) # ------------------------------------------------------------ -pkcon -y install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat +pkcon -y --allow-reinstall install libncurses5-dev doxygen iasl gdb flex bison build-essential git libssl-dev gnat # For cross-compiling i686 target on x86_64 host. -[ "${arch}" -eq 0 ] && pkcon -y install lib32ncurses5-dev +[ "${arch}" -eq 0 ] && pkcon -y --allow-reinstall install lib32ncurses5-dev # GRUB build dependencies (also requires build-essential, bison and flex) # ------------------------------------------------------------ -pkcon -y install ttf-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 libfreetype6-dev +pkcon -y --allow-reinstall install ttf-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 libfreetype6-dev # BucTS build dependencies (external script) # ------------------------------------------------------------ -pkcon -y install build-essential +pkcon -y --allow-reinstall install build-essential # Flashrom build dependencies (also requires build-essential) # ------------------------------------------------------------ -pkcon -y install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev +pkcon -y --allow-reinstall install libpci-dev pciutils zlib1g-dev libftdi-dev build-essential libusb-1.0-0-dev libusb-1.0 libusb-1.0-0-dev libusb-dev # For cross-compiling i686 target on x86_64 host. -[ "${arch}" -eq 0 ] && pkcon -y install lib32z1-dev +[ "${arch}" -eq 0 ] && pkcon -y --allow-reinstall install lib32z1-dev # For running make check # ---------------------- -pkcon -y install shellcheck # lint -pkcon -y install gawk git grep lzip make sed tar xz-utils # u-boot-libre +pkcon -y --allow-reinstall install shellcheck # lint +pkcon -y --allow-reinstall install gawk git grep lzip make sed tar xz-utils # u-boot-libre