Package Details: python-cynthion 0.1.7-1

Git Clone URL: https://aur.archlinux.org/python-cynthion.git (read-only, click to copy)
Package Base: python-cynthion
Description: Python package and utilities for the Great Scott Gadgets Cynthion USB Test Instrument
Upstream URL: https://github.com/greatscottgadgets/cynthion
Licenses: BSD-3-Clause
Submitter: Auerhuhn
Maintainer: Auerhuhn
Last Packager: Auerhuhn
Votes: 0
Popularity: 0.000000
First Submitted: 2024-06-09 18:21 (UTC)
Last Updated: 2024-10-12 19:23 (UTC)

Latest Comments

1 2 Next › Last »

Auerhuhn commented on 2024-07-29 11:19 (UTC)

instead of building each package separately then installing all of them at once.

@cartoonraccoon The problem with the latter approach (build separately, then install together) is that the first package must be installed at the time the second is being built.

In pacman, there’s no such thing as „oh, that package is just a runtime dependency but definitely not needed at build time.“ Depends always implies build-depends. So all AUR helpers (including aurutils) must honor the dependency chain, which means they have to install cynthion-firmware-bin before they can build python-cynthion, even though the former is a runtime-only dependency.

The actual key point is that you really should do your builds in a chroot for packages like this one. I think it’s the simplest fix in the long run.

cartoonraccoon commented on 2024-07-29 09:35 (UTC) (edited on 2024-07-29 09:36 (UTC) by cartoonraccoon)

@Auerhuhn Having seen what you did I think the issue is with how paru upgrades packages. It runs in a build-and-install cycle, instead of building each package separately then installing all of them at once. The error came from pacman (which paru wraps around) when trying to install the built cynthion-firmware-bin. Since python-cynthion wasn't upgraded yet, pacman detects that cynthion-firmware is 0.1.3, but the (old) currently-installed python-cynthion package requires 0.1.2, so it throws an error.

I don't think it's an issue on your end, the issue is probably with paru.

Auerhuhn commented on 2024-07-29 09:25 (UTC)

Fyi, this is how I use aurutils to update the python-cynthion package:

aur sync -c cynthion-firmware-bin python-cynthion

What the command line does:

  1. Build (but not install) the cynthion-firmware-bin package. This leaves the previous version installed.
  2. Update the local repository with the newly-built cynthion-firmware-bin.
  3. Build (but not install) the python-cynthion package, picking up the newly-built cynthion-firmware-bin from the local repository. This only works because of the -c option, which means that aurutils uses aur-chroot and makechrootpkg for the build. Using a separate chroot means that makepkg will install the newly-built cynthion-firmware-bin only in that chroot, while the previous version remains installed in the main filesystem.
  4. Update the local repository with the newly-built python-cynthion package.

Once the build has finished, I run pacman -Syu to receive both upgrades at the same time.

@cartoonraccoon Could it be that #3 is the spot where it breaks for you?

If so: have you considered using a chroot for building your packages (if paru supports that?)

Auerhuhn commented on 2024-07-29 09:13 (UTC) (edited on 2024-07-29 09:15 (UTC) by Auerhuhn)

Hi @cartoonraccoon, where exactly does the PKGBUILD specify cynthion-firmware v0.1.2?

Update: just saw your edit. I’m not familiar with paru, so pointers would be much appreciated.

cartoonraccoon commented on 2024-07-29 09:07 (UTC) (edited on 2024-07-29 09:12 (UTC) by cartoonraccoon)

Currently unable to update because the PKGBUILD specifies cynthion-firmware v0.1.2, while the cynthion-firmware-bin package is updating to v0.1.3, so the 0.1.2 dependency specified by this PKGBUILD breaks.

Update: I was able to update by uninstalling python-cynthion, and installing cynthion-firmware separately, then reinstalling python-cynthion, but for some reason the setup you had broke paru's dependency resolution.

Auerhuhn commented on 2024-07-09 17:08 (UTC) (edited on 2024-07-09 17:54 (UTC) by Auerhuhn)

Thanks for the feedback @nicolai_d! I have pushed a v0.1.1-2 (Edit: and now v0.1.2-1) of the PKGBUILD which includes the patch from GitHub, so now the package should work without any manual interventions.

About Trizen not finding cynthion-firmware-bin: I use aurutils, which seems to have a similar issue. I think that the problem with aurutils is that its aur-depends subcommand only seems to look for the package in two places, the Pacman repositories and the AUR’s info web API endpoint. But the info endpoint doesn’t return package suggestions such as cynthion-firmware-bin for cynthion-firmware. The web API has a second endpoint, suggest, but aur-depends doesn’t seem to use that. I have never used Trizen but maybe it has a similar limitation?

nicolai_d commented on 2024-07-09 08:17 (UTC) (edited on 2024-07-09 09:05 (UTC) by nicolai_d)

For now it doesn't quit work (the cynthion cli does actually searches in the /usr/lib/python3.12/site-packages/assets/ directory), but with the PR associated with you issue on github applied (https://github.com/greatscottgadgets/cynthion/pull/127) it wotks.

Trizen also doesn't seem to be able to find the cynthion-firmware dependency for some reason - maybe because of the version pinning or something - but I can't say if that's a problem with your package build or if trizen is just not smart enough.

Auerhuhn commented on 2024-07-08 22:58 (UTC)

@nicolai_d: I have added the binaries and bitstreams as a separate cynthion-firmware-bin package for now.

Would appreciate feedback whether it works for you!

nicolai_d commented on 2024-07-08 14:51 (UTC)

Thanks for the quick replay, I hope you get you Cynthion soon 👍 (No hurry for me, I extracted everything I need from the pypi release though)

Auerhuhn commented on 2024-07-08 12:49 (UTC)

Hi @nicolai_d,

thanks for the report! I’m still waiting for my Cynthion to arrive, so I haven’t been able to reproduce the issue yet.

I’m going to look into this, preferably by building the assets in the PKGBUILD.

Regards
Claudia (aka Auerhuhn)