Hi,
I am currently experimenting with packaging python projects using the distutils library. The packaging itself works fine, but I am having problems removing outdated/removed files when incrementing the RPM release counter or the version number. I thought that would be the RPM way :(
Could someone explain me how to remove files using an rpm package in general, as I don't find anything related on the fedora packaging wiki pages?
Example project structure:
project-root -package1 --file1 -package2 --file1 --file2
Now packaging the project-root with both python packages works fine. When removing the file2 from package2, the file is no longer in the new resulting rpm with release=2 (0.1.1-2) or newer version (0.1.2-1), but updating the package on the destination server using yum update, does not remove the file. I suppose that I need to include a macro to remove files on the destination server....
As my current projects are all hosted on GIT repos, would there be an easier way to fulfill that task?
Many thanks for some help on that point.
Kind regards, Raoul
On Fri, Sep 02, 2011 at 05:15:22PM +0200, Raoul Thill wrote:
Hi,
I am currently experimenting with packaging python projects using the distutils library. The packaging itself works fine, but I am having problems removing outdated/removed files when incrementing the RPM release counter or the version number. I thought that would be the RPM way :(
Could someone explain me how to remove files using an rpm package in
general, as I don't find anything related on the fedora packaging wiki pages?
Example project structure:
project-root -package1 --file1 -package2 --file1 --file2
Now packaging the project-root with both python packages works fine. When removing the file2 from package2, the file is no longer in the new resulting rpm with release=2 (0.1.1-2) or newer version (0.1.2-1), but updating the package on the destination server using yum update, does not remove the file. I suppose that I need to include a macro to remove files on the destination server....
As my current projects are all hosted on GIT repos, would there be an easier way to fulfill that task?
Many thanks for some help on that point.
If you'd like to post your srpms (for both package1 and package2) we might be able to help. It sounds like there's some little point of information about either rpm packaging or python packaging that you're not understanding but without more information I can't really tell what that piece of information is.
-Toswhio
OK, after further investigation, there are no files remaining installed, but only empty folders. Sorry, I did only do an `ls` on the root project folder, instead of a `find` to list all files :(
Therefore I do not seem to have an error in my spec file. I only need a possibility to clean out empty folders when updating the package.
Even when a clean function/macro doesn't exist, this might not lead to errors during project life-time, as I can run a line of code in %post or writing a hint into the project documentation.
Kindest regards, Raoul
Raoul Thill wrote:
OK, after further investigation, there are no files remaining installed, but only empty folders. Sorry, I did only do an `ls` on the root project folder, instead of a `find` to list all files :(
Therefore I do not seem to have an error in my spec file. I only need a possibility to clean out empty folders when updating the package.
The error is that you're package does not own those directories. It should. The Packaging Guidelines have a section on this:
http://fedoraproject.org/wiki/Packaging:UnownedDirectories
Hi,
The error is that you're package does not own those directories. It should. The Packaging Guidelines have a section on this:
http://fedoraproject.org/wiki/Packaging:UnownedDirectories
Thank you very much for pointing me to this page, this helped me a lot to better understand the complete process, also the Packaging:Python part from the Wiki.
Kind regards, Raoul
packaging@lists.fedoraproject.org