On Mon, May 04, 2020 at 01:51:13PM -0700, PGNet Dev wrote: > a local dist build of virt-manager > > cd virt-manager > git log | head > 1 commit f34f73622d0feab451dd22d7ca38c8fac8587c22 (HEAD -> master, origin/master, origin/HEAD) > 2 Author: Han Han <hhan@xxxxxxxxxx> > 3 Date: Sun Apr 19 21:39:02 2020 +0800 > 4 > 5 rng: add builtin rng backend model > 6 > 7 The builtin rng backend uses getrandom syscall to generate random, no > 8 external rng source needed, introduced from libvirt v6.1.0. > 9 > 10 Reviewed-by: Cole Robinson <crobinso@xxxxxxxxxx> > 11 Signed-off-by: Han Han <hhan@xxxxxxxxxx> > > with a local pyenv-installed python, > > pyenv global > 3.8-dev > python -V > Python 3.8.2+ > > completes/execs ok > > python setup.py build > python setup.py install > virt-manager --version > 2.2.1 > > OTOH, an 'rpm' build FAILS, > > python setup.py build rpm > Creating tar archive > removing 'virt-manager-2.2.1' (and everything under it) > error: Failed build dependencies: > python3-devel is needed by virt-manager-2.2.1-1.noarch > > as its checking for a distro-packaged 'python3-devel' rather than the pyenv's installed/available modules/deps In order to build RPM packages you need to have RPM dependencies listed in spec file installed. > not sure this qualifies as a 'bug' ... > > but, since there's apparently no 'setup.py uninstall' available, cleaning's a bit of a mess. I'm telling this to everyone, you usually don't want to mix distribution packages together with projects installed directly from sources as it usually requires additional work to make it right and to not mess up your system with conflicting files. > it'd be quite useful to have the rpm buildable, installable -- and UNinstallable. You already have that, but you have to use RPM dependencies as well. > a functional 'setup.py' would be a useful alternative. This basically works like it should as well because the uninstall feature cannot know if the files were modified or replaced by different project as it cannot track what's happening on the system. That's why we have package managers. May I ask what is your distribution and reason to use upstream package in your distribution? The simplest solution is to use virt-manager directly from unpacked tarball or git repository if the distribution version is not good enough or you want to just test a newer virt-manager. I was about to suggest some options but once I've tried them it would require a lot of other work to achieve it: - Install all required dependencies using RPM, if the distribution doesn't provide the versions you would like to use, create RPM packages for these dependencies as well (this will probably take a lot of time). - Using pip to install virt-manager but when I tried it, it doesn't work with virt-manager, most likely because we are using distutils instead of setuptools. - Use python virtualenv and install virt-manager into it, but it would require to install all virt-manager python dependencies into the virtualenv as well. To uninstall it, you can just remove the whole virtualenv directory. Pavel
Attachment:
signature.asc
Description: PGP signature