Source: libisoburn
Version: 1.3.2-1
Severity: wishlist

There are many packages which depend on wodim/genisoimage in Debian.

I think it is good idea to offer smooth system interface to choose their
back-end program with update-alternatives.

Just to indicate my experimental set up here, I attach patch to
libisoburn.  The metapackage for wodim-cdrskin may be better moved to
cdrskin package.  Maybe, these do not need to be separate packages but
can be included in respective xorriso, xorrisofs, and cdrskin packages.

I also wonder if wodim/genisoimage also can implement update-alternative
similar to what I proposed for libisoburn.  Until then, this patch
cause collision with them.  So coordination with them will be nice.
(With versioned Break, I think it can be done.)

As I understand, except for HFS+ hybrid CD generation, xorriso seems to
be quite useful by now.  So update-alternatives priority should be
something along:
  cdrskin=20    xorriso=10   wodim=5
  xorrisofs=10  genisoimage=5

Please consider.

Osamu
=======================================================================
I saw few related bugs which can be solved by above approach:

* http://bugs.debian.org/519200 :
  k3b: Should recognize cdrskin as cdrecord (it's compatible)
* http://bugs.debian.org/523814
  [makecd] please use cdrskin (not wodim) and xorriso (not genisofs)
...

Below is the dependencies related to wodim or genisoimage.

$ ben query '.depends ~ /wodim|genisoimage/ |.recommends ~ /wodim|genisoimage/' 
Packages_amd64 |grep ^Package -|sort|uniq
Parsing Packages_amd64...
Package: acetoneiso
Package: aptoncd
Package: bashburn
Package: bootcd
Package: brasero-cdrkit
Package: burn
Package: cdbackup
Package: cdw
Package: cedar-backup2
Package: debian-cd
Package: devede
Package: dvd+rw-tools
Package: fai-quickstart
Package: grml2usb
Package: initramfs-tools-tcos
Package: k3b
Package: kdenlive
Package: mic2
Package: movixmaker-2
Package: mp3burn
Package: mp3roaster
Package: opennebula
Package: ubuntu-dev-tools
Package: wodim

Since compatibility of these aliases offered by xorriso are not perfect,
upstreams may be slow to adopt xorriso based solution.  Offering option to
users by using update-alternatives seems to be reasonable.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.11-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru libisoburn-1.3.2-orig/debian/changelog libisoburn-1.3.2/debian/changelog
--- libisoburn-1.3.2-orig/debian/changelog	2013-09-08 22:47:24.000000000 +0900
+++ libisoburn-1.3.2/debian/changelog	2013-12-23 17:12:02.000000000 +0900
@@ -1,3 +1,11 @@
+libisoburn (1.3.2-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add packages to provide wodim amd genisoimage aliases.
+    (This needs to be coordinated with wodim and genisoimage package)
+
+ -- Osamu Aoki <os...@debian.org>  Mon, 23 Dec 2013 17:10:53 +0900
+
 libisoburn (1.3.2-1) unstable; urgency=low
 
   * New upstream release (Closes: #709561)
diff -Nru libisoburn-1.3.2-orig/debian/control libisoburn-1.3.2/debian/control
--- libisoburn-1.3.2-orig/debian/control	2013-09-08 22:47:24.000000000 +0900
+++ libisoburn-1.3.2/debian/control	2013-12-23 17:29:18.000000000 +0900
@@ -107,3 +107,49 @@
   xorriso source code comes with a release engineering test-suite called
   `releng', which aims to cover most of the functionality of the xorriso
   and the underlying libraries of libburn, libisofs, and libisoburn.
+
+Package: wodim-xorriso
+Architecture: all
+Section: otherosfs
+Depends: ${misc:Depends}, xorriso
+Provides: wodim
+Description: plugin emulation for the wodim program using xorriso
+ wodim-xorriso metapackage privides the alias wodim using the xorriso
+ command to enable other programs to migrate smoothly away from the wodim
+ package.
+ .
+ Supported optical media types: 
+  - CD-R, CD-RW
+  - DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM
+  - BD-R, BD-RE
+ .
+ The wodim-cdrskin package privides the alias wodim using the cdrskin
+ command and may provide even better compatibility.
+
+Package: wodim-cdrskin
+Architecture: all
+Section: otherosfs
+Depends: ${misc:Depends}, cdrskin
+Provides: wodim
+Description: plugin emulation for the wodim program using cdrskin
+ wodim-cdrskin metapackage privides the alias wodim using the cdrskin
+ command to enable other programs to migrate smoothly away from the wodim
+ package.
+ .
+ Supported optical media types: 
+  - CD-R, CD-RW
+  - DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, DVD+RW, DVD-RAM
+  - BD-R, BD-RE
+ .
+ The wodim-xorriso package also privides the alias wodim using the xorriso
+ command.
+
+Package: genisoimage-xorriso
+Architecture: all
+Section: otherosfs
+Depends: ${misc:Depends}, xorriso
+Provides: genisoimage
+Description: plugin emulation for the genisoimage program using xorriso
+ genisoimage-xorriso metapackage privides the alias genisoimage using the
+ xorriso command to enable other programs to migrate smoothly away from the
+ genisoimage package.
diff -Nru libisoburn-1.3.2-orig/debian/genisoimage-xorriso.postinst libisoburn-1.3.2/debian/genisoimage-xorriso.postinst
--- libisoburn-1.3.2-orig/debian/genisoimage-xorriso.postinst	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/genisoimage-xorriso.postinst	2013-12-23 17:18:40.000000000 +0900
@@ -0,0 +1,16 @@
+#!/bin/sh
+# postinst script for genisoimage-xorriso
+#
+# see: dh_installdeb(1)
+set -e
+
+update-alternatives --quiet \
+  --install /usr/bin/genisoimage                 genisoimage      /usr/bin/xorriso 20 \
+  --slave   /usr/share/man/man1/genisoimage.1.gz genisoimage.1.gz /usr/share/man/man1/xorriso.1.gz \
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff -Nru libisoburn-1.3.2-orig/debian/genisoimage-xorriso.prerm libisoburn-1.3.2/debian/genisoimage-xorriso.prerm
--- libisoburn-1.3.2-orig/debian/genisoimage-xorriso.prerm	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/genisoimage-xorriso.prerm	2013-12-23 17:06:03.000000000 +0900
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+  update-alternatives --remove genisoimage /usr/bin/xorriso
+fi
+
+#DEBHELPER#
diff -Nru libisoburn-1.3.2-orig/debian/wodim-cdrskin.postinst libisoburn-1.3.2/debian/wodim-cdrskin.postinst
--- libisoburn-1.3.2-orig/debian/wodim-cdrskin.postinst	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/wodim-cdrskin.postinst	2013-12-23 17:18:55.000000000 +0900
@@ -0,0 +1,16 @@
+#!/bin/sh
+# postinst script for wodim-cdrskin
+#
+# see: dh_installdeb(1)
+set -e
+
+update-alternatives --quiet \
+  --install /usr/bin/wodim                       wodim            /usr/bin/cdrskin 20 \
+  --slave   /usr/share/man/man1/wodim.1.gz       wodim.1.gz       /usr/share/man/man1/cdrskin.1.gz \
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff -Nru libisoburn-1.3.2-orig/debian/wodim-cdrskin.prerm libisoburn-1.3.2/debian/wodim-cdrskin.prerm
--- libisoburn-1.3.2-orig/debian/wodim-cdrskin.prerm	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/wodim-cdrskin.prerm	2013-12-23 17:04:33.000000000 +0900
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+  update-alternatives --remove wodim       /usr/bin/cdrskin
+fi
+
+#DEBHELPER#
diff -Nru libisoburn-1.3.2-orig/debian/wodim-xorriso.postinst libisoburn-1.3.2/debian/wodim-xorriso.postinst
--- libisoburn-1.3.2-orig/debian/wodim-xorriso.postinst	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/wodim-xorriso.postinst	2013-12-23 17:19:06.000000000 +0900
@@ -0,0 +1,16 @@
+#!/bin/sh
+# postinst script for wodim-xorriso
+#
+# see: dh_installdeb(1)
+set -e
+
+update-alternatives --quiet \
+  --install /usr/bin/wodim                       wodim            /usr/bin/xorriso 10 \
+  --slave   /usr/share/man/man1/wodim.1.gz       wodim.1.gz       /usr/share/man/man1/xorriso.1.gz \
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff -Nru libisoburn-1.3.2-orig/debian/wodim-xorriso.prerm libisoburn-1.3.2/debian/wodim-xorriso.prerm
--- libisoburn-1.3.2-orig/debian/wodim-xorriso.prerm	1970-01-01 09:00:00.000000000 +0900
+++ libisoburn-1.3.2/debian/wodim-xorriso.prerm	2013-12-23 17:04:41.000000000 +0900
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+  update-alternatives --remove wodim       /usr/bin/xorriso
+fi
+
+#DEBHELPER#

Reply via email to