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 <[email protected]> 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 <[email protected]>
@@ -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 <[email protected]> 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 <[email protected]>
-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