Hi,
I think the solution is pretty simple, same as for libgmp, which ships without documentation. The patch removes the documentation, adds a note similar to the libgmp note, fixes a couple of warnings. For ease of maintenance it also removes the C++ symbol list. libmpdec++ is mostly a header library, so users will not have any heightened symbol stability expectations. The next mpdecimal release will have separate HTML documentation and include small man pages that point to the documentation. mpdecimal does not include the rst sources because new issues arise with new Sphinx releases, which would then again not pass dh_sphinxdoc. I might switch to man pages entirely in the future. Stefan Krah ================================================================================ diff -Naur a/debian/README.Debian b/debian/README.Debian --- a/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ b/debian/README.Debian 2023-11-06 16:50:21.472367979 +0100 @@ -0,0 +1,4 @@ +Due to the Debian policy for prebuilt HTML documentation the mpdecimal +documentation is no longer shipped in Debian. + +Please see https://www.bytereef.org/mpdecimal/ for the documentation. diff -Naur a/debian/control b/debian/control --- a/debian/control 2021-03-25 11:54:28.000000000 +0100 +++ b/debian/control 2023-11-06 16:50:21.472367979 +0100 @@ -2,7 +2,6 @@ Priority: optional Maintainer: Matthias Klose <d...@debian.org> Build-Depends: debhelper (>= 12), -Build-Depends-Indep: python3-sphinx Standards-Version: 4.5.1 Section: libs Homepage: https://www.bytereef.org/mpdecimal/index.html @@ -11,7 +10,7 @@ Section: libdevel Architecture: any Multi-Arch: same -Depends: libmpdec3 (= ${binary:Version}), ${sphinxdoc:Depends}, ${misc:Depends} +Depends: libmpdec3 (= ${binary:Version}), ${misc:Depends} Suggests: libmpdec-doc Description: library for decimal floating point arithmetic (development files) mpdecimal is a package for correctly-rounded arbitrary precision decimal @@ -27,12 +26,3 @@ Description: library for decimal floating point arithmetic (runtime library) mpdecimal is a package for correctly-rounded arbitrary precision decimal floating point arithmetic. - -Package: libmpdec-doc -Section: doc -Architecture: all -Multi-Arch: foreign -Depends: ${misc:Depends} -Description: library for decimal floating point arithmetic (documentation) - mpdecimal is a package for correctly-rounded arbitrary precision decimal - floating point arithmetic. diff -Naur a/debian/copyright b/debian/copyright --- a/debian/copyright 2021-01-10 18:00:58.000000000 +0100 +++ b/debian/copyright 2023-11-06 16:50:21.472367979 +0100 @@ -4,7 +4,7 @@ Files: * Copyright: Copyright (c) 2008-2020 Stefan Krah. All rights reserved. -License: BSD +License: BSD-2-clause Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff -Naur a/debian/libmpdec-dev.docs b/debian/libmpdec-dev.docs --- a/debian/libmpdec-dev.docs 2018-04-23 09:57:17.000000000 +0200 +++ b/debian/libmpdec-dev.docs 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -README.txt diff -Naur a/debian/libmpdec3.symbols b/debian/libmpdec3.symbols --- a/debian/libmpdec3.symbols 2021-03-25 11:54:10.000000000 +0100 +++ b/debian/libmpdec3.symbols 2023-11-06 16:50:21.472367979 +0100 @@ -346,146 +346,4 @@ mpd_xor@Base 2.3 mpd_zerocoeff@Base 2.3 libmpdec++.so.3 libmpdec3 #MINVER# - _ZN7decimal10MaxContextEv@Base 2.5 - (optional=lto)_ZN7decimal10ValueErrorD0Ev@Base 2.5 - (optional=lto)_ZN7decimal10ValueErrorD1Ev@Base 2.5 - (optional=lto)_ZN7decimal10ValueErrorD2Ev@Base 2.5 - _ZN7decimal11IEEEContextEi@Base 2.5 - (optional=lto)_ZN7decimal11MallocErrorD0Ev@Base 2.5 - (optional=lto)_ZN7decimal11MallocErrorD1Ev@Base 2.5 - (optional=lto)_ZN7decimal11MallocErrorD2Ev@Base 2.5 - (optional=lto)_ZN7decimal12RuntimeErrorD0Ev@Base 2.5 - (optional=lto)_ZN7decimal12RuntimeErrorD1Ev@Base 2.5 - (optional=lto)_ZN7decimal12RuntimeErrorD2Ev@Base 2.5 - (optional=lto)_ZN7decimal14DivisionByZeroD0Ev@Base 2.5 - (optional=lto)_ZN7decimal14DivisionByZeroD1Ev@Base 2.5 - (optional=lto)_ZN7decimal14DivisionByZeroD2Ev@Base 2.5 - (optional=lto)_ZN7decimal16ConversionSyntaxD0Ev@Base 2.5 - (optional=lto)_ZN7decimal16ConversionSyntaxD1Ev@Base 2.5 - (optional=lto)_ZN7decimal16ConversionSyntaxD2Ev@Base 2.5 - (optional=lto)_ZN7decimal16DecimalExceptionD0Ev@Base 2.5 - (optional=lto)_ZN7decimal16DecimalExceptionD1Ev@Base 2.5 - (optional=lto)_ZN7decimal16DecimalExceptionD2Ev@Base 2.5 - (optional=lto)_ZN7decimal16InvalidOperationD0Ev@Base 2.5 - (optional=lto)_ZN7decimal16InvalidOperationD1Ev@Base 2.5 - (optional=lto)_ZN7decimal16InvalidOperationD2Ev@Base 2.5 - _ZN7decimal16context_templateE@Base 2.5 - (optional=lto)_ZN7decimal17DivisionUndefinedD0Ev@Base 2.5 - (optional=lto)_ZN7decimal17DivisionUndefinedD1Ev@Base 2.5 - (optional=lto)_ZN7decimal17DivisionUndefinedD2Ev@Base 2.5 - (optional=lto)_ZN7decimal18DivisionImpossibleD0Ev@Base 2.5 - (optional=lto)_ZN7decimal18DivisionImpossibleD1Ev@Base 2.5 - (optional=lto)_ZN7decimal18DivisionImpossibleD2Ev@Base 2.5 - (optional=lto)_ZN7decimal20IEEEInvalidOperationD0Ev@Base 2.5 - (optional=lto)_ZN7decimal20IEEEInvalidOperationD1Ev@Base 2.5 - (optional=lto)_ZN7decimal20IEEEInvalidOperationD2Ev@Base 2.5 - (optional=lto)_ZN7decimal7ClampedD0Ev@Base 2.5 - (optional=lto)_ZN7decimal7ClampedD1Ev@Base 2.5 - (optional=lto)_ZN7decimal7ClampedD2Ev@Base 2.5 - _ZN7decimal7Context7raiseitEj@Base 2.5 - (arch=any-i386 armel armhf hppa m68k mips mipsel powerpc powerpcspe s390 sh4 sparc x32)_ZN7decimal7ContextC1Eiiiijii@Base 2.5 - (arch=any-i386 armel armhf hppa m68k mips mipsel powerpc powerpcspe s390 sh4 sparc x32)_ZN7decimal7ContextC2Eiiiijii@Base 2.5 - (arch=any-i386 armel armhf hppa m68k mips mipsel powerpc powerpcspe s390 sh4 sparc x32)_ZN7decimal7Decimal4ln10ExRNS_7ContextE@Base 2.5 - (optional=lto)_ZN7decimal7ContextC1Elllijii@Base 2.5 - (optional=lto)_ZN7decimal7ContextC2Elllijii@Base 2.5 - (arch=amd64 arm64 ia64 mips64el ppc64 ppc64el riscv64 s390x sparc64 kfreebsd-amd64)_ZN7decimal7Decimal4ln10ElRNS_7ContextE@Base 2.5 - _ZN7decimal7Decimal5exactEPKcRNS_7ContextE@Base 2.5 - _ZN7decimal7Decimal5exactERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERNS_7ContextE@Base 2.5 - _ZN7decimal7Decimal5radixEv@Base 2.5 - (optional=lto)_ZN7decimal7InexactD0Ev@Base 2.5 - (optional=lto)_ZN7decimal7InexactD1Ev@Base 2.5 - (optional=lto)_ZN7decimal7InexactD2Ev@Base 2.5 - (optional=lto)_ZN7decimal7RoundedD0Ev@Base 2.5 - (optional=lto)_ZN7decimal7RoundedD1Ev@Base 2.5 - (optional=lto)_ZN7decimal7RoundedD2Ev@Base 2.5 - _ZN7decimal7contextE@Base 2.5 - (optional=lto)_ZN7decimal8OverflowD0Ev@Base 2.5 - (optional=lto)_ZN7decimal8OverflowD1Ev@Base 2.5 - (optional=lto)_ZN7decimal8OverflowD2Ev@Base 2.5 - (optional=lto)_ZN7decimal9SubnormalD0Ev@Base 2.5 - (optional=lto)_ZN7decimal9SubnormalD1Ev@Base 2.5 - (optional=lto)_ZN7decimal9SubnormalD2Ev@Base 2.5 - (optional=lto)_ZN7decimal9UnderflowD0Ev@Base 2.5 - (optional=lto)_ZN7decimal9UnderflowD1Ev@Base 2.5 - (optional=lto)_ZN7decimal9UnderflowD2Ev@Base 2.5 - _ZN7decimallsERSoRKNS_7ContextE@Base 2.5 - _ZN7decimallsERSoRKNS_7DecimalE@Base 2.5 - (optional=templinst)_ZN9__gnu_cxx12__to_xstringINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEcEET_PFiPT0_mPKS8_PvEmSB_z@Base 2.5 - _ZNK7decimal7Context4reprB5cxx11Ev@Base 2.5 - _ZNK7decimal7Decimal4reprB5cxx11Eb@Base 2.5 - (optional=inline)_ZNK7decimal7Decimal6to_sciB5cxx11Eb@Base 2.5 - (optional=templinst)_ZNSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE10_M_releaseEv@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_destroyEv@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE10_M_disposeEv@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE14_M_get_deleterERKSt9type_info@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED0Ev@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED1Ev@Base 2.5 - (optional=templinst)_ZNSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EED2Ev@Base 2.5 - (optional=templinst)_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE12_M_constructIPcEEvT_S7_St20forward_iterator_tag@Base 2.5 - _ZTHN7decimal7contextE@Base 2.5 - _ZTHN7decimal7contextE@Base 2.5 - _ZTIN7decimal10ValueErrorE@Base 2.5 - _ZTIN7decimal11MallocErrorE@Base 2.5 - _ZTIN7decimal12RuntimeErrorE@Base 2.5 - _ZTIN7decimal14DivisionByZeroE@Base 2.5 - _ZTIN7decimal16ConversionSyntaxE@Base 2.5 - _ZTIN7decimal16DecimalExceptionE@Base 2.5 - _ZTIN7decimal16InvalidOperationE@Base 2.5 - _ZTIN7decimal17DivisionUndefinedE@Base 2.5 - _ZTIN7decimal18DivisionImpossibleE@Base 2.5 - _ZTIN7decimal20IEEEInvalidOperationE@Base 2.5 - _ZTIN7decimal7ClampedE@Base 2.5 - _ZTIN7decimal7InexactE@Base 2.5 - _ZTIN7decimal7RoundedE@Base 2.5 - _ZTIN7decimal8OverflowE@Base 2.5 - _ZTIN7decimal9SubnormalE@Base 2.5 - _ZTIN7decimal9UnderflowE@Base 2.5 - (optional=templinst)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTIN9__gnu_cxx7__mutexE@Base 2.5 - (optional=templinst)_ZTISt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (optional=templinst)_ZTISt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (optional=templinst)_ZTISt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (arch=armhf)_ZTIZN7decimal4util9shared_cpEPKcEUlS2_E_@Base 2.5 - _ZTSN7decimal10ValueErrorE@Base 2.5 - _ZTSN7decimal11MallocErrorE@Base 2.5 - _ZTSN7decimal12RuntimeErrorE@Base 2.5 - _ZTSN7decimal14DivisionByZeroE@Base 2.5 - _ZTSN7decimal16ConversionSyntaxE@Base 2.5 - _ZTSN7decimal16DecimalExceptionE@Base 2.5 - _ZTSN7decimal16InvalidOperationE@Base 2.5 - _ZTSN7decimal17DivisionUndefinedE@Base 2.5 - _ZTSN7decimal18DivisionImpossibleE@Base 2.5 - _ZTSN7decimal20IEEEInvalidOperationE@Base 2.5 - _ZTSN7decimal7ClampedE@Base 2.5 - _ZTSN7decimal7InexactE@Base 2.5 - _ZTSN7decimal7RoundedE@Base 2.5 - _ZTSN7decimal8OverflowE@Base 2.5 - _ZTSN7decimal9SubnormalE@Base 2.5 - _ZTSN7decimal9UnderflowE@Base 2.5 - (optional=templinst)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 - (optional=templinst)_ZTSN9__gnu_cxx7__mutexE@Base 2.5 - (optional=templinst)_ZTSSt11_Mutex_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (optional=templinst)_ZTSSt16_Sp_counted_baseILN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - (optional=templinst)_ZTSSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE1EE@Base 2.5 - _ZTSZN7decimal4util9shared_cpEPKcEUlS2_E_@Base 2.5 - (optional=lto)_ZTVN7decimal10ValueErrorE@Base 2.5 - (optional=lto)_ZTVN7decimal11MallocErrorE@Base 2.5 - (optional=lto)_ZTVN7decimal12RuntimeErrorE@Base 2.5 - (optional=lto)_ZTVN7decimal14DivisionByZeroE@Base 2.5 - (optional=lto)_ZTVN7decimal16ConversionSyntaxE@Base 2.5 - (optional=lto)_ZTVN7decimal16DecimalExceptionE@Base 2.5 - (optional=lto)_ZTVN7decimal16InvalidOperationE@Base 2.5 - (optional=lto)_ZTVN7decimal17DivisionUndefinedE@Base 2.5 - (optional=lto)_ZTVN7decimal18DivisionImpossibleE@Base 2.5 - (optional=lto)_ZTVN7decimal20IEEEInvalidOperationE@Base 2.5 - (optional=lto)_ZTVN7decimal7ClampedE@Base 2.5 - (optional=lto)_ZTVN7decimal7InexactE@Base 2.5 - (optional=lto)_ZTVN7decimal7RoundedE@Base 2.5 - (optional=lto)_ZTVN7decimal8OverflowE@Base 2.5 - (optional=lto)_ZTVN7decimal9SubnormalE@Base 2.5 - (optional=lto)_ZTVN7decimal9UnderflowE@Base 2.5 - (optional=templinst)_ZTVSt19_Sp_counted_deleterIPKcZN7decimal4util9shared_cpES1_EUlS1_E_SaIvELN9__gnu_cxx12_Lock_policyE2EE@Base 2.5 + (regex)"_Z*" 2.5.1 diff -Naur a/debian/not-installed b/debian/not-installed --- a/debian/not-installed 1970-01-01 01:00:00.000000000 +0100 +++ b/debian/not-installed 2023-11-06 16:50:21.472367979 +0100 @@ -0,0 +1 @@ +usr/share/doc/mpdecimal/* diff -Naur a/debian/rules b/debian/rules --- a/debian/rules 2021-01-10 18:06:51.000000000 +0100 +++ b/debian/rules 2023-11-06 16:50:21.472367979 +0100 @@ -20,7 +20,7 @@ dh $@ --buildsystem=autoconf binary binary-indep build build-indep: - dh $@ --buildsystem=autoconf --with sphinxdoc + dh $@ --buildsystem=autoconf # work around debhelper, v9 overwrites CFLAGS in the build :-/ @@ -48,15 +48,3 @@ override_dh_auto_install: dh_auto_install ln -sf libmpdec.so.3 debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libmpdec.so - -override_dh_sphinxdoc: - rm -rf debian/tmp/usr/share/doc/mpdecimal/libmpdec++/_static - ln -sf ../libmpdec/_static debian/tmp/usr/share/doc/mpdecimal/libmpdec++/_static - rm -f debian/tmp/usr/share/doc/mpdecimal/libmpdec/_static/{doctools,jquery,searchtools,sidebar,underscore}.js - cp -p /usr/share/javascript/sphinxdoc/1.0/{doctools,jquery,searchtools,sidebar,underscore}.js \ - debian/tmp/usr/share/doc/mpdecimal/libmpdec/_static/. - cp -a debian/tmp/usr/share/doc/mpdecimal/* \ - debian/libmpdec-doc/usr/share/doc/libmpdec-doc - rm -f debian/libmpdec-doc/usr/share/doc/libmpdec-doc/LICENSE* - rm -f debian/libmpdec-doc/usr/share/doc/libmpdec-doc/INSTALL* - dh_sphinxdoc ================================================================================