tag 373265 + pending patch
tag 366759 + pending patch
thanks

Hi,

Attached is the diff for my cheetah 1.0-1.1 NMU. As the changes are quite
intrusive I've uploaded it to DELAYED/2-days which means that the NMU will
automatically happen in 2 days unless you either upload a fixed version
yourself before or you remove the files from the delayed queue.

I believe the changes are ok, however. We have tested the resulting
package with care.

Thanks to Arnaud Fontaine for doing the bulk of the work.

Cheers,
-- 
Raphaël Hertzog

Premier livre français sur Debian GNU/Linux :
http://www.ouaza.com/livre/admin-debian/
reverted:
--- cheetah-1.0/debian/cheetah-common.links
+++ cheetah-1.0.orig/debian/cheetah-common.links
@@ -1 +0,0 @@
-usr/share/man/man1/cheetah.1.gz        usr/share/man/man1/cheetah-compile.1.gz
diff -u cheetah-1.0/debian/control cheetah-1.0/debian/control
--- cheetah-1.0/debian/control
+++ cheetah-1.0/debian/control
@@ -2,69 +2,16 @@
 Section: text
 Priority: optional
 Maintainer: Chad Walstrom <[EMAIL PROTECTED]>
-Build-Depends: debhelper (>= 4.1.38), cdbs (>= 0.4.26), python-dev, 
python2.3-dev, python2.4-dev
-Standards-Version: 3.6.1.0
-
-Package: cheetah-common
-Architecture: all
-Depends: ${misc:Depends}, ${shlibs:Depends}
-Description: text-based template engine and Python code generator
- Cheetah can be used as a standalone templating utility or referenced as a
- library from other Python applications. It has many potential uses, but web
- developers looking for a viable alternative to ASP, JSP, PHP and PSP are
- expected to be its principle user group.
- .
- This package contains the manpages for command-line scripts and the common
- package documentation.  It does not contain the cheetah scripts or library
- itself; these are provided by the Python version-specific packages:
- python2.4-cheetah, python2.3-cheetah, or python2.2-cheetah.
+Build-Depends: debhelper (>= 5.0.37.2), cdbs (>= 0.4.43), python-all-dev (>= 
2.3.5-7), python-support (>= 0.3.2), patchutils (>= 0.2.25), python-setuptools 
(>= 0.6b3-1)
+Standards-Version: 3.7.2
 
 Package: python-cheetah
