Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minimal version required for configshell-fb, target-fb and rtslib-fb? #67

Open
tomkcpr opened this issue Oct 8, 2022 · 2 comments
Open

Comments

@tomkcpr
Copy link

tomkcpr commented Oct 8, 2022

pyparsing locatedExpr is available in pyparsing 2.0.2, which only appears available in RHEL7, CentOS7, in other words, version 7 of the RH derivatives.

https://github.com/pyparsing/pyparsing/blob/master/CHANGES#L2288

which would suggest these packages are only available for RHEL7 and above.

@cvubrugier
Copy link
Collaborator

Hi @tomkcpr,

pyparsing locatedExpr is available in pyparsing 2.0.2.

That is correct. We replaced the custom locatedExpr helper in configshell-fb with the one provided by the pyparsing library at revision 7b5ba2c. As you mention, pyparsing provides locatedExpr since version 2.0.2.

which only appears available in RHEL7, CentOS7, in other words, version 7 of the RH derivatives.

I am not sure to understand you fully here.
I believe pyparsing is a fairly common package in Fedora and RHEL. While the pyparsing version in RHEL 7 does not implement locatedExpr because it is too old, the pyparsing versions in RHEL 8 and RHEL 9 should support it.

With best regards,

@tomkcpr
Copy link
Author

tomkcpr commented Oct 10, 2022

Hey @cvubrugier,

Thanks very much for getting back to me. I need to compile the software for a RHEL 6 derivative (Yep, that old!). So ended up reverting the locatedExpr within the code so it works with the Python 2.6.6 version available in the 6.10 release.

https://fossies.org/linux/pip/src/pip/_vendor/pyparsing/helpers.py

Line 427. Really should have gotten to upgrading these servers sooner, however, perhaps now would be a good time to move to a new RHEL8 or RHEL9 storage solution. Currently using the original Datera (https://github.com/Datera/targetcli/issues) files but should move off of it if I can.

On the subject of getting it to compile on a 6.10 release under Python 2.6.6, I managed to compile 2/3 RPM's one for configshell-fb and rtslib-fb with no errors but targetcli-fb I've yet to compile. Along the way, needed a few fixes on this OS to get things to compile correctly.

(Note, I've yet to test the RPM's if they even work.)

I've posted some fixes below in case folks run into them, though I doubt it given the age of the OS on which I had to do this. :)

[ ISSUE ]

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In /System/Files/target-fb/configshell-fb-rpm/build/rpm/BUILD/configshell-fb-1.1.29.8.gba3a5b8/configshell_fb/shell.py:
| Import failed (but source code parsing was successful).
|     Error: ImportError: cannot import name console (line 27)

[ FIX ]

Uppercase the import classses in the above files. ie 'console' to 'Console'. Was:

from .console import console
from .log import log
from .prefs import prefs
from .node import ConfigNode, ExecutionError

changed to:

from .console import Console
from .log import Log
from .prefs import Prefs
from .node import ConfigNode, ExecutionError

[ ISSUE ]

+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| In /System/Files/target-fb/configshell-fb-rpm/build/rpm/BUILD/configshell-fb-1.1.29.8.gba3a5b8/configshell_fb/shell.py:
| Import failed (but source code parsing was successful).
|     Error: AttributeError: _DevNull instance has no attribute 'isatty' (line 27)
|

[ FIX ]

JonnyJD/epydoc-m@269780a
https://sourceforge.net/p/epydoc/bugs/304/

Since an upgrade to epydocs can't be done on this 6.10 clone, add in the fix to the code itself and recompile the file:

[root@drstrange epydoc]# diff docintrospecter.py /root/epydoc/backup/docintrospecter.py
913d912
<     _dev_null = open(os.devnull, "w")
992c991
< _dev_null_DISABLED = _DevNull()
---
> _dev_null = _DevNull()
[root@drstrange epydoc]#

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants