-
Notifications
You must be signed in to change notification settings - Fork 214
Description
Description
Issue:
I encountered a problem installing CaringCaribou on Arch-based Linux distributions like Artix or Manjaro following the provided installation instructions. The primary issue appears to be related to how system packages are managed externally in Arch-based systems, which conflicts with the installation process described in the documentation.
Environment:
- Operating System: Arch Linux / Manjaro (or any other Arch-based distribution)
- Python Version: 3.11
- CaringCaribou Version: Current master branch at a38e1bc commit
Expected Behavior:
The installation process should complete without errors, allowing CaringCaribou to be installed and run on Arch-based systems as described in the documentation.
Actual Behavior:
The installation fails due to conflicts arising from externally managed system packages.
Steps to Reproduce:
- Follow the installation instructions provided in the CaringCaribou documentation for Arch-based systems.
- Observe the failure in the installation process, particularly related to conflicts with system package management.
Workaround:
I managed to install i by modifying the pyproject.toml file and creating a bespoke PKGBUILD file. Here are the steps I followed for the workaround:
-
Modify
pyproject.toml: pyproject.toml -
Create a Bespoke
PKGBUILD:
pkgname=caringcaribou
pkgver=0.5
pkgrel=1
pkgdesc="A friendly automotive security exploration tool"
arch=('any')
url="https://github.com/Aezore/caringcaribou"
license=('GPL3')
depends=('python' 'python-can' 'python-pip' 'python-build')
branch="archlinux"
source=("https://github.com/Aezore/${pkgname}/archive/${branch}.tar.gz")
sha256sums=('SKIP')
build() {
cd "$srcdir/${pkgname}-${branch}"
python -m build
}
package() {
cd "$srcdir/${pkgname}-${branch}"
# Find the generated wheel file
local wheel=$(ls dist/*.whl)
# Install the wheel using pip
python -m pip install "${wheel}" --root="${pkgdir}" --ignore-installed --no-deps
}
- Build and Install: After making these changes, I was able to build and install it locally by running
makepkg -siin the directory containing the modifiedPKGBUILDfile. I forked the repo to do the changes locally in my machine thus the source url is my repo and the branch is "archlinux"
Suggested Solution:
While the workaround mentioned above is effective, it would be beneficial to support Arch-based distributions more seamlessly. Potential solutions could include:
- Adjusting the installation process to accommodate the package management peculiarities of Arch-based systems.
- Providing an official
PKGBUILDor instructions for creating one, facilitating easier installation for users of these distributions.
DISCLAIMER:
I'm by no means any skilled programmer or software engineer nor work for any company so i'm far from best practices and I used GPT to aid me in the "learning process" so take this with a grain of salt. I thought it might come in handy for someone else with the same issue. I also used chatGPT to aid me in formatting this issue report as it's my very first time "fixing" something like this and I don't have any past experience or anyone else near to ask. Apologies if this bothers any of you.