I am attaching a WIP debdiff for enchant2 as a new source package.

The current gnulib in Debian is too old to build this. the included bootstrap script from enchant pulls gnulib from git which works and builds but not really a suitable solution for packaging.


Either gnulib package needs to be updated or upstream could include a snapshot of gnulib in their tarballs?


diff -Nru enchant-2.1.2/debian/changelog enchant2-2.2.3/debian/changelog
--- enchant-2.1.2/debian/changelog      2017-11-14 04:02:43.000000000 +1100
+++ enchant2-2.2.3/debian/changelog     2018-03-12 13:08:05.000000000 +1100
@@ -1,3 +1,22 @@
+enchant2 (2.2.3-1) UNRELEASED; urgency=medium
+
+  * New upstream release
+  * debian/control: Create a new source package enchant2 and rename packages
+    to be parallel installable. Drop B/R's on enchant1
+  * debian/*{.files, .dirs, .symbols} renamed and updated paths as required
+  * debian/enchant-lsmod.1: Dropped included in current release
+  * debian/enchant.ordering: myspell backend is now called hunspell
+  * debian/libenchant2.lintian-overrides: Dropped, not needed
+  * debian/rules:
+    - update GNULIB_MODULES to what is currently used
+    - Don't install .la file
+    - configure --enable-relocatable for parallel installable build
+    - configure --disable-zemerek option is gone
+    - make: set pkgdatadir to enchant-2
+    - Other changes as required for new source package
+
+ -- Tim Lunn <t...@feathertop.org>  Mon, 12 Mar 2018 13:08:05 +1100
+
 enchant (2.1.2-1~exp1) experimental; urgency=medium
 
   [ Manuel A. Fernandez Montecelo ]
diff -Nru enchant-2.1.2/debian/control enchant2-2.2.3/debian/control
--- enchant-2.1.2/debian/control        2017-11-14 04:02:43.000000000 +1100
+++ enchant2-2.2.3/debian/control       2018-03-12 13:08:05.000000000 +1100
@@ -1,4 +1,4 @@
-Source: enchant
+Source: enchant2
 Section: devel
 Priority: optional
 Maintainer: Prach Pongpanich <pr...@debian.org>
@@ -21,10 +21,10 @@
 Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/enchant.git
 Homepage: http://www.abisource.com/projects/enchant/
 
-Package: libenchant-dev
+Package: libenchant-2-dev
 Section: libdevel
 Architecture: any
-Depends: libenchant2 (= ${binary:Version}), libglib2.0-dev, ${misc:Depends}
+Depends: libenchant-2-2 (= ${binary:Version}), libglib2.0-dev, ${misc:Depends}
 Description: Wrapper library for various spell checker engines (development)
  Enchant is a generic spell checking library which uses existing
  spell checker engines such as ispell, aspell and myspell as its backends.
@@ -35,7 +35,7 @@
  .
  This package contains files needed for development with Enchant.
 
-Package: libenchant2
+Package: libenchant-2-2
 Section: libs
 Architecture: any
 Multi-Arch: same
@@ -43,10 +43,9 @@
          ${misc:Depends},
          ${shlibs:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: ispell (<< 3.3.02), libenchant1, libenchant1c2, libenchant1c2a
+Breaks: ispell (<< 3.3.02)
 Recommends: enchant
-Replaces: libenchant-dev (<< 1.1.1++cvs.2003.11.08), libenchant1, 
libenchant1c2, libenchant1c2a
-Suggests: libenchant-voikko
+Suggests: libenchant-2-voikko
 Description: Wrapper library for various spell checker engines (runtime libs)
  Enchant is a generic spell checking library which uses existing
  spell checker engines such as ispell, aspell and myspell as its backends.
@@ -57,14 +56,12 @@
  .
  This package contains the shared library and non-Voikko enchant plugins.
 
-Package: libenchant-voikko
+Package: libenchant-2-voikko
 Section: libs
 Architecture: any
 Multi-Arch: same
 Depends: ${misc:Depends}, ${shlibs:Depends}
 Pre-Depends: ${misc:Pre-Depends}
-Breaks: libenchant1c2a (= 1.4.2-3)
-Replaces: libenchant1c2a (= 1.4.2-3)
 Description: Voikko spell-checker libenchant plugin
  Voikko is a Finnish spell-checker and hyphenator based on Malaga and
  Suomi-Malaga.
@@ -73,12 +70,10 @@
  any application that uses enchant library for spell-checking, such as
  Abiword.
 
-Package: enchant
+Package: enchant2
 Section: text
 Architecture: any
 Depends: ${misc:Depends}, ${shlibs:Depends}
-Breaks: libenchant1c2a (<< 1.6.0-4)
-Replaces: libenchant1c2a (<< 1.6.0-4)
 Description: Wrapper for various spell checker engines (binary programs)
  Enchant is a generic spell checking library which uses existing
  spell checker engines such as ispell, aspell and myspell as its backends.
@@ -87,4 +82,4 @@
  libraries, and implement certain features that may be lacking in any
  individual provider library.
  .
- This package contains standalone runtime binary programs.
+ This package contains: standalone runtime binary programs.
diff -Nru enchant-2.1.2/debian/enchant2.install 
enchant2-2.2.3/debian/enchant2.install
--- enchant-2.1.2/debian/enchant2.install       1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/enchant2.install      2017-11-14 04:02:43.000000000 
+1100
@@ -0,0 +1 @@
+usr/bin
diff -Nru enchant-2.1.2/debian/enchant.install 
enchant2-2.2.3/debian/enchant.install
--- enchant-2.1.2/debian/enchant.install        2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/enchant.install       1970-01-01 10:00:00.000000000 
+1000
@@ -1 +0,0 @@
-usr/bin
diff -Nru enchant-2.1.2/debian/enchant-lsmod.1 
enchant2-2.2.3/debian/enchant-lsmod.1
--- enchant-2.1.2/debian/enchant-lsmod.1        2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/enchant-lsmod.1       1970-01-01 10:00:00.000000000 
+1000
@@ -1,30 +0,0 @@
-.TH ENCHANT-LSMOD "1" "October 2011" "enchant-lsmod" "User Commands"
-.SH NAME
-enchant-lsmod \-
-Show information about available spell-checking modules and dictionaries.
-.SH SYNOPSIS
-enchant\-lsmod [\-lang [language_tag]] [\-list\-dicts] [\-h] [\-v]
-.SH OPTIONS
-.IP "\fB-lang [language_tag]\fP         " 10.
-Show dictionary to be used for given language_tag.
-If language_tag is not given show default dictionary for current
-language setting.
-.IP "\fB-list-dicts\fP " 10
-List preferred dictionaries for language tags.
-.IP "\fB-h\fP " 10
-Show help info and exit.
-.IP "\fB-v\fP " 10
-Show version and exit.
-.SH AUTHOR
-\fBenchant-lsmod\fP was written by
-Dom Lachowicz <domlachow...@gmail.com> and is distributed under
-the terms of the GNU Lesser General Public License as published
-by the Free Software Foundation; either version 2.1 of the License,
-or (at your option) any later version.
-See http://www.abisource.com/enchant/ for more info.
-.PP
-This manual page was written by Agustin Martin <agmar...@debian.org>
-for the Debian project (but may be used by others).
-It was generated with some help of help2man.
-.SH "SEE ALSO"
-enchant(1)
diff -Nru enchant-2.1.2/debian/enchant.ordering 
enchant2-2.2.3/debian/enchant.ordering
--- enchant-2.1.2/debian/enchant.ordering       2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/enchant.ordering      2018-03-12 13:08:05.000000000 
+1100
@@ -1,8 +1,8 @@
-*:myspell,aspell,ispell
-fi:voikko,ispell,myspell,aspell
-fi_FI:voikko,ispell,myspell,aspell
-he:hspell,myspell
-he_IL:hspell,myspell
+*:hunspell,aspell,ispell
+fi:voikko,ispell,hunspell,aspell
+fi_FI:voikko,ispell,hunspell,aspell
+he:hspell,hunspell
+he_IL:hspell,hunspell
 yi:uspell
 tr:zemberek
 tr_TR:zemberek
diff -Nru enchant-2.1.2/debian/libenchant-2-2.dirs 
enchant2-2.2.3/debian/libenchant-2-2.dirs
--- enchant-2.1.2/debian/libenchant-2-2.dirs    1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-2.dirs   2018-03-12 13:08:05.000000000 
+1100
@@ -0,0 +1,2 @@
+usr/lib
+usr/share/enchant-2
diff -Nru enchant-2.1.2/debian/libenchant-2-2.docs 
enchant2-2.2.3/debian/libenchant-2-2.docs
--- enchant-2.1.2/debian/libenchant-2-2.docs    1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-2.docs   2017-11-14 04:02:43.000000000 
+1100
@@ -0,0 +1,2 @@
+README
+
diff -Nru enchant-2.1.2/debian/libenchant-2-2.files 
enchant2-2.2.3/debian/libenchant-2-2.files
--- enchant-2.1.2/debian/libenchant-2-2.files   1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-2.files  2018-03-12 13:08:05.000000000 
+1100
@@ -0,0 +1,3 @@
+usr/lib/*/lib*.so.*
+usr/lib/*/enchant-2/lib*.so
+usr/lib/*/enchant-2/lib*.so.*
diff -Nru enchant-2.1.2/debian/libenchant-2-2.symbols 
enchant2-2.2.3/debian/libenchant-2-2.symbols
--- enchant-2.1.2/debian/libenchant-2-2.symbols 1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-2.symbols        2018-03-12 
13:08:05.000000000 +1100
@@ -0,0 +1,40 @@
+libenchant-2.so.2 libenchant-2 #MINVER#
+ enchant_broker_describe@Base 2.1.2
+ enchant_broker_dict_exists@Base 2.1.2
+ enchant_broker_free@Base 2.1.2
+ enchant_broker_free_dict@Base 2.1.2
+ enchant_broker_get_error@Base 2.1.2
+ enchant_broker_init@Base 2.1.2
+ enchant_broker_list_dicts@Base 2.1.2
+ enchant_broker_request_dict@Base 2.1.2
+ enchant_broker_request_pwl_dict@Base 2.1.2
+ enchant_broker_set_ordering@Base 2.1.2
+ enchant_dict_add@Base 2.1.2
+ enchant_dict_add_to_session@Base 2.1.2
+ enchant_dict_check@Base 2.1.2
+ enchant_dict_describe@Base 2.1.2
+ enchant_dict_free_string_list@Base 2.1.2
+ enchant_dict_get_error@Base 2.1.2
+ enchant_dict_get_extra_word_characters@Base 2.1.2
+ enchant_dict_is_added@Base 2.1.2
+ enchant_dict_is_removed@Base 2.1.2
+ enchant_dict_is_word_character@Base 2.1.2
+ enchant_dict_remove@Base 2.1.2
+ enchant_dict_remove_from_session@Base 2.1.2
+ enchant_dict_set_error@Base 2.1.2
+ enchant_dict_store_replacement@Base 2.1.2
+ enchant_dict_suggest@Base 2.1.2
+ enchant_get_conf_dirs@Base 2.1.2
+ enchant_get_prefix_dir@Base 2.1.2
+ enchant_get_user_config_dir@Base 2.1.2
+ enchant_get_user_language@Base 2.1.2
+ enchant_get_version@Base 2.1.2
+ enchant_provider_set_error@Base 2.1.2
+ enchant_pwl_add@Base 2.1.2
+ enchant_pwl_check@Base 2.1.2
+ enchant_pwl_free@Base 2.1.2
+ enchant_pwl_init@Base 2.1.2
+ enchant_pwl_init_with_file@Base 2.1.2
+ enchant_pwl_remove@Base 2.1.2
+ enchant_pwl_suggest@Base 2.1.2
+ enchant_set_prefix_dir@Base 2.1.2
diff -Nru enchant-2.1.2/debian/libenchant-2-dev.dirs 
enchant2-2.2.3/debian/libenchant-2-dev.dirs
--- enchant-2.1.2/debian/libenchant-2-dev.dirs  1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-dev.dirs 2017-11-14 04:02:43.000000000 
+1100
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff -Nru enchant-2.1.2/debian/libenchant-2-dev.files 
enchant2-2.2.3/debian/libenchant-2-dev.files
--- enchant-2.1.2/debian/libenchant-2-dev.files 1970-01-01 10:00:00.000000000 
+1000
+++ enchant2-2.2.3/debian/libenchant-2-dev.files        2018-03-12 
13:08:05.000000000 +1100
@@ -0,0 +1,5 @@
+usr/include/*
+usr/lib/*/lib*.a
+usr/lib/*/lib*.so
+usr/lib/*/enchant-2/lib*.a
+usr/lib/*/pkgconfig/*
diff -Nru enchant-2.1.2/debian/libenchant2.dirs 
enchant2-2.2.3/debian/libenchant2.dirs
--- enchant-2.1.2/debian/libenchant2.dirs       2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant2.dirs      1970-01-01 10:00:00.000000000 
+1000
@@ -1,5 +0,0 @@
-usr/lib
-usr/share/doc/libenchant1c2a/aspell
-usr/share/doc/libenchant1c2a/ispell
-usr/share/doc/libenchant1c2a/uspell
-usr/share/enchant
diff -Nru enchant-2.1.2/debian/libenchant2.docs 
enchant2-2.2.3/debian/libenchant2.docs
--- enchant-2.1.2/debian/libenchant2.docs       2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant2.docs      1970-01-01 10:00:00.000000000 
+1000
@@ -1,2 +0,0 @@
-README
-
diff -Nru enchant-2.1.2/debian/libenchant2.files 
enchant2-2.2.3/debian/libenchant2.files
--- enchant-2.1.2/debian/libenchant2.files      2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant2.files     1970-01-01 10:00:00.000000000 
+1000
@@ -1,3 +0,0 @@
-usr/lib/*/lib*.so.*
-usr/lib/*/enchant/lib*.so
-usr/lib/*/enchant/lib*.so.*
diff -Nru enchant-2.1.2/debian/libenchant2.lintian-overrides 
enchant2-2.2.3/debian/libenchant2.lintian-overrides
--- enchant-2.1.2/debian/libenchant2.lintian-overrides  2017-11-14 
04:02:43.000000000 +1100
+++ enchant2-2.2.3/debian/libenchant2.lintian-overrides 1970-01-01 
10:00:00.000000000 +1000
@@ -1,2 +0,0 @@
-# Hardening compiler flags are correctly passed (bug #695319,#685299)
-libenchant2: hardening-no-fortify-functions usr/lib/*/libenchant.so.2.1.2
diff -Nru enchant-2.1.2/debian/libenchant2.symbols 
enchant2-2.2.3/debian/libenchant2.symbols
--- enchant-2.1.2/debian/libenchant2.symbols    2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant2.symbols   1970-01-01 10:00:00.000000000 
+1000
@@ -1,40 +0,0 @@
-libenchant.so.2 libenchant2 #MINVER#
- enchant_broker_describe@Base 2.1.2
- enchant_broker_dict_exists@Base 2.1.2
- enchant_broker_free@Base 2.1.2
- enchant_broker_free_dict@Base 2.1.2
- enchant_broker_get_error@Base 2.1.2
- enchant_broker_init@Base 2.1.2
- enchant_broker_list_dicts@Base 2.1.2
- enchant_broker_request_dict@Base 2.1.2
- enchant_broker_request_pwl_dict@Base 2.1.2
- enchant_broker_set_ordering@Base 2.1.2
- enchant_dict_add@Base 2.1.2
- enchant_dict_add_to_session@Base 2.1.2
- enchant_dict_check@Base 2.1.2
- enchant_dict_describe@Base 2.1.2
- enchant_dict_free_string_list@Base 2.1.2
- enchant_dict_get_error@Base 2.1.2
- enchant_dict_get_extra_word_characters@Base 2.1.2
- enchant_dict_is_added@Base 2.1.2
- enchant_dict_is_removed@Base 2.1.2
- enchant_dict_is_word_character@Base 2.1.2
- enchant_dict_remove@Base 2.1.2
- enchant_dict_remove_from_session@Base 2.1.2
- enchant_dict_set_error@Base 2.1.2
- enchant_dict_store_replacement@Base 2.1.2
- enchant_dict_suggest@Base 2.1.2
- enchant_get_conf_dirs@Base 2.1.2
- enchant_get_prefix_dir@Base 2.1.2
- enchant_get_user_config_dir@Base 2.1.2
- enchant_get_user_language@Base 2.1.2
- enchant_get_version@Base 2.1.2
- enchant_provider_set_error@Base 2.1.2
- enchant_pwl_add@Base 2.1.2
- enchant_pwl_check@Base 2.1.2
- enchant_pwl_free@Base 2.1.2
- enchant_pwl_init@Base 2.1.2
- enchant_pwl_init_with_file@Base 2.1.2
- enchant_pwl_remove@Base 2.1.2
- enchant_pwl_suggest@Base 2.1.2
- enchant_set_prefix_dir@Base 2.1.2
diff -Nru enchant-2.1.2/debian/libenchant-2-voikko.files 
enchant2-2.2.3/debian/libenchant-2-voikko.files
--- enchant-2.1.2/debian/libenchant-2-voikko.files      1970-01-01 
10:00:00.000000000 +1000
+++ enchant2-2.2.3/debian/libenchant-2-voikko.files     2018-03-12 
13:08:05.000000000 +1100
@@ -0,0 +1 @@
+usr/lib/*/enchant-2/enchant_voikko.so
diff -Nru enchant-2.1.2/debian/libenchant-dev.dirs 
enchant2-2.2.3/debian/libenchant-dev.dirs
--- enchant-2.1.2/debian/libenchant-dev.dirs    2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant-dev.dirs   1970-01-01 10:00:00.000000000 
+1000
@@ -1,2 +0,0 @@
-usr/lib
-usr/include
diff -Nru enchant-2.1.2/debian/libenchant-dev.files 
enchant2-2.2.3/debian/libenchant-dev.files
--- enchant-2.1.2/debian/libenchant-dev.files   2017-11-14 04:02:43.000000000 
+1100
+++ enchant2-2.2.3/debian/libenchant-dev.files  1970-01-01 10:00:00.000000000 
+1000
@@ -1,7 +0,0 @@
-usr/include/*
-usr/lib/*/lib*.a
-usr/lib/*/lib*.so
-usr/lib/*/enchant/lib*.a
-usr/lib/*/pkgconfig/*
-/usr/lib/*/*.la
-/usr/lib/*/enchant/*.la
diff -Nru enchant-2.1.2/debian/libenchant-voikko.files 
enchant2-2.2.3/debian/libenchant-voikko.files
--- enchant-2.1.2/debian/libenchant-voikko.files        2017-11-14 
04:02:43.000000000 +1100
+++ enchant2-2.2.3/debian/libenchant-voikko.files       1970-01-01 
10:00:00.000000000 +1000
@@ -1 +0,0 @@
-usr/lib/*/enchant/enchant_voikko.so
diff -Nru enchant-2.1.2/debian/rules enchant2-2.2.3/debian/rules
--- enchant-2.1.2/debian/rules  2017-11-14 04:02:43.000000000 +1100
+++ enchant2-2.2.3/debian/rules 2018-03-12 13:08:05.000000000 +1100
@@ -11,8 +11,9 @@
 # from having to guess our platform (since we know it already)
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+DEB_DH_INSTALL_ARGS = --fail-missing -X.la
 
-GNULIB_MODULES := "alloca bootstrap c99 configmake flock manywarnings 
relocatable-lib-lgpl snippet/unused-parameter strchrnul strdup-posix ssize_t 
valgrind-tests"
+GNULIB_MODULES := "bootstrap c99 configmake flock gnu-make manywarnings 
relocatable-lib-lgpl snippet/unused-parameter strchrnul strdup-posix ssize_t 
valgrind-tests"
 
 ifeq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
     build_flags = --build=$(DEB_BUILD_GNU_TYPE)
@@ -40,7 +41,7 @@
 
 configure:
        dh_testdir
-       gnulib-tool --libtool --no-vc-files --import "$(GNULIB_MODULES)"
+       gnulib/gnulib-tool --libtool --makefile-name=Makefile.gnulib 
--no-vc-files --import "$(GNULIB_MODULES)"
        dh_autoreconf
 
 config.status: configure
@@ -49,12 +50,13 @@
        # Add here commands to configure the package.
        ./configure --host=$(DEB_HOST_GNU_TYPE) \
                --build=$(DEB_BUILD_GNU_TYPE) \
+               --enable-relocatable \
                --prefix=/usr \
                --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
                --mandir=\$${prefix}/share/man \
                --infodir=\$${prefix}/share/info \
                --with-hunspell-dir=/usr/share/hunspell \
-               --disable-zemberek $(build_flags)
+               $(build_flags)
 
 
 build: build-arch build-indep
@@ -64,7 +66,7 @@
        dh_testdir
 
        # Add here commands to compile the package.
-       $(MAKE)
+       $(MAKE) pkgdatadir=\$${prefix}/share/enchant-2 
 
        touch build-stamp
 
@@ -94,13 +96,7 @@
        # remove bogus RPATHs on /usr/lib
        chrpath -d debian/tmp/usr/bin/*
        chrpath -d debian/tmp/usr/lib/*/*.so*
-       chrpath -d debian/tmp/usr/lib/*/enchant/*.so
-       # clean .la references out of dependency_libs, so libtool doesn't
-       # go walking the filesystem for irrelevant information on every
-       # build
-       for file in debian/tmp/usr/lib/*/*.la 
debian/tmp/usr/lib/*/enchant/*.la; do \
-               sed -i "/dependency_libs/ s/'.*'/''/" $$file ; \
-       done
+       chrpath -d debian/tmp/usr/lib/*/enchant-2/*.so
 
 # Build architecture-independent files here.
 binary-indep: build install
@@ -110,14 +106,14 @@
 binary-arch: build install
        dh_testdir
        dh_testroot
-       dh_movefiles -plibenchant-voikko
-       dh_movefiles -Nlibenchant-voikko
+       dh_movefiles -plibenchant-2-voikko
+       dh_movefiles -Nlibenchant-2-voikko
        dh_installchangelogs ChangeLog
        dh_installdocs
-       install -m 644 $(CURDIR)/debian/enchant.ordering 
$(CURDIR)/debian/libenchant2/usr/share/enchant/enchant.ordering
+       install -m 644 $(CURDIR)/debian/enchant.ordering 
$(CURDIR)/debian/libenchant-2-2/usr/share/enchant-2/enchant.ordering
        dh_installexamples
        dh_install
-       dh_installman -penchant src/enchant.1 src/enchant-lsmod.1
+       dh_installman -penchant2 src/enchant-2.1 src/enchant-lsmod-2.1
        dh_link
        dh_strip
        dh_lintian

Reply via email to