On Mon, Apr 26, 2021 at 11:59:19AM +0200, Erik Skultety wrote: > On Fri, Apr 23, 2021 at 05:03:04PM +0200, Andrea Bolognani wrote: > > Later on, when we change the actions that operate on > > container images to accept an lcitool-style --cross-arch > > argument instead of expecting the name of the image to have > > the cross-building architecture baked in, this will allow > > users to quickly copy-and-paste the necessary information. > > ...you can quickly copy-and-paste the image name even now and I would argue > that it's even quicker than after this series: > > ./helper list-images > ./helper <action> <copy-paste image name> vs > > ./helper list-images > ./helper <action> <copy-paste image name> --cross-arch <copy-paste cross arch> > > Right now you wouldn't even need the verification code introduced in patch 12 > since you have to paste the image verbatim which IMO for this utility helper > that only serves a very specific use case of a single repo is "good enough". That assumes the target name only comes from copying and pasting from the output of the list-images action... Right now, if you pass some invalid / obsolete value you get $ ./ci/helper build ubuntu-1604 make: Entering directory '/home/abologna/src/upstream/libvirt/ci' make -C /home/abologna/src/upstream/libvirt/ci ci-run-command@ubuntu-1604 CI_COMMAND="/home/abologna/build" make[1]: Entering directory '/home/abologna/src/upstream/libvirt/ci' Checking if podman is available...yes Cloning /home/abologna/src/upstream/libvirt to /home/abologna/src/upstream/libvirt/ci/scratch/src Cloning /home/abologna/src/upstream/libvirt/src/keycodemapdb to /home/abologna/src/upstream/libvirt/ci/scratch/src/src/keycodemapdb podman run \ --rm --interactive --tty --user "1000":"1000" --workdir "/home/abologna" --env CI_CONT_SRCDIR="/home/abologna/libvirt" --env CI_MESON_ARGS="" --env CI_NINJA_ARGS="" --uidmap 0:1:1000 --uidmap 1000:0:1 --uidmap 1001:1001:64536 --gidmap 0:1:1000 --gidmap 1000:0:1 --gidmap 1001:1001:64536 --volume /home/abologna/src/upstream/libvirt/ci/scratch/group:/etc/group:ro,z --volume /home/abologna/src/upstream/libvirt/ci/scratch/passwd:/etc/passwd:ro,z --volume /home/abologna/src/upstream/libvirt/ci/scratch/home:/home/abologna:z --volume /home/abologna/src/upstream/libvirt/ci/scratch/build:/home/abologna/build:z --volume /home/abologna/src/upstream/libvirt/ci/scratch/src:/home/abologna/libvirt:z --ulimit nofile=1024:1024 --cap-add=SYS_PTRACE \ registry.gitlab.com/libvirt/libvirt/ci-ubuntu-1604:latest \ /home/abologna/build Trying to pull registry.gitlab.com/libvirt/libvirt/ci-ubuntu-1604:latest... manifest unknown: manifest unknown Error: Error initializing source docker://registry.gitlab.com/libvirt/libvirt/ci-ubuntu-1604:latest: Error reading manifest latest in registry.gitlab.com/libvirt/libvirt/ci-ubuntu-1604: manifest unknown: manifest unknown make[1]: *** [Makefile:199: ci-run-command@ubuntu-1604] Error 125 make[1]: Leaving directory '/home/abologna/src/upstream/libvirt/ci' make: *** [Makefile:209: ci-build@ubuntu-1604] Error 2 make: Leaving directory '/home/abologna/src/upstream/libvirt/ci' error: 'make' failed With my patches, the output is a much more reasonable $ ./ci/helper build ubuntu-1604 Unknown target 'ubuntu-1604' I agree that having to input the target OS and the target architecture separately is slightly more copy-and-paste work, but really those are two semantically separate bits of information and it's just wrong for the user to provide a single argument that encodes both. It was an acceptable trade-off when we were using make, but now that we have an actual command-line parser at our disposal we should take advantage of it. > I guess the idea is to eventually integrate this helper somehow to lcitool, so > I'm wondering what is it we're trying to solve here. As for the output itself, > if we want to change it, then I'd be probably more inclined towards something > like virt-builder --list. There's massive information redundancy in there - > no need to argue - but because the output is formatted like a simple table, > tools like grep,sort,uniq and cut make the customization of the output for the > average linux user an absolute no-brainer and they always get information they > were looking for easily with almost no added effort. Changing the output to be similar to that of 'virt-builder --list' sounds good to me.