Re: [Discuss-gnuradio] How to properly add a pybombs packager
All, Thanks for the help, I think I found my problem. For searching installed packages, zypper is quite slow. I have an alternative using the rpm command but the arguments were wrong, causing the version parsing to fail. That's been fixed and it seems that packages are now properly installed (and not) as necessary. However, it still doesn't help with the virtualenv installation. Seems that the pip packager uses distutils for a number of packages that fail (wxpython, pycairo, pygobject, pygtk) in some cases b/c they state explicitly that they can't use distutils for installation on linux. I can also try to forcebuild all of those. I'll have to investigate further. Perhaps I'll try an install in the system python of a openSUSE VM to see if it succeeds using zypper. If so perhaps I could submit a pull request. Anyways, that's the story. Jared. On Wed, Sep 21, 2016 at 10:38 PM, Andrej Rode wrote: > Hey Jared, > > nice you want to add another package manager to PyBOMBS. I recently > added portage package manager to PyBOMBS. > > Based on your output these lines [0] give a clue what's happening. > I'd guess your functions do not properly report the installation status > back to PyBOMBS.Therefore PyBOMBS keeps trying to install wget with > every possible package manager left. > > Cheers, > Andrej > > > [0] > ``` > PyBOMBS.PackageManager - DEBUG - [1m [35mUsing packager zypper [0m > PyBOMBS.Packager.zypper - OBNOXIOUS - [1m [90minstall(wget, > static=False) [0m > PyBOMBS.ReqScanner - OBNOXIOUS - [1m [90mAdding package with name wget [0m > PyBOMBS.ReqScanner - OBNOXIOUS - [1m [90mEnd of requirements list [0m > PyBOMBS.ReqScanner - OBNOXIOUS - [1m [90mDone parsing requirements > string `wget` [0m > PyBOMBS.Packager.zypper - OBNOXIOUS - [1m [90mCalling ev for recursive > satisfier rule evaluation [0m > PyBOMBS.Packager.zypper - DEBUG - [1m [35mPackage wget has version > 1.18-2.2 in zypper [0m > PyBOMBS.monitor_process() - DEBUG - [1m [35mRunning with elevated > privileges. [0m > PyBOMBS._process_thread() - DEBUG - [1m [35mExecuting command `['sudo', > '-H', 'zypper', 'install', '-y', 'wget']' [0m > Loading repository data... > Reading installed packages... > 'wget' is already installed. > No update candidate for 'wget-1.18-2.2.x86_64'. The highest available > version is already installed. > Resolving package dependencies... > > Nothing to do. > PyBOMBS.monitor_process() - DEBUG - [1m [35mThread signaled termination > or returned [0m > PyBOMBS.monitor_process() - DEBUG - [1m [35mReturn value: 0 [0m > PyBOMBS.PackageManager - INFO - [1m [32mgetattr(zypper, > install)(Recipe: wget > category: baseline > ``` > > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to properly add a pybombs packager
On 09/21/2016 10:12 PM, U L wrote: > I am trying to get pybombs to support installing to a python virtualenv > on openSUSE which uses the zypper packager. OS packages are rpms but > the naming is a little different so I've had to update a number of recipes. Thanks, that's pretty cool! I think we need come up with a better way of identifying satisfier rules, though. > I've also found that the pip packager always uses elevated privileges. > This should prob. be chosen based on the ownership of the pip executable > vs the user executing pybombs. This would prevent a sudo pip call in a > user virtualenv. PyBOMBS and virtualenv is currently not working well, that's a known issue. We still need to come up with a clean solution for that. > The biggest sticking point I have so far is that the zypper packager I > defined based on the yum version. Things seem to be somewhat working > (checking version numbers and so forth) but the install does not get > past a check for wget (??!!!). I checked out pybombs very recently. > Some system info. I think Andrej's email will help you here. Cheers, Martin > >> uname -a > Linux linux-xdol 4.7.2-2-default #1 SMP PREEMPT Mon Aug 29 23:57:41 UTC > 2016 (8a962cf) x86_64 x86_64 x86_64 GNU/Linux > >> pip --version > pip 8.1.2 from /home/jaredd/pyvenvs/pybombs2/lib/python2.7/site-packages > (python 2.7) > >> pybombs -vv install gnuradio > > > I'm not sure what else could be useful. > > Search up from the end for "zypper". The expected behavior would be > pybombs would declare wget installed and move on (it is installed). I > dug into the code but it has become too abstract to follow easily. For > some reason it also seems to defy use in the debugger through ipython. > > Any advice is appreciated. > > Jared. > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] How to properly add a pybombs packager
Hey Jared, nice you want to add another package manager to PyBOMBS. I recently added portage package manager to PyBOMBS. Based on your output these lines [0] give a clue what's happening. I'd guess your functions do not properly report the installation status back to PyBOMBS.Therefore PyBOMBS keeps trying to install wget with every possible package manager left. Cheers, Andrej [0] ``` PyBOMBS.PackageManager - DEBUG - [1m[35mUsing packager zypper[0m PyBOMBS.Packager.zypper - OBNOXIOUS - [1m[90minstall(wget, static=False)[0m PyBOMBS.ReqScanner - OBNOXIOUS - [1m[90mAdding package with name wget[0m PyBOMBS.ReqScanner - OBNOXIOUS - [1m[90mEnd of requirements list[0m PyBOMBS.ReqScanner - OBNOXIOUS - [1m[90mDone parsing requirements string `wget`[0m PyBOMBS.Packager.zypper - OBNOXIOUS - [1m[90mCalling ev for recursive satisfier rule evaluation[0m PyBOMBS.Packager.zypper - DEBUG - [1m[35mPackage wget has version 1.18-2.2 in zypper[0m PyBOMBS.monitor_process() - DEBUG - [1m[35mRunning with elevated privileges.[0m PyBOMBS._process_thread() - DEBUG - [1m[35mExecuting command `['sudo', '-H', 'zypper', 'install', '-y', 'wget']'[0m Loading repository data... Reading installed packages... 'wget' is already installed. No update candidate for 'wget-1.18-2.2.x86_64'. The highest available version is already installed. Resolving package dependencies... Nothing to do. PyBOMBS.monitor_process() - DEBUG - [1m[35mThread signaled termination or returned[0m PyBOMBS.monitor_process() - DEBUG - [1m[35mReturn value: 0[0m PyBOMBS.PackageManager - INFO - [1m[32mgetattr(zypper, install)(Recipe: wget category: baseline ``` signature.asc Description: OpenPGP digital signature ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio