Re: [EPEL-devel] Python 3 discussion

2015-03-03 Thread Bohuslav Kabrda
- Original Message -
 On Mar 02 06:53, Bohuslav Kabrda wrote:
  - Original Message -
 ...SNIP...
  
  I think applications should use /usr/bin/python3.4 (at least packaged
  applications). Otherwise we could theoretically end up in a situation
  where /usr/bin/python3 is owned by python35, but the application RPM still
  has python34- dependencies and thus the app doesn't work.
  
  I think this is actually one of the reasons why I thought it makes sense to
  keep both python34 and python35 living together in the state where
  python35 is the main python3 (having the default macros and owning
  /usr/bin/python3) and python34 is the other. Let's take this example:
  - there's an application foo written in python, which requires six
  - it doesn't make sense to build the application for both python34 and
  python35, since it's an application, not a library
  - this means it doesn't make sense for package maintainer to introduce the
  %python3_{other or next}* macros to the specfile, maintainer just wants to
  build with the python3
  - so this means that we should do this:
  -- python 3.5 is released, we build it in EPEL and turn with_python3_other
  to 1 in python3-pkgversion-macros
  -- then there's a period when python34 and python35 coexist and python34 is
  the main python - in this period, *libraries* are rebuilt to provide
  both python34- and python35- subpackages
  -- python34 and python35 are switched (the default macros now point to 35
  and it also owns /usr/bin/python3 now)
  -- then there's a period when python34 and python35 coexist and python35 is
  the main python - in this period, *applications* are rebuilt for
  python35 (may take some time, there will likely be a period when there are
  some apps on python34 and some already on python35)
 
 ^ Is this step part of a coordinated mass-rebuild, or is this just a
 period of time after we make the announcement: Hey Packagers: be sure
 to rebuild for python35?

That's a good question. I guess we should standardize how this will be done. 
Something like:
- there's an announcement on epel-devel that python35 is the main python3 and 
packagers should rebuild their packagers (and users their apps/scripts/...)
- wait for a week (two?)
- open bugs for packages that haven't been rebuilt during the previous week and 
get them fixed ASAP

 One alternative might be to do python35 in a side tag, after which we
 could release the libraries and applications, and deprecate python34
 together. This might take quite a bit more work though.

+1, I don't want to introduce side tags to the process.

  -- when all applications are rebuilt for 35, with_python3_other is set to 0
  and we now have just python35 and it's the main python3
  
  Does this make sense or am I missing something? I'd need to do some minor
  changes+explanations to my proposal to accomodate this, but I still think
  it makes sense.
  
   What about all of the old python34 packages left on their systems after
   retirement?  Is there some way they can get cleaned up automatically?
  
  I'm not sure about that... and I'm also not sure we want to do that, people
  may still want to keep these around for their own non-system applications
  to migrate.
 
 Great discussion so far!
 
 Brian

Thanks,
Slavek

 --
 Brian Stinson
 bstin...@ksu.edu | IRC: bstinson | Bitbucket/Twitter: bstinsonmhk
___
epel-devel mailing list
epel-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/epel-devel


Re: [EPEL-devel] Python 3 discussion

2015-03-03 Thread Kevin Fenzi
On Tue, 3 Mar 2015 07:46:00 -0500 (EST)
Bohuslav Kabrda bkab...@redhat.com wrote:

  ^ Is this step part of a coordinated mass-rebuild, or is this just a
  period of time after we make the announcement: Hey Packagers: be
  sure to rebuild for python35?
 
 That's a good question. I guess we should standardize how this will
 be done. Something like:
 - there's an announcement on epel-devel that python35 is the main
 python3 and packagers should rebuild their packagers (and users
 their apps/scripts/...)
 - wait for a week (two?)
 - open bugs for packages that haven't been rebuilt during the
 previous week and get them fixed ASAP

I'd say just doing the mass rebuild by a provenpackager or the like
would be easier than filing bugs and waiting. 

Also, we need to coordinate the update with them in it... ideally they
would all be in the same update?

kevin