-Architecture: all
-Depends: python2.3-cheetah (>= 1.0), ${misc:Depends}, ${shlibs:Depends}
-Description: text-based template engine and Python code generator
- Cheetah can be used as a standalone templating utility or referenced as a
- library from other Python applications. It has many potential uses, but web
- developers looking for a viable alternative to ASP, JSP, PHP and PSP are
- expected to be its principle user group.
- .
- This dummy package depends upon the Python version-specific binary package
- python2.3-cheetah.
-
-Package: python2.3-cheetah
-Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}, python2.3, cheetah-common (>= 
1.0), cheetah-common (<< 2.0)
-Provides: cheetah
-Description: text-based template engine and Python code generator
- Cheetah can be used as a standalone templating utility or referenced as a
- library from other Python applications. It has many potential uses, but web
- developers looking for a viable alternative to ASP, JSP, PHP and PSP are
- expected to be its principle user group.
- .
- Features:
-  * Generates HTML, SGML, XML, SQL, Postscript, form email, LaTeX, or any other
-    text-based format.
-  * Cleanly separates content, graphic design, and program code.
-  * Blends the power and flexibility of Python with a simple template language
-    that non-programmers can understand.
-  * Gives template writers full access to any Python data structure, module,
-    function, object, or method in their templates.
-  * Makes code reuse easy by providing an object-orientated interface to
-    templates that is accessible from Python code or other Cheetah templates.
-    One template can subclass another and selectively reimplement sections of
-    it.
-  * Provides a simple, yet powerful, caching mechanism that can dramatically
-    improve the performance of a dynamic website.
-  * Compiles templates into optimized, yet readable, Python code.
- .
- Cheetah integrates tightly with Webware for Python
- (http://webware.sourceforge.net/): a Python application server and persistent
- servlet framework.
-
-Package: python2.4-cheetah
 Architecture: any
-Depends: ${misc:Depends}, ${shlibs:Depends}, python2.4, cheetah-common (>= 
1.0), cheetah-common (<< 2.0)
-Provides: cheetah
+Depends: ${python:Depends}, ${shlibs:Depends}
+Replaces: python2.3-cheetah (<< 1.0-1.1), python2.4-cheetah (<< 1.0-1.1), 
cheetah-common (<< 1.0-1.1)
+Conflicts: python2.3-cheetah (<< 1.0-1.1), python2.4-cheetah (<< 1.0-1.1), 
cheetah-common (<< 1.0-1.1)
+Provides: ${python:Provides}
+XB-Python-Version: ${python:Versions}
 Description: text-based template engine and Python code generator
  Cheetah can be used as a standalone templating utility or referenced as a
  library from other Python applications. It has many potential uses, but web
diff -u cheetah-1.0/debian/rules cheetah-1.0/debian/rules
--- cheetah-1.0/debian/rules
+++ cheetah-1.0/debian/rules
@@ -7,72 +7,22 @@
+DEB_PYTHON_SYSTEM=pysupport
+
 
################################################################################
 # CDBS File Inclusions and Variable Declarations
 
################################################################################
 include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/rules/simple-patchsys.mk
 include /usr/share/cdbs/1/class/python-distutils.mk
+include /usr/share/cdbs/1/rules/simple-patchsys.mk
 
-################################################################################
-# Helper functions
-################################################################################
-# For each package, we need to move cheetah and cheetah-compile to
-# /usr/share/cheetah as version specific binaries.  I couldn't rely on the
-# DEB_PYTHON_COMPILE_VER or cdbs_python_ver variables for some reason.  Thus, I
-# used the pyver variable to
-
-# Helper make function to build pythonX.Y-cheetah maintainer scripts
-define build_maintscript
-sed -e 's,@pyver@,$(pyver),' -e 's,@alt_score@,$(alt_score),' < \
-       debian/pythonX.Y-cheetah.postinst.in > \
-       debian/python$(pyver)-cheetah.postinst
-sed -e 's,@pyver@,$(pyver),' < \
-       debian/pythonX.Y-cheetah.prerm.in > \
-       debian/python$(pyver)-cheetah.prerm
-sed -e 's,@pyver@,$(pyver),' < \
-       debian/pythonX.Y-cheetah.links.in > \
-       debian/python$(pyver)-cheetah.links
-endef
-
-# Helper make function to fix cheetah-pythonX.Y bin scripts
-define fix_scripts
-sed -e 's,#!/.*$$,#!/usr/bin/python$(pyver),' < \
-       debian/python$(pyver)-cheetah/usr/bin/cheetah > \
-       debian/python$(pyver)-cheetah/usr/bin/cheetah-python$(pyver)
-chmod 755 debian/python$(pyver)-cheetah/usr/bin/cheetah-python$(pyver)
-rm debian/python$(pyver)-cheetah/usr/bin/cheetah
-sed -e 's,#!/.*$$,#!/usr/bin/python$(pyver),' < \
-       debian/python$(pyver)-cheetah/usr/bin/cheetah-compile > \
-       debian/python$(pyver)-cheetah/usr/bin/cheetah-compile-python$(pyver)
-chmod 755 debian/python$(pyver)-cheetah/usr/bin/cheetah-compile-python$(pyver)
-rm debian/python$(pyver)-cheetah/usr/bin/cheetah-compile
-endef
-
-################################################################################
-# Rule Extensions
-################################################################################
-configure/python2.4-cheetah:: pyver=2.4
-configure/python2.4-cheetah:: alt_score=50
-configure/python2.4-cheetah::
-       $(build_maintscript)
-
-configure/python2.3-cheetah:: pyver=2.3
-configure/python2.3-cheetah:: alt_score=90
-configure/python2.3-cheetah::
-       $(build_maintscript)
-
-binary-install/python2.4-cheetah:: pyver=2.4
-binary-install/python2.4-cheetah:: alt_score=50
-binary-install/python2.4-cheetah::
-       $(fix_scripts)
+# Install egg-info directories
+DEB_PYTHON_INSTALL_ARGS_ALL += --single-version-externally-managed
 
-binary-install/python2.3-cheetah:: pyver=2.3
-binary-install/python2.3-cheetah:: alt_score=90
-binary-install/python2.3-cheetah::
-       $(fix_scripts)
+install/$(DEB_PYTHON_MODULE_PACKAGE)::
+       # Rename egg-info directory to share it between several python versions
+       set -e; \
+       for v in $(shell pyversions -rv); do \
+           mv 
debian/python-cheetah/usr/lib/python$$v/site-packages/Cheetah-$(DEB_UPSTREAM_VERSION)-py$${v}.egg-info
 \
+               
debian/python-cheetah/usr/lib/python$$v/site-packages/Cheetah-$(DEB_UPSTREAM_VERSION).egg-info;
 \
+       done
 
 clean::
-       -python2.4 ./setup.py clean -a
-       -python2.3 ./setup.py clean -a
-       -find . -name \*.pyc -exec rm \{\} \;
-       -rm -f debian/python2.?-cheetah.postinst
-       -rm -f debian/python2.?-cheetah.prerm
-       -rm -f debian/python2.?-cheetah.links
+       -rm -rf Cheetah.egg-info
diff -u cheetah-1.0/debian/changelog cheetah-1.0/debian/changelog
--- cheetah-1.0/debian/changelog
+++ cheetah-1.0/debian/changelog
@@ -1,3 +1,38 @@
+cheetah (1.0-1.1) unstable; urgency=low
+
+  [ Arnaud Fontaine ]
+  * Non-maintainer upload.
+  * Update Standards-Version to 3.7.2. No changes needed.
+  * Remove cheetah-common package.
+  * Add egg support.  Thanks to Piotr Ozarowski
+    <[EMAIL PROTECTED]>. Closes: #366759.
+  * Remove alternatives which are no more needed since pythonX.Y-cheetah
+    are folded into python-cheetah.
+    + Remove pythonX.Y-cheetah.postinst.in and pythonX.Y-cheetah.prerm.in
+      in debian/.
+    + Remove *.links files in favor of debian/links.
+    + Remove *.manpages files in favor of debian/manpages.
+    + Clean debian/rules.
+  * New Python policy changes. Closes: #373265.
+    + Update debian/cheetah.1 and debian/README.Debian:
+    + Add debian/pyversions and debian/pycompat.
+    + debian/compat:
+      - Update debhelper compatibility to 5.
+    + debian/rules:
+      - Add DEB_PYTHON_SYSTEM=pysupport.
+    + debian/control:
+      - Update Build-Depends.
+      - Add XB-Python-Version for binary package.
+      - Add Conflicts and Replaces fields against previous revisions.
+
+  [ Raphael Hertzog ]
+  * Sponsoring upload.
+  * Improvements in the rules file. Rename egg-info directory soon enough so
+    that dh_pysupport can decide to share it.
+  * Updated README.Debian.
+
+ -- Raphael Hertzog <[EMAIL PROTECTED]>  Fri, 30 Jun 2006 19:11:25 +0200
+
 cheetah (1.0-1) unstable; urgency=low
 
   * New upstream version.  Closes: #344977
reverted:
--- cheetah-1.0/debian/pythonX.Y-cheetah.prerm.in
+++ cheetah-1.0.orig/debian/pythonX.Y-cheetah.prerm.in
@@ -1,28 +0,0 @@
-#! /bin/sh
-# prerm script for python2.3-cheetah
-#
-# see: dh_installdeb(1)
-
-set -e
-
-case "$1" in
-    remove|upgrade|deconfigure)
-        update-alternatives --remove cheetah \
-               /usr/bin/[EMAIL PROTECTED]@ || true
-        ;;
-    failed-upgrade)
-        ;;
-    *)
-        echo "prerm called with unknown argument \`$1'" >&2
-        exit 1
-    ;;
-esac
-
-# dh_installdeb will replace this with shell code automatically
-# generated by other debhelper scripts.
-
-#DEBHELPER#
-
-exit 0
-
-
diff -u cheetah-1.0/debian/compat cheetah-1.0/debian/compat
--- cheetah-1.0/debian/compat
+++ cheetah-1.0/debian/compat
@@ -1 +1 @@
-4
+5
diff -u cheetah-1.0/debian/README.Debian cheetah-1.0/debian/README.Debian
--- cheetah-1.0/debian/README.Debian
+++ cheetah-1.0/debian/README.Debian
@@ -1,24 +1,12 @@
 Cheetah on Debian
 =================
