#435 %py3dir not removed by rpmbuild --clean
Closed: Fixed None Opened 5 years ago by mschwendt.

http://fedoraproject.org/wiki/Packaging:Python

Packages that use the %py3dir macro from python3-devel for building Python 3 subpackages create a second BUILD directory that is not cleaned up by "rpmbuild --clean …" based builds.

The default %clean section of a spec file removes the BUILDROOT, and the --clean option additionally causes rpmbuild to remove the default BUILD directory, but not %py3dir. This is because %py3dir is not below the package's default BUILD dir.


dmalcolm, do you remember some of the discussion of where that directory is placed? I remember some discussion about whether to place it under the main buildroot but I don't remember quite what came of it.

There's also this open bug: https://bugzilla.redhat.com/show_bug.cgi?id=563622 which could potentially benefit from moving the %py3dir underneath the main build directory.

The packaging committee is still awaiting additional information before it can properly address your request. Please provide that within the next month or this ticket will be closed. (Of course, you can always reopen it if the situation changes) Thanks!

tibbs,

what information is missing? Do you mean answers from dmalcolm and bkabrda are missing? Or is the issue not understood? Or is it not considered any issue?

There was never any answer to comment 1, and there doesn't appear to be a guideline draft on which the committee can vote. Is it still a problem? I don't know. It seems like the fix for this would simply be to change the %py3dir macro, which isn't really something the packaging committee would do.

Okay, then to everyone in the FPC: Feel free to keep this crap. It's the Packaging Guidelines that document this %py3dir macro. Using that macro is a bad recommendation.

I only opened this ticket to make you aware of this. Thought it would be in the FPC's best interest. I also don't know of any magic knobs I could push to get answer in https://bugzilla.redhat.com/563622 - reported in 2010, and no idea whether anyone has noticed Toshio's question in there.

Hostility isn't welcomed. I'm just trying to clean up old tickets.

I will move this to the meeting agenda, as at least rathann seems to have some idea about this as he commented on the bug you mention.

That sounds much different than comment 5 and comment 7.

Btw, I'm not hostile. I'm disappointed by the inactivity and lack of interest. Activity in the FPC is not only about voting. If you're not interested in an issue, just say so, but then you need to accept my opinion about it. Threatening with closing tickets doesn't move anything forward, especially not if the solution to the problem may be non-trivial.

Replying to [comment:1 toshio]:

dmalcolm, do you remember some of the discussion of where that directory is placed? I remember some discussion about whether to place it under the main buildroot but I don't remember quite what came of it.

There's also this open bug: https://bugzilla.redhat.com/show_bug.cgi?id=563622 which could potentially benefit from moving the %py3dir underneath the main build directory.

Sorry about not responding to this. These days I'm very busy with upstream gcc work, and I haven't touched python packaging in a long time. Slavek (bkabrda) is probably well placed to speak to this: he's done a lot of work on the various Python stacks lately, and

My (vague) recollection of the original discussion was that we wanted to try to keep the Python 2 and Python 3 builds as separate as possible, which meant putting the builddirs in sibling directories. But it sounds like this is causing cleanup problems in practice, so maybe we should revisit that idea, and put the python 3 builddir inside the python 2 builddir? (Or maybe the time has come for python 3 to be the default, and to have a python2 builddir???? no idea if that's a sane idea)

Sorry again for not responding earlier.

Thanks for responding Dave. I'll try to investigate the options here. It's also notable, that %py3dir doesn't work well with %doc [1]. I'll try to investigate this problem and come up with a solution. Sorry for not getting to this earlier, it's been very hard to find time lately...

[1] https://bugzilla.redhat.com/show_bug.cgi?id=563622

I believe https://bugzilla.redhat.com/show_bug.cgi?id=563622#c11 is the right solution here instead of an out-of-BUILDdir location and it's generic enough not only for different python version but also for compiling stuff with different options, like different MPI implementations for example. I'd appreciate it if someone could write it up. If not, I'll try to have something to vote on by next Thursday.

We talked about this at today's meeting (http://meetbot.fedoraproject.org/fedora-meeting-2/2015-02-12/fpc.2015-02-12-17.05.txt):

  • 435 %py3dir not removed by rpmbuild --clean (geppetto, 18:29:59)

  • LINK: https://fedorahosted.org/fpc/ticket/435 (geppetto, 18:30:04)
  • ACTION: Rathann Will prepare a draft we can vote on for next week
    (geppetto, 18:37:48)

We discussed this at today's meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-02-26/fpc.2015-02-26-17.01.txt):

  • 435 %py3dir not removed by rpmbuild --clean (geppetto, 17:13:58)

  • LINK: https://fedorahosted.org/fpc/ticket/435 (geppetto, 17:14:03)
  • ACTION: Policy change to remove py3dir from python policy (+1:6,
    0:1, -1:0) (geppetto, 17:22:30)
  • ACTION: Extra note about copies (+1:6, 0:0, -1:0) (geppetto,
    17:39:12)

Announce text:

If a package builds a module for multiple python interpreters, it must be done below the source tree and not in the %{py3dir} anymore. For an example see:
http://fedoraproject.org/wiki/Packaging:Python#Building_more_than_once

Metadata Update from @dmalcolm:
- Issue assigned to rathann

2 years ago

Login to comment on this ticket.

Metadata