From Fedora Project Wiki

Revision as of 10:53, 9 October 2021 by Oturpe (talk | contribs) (Redirect Package Maintainer wiki links to docs.fp.o)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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/Replacing 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
Pass pass mrunge
django-addons
Pass pass beckerde
django-ajax-selects
Pass pass beckerde
django-annoying
Inprogress inprogress kumarpraveen
django-authenticator
Pass pass mrunge
django-authopenid
Fail fail Nobody
django-authority
Pass pass mrunge
django-avatar
Inprogress inprogress kumarpraveen
django-celery
Pass pass mrunge
django-contact-form
Pass pass mrunge
django-countries
Fail fail Nobody
django-dpaste
Pass pass mrunge
django-evolution
Fail fail Nobody
django-extra-form-fields
Pass pass mrunge
django-filter
Fail fail Nobody
django-flash
Pass pass lbazan
django-followit
django-keyedcache
Fail fail Nobody
django-kombu
Pass pass mrunge
django-lint
Pass pass mrunge
django-mako
Pass pass mrunge
django-mptt
Pass pass mrunge
django-notification
Pass pass mrunge
django-pagination
Pass pass mrunge
django-picklefield
Pass pass mrunge
django-piston
Pass pass mrunge
django-profile
Fail fail Nobody
django-profiles
Pass pass mrunge
django-pylibmc
django-recaptcha
Inprogress inprogress lbazan
django-recaptcha-works
Fail fail Nobody
django-registration
django-reversion
Inprogress inprogress mrunge
django-robots
Pass pass mrunge
django-sct
Fail fail mrunge
django-simple-captcha
Pass pass mrunge
django-sorting
Pass pass bkabrda
Django-south
Pass pass beckerde
django-staticfiles
Pass pass beckerde
django-tables
Fail fail Nobody
django-tagging
Pass pass mrunge
django-tastypie
Pass pass Cquad
django-threadedcomments
Pass pass beckerde
django-threaded-multihost
django-tinymce
Pass pass yuwang
django-tracking
Pass pass mrunge
django-typepad
Pass pass lbazan

Fix provides to "django-foo" in these:

Package name Status
python-django-debug-toolbar
Pass pass mrunge
python-django-horizon
Pass pass mrunge
python-django-nose
Pass pass mrunge