Le Fri, Jun 25, 2010 at 04:02:10PM +0200, Jonas Smedegaard a écrit : > > There is 2 GD transitions pending, as I see it: Dropping noxpm flavor, > and using the generic "gd" as namespace rather than "gd2". > > I imagine that the transition is best done in multiple steps, like this: > > Now: > > * Rename libgd2-xpm-dev as libgd-dev > * Rename libgd2 as libgd > * Introduce dummy libgd2-noxpm-dev depending on libgd-dev > * Introduce dummy libgd2-xpm-dev depending on libgd-dev > * Introduce dummy libgd2-noxpm depending on libgd > * Introduce dummy libgd2-xpm depending on libgd > > Post Squeeze + 1: > > * Drop dummy packages
Hi Jonas, I have been thinking about the possible transitions, and I concluded that there can be either the way you proposed, where the xpm and noxpm flavours are taken over by a new package, or a two-step migration where first the noxpm package becomes dummy and depends on the xpm flavor, and then the xpm flavor is renamed. If there is no obstacle to the first option (the one you proposed), I think it would be preferrable. What I have not determined yet is whether there can be some problems like libgd provides libgd2-xpm, but will not be installed because libgd2-noxpm is there and conflicts on libgd2-xpm, and libgd2-noxpm will not be upgraded to the version with no conflicts because libgd will not be installed and the updated libgd2-noxpm depends on it. Since I am not so proficient with such dependancy theory, I wanted to check empirically if this would work or not. I attached here a patch of my work in progress. Unfortunately, I did not have time today to finish to switch from flavor building to simple building. After suppressing the flavors, the build directory becomes $(CURDIR). I run in the following problems, that I do not know how related they are to this aspect of the change. - d-shlibmove does not find anymore files nicely sorted in an include directory. - common-post-build-arch, that depends on buildmore, does not seem to be called, and therefore the packages lack the README files that debhelper wants to install. It is perhaps easy to fix, but not today… Lastly, we should better propose a ‘lintian test + release goal’ combo. I can work on the lintian test after the modification of the source package is completed. Have a nice day, -- Charles
Index: debian/control =================================================================== *** debian/control (révision 197) --- debian/control (copie de travail) *************** *** 12,18 **** Package: libgd-tools Architecture: any Depends: ${shlibs:Depends}, ${perl:Depends} ! Suggests: libgd2-noxpm-dev | libgd2-xpm-dev Description: GD command line tools and example code GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from --- 12,18 ---- Package: libgd-tools Architecture: any Depends: ${shlibs:Depends}, ${perl:Depends} ! Suggests: libgd-dev Description: GD command line tools and example code GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from *************** *** 23,34 **** This is some simple command line tools and example code that use the GD graphics library. ! Package: libgd2-xpm-dev Architecture: any Section: libdevel ! Depends: libgd2-xpm (= ${binary:Version}), ${devlibs:Depends} ! Conflicts: libgd-dev, libgd-noxpm-dev, libgd-xpm-dev, libgd2-noxpm-dev ! Provides: libgd-dev Description: GD Graphics Library version 2 (development version) GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from --- 23,35 ---- This is some simple command line tools and example code that use the GD graphics library. ! Package: libgd-dev Architecture: any Section: libdevel ! Depends: libgd (= ${binary:Version}), ${devlibs:Depends} ! Breaks: libgd2-xpm-dev, libgd2-noxpm-dev ! Replaces: libgd2-xpm-dev, libgd2-noxpm-dev ! Provides: libgd2-xpm-dev, libgd2-noxpm-dev Description: GD Graphics Library version 2 (development version) GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from *************** *** 39,66 **** This is the full development version of the library, built with XPM (X pixmap) and fontconfig support. Package: libgd2-noxpm-dev ! Architecture: any Section: libdevel ! Depends: libgd2-noxpm (= ${binary:Version}), ${devlibs:Depends} ! Conflicts: libgd-dev, libgd-noxpm-dev, libgd-xpm-dev, libgd2-xpm-dev ! Provides: libgd-dev ! Description: GD Graphics Library version 2 (development version) ! GD is a graphics library. It allows your code to quickly draw images ! complete with lines, arcs, text, multiple colours, cut and paste from ! other images, flood fills, and write out the result as a PNG file. ! This is particularly useful in World Wide Web applications, where PNG is ! one of the formats accepted for inline images by most browsers. ! . ! This is the full development version of the library, built without XPM ! (X pixmap) or fontconfig support. ! Package: libgd2-xpm Architecture: any Section: libs Depends: ${shlibs:Depends} ! Conflicts: libgd2, libgd2-noxpm ! Provides: libgd2 Suggests: libgd-tools Description: GD Graphics Library version 2 GD is a graphics library. It allows your code to quickly draw images --- 40,68 ---- This is the full development version of the library, built with XPM (X pixmap) and fontconfig support. + Package: libgd2-xpm-dev + Architecture: all + Section: libdevel + Depends: libgd-dev + Description: GD Graphics Library version 2 (dummy package) + This is a transition package that can be safely removed. The libgd-dev + package replaces the libgd2-xpm-dev and libgd2-noxpm-dev packages. + Package: libgd2-noxpm-dev ! Architecture: all Section: libdevel ! Depends: libgd-dev ! Description: GD Graphics Library version 2 (dummy package) ! This is a transition package that can be safely removed. The libgd-dev ! package replaces the libgd2-xpm-dev and libgd2-noxpm-dev packages. ! Package: libgd Architecture: any Section: libs Depends: ${shlibs:Depends} ! Breaks: libgd2-xpm, libgd2-noxpm ! Provides: libgd2-xpm, libgd2-noxpm ! Replaces: libgd2-xpm, libgd2-noxpm Suggests: libgd-tools Description: GD Graphics Library version 2 GD is a graphics library. It allows your code to quickly draw images *************** *** 72,90 **** This is the runtime package of the library, built with XPM (X pixmap) and fontconfig support. Package: libgd2-noxpm ! Architecture: any Section: libs ! Depends: ${shlibs:Depends} ! Conflicts: libgd2, libgd2-xpm ! Provides: libgd2 ! Suggests: libgd-tools ! Description: GD Graphics Library version 2 (without XPM support) ! GD is a graphics library. It allows your code to quickly draw images ! complete with lines, arcs, text, multiple colours, cut and paste from ! other images, flood fills, and write out the result as a PNG file. ! This is particularly useful in World Wide Web applications, where PNG is ! one of the formats accepted for inline images by most browsers. ! . ! This is the runtime package of the library, built without XPM (X pixmap) ! or fontconfig support. --- 74,91 ---- This is the runtime package of the library, built with XPM (X pixmap) and fontconfig support. + Package: libgd2-xpm + Architecture: all + Section: libs + Depends: libgd + Description: GD Graphics Library version 2 (dummy package) + This is a transition package that can be safely removed. The libgd + package replaces the libgd2-xpm and libgd2-noxpm packages. + Package: libgd2-noxpm ! Architecture: all Section: libs ! Depends: libgd ! Description: GD Graphics Library version 2 (dummy package) ! This is a transition package that can be safely removed. The libgd ! package replaces the libgd2-xpm and libgd2-noxpm packages. Index: debian/libgd-tools.install =================================================================== *** debian/libgd-tools.install (révision 197) --- debian/libgd-tools.install (copie de travail) *************** *** 1,9 **** ! debian/tmp-libgd2-noxpm/usr/bin/annotate /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/bdftogd /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/gd2copypal /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/gd2topng /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/gdparttopng /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/gdtopng /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/pngtogd /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/pngtogd2 /usr/bin ! debian/tmp-libgd2-noxpm/usr/bin/webpng /usr/bin --- 1,9 ---- ! annotate /usr/bin ! bdftogd /usr/bin ! gd2copypal /usr/bin ! gd2topng /usr/bin ! gdparttopng /usr/bin ! gdtopng /usr/bin ! pngtogd /usr/bin ! pngtogd2 /usr/bin ! webpng /usr/bin Index: debian/control.in =================================================================== *** debian/control.in (révision 197) --- debian/control.in (copie de travail) *************** *** 12,18 **** Package: libgd-tools Architecture: any Depends: ${shlibs:Depends}, ${perl:Depends} ! Suggests: libgd2-noxpm-dev | libgd2-xpm-dev Description: GD command line tools and example code GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from --- 12,18 ---- Package: libgd-tools Architecture: any Depends: ${shlibs:Depends}, ${perl:Depends} ! Suggests: libgd-dev Description: GD command line tools and example code GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from *************** *** 23,34 **** This is some simple command line tools and example code that use the GD graphics library. ! Package: libgd2-xpm-dev Architecture: any Section: libdevel ! Depends: libgd2-xpm (= ${binary:Version}), ${devlibs:Depends} ! Conflicts: libgd-dev, libgd-noxpm-dev, libgd-xpm-dev, libgd2-noxpm-dev ! Provides: libgd-dev Description: GD Graphics Library version 2 (development version) GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from --- 23,35 ---- This is some simple command line tools and example code that use the GD graphics library. ! Package: libgd-dev Architecture: any Section: libdevel ! Depends: libgd (= ${binary:Version}), ${devlibs:Depends} ! Breaks: libgd2-xpm-dev, libgd2-noxpm-dev ! Replaces: libgd2-xpm-dev, libgd2-noxpm-dev ! Provides: libgd2-xpm-dev, libgd2-noxpm-dev Description: GD Graphics Library version 2 (development version) GD is a graphics library. It allows your code to quickly draw images complete with lines, arcs, text, multiple colours, cut and paste from *************** *** 39,66 **** This is the full development version of the library, built with XPM (X pixmap) and fontconfig support. Package: libgd2-noxpm-dev ! Architecture: any Section: libdevel ! Depends: libgd2-noxpm (= ${binary:Version}), ${devlibs:Depends} ! Conflicts: libgd-dev, libgd-noxpm-dev, libgd-xpm-dev, libgd2-xpm-dev ! Provides: libgd-dev ! Description: GD Graphics Library version 2 (development version) ! GD is a graphics library. It allows your code to quickly draw images ! complete with lines, arcs, text, multiple colours, cut and paste from ! other images, flood fills, and write out the result as a PNG file. ! This is particularly useful in World Wide Web applications, where PNG is ! one of the formats accepted for inline images by most browsers. ! . ! This is the full development version of the library, built without XPM ! (X pixmap) or fontconfig support. ! Package: libgd2-xpm Architecture: any Section: libs Depends: ${shlibs:Depends} ! Conflicts: libgd2, libgd2-noxpm ! Provides: libgd2 Suggests: libgd-tools Description: GD Graphics Library version 2 GD is a graphics library. It allows your code to quickly draw images --- 40,68 ---- This is the full development version of the library, built with XPM (X pixmap) and fontconfig support. + Package: libgd2-xpm-dev + Architecture: all + Section: libdevel + Depends: libgd-dev + Description: GD Graphics Library version 2 (dummy package) + This is a transition package that can be safely removed. The libgd-dev + package replaces the libgd2-xpm-dev and libgd2-noxpm-dev packages. + Package: libgd2-noxpm-dev ! Architecture: all Section: libdevel ! Depends: libgd-dev ! Description: GD Graphics Library version 2 (dummy package) ! This is a transition package that can be safely removed. The libgd-dev ! package replaces the libgd2-xpm-dev and libgd2-noxpm-dev packages. ! Package: libgd Architecture: any Section: libs Depends: ${shlibs:Depends} ! Breaks: libgd2-xpm, libgd2-noxpm ! Provides: libgd2-xpm, libgd2-noxpm ! Replaces: libgd2-xpm, libgd2-noxpm Suggests: libgd-tools Description: GD Graphics Library version 2 GD is a graphics library. It allows your code to quickly draw images *************** *** 72,90 **** This is the runtime package of the library, built with XPM (X pixmap) and fontconfig support. Package: libgd2-noxpm ! Architecture: any Section: libs ! Depends: ${shlibs:Depends} ! Conflicts: libgd2, libgd2-xpm ! Provides: libgd2 ! Suggests: libgd-tools ! Description: GD Graphics Library version 2 (without XPM support) ! GD is a graphics library. It allows your code to quickly draw images ! complete with lines, arcs, text, multiple colours, cut and paste from ! other images, flood fills, and write out the result as a PNG file. ! This is particularly useful in World Wide Web applications, where PNG is ! one of the formats accepted for inline images by most browsers. ! . ! This is the runtime package of the library, built without XPM (X pixmap) ! or fontconfig support. --- 74,91 ---- This is the runtime package of the library, built with XPM (X pixmap) and fontconfig support. + Package: libgd2-xpm + Architecture: all + Section: libs + Depends: libgd + Description: GD Graphics Library version 2 (dummy package) + This is a transition package that can be safely removed. The libgd + package replaces the libgd2-xpm and libgd2-noxpm packages. + Package: libgd2-noxpm ! Architecture: all Section: libs ! Depends: libgd ! Description: GD Graphics Library version 2 (dummy package) ! This is a transition package that can be safely removed. The libgd ! package replaces the libgd2-xpm and libgd2-noxpm packages. Index: debian/changelog =================================================================== *** debian/changelog (révision 197) --- debian/changelog (copie de travail) *************** *** 1,3 **** --- 1,9 ---- + libgd2 (2.0.36~rc1~dfsg-4~0) UNRELEASED; urgency=low + + * Suppression of the -noxpm flavor, and renaming to ‘libgd’. + + -- Charles Plessy <ple...@debian.org> Mon, 05 Jul 2010 22:32:41 +0900 + libgd2 (2.0.36~rc1~dfsg-3) unstable; urgency=medium * Drop bogus "-Wl,--disable-rpath" ld flags. Closes: bug#478534, Modification de propriétés sur debian/libgd-dev.manpages ___________________________________________________________________ Ajouté : svn:mergeinfo Modification de propriétés sur debian/libgd-dev.substvars ___________________________________________________________________ Ajouté : svn:mergeinfo Index: debian/rules =================================================================== *** debian/rules (révision 197) --- debian/rules (copie de travail) *************** *** 3,10 **** # Copyright © 2002-2008 Jonas Smedegaard <d...@jones.dk> # NB! Local CDBS tweaks in use. More info in README.cdbs-tweaks - DEB_BUILDDIR = build - DEB_MAKE_FLAVORS = noxpm xpm include debian/cdbs/1/rules/upstream-tarball.mk include debian/cdbs/1/rules/copyright-check.mk include /usr/share/cdbs/1/rules/patchsys-quilt.mk --- 3,8 ---- *************** *** 24,53 **** # Avoid copyright-check choking on config/install.sh and aclocal.m4 DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^(debian/.*|(.*/)?config\.(guess|sub|rpath)(\..*)?|config/install-sh|aclocal\.m4)$ ! pkgname = libgd2 libname = libgd # Install multiple flavors to separate destinations # TODO: drop unneeded pkgname from skel (included to minimize transition patch) DEB_MAKE_FLAVORS_DESTDIRSKEL = $(CURDIR)/debian/tmp-$(pkgname)-...@flavor@ ! DEB_CONFIGURE_FLAGS_noxpm = --without-x --without-xpm --without-fontconfig ! DEB_CONFIGURE_FLAGS_xpm = --with-x DEB_CONFIGURE_EXTRA_FLAGS = --disable-rpath ! DEB_DH_MAKESHLIBS_ARGS_libgd2-noxpm = -V'libgd2-noxpm (>= $(DEB_UPSTREAM_VERSION)) | libgd2-xpm (>= $(DEB_UPSTREAM_VERSION))' ! DEB_DH_MAKESHLIBS_ARGS_libgd2-xpm = -V'libgd2-xpm (>= $(DEB_UPSTREAM_VERSION))' DEB_INSTALL_DOCS_ALL += README.html README readme.jpn CFLAGS += -D_REENTRANT -pipe - DEB_SHLIBDEPS_LIBRARY_ALL = -Llibgd2-noxpm -ldebian/libgd2-noxpm/usr/lib - # build tests and more _after_ normal build routines common-post-build-arch:: buildmore ! buildmore: build/libgd2-noxpm ! LD_PRELOAD=$(CURDIR)/build/noxpm/.libs/libgd.so $(CURDIR)/build/noxpm/gddemo ! LD_PRELOAD=$(CURDIR)/build/noxpm/.libs/libgd.so $(CURDIR)/build/noxpm/gdtest demoin.png perl debian/doc_cleaner.pl index.html > README.html html2text -nobs < README.html > README --- 22,47 ---- # Avoid copyright-check choking on config/install.sh and aclocal.m4 DEB_COPYRIGHT_CHECK_IGNORE_REGEX = ^(debian/.*|(.*/)?config\.(guess|sub|rpath)(\..*)?|config/install-sh|aclocal\.m4)$ ! pkgname = libgd libname = libgd # Install multiple flavors to separate destinations # TODO: drop unneeded pkgname from skel (included to minimize transition patch) DEB_MAKE_FLAVORS_DESTDIRSKEL = $(CURDIR)/debian/tmp-$(pkgname)-...@flavor@ ! DEB_CONFIGURE_FLAGS = --with-x DEB_CONFIGURE_EXTRA_FLAGS = --disable-rpath ! DEB_DH_MAKESHLIBS_ARGS = -V'libgd (>= $(DEB_UPSTREAM_VERSION))' DEB_INSTALL_DOCS_ALL += README.html README readme.jpn CFLAGS += -D_REENTRANT -pipe # build tests and more _after_ normal build routines common-post-build-arch:: buildmore ! buildmore: build/libgd ! LD_PRELOAD=$(CURDIR)/.libs/libgd.so $(CURDIR)/gddemo ! LD_PRELOAD=$(CURDIR)/.libs/libgd.so $(CURDIR)/gdtest demoin.png perl debian/doc_cleaner.pl index.html > README.html html2text -nobs < README.html > README *************** *** 55,89 **** rm -f README.html README cd test && rm -f gdtest_wbmp_to_png.png gdtest.jpg gdtest.wbmp rm -f demoout.png demooutp.png demoout.gif demooutp.gif ! rm -rf build debian/tmp-libgd2-noxpm debian/tmp-libgd2-xpm # Let d-shlibs handle dev package dependencies and shlib install # Strip pre-sarge X11 fallback dependencies (until fixed in d-shlibs itself) ! binary-post-install/libgd2-noxpm:: ! d-shlibmove --commit \ ! --override 's/ | xlibs-dev (<< 4.3.0)//' \ ! --override s/libstdc++6-dev// \ ! --override s/libxml2-2-dev/libxml2-dev/ \ ! --movedev "debian/tmp-$(cdbs_curpkg)/usr/include/*" usr/include/ \ ! --movedev "debian/tmp-$(cdbs_curpkg)/usr/bin/gdlib-config" usr/bin/ \ ! --suffix -noxpm --devsuffix -noxpm \ ! debian/tmp-$(cdbs_curpkg)/usr/lib/$(libname).so ! ! binary-post-install/libgd2-xpm:: d-shlibmove --commit \ --override 's/ | xlibs-dev (<< 4.3.0)//' \ --override s/libstdc++6-dev// \ --override s/libxml2-2-dev/libxml2-dev/ \ --movedev "debian/tmp-$(cdbs_curpkg)/usr/include/*" usr/include/ \ --movedev "debian/tmp-$(cdbs_curpkg)/usr/bin/gdlib-config" usr/bin/ \ - --suffix -xpm --devsuffix -xpm \ debian/tmp-$(cdbs_curpkg)/usr/lib/$(libname).so ! # Needed by upstream for all flavors ! CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), libpng12-dev, libz-dev, libjpeg62-dev ! ! # Needed by upstream for xpm flavor ! CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), libfreetype6-dev, libxpm-dev, libx11-dev, libxt-dev, libfontconfig-dev # Needed for our packaging CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), d-shlibs (>= 0.30), html2text --- 49,69 ---- rm -f README.html README cd test && rm -f gdtest_wbmp_to_png.png gdtest.jpg gdtest.wbmp rm -f demoout.png demooutp.png demoout.gif demooutp.gif ! rm -rf build # Let d-shlibs handle dev package dependencies and shlib install # Strip pre-sarge X11 fallback dependencies (until fixed in d-shlibs itself) ! binary-post-install/libgd:: d-shlibmove --commit \ --override 's/ | xlibs-dev (<< 4.3.0)//' \ --override s/libstdc++6-dev// \ --override s/libxml2-2-dev/libxml2-dev/ \ --movedev "debian/tmp-$(cdbs_curpkg)/usr/include/*" usr/include/ \ --movedev "debian/tmp-$(cdbs_curpkg)/usr/bin/gdlib-config" usr/bin/ \ debian/tmp-$(cdbs_curpkg)/usr/lib/$(libname).so ! # Needed by upstream ! CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), libpng12-dev, libz-dev, libjpeg62-dev, libfreetype6-dev, libxpm-dev, libx11-dev, libxt-dev, libfontconfig-dev # Needed for our packaging CDBS_BUILD_DEPENDS := $(CDBS_BUILD_DEPENDS), d-shlibs (>= 0.30), html2text Index: debian/libgd2-noxpm-dev.examples =================================================================== *** debian/libgd2-noxpm-dev.examples (révision 197) --- debian/libgd2-noxpm-dev.examples (copie de travail) *************** *** 1,7 **** - demoin.png - gdtest.c - gdtestft.c - gddemo.c - gd2time.c - testac.c - test/* --- 0 ---- Index: debian/libgd2-xpm-dev.examples =================================================================== *** debian/libgd2-xpm-dev.examples (révision 197) --- debian/libgd2-xpm-dev.examples (copie de travail) *************** *** 1,7 **** - demoin.png - gdtest.c - gdtestft.c - gddemo.c - gd2time.c - testac.c - test/* --- 0 ---- Index: debian/libgd2-noxpm-dev.manpages =================================================================== *** debian/libgd2-noxpm-dev.manpages (révision 197) --- debian/libgd2-noxpm-dev.manpages (copie de travail) *************** *** 1 **** - debian/gdlib-config.1 --- 0 ---- Index: debian/libgd2-dev.substvars =================================================================== *** debian/libgd2-dev.substvars (révision 197) --- debian/libgd2-dev.substvars (copie de travail) *************** *** 1 **** - devlibs:Depends=libc6-dev, libfontconfig1-dev, libfreetype6-dev, libjpeg62-dev, libpng12-0-dev, libx11-dev | xlibs-dev (<< 4.3.0), libxpm-dev | xlibs-dev (<< 4.3.0), zlib1g-dev --- 0 ---- Modification de propriétés sur debian/libgd-dev.examples ___________________________________________________________________ Ajouté : svn:mergeinfo Index: debian/libgd2-xpm-dev.manpages =================================================================== *** debian/libgd2-xpm-dev.manpages (révision 197) --- debian/libgd2-xpm-dev.manpages (copie de travail) *************** *** 1 **** - debian/gdlib-config.1 --- 0 ----