-Cheetah is a developer-centric library, and as such, it is important to provide
-multiple Python version-specific packages.  In most cases, Python is
-backwards-compatible for language syntax.  That same "guarantee" does not exist
-for the byte-compiled code, therefore, the cheetah software on Debian is split
-up into the following packages.
-
-       cheetah -- source package
-       cheetah-common -- manpages, examples, Debian docs
-       python-cheetah -- dummy package, depends upon latest pythonX.Y-cheetah
-       pythonX.Y-cheetah -- Python version-specific packages, with versioned
-               depends upon cheetah-common
-
-       where 2.3 <= X.Y <= 2.4
-
-cheetah-common is not a large package, but necessary to reduce documentation
-duplication and complexities.  The other options for package creation included
-virtual dependencies, which cannot currently be versioned, and repurposing of
-python-cheetah, which goes against the current Debian proposed Python Policy
-(0.3.7.1).
+
+Cheetah is a  developer-centric library, and as such,  it is important
+to provide multiple Python  version-specific packages.  In most cases,
+Python  is  backwards-compatible   for  language  syntax.   That  same
+"guarantee" does not exist  for the byte-compiled code, therefore, the
+cheetah software on Debian uses python-support to provide byte-compiled
+files for all supported Python versions.
 
 Code Incompatibility between 1.0 and 0.9.16
 ==============================================