pgpXNkwEu2jqS.pgp
Description: OpenPGP digital signature
___
epel-devel mailing list
epel-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/epel-devel


Re: [EPEL-devel] Python 3 discussion

2015-03-03 Thread Kevin Fenzi
On Tue, 3 Mar 2015 08:31:20 -0500 (EST)
Bohuslav Kabrda bkab...@redhat.com wrote:

 Today, I've made some changes to the proposal to accomodate comments
 from the previous meeting and from discussion on this list. The diff
 is here:
 
 https://fedoraproject.org/w/index.php?title=User%3ABkabrda%2FEPEL7_Python3diff=405180oldid=404782
 
 I'd appreciate comments, I hope I made it clearer and more
 explanatory.

Overall I like it. I suspect we will run into things and need to fine
tune it, but thats normal and good. ;) 

kevin


pgpQg8wK6RaJI.pgp
Description: OpenPGP digital signature
___
epel-devel mailing list
epel-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/epel-devel


Re: [EPEL-devel] Python 3 discussion

2015-03-03 Thread Orion Poplawski
On 03/03/2015 06:31 AM, Bohuslav Kabrda wrote:
 Today, I've made some changes to the proposal to accomodate comments from the 
 previous meeting and from discussion on this list. The diff is here:
 
 https://fedoraproject.org/w/index.php?title=User%3ABkabrda%2FEPEL7_Python3diff=405180oldid=404782
 
 I'd appreciate comments, I hope I made it clearer and more explanatory.
 
 Thanks for your comments,
 Slavek
 ___

Can we add the proper _sitelib / _sitearch macros to the example spec file?
Thanks.


-- 
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane   or...@nwra.com
Boulder, CO 80301   http://www.nwra.com
___
epel-devel mailing list
epel-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/epel-devel


Re: [EPEL-devel] Python 3 discussion

2015-03-03 Thread Bohuslav Kabrda
- Original Message -
snip
   * applications will need to be rebuilt to pick up a change from
 python34-* to python35-*
   which is a bit unfortunate.
   
   Is there any reason why we shouldn't just upgrade applications to the
   python35-* stack straight away, by providing python3-*?
  
  Yeah. First of all, it may happen that there are some minor backwards
  incompatibilities. Lots of packages run tests during buildtime, so
  these will be caught.
  Another reason is that there are applications, which store files in
  /usr/lib/python3.X/site-packages - these need to be rebuilt anyway,
  since they have the Python minor version incorporated in path of
  files.
  I really think that we should rebuild applications with new Python
  3.X.
 
 Well, they should really be using pkg_resources instead of hardcoding
 the path... but yes I take your point. Rebuilding for the newer Python
 stack makes sense.

There is no hardcoded path. The problem is that /usr/bin/python3.4 import 
modules from /usr/lib[64]/python3.4/site-packages. So when /usr/bin/python3 
switches all of a sudden from python3.4 to python3.5, the app will try to 
import the module from /usr/lib[64]/python3.5, but it's not there. That's why I 
think we should use /usr/bin/python3.X rather than /usr/bin/python3.

 We will need to make sure that setuptools-generated entry points have
 a shebang of /usr/bin/python3.4 rather than just /usr/bin/python3
 though, so that the scripts are always invoked with the same Python
 stack they are built for. Currently on Fedora they have
 /usr/bin/python3. This might need a patch to
 setuptools/distutils/whatever it is?

Good point. I *think* setuptools uses the executable with which it was executed 
for hashbangs, so if you use /usr/bin/python3.4 setup.py build, hashbangs 
will have #!/usr/bin/python3.4. I have already modified the __python3 macro 
in my copr to point to /usr/bin/python3.4 instead of /usr/bin/python3, but I 
haven't rebuilt the other packages with it yet. I'm putting it on my TODO list 
to check this.

 --
 Dan Callaghan dcall...@redhat.com
 Software Engineer, Hosted  Shared Services
 Red Hat, Inc.

Thanks a lot,
Slavek
___
epel-devel mailing list
epel-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/epel-devel