From Fedora Project Wiki

< User:Bkabrda

Revision as of 09:22, 2 March 2012 by Bkabrda (talk | contribs) (Created page with "= Renaming Django packages = This page summarizes the progress of transition from Django* and django* to python-django* packages, as submitted in fpc ticket [https://fedorahosted...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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-foo
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.
# Add this for good usability, as mentioned above.
Provides: django-foo = %{version}-%{release}

List of Packages