reverted:
--- cheetah-1.0/debian/pythonX.Y-cheetah.postinst.in
+++ cheetah-1.0.orig/debian/pythonX.Y-cheetah.postinst.in
@@ -1,30 +0,0 @@
-#! /bin/sh
-# postinst script for python2.3-cheetah
-#
-# see: dh_installdeb(1)
-
-set -e
-
-case "$1" in
-    configure)
-       update-alternatives --install /usr/bin/cheetah cheetah \
-                       /usr/bin/[EMAIL PROTECTED]@ @alt_score@ \
-               --slave /usr/bin/cheetah-compile cheetah-compile \
-                       /usr/bin/[EMAIL PROTECTED]@ || true
-    ;;
-
-    abort-upgrade|abort-remove|abort-deconfigure)
-
-    ;;
-
-    *)
-        echo "postinst called with unknown argument \`$1'" >&2
-        exit 1
-    ;;
-esac
-
-#DEBHELPER#
-
-exit 0
-
-
reverted:
--- cheetah-1.0/debian/cheetah-common.manpages
+++ cheetah-1.0.orig/debian/cheetah-common.manpages
@@ -1 +0,0 @@
-debian/cheetah.1
reverted:
--- cheetah-1.0/debian/pythonX.Y-cheetah.links.in
+++ cheetah-1.0.orig/debian/pythonX.Y-cheetah.links.in
@@ -1,2 +0,0 @@
-usr/share/man/man1/cheetah.1.gz        usr/share/man/man1/[EMAIL 
PROTECTED]@.1.gz
-usr/share/man/man1/cheetah.1.gz        usr/share/man/man1/[EMAIL 
PROTECTED]@.1.gz
diff -u cheetah-1.0/debian/cheetah.1 cheetah-1.0/debian/cheetah.1
--- cheetah-1.0/debian/cheetah.1
+++ cheetah-1.0/debian/cheetah.1
@@ -18,11 +18,7 @@
 .SH NAME
 cheetah \- Python template command-line tool
 .SH SYNOPSIS
-.B cheetah-python2.3, cheetah-compile-python2.3, 
-.br
-.B cheetah-python2.2, cheetah-compile-python2.2,
-.br
-.B cheetah-python2.1, cheetah-compile-python2.1,
+.B cheetah, cheetah-compile
 .PP
 .B cheetah COMMAND
 .RI [ options ] " FILE" ...
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/links
+++ cheetah-1.0/debian/links
@@ -0,0 +1 @@
+usr/share/man/man1/cheetah.1.gz        usr/share/man/man1/cheetah-compile.1.gz
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/manpages
+++ cheetah-1.0/debian/manpages
@@ -0,0 +1 @@
+debian/cheetah.1
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/docs
+++ cheetah-1.0/debian/docs
@@ -0,0 +1,2 @@
+debian/NEWS
+debian/README.Debian
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/pycompat
+++ cheetah-1.0/debian/pycompat
@@ -0,0 +1 @@
+2
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/pyversions
+++ cheetah-1.0/debian/pyversions
@@ -0,0 +1 @@
+2.3-
only in patch2:
unchanged:
--- cheetah-1.0.orig/debian/patches/01_eggify.patch
+++ cheetah-1.0/debian/patches/01_eggify.patch
@@ -0,0 +1,11 @@
+--- setup.py.old       2006-06-30 17:05:26.000000000 +0200
++++ setup.py   2006-06-30 17:05:38.000000000 +0200
+@@ -6,6 +6,8 @@
+     os.remove('MANIFEST')               # to avoid those bloody out-of-date 
manifests!!
+ except:
+     pass
++
++from setuptools import setup
+     
+ import SetupTools
+ import SetupConfig

Reply via email to