Tags: patch

This bug would be fixed in the upstream 1.3.7 version, and it would be
very good to get to squeeze. The bug makes the package largely unusable
currently unless it doesn't fail for everyone, and still.

Attached is a tested patch to packaging (only). Changes are needed
because the new upstream version is differently prepared from the 1.3.6
release. The diffstat between 1.3.6 and 1.3.7 is _huge_, but the real
code changes are extra minimal. It's still worth packaging the new
upstream version since it has a large amount of translation updates in
addition to the configure file cruft.

So, to update the package, this should work:

apt-get source me-tv
cd me-tv-1.3.6/
uscan .
uupdate ../me-tv_1.3.7.orig.tar.gz
cd ../me-tv-1.3.7
patch -p1 < ~/me-tv_1.3.7_packaging.patch

And adding stuff to debian/changelog like:

me-tv (1.3.7-1) unstable; urgency=low

  * New upstream release
  * Fixes crash on startup (Closes: #672243)

  [ Timo Jyrinki ]
  * Add a patch to restore po/Makefile.in.in
  * Add dh_autoreconf because of different kind of upstream release

...or however you want to present it.

-Timo
diff -urN me-tv-1.3.6/debian/control me-tv-1.3.7/debian/control
--- me-tv-1.3.6/debian/control	2010-08-02 02:34:03.000000000 +0300
+++ me-tv-1.3.7/debian/control	2012-05-28 09:24:06.000000000 +0300
@@ -7,7 +7,7 @@
 Build-Depends: debhelper (>= 7.0.50~), autotools-dev, pkg-config, intltool,
                libgtkmm-2.4-dev (>=2.12), libxine-dev, libx11-dev,
                libsqlite3-dev, libgconfmm-2.6-dev, libunique-dev,
-               libdbus-glib-1-dev
+               libdbus-glib-1-dev, dh-autoreconf
 Standards-Version: 3.9.1
 Homepage: https://launchpad.net/me-tv
 
diff -urN me-tv-1.3.6/debian/patches/add_po_makefile_in_in.patch me-tv-1.3.7/debian/patches/add_po_makefile_in_in.patch
--- me-tv-1.3.6/debian/patches/add_po_makefile_in_in.patch	1970-01-01 02:00:00.000000000 +0200
+++ me-tv-1.3.7/debian/patches/add_po_makefile_in_in.patch	2012-05-28 09:23:04.000000000 +0300
@@ -0,0 +1,221 @@
+diff -urN me-tv-1.3.7.old/po/Makefile.in.in me-tv-1.3.7/po/Makefile.in.in
+--- me-tv-1.3.7.old/po/Makefile.in.in	1970-01-01 02:00:00.000000000 +0200
++++ me-tv-1.3.7/po/Makefile.in.in	2010-12-16 12:12:21.000000000 +0200
+@@ -0,0 +1,217 @@
++# Makefile for program source directory in GNU NLS utilities package.
++# Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drep...@gnu.ai.mit.edu>
++# Copyright (C) 2004-2008 Rodney Dawes <dobey.p...@gmail.com>
++#
++# This file may be copied and used freely without restrictions.  It may
++# be used in projects which are not available under a GNU Public License,
++# but which still want to provide support for the GNU gettext functionality.
++#
++# - Modified by Owen Taylor <otay...@redhat.com> to use GETTEXT_PACKAGE
++#   instead of PACKAGE and to look for po2tbl in ./ not in intl/
++#
++# - Modified by jacob berkman <ja...@ximian.com> to install
++#   Makefile.in.in and po2tbl.sed.in for use with glib-gettextize
++#
++# - Modified by Rodney Dawes <dobey.p...@gmail.com> for use with intltool
++#
++# We have the following line for use by intltoolize:
++# INTLTOOL_MAKEFILE
++
++GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
++PACKAGE = @PACKAGE@
++VERSION = @VERSION@
++
++SHELL = @SHELL@
++
++srcdir = @srcdir@
++top_srcdir = @top_srcdir@
++top_builddir = @top_builddir@
++VPATH = @srcdir@
++
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++datadir = @datadir@
++datarootdir = @datarootdir@
++libdir = @libdir@
++DATADIRNAME = @DATADIRNAME@
++itlocaledir = $(prefix)/$(DATADIRNAME)/locale
++subdir = po
++install_sh = @install_sh@
++# Automake >= 1.8 provides @mkdir_p@.
++# Until it can be supposed, use the safe fallback:
++mkdir_p = $(install_sh) -d
++
++INSTALL = @INSTALL@
++INSTALL_DATA = @INSTALL_DATA@
++
++GMSGFMT = @GMSGFMT@
++MSGFMT = @MSGFMT@
++XGETTEXT = @XGETTEXT@
++INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
++INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
++MSGMERGE = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist
++GENPOT   = INTLTOOL_EXTRACT=$(INTLTOOL_EXTRACT) srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot
++
++ALL_LINGUAS = @ALL_LINGUAS@
++
++PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi)
++
++USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi)
++
++USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done)
++
++POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done)
++
++DISTFILES = Makefile.in.in POTFILES.in $(POFILES)
++EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS
++
++POTFILES = \
++# This comment gets stripped out
++
++CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done)
++
++.SUFFIXES:
++.SUFFIXES: .po .pox .gmo .mo .msg .cat
++
++.po.pox:
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	$(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox
++
++.po.mo:
++	$(MSGFMT) -o $@ $<
++
++.po.gmo:
++	file=`echo $* | sed 's,.*/,,'`.gmo \
++	  && rm -f $$file && $(GMSGFMT) -o $$file $<
++
++.po.cat:
++	sed -f ../intl/po2msg.sed < $< > $*.msg \
++	  && rm -f $@ && gencat $@ $*.msg
++
++
++all: all-@USE_NLS@
++
++all-yes: $(CATALOGS)
++all-no:
++
++$(GETTEXT_PACKAGE).pot: $(POTFILES)
++	$(GENPOT)
++
++install: install-data
++install-data: install-data-@USE_NLS@
++install-data-no: all
++install-data-yes: all
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \
++	  $(mkdir_p) $$dir; \
++	  if test -r $$lang.gmo; then \
++	    $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \
++	  else \
++	    $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \
++	    echo "installing $(srcdir)/$$lang.gmo as" \
++		 "$$dir/$(GETTEXT_PACKAGE).mo"; \
++	  fi; \
++	  if test -r $$lang.gmo.m; then \
++	    $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \
++	    echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	  else \
++	    if test -r $(srcdir)/$$lang.gmo.m ; then \
++	      $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \
++		$$dir/$(GETTEXT_PACKAGE).mo.m; \
++	      echo "installing $(srcdir)/$$lang.gmo.m as" \
++		   "$$dir/$(GETTEXT_PACKAGE).mo.m"; \
++	    else \
++	      true; \
++	    fi; \
++	  fi; \
++	done
++
++# Empty stubs to satisfy archaic automake needs
++dvi info ctags tags CTAGS TAGS ID:
++
++# Define this as empty until I found a useful application.
++install-exec installcheck:
++
++uninstall:
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \
++	  rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \
++	done
++
++check: all $(GETTEXT_PACKAGE).pot
++	rm -f missing notexist
++	srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m
++	if [ -r missing -o -r notexist ]; then \
++	  exit 1; \
++	fi
++
++mostlyclean:
++	rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp
++	rm -f .intltool-merge-cache
++
++clean: mostlyclean
++
++distclean: clean
++	rm -f Makefile Makefile.in POTFILES stamp-it
++	rm -f *.mo *.msg *.cat *.cat.m *.gmo
++
++maintainer-clean: distclean
++	@echo "This command is intended for maintainers to use;"
++	@echo "it deletes files that may require special tools to rebuild."
++	rm -f Makefile.in.in
++
++distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
++dist distdir: $(DISTFILES)
++	dists="$(DISTFILES)"; \
++	extra_dists="$(EXTRA_DISTFILES)"; \
++	for file in $$extra_dists; do \
++	  test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \
++	done; \
++	for file in $$dists; do \
++	  test -f $$file || file="$(srcdir)/$$file"; \
++	  ln $$file $(distdir) 2> /dev/null \
++	    || cp -p $$file $(distdir); \
++	done
++
++update-po: Makefile
++	$(MAKE) $(GETTEXT_PACKAGE).pot
++	tmpdir=`pwd`; \
++	linguas="$(USE_LINGUAS)"; \
++	for lang in $$linguas; do \
++	  echo "$$lang:"; \
++	  result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \
++	  if $$result; then \
++	    if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
++	      rm -f $$tmpdir/$$lang.new.po; \
++            else \
++	      if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
++	        :; \
++	      else \
++	        echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
++	        rm -f $$tmpdir/$$lang.new.po; \
++	        exit 1; \
++	      fi; \
++	    fi; \
++	  else \
++	    echo "msgmerge for $$lang.gmo failed!"; \
++	    rm -f $$tmpdir/$$lang.new.po; \
++	  fi; \
++	done
++
++Makefile POTFILES: stamp-it
++	@if test ! -f $@; then \
++	  rm -f stamp-it; \
++	  $(MAKE) stamp-it; \
++	fi
++
++stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in
++	cd $(top_builddir) \
++	  && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \
++	       $(SHELL) ./config.status
++
++# Tell versions [3.59,3.63) of GNU make not to export all variables.
++# Otherwise a system limit (for SysV at least) may be exceeded.
++.NOEXPORT:
diff -urN me-tv-1.3.6/debian/patches/series me-tv-1.3.7/debian/patches/series
--- me-tv-1.3.6/debian/patches/series	1970-01-01 02:00:00.000000000 +0200
+++ me-tv-1.3.7/debian/patches/series	2012-05-28 09:23:04.000000000 +0300
@@ -0,0 +1 @@
+add_po_makefile_in_in.patch
diff -urN me-tv-1.3.6/debian/rules me-tv-1.3.7/debian/rules
--- me-tv-1.3.6/debian/rules	2010-07-07 16:28:42.000000000 +0300
+++ me-tv-1.3.7/debian/rules	2012-05-28 09:23:04.000000000 +0300
@@ -3,6 +3,7 @@
 	dh --with xine $@
 
 override_dh_auto_configure:
+	dh_autoreconf
 	dh_auto_configure -- --disable-schemas-install
 
 override_dh_xine:

Reply via email to