Renaming Django packages - How to
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.
- 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.
- If the package Requires: or BuildRequires: another django package, it should require it with python-django* from now on.
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 Requires: Django
New package:
Name: python-django-foo Version: 1.2.3 Release: 1 Requires: python-django # 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 Requires: Django Requires: Django-foo Requires: django-foobar
New package:
Name: python-django-bar Version: 1.2.3 Release: 1 Requires: python-django Requires: python-django-foo Requires: python-django-foobar # 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.
List of Packages
This is the list of all django packages that we are targeting. Please write your name to the Responsible column for the packages that you will take care of, so that we can track what packages are not taken care of at all. When the review process is being done/done and the package is in buildroot, add a proper result mark:
{{result|fail|Nobody}} {{result|inprogress|Yourname}} {{result|pass|Yourname}}
Package name | Status |
---|---|
Django | |
django-addons | |
django-ajax-selects | |
django-annoying | |
django-authenticator | |
django-authopenid | Nobody
|
django-authority | |
django-avatar | |
django-celery | |
django-contact-form | |
django-countries | Nobody
|
django-dpaste | |
django-evolution | Nobody
|
django-extra-form-fields | |
django-filter | Nobody
|
django-flash | |
django-followit | |
django-keyedcache | Nobody
|
django-kombu | |
django-lint | |
django-mako | |
django-mptt | |
django-notification | |
django-pagination | |
django-picklefield | |
django-piston | |
django-profile | Nobody
|
django-profiles | |
django-pylibmc | |
django-recaptcha | |
django-recaptcha-works | Nobody
|
django-registration | |
django-reversion | |
django-robots | |
django-sct | |
django-simple-captcha | |
django-sorting | Nobody
|
Django-south | |
django-staticfiles | |
django-tables | Nobody
|
django-tagging | |
django-tastypie | Cquad
|
django-threadedcomments | |
django-threaded-multihost | |
django-tinymce | yuwang
|
django-tracking | |
django-typepad |
Fix provides to "django-foo" in these:
Package name | Status |
---|---|
python-django-debug-toolbar | |
python-django-horizon | |
python-django-nose |