From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: First results from running build without python2 Date: Wed, 04 Aug 2021 13:40:39 +0200 Message-ID: <1900327a-e199-8343-655e-d34326d6af81@ipfire.org> In-Reply-To: <94694aa0-25f9-5e52-181e-f2c69f6f64c9@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6128756895981742223==" List-Id: --===============6128756895981742223== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi All, I have resolved the frr program build. The version currently in IPFire (6.0) = only works with python2. Python3 support came in with version 7.4. I have now= built frr with version 8.0 including libyang as a new dependency but only fo= r the build, so nothing installed into IPFire itself, and that has successful= ly built without python2 being present. Will now go back and have another go with spice-protocol. Regards, Adolf. On 03/08/2021 23:38, Adolf Belka wrote: > Hi Michael & all, > > > On 03/08/2021 17:11, Michael Tremer wrote: >> Hello, >> >> Thank you for looking into this. >> >> This is a third-party script that came from either Mozilla or RedHat. Mayb= e they have ported it. If not, it should not be rocket science to do it ourse= lves. If we do it, we should of course upstream it. > I found an updated script from fedora and gave that a try. This time the sc= ript went all the way through but then the build.sh script failed at the poin= t where it should find all the .crt files in the certs directory and it came = back and said there weren't any. >> >> However, can you comment out this package and continue the build? This sho= uld be required until you reach the cdrom stage. > I then commented ca-certificates out in make.sh and ran the build. > This time it stopped at spice-protocol which is an addon and uses the py-co= mpile script that is in automake to compile some python modules. > py-compile is python2 based and the build stopped because it could not find= python > > There is a py_compile.py script that is python3 based but when I ran that i= n place of the py-compile script I got a Permission denied error when it trie= d to carry out the compile. > > I then commented out spice-protocol and ran the build. > > It then failed on frr which did look for python3-config but then failed due= to not finding python-config or pkg-config python > It looks like I should be able to tell it to use python3 in the ./configure > > I commented out frr and nothing else failed before cdrom was reached. > > So the packages that need to be made to work with python3 are > ca-certificates > spice-protocol > frr > > > I also converted client175 with 2to3 converter and built it and installed t= he .ipfire package into a vm and successfully got the WUI page for Media Play= er IPFire to render. What I haven't tested yet is if the audio works. I will = need to get audio set up in my vm to try that. > > Regards, > Adolf. > >> >> If this is the only thing that flags up, we should port the script. If we = find another, stronger reason to keep Python 2 around, we do not need to both= er and can keep the script this way. >> >> -Michael >> >>> On 3 Aug 2021, at 13:31, Adolf Belka wrote: >>> >>> Hi All, >>> >>> So with crda and the remaining python2 modules removed the question was i= f removing python2 from the build ran without any problem or if something was= flagged up. >>> >>> >>> ca-certificates was flagged up. >>> >>> There is a python2 script, certdata2pem.py, which fails if python2 is not= present. Running that script with python3 flags up some invalid syntax, unsu= rprisingly. >>> >>> I found some patches in Debian from 2015 for certdata2pem.py to provide p= ython3 compatibility. Unfortunately looking at the patch approx half could no= t be applied because the lines don't exist in the IPFire version of certdata2= pem.py (sections to do with blacklisted certs) >>> >>> I then ran the 2to3 converter on certdata2pem.py and tried that in the bu= ild but it came up with the following error. >>> >>> TypeError: a bytes-like object is required, not 'str' >>> >>> >>> I don't know how to further move forward with this as I am totally unfami= liar with the python language. >>> >>> >>> Regards, >>> >>> Adolf. >>> >>> >> --===============6128756895981742223==--