From Fedora Project Wiki
Renaming Django packages
This page summarizes the progress of transition from Django* and django* to python-django* packages, as submitted in fpc ticket [1].
Instructions
- All packages must be re-reviewed (in the review process, state that it is a re-review of existing package): Package_Renaming_Process#Re-review_required.
- Target is Fedora 18 (TODO: discuss on python-devel)
- Be careful of proper Provides/Obsoletes: Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages.
- Add the Provides: django* even if the package was originally named Django*. This will allow the users to install packages by simply typing "yum install django" or "yum install django-foo" with the lowercase "d". This Provide should stay forever, because we want the users to be able to do this.
Examples
Some examples how to do it.
Django-foo
A package with name starting in uppercase.
Original package:
Name: Django-foo Version: 1.2.3 Release: 3
New package:
Name: python-django-foo Version: 1.2.3 Release: 1 # These are added because of the renaming mechanism Provides: Django-foo = %{version}-%{release} # Provide with macros. Obsoletes: Django-foo < 1.2.3-4 # Obsolete anything that is lower than the _bumped release_ of the renamed package. Obsolete with hardcoded values of renamed package. # Add this for good usability, as mentioned above. Provides: django-foo = %{version}-%{release}
django-bar
A package with name starting in lowercase.
Original package:
Name: django-bar Version: 1.2.3 Release: 3
New package:
Name: python-django-bar Version: 1.2.3 Release: 1 # This is added because of the renaming mechanism Provides: django-bar = %{version}-%{release} # Provide with macros. # This is added because of the renaming mechanism, but also for good usability, so it should stay forever in this package. Obsoletes: django-bar < 1.2.3-4 # Obsolete anything that is lower than the _bumped release_ of the renamed package. Obsolete with hardcoded values of renamed package.