diff -Nru lintian-2.111.0ubuntu2/bin/lintian lintian-2.114.0ubuntu1/bin/lintian --- lintian-2.111.0ubuntu2/bin/lintian 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/bin/lintian 2022-01-11 17:11:33.000000000 +0100 @@ -50,6 +50,7 @@ use List::SomeUtils qw(any none first_value); use Path::Tiny; use POSIX qw(:sys_wait_h); +use Syntax::Keyword::Try; use Term::ReadKey; use Unicode::UTF8 qw(encode_utf8 decode_utf8); @@ -532,7 +533,7 @@ if $selected{color} eq 'never'; # change to 'on' after gcc's terminal blacklist was implemented here -$selected{hyperlinks} //= 'off'; +$selected{hyperlinks} //= 'on'; die encode_utf8("The hyperlink value must be on or off\n") unless any { $selected{hyperlinks} eq $_ } qw(on off); @@ -676,7 +677,7 @@ "bad package file name $subject (neither .deb, .udeb, .ddeb, .changes, .dsc or .buildinfo file)\n" ) unless $subject =~ /\.(?:[u|d]?deb|dsc|changes|buildinfo)$/; - eval { + try { # create a new group my $group = Lintian::Group->new; $group->pooldir($pool->basedir); @@ -713,8 +714,8 @@ } $pool->add_group($group); - }; - if ($@) { + + } catch { warn encode_utf8("Skipping $subject: $@\n"); $exit_code = 1; } diff -Nru lintian-2.111.0ubuntu2/data/architectures/host.json lintian-2.114.0ubuntu1/data/architectures/host.json --- lintian-2.111.0ubuntu2/data/architectures/host.json 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/architectures/host.json 2022-01-11 17:11:33.000000000 +0100 @@ -1,8 +1,8 @@ { "preamble" : { - "dpkg-version" : "1.20.7.1", - "last-update" : "2021-03-18T21:07:25Z", - "title" : "DEB_HOST_* Variables From Dpkg" + "dpkg-version" : "1.20.9", + "last-update" : "2021-11-24T14:12:56Z", + "title" : "DEB_HOST_* Variables from Dpkg" }, "variables" : { "aix-alpha" : { diff -Nru lintian-2.111.0ubuntu2/data/buildflags/hardening.json lintian-2.114.0ubuntu1/data/buildflags/hardening.json --- lintian-2.111.0ubuntu2/data/buildflags/hardening.json 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/buildflags/hardening.json 2022-01-11 17:11:33.000000000 +0100 @@ -1,8 +1,8 @@ { "preamble" : { - "dpkg-version" : "1.20.7.1", - "last-update" : "2021-03-18T21:07:45Z", - "title" : "Hardening Flags From Dpkg" + "dpkg-version" : "1.20.9", + "last-update" : "2021-11-24T14:14:35Z", + "title" : "Hardening Flags from Dpkg" }, "recommended-features" : { "aix-alpha" : [ diff -Nru lintian-2.111.0ubuntu2/data/changelog-file/bugs-number lintian-2.114.0ubuntu1/data/changelog-file/bugs-number --- lintian-2.111.0ubuntu2/data/changelog-file/bugs-number 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/changelog-file/bugs-number 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -# before 50004 bugs were removed not archived -min-bug = 50004 -# a bug number likely for in future -max-bug = 1000000 \ No newline at end of file diff -Nru lintian-2.111.0ubuntu2/data/common/dh_addons lintian-2.114.0ubuntu1/data/common/dh_addons --- lintian-2.111.0ubuntu2/data/common/dh_addons 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/common/dh_addons 1970-01-01 01:00:00.000000000 +0100 @@ -1,89 +0,0 @@ -# This file is generated from private/refresh-debhelper-data. -# It was generated on 2020-11-01 03:16 - -acc=dh-acc -ada_library=dh-ada-library -apache2=apache2-dev -aspell_simple=dictionaries-common-dev -autoreconf=dh-autoreconf -autotools_dev=autotools-dev -bash_completion=bash-completion -build_stamp=libdebhelper-perl -buildinfo=dh-buildinfo -cli=cli-common-dev -cli_nant=cli-common-dev -cmake=dh-cmake -cme_upgrade=cme -config_package=config-package-dev -cpack=dh-cmake -ctest=dh-cmake -d_i=dh-di -dist_zilla=dh-dist-zilla -dkms=dkms -dpatch=dpatch -dwz=libdebhelper-perl -eclipse_helper=javahelper -elf_tools=libdebhelper-perl -elpa=dh-elpa -fortran_mod=dh-fortran-mod -germinate=germinate -gir=gobject-introspection -gnome=gnome-pkg-tools -golang=dh-golang -installinitramfs=libdebhelper-perl -javahelper=javahelper -jh_maven_repo_helper=maven-repo-helper -kde=pkg-kde-tools -kf5=pkg-kde-tools -kodiaddon=kodi-addons-dev -libva=libva-dev -linktree=dh-linktree -lisp=dh-lisp -lua=dh-lua -maven_repo_helper=maven-repo-helper -mkdocs=mkdocs -nodejs=pkg-js-tools -numpy3=python3-numpy -ocaml=dh-ocaml -octave=dh-octave -perl6=dh-perl6 -perl_dbi=libdbi-perl -perl_imager=libimager-perl -perl_openssl=perl-openssl-defaults -pgxs=postgresql-server-dev-all -pgxs_loop=postgresql-server-dev-all -php=dh-php -phpcomposer=pkg-php-tools -phppear=pkg-php-tools -pkgkde_symbolshelper=pkg-kde-tools -ppp=ppp-dev -pyppd=pyppd -pypy=dh-python -python2=dh-python -python3=dh-python -python_support=libdebhelper-perl -python_virtualenv=dh-virtualenv -qmlcdeps=pkg-kde-tools -quilt=quilt -rebar=dh-rebar -root_sequence=libdebhelper-perl -ruby=gem2deb -runit=dh-runit -scour=scour -sip3=python3-sip-dev -sodeps=pkg-kde-tools -sphinxdoc=sphinx-common -systemd=libdebhelper-perl -sysuser=dh-sysuser -tex=tex-common -uwsgi=uwsgi-dev -vdrplugin=vdr-dev -vignette=dh-r -vim_addon=dh-vim-addon -webext=mozilla-devscripts -xine=libxine2-dev -xml_core=xml-core -xsf=xserver-xorg-dev -xsp=dh-xsp -xul_ext=mozilla-devscripts -zathura=zathura-dev diff -Nru lintian-2.111.0ubuntu2/data/common/source-fields lintian-2.114.0ubuntu1/data/common/source-fields --- lintian-2.111.0ubuntu2/data/common/source-fields 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/common/source-fields 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,9 @@ @if-vendor-is-not debian Debian-Vcs-Mtn @if-vendor-is-not debian Debian-Vcs-Svn +# pending in policy via Bug#998165 +Description + Dgit Dm-Upload-Allowed Files diff -Nru lintian-2.111.0ubuntu2/data/debhelper/add_ons.json lintian-2.114.0ubuntu1/data/debhelper/add_ons.json --- lintian-2.111.0ubuntu2/data/debhelper/add_ons.json 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/data/debhelper/add_ons.json 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,448 @@ +{ + "add_ons" : { + "acc" : { + "installed_by" : [ + "dh-acc" + ] + }, + "ada_library" : { + "installed_by" : [ + "dh-ada-library" + ] + }, + "apache2" : { + "installed_by" : [ + "apache2-dev" + ] + }, + "aspell_simple" : { + "installed_by" : [ + "dictionaries-common-dev" + ] + }, + "autoreconf" : { + "installed_by" : [ + "dh-autoreconf" + ] + }, + "autotools_dev" : { + "installed_by" : [ + "autotools-dev" + ] + }, + "bash_completion" : { + "installed_by" : [ + "bash-completion" + ] + }, + "build_stamp" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "buildinfo" : { + "installed_by" : [ + "dh-buildinfo" + ] + }, + "cli" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "cli_nant" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "click" : { + "installed_by" : [ + "click-dev" + ] + }, + "cmake" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "cme_upgrade" : { + "installed_by" : [ + "cme" + ] + }, + "config_package" : { + "installed_by" : [ + "config-package-dev" + ] + }, + "cpack" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "ctest" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "d_i" : { + "installed_by" : [ + "dh-di" + ] + }, + "dist_zilla" : { + "installed_by" : [ + "dh-dist-zilla" + ] + }, + "dkms" : { + "installed_by" : [ + "dkms" + ] + }, + "dpatch" : { + "installed_by" : [ + "dpatch" + ] + }, + "dwz" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "eclipse_helper" : { + "installed_by" : [ + "javahelper" + ] + }, + "elf_tools" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "elpa" : { + "installed_by" : [ + "dh-elpa" + ] + }, + "fortran_mod" : { + "installed_by" : [ + "dh-fortran-mod" + ] + }, + "germinate" : { + "installed_by" : [ + "germinate" + ] + }, + "gir" : { + "installed_by" : [ + "gobject-introspection" + ] + }, + "gnome" : { + "installed_by" : [ + "gnome-pkg-tools" + ] + }, + "golang" : { + "installed_by" : [ + "dh-golang" + ] + }, + "installinitramfs" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "javahelper" : { + "installed_by" : [ + "javahelper" + ] + }, + "jh_maven_repo_helper" : { + "installed_by" : [ + "maven-repo-helper" + ] + }, + "kde" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "kf5" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "kodiaddon" : { + "installed_by" : [ + "kodi-addons-dev-common" + ] + }, + "libva" : { + "installed_by" : [ + "libva-dev" + ] + }, + "linktree" : { + "installed_by" : [ + "dh-linktree" + ] + }, + "lisp" : { + "installed_by" : [ + "dh-lisp" + ] + }, + "lua" : { + "installed_by" : [ + "dh-lua" + ] + }, + "maven_repo_helper" : { + "installed_by" : [ + "maven-repo-helper" + ] + }, + "mkdocs" : { + "installed_by" : [ + "mkdocs" + ] + }, + "nodejs" : { + "installed_by" : [ + "pkg-js-tools" + ] + }, + "numpy3" : { + "installed_by" : [ + "python3-numpy" + ] + }, + "ocaml" : { + "installed_by" : [ + "dh-ocaml" + ] + }, + "octave" : { + "installed_by" : [ + "dh-octave" + ] + }, + "perl6" : { + "installed_by" : [ + "dh-perl6" + ] + }, + "perl_dbi" : { + "installed_by" : [ + "libdbi-perl" + ] + }, + "perl_imager" : { + "installed_by" : [ + "libimager-perl" + ] + }, + "perl_openssl" : { + "installed_by" : [ + "perl-openssl-defaults" + ] + }, + "pgxs" : { + "installed_by" : [ + "postgresql-server-dev-all" + ] + }, + "pgxs_loop" : { + "installed_by" : [ + "postgresql-server-dev-all" + ] + }, + "php" : { + "installed_by" : [ + "dh-php" + ] + }, + "phpcomposer" : { + "installed_by" : [ + "pkg-php-tools" + ] + }, + "phppear" : { + "installed_by" : [ + "pkg-php-tools" + ] + }, + "pkgkde_symbolshelper" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "ppp" : { + "installed_by" : [ + "ppp-dev" + ] + }, + "pyppd" : { + "installed_by" : [ + "pyppd" + ] + }, + "pypy" : { + "installed_by" : [ + "dh-python" + ] + }, + "python2" : { + "installed_by" : [ + "dh-python" + ] + }, + "python3" : { + "installed_by" : [ + "dh-python" + ] + }, + "python_virtualenv" : { + "installed_by" : [ + "dh-virtualenv" + ] + }, + "qmlcdeps" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "quilt" : { + "installed_by" : [ + "quilt" + ] + }, + "raku" : { + "installed_by" : [ + "dh-raku" + ] + }, + "rebar" : { + "installed_by" : [ + "dh-rebar" + ] + }, + "root_sequence" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "ruby" : { + "installed_by" : [ + "gem2deb" + ] + }, + "runit" : { + "installed_by" : [ + "dh-runit" + ] + }, + "scour" : { + "installed_by" : [ + "scour" + ] + }, + "single_binary" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "sip3" : { + "installed_by" : [ + "python3-sip-dev" + ] + }, + "sodeps" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "sphinxdoc" : { + "installed_by" : [ + "sphinx-common" + ] + }, + "systemd" : { + "installed_by" : [ + "libdebhelper-perl" + ] + }, + "sysuser" : { + "installed_by" : [ + "dh-sysuser" + ] + }, + "tex" : { + "installed_by" : [ + "tex-common" + ] + }, + "uwsgi" : { + "installed_by" : [ + "uwsgi-dev" + ] + }, + "vdrplugin" : { + "installed_by" : [ + "vdr-dev" + ] + }, + "vignette" : { + "installed_by" : [ + "dh-r" + ] + }, + "vim_addon" : { + "installed_by" : [ + "dh-vim-addon" + ] + }, + "webext" : { + "installed_by" : [ + "mozilla-devscripts" + ] + }, + "xine" : { + "installed_by" : [ + "libxine2-dev" + ] + }, + "xml_core" : { + "installed_by" : [ + "xml-core" + ] + }, + "xsf" : { + "installed_by" : [ + "xserver-xorg-dev" + ] + }, + "xsp" : { + "installed_by" : [ + "dh-xsp" + ] + }, + "xul_ext" : { + "installed_by" : [ + "mozilla-devscripts" + ] + }, + "zathura" : { + "installed_by" : [ + "zathura-dev" + ] + } + }, + "preamble" : { + "last_update" : "2021-11-23T11:05:58Z", + "title" : "Debhelper Add-ons" + } +} diff -Nru lintian-2.111.0ubuntu2/data/debhelper/commands.json lintian-2.114.0ubuntu1/data/debhelper/commands.json --- lintian-2.111.0ubuntu2/data/debhelper/commands.json 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/data/debhelper/commands.json 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,1090 @@ +{ + "commands" : { + "dh_acc" : { + "installed_by" : [ + "dh-acc" + ] + }, + "dh_ada_library" : { + "installed_by" : [ + "dh-ada-library" + ] + }, + "dh_apache2" : { + "installed_by" : [ + "apache2-dev" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_apparmor" : { + "installed_by" : [ + "dh-apparmor" + ], + "uses_autoscript" : 1 + }, + "dh_aspell-simple" : { + "installed_by" : [ + "dictionaries-common-dev" + ] + }, + "dh_assistant" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_auto_build" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_auto_build_nant" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_auto_clean" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_auto_clean_nant" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_auto_configure" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_auto_install" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_auto_test" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_autoreconf" : { + "installed_by" : [ + "dh-autoreconf" + ] + }, + "dh_autoreconf_clean" : { + "installed_by" : [ + "dh-autoreconf" + ] + }, + "dh_autotools-dev_restoreconfig" : { + "installed_by" : [ + "autotools-dev" + ] + }, + "dh_autotools-dev_updateconfig" : { + "installed_by" : [ + "autotools-dev" + ] + }, + "dh_bash-completion" : { + "installed_by" : [ + "bash-completion" + ] + }, + "dh_bugfiles" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_builddeb" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_buildinfo" : { + "installed_by" : [ + "dh-buildinfo" + ] + }, + "dh_clean" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_click" : { + "installed_by" : [ + "click-dev" + ], + "uses_autoscript" : 1 + }, + "dh_clideps" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_clifixperms" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_cligacpolicy" : { + "installed_by" : [ + "cli-common-dev" + ], + "uses_autoscript" : 1 + }, + "dh_clistrip" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_cmake_install" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_cme_upgrade" : { + "installed_by" : [ + "cme" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_compress" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_configpackage" : { + "installed_by" : [ + "config-package-dev" + ], + "uses_autoscript" : 1 + }, + "dh_consoledata" : { + "installed_by" : [ + "dh-consoledata" + ], + "uses_autoscript" : 1 + }, + "dh_cpack_generate" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_cpack_install" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_cpack_substvars" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_build" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_clean" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_configure" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_start" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_submit" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_test" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_ctest_update" : { + "installed_by" : [ + "dh-cmake" + ] + }, + "dh_di_kernel_gencontrol" : { + "installed_by" : [ + "dh-di" + ] + }, + "dh_di_kernel_install" : { + "installed_by" : [ + "dh-di" + ] + }, + "dh_di_numbers" : { + "installed_by" : [ + "dh-di" + ] + }, + "dh_dist_zilla_origtar" : { + "installed_by" : [ + "dh-dist-zilla" + ] + }, + "dh_dkms" : { + "installed_by" : [ + "dkms" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_doxygen" : { + "installed_by" : [ + "doxygen" + ] + }, + "dh_dpatch_patch" : { + "installed_by" : [ + "dpatch" + ] + }, + "dh_dpatch_unpatch" : { + "installed_by" : [ + "dpatch" + ] + }, + "dh_dwz" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_dzil_build" : { + "installed_by" : [ + "dh-dist-zilla" + ] + }, + "dh_dzil_clean" : { + "installed_by" : [ + "dh-dist-zilla" + ] + }, + "dh_elpa" : { + "installed_by" : [ + "dh-elpa" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_elpa_test" : { + "installed_by" : [ + "dh-elpa" + ] + }, + "dh_fixperms" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_fortran_mod" : { + "installed_by" : [ + "dh-fortran-mod" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_gencontrol" : { + "installed_by" : [ + "debhelper" + ], + "uses_misc_depends" : 1 + }, + "dh_germinate_clean" : { + "installed_by" : [ + "germinate" + ] + }, + "dh_germinate_metapackage" : { + "installed_by" : [ + "germinate" + ] + }, + "dh_girepository" : { + "installed_by" : [ + "gobject-introspection" + ] + }, + "dh_gnome" : { + "installed_by" : [ + "gnome-pkg-tools" + ] + }, + "dh_gnome_clean" : { + "installed_by" : [ + "gnome-pkg-tools" + ] + }, + "dh_gnustep" : { + "installed_by" : [ + "gnustep-make" + ] + }, + "dh_golang" : { + "installed_by" : [ + "dh-golang" + ] + }, + "dh_golang_autopkgtest" : { + "installed_by" : [ + "dh-golang" + ] + }, + "dh_gstscancodecs" : { + "installed_by" : [ + "libgstreamer1.0-dev" + ] + }, + "dh_haskell_blurbs" : { + "installed_by" : [ + "haskell-devscripts-minimal" + ] + }, + "dh_haskell_depends" : { + "installed_by" : [ + "haskell-devscripts-minimal" + ] + }, + "dh_haskell_extra_depends" : { + "installed_by" : [ + "haskell-devscripts-minimal" + ] + }, + "dh_haskell_provides" : { + "installed_by" : [ + "haskell-devscripts-minimal" + ] + }, + "dh_haskell_shlibdeps" : { + "installed_by" : [ + "haskell-devscripts-minimal" + ] + }, + "dh_icons" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_install" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installalternatives" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installcatalogs" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installchangelogs" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installcliframework" : { + "installed_by" : [ + "cli-common-dev" + ], + "uses_autoscript" : 1 + }, + "dh_installcligac" : { + "installed_by" : [ + "cli-common-dev" + ], + "uses_autoscript" : 1 + }, + "dh_installcron" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installdeb" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installdebconf" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installdirs" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installdocs" : { + "installed_by" : [ + "debhelper" + ], + "uses_misc_depends" : 1 + }, + "dh_installemacsen" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installexamples" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installgsettings" : { + "installed_by" : [ + "debhelper" + ], + "uses_misc_depends" : 1 + }, + "dh_installifupdown" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installinfo" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installinit" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installinitramfs" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installkpatches" : { + "installed_by" : [ + "dh-kpatches" + ] + }, + "dh_installlogcheck" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installlogrotate" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installman" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installmanpages" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installmenu" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installmime" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installmodules" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installpam" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installppp" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installsystemd" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installsystemduser" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installsysusers" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installtex" : { + "installed_by" : [ + "tex-common" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installtmpfiles" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installudev" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_installwm" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_installxfonts" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installxmlcatalogs" : { + "installed_by" : [ + "xml-core" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_installxsp" : { + "installed_by" : [ + "dh-xsp" + ], + "uses_autoscript" : 1 + }, + "dh_installyorick" : { + "installed_by" : [ + "yorick-dev" + ] + }, + "dh_kodiaddon_depends" : { + "installed_by" : [ + "kodi-addons-dev-common" + ] + }, + "dh_libva" : { + "installed_by" : [ + "libva-dev" + ], + "uses_misc_depends" : 1 + }, + "dh_link" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_linktree" : { + "installed_by" : [ + "dh-linktree" + ], + "uses_misc_depends" : 1 + }, + "dh_lintian" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_lisp" : { + "installed_by" : [ + "dh-lisp" + ], + "uses_misc_depends" : 1 + }, + "dh_listpackages" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_lua" : { + "installed_by" : [ + "dh-lua" + ] + }, + "dh_make" : { + "installed_by" : [ + "dh-make" + ] + }, + "dh_make_pgxs" : { + "installed_by" : [ + "postgresql-server-dev-all" + ] + }, + "dh_makeclilibs" : { + "installed_by" : [ + "cli-common-dev" + ] + }, + "dh_makefont" : { + "installed_by" : [ + "dh-make" + ], + "uses_misc_depends" : 1 + }, + "dh_makeshlibs" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_md5sums" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_missing" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_mkdocs" : { + "installed_by" : [ + "mkdocs" + ] + }, + "dh_movefiles" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_movelibkdeinit" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "dh_numpy3" : { + "installed_by" : [ + "python3-numpy" + ] + }, + "dh_ocaml" : { + "installed_by" : [ + "dh-ocaml" + ] + }, + "dh_ocamlclean" : { + "installed_by" : [ + "dh-ocaml" + ] + }, + "dh_ocamldoc" : { + "installed_by" : [ + "dh-ocaml" + ] + }, + "dh_ocamlinit" : { + "installed_by" : [ + "dh-ocaml" + ] + }, + "dh_octave_changelogs" : { + "installed_by" : [ + "dh-octave" + ] + }, + "dh_octave_check" : { + "installed_by" : [ + "dh-octave-autopkgtest" + ] + }, + "dh_octave_clean" : { + "installed_by" : [ + "dh-octave" + ] + }, + "dh_octave_examples" : { + "installed_by" : [ + "dh-octave" + ] + }, + "dh_octave_make" : { + "installed_by" : [ + "dh-octave" + ], + "uses_misc_depends" : 1 + }, + "dh_octave_substvar" : { + "installed_by" : [ + "dh-octave" + ] + }, + "dh_octave_version" : { + "installed_by" : [ + "dh-octave" + ] + }, + "dh_pdl" : { + "installed_by" : [ + "pdl" + ] + }, + "dh_perl" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_perl6_depsfile" : { + "installed_by" : [ + "dh-perl6" + ] + }, + "dh_perl6_maintscript" : { + "installed_by" : [ + "dh-perl6" + ], + "uses_autoscript" : 1 + }, + "dh_perl6_test" : { + "installed_by" : [ + "dh-perl6" + ] + }, + "dh_perl_dbi" : { + "installed_by" : [ + "libdbi-perl" + ] + }, + "dh_perl_imager" : { + "installed_by" : [ + "libimager-perl" + ] + }, + "dh_perl_openssl" : { + "installed_by" : [ + "perl-openssl-defaults" + ] + }, + "dh_pgxs_test" : { + "installed_by" : [ + "postgresql-server-dev-all" + ] + }, + "dh_php" : { + "installed_by" : [ + "dh-php" + ], + "uses_autoscript" : 1 + }, + "dh_phpcomposer" : { + "installed_by" : [ + "pkg-php-tools" + ] + }, + "dh_phppear" : { + "installed_by" : [ + "pkg-php-tools" + ], + "uses_misc_depends" : 1 + }, + "dh_pidgin" : { + "installed_by" : [ + "pidgin-dev" + ], + "uses_misc_depends" : 1 + }, + "dh_ppp" : { + "installed_by" : [ + "ppp-dev" + ], + "uses_misc_depends" : 1 + }, + "dh_prep" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_pyppd" : { + "installed_by" : [ + "pyppd" + ], + "uses_misc_depends" : 1 + }, + "dh_pypy" : { + "installed_by" : [ + "dh-python" + ], + "uses_autoscript" : 1 + }, + "dh_python-ply" : { + "installed_by" : [ + "python-ply" + ] + }, + "dh_python2" : { + "installed_by" : [ + "dh-python" + ], + "uses_autoscript" : 1 + }, + "dh_python3" : { + "installed_by" : [ + "dh-python" + ], + "uses_autoscript" : 1 + }, + "dh_python3-ply" : { + "installed_by" : [ + "python3-ply" + ] + }, + "dh_qmlcdeps" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "dh_quilt_patch" : { + "installed_by" : [ + "quilt" + ] + }, + "dh_quilt_unpatch" : { + "installed_by" : [ + "quilt" + ] + }, + "dh_raku_build" : { + "installed_by" : [ + "dh-raku" + ] + }, + "dh_raku_install" : { + "installed_by" : [ + "dh-raku" + ] + }, + "dh_raku_test" : { + "installed_by" : [ + "dh-raku" + ] + }, + "dh_rebar" : { + "installed_by" : [ + "dh-rebar" + ] + }, + "dh_ruby" : { + "installed_by" : [ + "gem2deb" + ] + }, + "dh_ruby_fixdepends" : { + "installed_by" : [ + "gem2deb" + ] + }, + "dh_ruby_fixdocs" : { + "installed_by" : [ + "gem2deb" + ] + }, + "dh_runit" : { + "installed_by" : [ + "dh-runit" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_sameversiondep" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "dh_scour" : { + "installed_by" : [ + "scour" + ] + }, + "dh_shlibdeps" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_sip3" : { + "installed_by" : [ + "python3-sip-dev" + ] + }, + "dh_sodeps" : { + "installed_by" : [ + "pkg-kde-tools" + ] + }, + "dh_sphinxdoc" : { + "installed_by" : [ + "sphinx-common" + ] + }, + "dh_strip" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_strip_nondeterminism" : { + "installed_by" : [ + "dh-strip-nondeterminism" + ] + }, + "dh_systemd_enable" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_systemd_start" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_sysuser" : { + "installed_by" : [ + "dh-sysuser" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_testdir" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_testroot" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_ucf" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1, + "uses_misc_depends" : 1 + }, + "dh_update_autotools_config" : { + "installed_by" : [ + "debhelper" + ] + }, + "dh_usrlocal" : { + "installed_by" : [ + "debhelper" + ], + "uses_autoscript" : 1 + }, + "dh_uwsgi" : { + "installed_by" : [ + "uwsgi-dev" + ] + }, + "dh_vagrant_plugin" : { + "installed_by" : [ + "vagrant" + ] + }, + "dh_vdrplugin_depends" : { + "installed_by" : [ + "vdr-dev" + ] + }, + "dh_vdrplugin_enable" : { + "installed_by" : [ + "vdr-dev" + ], + "uses_autoscript" : 1 + }, + "dh_vignette" : { + "installed_by" : [ + "dh-r" + ] + }, + "dh_vim-addon" : { + "installed_by" : [ + "dh-vim-addon" + ] + }, + "dh_virtualenv" : { + "installed_by" : [ + "dh-virtualenv" + ], + "uses_autoscript" : 1 + }, + "dh_webext" : { + "installed_by" : [ + "mozilla-devscripts" + ] + }, + "dh_xine" : { + "installed_by" : [ + "libxine2-dev" + ] + }, + "dh_xsf_substvars" : { + "installed_by" : [ + "xserver-xorg-dev" + ] + }, + "dh_xul-ext" : { + "installed_by" : [ + "mozilla-devscripts" + ] + }, + "dh_zathura" : { + "installed_by" : [ + "zathura-dev" + ], + "uses_misc_depends" : 1 + } + }, + "preamble" : { + "last_update" : "2021-11-23T11:06:43Z", + "title" : "Debhelper Commands" + } +} diff -Nru lintian-2.111.0ubuntu2/data/debhelper/dh_commands lintian-2.114.0ubuntu1/data/debhelper/dh_commands --- lintian-2.111.0ubuntu2/data/debhelper/dh_commands 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/debhelper/dh_commands 1970-01-01 01:00:00.000000000 +0100 @@ -1,204 +0,0 @@ -# This file is generated from private/refresh-debhelper-data. -# It was generated on 2020-11-01 03:16 -# -# If the script generates an insufficient/incorrect value for a -# single item, please have a look at dh_commands-manual. -# - -dh_acc=dh-acc -dh_ada_library=dh-ada-library -dh_apache2=apache2-dev -dh_apparmor=dh-apparmor -dh_aspell-simple=dictionaries-common-dev -dh_auto_build=debhelper | debhelper-compat -dh_auto_build_nant=cli-common-dev -dh_auto_clean=debhelper | debhelper-compat -dh_auto_clean_nant=cli-common-dev -dh_auto_configure=debhelper | debhelper-compat -dh_auto_install=debhelper | debhelper-compat -dh_auto_test=debhelper | debhelper-compat -dh_autoreconf=dh-autoreconf -dh_autoreconf_clean=dh-autoreconf -dh_autotools-dev_restoreconfig=autotools-dev -dh_autotools-dev_updateconfig=autotools-dev -dh_bash-completion=bash-completion -dh_bugfiles=debhelper | debhelper-compat -dh_builddeb=debhelper | debhelper-compat -dh_buildinfo=dh-buildinfo -dh_clean=debhelper | debhelper-compat -dh_clideps=cli-common-dev -dh_clifixperms=cli-common-dev -dh_cligacpolicy=cli-common-dev -dh_clistrip=cli-common-dev -dh_cmake_install=dh-cmake -dh_cme_upgrade=cme -dh_compress=debhelper | debhelper-compat -dh_configpackage=config-package-dev -dh_consoledata=dh-consoledata -dh_cpack_generate=dh-cmake -dh_cpack_install=dh-cmake -dh_cpack_substvars=dh-cmake -dh_ctest_build=dh-cmake -dh_ctest_clean=dh-cmake -dh_ctest_configure=dh-cmake -dh_ctest_start=dh-cmake -dh_ctest_submit=dh-cmake -dh_ctest_test=dh-cmake -dh_ctest_update=dh-cmake -dh_di_kernel_gencontrol=dh-di -dh_di_kernel_install=dh-di -dh_di_numbers=dh-di -dh_dist_zilla_origtar=dh-dist-zilla -dh_dkms=dkms -dh_doxygen=doxygen -dh_dpatch_patch=dpatch -dh_dpatch_unpatch=dpatch -dh_dwz=debhelper | debhelper-compat -dh_dzil_build=dh-dist-zilla -dh_dzil_clean=dh-dist-zilla -dh_elpa=dh-elpa -dh_elpa_test=dh-elpa -dh_fixperms=debhelper | debhelper-compat -dh_fortran_mod=dh-fortran-mod -dh_gconf=debhelper | debhelper-compat -dh_gencontrol=debhelper | debhelper-compat -dh_germinate_clean=germinate -dh_germinate_metapackage=germinate -dh_girepository=gobject-introspection -dh_gnome=gnome-pkg-tools -dh_gnome_clean=gnome-pkg-tools -dh_gnustep=gnustep-make -dh_golang=dh-golang -dh_golang_autopkgtest=dh-golang -dh_gstscancodecs=libgstreamer1.0-dev -dh_haskell_blurbs=haskell-devscripts-minimal -dh_haskell_depends=haskell-devscripts-minimal -dh_haskell_extra_depends=haskell-devscripts-minimal -dh_haskell_provides=haskell-devscripts-minimal -dh_haskell_shlibdeps=haskell-devscripts-minimal -dh_icons=debhelper | debhelper-compat -dh_install=debhelper | debhelper-compat -dh_installalternatives=debhelper | debhelper-compat -dh_installcatalogs=debhelper | debhelper-compat -dh_installchangelogs=debhelper | debhelper-compat -dh_installcliframework=cli-common-dev -dh_installcligac=cli-common-dev -dh_installcron=debhelper | debhelper-compat -dh_installdeb=debhelper | debhelper-compat -dh_installdebconf=debhelper | debhelper-compat -dh_installdirs=debhelper | debhelper-compat -dh_installdocs=debhelper | debhelper-compat -dh_installemacsen=debhelper | debhelper-compat -dh_installexamples=debhelper | debhelper-compat -dh_installgsettings=debhelper | debhelper-compat -dh_installifupdown=debhelper | debhelper-compat -dh_installinfo=debhelper | debhelper-compat -dh_installinit=debhelper | debhelper-compat -dh_installinitramfs=debhelper | debhelper-compat -dh_installkpatches=dh-kpatches -dh_installlogcheck=debhelper | debhelper-compat -dh_installlogrotate=debhelper | debhelper-compat -dh_installman=debhelper | debhelper-compat -dh_installmanpages=debhelper | debhelper-compat -dh_installmenu=debhelper | debhelper-compat -dh_installmime=debhelper | debhelper-compat -dh_installmodules=debhelper | debhelper-compat -dh_installpam=debhelper | debhelper-compat -dh_installppp=debhelper | debhelper-compat -dh_installsystemd=debhelper | debhelper-compat -dh_installsystemduser=debhelper | debhelper-compat -dh_installtex=tex-common -dh_installtmpfiles=debhelper | debhelper-compat -dh_installudev=debhelper | debhelper-compat -dh_installwm=debhelper | debhelper-compat -dh_installxfonts=debhelper | debhelper-compat -dh_installxmlcatalogs=xml-core -dh_installxsp=dh-xsp -dh_installyorick=yorick-dev -dh_kodiaddon_depends=kodi-addons-dev -dh_libva=libva-dev -dh_link=debhelper | debhelper-compat -dh_linktree=dh-linktree -dh_lintian=debhelper | debhelper-compat -dh_lisp=dh-lisp -dh_listpackages=debhelper | debhelper-compat -dh_lua=dh-lua -dh_make=dh-make -dh_make_pgxs=postgresql-server-dev-all -dh_makeclilibs=cli-common-dev -dh_makefont=dh-make -dh_makeshlibs=debhelper | debhelper-compat -dh_md5sums=debhelper | debhelper-compat -dh_missing=debhelper | debhelper-compat -dh_mkdocs=mkdocs -dh_movefiles=debhelper | debhelper-compat -dh_movelibkdeinit=pkg-kde-tools -dh_numpy3=python3-numpy -dh_ocaml=dh-ocaml -dh_ocamlclean=dh-ocaml -dh_ocamldoc=dh-ocaml -dh_ocamlinit=dh-ocaml -dh_octave_changelogs=dh-octave -dh_octave_check=dh-octave-autopkgtest -dh_octave_clean=dh-octave -dh_octave_examples=dh-octave -dh_octave_make=dh-octave -dh_octave_substvar=dh-octave -dh_octave_version=dh-octave -dh_pdl=pdl -dh_perl6_depsfile=dh-perl6 -dh_perl6_maintscript=dh-perl6 -dh_perl6_test=dh-perl6 -dh_perl=debhelper | debhelper-compat -dh_perl_dbi=libdbi-perl -dh_perl_imager=libimager-perl -dh_perl_openssl=perl-openssl-defaults -dh_pgxs_test=postgresql-server-dev-all -dh_php=dh-php -dh_phpcomposer=pkg-php-tools -dh_phppear=pkg-php-tools -dh_pidgin=pidgin-dev -dh_ppp=ppp-dev -dh_prep=debhelper | debhelper-compat -dh_pyppd=pyppd -dh_pypy=dh-python -dh_python-ply=python-ply -dh_python2=dh-python -dh_python3-ply=python3-ply -dh_python3=dh-python -dh_qmlcdeps=pkg-kde-tools -dh_quilt_patch=quilt -dh_quilt_unpatch=quilt -dh_rebar=dh-rebar -dh_ruby=gem2deb -dh_ruby_fixdepends=gem2deb -dh_ruby_fixdocs=gem2deb -dh_runit=dh-runit -dh_sameversiondep=pkg-kde-tools -dh_scour=scour -dh_shlibdeps=debhelper | debhelper-compat -dh_sip3=python3-sip-dev -dh_sodeps=pkg-kde-tools -dh_sphinxdoc=sphinx-common -dh_strip=debhelper | debhelper-compat -dh_strip_nondeterminism=dh-strip-nondeterminism -dh_systemd_enable=debhelper | debhelper-compat -dh_systemd_start=debhelper | debhelper-compat -dh_sysuser=dh-sysuser -dh_testdir=debhelper | debhelper-compat -dh_testroot=debhelper | debhelper-compat -dh_ucf=debhelper | debhelper-compat -dh_update_autotools_config=debhelper | debhelper-compat -dh_usrlocal=debhelper | debhelper-compat -dh_uwsgi=uwsgi-dev -dh_vagrant_plugin=vagrant -dh_vdrplugin_depends=vdr-dev -dh_vdrplugin_enable=vdr-dev -dh_vignette=dh-r -dh_vim-addon=dh-vim-addon -dh_virtualenv=dh-virtualenv -dh_webext=mozilla-devscripts -dh_xine=libxine2-dev -dh_xsf_substvars=xserver-xorg-dev -dh_xul-ext=mozilla-devscripts -dh_zathura=zathura-dev diff -Nru lintian-2.111.0ubuntu2/data/debhelper/dh_commands-manual lintian-2.114.0ubuntu1/data/debhelper/dh_commands-manual --- lintian-2.111.0ubuntu2/data/debhelper/dh_commands-manual 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/debhelper/dh_commands-manual 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -# Manually maintained list of dh_commands that requires a versioned -# dependency *AND* are not provided by debhelper. Commands provided -# by debhelper is handled in checks/debhelper. -# -# dh_X||dependency -# -# Note spaces are not allowed around the "||"-separator. -# -# The dh_X is the dh_command and the dependency is the full dependency -# (including both package and version). This overrules any thing -# listed in dh_commands (which is auto-generated). -# -# Please keep this sorted. - -dh_apache2||dh-apache2 | apache2-dev -dh_autoreconf_clean||dh-autoreconf | debhelper (>= 9.20160403~) | debhelper-compat -dh_autoreconf||dh-autoreconf | debhelper (>= 9.20160403~) | debhelper-compat -dh_dkms||dkms | dh-sequence-dkms -dh_girepository||gobject-introspection | dh-sequence-gir -dh_gnome||gnome-pkg-tools | dh-sequence-gnome -dh_gnome_clean||gnome-pkg-tools | dh-sequence-gnome -dh_lv2config||lv2core -dh_make_pgxs||postgresql-server-dev-all | postgresql-all -dh_nativejava||gcj-native-helper | default-jdk-builddep -dh_pgxs_test||postgresql-server-dev-all | postgresql-all -dh_python2||dh-python | dh-sequence-python2 -dh_python3||dh-python | dh-sequence-python3 -dh_sphinxdoc||sphinx | python-sphinx | python3-sphinx -dh_xine||libxine-dev | libxine2-dev diff -Nru lintian-2.111.0ubuntu2/data/debhelper/dh_packages lintian-2.114.0ubuntu1/data/debhelper/dh_packages --- lintian-2.111.0ubuntu2/data/debhelper/dh_packages 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/debhelper/dh_packages 1970-01-01 01:00:00.000000000 +0100 @@ -1,82 +0,0 @@ -# This file is generated from private/refresh-debhelper-data. -# It was generated on 2020-11-01 03:16 - -apache2-dev -autotools-dev -bash-completion -cli-common-dev -cme -config-package-dev -debhelper -dh-acc -dh-ada-library -dh-apparmor -dh-autoreconf -dh-buildinfo -dh-cmake -dh-consoledata -dh-di -dh-dist-zilla -dh-elpa -dh-fortran-mod -dh-golang -dh-kpatches -dh-linktree -dh-lisp -dh-lua -dh-make -dh-ocaml -dh-octave -dh-octave-autopkgtest -dh-perl6 -dh-php -dh-python -dh-r -dh-rebar -dh-runit -dh-strip-nondeterminism -dh-sysuser -dh-vim-addon -dh-virtualenv -dh-xsp -dictionaries-common-dev -dkms -doxygen -dpatch -gem2deb -germinate -gnome-pkg-tools -gnustep-make -gobject-introspection -haskell-devscripts-minimal -kodi-addons-dev -libdbi-perl -libgstreamer1.0-dev -libimager-perl -libva-dev -libxine2-dev -mkdocs -mozilla-devscripts -pdl -perl-openssl-defaults -pidgin-dev -pkg-kde-tools -pkg-php-tools -postgresql-server-dev-all -ppp-dev -pyppd -python-ply -python3-numpy -python3-ply -python3-sip-dev -quilt -scour -sphinx-common -tex-common -uwsgi-dev -vagrant -vdr-dev -xml-core -xserver-xorg-dev -yorick-dev -zathura-dev diff -Nru lintian-2.111.0ubuntu2/data/debhelper/maint_commands lintian-2.114.0ubuntu1/data/debhelper/maint_commands --- lintian-2.111.0ubuntu2/data/debhelper/maint_commands 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/debhelper/maint_commands 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,4 @@ -# This file is generated from private/refresh-debhelper-data. -# It was generated on 2020-11-01 03:16 +# Generated by private/refresh-debhelper-data on 2021-11-22T01:13:36Z dh_apache2 dh_apparmor @@ -23,6 +22,7 @@ dh_installmodules dh_installsystemd dh_installsystemduser +dh_installsysusers dh_installtex dh_installtmpfiles dh_installwm @@ -31,6 +31,9 @@ dh_installxsp dh_perl6_maintscript dh_php +dh_pypy +dh_python2 +dh_python3 dh_runit dh_systemd_enable dh_systemd_start diff -Nru lintian-2.111.0ubuntu2/data/debhelper/miscDepends_commands lintian-2.114.0ubuntu1/data/debhelper/miscDepends_commands --- lintian-2.111.0ubuntu2/data/debhelper/miscDepends_commands 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/debhelper/miscDepends_commands 2022-01-11 17:11:33.000000000 +0100 @@ -1,18 +1,18 @@ # This file is generated from private/refresh-debhelper-data. -# It was generated on 2020-11-01 03:16 +# It was generated on 2021-11-19 20:32 dh_apache2 dh_cme_upgrade dh_dkms dh_elpa dh_fortran_mod -dh_gconf dh_installcatalogs dh_installdebconf dh_installdocs dh_installgsettings dh_installinit dh_installsystemduser +dh_installsysusers dh_installtex dh_installxfonts dh_installxmlcatalogs diff -Nru lintian-2.111.0ubuntu2/data/files/fonts lintian-2.114.0ubuntu1/data/files/fonts --- lintian-2.111.0ubuntu2/data/files/fonts 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/data/files/fonts 1970-01-01 01:00:00.000000000 +0100 @@ -1,5169 +0,0 @@ -# The list of known font filenames already packaged for Debian and the -# package that contains the font. Only packages starting with ttf-, -# otf-, t1-, xfonts- and fonts- are searched for fonts. -# -# Last updated: 2020-08-23 - -1015sn.ttf ttf-aenigma -1015snr.ttf ttf-aenigma -18holes.ttf ttf-aenigma -3270-regular.otf fonts-3270 -3270condensed-regular.otf fonts-3270 -3270semicondensed-regular.otf fonts-3270 -36daysag.ttf ttf-aenigma -36daythk.ttf ttf-aenigma -3dlet.ttf ttf-aenigma -4shadow.ttf ttf-aenigma -4shadowo.ttf ttf-aenigma -8bitlim.ttf ttf-aenigma -8bitlimo.ttf ttf-aenigma -8bitlimr.ttf ttf-aenigma -8blimro.ttf ttf-aenigma -90stars.ttf ttf-aenigma -a010013d.pfb t1-cyrillic -a010015d.pfb t1-cyrillic -a010033d.pfb t1-cyrillic -a010035d.pfb t1-cyrillic -aakar-medium.ttf fonts-gujr-extra -abecedario.ttf fonts-linex -abecedarioguiada.ttf fonts-linex -abecedarionegrita.ttf fonts-linex -abecedariopautada.ttf fonts-linex -abecedariopuntguiada.ttf fonts-linex -abecedariopuntos.ttf fonts-linex -abecedariopuntpautada.ttf fonts-linex -aboriginalsansbold9433.ttf fonts-lg-aboriginal -aboriginalsansbolditalic9433.ttf fonts-lg-aboriginal -aboriginalsansitalic9433.ttf fonts-lg-aboriginal -aboriginalsansregular9433.ttf fonts-lg-aboriginal -aboriginalserifbold943.ttf fonts-lg-aboriginal -aboriginalserifbolditalic943.ttf fonts-lg-aboriginal -aboriginalserifitalic943.ttf fonts-lg-aboriginal -aboriginalserifregular943.ttf fonts-lg-aboriginal -abydosb_hint.ttf fonts-ancient-scripts -abydosr_hint.ttf fonts-ancient-scripts -abyssinicasil-regular.ttf fonts-sil-abyssinica -accanthisadfstd-bold.otf fonts-adf-accanthis -accanthisadfstd-bolditalic.otf fonts-adf-accanthis -accanthisadfstd-italic.otf fonts-adf-accanthis -accanthisadfstd-regular.otf fonts-adf-accanthis -accanthisadfstdno2-bold.otf fonts-adf-accanthis -accanthisadfstdno2-bolditalic.otf fonts-adf-accanthis -accanthisadfstdno2-italic.otf fonts-adf-accanthis -accanthisadfstdno2-regular.otf fonts-adf-accanthis -accanthisadfstdno3-bold.otf fonts-adf-accanthis -accanthisadfstdno3-bolditalic.otf fonts-adf-accanthis -accanthisadfstdno3-italic.otf fonts-adf-accanthis -accanthisadfstdno3-regular.otf fonts-adf-accanthis -acidrefl.ttf ttf-aenigma -acknowtt.ttf ttf-aenigma -ae_alarabiya.ttf fonts-arabeyes -ae_albattar.ttf fonts-arabeyes -ae_alhor.ttf fonts-arabeyes -ae_almanzomah.ttf fonts-arabeyes -ae_alyarmook.ttf fonts-arabeyes -ae_arab.ttf fonts-arabeyes -ae_cortoba.ttf fonts-arabeyes -ae_dimnah.ttf fonts-arabeyes -ae_electron.ttf fonts-arabeyes -ae_furat.ttf fonts-arabeyes -ae_granada.ttf fonts-arabeyes -ae_graph.ttf fonts-arabeyes -ae_hani.ttf fonts-arabeyes -ae_haramain.ttf fonts-arabeyes -ae_hor.ttf fonts-arabeyes -ae_japan.ttf fonts-arabeyes -ae_jet.ttf fonts-arabeyes -ae_kayrawan.ttf fonts-arabeyes -ae_khalid.ttf fonts-arabeyes -ae_mashq-bold.ttf fonts-arabeyes -ae_mashq.ttf fonts-arabeyes -ae_metal.ttf fonts-arabeyes -ae_nada.ttf fonts-arabeyes -ae_nagham.ttf fonts-arabeyes -ae_nice.ttf fonts-arabeyes -ae_ostorah.ttf fonts-arabeyes -ae_ouhod-bold.ttf fonts-arabeyes -ae_petra.ttf fonts-arabeyes -ae_rasheeq-bold.ttf fonts-arabeyes -ae_rehan.ttf fonts-arabeyes -ae_salem.ttf fonts-arabeyes -ae_shado.ttf fonts-arabeyes -ae_sharjah.ttf fonts-arabeyes -ae_sindbad.ttf fonts-arabeyes -ae_tarablus.ttf fonts-arabeyes -ae_tholoth.ttf fonts-arabeyes -aegean_hint.ttf fonts-ancient-scripts -aegyptusb_hint.ttf fonts-ancient-scripts -aegyptusr_hint.ttf fonts-ancient-scripts -aerial.ttf fonts-arkpandora -aerialbd.ttf fonts-arkpandora -aerialbdit.ttf fonts-arkpandora -aerialit.ttf fonts-arkpandora -aerialmono.ttf fonts-arkpandora -aerialmonobd.ttf fonts-arkpandora -aerialmonobdit.ttf fonts-arkpandora -aerialmonoit.ttf fonts-arkpandora -aescrawl.ttf ttf-aenigma -aesymatt.ttf ttf-aenigma -aftermat.ttf ttf-aenigma -akatab-regular.ttf fonts-sil-akatab -akkadian_hint.ttf fonts-ancient-scripts -aksharyogini2normal.ttf fonts-aksharyogini2 -alegreyasans-black.otf fonts-alegreya-sans -alegreyasans-blackitalic.otf fonts-alegreya-sans -alegreyasans-bold.otf fonts-alegreya-sans -alegreyasans-bolditalic.otf fonts-alegreya-sans -alegreyasans-extrabold.otf fonts-alegreya-sans -alegreyasans-extrabolditalic.otf fonts-alegreya-sans -alegreyasans-italic.otf fonts-alegreya-sans -alegreyasans-light.otf fonts-alegreya-sans -alegreyasans-lightitalic.otf fonts-alegreya-sans -alegreyasans-medium.otf fonts-alegreya-sans -alegreyasans-mediumitalic.otf fonts-alegreya-sans -alegreyasans-regular.otf fonts-alegreya-sans -alegreyasans-thin.otf fonts-alegreya-sans -alegreyasans-thinitalic.otf fonts-alegreya-sans -alegreyasanssc-black.otf fonts-alegreya-sans -alegreyasanssc-blackitalic.otf fonts-alegreya-sans -alegreyasanssc-bold.otf fonts-alegreya-sans -alegreyasanssc-bolditalic.otf fonts-alegreya-sans -alegreyasanssc-extrabold.otf fonts-alegreya-sans -alegreyasanssc-extrabolditalic.otf fonts-alegreya-sans -alegreyasanssc-italic.otf fonts-alegreya-sans -alegreyasanssc-light.otf fonts-alegreya-sans -alegreyasanssc-lightitalic.otf fonts-alegreya-sans -alegreyasanssc-medium.otf fonts-alegreya-sans -alegreyasanssc-mediumitalic.otf fonts-alegreya-sans -alegreyasanssc-regular.otf fonts-alegreya-sans -alegreyasanssc-thin.otf fonts-alegreya-sans -alegreyasanssc-thinitalic.otf fonts-alegreya-sans -alexander_hint.ttf fonts-ancient-scripts -alfa-beta.ttf fonts-linex -alfios_b.otf fonts-ancient-scripts -alfios_i.otf fonts-ancient-scripts -alfios_j.otf fonts-ancient-scripts -alfios_r.otf fonts-ancient-scripts -alkalami-light.ttf fonts-sil-alkalami -alkalami-regular.ttf fonts-sil-alkalami -allerta_medium.otf fonts-allerta -allerta_stencil.otf fonts-allerta -alphbeta.ttf ttf-aenigma -amalgama.ttf ttf-aenigma -amalgamo.ttf ttf-aenigma -amiri-bold.ttf fonts-hosny-amiri -amiri-boldslanted.ttf fonts-hosny-amiri -amiri-regular.ttf fonts-hosny-amiri -amiri-slanted.ttf fonts-hosny-amiri -amiriquran.ttf fonts-hosny-amiri -amiriqurancolored.ttf fonts-hosny-amiri -amit.otf fonts-ldco -amit.ttf fonts-ldco -amplitud.ttf ttf-aenigma -anaktoria_hint.ttf fonts-ancient-scripts -analecta_hint.ttf fonts-ancient-scripts -anatolian_hint.ttf fonts-ancient-scripts -andika-r.ttf fonts-sil-andika -andikacompact-r.ttf fonts-sil-andika-compact -andikanewbasic-b.ttf fonts-sil-andikanewbasic -andikanewbasic-bi.ttf fonts-sil-andikanewbasic -andikanewbasic-i.ttf fonts-sil-andikanewbasic -andikanewbasic-r.ttf fonts-sil-andikanewbasic -ani.ttf fonts-beng-extra -anjalioldlipi-regular.ttf fonts-smc-anjalioldlipi -annapurnasil-bold.ttf fonts-sil-annapurna -annapurnasil-regular.ttf fonts-sil-annapurna -aoyagi-soseki.ttf fonts-aoyagi-soseki -aoyagikouzant.ttf fonts-aoyagi-kouzan-t -apibold.ttf fonts-linex -apibolit.ttf fonts-linex -apiitali.ttf fonts-linex -apiregul.ttf fonts-linex -apropal-bold.otf fonts-apropal -arimo-bold.ttf fonts-croscore -arimo-bolditalic.ttf fonts-croscore -arimo-italic.ttf fonts-croscore -arimo-regular.ttf fonts-croscore -aroania_hint.ttf fonts-ancient-scripts -arthriti.ttf ttf-aenigma -arundinasans-bold.ttf fonts-arundina -arundinasans-boldoblique.ttf fonts-arundina -arundinasans-oblique.ttf fonts-arundina -arundinasans.ttf fonts-arundina -arundinasansmono-bold.ttf fonts-arundina -arundinasansmono-boldoblique.ttf fonts-arundina -arundinasansmono-oblique.ttf fonts-arundina -arundinasansmono.ttf fonts-arundina -arundinaserif-bold.ttf fonts-arundina -arundinaserif.ttf fonts-arundina -asana-math.otf fonts-oflb-asana-math -aseab_hint.ttf fonts-ancient-scripts -aseai_hint.ttf fonts-ancient-scripts -aseaj_hint.ttf fonts-ancient-scripts -asear_hint.ttf fonts-ancient-scripts -aspartam.ttf ttf-aenigma -assyrian_hint.ttf fonts-ancient-scripts -atarismall.ttf fonts-atarismall -atavyros.otf fonts-ancient-scripts -ataxia.ttf ttf-aenigma -ataxiao.ttf ttf-aenigma -automati.ttf ttf-aenigma -avdira_hint.ttf fonts-ancient-scripts -averiagwf-bold.ttf fonts-averia-gwf -averiagwf-bolditalic.ttf fonts-averia-gwf -averiagwf-gruesa.ttf fonts-averia-gwf -averiagwf-italic.ttf fonts-averia-gwf -averiagwf-light.ttf fonts-averia-gwf -averiagwf-lightitalic.ttf fonts-averia-gwf -averiagwf-regular.ttf fonts-averia-gwf -averiasansgwf-bold.ttf fonts-averia-sans-gwf -averiasansgwf-bolditalic.ttf fonts-averia-sans-gwf -averiasansgwf-italic.ttf fonts-averia-sans-gwf -averiasansgwf-light.ttf fonts-averia-sans-gwf -averiasansgwf-lightitalic.ttf fonts-averia-sans-gwf -averiasansgwf-regular.ttf fonts-averia-sans-gwf -averiaserifgwf-bold.ttf fonts-averia-serif-gwf -averiaserifgwf-bolditalic.ttf fonts-averia-serif-gwf -averiaserifgwf-italic.ttf fonts-averia-serif-gwf -averiaserifgwf-light.ttf fonts-averia-serif-gwf -averiaserifgwf-lightitalic.ttf fonts-averia-serif-gwf -averiaserifgwf-regular.ttf fonts-averia-serif-gwf -awaminastaliq-regular.ttf fonts-sil-awami-nastaliq -b018012d.pfb t1-cyrillic -b018015d.pfb t1-cyrillic -b018032d.pfb t1-cyrillic -b018035d.pfb t1-cyrillic -b2sq.ttf ttf-aenigma -b2sqol1.ttf ttf-aenigma -b2sqol2.ttf ttf-aenigma -b612-bold.otf fonts-b612 -b612-bolditalic.otf fonts-b612 -b612-italic.otf fonts-b612 -b612-regular.otf fonts-b612 -b612mono-bold.otf fonts-b612 -b612mono-bolditalic.otf fonts-b612 -b612mono-italic.otf fonts-b612 -b612mono-regular.otf fonts-b612 -babeboit.ttf fonts-linex -babebold.ttf fonts-linex -babelita.ttf fonts-linex -babelreg.ttf fonts-linex -babelstonehan.ttf fonts-babelstone-han -babelstonemodern.ttf fonts-babelstone-modern -backlash.ttf ttf-aenigma -bajaderka-regular.otf fonts-bajaderka -balker.ttf fonts-dustin -bandal.ttf fonts-alee -bandless.ttf ttf-aenigma -bandmess.ttf ttf-aenigma -bandwdth.ttf ttf-aenigma -bangwool.ttf fonts-alee -baskervaldadfstd-bold.otf fonts-adf-baskervald -baskervaldadfstd-bolditalic.otf fonts-adf-baskervald -baskervaldadfstd-heavy.otf fonts-adf-baskervald -baskervaldadfstd-heavyitalic.otf fonts-adf-baskervald -baskervaldadfstd-italic.otf fonts-adf-baskervald -baskervaldadfstd.otf fonts-adf-baskervald -batang.ttf fonts-baekmuk -bebasneue-bold.otf fonts-bebas-neue -bebasneue-book.otf fonts-bebas-neue -bebasneue-light.otf fonts-bebas-neue -bebasneue-regular.otf fonts-bebas-neue -bebasneue-thin.otf fonts-bebas-neue -becausewebuild-regular.otf fonts-bwht -becauseweconnect-regular.otf fonts-bwht -becausewecreate-regular.otf fonts-bwht -becausewelearn-regular.otf fonts-bwht -becausewementor-regular.otf fonts-bwht -becauseweorganize-regular.otf fonts-bwht -bendable.ttf ttf-aenigma -berenika-bold.ttf fonts-klaudia-berenika -berenika-boldoblique.ttf fonts-klaudia-berenika -berenika-oblique.ttf fonts-klaudia-berenika -berenika.ttf fonts-klaudia-berenika -berenisadfpro-bold.otf fonts-adf-berenis -berenisadfpro-bolditalic.otf fonts-adf-berenis -berenisadfpro-italic.otf fonts-adf-berenis -berenisadfpro-regular.otf fonts-adf-berenis -berenisadfpromath-regular.otf fonts-adf-berenis -beteckna.ttf fonts-beteckna -betecknags-bold.ttf fonts-beteckna -betecknags-italic.ttf fonts-beteckna -betecknags.ttf fonts-beteckna -betecknagscondensed-bold.ttf fonts-beteckna -betecknagscondensed-italic.ttf fonts-beteckna -bewilder.ttf ttf-aenigma -bewildet.ttf ttf-aenigma -bin01st.ttf ttf-aenigma -binaryt.ttf ttf-aenigma -binaryx.ttf ttf-aenigma -binchrt.ttf ttf-aenigma -binx01s.ttf ttf-aenigma -binxchr.ttf ttf-aenigma -bitbttf.ttf ttf-aenigma -bkai00mp.ttf fonts-arphic-bkai00mp -bknuckss.ttf ttf-aenigma -bknuckst.ttf ttf-aenigma -blackoni.ttf ttf-aenigma -blankenburg_unz1a.ttf fonts-blankenburg -bleakseg.ttf ttf-aenigma -bloktilt.ttf ttf-aenigma -blonibld.ttf ttf-aenigma -blonirex.ttf ttf-aenigma -blox2.ttf ttf-aenigma -bmdohyeon_ttf.ttf fonts-woowa-bm -bmeuljirottf.ttf fonts-woowa-bm -bmhanna_11yrs_ttf.ttf fonts-woowa-bm -bmhannaair_ttf.ttf fonts-woowa-bm -bmhannapro.ttf fonts-woowa-bm -bmjua_ttf.ttf fonts-woowa-bm -bmkiranghaerang-ttf.ttf fonts-woowa-bm -bmyeonsung_ttf.ttf fonts-woowa-bm -bobcayge.ttf ttf-aenigma -bobcaygr.ttf ttf-aenigma -bocuma.ttf ttf-aenigma -bocumaad.ttf ttf-aenigma -bocumaba.ttf ttf-aenigma -bocumade.ttf ttf-aenigma -bocumang.ttf ttf-aenigma -booku___.ttf fonts-uralic -bookub__.ttf fonts-uralic -bookui__.ttf fonts-uralic -bpg_dejavu_sans_2011_gpl-gnu.ttf fonts-bpg-georgian -bpg_gorda_gnu-gpl.ttf fonts-bpg-georgian -brassknu.ttf ttf-aenigma -breip.ttf fonts-breip -breipfont.ttf fonts-breip -brigadom.ttf ttf-aenigma -brigadow.ttf ttf-aenigma -bsmi00lp.ttf fonts-arphic-bsmi00lp -bumped.ttf ttf-aenigma -busra-b.ttf fonts-sil-mondulkiri -busra-bi.ttf fonts-sil-mondulkiri -busra-i.ttf fonts-sil-mondulkiri -busra-r.ttf fonts-sil-mondulkiri -c0419bt_.pfb xfonts-scalable -c0582bt_.pfb xfonts-scalable -c0583bt_.pfb xfonts-scalable -c059-bdita.otf fonts-urw-base35 -c059-bold.otf fonts-urw-base35 -c059-italic.otf fonts-urw-base35 -c059-roman.otf fonts-urw-base35 -c059013d.pfb t1-cyrillic -c059016d.pfb t1-cyrillic -c059033d.pfb t1-cyrillic -c059036d.pfb t1-cyrillic -c0611bt_.pfb xfonts-scalable -c0632bt_.pfb xfonts-scalable -c0633bt_.pfb xfonts-scalable -c0648bt_.pfb xfonts-scalable -c0649bt_.pfb xfonts-scalable -cabin-bold.otf fonts-cabin -cabin-bolditalic.otf fonts-cabin -cabin-italic.otf fonts-cabin -cabin-medium.otf fonts-cabin -cabin-mediumitalic.otf fonts-cabin -cabin-regular.otf fonts-cabin -cabin-semibold.otf fonts-cabin -cabin-semibolditalic.otf fonts-cabin -cabinsketch-bold.ttf fonts-cabinsketch -cabinsketch-regular.ttf fonts-cabinsketch -caladea-bold.ttf fonts-crosextra-caladea -caladea-bolditalic.ttf fonts-crosextra-caladea -caladea-italic.ttf fonts-crosextra-caladea -caladea-regular.ttf fonts-crosextra-caladea -caliban.ttf fonts-georgewilliams -campania.otf fonts-campania -campania.ttf fonts-campania -candystr.ttf ttf-aenigma -cantarell-bold.otf fonts-cantarell -cantarell-extrabold.otf fonts-cantarell -cantarell-light.otf fonts-cantarell -cantarell-regular.otf fonts-cantarell -cantarell-thin.otf fonts-cantarell -cardo104s.ttf fonts-cardo -cardob101.ttf fonts-cardo -cardoi99.ttf fonts-cardo -carlito-bold.ttf fonts-crosextra-carlito -carlito-bolditalic.ttf fonts-crosextra-carlito -carlito-italic.ttf fonts-crosextra-carlito -carlito-regular.ttf fonts-crosextra-carlito -cascadiacode.ttf fonts-cascadia-code -cascadiacodepl.ttf fonts-cascadia-code -cascadiamono.ttf fonts-cascadia-code -cascadiamonopl.ttf fonts-cascadia-code -caslon-black.ttf fonts-georgewilliams -caslonbold.ttf fonts-georgewilliams -caslonitalic.ttf fonts-georgewilliams -caslonroman.ttf fonts-georgewilliams -ccaps.ttf ttf-aenigma -ccapshad.ttf ttf-aenigma -century-catalogue.ttf fonts-century-catalogue -chandas1-2.ttf fonts-deva-extra -chanui__.ttf fonts-uralic -charissil-b.ttf fonts-sil-charis -charissil-bi.ttf fonts-sil-charis -charissil-i.ttf fonts-sil-charis -charissil-r.ttf fonts-sil-charis -charissilcompact-b.ttf fonts-sil-charis-compact -charissilcompact-bi.ttf fonts-sil-charis-compact -charissilcompact-i.ttf fonts-sil-charis-compact -charissilcompact-r.ttf fonts-sil-charis-compact -chemrea.ttf ttf-aenigma -chemreb.ttf ttf-aenigma -cherrybomb-regular.otf fonts-cherrybomb -chilanka-regular.otf fonts-smc-chilanka -chintzy.ttf ttf-aenigma -chintzys.ttf ttf-aenigma -chumbly.ttf ttf-aenigma -circossymbols.otf fonts-circos-symbols -circulat.ttf ttf-aenigma -clasict1.ttf ttf-aenigma -clasict2.ttf ttf-aenigma -claw1.ttf ttf-aenigma -claw2.ttf ttf-aenigma -clearsans-bold.ttf fonts-clear-sans -clearsans-bolditalic.ttf fonts-clear-sans -clearsans-italic.ttf fonts-clear-sans -clearsans-light.ttf fonts-clear-sans -clearsans-medium.ttf fonts-clear-sans -clearsans-mediumitalic.ttf fonts-clear-sans -clearsans-regular.ttf fonts-clear-sans -clearsans-thin.ttf fonts-clear-sans -cleavttr.ttf ttf-aenigma -cmex10.ttf fonts-lyx -cmmi10.ttf fonts-lyx -cmr10.ttf fonts-lyx -cmsy10.ttf fonts-lyx -cmunbbx.ttf fonts-cmu -cmunbi.ttf fonts-cmu -cmunbl.ttf fonts-cmu -cmunbmo.ttf fonts-cmu -cmunbmr.ttf fonts-cmu -cmunbso.ttf fonts-cmu -cmunbsr.ttf fonts-cmu -cmunbtl.ttf fonts-cmu -cmunbto.ttf fonts-cmu -cmunbx.ttf fonts-cmu -cmunbxo.ttf fonts-cmu -cmunci.ttf fonts-cmu -cmunit.ttf fonts-cmu -cmunobi.ttf fonts-cmu -cmunobx.ttf fonts-cmu -cmunorm.ttf fonts-cmu -cmunoti.ttf fonts-cmu -cmunrb.ttf fonts-cmu -cmunrm.ttf fonts-cmu -cmunsi.ttf fonts-cmu -cmunsl.ttf fonts-cmu -cmunso.ttf fonts-cmu -cmunss.ttf fonts-cmu -cmunssdc.ttf fonts-cmu -cmunst.ttf fonts-cmu -cmunsx.ttf fonts-cmu -cmuntb.ttf fonts-cmu -cmunti.ttf fonts-cmu -cmuntt.ttf fonts-cmu -cmuntx.ttf fonts-cmu -cmunui.ttf fonts-cmu -cmunvi.ttf fonts-cmu -cmunvt.ttf fonts-cmu -codelife.ttf ttf-aenigma -collecro.ttf ttf-aenigma -collecrs.ttf ttf-aenigma -collecto.ttf ttf-aenigma -collects.ttf ttf-aenigma -combusii.ttf ttf-aenigma -combuspl.ttf ttf-aenigma -combusti.ttf ttf-aenigma -combustt.ttf ttf-aenigma -combustw.ttf ttf-aenigma -comfortaa-bold.ttf fonts-comfortaa -comfortaa-light.ttf fonts-comfortaa -comfortaa-regular.ttf fonts-comfortaa -comicneue-angular-regular.otf fonts-comic-neue -comicneue-angular_bold.otf fonts-comic-neue -comicneue-angular_bold_oblique.otf fonts-comic-neue -comicneue-angular_light.otf fonts-comic-neue -comicneue-angular_light_oblique.otf fonts-comic-neue -comicneue-angular_oblique.otf fonts-comic-neue -comicneue-regular.otf fonts-comic-neue -comicneue_bold.otf fonts-comic-neue -comicneue_bold_oblique.otf fonts-comic-neue -comicneue_light.otf fonts-comic-neue -comicneue_light_oblique.otf fonts-comic-neue -comicneue_oblique.otf fonts-comic-neue -compagnon-bold.otf fonts-compagnon -compagnon-italic.otf fonts-compagnon -compagnon-light.otf fonts-compagnon -compagnon-medium.otf fonts-compagnon -compagnon-roman.otf fonts-compagnon -compc1o.ttf ttf-aenigma -compc1s.ttf ttf-aenigma -compc2o.ttf ttf-aenigma -compc2s.ttf ttf-aenigma -compc3o.ttf ttf-aenigma -compc3s.ttf ttf-aenigma -conakry.ttf fonts-evertype-conakry -condui2i.ttf ttf-aenigma -conduit.ttf ttf-aenigma -conduit2.ttf ttf-aenigma -cousine-bold.ttf fonts-croscore -cousine-bolditalic.ttf fonts-croscore -cousine-italic.ttf fonts-croscore -cousine-regular.ttf fonts-croscore -crackdr2.ttf ttf-aenigma -cretan_hint.ttf fonts-ancient-scripts -crkdownr.ttf ttf-aenigma -crkdwno1.ttf ttf-aenigma -crkdwno2.ttf ttf-aenigma -crystal.ttf fonts-povray -cupola.ttf fonts-georgewilliams -cwfs.ttf fonts-cwtex-fs -cwheib.ttf fonts-cwtex-heib -cwkai.ttf fonts-cwtex-kai -cwming.ttf fonts-cwtex-ming -cwyen.ttf fonts-cwtex-yen -cyprominoan_hint.ttf fonts-ancient-scripts -cyrvetic.ttf fonts-povray -d050000l.otf fonts-urw-base35 -damase.ttf fonts-mph-2b-damase -dancingscript-bold.otf fonts-dancingscript -dancingscript-regular.otf fonts-dancingscript -daniel.otf fonts-ldco -daniel.ttf fonts-ldco -darkside.ttf ttf-aenigma -dashdot.ttf ttf-aenigma -dastardl.ttf ttf-aenigma -dblayer1.ttf ttf-aenigma -dblayer2.ttf ttf-aenigma -dblayer3.ttf ttf-aenigma -dblayer4.ttf ttf-aenigma -dblbogey.ttf ttf-aenigma -dbsilbb.ttf fonts-sil-dai-banna -dbsilbc.ttf fonts-sil-dai-banna -dbsilbo.ttf fonts-sil-dai-banna -dbsilbr.ttf fonts-sil-dai-banna -dbsillb.ttf fonts-sil-dai-banna -dbsillc.ttf fonts-sil-dai-banna -dbsillo.ttf fonts-sil-dai-banna -dbsillr.ttf fonts-sil-dai-banna -dclmarker-black.ttf fonts-dclfonts -dclmarker-bold.ttf fonts-dclfonts -dclmarker-light.ttf fonts-dclfonts -dclmarker-regular.ttf fonts-dclfonts -ddc_uchen.ttf fonts-ddc-uchen -decrepit.ttf ttf-aenigma -dejavumathtexgyre.ttf fonts-dejavu-extra -dejavusans-bold.ttf fonts-dejavu-core -dejavusans-bold.ttf ttf-dejavu-core -dejavusans-boldoblique.ttf fonts-dejavu-extra -dejavusans-boldoblique.ttf ttf-dejavu-extra -dejavusans-extralight.ttf fonts-dejavu-extra -dejavusans-extralight.ttf ttf-dejavu-extra -dejavusans-oblique.ttf fonts-dejavu-extra -dejavusans-oblique.ttf ttf-dejavu-extra -dejavusans.ttf fonts-dejavu-core -dejavusans.ttf ttf-dejavu-core -dejavusanscondensed-bold.ttf fonts-dejavu-extra -dejavusanscondensed-bold.ttf ttf-dejavu-extra -dejavusanscondensed-boldoblique.ttf fonts-dejavu-extra -dejavusanscondensed-boldoblique.ttf ttf-dejavu-extra -dejavusanscondensed-oblique.ttf fonts-dejavu-extra -dejavusanscondensed-oblique.ttf ttf-dejavu-extra -dejavusanscondensed.ttf fonts-dejavu-extra -dejavusanscondensed.ttf ttf-dejavu-extra -dejavusansmono-bold.ttf fonts-dejavu-core -dejavusansmono-bold.ttf ttf-dejavu-core -dejavusansmono-boldoblique.ttf fonts-dejavu-extra -dejavusansmono-boldoblique.ttf ttf-dejavu-extra -dejavusansmono-oblique.ttf fonts-dejavu-extra -dejavusansmono-oblique.ttf ttf-dejavu-extra -dejavusansmono.ttf fonts-dejavu-core -dejavusansmono.ttf ttf-dejavu-core -dejavuserif-bold.ttf fonts-dejavu-core -dejavuserif-bold.ttf ttf-dejavu-core -dejavuserif-bolditalic.ttf fonts-dejavu-extra -dejavuserif-bolditalic.ttf ttf-dejavu-extra -dejavuserif-italic.ttf fonts-dejavu-extra -dejavuserif-italic.ttf ttf-dejavu-extra -dejavuserif.ttf fonts-dejavu-core -dejavuserif.ttf ttf-dejavu-core -dejavuserifcondensed-bold.ttf fonts-dejavu-extra -dejavuserifcondensed-bold.ttf ttf-dejavu-extra -dejavuserifcondensed-bolditalic.ttf fonts-dejavu-extra -dejavuserifcondensed-bolditalic.ttf ttf-dejavu-extra -dejavuserifcondensed-italic.ttf fonts-dejavu-extra -dejavuserifcondensed-italic.ttf ttf-dejavu-extra -dejavuserifcondensed.ttf fonts-dejavu-extra -dejavuserifcondensed.ttf ttf-dejavu-extra -dejima-mincho-r227.ttf fonts-dejima-mincho -delphine.ttf fonts-sjfonts -denemo.ttf ttf-denemo -dented.ttf ttf-aenigma -dephun2.ttf ttf-aenigma -detonate.ttf ttf-aenigma -discorda.ttf ttf-aenigma -dkg.ttf fonts-dkg-handwriting -dkgbd.ttf fonts-dkg-handwriting -dkgbi.ttf fonts-dkg-handwriting -dkgit.ttf fonts-dkg-handwriting -domestic_manners.ttf fonts-dustin -dosis-bold.otf fonts-dosis -dosis-book.otf fonts-dosis -dosis-extrabold.otf fonts-dosis -dosis-extralight.otf fonts-dosis -dosis-light.otf fonts-dosis -dosis-medium.otf fonts-dosis -dosis-semibold.otf fonts-dosis -dotum.ttf fonts-baekmuk -doulossil-r.ttf fonts-sil-doulos -doulossilcompact-r.ttf fonts-sil-doulos-compact -draggle.ttf ttf-aenigma -draggleo.ttf ttf-aenigma -droidsansfallback.ttf fonts-droid-fallback -droidsansfallbackfull.ttf fonts-droid-fallback -dseg14classic-bold.ttf fonts-dseg -dseg14classic-bolditalic.ttf fonts-dseg -dseg14classic-italic.ttf fonts-dseg -dseg14classic-light.ttf fonts-dseg -dseg14classic-lightitalic.ttf fonts-dseg -dseg14classic-regular.ttf fonts-dseg -dseg14classicmini-bold.ttf fonts-dseg -dseg14classicmini-bolditalic.ttf fonts-dseg -dseg14classicmini-italic.ttf fonts-dseg -dseg14classicmini-light.ttf fonts-dseg -dseg14classicmini-lightitalic.ttf fonts-dseg -dseg14classicmini-regular.ttf fonts-dseg -dseg14modern-bold.ttf fonts-dseg -dseg14modern-bolditalic.ttf fonts-dseg -dseg14modern-italic.ttf fonts-dseg -dseg14modern-light.ttf fonts-dseg -dseg14modern-lightitalic.ttf fonts-dseg -dseg14modern-regular.ttf fonts-dseg -dseg14modernmini-bold.ttf fonts-dseg -dseg14modernmini-bolditalic.ttf fonts-dseg -dseg14modernmini-italic.ttf fonts-dseg -dseg14modernmini-light.ttf fonts-dseg -dseg14modernmini-lightitalic.ttf fonts-dseg -dseg14modernmini-regular.ttf fonts-dseg -dseg7classic-bold.ttf fonts-dseg -dseg7classic-bolditalic.ttf fonts-dseg -dseg7classic-italic.ttf fonts-dseg -dseg7classic-light.ttf fonts-dseg -dseg7classic-lightitalic.ttf fonts-dseg -dseg7classic-regular.ttf fonts-dseg -dseg7classicmini-bold.ttf fonts-dseg -dseg7classicmini-bolditalic.ttf fonts-dseg -dseg7classicmini-italic.ttf fonts-dseg -dseg7classicmini-light.ttf fonts-dseg -dseg7classicmini-lightitalic.ttf fonts-dseg -dseg7classicmini-regular.ttf fonts-dseg -dseg7modern-bold.ttf fonts-dseg -dseg7modern-bolditalic.ttf fonts-dseg -dseg7modern-italic.ttf fonts-dseg -dseg7modern-light.ttf fonts-dseg -dseg7modern-lightitalic.ttf fonts-dseg -dseg7modern-regular.ttf fonts-dseg -dseg7modernmini-bold.ttf fonts-dseg -dseg7modernmini-bolditalic.ttf fonts-dseg -dseg7modernmini-italic.ttf fonts-dseg -dseg7modernmini-light.ttf fonts-dseg -dseg7modernmini-lightitalic.ttf fonts-dseg -dseg7modernmini-regular.ttf fonts-dseg -dseg7seggchan-regular.ttf fonts-dseg -dseg7seggchanmini-regular.ttf fonts-dseg -dsegweather.ttf fonts-dseg -dustismo.ttf fonts-dustin -dustismo_bold.ttf fonts-dustin -dustismo_bold_italic.ttf fonts-dustin -dustismo_italic.ttf fonts-dustin -dustismo_roman.ttf fonts-dustin -dustismo_roman_bold.ttf fonts-dustin -dustismo_roman_italic.ttf fonts-dustin -dustismo_roman_italic_bold.ttf fonts-dustin -dynamic.ttf ttf-aenigma -dyphusio.ttf ttf-aenigma -dystorqu.ttf ttf-aenigma -dyuthi-regular.ttf fonts-smc-dyuthi -ebgaramond-initials.otf fonts-ebgaramond-extra -ebgaramond-initials.ttf fonts-ebgaramond-extra -ebgaramond-initialsf1.otf fonts-ebgaramond-extra -ebgaramond-initialsf1.ttf fonts-ebgaramond-extra -ebgaramond-initialsf2.otf fonts-ebgaramond-extra -ebgaramond-initialsf2.ttf fonts-ebgaramond-extra -ebgaramond08-italic.otf fonts-ebgaramond -ebgaramond08-italic.ttf fonts-ebgaramond-extra -ebgaramond08-regular.otf fonts-ebgaramond -ebgaramond08-regular.ttf fonts-ebgaramond-extra -ebgaramond12-allsc.otf fonts-ebgaramond-extra -ebgaramond12-allsc.ttf fonts-ebgaramond-extra -ebgaramond12-bold.otf fonts-ebgaramond -ebgaramond12-bold.ttf fonts-ebgaramond-extra -ebgaramond12-italic.otf fonts-ebgaramond -ebgaramond12-italic.ttf fonts-ebgaramond-extra -ebgaramond12-regular.otf fonts-ebgaramond -ebgaramond12-regular.ttf fonts-ebgaramond-extra -ebgaramondsc08-regular.otf fonts-ebgaramond-extra -ebgaramondsc08-regular.ttf fonts-ebgaramond-extra -ebgaramondsc12-regular.otf fonts-ebgaramond-extra -ebgaramondsc12-regular.ttf fonts-ebgaramond-extra -ecliptic.ttf ttf-aenigma -eco.otf fonts-ldco -eco.ttf fonts-ldco -ecolier-court.ttf fonts-ecolier-court -ecolier-lignes-court.ttf fonts-ecolier-lignes-court -editundo.ttf ttf-aenigma -edundot.ttf ttf-aenigma -edunline.ttf ttf-aenigma -eeyek.ttf fonts-eeyek -el_abogado_loco.ttf fonts-dustin -elegbold.ttf fonts-linex -elegital.ttf fonts-linex -elleboli.ttf fonts-linex -ellenbold.ttf fonts-linex -ellenike.ttf fonts-linex -ellenita.ttf fonts-linex -elsewhe2.ttf ttf-aenigma -elsewher.ttf ttf-aenigma -elusiveicons-webfont.ttf fonts-elusive-icons -embosst1.ttf ttf-aenigma -embosst2.ttf ttf-aenigma -embosst3.ttf ttf-aenigma -emerita_latina.ttf fonts-linex -emmentaler.ttf ttf-denemo -encappln.ttf ttf-aenigma -encapsul.ttf ttf-aenigma -engadget.ttf ttf-engadget -entangle.ttf ttf-aenigma -enthuse.ttf ttf-aenigma -enthuses.ttf ttf-aenigma -entlayra.ttf ttf-aenigma -entlayrb.ttf ttf-aenigma -entplain.ttf ttf-aenigma -entypo.ttf fonts-entypo -esint10.ttf fonts-lyx -essays1743-bold.ttf fonts-essays1743 -essays1743-bolditalic.ttf fonts-essays1743 -essays1743-italic.ttf fonts-essays1743 -essays1743.ttf fonts-essays1743 -eufm10.ttf fonts-lyx -eunjin.ttf fonts-alee -eunjinnakseo.ttf fonts-alee -euphor3d.ttf ttf-aenigma -euphoric.ttf ttf-aenigma -eurof35.ttf fonts-eurofurence -eurof36.ttf fonts-eurofurence -eurof55.ttf fonts-eurofurence -eurof56.ttf fonts-eurofurence -eurof75.ttf fonts-eurofurence -eurof76.ttf fonts-eurofurence -eurofc35.ttf fonts-eurofurence -eurofc36.ttf fonts-eurofurence -eurofc55.ttf fonts-eurofurence -eurofc56.ttf fonts-eurofurence -eurofc75.ttf fonts-eurofurence -eurofc76.ttf fonts-eurofurence -euterpe.ttf fonts-oflb-euterpe -exagger8.ttf ttf-aenigma -extracti.ttf ttf-aenigma -f500.ttf fonts-f500 -falsepos.ttf ttf-aenigma -falsposr.ttf ttf-aenigma -fantasquesansmono-bold.otf fonts-fantasque-sans -fantasquesansmono-bold.ttf fonts-fantasque-sans -fantasquesansmono-bolditalic.otf fonts-fantasque-sans -fantasquesansmono-bolditalic.ttf fonts-fantasque-sans -fantasquesansmono-italic.otf fonts-fantasque-sans -fantasquesansmono-italic.ttf fonts-fantasque-sans -fantasquesansmono-regular.otf fonts-fantasque-sans -fantasquesansmono-regular.ttf fonts-fantasque-sans -fantuwua.ttf fonts-senamirmir-washra -fanwood-italic.otf fonts-fanwood -fanwood.otf fonts-fanwood -fanwoodtext-italic.otf fonts-fanwood -fanwoodtext.otf fonts-fanwood -fascii.ttf ttf-aenigma -fasciicr.ttf ttf-aenigma -fasciisc.ttf ttf-aenigma -fasciism.ttf ttf-aenigma -fasciitw.ttf ttf-aenigma -fauxsnow.ttf ttf-aenigma -fbsbltc.ttf ttf-aenigma -fbsbltc2.ttf ttf-aenigma -femkeklaver.ttf fonts-femkeklaver -ferritecore-regular.otf fonts-ferrite-core -feta.ttf ttf-denemo -fetteclassicunzfraktur.ttf fonts-cegui -fidgety.ttf ttf-aenigma -firacode-bold.ttf fonts-firacode -firacode-light.ttf fonts-firacode -firacode-medium.ttf fonts-firacode -firacode-regular.ttf fonts-firacode -firacode-retina.ttf fonts-firacode -firacode-semibold.ttf fonts-firacode -flatline.ttf fonts-dustin -flipside.ttf ttf-aenigma -fontawesome-webfont.ttf fonts-font-awesome -fontawesome-webfont.ttf fonts-glewlwyd -fontawesome.otf fonts-font-awesome -fontawesome.otf fonts-glewlwyd -fonts-sambhota-tsugring.otf fonts-sambhota-tsugring -forcible.ttf ttf-aenigma -forkawesome-webfont.ttf fonts-fork-awesome -foulisgreek.ttf fonts-junicode -freaktur.ttf ttf-aenigma -freefarsi-bold.ttf fonts-freefarsi -freefarsi-bolditalic.ttf fonts-freefarsi -freefarsi-italic.ttf fonts-freefarsi -freefarsi-mono.ttf fonts-freefarsi -freefarsi.ttf fonts-freefarsi -freemono.otf fonts-freefont-otf -freemono.ttf fonts-freefont-ttf -freemonobold.otf fonts-freefont-otf -freemonobold.ttf fonts-freefont-ttf -freemonoboldoblique.otf fonts-freefont-otf -freemonoboldoblique.ttf fonts-freefont-ttf -freemonooblique.otf fonts-freefont-otf -freemonooblique.ttf fonts-freefont-ttf -freesans.otf fonts-freefont-otf -freesans.ttf fonts-freefont-ttf -freesansbold.otf fonts-freefont-otf -freesansbold.ttf fonts-freefont-ttf -freesansboldoblique.otf fonts-freefont-otf -freesansboldoblique.ttf fonts-freefont-ttf -freesansoblique.otf fonts-freefont-otf -freesansoblique.ttf fonts-freefont-ttf -freeserif.otf fonts-freefont-otf -freeserif.ttf fonts-freefont-ttf -freeserifbold.otf fonts-freefont-otf -freeserifbold.ttf fonts-freefont-ttf -freeserifbolditalic.otf fonts-freefont-otf -freeserifbolditalic.ttf fonts-freefont-ttf -freeserifitalic.otf fonts-freefont-otf -freeserifitalic.ttf fonts-freefont-ttf -frizzed.ttf ttf-aenigma -fullcomp.ttf ttf-aenigma -futharkadapted.ttf fonts-cegui -galapogo.ttf ttf-aenigma -galsilb.ttf fonts-sil-galatia -galsilr.ttf fonts-sil-galatia -galvaniz.ttf ttf-aenigma -gamaliel.ttf fonts-gamaliel -gaposiso.ttf ttf-aenigma -gaposiss.ttf ttf-aenigma -gardiner_hint.ttf fonts-ancient-scripts -gargi.ttf fonts-gargi -garuda-bold.otf fonts-tlwg-garuda-otf -garuda-bold.ttf fonts-tlwg-garuda-ttf -garuda-boldoblique.otf fonts-tlwg-garuda-otf -garuda-boldoblique.ttf fonts-tlwg-garuda-ttf -garuda-oblique.otf fonts-tlwg-garuda-otf -garuda-oblique.ttf fonts-tlwg-garuda-ttf -garuda.otf fonts-tlwg-garuda-otf -garuda.ttf fonts-tlwg-garuda-ttf -gasping.ttf ttf-aenigma -gather.ttf ttf-aenigma -gathrgap.ttf ttf-aenigma -gayathri-bold.otf fonts-smc-gayathri -gayathri-regular.otf fonts-smc-gayathri -gayathri-thin.otf fonts-smc-gayathri -gbsn00lp.ttf fonts-arphic-gbsn00lp -genbasb.ttf fonts-sil-gentium-basic -genbasbi.ttf fonts-sil-gentium-basic -genbasi.ttf fonts-sil-gentium-basic -genbasr.ttf fonts-sil-gentium-basic -genbkbasb.ttf fonts-sil-gentium-basic -genbkbasbi.ttf fonts-sil-gentium-basic -genbkbasi.ttf fonts-sil-gentium-basic -genbkbasr.ttf fonts-sil-gentium-basic -genotyph.ttf ttf-aenigma -genotyps.ttf ttf-aenigma -genotyrh.ttf ttf-aenigma -genotyrs.ttf ttf-aenigma -gentium-i.ttf fonts-sil-gentium -gentium-r.ttf fonts-sil-gentium -gentiumalt-i.ttf fonts-sil-gentium -gentiumalt-r.ttf fonts-sil-gentium -gentiumplus-i.ttf fonts-sil-gentiumplus -gentiumplus-r.ttf fonts-sil-gentiumplus -gentiumpluscompact-i.ttf fonts-sil-gentiumplus-compact -gentiumpluscompact-r.ttf fonts-sil-gentiumplus-compact -gesture.ttf ttf-aenigma -gestures.ttf ttf-aenigma -gesturet.ttf ttf-aenigma -gesturts.ttf ttf-aenigma -gfsartemisia.otf fonts-gfs-artemisia -gfsartemisiabold.otf fonts-gfs-artemisia -gfsartemisiaboldit.otf fonts-gfs-artemisia -gfsartemisiait.otf fonts-gfs-artemisia -gfsbaskerville.otf fonts-gfs-baskerville -gfsbodoniclassic.otf fonts-gfs-bodoni-classic -gfsdidot.otf fonts-gfs-didot -gfsdidotbold.otf fonts-gfs-didot -gfsdidotbolditalic.otf fonts-gfs-didot -gfsdidotclassic.otf fonts-gfs-didot-classic -gfsdidotitalic.otf fonts-gfs-didot -gfsgazis.otf fonts-gfs-gazis -gfsneohellenic.otf fonts-gfs-neohellenic -gfsneohellenicbold.otf fonts-gfs-neohellenic -gfsneohellenicboldit.otf fonts-gfs-neohellenic -gfsneohellenicit.otf fonts-gfs-neohellenic -gfsolga.otf fonts-gfs-olga -gfspolyglot.otf fonts-gfs-complutum -gfsporson.otf fonts-gfs-porson -gfssolomos.otf fonts-gfs-solomos -gfstheokritos.otf fonts-gfs-theokritos -gilliusadf-bold.otf fonts-adf-gillius -gilliusadf-boldcond.otf fonts-adf-gillius -gilliusadf-boldconditalic.otf fonts-adf-gillius -gilliusadf-bolditalic.otf fonts-adf-gillius -gilliusadf-cond.otf fonts-adf-gillius -gilliusadf-conditalic.otf fonts-adf-gillius -gilliusadf-italic.otf fonts-adf-gillius -gilliusadf-regular.otf fonts-adf-gillius -gilliusadfno2-bold.otf fonts-adf-gillius -gilliusadfno2-boldcond.otf fonts-adf-gillius -gilliusadfno2-boldconditalic.otf fonts-adf-gillius -gilliusadfno2-bolditalic.otf fonts-adf-gillius -gilliusadfno2-cond.otf fonts-adf-gillius -gilliusadfno2-conditalic.otf fonts-adf-gillius -gilliusadfno2-italic.otf fonts-adf-gillius -gilliusadfno2-regular.otf fonts-adf-gillius -gkai00mp.ttf fonts-arphic-gkai00mp -glass_tty_vt220.ttf fonts-glasstty -glyphicons-halflings-regular.ttf fonts-glewlwyd -glyphicons-halflings-regular.ttf fonts-glyphicons-halflings -gnutypewriter.ttf fonts-gnutypewriter -go-bold-italic.ttf fonts-go -go-bold.ttf fonts-go -go-italic.ttf fonts-go -go-medium-italic.ttf fonts-go -go-medium.ttf fonts-go -go-mono-bold-italic.ttf fonts-go -go-mono-bold.ttf fonts-go -go-mono-italic.ttf fonts-go -go-mono.ttf fonts-go -go-regular.ttf fonts-go -go-smallcaps-italic.ttf fonts-go -go-smallcaps.ttf fonts-go -goffer.ttf fonts-senamirmir-washra -gosebmp2.ttf ttf-aenigma -gosebmps.ttf ttf-aenigma -gothu___.ttf fonts-uralic -gothub__.ttf fonts-uralic -goudybookletter1911.otf fonts-goudybookletter -gr8higts.ttf ttf-aenigma -granular.ttf ttf-aenigma -grapple.ttf ttf-aenigma -graveyrd.ttf ttf-aenigma -graviseg.ttf ttf-aenigma -gravitat.ttf ttf-aenigma -graze.ttf ttf-aenigma -greatvibes-regular.ttf fonts-cegui -grotesq.ttf ttf-aenigma -grudge.ttf ttf-aenigma -grudge2.ttf ttf-aenigma -gubbi.ttf fonts-gubbi -gulim.ttf fonts-baekmuk -guseul.ttf fonts-alee -gwmonospace.ttf fonts-georgewilliams -gwmonospacebold.ttf fonts-georgewilliams -gwmonospaceoblique.ttf fonts-georgewilliams -gyneric.ttf ttf-aenigma -gyneric3.ttf ttf-aenigma -gyroresh.ttf ttf-aenigma -gyrose.ttf ttf-aenigma -gyrosesq.ttf ttf-aenigma -hack-bold.ttf fonts-hack -hack-bolditalic.ttf fonts-hack -hack-italic.ttf fonts-hack -hack-regular.ttf fonts-hack -hackslsh.ttf ttf-aenigma -hairball.ttf ttf-aenigma -hamlet-cicero12.otf fonts-gotico-antiqua -hamlet-tertia18.otf fonts-gotico-antiqua -hanamina.ttf fonts-hanazono -hanaminb.ttf fonts-hanazono -handmedo.ttf ttf-aenigma -handmeds.ttf ttf-aenigma -harmattan-bold.ttf fonts-sil-harmattan -harmattan-regular.ttf fonts-sil-harmattan -harsinai.otf fonts-ldco -harsinai.ttf fonts-ldco -hassle.ttf ttf-aenigma -havana-regular.otf fonts-havana -hbevel.ttf ttf-aenigma -hdmaker.ttf ttf-aenigma -hearts.ttf ttf-aenigma -hermit-bold.otf fonts-hermit -hermit-light.otf fonts-hermit -hermit-medium.otf fonts-hermit -hidekel.otf fonts-ldco -hidekel.ttf fonts-ldco -hillock.ttf ttf-aenigma -hiwua.ttf fonts-senamirmir-washra -hline.ttf fonts-baekmuk -homa.ttf fonts-farsiweb -homespun.ttf ttf-aenigma -humor-sans.ttf fonts-humor-sans -hyde.ttf ttf-aenigma -hyperion.ttf ttf-aenigma -ikariusadfno2std-bold.otf fonts-adf-ikarius -ikariusadfno2std-bolditalic.otf fonts-adf-ikarius -ikariusadfno2std-italic.otf fonts-adf-ikarius -ikariusadfno2std-regular.otf fonts-adf-ikarius -ikariusadfstd-bold.otf fonts-adf-ikarius -ikariusadfstd-bolditalic.otf fonts-adf-ikarius -ikariusadfstd-italic.otf fonts-adf-ikarius -ikariusadfstd-regular.otf fonts-adf-ikarius -ilits.ttf ttf-aenigma -imfepirm29p.ttf fonts-cegui -imposs.ttf ttf-aenigma -inconsolata.otf fonts-inconsolata -induni-c-bold.otf fonts-johnsmith-induni -induni-c-boldoblique.otf fonts-johnsmith-induni -induni-c-oblique.otf fonts-johnsmith-induni -induni-c-regular.otf fonts-johnsmith-induni -induni-h-bold.otf fonts-johnsmith-induni -induni-h-boldoblique.otf fonts-johnsmith-induni -induni-h-oblique.otf fonts-johnsmith-induni -induni-h-regular.otf fonts-johnsmith-induni -induni-n-bold.otf fonts-johnsmith-induni -induni-n-bolditalic.otf fonts-johnsmith-induni -induni-n-italic.otf fonts-johnsmith-induni -induni-n-roman.otf fonts-johnsmith-induni -induni-p-bold.otf fonts-johnsmith-induni -induni-p-bolditalic.otf fonts-johnsmith-induni -induni-p-italic.otf fonts-johnsmith-induni -induni-p-roman.otf fonts-johnsmith-induni -induni-t-bold.otf fonts-johnsmith-induni -induni-t-bolditalic.otf fonts-johnsmith-induni -induni-t-italic.otf fonts-johnsmith-induni -induni-t-roman.otf fonts-johnsmith-induni -inertia.ttf ttf-aenigma -inevitab.ttf ttf-aenigma -inkswipe.ttf ttf-aenigma -inktank.ttf ttf-aenigma -inter-black.otf fonts-inter -inter-blackitalic.otf fonts-inter -inter-bold.otf fonts-inter -inter-bolditalic.otf fonts-inter -inter-extrabold.otf fonts-inter -inter-extrabolditalic.otf fonts-inter -inter-extralight.otf fonts-inter -inter-extralightitalic.otf fonts-inter -inter-italic.otf fonts-inter -inter-light.otf fonts-inter -inter-lightitalic.otf fonts-inter -inter-medium.otf fonts-inter -inter-mediumitalic.otf fonts-inter -inter-regular.otf fonts-inter -inter-semibold.otf fonts-inter -inter-semibolditalic.otf fonts-inter -inter-thin.otf fonts-inter -inter-thinitalic.otf fonts-inter -intersc.ttf ttf-aenigma -intersec.ttf ttf-aenigma -interso.ttf ttf-aenigma -ipabold.ttf fonts-linex -ipabolit.ttf fonts-linex -ipaexg.ttf fonts-ipaexfont-gothic -ipaexm.ttf fonts-ipaexfont-mincho -ipag.ttf fonts-ipafont-gothic -ipagp.ttf fonts-ipafont-gothic -ipaitali.ttf fonts-linex -ipam.ttf fonts-ipafont-mincho -ipamjm.ttf fonts-ipamj-mincho -ipamp.ttf fonts-ipafont-mincho -iparegul.ttf fonts-linex -irianisadfstd-bold.otf fonts-adf-irianis -irianisadfstd-bolditalic.otf fonts-adf-irianis -irianisadfstd-italic.otf fonts-adf-irianis -irianisadfstd-regular.otf fonts-adf-irianis -irianisadfstylestd-bold.otf fonts-adf-irianis -irianisadfstylestd-bolditalic.otf fonts-adf-irianis -irianisadfstylestd-italic.otf fonts-adf-irianis -irianisadfstylestd-regular.otf fonts-adf-irianis -irritate.ttf ttf-aenigma -isabella.ttf fonts-isabella -it_wasn_t_me.ttf fonts-dustin -jagged.ttf ttf-aenigma -jamrulnormal.ttf fonts-beng-extra -janken.ttf ttf-aenigma -jara.ttf fonts-linex -jara_bold-it.ttf fonts-linex -jara_bold.ttf fonts-linex -jara_it.ttf fonts-linex -jargon.ttf ttf-aenigma -jasper.ttf ttf-aenigma -jaspers.ttf ttf-aenigma -jawbhard.ttf ttf-aenigma -jawbreak.ttf ttf-aenigma -jawbrko1.ttf ttf-aenigma -jawbrko2.ttf ttf-aenigma -jekyll.ttf ttf-aenigma -jeopardi.ttf ttf-aenigma -jeopardt.ttf ttf-aenigma -jessen-cicero12.otf fonts-gotico-antiqua -jessen-mittel14.otf fonts-gotico-antiqua -jiret.ttf fonts-senamirmir-washra -jmacscrl.ttf ttf-aenigma -joltcaff.ttf ttf-aenigma -jomolhari-alpha3c-0605331.ttf fonts-dzongkha -josef.otf fonts-ldco -josef.ttf fonts-ldco -jsmath-bbold10.ttf fonts-jsmath -jsmath-cmbsy10.ttf fonts-jsmath -jsmath-cmbx10.ttf fonts-jsmath -jsmath-cmex10.ttf fonts-jsmath -jsmath-cmmi10.ttf fonts-jsmath -jsmath-cmmib10.ttf fonts-jsmath -jsmath-cmr10.ttf fonts-jsmath -jsmath-cmss10.ttf fonts-jsmath -jsmath-cmsy10.ttf fonts-jsmath -jsmath-cmti10.ttf fonts-jsmath -jsmath-eufb10.ttf fonts-jsmath -jsmath-eufm10.ttf fonts-jsmath -jsmath-eurb10.ttf fonts-jsmath -jsmath-eurm10.ttf fonts-jsmath -jsmath-eusb10.ttf fonts-jsmath -jsmath-eusm10.ttf fonts-jsmath -jsmath-lasy10.ttf fonts-jsmath -jsmath-lasyb10.ttf fonts-jsmath -jsmath-msam10.ttf fonts-jsmath -jsmath-msbm10.ttf fonts-jsmath -jsmath-rsfs10.ttf fonts-jsmath -jsmath-stmary10.ttf fonts-jsmath -jsmath-wasy10.ttf fonts-jsmath -jsmath-wasyb10.ttf fonts-jsmath -junction.otf fonts-junction -junicode-bold.ttf fonts-junicode -junicode-bolditalic.ttf fonts-junicode -junicode-italic.ttf fonts-junicode -junicode.ttf fonts-junicode -junkyard.ttf fonts-dustin -jupiterc.ttf ttf-aenigma -jura-bold.otf fonts-jura -jura-light.otf fonts-jura -jura-medium.otf fonts-jura -jura-regular.otf fonts-jura -jura-semibold.otf fonts-jura -kacstart.ttf fonts-kacst -kacstbook.ttf fonts-kacst -kacstdecorative.ttf fonts-kacst -kacstdigital.ttf fonts-kacst -kacstfarsi.ttf fonts-kacst -kacstletter.ttf fonts-kacst -kacstnaskh.ttf fonts-kacst -kacstoffice.ttf fonts-kacst -kacstone-bold.ttf fonts-kacst-one -kacstone.ttf fonts-kacst-one -kacstpen.ttf fonts-kacst -kacstposter.ttf fonts-kacst -kacstqurn.ttf fonts-kacst -kacstscreen.ttf fonts-kacst -kacsttitle.ttf fonts-kacst -kacsttitlel.ttf fonts-kacst -kalapi.ttf fonts-kalapi -kaliberr.ttf ttf-aenigma -kalibers.ttf ttf-aenigma -kaliberx.ttf ttf-aenigma -kalimati.ttf fonts-deva-extra -kapl.ttf xfonts-kapl -karla-bold.ttf fonts-karla -karla-bolditalic.ttf fonts-karla -karla-italic.ttf fonts-karla -karla-regular.ttf fonts-karla -karlatamilinclined-bold.ttf fonts-karla -karlatamilinclined-regular.ttf fonts-karla -karlatamilupright-bold.ttf fonts-karla -karlatamilupright-regular.ttf fonts-karla -karmilla-bold.ttf fonts-karmilla -karmilla-regular.ttf fonts-karmilla -karumbi-regular.ttf fonts-smc-karumbi -kataacti.ttf ttf-aenigma -katainac.ttf ttf-aenigma -kaushanscript-regular.otf fonts-kaushanscript -keraleeyam-regular.ttf fonts-smc-keraleeyam -keyrialt.ttf ttf-aenigma -keyridge.ttf ttf-aenigma -khmeros.ttf fonts-khmeros -khmerosbattambang.ttf fonts-khmeros -khmerosbokor.ttf fonts-khmeros -khmeroscontent.ttf fonts-khmeros -khmerosfasthand.ttf fonts-khmeros -khmerosfreehand.ttf fonts-khmeros -khmerosmetalchrieng.ttf fonts-khmeros -khmerosmuol.ttf fonts-khmeros -khmerosmuollight.ttf fonts-khmeros -khmerosmuolpali.ttf fonts-khmeros -khmerossiemreap.ttf fonts-khmeros -khmerossys.ttf fonts-khmeros -kickflip.ttf ttf-aenigma -kiloji.ttf fonts-kiloji -kiloji_b.ttf fonts-kiloji -kiloji_d.ttf fonts-kiloji -kiloji_p.ttf fonts-kiloji -kimchi.otf fonts-ldco -kimchi.ttf fonts-ldco -kinkaid.ttf ttf-aenigma -kinnari-bold.otf fonts-tlwg-kinnari-otf -kinnari-bold.ttf fonts-tlwg-kinnari-ttf -kinnari-bolditalic.otf fonts-tlwg-kinnari-otf -kinnari-bolditalic.ttf fonts-tlwg-kinnari-ttf -kinnari-boldoblique.otf fonts-tlwg-kinnari-otf -kinnari-boldoblique.ttf fonts-tlwg-kinnari-ttf -kinnari-italic.otf fonts-tlwg-kinnari-otf -kinnari-italic.ttf fonts-tlwg-kinnari-ttf -kinnari-oblique.otf fonts-tlwg-kinnari-otf -kinnari-oblique.ttf fonts-tlwg-kinnari-ttf -kinnari.otf fonts-tlwg-kinnari-otf -kinnari.ttf fonts-tlwg-kinnari-ttf -kirbyss.ttf ttf-aenigma -klaudia-bold.ttf fonts-klaudia-berenika -klaudia-boldoblique.ttf fonts-klaudia-berenika -klaudia-oblique.ttf fonts-klaudia-berenika -klaudia.ttf fonts-klaudia-berenika -klingon-piqad-hasta.ttf fonts-cegui -knot.ttf ttf-aenigma -komatuna-p.ttf fonts-komatuna -komatuna.ttf fonts-komatuna -konatu.ttf fonts-konatu -konatutohaba.ttf fonts-konatu -konecto1.ttf ttf-aenigma -konecto2.ttf ttf-aenigma -konector.ttf ttf-aenigma -koneerie.ttf ttf-aenigma -kouzan-mouhitsu-gyosho.ttf fonts-kouzan-mouhitsu -kouzan-mouhitsu.ttf fonts-kouzan-mouhitsu -kouzanbrushfontsousyo.ttf fonts-kouzan-mouhitsu -kristi.ttf fonts-kristi -kurvatur.ttf ttf-aenigma -lakeshor.ttf ttf-aenigma -lakkireddy.ttf fonts-teluguvijayam -laksaman-bold.otf fonts-tlwg-laksaman-otf -laksaman-bold.ttf fonts-tlwg-laksaman-ttf -laksaman-bolditalic.otf fonts-tlwg-laksaman-otf -laksaman-bolditalic.ttf fonts-tlwg-laksaman-ttf -laksaman-italic.otf fonts-tlwg-laksaman-otf -laksaman-italic.ttf fonts-tlwg-laksaman-ttf -laksaman.otf fonts-tlwg-laksaman-otf -laksaman.ttf fonts-tlwg-laksaman-ttf -lamebrai.ttf ttf-aenigma -larkspur.ttf ttf-aenigma -lateefregot.ttf fonts-sil-lateef -latinmodern-math.otf fonts-lmodern -lato-black.ttf fonts-lato -lato-blackitalic.ttf fonts-lato -lato-bold.ttf fonts-lato -lato-bolditalic.ttf fonts-lato -lato-hairline.ttf fonts-lato -lato-hairlineitalic.ttf fonts-lato -lato-heavy.ttf fonts-lato -lato-heavyitalic.ttf fonts-lato -lato-italic.ttf fonts-lato -lato-light.ttf fonts-lato -lato-lightitalic.ttf fonts-lato -lato-medium.ttf fonts-lato -lato-mediumitalic.ttf fonts-lato -lato-regular.ttf fonts-lato -lato-semibold.ttf fonts-lato -lato-semibolditalic.ttf fonts-lato -lato-thin.ttf fonts-lato -lato-thinitalic.ttf fonts-lato -le-murmure.otf fonts-le-murmure -leaguespartan-black.otf fonts-league-spartan -leaguespartan-bold.otf fonts-league-spartan -leaguespartan-extrabold.otf fonts-league-spartan -leaguespartan-extralight.otf fonts-league-spartan -leaguespartan-light.otf fonts-league-spartan -leaguespartan-medium.otf fonts-league-spartan -leaguespartan-regular.otf fonts-league-spartan -leaguespartan-semibold.otf fonts-league-spartan -leckerlione-regular.otf fonts-leckerli-one -lemonada-bold.otf fonts-lemonada -lemonada-light.otf fonts-lemonada -lemonada-regular.otf fonts-lemonada -lemonada-semibold.otf fonts-lemonada -lethargi.ttf ttf-aenigma -lexigulim.ttf fonts-lexi-gulim -lexisaebomr.ttf fonts-lexi-saebom -liberationmono-bold.ttf fonts-liberation -liberationmono-bold.ttf fonts-liberation2 -liberationmono-bolditalic.ttf fonts-liberation -liberationmono-bolditalic.ttf fonts-liberation2 -liberationmono-italic.ttf fonts-liberation -liberationmono-italic.ttf fonts-liberation2 -liberationmono-regular.ttf fonts-liberation -liberationmono-regular.ttf fonts-liberation2 -liberationsans-bold.ttf fonts-liberation -liberationsans-bold.ttf fonts-liberation2 -liberationsans-bolditalic.ttf fonts-liberation -liberationsans-bolditalic.ttf fonts-liberation2 -liberationsans-italic.ttf fonts-liberation -liberationsans-italic.ttf fonts-liberation2 -liberationsans-regular.ttf fonts-liberation -liberationsans-regular.ttf fonts-liberation2 -liberationsansnarrow-bold.ttf fonts-liberation -liberationsansnarrow-bolditalic.ttf fonts-liberation -liberationsansnarrow-italic.ttf fonts-liberation -liberationsansnarrow-regular.ttf fonts-liberation -liberationserif-bold.ttf fonts-liberation -liberationserif-bold.ttf fonts-liberation2 -liberationserif-bolditalic.ttf fonts-liberation -liberationserif-bolditalic.ttf fonts-liberation2 -liberationserif-italic.ttf fonts-liberation -liberationserif-italic.ttf fonts-liberation2 -liberationserif-regular.ttf fonts-liberation -liberationserif-regular.ttf fonts-liberation2 -librisadfstd-bold.otf fonts-adf-libris -librisadfstd-bolditalic.otf fonts-adf-libris -librisadfstd-italic.otf fonts-adf-libris -librisadfstd-regular.otf fonts-adf-libris -licostrg.ttf ttf-aenigma -lightout.ttf ttf-aenigma -likhannormal.ttf fonts-beng-extra -lilach.otf fonts-ldco -lilach.ttf fonts-ldco -linbiolinum_k.otf fonts-linuxlibertine -linbiolinum_r.otf fonts-linuxlibertine -linbiolinum_rb.otf fonts-linuxlibertine -linbiolinum_ri.otf fonts-linuxlibertine -lindenhill-italic.otf fonts-lindenhill -lindenhill.otf fonts-lindenhill -lineding.ttf ttf-aenigma -linlibertine_dr.otf fonts-linuxlibertine -linlibertine_i.otf fonts-linuxlibertine -linlibertine_m.otf fonts-linuxlibertine -linlibertine_r.otf fonts-linuxlibertine -linlibertine_rb.otf fonts-linuxlibertine -linlibertine_rbi.otf fonts-linuxlibertine -linlibertine_ri.otf fonts-linuxlibertine -linlibertine_rz.otf fonts-linuxlibertine -linlibertine_rzi.otf fonts-linuxlibertine -lklug.ttf fonts-lklug-sinhala -lmmono10-italic.otf fonts-lmodern -lmmono10-regular.otf fonts-lmodern -lmmono12-regular.otf fonts-lmodern -lmmono8-regular.otf fonts-lmodern -lmmono9-regular.otf fonts-lmodern -lmmonocaps10-oblique.otf fonts-lmodern -lmmonocaps10-regular.otf fonts-lmodern -lmmonolt10-bold.otf fonts-lmodern -lmmonolt10-boldoblique.otf fonts-lmodern -lmmonolt10-oblique.otf fonts-lmodern -lmmonolt10-regular.otf fonts-lmodern -lmmonoltcond10-oblique.otf fonts-lmodern -lmmonoltcond10-regular.otf fonts-lmodern -lmmonoprop10-oblique.otf fonts-lmodern -lmmonoprop10-regular.otf fonts-lmodern -lmmonoproplt10-bold.otf fonts-lmodern -lmmonoproplt10-boldoblique.otf fonts-lmodern -lmmonoproplt10-oblique.otf fonts-lmodern -lmmonoproplt10-regular.otf fonts-lmodern -lmmonoslant10-regular.otf fonts-lmodern -lmroman10-bold.otf fonts-lmodern -lmroman10-bolditalic.otf fonts-lmodern -lmroman10-italic.otf fonts-lmodern -lmroman10-regular.otf fonts-lmodern -lmroman12-bold.otf fonts-lmodern -lmroman12-italic.otf fonts-lmodern -lmroman12-regular.otf fonts-lmodern -lmroman17-regular.otf fonts-lmodern -lmroman5-bold.otf fonts-lmodern -lmroman5-regular.otf fonts-lmodern -lmroman6-bold.otf fonts-lmodern -lmroman6-regular.otf fonts-lmodern -lmroman7-bold.otf fonts-lmodern -lmroman7-italic.otf fonts-lmodern -lmroman7-regular.otf fonts-lmodern -lmroman8-bold.otf fonts-lmodern -lmroman8-italic.otf fonts-lmodern -lmroman8-regular.otf fonts-lmodern -lmroman9-bold.otf fonts-lmodern -lmroman9-italic.otf fonts-lmodern -lmroman9-regular.otf fonts-lmodern -lmromancaps10-oblique.otf fonts-lmodern -lmromancaps10-regular.otf fonts-lmodern -lmromandemi10-oblique.otf fonts-lmodern -lmromandemi10-regular.otf fonts-lmodern -lmromandunh10-oblique.otf fonts-lmodern -lmromandunh10-regular.otf fonts-lmodern -lmromanslant10-bold.otf fonts-lmodern -lmromanslant10-regular.otf fonts-lmodern -lmromanslant12-regular.otf fonts-lmodern -lmromanslant17-regular.otf fonts-lmodern -lmromanslant8-regular.otf fonts-lmodern -lmromanslant9-regular.otf fonts-lmodern -lmromanunsl10-regular.otf fonts-lmodern -lmsans10-bold.otf fonts-lmodern -lmsans10-boldoblique.otf fonts-lmodern -lmsans10-oblique.otf fonts-lmodern -lmsans10-regular.otf fonts-lmodern -lmsans12-oblique.otf fonts-lmodern -lmsans12-regular.otf fonts-lmodern -lmsans17-oblique.otf fonts-lmodern -lmsans17-regular.otf fonts-lmodern -lmsans8-oblique.otf fonts-lmodern -lmsans8-regular.otf fonts-lmodern -lmsans9-oblique.otf fonts-lmodern -lmsans9-regular.otf fonts-lmodern -lmsansdemicond10-oblique.otf fonts-lmodern -lmsansdemicond10-regular.otf fonts-lmodern -lmsansquot8-bold.otf fonts-lmodern -lmsansquot8-boldoblique.otf fonts-lmodern -lmsansquot8-oblique.otf fonts-lmodern -lmsansquot8-regular.otf fonts-lmodern -lobster.otf fonts-lobster -lobstertwo-bold.otf fonts-lobstertwo -lobstertwo-bolditalic.otf fonts-lobstertwo -lobstertwo-italic.otf fonts-lobstertwo -lobstertwo-regular.otf fonts-lobstertwo -lohit-assamese.ttf fonts-lohit-beng-assamese -lohit-bengali.ttf fonts-lohit-beng-bengali -lohit-devanagari.ttf fonts-lohit-deva -lohit-gujarati.ttf fonts-lohit-gujr -lohit-gurmukhi.ttf fonts-lohit-guru -lohit-kannada.ttf fonts-lohit-knda -lohit-malayalam.ttf fonts-lohit-mlym -lohit-marathi.ttf fonts-lohit-deva-marathi -lohit-nepali.ttf fonts-lohit-deva-nepali -lohit-odia.ttf fonts-lohit-orya -lohit-tamil-classical.ttf fonts-lohit-taml-classical -lohit-tamil.ttf fonts-lohit-taml -lohit-telugu.ttf fonts-lohit-telu -loma-bold.otf fonts-tlwg-loma-otf -loma-bold.ttf fonts-tlwg-loma-ttf -loma-boldoblique.otf fonts-tlwg-loma-otf -loma-boldoblique.ttf fonts-tlwg-loma-ttf -loma-oblique.otf fonts-tlwg-loma-otf -loma-oblique.ttf fonts-tlwg-loma-ttf -loma.otf fonts-tlwg-loma-otf -loma.ttf fonts-tlwg-loma-ttf -loopy.ttf ttf-aenigma -lowdown.ttf ttf-aenigma -lucid.ttf ttf-aenigma -lucid2.ttf ttf-aenigma -lucid2o.ttf ttf-aenigma -lucido.ttf ttf-aenigma -lyneous.ttf ttf-aenigma -lyneousl.ttf ttf-aenigma -lynx.ttf ttf-aenigma -macropsi.ttf ttf-aenigma -madscrwl.ttf ttf-aenigma -manchufont.ttf fonts-manchufont -manjari-bold.otf fonts-smc-manjari -manjari-regular.otf fonts-smc-manjari -manjari-thin.otf fonts-smc-manjari -markedfool.ttf fonts-dustin -marlett.ttf fonts-wine -materialdesignicons-webfont.ttf fonts-materialdesignicons-webfont -materialicons-regular.ttf fonts-material-design-icons-iconfont -mathjax_ams-regular.otf fonts-mathjax -mathjax_caligraphic-bold.otf fonts-mathjax -mathjax_caligraphic-regular.otf fonts-mathjax -mathjax_fraktur-bold.otf fonts-mathjax -mathjax_fraktur-regular.otf fonts-mathjax -mathjax_main-bold.otf fonts-mathjax -mathjax_main-italic.otf fonts-mathjax -mathjax_main-regular.otf fonts-mathjax -mathjax_math-bolditalic.otf fonts-mathjax -mathjax_math-italic.otf fonts-mathjax -mathjax_math-regular.otf fonts-mathjax -mathjax_sansserif-bold.otf fonts-mathjax -mathjax_sansserif-italic.otf fonts-mathjax -mathjax_sansserif-regular.otf fonts-mathjax -mathjax_script-regular.otf fonts-mathjax -mathjax_size1-regular.otf fonts-mathjax -mathjax_size2-regular.otf fonts-mathjax -mathjax_size3-regular.otf fonts-mathjax -mathjax_size4-regular.otf fonts-mathjax -mathjax_typewriter-regular.otf fonts-mathjax -mathjax_vector-bold.otf fonts-mathjax -mathjax_vector-regular.otf fonts-mathjax -mathjax_winchrome-regular.otf fonts-mathjax -mathjax_winie6-regular.otf fonts-mathjax -maya_hint.ttf fonts-ancient-scripts -meera-regular.ttf fonts-smc-meera -meerainimai-regular.ttf fonts-meera-inimai -mekanusadfstd-bold.otf fonts-adf-mekanus -mekanusadfstd-bolditalic.otf fonts-adf-mekanus -mekanusadfstd-italic.otf fonts-adf-mekanus -mekanusadfstd-regular.otf fonts-adf-mekanus -mekanusadftitlingstd-bditalic.otf fonts-adf-mekanus -mekanusadftitlingstd-bold.otf fonts-adf-mekanus -mekanusadftitlingstd-italic.otf fonts-adf-mekanus -mekanusadftitlingstd-regular.otf fonts-adf-mekanus -migmix-1m-bold.ttf fonts-migmix -migmix-1m-regular.ttf fonts-migmix -migmix-1p-bold.ttf fonts-migmix -migmix-1p-regular.ttf fonts-migmix -migmix-2m-bold.ttf fonts-migmix -migmix-2m-regular.ttf fonts-migmix -migmix-2p-bold.ttf fonts-migmix -migmix-2p-regular.ttf fonts-migmix -migu-1c-bold.ttf fonts-migmix -migu-1c-regular.ttf fonts-migmix -migu-1m-bold.ttf fonts-migmix -migu-1m-regular.ttf fonts-migmix -migu-1p-bold.ttf fonts-migmix -migu-1p-regular.ttf fonts-migmix -migu-2m-bold.ttf fonts-migmix -migu-2m-regular.ttf fonts-migmix -mima4x4i.ttf ttf-aenigma -mima4x4o.ttf ttf-aenigma -mimaalt1.ttf ttf-aenigma -mimaalt2.ttf ttf-aenigma -mimafuse.ttf ttf-aenigma -mincer.ttf ttf-aenigma -mingzat-regular.ttf fonts-sil-mingzat -minikott.ttf ttf-aenigma -minikstt.ttf ttf-aenigma -misaki_gothic.ttf fonts-misaki -misaki_gothic_2nd.ttf fonts-misaki -misaki_mincho.ttf fonts-misaki -mishmash.ttf ttf-aenigma -miso.otf fonts-ldco -miso.ttf fonts-ldco -mitra.ttf fonts-beng-extra -mixer.otf fonts-ldco -mixer.ttf fonts-ldco -mmcedar-p.ttf fonts-mmcedar -mmcedar.ttf fonts-mmcedar -mo5v56bu.ttf fonts-sil-mondulkiri-extra -mo5v56dc.ttf fonts-sil-mondulkiri-extra -mo5v56di.ttf fonts-sil-mondulkiri-extra -mo5v56do.ttf fonts-sil-mondulkiri-extra -mo5v56hi.ttf fonts-sil-mondulkiri-extra -mo5v56mo.ttf fonts-sil-mondulkiri-extra -mo5v56xs.ttf fonts-sil-mondulkiri-extra -mo9v55.ttf fonts-sil-mondulkiri-extra -mobilize.ttf ttf-aenigma -mona.ttf fonts-mona -monapo.ttf fonts-monapo -mondulkiri-b.ttf fonts-sil-mondulkiri -mondulkiri-bi.ttf fonts-sil-mondulkiri -mondulkiri-i.ttf fonts-sil-mondulkiri -mondulkiri-r.ttf fonts-sil-mondulkiri -monkphon.ttf ttf-aenigma -monof55.ttf fonts-monofur -monof56.ttf fonts-monofur -monoid-bold-halfloose.ttf fonts-monoid-halfloose -monoid-bold-halftight.ttf fonts-monoid-halftight -monoid-bold-loose.ttf fonts-monoid-loose -monoid-bold-tight.ttf fonts-monoid-tight -monoid-bold.ttf fonts-monoid -monoid-italic-halfloose.ttf fonts-monoid-halfloose -monoid-italic-halftight.ttf fonts-monoid-halftight -monoid-italic-loose.ttf fonts-monoid-loose -monoid-italic-tight.ttf fonts-monoid-tight -monoid-italic.ttf fonts-monoid -monoid-regular-halfloose.ttf fonts-monoid-halfloose -monoid-regular-halftight.ttf fonts-monoid-halftight -monoid-regular-loose.ttf fonts-monoid-loose -monoid-regular-tight.ttf fonts-monoid-tight -monoid-regular.ttf fonts-monoid -monoid-retina-halfloose.ttf fonts-monoid-halfloose -monoid-retina-halftight.ttf fonts-monoid-halftight -monoid-retina-loose.ttf fonts-monoid-loose -monoid-retina-tight.ttf fonts-monoid-tight -monoid-retina.ttf fonts-monoid -monoisome-regular-halfloose.ttf fonts-monoid-halfloose -monoisome-regular-halftight.ttf fonts-monoid-halftight -monoisome-regular-loose.ttf fonts-monoid-loose -monoisome-regular-tight.ttf fonts-monoid-tight -monoisome-regular.ttf fonts-monoid -mononoki-bold.ttf fonts-mononoki -mononoki-bolditalic.ttf fonts-mononoki -mononoki-italic.ttf fonts-mononoki -mononoki-regular.ttf fonts-mononoki -monou___.ttf fonts-uralic -moronmis.ttf ttf-aenigma -mplus-1c-black.ttf fonts-mplus -mplus-1c-bold.ttf fonts-mplus -mplus-1c-heavy.ttf fonts-mplus -mplus-1c-light.ttf fonts-mplus -mplus-1c-medium.ttf fonts-mplus -mplus-1c-regular.ttf fonts-mplus -mplus-1c-thin.ttf fonts-mplus -mplus-1m-bold.ttf fonts-mplus -mplus-1m-light.ttf fonts-mplus -mplus-1m-medium.ttf fonts-mplus -mplus-1m-regular.ttf fonts-mplus -mplus-1m-thin.ttf fonts-mplus -mplus-1mn-bold.ttf fonts-mplus -mplus-1mn-light.ttf fonts-mplus -mplus-1mn-medium.ttf fonts-mplus -mplus-1mn-regular.ttf fonts-mplus -mplus-1mn-thin.ttf fonts-mplus -mplus-1p-black.ttf fonts-mplus -mplus-1p-bold.ttf fonts-mplus -mplus-1p-heavy.ttf fonts-mplus -mplus-1p-light.ttf fonts-mplus -mplus-1p-medium.ttf fonts-mplus -mplus-1p-regular.ttf fonts-mplus -mplus-1p-thin.ttf fonts-mplus -mplus-2c-black.ttf fonts-mplus -mplus-2c-bold.ttf fonts-mplus -mplus-2c-heavy.ttf fonts-mplus -mplus-2c-light.ttf fonts-mplus -mplus-2c-medium.ttf fonts-mplus -mplus-2c-regular.ttf fonts-mplus -mplus-2c-thin.ttf fonts-mplus -mplus-2m-bold.ttf fonts-mplus -mplus-2m-light.ttf fonts-mplus -mplus-2m-medium.ttf fonts-mplus -mplus-2m-regular.ttf fonts-mplus -mplus-2m-thin.ttf fonts-mplus -mplus-2p-black.ttf fonts-mplus -mplus-2p-bold.ttf fonts-mplus -mplus-2p-heavy.ttf fonts-mplus -mplus-2p-light.ttf fonts-mplus -mplus-2p-medium.ttf fonts-mplus -mplus-2p-regular.ttf fonts-mplus -mplus-2p-thin.ttf fonts-mplus -mry_kacstqurn.ttf fonts-kacst -msam10.ttf fonts-lyx -msbm10.ttf fonts-lyx -mtlc3m.ttf fonts-motoya-l-cedar -mtlmr3m.ttf fonts-motoya-l-maruberi -muktinarrow.ttf fonts-beng-extra -muktinarrowbold.ttf fonts-beng-extra -museumbible.otf fonts-levien-museum -museumfoundry.otf fonts-levien-museum -museumfourteen.otf fonts-levien-museum -museumsixty.otf fonts-levien-museum -musica_hint.ttf fonts-ancient-scripts -mysteron.ttf ttf-aenigma -n019003d.pfb t1-cyrillic -n019004d.pfb t1-cyrillic -n019023d.pfb t1-cyrillic -n019024d.pfb t1-cyrillic -n019043d.pfb t1-cyrillic -n019044d.pfb t1-cyrillic -n019063d.pfb t1-cyrillic -n019064d.pfb t1-cyrillic -n021003d.pfb t1-cyrillic -n021004d.pfb t1-cyrillic -n021023d.pfb t1-cyrillic -n021024d.pfb t1-cyrillic -n022003d.pfb t1-cyrillic -n022004d.pfb t1-cyrillic -n022023d.pfb t1-cyrillic -n022024d.pfb t1-cyrillic -nafeesweb.ttf fonts-nafees -nakula.ttf fonts-nakula -nanosecw.ttf ttf-aenigma -nanumbarungothic-yethangul.ttf fonts-nanum-extra -nanumbarungothic.ttf fonts-nanum -nanumbarungothicbold.ttf fonts-nanum -nanumbarungothiclight.ttf fonts-nanum-extra -nanumbarungothicultralight.ttf fonts-nanum-extra -nanumbarunpenb.ttf fonts-nanum-extra -nanumbarunpenr.ttf fonts-nanum-extra -nanumbrush.ttf fonts-nanum-extra -nanumgothic.ttf fonts-nanum -nanumgothicbold.ttf fonts-nanum -nanumgothiccoding.ttf fonts-nanum -nanumgothiccodingbold.ttf fonts-nanum -nanumgothiceco.ttf fonts-nanum-eco -nanumgothicecobold.ttf fonts-nanum-eco -nanumgothicecoextrabold.ttf fonts-nanum-eco -nanumgothicecor.ttf fonts-nanum-extra -nanumgothicextrabold.ttf fonts-nanum-extra -nanumgothiclight.ttf fonts-nanum-extra -nanummyeongjo-yethangul.ttf fonts-nanum-extra -nanummyeongjo.ttf fonts-nanum -nanummyeongjobold.ttf fonts-nanum -nanummyeongjoeco.ttf fonts-nanum-eco -nanummyeongjoecobold.ttf fonts-nanum-eco -nanummyeongjoecoextrabold.ttf fonts-nanum-eco -nanummyeongjoecor.ttf fonts-nanum-extra -nanummyeongjoextrabold.ttf fonts-nanum-extra -nanumpen.ttf fonts-nanum-extra -nanumsquare_acb.ttf fonts-nanum-extra -nanumsquare_aceb.ttf fonts-nanum-extra -nanumsquare_acl.ttf fonts-nanum-extra -nanumsquare_acr.ttf fonts-nanum-extra -nanumsquareb.ttf fonts-nanum -nanumsquareeb.ttf fonts-nanum-extra -nanumsquarel.ttf fonts-nanum-extra -nanumsquarer.ttf fonts-nanum -nanumsquareroundb.ttf fonts-nanum -nanumsquareroundeb.ttf fonts-nanum-extra -nanumsquareroundl.ttf fonts-nanum-extra -nanumsquareroundr.ttf fonts-nanum -naughts.ttf ttf-aenigma -navilu.ttf fonts-navilu -nazli.ttf fonts-farsiweb -nazlib.ttf fonts-farsiweb -neo.otf fonts-ldco -neo.ttf fonts-ldco -neural.ttf ttf-aenigma -neuralol.ttf ttf-aenigma -nilus_hint.ttf fonts-ancient-scripts -nimbusmonops-bold.otf fonts-urw-base35 -nimbusmonops-bolditalic.otf fonts-urw-base35 -nimbusmonops-italic.otf fonts-urw-base35 -nimbusmonops-regular.otf fonts-urw-base35 -nimbusroman-bold.otf fonts-urw-base35 -nimbusroman-bolditalic.otf fonts-urw-base35 -nimbusroman-italic.otf fonts-urw-base35 -nimbusroman-regular.otf fonts-urw-base35 -nimbussans-bold.otf fonts-urw-base35 -nimbussans-bolditalic.otf fonts-urw-base35 -nimbussans-italic.otf fonts-urw-base35 -nimbussans-regular.otf fonts-urw-base35 -nimbussansnarrow-bold.otf fonts-urw-base35 -nimbussansnarrow-boldoblique.otf fonts-urw-base35 -nimbussansnarrow-oblique.otf fonts-urw-base35 -nimbussansnarrow-regular.otf fonts-urw-base35 -noam.otf fonts-ldco -noam.ttf fonts-ldco -nominal.ttf ttf-aenigma -norasi-bold.otf fonts-tlwg-norasi-otf -norasi-bold.ttf fonts-tlwg-norasi-ttf -norasi-bolditalic.otf fonts-tlwg-norasi-otf -norasi-bolditalic.ttf fonts-tlwg-norasi-ttf -norasi-boldoblique.otf fonts-tlwg-norasi-otf -norasi-boldoblique.ttf fonts-tlwg-norasi-ttf -norasi-italic.otf fonts-tlwg-norasi-otf -norasi-italic.ttf fonts-tlwg-norasi-ttf -norasi-oblique.otf fonts-tlwg-norasi-otf -norasi-oblique.ttf fonts-tlwg-norasi-ttf -norasi.otf fonts-tlwg-norasi-otf -norasi.ttf fonts-tlwg-norasi-ttf -nostalgi.ttf ttf-aenigma -notocoloremoji.ttf fonts-noto-color-emoji -notokufiarabic-black.ttf fonts-noto-unhinted -notokufiarabic-bold.ttf fonts-noto-core -notokufiarabic-extrabold.ttf fonts-noto-unhinted -notokufiarabic-extralight.ttf fonts-noto-unhinted -notokufiarabic-light.ttf fonts-noto-unhinted -notokufiarabic-medium.ttf fonts-noto-extra -notokufiarabic-regular.ttf fonts-noto-core -notokufiarabic-semibold.ttf fonts-noto-extra -notokufiarabic-thin.ttf fonts-noto-unhinted -notomono-regular.ttf fonts-noto-mono -notomusic-regular.ttf fonts-noto-core -notonaskharabic-bold.ttf fonts-noto-core -notonaskharabic-regular.ttf fonts-noto-core -notonaskharabicui-bold.ttf fonts-noto-ui-core -notonaskharabicui-regular.ttf fonts-noto-ui-core -notonastaliqurdu-bold.ttf fonts-noto-core -notonastaliqurdu-regular.ttf fonts-noto-core -notosans-black.ttf fonts-noto-extra -notosans-blackitalic.ttf fonts-noto-extra -notosans-bold.ttf fonts-noto-core -notosans-bolditalic.ttf fonts-noto-core -notosans-condensed.ttf fonts-noto-extra -notosans-condensedblack.ttf fonts-noto-extra -notosans-condensedblackitalic.ttf fonts-noto-extra -notosans-condensedbold.ttf fonts-noto-extra -notosans-condensedbolditalic.ttf fonts-noto-extra -notosans-condensedextrabold.ttf fonts-noto-extra -notosans-condensedextrabolditalic.ttf fonts-noto-extra -notosans-condensedextralight.ttf fonts-noto-extra -notosans-condensedextralightitalic.ttf fonts-noto-extra -notosans-condenseditalic.ttf fonts-noto-extra -notosans-condensedlight.ttf fonts-noto-extra -notosans-condensedlightitalic.ttf fonts-noto-extra -notosans-condensedmedium.ttf fonts-noto-extra -notosans-condensedmediumitalic.ttf fonts-noto-extra -notosans-condensedsemibold.ttf fonts-noto-extra -notosans-condensedsemibolditalic.ttf fonts-noto-extra -notosans-condensedthin.ttf fonts-noto-extra -notosans-condensedthinitalic.ttf fonts-noto-extra -notosans-extrabold.ttf fonts-noto-extra -notosans-extrabolditalic.ttf fonts-noto-extra -notosans-extracondensed.ttf fonts-noto-extra -notosans-extracondensedblack.ttf fonts-noto-extra -notosans-extracondensedblackitalic.ttf fonts-noto-extra -notosans-extracondensedbold.ttf fonts-noto-extra -notosans-extracondensedbolditalic.ttf fonts-noto-extra -notosans-extracondensedextrabold.ttf fonts-noto-extra -notosans-extracondensedextrabolditalic.ttf fonts-noto-extra -notosans-extracondensedextralight.ttf fonts-noto-extra -notosans-extracondensedextralightitalic.ttf fonts-noto-extra -notosans-extracondenseditalic.ttf fonts-noto-extra -notosans-extracondensedlight.ttf fonts-noto-extra -notosans-extracondensedlightitalic.ttf fonts-noto-extra -notosans-extracondensedmedium.ttf fonts-noto-extra -notosans-extracondensedmediumitalic.ttf fonts-noto-extra -notosans-extracondensedsemibold.ttf fonts-noto-extra -notosans-extracondensedsemibolditalic.ttf fonts-noto-extra -notosans-extracondensedthin.ttf fonts-noto-extra -notosans-extracondensedthinitalic.ttf fonts-noto-extra -notosans-extralight.ttf fonts-noto-extra -notosans-extralightitalic.ttf fonts-noto-extra -notosans-italic.ttf fonts-noto-core -notosans-light.ttf fonts-noto-extra -notosans-lightitalic.ttf fonts-noto-extra -notosans-medium.ttf fonts-noto-extra -notosans-mediumitalic.ttf fonts-noto-extra -notosans-regular.ttf fonts-noto-core -notosans-semibold.ttf fonts-noto-extra -notosans-semibolditalic.ttf fonts-noto-extra -notosans-semicondensed.ttf fonts-noto-extra -notosans-semicondensedblack.ttf fonts-noto-extra -notosans-semicondensedblackitalic.ttf fonts-noto-extra -notosans-semicondensedbold.ttf fonts-noto-extra -notosans-semicondensedbolditalic.ttf fonts-noto-extra -notosans-semicondensedextrabold.ttf fonts-noto-extra -notosans-semicondensedextrabolditalic.ttf fonts-noto-extra -notosans-semicondensedextralight.ttf fonts-noto-extra -notosans-semicondensedextralightitalic.ttf fonts-noto-extra -notosans-semicondenseditalic.ttf fonts-noto-extra -notosans-semicondensedlight.ttf fonts-noto-extra -notosans-semicondensedlightitalic.ttf fonts-noto-extra -notosans-semicondensedmedium.ttf fonts-noto-extra -notosans-semicondensedmediumitalic.ttf fonts-noto-extra -notosans-semicondensedsemibold.ttf fonts-noto-extra -notosans-semicondensedsemibolditalic.ttf fonts-noto-extra -notosans-semicondensedthin.ttf fonts-noto-extra -notosans-semicondensedthinitalic.ttf fonts-noto-extra -notosans-thin.ttf fonts-noto-extra -notosans-thinitalic.ttf fonts-noto-extra -notosansadlam-regular.ttf fonts-noto-core -notosansadlamunjoined-regular.ttf fonts-noto-core -notosansanatolianhieroglyphs-regular.ttf fonts-noto-core -notosansarabic-black.ttf fonts-noto-extra -notosansarabic-bold.ttf fonts-noto-core -notosansarabic-condensed.ttf fonts-noto-extra -notosansarabic-condensedblack.ttf fonts-noto-extra -notosansarabic-condensedbold.ttf fonts-noto-extra -notosansarabic-condensedextrabold.ttf fonts-noto-extra -notosansarabic-condensedextralight.ttf fonts-noto-extra -notosansarabic-condensedlight.ttf fonts-noto-extra -notosansarabic-condensedmedium.ttf fonts-noto-extra -notosansarabic-condensedsemibold.ttf fonts-noto-extra -notosansarabic-condensedthin.ttf fonts-noto-extra -notosansarabic-extrabold.ttf fonts-noto-extra -notosansarabic-extracondensed.ttf fonts-noto-extra -notosansarabic-extracondensedblack.ttf fonts-noto-extra -notosansarabic-extracondensedbold.ttf fonts-noto-extra -notosansarabic-extracondensedextrabold.ttf fonts-noto-extra -notosansarabic-extracondensedextralight.ttf fonts-noto-extra -notosansarabic-extracondensedlight.ttf fonts-noto-extra -notosansarabic-extracondensedmedium.ttf fonts-noto-extra -notosansarabic-extracondensedsemibold.ttf fonts-noto-extra -notosansarabic-extracondensedthin.ttf fonts-noto-extra -notosansarabic-extralight.ttf fonts-noto-extra -notosansarabic-light.ttf fonts-noto-extra -notosansarabic-medium.ttf fonts-noto-extra -notosansarabic-regular.ttf fonts-noto-core -notosansarabic-semibold.ttf fonts-noto-extra -notosansarabic-semicondensed.ttf fonts-noto-extra -notosansarabic-semicondensedblack.ttf fonts-noto-extra -notosansarabic-semicondensedbold.ttf fonts-noto-extra -notosansarabic-semicondensedextrabold.ttf fonts-noto-extra -notosansarabic-semicondensedextralight.ttf fonts-noto-extra -notosansarabic-semicondensedlight.ttf fonts-noto-extra -notosansarabic-semicondensedmedium.ttf fonts-noto-extra -notosansarabic-semicondensedsemibold.ttf fonts-noto-extra -notosansarabic-semicondensedthin.ttf fonts-noto-extra -notosansarabic-thin.ttf fonts-noto-extra -notosansarabicui-black.ttf fonts-noto-ui-extra -notosansarabicui-bold.ttf fonts-noto-ui-core -notosansarabicui-condensed.ttf fonts-noto-ui-extra -notosansarabicui-condensedblack.ttf fonts-noto-ui-extra -notosansarabicui-condensedbold.ttf fonts-noto-ui-extra -notosansarabicui-condensedextrabold.ttf fonts-noto-ui-extra -notosansarabicui-condensedextralight.ttf fonts-noto-ui-extra -notosansarabicui-condensedlight.ttf fonts-noto-ui-extra -notosansarabicui-condensedmedium.ttf fonts-noto-ui-extra -notosansarabicui-condensedsemibold.ttf fonts-noto-ui-extra -notosansarabicui-condensedthin.ttf fonts-noto-ui-extra -notosansarabicui-extrabold.ttf fonts-noto-ui-extra -notosansarabicui-extracondensed.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedblack.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedbold.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedlight.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansarabicui-extracondensedthin.ttf fonts-noto-ui-extra -notosansarabicui-extralight.ttf fonts-noto-ui-extra -notosansarabicui-light.ttf fonts-noto-ui-extra -notosansarabicui-medium.ttf fonts-noto-ui-extra -notosansarabicui-regular.ttf fonts-noto-ui-core -notosansarabicui-semibold.ttf fonts-noto-ui-extra -notosansarabicui-semicondensed.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedblack.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedbold.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedlight.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansarabicui-semicondensedthin.ttf fonts-noto-ui-extra -notosansarabicui-thin.ttf fonts-noto-ui-extra -notosansarmenian-black.ttf fonts-noto-extra -notosansarmenian-bold.ttf fonts-noto-core -notosansarmenian-condensed.ttf fonts-noto-extra -notosansarmenian-condensedblack.ttf fonts-noto-extra -notosansarmenian-condensedbold.ttf fonts-noto-extra -notosansarmenian-condensedextrabold.ttf fonts-noto-extra -notosansarmenian-condensedextralight.ttf fonts-noto-extra -notosansarmenian-condensedlight.ttf fonts-noto-extra -notosansarmenian-condensedmedium.ttf fonts-noto-extra -notosansarmenian-condensedsemibold.ttf fonts-noto-extra -notosansarmenian-condensedthin.ttf fonts-noto-extra -notosansarmenian-extrabold.ttf fonts-noto-extra -notosansarmenian-extracondensed.ttf fonts-noto-extra -notosansarmenian-extracondensedblack.ttf fonts-noto-extra -notosansarmenian-extracondensedbold.ttf fonts-noto-extra -notosansarmenian-extracondensedextrabold.ttf fonts-noto-extra -notosansarmenian-extracondensedextralight.ttf fonts-noto-extra -notosansarmenian-extracondensedlight.ttf fonts-noto-extra -notosansarmenian-extracondensedmedium.ttf fonts-noto-extra -notosansarmenian-extracondensedsemibold.ttf fonts-noto-extra -notosansarmenian-extracondensedthin.ttf fonts-noto-extra -notosansarmenian-extralight.ttf fonts-noto-extra -notosansarmenian-light.ttf fonts-noto-extra -notosansarmenian-medium.ttf fonts-noto-extra -notosansarmenian-regular.ttf fonts-noto-core -notosansarmenian-semibold.ttf fonts-noto-extra -notosansarmenian-semicondensed.ttf fonts-noto-extra -notosansarmenian-semicondensedblack.ttf fonts-noto-extra -notosansarmenian-semicondensedbold.ttf fonts-noto-extra -notosansarmenian-semicondensedextrabold.ttf fonts-noto-extra -notosansarmenian-semicondensedextralight.ttf fonts-noto-extra -notosansarmenian-semicondensedlight.ttf fonts-noto-extra -notosansarmenian-semicondensedmedium.ttf fonts-noto-extra -notosansarmenian-semicondensedsemibold.ttf fonts-noto-extra -notosansarmenian-semicondensedthin.ttf fonts-noto-extra -notosansarmenian-thin.ttf fonts-noto-extra -notosansavestan-regular.ttf fonts-noto-core -notosansbamum-regular.ttf fonts-noto-core -notosansbassavah-regular.ttf fonts-noto-core -notosansbatak-regular.ttf fonts-noto-core -notosansbengali-black.ttf fonts-noto-extra -notosansbengali-bold.ttf fonts-noto-core -notosansbengali-condensed.ttf fonts-noto-extra -notosansbengali-extrabold.ttf fonts-noto-extra -notosansbengali-extracondensed.ttf fonts-noto-extra -notosansbengali-extralight.ttf fonts-noto-extra -notosansbengali-light.ttf fonts-noto-extra -notosansbengali-medium.ttf fonts-noto-extra -notosansbengali-regular.ttf fonts-noto-core -notosansbengali-semibold.ttf fonts-noto-extra -notosansbengali-semicondensed.ttf fonts-noto-extra -notosansbengali-thin.ttf fonts-noto-extra -notosansbengaliui-black.ttf fonts-noto-ui-extra -notosansbengaliui-bold.ttf fonts-noto-ui-core -notosansbengaliui-condensed.ttf fonts-noto-ui-extra -notosansbengaliui-extrabold.ttf fonts-noto-ui-extra -notosansbengaliui-extracondensed.ttf fonts-noto-ui-extra -notosansbengaliui-extralight.ttf fonts-noto-ui-extra -notosansbengaliui-light.ttf fonts-noto-ui-extra -notosansbengaliui-medium.ttf fonts-noto-ui-extra -notosansbengaliui-regular.ttf fonts-noto-ui-core -notosansbengaliui-semibold.ttf fonts-noto-ui-extra -notosansbengaliui-semicondensed.ttf fonts-noto-ui-extra -notosansbengaliui-thin.ttf fonts-noto-ui-extra -notosansbhaiksuki-regular.ttf fonts-noto-core -notosansbrahmi-regular.ttf fonts-noto-core -notosansbuginese-regular.ttf fonts-noto-core -notosansbuhid-regular.ttf fonts-noto-core -notosanscanadianaboriginal-black.ttf fonts-noto-extra -notosanscanadianaboriginal-bold.ttf fonts-noto-core -notosanscanadianaboriginal-extrabold.ttf fonts-noto-extra -notosanscanadianaboriginal-extralight.ttf fonts-noto-extra -notosanscanadianaboriginal-light.ttf fonts-noto-extra -notosanscanadianaboriginal-medium.ttf fonts-noto-extra -notosanscanadianaboriginal-regular.ttf fonts-noto-core -notosanscanadianaboriginal-semibold.ttf fonts-noto-extra -notosanscanadianaboriginal-thin.ttf fonts-noto-extra -notosanscarian-regular.ttf fonts-noto-core -notosanscaucasianalbanian-regular.ttf fonts-noto-core -notosanschakma-regular.ttf fonts-noto-core -notosanscham-black.ttf fonts-noto-extra -notosanscham-bold.ttf fonts-noto-core -notosanscham-extrabold.ttf fonts-noto-extra -notosanscham-extralight.ttf fonts-noto-extra -notosanscham-light.ttf fonts-noto-extra -notosanscham-medium.ttf fonts-noto-extra -notosanscham-regular.ttf fonts-noto-core -notosanscham-semibold.ttf fonts-noto-extra -notosanscham-thin.ttf fonts-noto-extra -notosanscherokee-black.ttf fonts-noto-extra -notosanscherokee-bold.ttf fonts-noto-core -notosanscherokee-extrabold.ttf fonts-noto-extra -notosanscherokee-extralight.ttf fonts-noto-extra -notosanscherokee-light.ttf fonts-noto-extra -notosanscherokee-medium.ttf fonts-noto-extra -notosanscherokee-regular.ttf fonts-noto-core -notosanscherokee-semibold.ttf fonts-noto-extra -notosanscherokee-thin.ttf fonts-noto-extra -notosanscoptic-regular.ttf fonts-noto-core -notosanscuneiform-regular.ttf fonts-noto-core -notosanscypriot-regular.ttf fonts-noto-core -notosansdeseret-regular.ttf fonts-noto-core -notosansdevanagari-black.ttf fonts-noto-extra -notosansdevanagari-bold.ttf fonts-noto-core -notosansdevanagari-condensed.ttf fonts-noto-extra -notosansdevanagari-condensedblack.ttf fonts-noto-extra -notosansdevanagari-condensedbold.ttf fonts-noto-extra -notosansdevanagari-condensedextrabold.ttf fonts-noto-extra -notosansdevanagari-condensedextralight.ttf fonts-noto-extra -notosansdevanagari-condensedlight.ttf fonts-noto-extra -notosansdevanagari-condensedmedium.ttf fonts-noto-extra -notosansdevanagari-condensedsemibold.ttf fonts-noto-extra -notosansdevanagari-condensedthin.ttf fonts-noto-extra -notosansdevanagari-extrabold.ttf fonts-noto-extra -notosansdevanagari-extracondensed.ttf fonts-noto-extra -notosansdevanagari-extracondensedblack.ttf fonts-noto-extra -notosansdevanagari-extracondensedbold.ttf fonts-noto-extra -notosansdevanagari-extracondensedextrabold.ttf fonts-noto-extra -notosansdevanagari-extracondensedextralight.ttf fonts-noto-extra -notosansdevanagari-extracondensedlight.ttf fonts-noto-extra -notosansdevanagari-extracondensedmedium.ttf fonts-noto-extra -notosansdevanagari-extracondensedsemibold.ttf fonts-noto-extra -notosansdevanagari-extracondensedthin.ttf fonts-noto-extra -notosansdevanagari-extralight.ttf fonts-noto-extra -notosansdevanagari-light.ttf fonts-noto-extra -notosansdevanagari-medium.ttf fonts-noto-extra -notosansdevanagari-regular.ttf fonts-noto-core -notosansdevanagari-semibold.ttf fonts-noto-extra -notosansdevanagari-semicondensed.ttf fonts-noto-extra -notosansdevanagari-semicondensedblack.ttf fonts-noto-extra -notosansdevanagari-semicondensedbold.ttf fonts-noto-extra -notosansdevanagari-semicondensedextrabold.ttf fonts-noto-extra -notosansdevanagari-semicondensedextralight.ttf fonts-noto-extra -notosansdevanagari-semicondensedlight.ttf fonts-noto-extra -notosansdevanagari-semicondensedmedium.ttf fonts-noto-extra -notosansdevanagari-semicondensedsemibold.ttf fonts-noto-extra -notosansdevanagari-semicondensedthin.ttf fonts-noto-extra -notosansdevanagari-thin.ttf fonts-noto-extra -notosansdevanagariui-black.ttf fonts-noto-ui-extra -notosansdevanagariui-bold.ttf fonts-noto-ui-core -notosansdevanagariui-condensed.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedblack.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedbold.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedextrabold.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedextralight.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedlight.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedmedium.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedsemibold.ttf fonts-noto-ui-extra -notosansdevanagariui-condensedthin.ttf fonts-noto-ui-extra -notosansdevanagariui-extrabold.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensed.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedblack.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedbold.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedlight.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansdevanagariui-extracondensedthin.ttf fonts-noto-ui-extra -notosansdevanagariui-extralight.ttf fonts-noto-ui-extra -notosansdevanagariui-light.ttf fonts-noto-ui-extra -notosansdevanagariui-medium.ttf fonts-noto-ui-extra -notosansdevanagariui-regular.ttf fonts-noto-ui-core -notosansdevanagariui-semibold.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensed.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedblack.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedbold.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedlight.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansdevanagariui-semicondensedthin.ttf fonts-noto-ui-extra -notosansdevanagariui-thin.ttf fonts-noto-ui-extra -notosansdisplay-black.ttf fonts-noto-extra -notosansdisplay-blackitalic.ttf fonts-noto-extra -notosansdisplay-bold.ttf fonts-noto-core -notosansdisplay-bolditalic.ttf fonts-noto-core -notosansdisplay-condensed.ttf fonts-noto-extra -notosansdisplay-condensedblack.ttf fonts-noto-extra -notosansdisplay-condensedblackitalic.ttf fonts-noto-extra -notosansdisplay-condensedbold.ttf fonts-noto-extra -notosansdisplay-condensedbolditalic.ttf fonts-noto-extra -notosansdisplay-condensedextrabold.ttf fonts-noto-extra -notosansdisplay-condensedextrabolditalic.ttf fonts-noto-extra -notosansdisplay-condensedextralight.ttf fonts-noto-extra -notosansdisplay-condensedextralightitalic.ttf fonts-noto-extra -notosansdisplay-condenseditalic.ttf fonts-noto-extra -notosansdisplay-condensedlight.ttf fonts-noto-extra -notosansdisplay-condensedlightitalic.ttf fonts-noto-extra -notosansdisplay-condensedmedium.ttf fonts-noto-extra -notosansdisplay-condensedmediumitalic.ttf fonts-noto-extra -notosansdisplay-condensedsemibold.ttf fonts-noto-extra -notosansdisplay-condensedsemibolditalic.ttf fonts-noto-extra -notosansdisplay-condensedthin.ttf fonts-noto-extra -notosansdisplay-condensedthinitalic.ttf fonts-noto-extra -notosansdisplay-extrabold.ttf fonts-noto-extra -notosansdisplay-extrabolditalic.ttf fonts-noto-extra -notosansdisplay-extracondensed.ttf fonts-noto-extra -notosansdisplay-extracondensedblack.ttf fonts-noto-extra -notosansdisplay-extracondensedblackitalic.ttf fonts-noto-extra -notosansdisplay-extracondensedbold.ttf fonts-noto-extra -notosansdisplay-extracondensedbolditalic.ttf fonts-noto-extra -notosansdisplay-extracondensedextrabold.ttf fonts-noto-extra -notosansdisplay-extracondensedextrabolditalic.ttf fonts-noto-extra -notosansdisplay-extracondensedextralight.ttf fonts-noto-extra -notosansdisplay-extracondensedextralightitalic.ttf fonts-noto-extra -notosansdisplay-extracondenseditalic.ttf fonts-noto-extra -notosansdisplay-extracondensedlight.ttf fonts-noto-extra -notosansdisplay-extracondensedlightitalic.ttf fonts-noto-extra -notosansdisplay-extracondensedmedium.ttf fonts-noto-extra -notosansdisplay-extracondensedmediumitalic.ttf fonts-noto-extra -notosansdisplay-extracondensedsemibold.ttf fonts-noto-extra -notosansdisplay-extracondensedsemibolditalic.ttf fonts-noto-extra -notosansdisplay-extracondensedthin.ttf fonts-noto-extra -notosansdisplay-extracondensedthinitalic.ttf fonts-noto-extra -notosansdisplay-extralight.ttf fonts-noto-extra -notosansdisplay-extralightitalic.ttf fonts-noto-extra -notosansdisplay-italic.ttf fonts-noto-core -notosansdisplay-light.ttf fonts-noto-extra -notosansdisplay-lightitalic.ttf fonts-noto-extra -notosansdisplay-medium.ttf fonts-noto-extra -notosansdisplay-mediumitalic.ttf fonts-noto-extra -notosansdisplay-regular.ttf fonts-noto-core -notosansdisplay-semibold.ttf fonts-noto-extra -notosansdisplay-semibolditalic.ttf fonts-noto-extra -notosansdisplay-semicondensed.ttf fonts-noto-extra -notosansdisplay-semicondensedblack.ttf fonts-noto-extra -notosansdisplay-semicondensedblackitalic.ttf fonts-noto-extra -notosansdisplay-semicondensedbold.ttf fonts-noto-extra -notosansdisplay-semicondensedbolditalic.ttf fonts-noto-extra -notosansdisplay-semicondensedextrabold.ttf fonts-noto-extra -notosansdisplay-semicondensedextrabolditalic.ttf fonts-noto-extra -notosansdisplay-semicondensedextralight.ttf fonts-noto-extra -notosansdisplay-semicondensedextralightitalic.ttf fonts-noto-extra -notosansdisplay-semicondenseditalic.ttf fonts-noto-extra -notosansdisplay-semicondensedlight.ttf fonts-noto-extra -notosansdisplay-semicondensedlightitalic.ttf fonts-noto-extra -notosansdisplay-semicondensedmedium.ttf fonts-noto-extra -notosansdisplay-semicondensedmediumitalic.ttf fonts-noto-extra -notosansdisplay-semicondensedsemibold.ttf fonts-noto-extra -notosansdisplay-semicondensedsemibolditalic.ttf fonts-noto-extra -notosansdisplay-semicondensedthin.ttf fonts-noto-extra -notosansdisplay-semicondensedthinitalic.ttf fonts-noto-extra -notosansdisplay-thin.ttf fonts-noto-extra -notosansdisplay-thinitalic.ttf fonts-noto-extra -notosansduployan-regular.ttf fonts-noto-core -notosansegyptianhieroglyphs-regular.ttf fonts-noto-core -notosanselbasan-regular.ttf fonts-noto-core -notosansethiopic-black.ttf fonts-noto-extra -notosansethiopic-bold.ttf fonts-noto-core -notosansethiopic-condensed.ttf fonts-noto-extra -notosansethiopic-condensedblack.ttf fonts-noto-extra -notosansethiopic-condensedbold.ttf fonts-noto-extra -notosansethiopic-condensedextrabold.ttf fonts-noto-extra -notosansethiopic-condensedextralight.ttf fonts-noto-extra -notosansethiopic-condensedlight.ttf fonts-noto-extra -notosansethiopic-condensedmedium.ttf fonts-noto-extra -notosansethiopic-condensedsemibold.ttf fonts-noto-extra -notosansethiopic-condensedthin.ttf fonts-noto-extra -notosansethiopic-extrabold.ttf fonts-noto-extra -notosansethiopic-extracondensed.ttf fonts-noto-extra -notosansethiopic-extracondensedblack.ttf fonts-noto-extra -notosansethiopic-extracondensedbold.ttf fonts-noto-extra -notosansethiopic-extracondensedextrabold.ttf fonts-noto-extra -notosansethiopic-extracondensedextralight.ttf fonts-noto-extra -notosansethiopic-extracondensedlight.ttf fonts-noto-extra -notosansethiopic-extracondensedmedium.ttf fonts-noto-extra -notosansethiopic-extracondensedsemibold.ttf fonts-noto-extra -notosansethiopic-extracondensedthin.ttf fonts-noto-extra -notosansethiopic-extralight.ttf fonts-noto-extra -notosansethiopic-light.ttf fonts-noto-extra -notosansethiopic-medium.ttf fonts-noto-extra -notosansethiopic-regular.ttf fonts-noto-core -notosansethiopic-semibold.ttf fonts-noto-extra -notosansethiopic-semicondensed.ttf fonts-noto-extra -notosansethiopic-semicondensedblack.ttf fonts-noto-extra -notosansethiopic-semicondensedbold.ttf fonts-noto-extra -notosansethiopic-semicondensedextrabold.ttf fonts-noto-extra -notosansethiopic-semicondensedextralight.ttf fonts-noto-extra -notosansethiopic-semicondensedlight.ttf fonts-noto-extra -notosansethiopic-semicondensedmedium.ttf fonts-noto-extra -notosansethiopic-semicondensedsemibold.ttf fonts-noto-extra -notosansethiopic-semicondensedthin.ttf fonts-noto-extra -notosansethiopic-thin.ttf fonts-noto-extra -notosansgeorgian-black.ttf fonts-noto-extra -notosansgeorgian-bold.ttf fonts-noto-core -notosansgeorgian-condensed.ttf fonts-noto-extra -notosansgeorgian-condensedblack.ttf fonts-noto-extra -notosansgeorgian-condensedbold.ttf fonts-noto-extra -notosansgeorgian-condensedextrabold.ttf fonts-noto-extra -notosansgeorgian-condensedextralight.ttf fonts-noto-extra -notosansgeorgian-condensedlight.ttf fonts-noto-extra -notosansgeorgian-condensedmedium.ttf fonts-noto-extra -notosansgeorgian-condensedsemibold.ttf fonts-noto-extra -notosansgeorgian-condensedthin.ttf fonts-noto-extra -notosansgeorgian-extrabold.ttf fonts-noto-extra -notosansgeorgian-extracondensed.ttf fonts-noto-extra -notosansgeorgian-extracondensedblack.ttf fonts-noto-extra -notosansgeorgian-extracondensedbold.ttf fonts-noto-extra -notosansgeorgian-extracondensedextrabold.ttf fonts-noto-extra -notosansgeorgian-extracondensedextralight.ttf fonts-noto-extra -notosansgeorgian-extracondensedlight.ttf fonts-noto-extra -notosansgeorgian-extracondensedmedium.ttf fonts-noto-extra -notosansgeorgian-extracondensedsemibold.ttf fonts-noto-extra -notosansgeorgian-extracondensedthin.ttf fonts-noto-extra -notosansgeorgian-extralight.ttf fonts-noto-extra -notosansgeorgian-light.ttf fonts-noto-extra -notosansgeorgian-medium.ttf fonts-noto-extra -notosansgeorgian-regular.ttf fonts-noto-core -notosansgeorgian-semibold.ttf fonts-noto-extra -notosansgeorgian-semicondensed.ttf fonts-noto-extra -notosansgeorgian-semicondensedblack.ttf fonts-noto-extra -notosansgeorgian-semicondensedbold.ttf fonts-noto-extra -notosansgeorgian-semicondensedextrabold.ttf fonts-noto-extra -notosansgeorgian-semicondensedextralight.ttf fonts-noto-extra -notosansgeorgian-semicondensedlight.ttf fonts-noto-extra -notosansgeorgian-semicondensedmedium.ttf fonts-noto-extra -notosansgeorgian-semicondensedsemibold.ttf fonts-noto-extra -notosansgeorgian-semicondensedthin.ttf fonts-noto-extra -notosansgeorgian-thin.ttf fonts-noto-extra -notosansglagolitic-regular.ttf fonts-noto-core -notosansgothic-regular.ttf fonts-noto-core -notosansgrantha-regular.ttf fonts-noto-core -notosansgujarati-bold.ttf fonts-noto-core -notosansgujarati-regular.ttf fonts-noto-core -notosansgujaratiui-bold.ttf fonts-noto-ui-core -notosansgujaratiui-regular.ttf fonts-noto-ui-core -notosansgunjalagondi-regular.ttf fonts-noto-unhinted -notosansgurmukhi-black.ttf fonts-noto-extra -notosansgurmukhi-bold.ttf fonts-noto-core -notosansgurmukhi-condensed.ttf fonts-noto-extra -notosansgurmukhi-condensedblack.ttf fonts-noto-extra -notosansgurmukhi-condensedbold.ttf fonts-noto-extra -notosansgurmukhi-condensedextrabold.ttf fonts-noto-extra -notosansgurmukhi-condensedextralight.ttf fonts-noto-extra -notosansgurmukhi-condensedlight.ttf fonts-noto-extra -notosansgurmukhi-condensedmedium.ttf fonts-noto-extra -notosansgurmukhi-condensedsemibold.ttf fonts-noto-extra -notosansgurmukhi-condensedthin.ttf fonts-noto-extra -notosansgurmukhi-extrabold.ttf fonts-noto-extra -notosansgurmukhi-extracondensed.ttf fonts-noto-extra -notosansgurmukhi-extracondensedblack.ttf fonts-noto-extra -notosansgurmukhi-extracondensedbold.ttf fonts-noto-extra -notosansgurmukhi-extracondensedextrabold.ttf fonts-noto-extra -notosansgurmukhi-extracondensedextralight.ttf fonts-noto-extra -notosansgurmukhi-extracondensedlight.ttf fonts-noto-extra -notosansgurmukhi-extracondensedmedium.ttf fonts-noto-extra -notosansgurmukhi-extracondensedsemibold.ttf fonts-noto-extra -notosansgurmukhi-extracondensedthin.ttf fonts-noto-extra -notosansgurmukhi-extralight.ttf fonts-noto-extra -notosansgurmukhi-light.ttf fonts-noto-extra -notosansgurmukhi-medium.ttf fonts-noto-extra -notosansgurmukhi-regular.ttf fonts-noto-core -notosansgurmukhi-semibold.ttf fonts-noto-extra -notosansgurmukhi-semicondensed.ttf fonts-noto-extra -notosansgurmukhi-semicondensedblack.ttf fonts-noto-extra -notosansgurmukhi-semicondensedbold.ttf fonts-noto-extra -notosansgurmukhi-semicondensedextrabold.ttf fonts-noto-extra -notosansgurmukhi-semicondensedextralight.ttf fonts-noto-extra -notosansgurmukhi-semicondensedlight.ttf fonts-noto-extra -notosansgurmukhi-semicondensedmedium.ttf fonts-noto-extra -notosansgurmukhi-semicondensedsemibold.ttf fonts-noto-extra -notosansgurmukhi-semicondensedthin.ttf fonts-noto-extra -notosansgurmukhi-thin.ttf fonts-noto-extra -notosansgurmukhiui-black.ttf fonts-noto-ui-extra -notosansgurmukhiui-bold.ttf fonts-noto-ui-core -notosansgurmukhiui-condensed.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedblack.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedbold.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedextrabold.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedextralight.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedlight.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedmedium.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedsemibold.ttf fonts-noto-ui-extra -notosansgurmukhiui-condensedthin.ttf fonts-noto-ui-extra -notosansgurmukhiui-extrabold.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensed.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedblack.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedbold.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedlight.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansgurmukhiui-extracondensedthin.ttf fonts-noto-ui-extra -notosansgurmukhiui-extralight.ttf fonts-noto-ui-extra -notosansgurmukhiui-light.ttf fonts-noto-ui-extra -notosansgurmukhiui-medium.ttf fonts-noto-ui-extra -notosansgurmukhiui-regular.ttf fonts-noto-ui-core -notosansgurmukhiui-semibold.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensed.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedblack.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedbold.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedlight.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansgurmukhiui-semicondensedthin.ttf fonts-noto-ui-extra -notosansgurmukhiui-thin.ttf fonts-noto-ui-extra -notosanshanifirohingya-regular.ttf fonts-noto-core -notosanshanunoo-regular.ttf fonts-noto-core -notosanshatran-regular.ttf fonts-noto-core -notosanshebrew-black.ttf fonts-noto-extra -notosanshebrew-bold.ttf fonts-noto-core -notosanshebrew-condensed.ttf fonts-noto-extra -notosanshebrew-condensedblack.ttf fonts-noto-extra -notosanshebrew-condensedbold.ttf fonts-noto-extra -notosanshebrew-condensedextrabold.ttf fonts-noto-extra -notosanshebrew-condensedextralight.ttf fonts-noto-extra -notosanshebrew-condensedlight.ttf fonts-noto-extra -notosanshebrew-condensedmedium.ttf fonts-noto-extra -notosanshebrew-condensedsemibold.ttf fonts-noto-extra -notosanshebrew-condensedthin.ttf fonts-noto-extra -notosanshebrew-extrabold.ttf fonts-noto-extra -notosanshebrew-extracondensed.ttf fonts-noto-extra -notosanshebrew-extracondensedblack.ttf fonts-noto-extra -notosanshebrew-extracondensedbold.ttf fonts-noto-extra -notosanshebrew-extracondensedextrabold.ttf fonts-noto-extra -notosanshebrew-extracondensedextralight.ttf fonts-noto-extra -notosanshebrew-extracondensedlight.ttf fonts-noto-extra -notosanshebrew-extracondensedmedium.ttf fonts-noto-extra -notosanshebrew-extracondensedsemibold.ttf fonts-noto-extra -notosanshebrew-extracondensedthin.ttf fonts-noto-extra -notosanshebrew-extralight.ttf fonts-noto-extra -notosanshebrew-light.ttf fonts-noto-extra -notosanshebrew-medium.ttf fonts-noto-extra -notosanshebrew-regular.ttf fonts-noto-core -notosanshebrew-semibold.ttf fonts-noto-extra -notosanshebrew-semicondensed.ttf fonts-noto-extra -notosanshebrew-semicondensedblack.ttf fonts-noto-extra -notosanshebrew-semicondensedbold.ttf fonts-noto-extra -notosanshebrew-semicondensedextrabold.ttf fonts-noto-extra -notosanshebrew-semicondensedextralight.ttf fonts-noto-extra -notosanshebrew-semicondensedlight.ttf fonts-noto-extra -notosanshebrew-semicondensedmedium.ttf fonts-noto-extra -notosanshebrew-semicondensedsemibold.ttf fonts-noto-extra -notosanshebrew-semicondensedthin.ttf fonts-noto-extra -notosanshebrew-thin.ttf fonts-noto-extra -notosansimperialaramaic-regular.ttf fonts-noto-core -notosansindicsiyaqnumbers-regular.ttf fonts-noto-core -notosansinscriptionalpahlavi-regular.ttf fonts-noto-core -notosansinscriptionalparthian-regular.ttf fonts-noto-core -notosansjavanese-bold.ttf fonts-noto-core -notosansjavanese-regular.ttf fonts-noto-core -notosanskaithi-regular.ttf fonts-noto-core -notosanskannada-black.ttf fonts-noto-extra -notosanskannada-bold.ttf fonts-noto-core -notosanskannada-condensed.ttf fonts-noto-extra -notosanskannada-condensedblack.ttf fonts-noto-extra -notosanskannada-condensedbold.ttf fonts-noto-extra -notosanskannada-condensedextrabold.ttf fonts-noto-extra -notosanskannada-condensedextralight.ttf fonts-noto-extra -notosanskannada-condensedlight.ttf fonts-noto-extra -notosanskannada-condensedmedium.ttf fonts-noto-extra -notosanskannada-condensedsemibold.ttf fonts-noto-extra -notosanskannada-condensedthin.ttf fonts-noto-extra -notosanskannada-extrabold.ttf fonts-noto-extra -notosanskannada-extracondensed.ttf fonts-noto-extra -notosanskannada-extracondensedblack.ttf fonts-noto-extra -notosanskannada-extracondensedbold.ttf fonts-noto-extra -notosanskannada-extracondensedextrabold.ttf fonts-noto-extra -notosanskannada-extracondensedextralight.ttf fonts-noto-extra -notosanskannada-extracondensedlight.ttf fonts-noto-extra -notosanskannada-extracondensedmedium.ttf fonts-noto-extra -notosanskannada-extracondensedsemibold.ttf fonts-noto-extra -notosanskannada-extracondensedthin.ttf fonts-noto-extra -notosanskannada-extralight.ttf fonts-noto-extra -notosanskannada-light.ttf fonts-noto-extra -notosanskannada-medium.ttf fonts-noto-extra -notosanskannada-regular.ttf fonts-noto-core -notosanskannada-semibold.ttf fonts-noto-extra -notosanskannada-semicondensed.ttf fonts-noto-extra -notosanskannada-semicondensedblack.ttf fonts-noto-extra -notosanskannada-semicondensedbold.ttf fonts-noto-extra -notosanskannada-semicondensedextrabold.ttf fonts-noto-extra -notosanskannada-semicondensedextralight.ttf fonts-noto-extra -notosanskannada-semicondensedlight.ttf fonts-noto-extra -notosanskannada-semicondensedmedium.ttf fonts-noto-extra -notosanskannada-semicondensedsemibold.ttf fonts-noto-extra -notosanskannada-semicondensedthin.ttf fonts-noto-extra -notosanskannada-thin.ttf fonts-noto-extra -notosanskannadaui-black.ttf fonts-noto-ui-extra -notosanskannadaui-bold.ttf fonts-noto-ui-core -notosanskannadaui-condensed.ttf fonts-noto-ui-extra -notosanskannadaui-condensedblack.ttf fonts-noto-ui-extra -notosanskannadaui-condensedbold.ttf fonts-noto-ui-extra -notosanskannadaui-condensedextrabold.ttf fonts-noto-ui-extra -notosanskannadaui-condensedextralight.ttf fonts-noto-ui-extra -notosanskannadaui-condensedlight.ttf fonts-noto-ui-extra -notosanskannadaui-condensedmedium.ttf fonts-noto-ui-extra -notosanskannadaui-condensedsemibold.ttf fonts-noto-ui-extra -notosanskannadaui-condensedthin.ttf fonts-noto-ui-extra -notosanskannadaui-extrabold.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensed.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedblack.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedbold.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedextralight.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedlight.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedmedium.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosanskannadaui-extracondensedthin.ttf fonts-noto-ui-extra -notosanskannadaui-extralight.ttf fonts-noto-ui-extra -notosanskannadaui-light.ttf fonts-noto-ui-extra -notosanskannadaui-medium.ttf fonts-noto-ui-extra -notosanskannadaui-regular.ttf fonts-noto-ui-core -notosanskannadaui-semibold.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensed.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedblack.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedbold.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedextralight.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedlight.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedmedium.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosanskannadaui-semicondensedthin.ttf fonts-noto-ui-extra -notosanskannadaui-thin.ttf fonts-noto-ui-extra -notosanskayahli-regular.ttf fonts-noto-core -notosanskharoshthi-regular.ttf fonts-noto-core -notosanskhmer-black.ttf fonts-noto-extra -notosanskhmer-bold.ttf fonts-noto-core -notosanskhmer-condensed.ttf fonts-noto-extra -notosanskhmer-condensedblack.ttf fonts-noto-extra -notosanskhmer-condensedbold.ttf fonts-noto-extra -notosanskhmer-condensedextrabold.ttf fonts-noto-extra -notosanskhmer-condensedextralight.ttf fonts-noto-extra -notosanskhmer-condensedlight.ttf fonts-noto-extra -notosanskhmer-condensedmedium.ttf fonts-noto-extra -notosanskhmer-condensedsemibold.ttf fonts-noto-extra -notosanskhmer-condensedthin.ttf fonts-noto-extra -notosanskhmer-extrabold.ttf fonts-noto-extra -notosanskhmer-extracondensed.ttf fonts-noto-extra -notosanskhmer-extracondensedblack.ttf fonts-noto-extra -notosanskhmer-extracondensedbold.ttf fonts-noto-extra -notosanskhmer-extracondensedextrabold.ttf fonts-noto-extra -notosanskhmer-extracondensedextralight.ttf fonts-noto-extra -notosanskhmer-extracondensedlight.ttf fonts-noto-extra -notosanskhmer-extracondensedmedium.ttf fonts-noto-extra -notosanskhmer-extracondensedsemibold.ttf fonts-noto-extra -notosanskhmer-extracondensedthin.ttf fonts-noto-extra -notosanskhmer-extralight.ttf fonts-noto-extra -notosanskhmer-light.ttf fonts-noto-extra -notosanskhmer-medium.ttf fonts-noto-extra -notosanskhmer-regular.ttf fonts-noto-core -notosanskhmer-semibold.ttf fonts-noto-extra -notosanskhmer-semicondensed.ttf fonts-noto-extra -notosanskhmer-semicondensedblack.ttf fonts-noto-extra -notosanskhmer-semicondensedbold.ttf fonts-noto-extra -notosanskhmer-semicondensedextrabold.ttf fonts-noto-extra -notosanskhmer-semicondensedextralight.ttf fonts-noto-extra -notosanskhmer-semicondensedlight.ttf fonts-noto-extra -notosanskhmer-semicondensedmedium.ttf fonts-noto-extra -notosanskhmer-semicondensedsemibold.ttf fonts-noto-extra -notosanskhmer-semicondensedthin.ttf fonts-noto-extra -notosanskhmer-thin.ttf fonts-noto-extra -notosanskhmerui-black.ttf fonts-noto-ui-extra -notosanskhmerui-bold.ttf fonts-noto-ui-core -notosanskhmerui-condensed.ttf fonts-noto-ui-extra -notosanskhmerui-condensedblack.ttf fonts-noto-ui-extra -notosanskhmerui-condensedbold.ttf fonts-noto-ui-extra -notosanskhmerui-condensedextrabold.ttf fonts-noto-ui-extra -notosanskhmerui-condensedextralight.ttf fonts-noto-ui-extra -notosanskhmerui-condensedlight.ttf fonts-noto-ui-extra -notosanskhmerui-condensedmedium.ttf fonts-noto-ui-extra -notosanskhmerui-condensedsemibold.ttf fonts-noto-ui-extra -notosanskhmerui-condensedthin.ttf fonts-noto-ui-extra -notosanskhmerui-extrabold.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensed.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedblack.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedbold.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedextralight.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedlight.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedmedium.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosanskhmerui-extracondensedthin.ttf fonts-noto-ui-extra -notosanskhmerui-extralight.ttf fonts-noto-ui-extra -notosanskhmerui-light.ttf fonts-noto-ui-extra -notosanskhmerui-medium.ttf fonts-noto-ui-extra -notosanskhmerui-regular.ttf fonts-noto-ui-core -notosanskhmerui-semibold.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensed.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedblack.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedbold.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedextralight.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedlight.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedmedium.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosanskhmerui-semicondensedthin.ttf fonts-noto-ui-extra -notosanskhmerui-thin.ttf fonts-noto-ui-extra -notosanskhojki-regular.ttf fonts-noto-core -notosanskhudawadi-regular.ttf fonts-noto-core -notosanslao-black.ttf fonts-noto-extra -notosanslao-bold.ttf fonts-noto-core -notosanslao-condensed.ttf fonts-noto-extra -notosanslao-condensedblack.ttf fonts-noto-extra -notosanslao-condensedbold.ttf fonts-noto-extra -notosanslao-condensedextrabold.ttf fonts-noto-extra -notosanslao-condensedextralight.ttf fonts-noto-extra -notosanslao-condensedlight.ttf fonts-noto-extra -notosanslao-condensedmedium.ttf fonts-noto-extra -notosanslao-condensedsemibold.ttf fonts-noto-extra -notosanslao-condensedthin.ttf fonts-noto-extra -notosanslao-extrabold.ttf fonts-noto-extra -notosanslao-extracondensed.ttf fonts-noto-extra -notosanslao-extracondensedblack.ttf fonts-noto-extra -notosanslao-extracondensedbold.ttf fonts-noto-extra -notosanslao-extracondensedextrabold.ttf fonts-noto-extra -notosanslao-extracondensedextralight.ttf fonts-noto-extra -notosanslao-extracondensedlight.ttf fonts-noto-extra -notosanslao-extracondensedmedium.ttf fonts-noto-extra -notosanslao-extracondensedsemibold.ttf fonts-noto-extra -notosanslao-extracondensedthin.ttf fonts-noto-extra -notosanslao-extralight.ttf fonts-noto-extra -notosanslao-light.ttf fonts-noto-extra -notosanslao-medium.ttf fonts-noto-extra -notosanslao-regular.ttf fonts-noto-core -notosanslao-semibold.ttf fonts-noto-extra -notosanslao-semicondensed.ttf fonts-noto-extra -notosanslao-semicondensedblack.ttf fonts-noto-extra -notosanslao-semicondensedbold.ttf fonts-noto-extra -notosanslao-semicondensedextrabold.ttf fonts-noto-extra -notosanslao-semicondensedextralight.ttf fonts-noto-extra -notosanslao-semicondensedlight.ttf fonts-noto-extra -notosanslao-semicondensedmedium.ttf fonts-noto-extra -notosanslao-semicondensedsemibold.ttf fonts-noto-extra -notosanslao-semicondensedthin.ttf fonts-noto-extra -notosanslao-thin.ttf fonts-noto-extra -notosanslaoui-black.ttf fonts-noto-ui-extra -notosanslaoui-bold.ttf fonts-noto-ui-core -notosanslaoui-condensed.ttf fonts-noto-ui-extra -notosanslaoui-condensedblack.ttf fonts-noto-ui-extra -notosanslaoui-condensedbold.ttf fonts-noto-ui-extra -notosanslaoui-condensedextrabold.ttf fonts-noto-ui-extra -notosanslaoui-condensedextralight.ttf fonts-noto-ui-extra -notosanslaoui-condensedlight.ttf fonts-noto-ui-extra -notosanslaoui-condensedmedium.ttf fonts-noto-ui-extra -notosanslaoui-condensedsemibold.ttf fonts-noto-ui-extra -notosanslaoui-condensedthin.ttf fonts-noto-ui-extra -notosanslaoui-extrabold.ttf fonts-noto-ui-extra -notosanslaoui-extracondensed.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedblack.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedbold.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedextralight.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedlight.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedmedium.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosanslaoui-extracondensedthin.ttf fonts-noto-ui-extra -notosanslaoui-extralight.ttf fonts-noto-ui-extra -notosanslaoui-light.ttf fonts-noto-ui-extra -notosanslaoui-medium.ttf fonts-noto-ui-extra -notosanslaoui-regular.ttf fonts-noto-ui-core -notosanslaoui-semibold.ttf fonts-noto-ui-extra -notosanslaoui-semicondensed.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedblack.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedbold.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedextralight.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedlight.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedmedium.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosanslaoui-semicondensedthin.ttf fonts-noto-ui-extra -notosanslaoui-thin.ttf fonts-noto-ui-extra -notosanslepcha-regular.ttf fonts-noto-core -notosanslimbu-regular.ttf fonts-noto-core -notosanslineara-regular.ttf fonts-noto-core -notosanslinearb-regular.ttf fonts-noto-core -notosanslisu-bold.ttf fonts-noto-unhinted -notosanslisu-medium.ttf fonts-noto-unhinted -notosanslisu-regular.ttf fonts-noto-core -notosanslisu-semibold.ttf fonts-noto-unhinted -notosanslycian-regular.ttf fonts-noto-core -notosanslydian-regular.ttf fonts-noto-core -notosansmahajani-regular.ttf fonts-noto-core -notosansmalayalam-black.ttf fonts-noto-extra -notosansmalayalam-bold.ttf fonts-noto-core -notosansmalayalam-condensed.ttf fonts-noto-extra -notosansmalayalam-condensedblack.ttf fonts-noto-extra -notosansmalayalam-condensedbold.ttf fonts-noto-extra -notosansmalayalam-condensedextrabold.ttf fonts-noto-extra -notosansmalayalam-condensedextralight.ttf fonts-noto-extra -notosansmalayalam-condensedlight.ttf fonts-noto-extra -notosansmalayalam-condensedmedium.ttf fonts-noto-extra -notosansmalayalam-condensedsemibold.ttf fonts-noto-extra -notosansmalayalam-condensedthin.ttf fonts-noto-extra -notosansmalayalam-extrabold.ttf fonts-noto-extra -notosansmalayalam-extracondensed.ttf fonts-noto-extra -notosansmalayalam-extracondensedblack.ttf fonts-noto-extra -notosansmalayalam-extracondensedbold.ttf fonts-noto-extra -notosansmalayalam-extracondensedextrabold.ttf fonts-noto-extra -notosansmalayalam-extracondensedextralight.ttf fonts-noto-extra -notosansmalayalam-extracondensedlight.ttf fonts-noto-extra -notosansmalayalam-extracondensedmedium.ttf fonts-noto-extra -notosansmalayalam-extracondensedsemibold.ttf fonts-noto-extra -notosansmalayalam-extracondensedthin.ttf fonts-noto-extra -notosansmalayalam-extralight.ttf fonts-noto-extra -notosansmalayalam-light.ttf fonts-noto-extra -notosansmalayalam-medium.ttf fonts-noto-extra -notosansmalayalam-regular.ttf fonts-noto-core -notosansmalayalam-semibold.ttf fonts-noto-extra -notosansmalayalam-semicondensed.ttf fonts-noto-extra -notosansmalayalam-semicondensedblack.ttf fonts-noto-extra -notosansmalayalam-semicondensedbold.ttf fonts-noto-extra -notosansmalayalam-semicondensedextrabold.ttf fonts-noto-extra -notosansmalayalam-semicondensedextralight.ttf fonts-noto-extra -notosansmalayalam-semicondensedlight.ttf fonts-noto-extra -notosansmalayalam-semicondensedmedium.ttf fonts-noto-extra -notosansmalayalam-semicondensedsemibold.ttf fonts-noto-extra -notosansmalayalam-semicondensedthin.ttf fonts-noto-extra -notosansmalayalam-thin.ttf fonts-noto-extra -notosansmalayalamui-black.ttf fonts-noto-ui-extra -notosansmalayalamui-bold.ttf fonts-noto-ui-core -notosansmalayalamui-condensed.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedblack.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedbold.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedextrabold.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedextralight.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedlight.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedmedium.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedsemibold.ttf fonts-noto-ui-extra -notosansmalayalamui-condensedthin.ttf fonts-noto-ui-extra -notosansmalayalamui-extrabold.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensed.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedblack.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedbold.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedlight.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansmalayalamui-extracondensedthin.ttf fonts-noto-ui-extra -notosansmalayalamui-extralight.ttf fonts-noto-ui-extra -notosansmalayalamui-light.ttf fonts-noto-ui-extra -notosansmalayalamui-medium.ttf fonts-noto-ui-extra -notosansmalayalamui-regular.ttf fonts-noto-ui-core -notosansmalayalamui-semibold.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensed.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedblack.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedbold.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedlight.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansmalayalamui-semicondensedthin.ttf fonts-noto-ui-extra -notosansmalayalamui-thin.ttf fonts-noto-ui-extra -notosansmandaic-regular.ttf fonts-noto-core -notosansmanichaean-regular.ttf fonts-noto-core -notosansmarchen-regular.ttf fonts-noto-core -notosansmasaramgondi-regular.ttf fonts-noto-unhinted -notosansmath-regular.ttf fonts-noto-core -notosansmayannumerals-regular.ttf fonts-noto-core -notosansmeeteimayek-regular.ttf fonts-noto-core -notosansmendekikakui-regular.ttf fonts-noto-core -notosansmeroitic-regular.ttf fonts-noto-core -notosansmiao-regular.ttf fonts-noto-core -notosansmodi-regular.ttf fonts-noto-core -notosansmongolian-regular.ttf fonts-noto-core -notosansmono-black.ttf fonts-noto-extra -notosansmono-bold.ttf fonts-noto-core -notosansmono-condensed.ttf fonts-noto-extra -notosansmono-condensedblack.ttf fonts-noto-extra -notosansmono-condensedbold.ttf fonts-noto-extra -notosansmono-condensedextrabold.ttf fonts-noto-extra -notosansmono-condensedextralight.ttf fonts-noto-extra -notosansmono-condensedlight.ttf fonts-noto-extra -notosansmono-condensedmedium.ttf fonts-noto-extra -notosansmono-condensedsemibold.ttf fonts-noto-extra -notosansmono-condensedthin.ttf fonts-noto-extra -notosansmono-extrabold.ttf fonts-noto-extra -notosansmono-extracondensed.ttf fonts-noto-extra -notosansmono-extracondensedblack.ttf fonts-noto-extra -notosansmono-extracondensedbold.ttf fonts-noto-extra -notosansmono-extracondensedextrabold.ttf fonts-noto-extra -notosansmono-extracondensedextralight.ttf fonts-noto-extra -notosansmono-extracondensedlight.ttf fonts-noto-extra -notosansmono-extracondensedmedium.ttf fonts-noto-extra -notosansmono-extracondensedsemibold.ttf fonts-noto-extra -notosansmono-extracondensedthin.ttf fonts-noto-extra -notosansmono-extralight.ttf fonts-noto-extra -notosansmono-light.ttf fonts-noto-extra -notosansmono-medium.ttf fonts-noto-extra -notosansmono-regular.ttf fonts-noto-core -notosansmono-semibold.ttf fonts-noto-extra -notosansmono-semicondensed.ttf fonts-noto-extra -notosansmono-semicondensedblack.ttf fonts-noto-extra -notosansmono-semicondensedbold.ttf fonts-noto-extra -notosansmono-semicondensedextrabold.ttf fonts-noto-extra -notosansmono-semicondensedextralight.ttf fonts-noto-extra -notosansmono-semicondensedlight.ttf fonts-noto-extra -notosansmono-semicondensedmedium.ttf fonts-noto-extra -notosansmono-semicondensedsemibold.ttf fonts-noto-extra -notosansmono-semicondensedthin.ttf fonts-noto-extra -notosansmono-thin.ttf fonts-noto-extra -notosansmro-regular.ttf fonts-noto-core -notosansmultani-regular.ttf fonts-noto-core -notosansmyanmar-black.ttf fonts-noto-extra -notosansmyanmar-bold.ttf fonts-noto-core -notosansmyanmar-condensed.ttf fonts-noto-extra -notosansmyanmar-condensedblack.ttf fonts-noto-extra -notosansmyanmar-condensedbold.ttf fonts-noto-extra -notosansmyanmar-condensedextrabold.ttf fonts-noto-extra -notosansmyanmar-condensedextralight.ttf fonts-noto-extra -notosansmyanmar-condensedlight.ttf fonts-noto-extra -notosansmyanmar-condensedmedium.ttf fonts-noto-extra -notosansmyanmar-condensedsemibold.ttf fonts-noto-extra -notosansmyanmar-condensedthin.ttf fonts-noto-extra -notosansmyanmar-extrabold.ttf fonts-noto-extra -notosansmyanmar-extracondensed.ttf fonts-noto-extra -notosansmyanmar-extracondensedblack.ttf fonts-noto-extra -notosansmyanmar-extracondensedbold.ttf fonts-noto-extra -notosansmyanmar-extracondensedextrabold.ttf fonts-noto-extra -notosansmyanmar-extracondensedextralight.ttf fonts-noto-extra -notosansmyanmar-extracondensedlight.ttf fonts-noto-extra -notosansmyanmar-extracondensedmedium.ttf fonts-noto-extra -notosansmyanmar-extracondensedsemibold.ttf fonts-noto-extra -notosansmyanmar-extracondensedthin.ttf fonts-noto-extra -notosansmyanmar-extralight.ttf fonts-noto-extra -notosansmyanmar-light.ttf fonts-noto-extra -notosansmyanmar-medium.ttf fonts-noto-extra -notosansmyanmar-regular.ttf fonts-noto-core -notosansmyanmar-semibold.ttf fonts-noto-extra -notosansmyanmar-semicondensed.ttf fonts-noto-extra -notosansmyanmar-semicondensedblack.ttf fonts-noto-extra -notosansmyanmar-semicondensedbold.ttf fonts-noto-extra -notosansmyanmar-semicondensedextrabold.ttf fonts-noto-extra -notosansmyanmar-semicondensedextralight.ttf fonts-noto-extra -notosansmyanmar-semicondensedlight.ttf fonts-noto-extra -notosansmyanmar-semicondensedmedium.ttf fonts-noto-extra -notosansmyanmar-semicondensedsemibold.ttf fonts-noto-extra -notosansmyanmar-semicondensedthin.ttf fonts-noto-extra -notosansmyanmar-thin.ttf fonts-noto-extra -notosansmyanmarui-black.ttf fonts-noto-ui-extra -notosansmyanmarui-bold.ttf fonts-noto-ui-core -notosansmyanmarui-condensed.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedblack.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedbold.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedextrabold.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedextralight.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedlight.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedmedium.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedsemibold.ttf fonts-noto-ui-extra -notosansmyanmarui-condensedthin.ttf fonts-noto-ui-extra -notosansmyanmarui-extrabold.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensed.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedblack.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedbold.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedlight.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansmyanmarui-extracondensedthin.ttf fonts-noto-ui-extra -notosansmyanmarui-extralight.ttf fonts-noto-ui-extra -notosansmyanmarui-light.ttf fonts-noto-ui-extra -notosansmyanmarui-medium.ttf fonts-noto-ui-extra -notosansmyanmarui-regular.ttf fonts-noto-ui-core -notosansmyanmarui-semibold.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensed.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedblack.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedbold.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedlight.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansmyanmarui-semicondensedthin.ttf fonts-noto-ui-extra -notosansmyanmarui-thin.ttf fonts-noto-ui-extra -notosansnabataean-regular.ttf fonts-noto-core -notosansnewa-regular.ttf fonts-noto-core -notosansnewtailue-regular.ttf fonts-noto-core -notosansnko-regular.ttf fonts-noto-core -notosansogham-regular.ttf fonts-noto-core -notosansolchiki-bold.ttf fonts-noto-unhinted -notosansolchiki-medium.ttf fonts-noto-unhinted -notosansolchiki-regular.ttf fonts-noto-core -notosansolchiki-semibold.ttf fonts-noto-unhinted -notosansoldhungarian-regular.ttf fonts-noto-core -notosansolditalic-regular.ttf fonts-noto-core -notosansoldnortharabian-regular.ttf fonts-noto-core -notosansoldpermic-regular.ttf fonts-noto-core -notosansoldpersian-regular.ttf fonts-noto-core -notosansoldsogdian-regular.ttf fonts-noto-core -notosansoldsoutharabian-regular.ttf fonts-noto-core -notosansoldturkic-regular.ttf fonts-noto-core -notosansoriya-bold.ttf fonts-noto-core -notosansoriya-regular.ttf fonts-noto-core -notosansoriyaui-bold.ttf fonts-noto-ui-core -notosansoriyaui-regular.ttf fonts-noto-ui-core -notosansosage-regular.ttf fonts-noto-core -notosansosmanya-regular.ttf fonts-noto-core -notosanspahawhhmong-regular.ttf fonts-noto-core -notosanspalmyrene-regular.ttf fonts-noto-core -notosanspaucinhau-regular.ttf fonts-noto-core -notosansphagspa-regular.ttf fonts-noto-core -notosansphoenician-regular.ttf fonts-noto-core -notosanspsalterpahlavi-regular.ttf fonts-noto-core -notosansrejang-regular.ttf fonts-noto-core -notosansrunic-regular.ttf fonts-noto-core -notosanssamaritan-regular.ttf fonts-noto-core -notosanssaurashtra-regular.ttf fonts-noto-core -notosanssharada-regular.ttf fonts-noto-core -notosansshavian-regular.ttf fonts-noto-core -notosanssiddham-regular.ttf fonts-noto-core -notosanssinhala-black.ttf fonts-noto-extra -notosanssinhala-bold.ttf fonts-noto-core -notosanssinhala-condensed.ttf fonts-noto-extra -notosanssinhala-condensedblack.ttf fonts-noto-extra -notosanssinhala-condensedbold.ttf fonts-noto-extra -notosanssinhala-condensedextrabold.ttf fonts-noto-extra -notosanssinhala-condensedextralight.ttf fonts-noto-extra -notosanssinhala-condensedlight.ttf fonts-noto-extra -notosanssinhala-condensedmedium.ttf fonts-noto-extra -notosanssinhala-condensedsemibold.ttf fonts-noto-extra -notosanssinhala-condensedthin.ttf fonts-noto-extra -notosanssinhala-extrabold.ttf fonts-noto-extra -notosanssinhala-extracondensed.ttf fonts-noto-extra -notosanssinhala-extracondensedblack.ttf fonts-noto-extra -notosanssinhala-extracondensedbold.ttf fonts-noto-extra -notosanssinhala-extracondensedextrabold.ttf fonts-noto-extra -notosanssinhala-extracondensedextralight.ttf fonts-noto-extra -notosanssinhala-extracondensedlight.ttf fonts-noto-extra -notosanssinhala-extracondensedmedium.ttf fonts-noto-extra -notosanssinhala-extracondensedsemibold.ttf fonts-noto-extra -notosanssinhala-extracondensedthin.ttf fonts-noto-extra -notosanssinhala-extralight.ttf fonts-noto-extra -notosanssinhala-light.ttf fonts-noto-extra -notosanssinhala-medium.ttf fonts-noto-extra -notosanssinhala-regular.ttf fonts-noto-core -notosanssinhala-semibold.ttf fonts-noto-extra -notosanssinhala-semicondensed.ttf fonts-noto-extra -notosanssinhala-semicondensedblack.ttf fonts-noto-extra -notosanssinhala-semicondensedbold.ttf fonts-noto-extra -notosanssinhala-semicondensedextrabold.ttf fonts-noto-extra -notosanssinhala-semicondensedextralight.ttf fonts-noto-extra -notosanssinhala-semicondensedlight.ttf fonts-noto-extra -notosanssinhala-semicondensedmedium.ttf fonts-noto-extra -notosanssinhala-semicondensedsemibold.ttf fonts-noto-extra -notosanssinhala-semicondensedthin.ttf fonts-noto-extra -notosanssinhala-thin.ttf fonts-noto-extra -notosanssinhalaui-black.ttf fonts-noto-ui-extra -notosanssinhalaui-bold.ttf fonts-noto-ui-core -notosanssinhalaui-condensed.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedblack.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedbold.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedextrabold.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedextralight.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedlight.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedmedium.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedsemibold.ttf fonts-noto-ui-extra -notosanssinhalaui-condensedthin.ttf fonts-noto-ui-extra -notosanssinhalaui-extrabold.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensed.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedblack.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedbold.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedextralight.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedlight.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedmedium.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosanssinhalaui-extracondensedthin.ttf fonts-noto-ui-extra -notosanssinhalaui-extralight.ttf fonts-noto-ui-extra -notosanssinhalaui-light.ttf fonts-noto-ui-extra -notosanssinhalaui-medium.ttf fonts-noto-ui-extra -notosanssinhalaui-regular.ttf fonts-noto-ui-core -notosanssinhalaui-semibold.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensed.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedblack.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedbold.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedextralight.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedlight.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedmedium.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosanssinhalaui-semicondensedthin.ttf fonts-noto-ui-extra -notosanssinhalaui-thin.ttf fonts-noto-ui-extra -notosanssogdian-regular.ttf fonts-noto-unhinted -notosanssorasompeng-regular.ttf fonts-noto-core -notosanssoyombo-regular.ttf fonts-noto-unhinted -notosanssundanese-regular.ttf fonts-noto-core -notosanssylotinagri-regular.ttf fonts-noto-core -notosanssymbols-black.ttf fonts-noto-extra -notosanssymbols-bold.ttf fonts-noto-core -notosanssymbols-extrabold.ttf fonts-noto-extra -notosanssymbols-extralight.ttf fonts-noto-extra -notosanssymbols-light.ttf fonts-noto-extra -notosanssymbols-medium.ttf fonts-noto-extra -notosanssymbols-regular.ttf fonts-noto-core -notosanssymbols-semibold.ttf fonts-noto-extra -notosanssymbols-thin.ttf fonts-noto-extra -notosanssymbols2-regular.ttf fonts-noto-core -notosanssyriac-black.ttf fonts-noto-extra -notosanssyriac-regular.ttf fonts-noto-core -notosanssyriac-thin.ttf fonts-noto-extra -notosanstagalog-regular.ttf fonts-noto-core -notosanstagbanwa-regular.ttf fonts-noto-core -notosanstaile-regular.ttf fonts-noto-core -notosanstaitham-regular.ttf fonts-noto-core -notosanstaiviet-regular.ttf fonts-noto-core -notosanstakri-regular.ttf fonts-noto-core -notosanstamil-black.ttf fonts-noto-extra -notosanstamil-bold.ttf fonts-noto-core -notosanstamil-condensed.ttf fonts-noto-extra -notosanstamil-condensedblack.ttf fonts-noto-extra -notosanstamil-condensedbold.ttf fonts-noto-extra -notosanstamil-condensedextrabold.ttf fonts-noto-extra -notosanstamil-condensedextralight.ttf fonts-noto-extra -notosanstamil-condensedlight.ttf fonts-noto-extra -notosanstamil-condensedmedium.ttf fonts-noto-extra -notosanstamil-condensedsemibold.ttf fonts-noto-extra -notosanstamil-condensedthin.ttf fonts-noto-extra -notosanstamil-extrabold.ttf fonts-noto-extra -notosanstamil-extracondensed.ttf fonts-noto-extra -notosanstamil-extracondensedblack.ttf fonts-noto-extra -notosanstamil-extracondensedbold.ttf fonts-noto-extra -notosanstamil-extracondensedextrabold.ttf fonts-noto-extra -notosanstamil-extracondensedextralight.ttf fonts-noto-extra -notosanstamil-extracondensedlight.ttf fonts-noto-extra -notosanstamil-extracondensedmedium.ttf fonts-noto-extra -notosanstamil-extracondensedsemibold.ttf fonts-noto-extra -notosanstamil-extracondensedthin.ttf fonts-noto-extra -notosanstamil-extralight.ttf fonts-noto-extra -notosanstamil-light.ttf fonts-noto-extra -notosanstamil-medium.ttf fonts-noto-extra -notosanstamil-regular.ttf fonts-noto-core -notosanstamil-semibold.ttf fonts-noto-extra -notosanstamil-semicondensed.ttf fonts-noto-extra -notosanstamil-semicondensedblack.ttf fonts-noto-extra -notosanstamil-semicondensedbold.ttf fonts-noto-extra -notosanstamil-semicondensedextrabold.ttf fonts-noto-extra -notosanstamil-semicondensedextralight.ttf fonts-noto-extra -notosanstamil-semicondensedlight.ttf fonts-noto-extra -notosanstamil-semicondensedmedium.ttf fonts-noto-extra -notosanstamil-semicondensedsemibold.ttf fonts-noto-extra -notosanstamil-semicondensedthin.ttf fonts-noto-extra -notosanstamil-thin.ttf fonts-noto-extra -notosanstamilsupplement-regular.ttf fonts-noto-core -notosanstamilui-black.ttf fonts-noto-ui-extra -notosanstamilui-bold.ttf fonts-noto-ui-core -notosanstamilui-condensed.ttf fonts-noto-ui-extra -notosanstamilui-condensedblack.ttf fonts-noto-ui-extra -notosanstamilui-condensedbold.ttf fonts-noto-ui-extra -notosanstamilui-condensedextrabold.ttf fonts-noto-ui-extra -notosanstamilui-condensedextralight.ttf fonts-noto-ui-extra -notosanstamilui-condensedlight.ttf fonts-noto-ui-extra -notosanstamilui-condensedmedium.ttf fonts-noto-ui-extra -notosanstamilui-condensedsemibold.ttf fonts-noto-ui-extra -notosanstamilui-condensedthin.ttf fonts-noto-ui-extra -notosanstamilui-extrabold.ttf fonts-noto-ui-extra -notosanstamilui-extracondensed.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedblack.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedbold.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedextralight.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedlight.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedmedium.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosanstamilui-extracondensedthin.ttf fonts-noto-ui-extra -notosanstamilui-extralight.ttf fonts-noto-ui-extra -notosanstamilui-light.ttf fonts-noto-ui-extra -notosanstamilui-medium.ttf fonts-noto-ui-extra -notosanstamilui-regular.ttf fonts-noto-ui-core -notosanstamilui-semibold.ttf fonts-noto-ui-extra -notosanstamilui-semicondensed.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedblack.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedbold.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedextralight.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedlight.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedmedium.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosanstamilui-semicondensedthin.ttf fonts-noto-ui-extra -notosanstamilui-thin.ttf fonts-noto-ui-extra -notosanstelugu-black.ttf fonts-noto-extra -notosanstelugu-bold.ttf fonts-noto-core -notosanstelugu-condensed.ttf fonts-noto-extra -notosanstelugu-condensedblack.ttf fonts-noto-extra -notosanstelugu-condensedbold.ttf fonts-noto-extra -notosanstelugu-condensedextrabold.ttf fonts-noto-extra -notosanstelugu-condensedextralight.ttf fonts-noto-extra -notosanstelugu-condensedlight.ttf fonts-noto-extra -notosanstelugu-condensedmedium.ttf fonts-noto-extra -notosanstelugu-condensedsemibold.ttf fonts-noto-extra -notosanstelugu-condensedthin.ttf fonts-noto-extra -notosanstelugu-extrabold.ttf fonts-noto-extra -notosanstelugu-extracondensed.ttf fonts-noto-extra -notosanstelugu-extracondensedblack.ttf fonts-noto-extra -notosanstelugu-extracondensedbold.ttf fonts-noto-extra -notosanstelugu-extracondensedextrabold.ttf fonts-noto-extra -notosanstelugu-extracondensedextralight.ttf fonts-noto-extra -notosanstelugu-extracondensedlight.ttf fonts-noto-extra -notosanstelugu-extracondensedmedium.ttf fonts-noto-extra -notosanstelugu-extracondensedsemibold.ttf fonts-noto-extra -notosanstelugu-extracondensedthin.ttf fonts-noto-extra -notosanstelugu-extralight.ttf fonts-noto-extra -notosanstelugu-light.ttf fonts-noto-extra -notosanstelugu-medium.ttf fonts-noto-extra -notosanstelugu-regular.ttf fonts-noto-core -notosanstelugu-semibold.ttf fonts-noto-extra -notosanstelugu-semicondensed.ttf fonts-noto-extra -notosanstelugu-semicondensedblack.ttf fonts-noto-extra -notosanstelugu-semicondensedbold.ttf fonts-noto-extra -notosanstelugu-semicondensedextrabold.ttf fonts-noto-extra -notosanstelugu-semicondensedextralight.ttf fonts-noto-extra -notosanstelugu-semicondensedlight.ttf fonts-noto-extra -notosanstelugu-semicondensedmedium.ttf fonts-noto-extra -notosanstelugu-semicondensedsemibold.ttf fonts-noto-extra -notosanstelugu-semicondensedthin.ttf fonts-noto-extra -notosanstelugu-thin.ttf fonts-noto-extra -notosansteluguui-black.ttf fonts-noto-ui-extra -notosansteluguui-bold.ttf fonts-noto-ui-core -notosansteluguui-condensed.ttf fonts-noto-ui-extra -notosansteluguui-condensedblack.ttf fonts-noto-ui-extra -notosansteluguui-condensedbold.ttf fonts-noto-ui-extra -notosansteluguui-condensedextrabold.ttf fonts-noto-ui-extra -notosansteluguui-condensedextralight.ttf fonts-noto-ui-extra -notosansteluguui-condensedlight.ttf fonts-noto-ui-extra -notosansteluguui-condensedmedium.ttf fonts-noto-ui-extra -notosansteluguui-condensedsemibold.ttf fonts-noto-ui-extra -notosansteluguui-condensedthin.ttf fonts-noto-ui-extra -notosansteluguui-extrabold.ttf fonts-noto-ui-extra -notosansteluguui-extracondensed.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedblack.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedbold.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedlight.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansteluguui-extracondensedthin.ttf fonts-noto-ui-extra -notosansteluguui-extralight.ttf fonts-noto-ui-extra -notosansteluguui-light.ttf fonts-noto-ui-extra -notosansteluguui-medium.ttf fonts-noto-ui-extra -notosansteluguui-regular.ttf fonts-noto-ui-core -notosansteluguui-semibold.ttf fonts-noto-ui-extra -notosansteluguui-semicondensed.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedblack.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedbold.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedlight.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansteluguui-semicondensedthin.ttf fonts-noto-ui-extra -notosansteluguui-thin.ttf fonts-noto-ui-extra -notosansthaana-black.ttf fonts-noto-extra -notosansthaana-bold.ttf fonts-noto-core -notosansthaana-extrabold.ttf fonts-noto-extra -notosansthaana-extralight.ttf fonts-noto-extra -notosansthaana-light.ttf fonts-noto-extra -notosansthaana-medium.ttf fonts-noto-extra -notosansthaana-regular.ttf fonts-noto-core -notosansthaana-semibold.ttf fonts-noto-extra -notosansthaana-thin.ttf fonts-noto-extra -notosansthai-black.ttf fonts-noto-extra -notosansthai-bold.ttf fonts-noto-core -notosansthai-condensed.ttf fonts-noto-extra -notosansthai-condensedblack.ttf fonts-noto-extra -notosansthai-condensedbold.ttf fonts-noto-extra -notosansthai-condensedextrabold.ttf fonts-noto-extra -notosansthai-condensedextralight.ttf fonts-noto-extra -notosansthai-condensedlight.ttf fonts-noto-extra -notosansthai-condensedmedium.ttf fonts-noto-extra -notosansthai-condensedsemibold.ttf fonts-noto-extra -notosansthai-condensedthin.ttf fonts-noto-extra -notosansthai-extrabold.ttf fonts-noto-extra -notosansthai-extracondensed.ttf fonts-noto-extra -notosansthai-extracondensedblack.ttf fonts-noto-extra -notosansthai-extracondensedbold.ttf fonts-noto-extra -notosansthai-extracondensedextrabold.ttf fonts-noto-extra -notosansthai-extracondensedextralight.ttf fonts-noto-extra -notosansthai-extracondensedlight.ttf fonts-noto-extra -notosansthai-extracondensedmedium.ttf fonts-noto-extra -notosansthai-extracondensedsemibold.ttf fonts-noto-extra -notosansthai-extracondensedthin.ttf fonts-noto-extra -notosansthai-extralight.ttf fonts-noto-extra -notosansthai-light.ttf fonts-noto-extra -notosansthai-medium.ttf fonts-noto-extra -notosansthai-regular.ttf fonts-noto-core -notosansthai-semibold.ttf fonts-noto-extra -notosansthai-semicondensed.ttf fonts-noto-extra -notosansthai-semicondensedblack.ttf fonts-noto-extra -notosansthai-semicondensedbold.ttf fonts-noto-extra -notosansthai-semicondensedextrabold.ttf fonts-noto-extra -notosansthai-semicondensedextralight.ttf fonts-noto-extra -notosansthai-semicondensedlight.ttf fonts-noto-extra -notosansthai-semicondensedmedium.ttf fonts-noto-extra -notosansthai-semicondensedsemibold.ttf fonts-noto-extra -notosansthai-semicondensedthin.ttf fonts-noto-extra -notosansthai-thin.ttf fonts-noto-extra -notosansthaiui-black.ttf fonts-noto-ui-extra -notosansthaiui-bold.ttf fonts-noto-ui-core -notosansthaiui-condensed.ttf fonts-noto-ui-extra -notosansthaiui-condensedblack.ttf fonts-noto-ui-extra -notosansthaiui-condensedbold.ttf fonts-noto-ui-extra -notosansthaiui-condensedextrabold.ttf fonts-noto-ui-extra -notosansthaiui-condensedextralight.ttf fonts-noto-ui-extra -notosansthaiui-condensedlight.ttf fonts-noto-ui-extra -notosansthaiui-condensedmedium.ttf fonts-noto-ui-extra -notosansthaiui-condensedsemibold.ttf fonts-noto-ui-extra -notosansthaiui-condensedthin.ttf fonts-noto-ui-extra -notosansthaiui-extrabold.ttf fonts-noto-ui-extra -notosansthaiui-extracondensed.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedblack.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedbold.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedextrabold.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedextralight.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedlight.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedmedium.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedsemibold.ttf fonts-noto-ui-extra -notosansthaiui-extracondensedthin.ttf fonts-noto-ui-extra -notosansthaiui-extralight.ttf fonts-noto-ui-extra -notosansthaiui-light.ttf fonts-noto-ui-extra -notosansthaiui-medium.ttf fonts-noto-ui-extra -notosansthaiui-regular.ttf fonts-noto-ui-core -notosansthaiui-semibold.ttf fonts-noto-ui-extra -notosansthaiui-semicondensed.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedblack.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedbold.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedextrabold.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedextralight.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedlight.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedmedium.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedsemibold.ttf fonts-noto-ui-extra -notosansthaiui-semicondensedthin.ttf fonts-noto-ui-extra -notosansthaiui-thin.ttf fonts-noto-ui-extra -notosanstibetan-bold.ttf fonts-noto-core -notosanstibetan-regular.ttf fonts-noto-core -notosanstifinagh-regular.ttf fonts-noto-core -notosanstirhuta-regular.ttf fonts-noto-core -notosansugaritic-regular.ttf fonts-noto-core -notosansvai-regular.ttf fonts-noto-core -notosanswancho-regular.ttf fonts-noto-unhinted -notosanswarangciti-regular.ttf fonts-noto-core -notosansyi-regular.ttf fonts-noto-core -notosanszanabazarsquare-regular.ttf fonts-noto-unhinted -notoserif-black.ttf fonts-noto-extra -notoserif-blackitalic.ttf fonts-noto-extra -notoserif-bold.ttf fonts-noto-core -notoserif-bolditalic.ttf fonts-noto-core -notoserif-condensed.ttf fonts-noto-extra -notoserif-condensedblack.ttf fonts-noto-extra -notoserif-condensedblackitalic.ttf fonts-noto-extra -notoserif-condensedbold.ttf fonts-noto-extra -notoserif-condensedbolditalic.ttf fonts-noto-extra -notoserif-condensedextrabold.ttf fonts-noto-extra -notoserif-condensedextrabolditalic.ttf fonts-noto-extra -notoserif-condensedextralight.ttf fonts-noto-extra -notoserif-condensedextralightitalic.ttf fonts-noto-extra -notoserif-condenseditalic.ttf fonts-noto-extra -notoserif-condensedlight.ttf fonts-noto-extra -notoserif-condensedlightitalic.ttf fonts-noto-extra -notoserif-condensedmedium.ttf fonts-noto-extra -notoserif-condensedmediumitalic.ttf fonts-noto-extra -notoserif-condensedsemibold.ttf fonts-noto-extra -notoserif-condensedsemibolditalic.ttf fonts-noto-extra -notoserif-condensedthin.ttf fonts-noto-extra -notoserif-condensedthinitalic.ttf fonts-noto-extra -notoserif-extrabold.ttf fonts-noto-extra -notoserif-extrabolditalic.ttf fonts-noto-extra -notoserif-extracondensed.ttf fonts-noto-extra -notoserif-extracondensedblack.ttf fonts-noto-extra -notoserif-extracondensedblackitalic.ttf fonts-noto-extra -notoserif-extracondensedbold.ttf fonts-noto-extra -notoserif-extracondensedbolditalic.ttf fonts-noto-extra -notoserif-extracondensedextrabold.ttf fonts-noto-extra -notoserif-extracondensedextrabolditalic.ttf fonts-noto-extra -notoserif-extracondensedextralight.ttf fonts-noto-extra -notoserif-extracondensedextralightitalic.ttf fonts-noto-extra -notoserif-extracondenseditalic.ttf fonts-noto-extra -notoserif-extracondensedlight.ttf fonts-noto-extra -notoserif-extracondensedlightitalic.ttf fonts-noto-extra -notoserif-extracondensedmedium.ttf fonts-noto-extra -notoserif-extracondensedmediumitalic.ttf fonts-noto-extra -notoserif-extracondensedsemibold.ttf fonts-noto-extra -notoserif-extracondensedsemibolditalic.ttf fonts-noto-extra -notoserif-extracondensedthin.ttf fonts-noto-extra -notoserif-extracondensedthinitalic.ttf fonts-noto-extra -notoserif-extralight.ttf fonts-noto-extra -notoserif-extralightitalic.ttf fonts-noto-extra -notoserif-italic.ttf fonts-noto-core -notoserif-light.ttf fonts-noto-extra -notoserif-lightitalic.ttf fonts-noto-extra -notoserif-medium.ttf fonts-noto-extra -notoserif-mediumitalic.ttf fonts-noto-extra -notoserif-regular.ttf fonts-noto-core -notoserif-semibold.ttf fonts-noto-extra -notoserif-semibolditalic.ttf fonts-noto-extra -notoserif-semicondensed.ttf fonts-noto-extra -notoserif-semicondensedblack.ttf fonts-noto-extra -notoserif-semicondensedblackitalic.ttf fonts-noto-extra -notoserif-semicondensedbold.ttf fonts-noto-extra -notoserif-semicondensedbolditalic.ttf fonts-noto-extra -notoserif-semicondensedextrabold.ttf fonts-noto-extra -notoserif-semicondensedextrabolditalic.ttf fonts-noto-extra -notoserif-semicondensedextralight.ttf fonts-noto-extra -notoserif-semicondensedextralightitalic.ttf fonts-noto-extra -notoserif-semicondenseditalic.ttf fonts-noto-extra -notoserif-semicondensedlight.ttf fonts-noto-extra -notoserif-semicondensedlightitalic.ttf fonts-noto-extra -notoserif-semicondensedmedium.ttf fonts-noto-extra -notoserif-semicondensedmediumitalic.ttf fonts-noto-extra -notoserif-semicondensedsemibold.ttf fonts-noto-extra -notoserif-semicondensedsemibolditalic.ttf fonts-noto-extra -notoserif-semicondensedthin.ttf fonts-noto-extra -notoserif-semicondensedthinitalic.ttf fonts-noto-extra -notoserif-thin.ttf fonts-noto-extra -notoserif-thinitalic.ttf fonts-noto-extra -notoserifahom-regular.ttf fonts-noto-core -notoserifarmenian-black.ttf fonts-noto-extra -notoserifarmenian-bold.ttf fonts-noto-core -notoserifarmenian-condensed.ttf fonts-noto-extra -notoserifarmenian-condensedblack.ttf fonts-noto-extra -notoserifarmenian-condensedbold.ttf fonts-noto-extra -notoserifarmenian-condensedextrabold.ttf fonts-noto-extra -notoserifarmenian-condensedextralight.ttf fonts-noto-extra -notoserifarmenian-condensedlight.ttf fonts-noto-extra -notoserifarmenian-condensedmedium.ttf fonts-noto-extra -notoserifarmenian-condensedsemibold.ttf fonts-noto-extra -notoserifarmenian-condensedthin.ttf fonts-noto-extra -notoserifarmenian-extrabold.ttf fonts-noto-extra -notoserifarmenian-extracondensed.ttf fonts-noto-extra -notoserifarmenian-extracondensedblack.ttf fonts-noto-extra -notoserifarmenian-extracondensedbold.ttf fonts-noto-extra -notoserifarmenian-extracondensedextrabold.ttf fonts-noto-extra -notoserifarmenian-extracondensedextralight.ttf fonts-noto-extra -notoserifarmenian-extracondensedlight.ttf fonts-noto-extra -notoserifarmenian-extracondensedmedium.ttf fonts-noto-extra -notoserifarmenian-extracondensedsemibold.ttf fonts-noto-extra -notoserifarmenian-extracondensedthin.ttf fonts-noto-extra -notoserifarmenian-extralight.ttf fonts-noto-extra -notoserifarmenian-light.ttf fonts-noto-extra -notoserifarmenian-medium.ttf fonts-noto-extra -notoserifarmenian-regular.ttf fonts-noto-core -notoserifarmenian-semibold.ttf fonts-noto-extra -notoserifarmenian-semicondensed.ttf fonts-noto-extra -notoserifarmenian-semicondensedblack.ttf fonts-noto-extra -notoserifarmenian-semicondensedbold.ttf fonts-noto-extra -notoserifarmenian-semicondensedextrabold.ttf fonts-noto-extra -notoserifarmenian-semicondensedextralight.ttf fonts-noto-extra -notoserifarmenian-semicondensedlight.ttf fonts-noto-extra -notoserifarmenian-semicondensedmedium.ttf fonts-noto-extra -notoserifarmenian-semicondensedsemibold.ttf fonts-noto-extra -notoserifarmenian-semicondensedthin.ttf fonts-noto-extra -notoserifarmenian-thin.ttf fonts-noto-extra -notoserifbalinese-regular.ttf fonts-noto-core -notoserifbengali-black.ttf fonts-noto-extra -notoserifbengali-bold.ttf fonts-noto-core -notoserifbengali-condensed.ttf fonts-noto-extra -notoserifbengali-condensedblack.ttf fonts-noto-extra -notoserifbengali-condensedbold.ttf fonts-noto-extra -notoserifbengali-condensedextrabold.ttf fonts-noto-extra -notoserifbengali-condensedextralight.ttf fonts-noto-extra -notoserifbengali-condensedlight.ttf fonts-noto-extra -notoserifbengali-condensedmedium.ttf fonts-noto-extra -notoserifbengali-condensedsemibold.ttf fonts-noto-extra -notoserifbengali-condensedthin.ttf fonts-noto-extra -notoserifbengali-extrabold.ttf fonts-noto-extra -notoserifbengali-extracondensed.ttf fonts-noto-extra -notoserifbengali-extracondensedblack.ttf fonts-noto-extra -notoserifbengali-extracondensedbold.ttf fonts-noto-extra -notoserifbengali-extracondensedextrabold.ttf fonts-noto-extra -notoserifbengali-extracondensedextralight.ttf fonts-noto-extra -notoserifbengali-extracondensedlight.ttf fonts-noto-extra -notoserifbengali-extracondensedmedium.ttf fonts-noto-extra -notoserifbengali-extracondensedsemibold.ttf fonts-noto-extra -notoserifbengali-extracondensedthin.ttf fonts-noto-extra -notoserifbengali-extralight.ttf fonts-noto-extra -notoserifbengali-light.ttf fonts-noto-extra -notoserifbengali-medium.ttf fonts-noto-extra -notoserifbengali-regular.ttf fonts-noto-core -notoserifbengali-semibold.ttf fonts-noto-extra -notoserifbengali-semicondensed.ttf fonts-noto-extra -notoserifbengali-semicondensedblack.ttf fonts-noto-extra -notoserifbengali-semicondensedbold.ttf fonts-noto-extra -notoserifbengali-semicondensedextrabold.ttf fonts-noto-extra -notoserifbengali-semicondensedextralight.ttf fonts-noto-extra -notoserifbengali-semicondensedlight.ttf fonts-noto-extra -notoserifbengali-semicondensedmedium.ttf fonts-noto-extra -notoserifbengali-semicondensedsemibold.ttf fonts-noto-extra -notoserifbengali-semicondensedthin.ttf fonts-noto-extra -notoserifbengali-thin.ttf fonts-noto-extra -notoserifdevanagari-black.ttf fonts-noto-extra -notoserifdevanagari-bold.ttf fonts-noto-core -notoserifdevanagari-condensed.ttf fonts-noto-extra -notoserifdevanagari-condensedblack.ttf fonts-noto-extra -notoserifdevanagari-condensedbold.ttf fonts-noto-extra -notoserifdevanagari-condensedextrabold.ttf fonts-noto-extra -notoserifdevanagari-condensedextralight.ttf fonts-noto-extra -notoserifdevanagari-condensedlight.ttf fonts-noto-extra -notoserifdevanagari-condensedmedium.ttf fonts-noto-extra -notoserifdevanagari-condensedsemibold.ttf fonts-noto-extra -notoserifdevanagari-condensedthin.ttf fonts-noto-extra -notoserifdevanagari-extrabold.ttf fonts-noto-extra -notoserifdevanagari-extracondensed.ttf fonts-noto-extra -notoserifdevanagari-extracondensedblack.ttf fonts-noto-extra -notoserifdevanagari-extracondensedbold.ttf fonts-noto-extra -notoserifdevanagari-extracondensedextrabold.ttf fonts-noto-extra -notoserifdevanagari-extracondensedextralight.ttf fonts-noto-extra -notoserifdevanagari-extracondensedlight.ttf fonts-noto-extra -notoserifdevanagari-extracondensedmedium.ttf fonts-noto-extra -notoserifdevanagari-extracondensedsemibold.ttf fonts-noto-extra -notoserifdevanagari-extracondensedthin.ttf fonts-noto-extra -notoserifdevanagari-extralight.ttf fonts-noto-extra -notoserifdevanagari-light.ttf fonts-noto-extra -notoserifdevanagari-medium.ttf fonts-noto-extra -notoserifdevanagari-regular.ttf fonts-noto-core -notoserifdevanagari-semibold.ttf fonts-noto-extra -notoserifdevanagari-semicondensed.ttf fonts-noto-extra -notoserifdevanagari-semicondensedblack.ttf fonts-noto-extra -notoserifdevanagari-semicondensedbold.ttf fonts-noto-extra -notoserifdevanagari-semicondensedextrabold.ttf fonts-noto-extra -notoserifdevanagari-semicondensedextralight.ttf fonts-noto-extra -notoserifdevanagari-semicondensedlight.ttf fonts-noto-extra -notoserifdevanagari-semicondensedmedium.ttf fonts-noto-extra -notoserifdevanagari-semicondensedsemibold.ttf fonts-noto-extra -notoserifdevanagari-semicondensedthin.ttf fonts-noto-extra -notoserifdevanagari-thin.ttf fonts-noto-extra -notoserifdisplay-black.ttf fonts-noto-extra -notoserifdisplay-blackitalic.ttf fonts-noto-extra -notoserifdisplay-bold.ttf fonts-noto-core -notoserifdisplay-bolditalic.ttf fonts-noto-core -notoserifdisplay-condensed.ttf fonts-noto-extra -notoserifdisplay-condensedblack.ttf fonts-noto-extra -notoserifdisplay-condensedblackitalic.ttf fonts-noto-extra -notoserifdisplay-condensedbold.ttf fonts-noto-extra -notoserifdisplay-condensedbolditalic.ttf fonts-noto-extra -notoserifdisplay-condensedextrabold.ttf fonts-noto-extra -notoserifdisplay-condensedextrabolditalic.ttf fonts-noto-extra -notoserifdisplay-condensedextralight.ttf fonts-noto-extra -notoserifdisplay-condensedextralightitalic.ttf fonts-noto-extra -notoserifdisplay-condenseditalic.ttf fonts-noto-extra -notoserifdisplay-condensedlight.ttf fonts-noto-extra -notoserifdisplay-condensedlightitalic.ttf fonts-noto-extra -notoserifdisplay-condensedmedium.ttf fonts-noto-extra -notoserifdisplay-condensedmediumitalic.ttf fonts-noto-extra -notoserifdisplay-condensedsemibold.ttf fonts-noto-extra -notoserifdisplay-condensedsemibolditalic.ttf fonts-noto-extra -notoserifdisplay-condensedthin.ttf fonts-noto-extra -notoserifdisplay-condensedthinitalic.ttf fonts-noto-extra -notoserifdisplay-extrabold.ttf fonts-noto-extra -notoserifdisplay-extrabolditalic.ttf fonts-noto-extra -notoserifdisplay-extracondensed.ttf fonts-noto-extra -notoserifdisplay-extracondensedblack.ttf fonts-noto-extra -notoserifdisplay-extracondensedblackitalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedbold.ttf fonts-noto-extra -notoserifdisplay-extracondensedbolditalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedextrabold.ttf fonts-noto-extra -notoserifdisplay-extracondensedextrabolditalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedextralight.ttf fonts-noto-extra -notoserifdisplay-extracondensedextralightitalic.ttf fonts-noto-extra -notoserifdisplay-extracondenseditalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedlight.ttf fonts-noto-extra -notoserifdisplay-extracondensedlightitalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedmedium.ttf fonts-noto-extra -notoserifdisplay-extracondensedmediumitalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedsemibold.ttf fonts-noto-extra -notoserifdisplay-extracondensedsemibolditalic.ttf fonts-noto-extra -notoserifdisplay-extracondensedthin.ttf fonts-noto-extra -notoserifdisplay-extracondensedthinitalic.ttf fonts-noto-extra -notoserifdisplay-extralight.ttf fonts-noto-extra -notoserifdisplay-extralightitalic.ttf fonts-noto-extra -notoserifdisplay-italic.ttf fonts-noto-core -notoserifdisplay-light.ttf fonts-noto-extra -notoserifdisplay-lightitalic.ttf fonts-noto-extra -notoserifdisplay-medium.ttf fonts-noto-extra -notoserifdisplay-mediumitalic.ttf fonts-noto-extra -notoserifdisplay-regular.ttf fonts-noto-core -notoserifdisplay-semibold.ttf fonts-noto-extra -notoserifdisplay-semibolditalic.ttf fonts-noto-extra -notoserifdisplay-semicondensed.ttf fonts-noto-extra -notoserifdisplay-semicondensedblack.ttf fonts-noto-extra -notoserifdisplay-semicondensedblackitalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedbold.ttf fonts-noto-extra -notoserifdisplay-semicondensedbolditalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedextrabold.ttf fonts-noto-extra -notoserifdisplay-semicondensedextrabolditalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedextralight.ttf fonts-noto-extra -notoserifdisplay-semicondensedextralightitalic.ttf fonts-noto-extra -notoserifdisplay-semicondenseditalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedlight.ttf fonts-noto-extra -notoserifdisplay-semicondensedlightitalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedmedium.ttf fonts-noto-extra -notoserifdisplay-semicondensedmediumitalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedsemibold.ttf fonts-noto-extra -notoserifdisplay-semicondensedsemibolditalic.ttf fonts-noto-extra -notoserifdisplay-semicondensedthin.ttf fonts-noto-extra -notoserifdisplay-semicondensedthinitalic.ttf fonts-noto-extra -notoserifdisplay-thin.ttf fonts-noto-extra -notoserifdisplay-thinitalic.ttf fonts-noto-extra -notoserifdogra-regular.ttf fonts-noto-core -notoserifethiopic-black.ttf fonts-noto-extra -notoserifethiopic-bold.ttf fonts-noto-core -notoserifethiopic-condensed.ttf fonts-noto-extra -notoserifethiopic-condensedblack.ttf fonts-noto-extra -notoserifethiopic-condensedbold.ttf fonts-noto-extra -notoserifethiopic-condensedextrabold.ttf fonts-noto-extra -notoserifethiopic-condensedextralight.ttf fonts-noto-extra -notoserifethiopic-condensedlight.ttf fonts-noto-extra -notoserifethiopic-condensedmedium.ttf fonts-noto-extra -notoserifethiopic-condensedsemibold.ttf fonts-noto-extra -notoserifethiopic-condensedthin.ttf fonts-noto-extra -notoserifethiopic-extrabold.ttf fonts-noto-extra -notoserifethiopic-extracondensed.ttf fonts-noto-extra -notoserifethiopic-extracondensedblack.ttf fonts-noto-extra -notoserifethiopic-extracondensedbold.ttf fonts-noto-extra -notoserifethiopic-extracondensedextrabold.ttf fonts-noto-extra -notoserifethiopic-extracondensedextralight.ttf fonts-noto-extra -notoserifethiopic-extracondensedlight.ttf fonts-noto-extra -notoserifethiopic-extracondensedmedium.ttf fonts-noto-extra -notoserifethiopic-extracondensedsemibold.ttf fonts-noto-extra -notoserifethiopic-extracondensedthin.ttf fonts-noto-extra -notoserifethiopic-extralight.ttf fonts-noto-extra -notoserifethiopic-light.ttf fonts-noto-extra -notoserifethiopic-medium.ttf fonts-noto-extra -notoserifethiopic-regular.ttf fonts-noto-core -notoserifethiopic-semibold.ttf fonts-noto-extra -notoserifethiopic-semicondensed.ttf fonts-noto-extra -notoserifethiopic-semicondensedblack.ttf fonts-noto-extra -notoserifethiopic-semicondensedbold.ttf fonts-noto-extra -notoserifethiopic-semicondensedextrabold.ttf fonts-noto-extra -notoserifethiopic-semicondensedextralight.ttf fonts-noto-extra -notoserifethiopic-semicondensedlight.ttf fonts-noto-extra -notoserifethiopic-semicondensedmedium.ttf fonts-noto-extra -notoserifethiopic-semicondensedsemibold.ttf fonts-noto-extra -notoserifethiopic-semicondensedthin.ttf fonts-noto-extra -notoserifethiopic-thin.ttf fonts-noto-extra -notoserifgeorgian-black.ttf fonts-noto-extra -notoserifgeorgian-bold.ttf fonts-noto-core -notoserifgeorgian-condensed.ttf fonts-noto-extra -notoserifgeorgian-condensedblack.ttf fonts-noto-extra -notoserifgeorgian-condensedbold.ttf fonts-noto-extra -notoserifgeorgian-condensedextrabold.ttf fonts-noto-extra -notoserifgeorgian-condensedextralight.ttf fonts-noto-extra -notoserifgeorgian-condensedlight.ttf fonts-noto-extra -notoserifgeorgian-condensedmedium.ttf fonts-noto-extra -notoserifgeorgian-condensedsemibold.ttf fonts-noto-extra -notoserifgeorgian-condensedthin.ttf fonts-noto-extra -notoserifgeorgian-extrabold.ttf fonts-noto-extra -notoserifgeorgian-extracondensed.ttf fonts-noto-extra -notoserifgeorgian-extracondensedblack.ttf fonts-noto-extra -notoserifgeorgian-extracondensedbold.ttf fonts-noto-extra -notoserifgeorgian-extracondensedextrabold.ttf fonts-noto-extra -notoserifgeorgian-extracondensedextralight.ttf fonts-noto-extra -notoserifgeorgian-extracondensedlight.ttf fonts-noto-extra -notoserifgeorgian-extracondensedmedium.ttf fonts-noto-extra -notoserifgeorgian-extracondensedsemibold.ttf fonts-noto-extra -notoserifgeorgian-extracondensedthin.ttf fonts-noto-extra -notoserifgeorgian-extralight.ttf fonts-noto-extra -notoserifgeorgian-light.ttf fonts-noto-extra -notoserifgeorgian-medium.ttf fonts-noto-extra -notoserifgeorgian-regular.ttf fonts-noto-core -notoserifgeorgian-semibold.ttf fonts-noto-extra -notoserifgeorgian-semicondensed.ttf fonts-noto-extra -notoserifgeorgian-semicondensedblack.ttf fonts-noto-extra -notoserifgeorgian-semicondensedbold.ttf fonts-noto-extra -notoserifgeorgian-semicondensedextrabold.ttf fonts-noto-extra -notoserifgeorgian-semicondensedextralight.ttf fonts-noto-extra -notoserifgeorgian-semicondensedlight.ttf fonts-noto-extra -notoserifgeorgian-semicondensedmedium.ttf fonts-noto-extra -notoserifgeorgian-semicondensedsemibold.ttf fonts-noto-extra -notoserifgeorgian-semicondensedthin.ttf fonts-noto-extra -notoserifgeorgian-thin.ttf fonts-noto-extra -notoserifgujarati-black.ttf fonts-noto-extra -notoserifgujarati-bold.ttf fonts-noto-core -notoserifgujarati-extrabold.ttf fonts-noto-extra -notoserifgujarati-extralight.ttf fonts-noto-extra -notoserifgujarati-light.ttf fonts-noto-extra -notoserifgujarati-medium.ttf fonts-noto-extra -notoserifgujarati-regular.ttf fonts-noto-core -notoserifgujarati-semibold.ttf fonts-noto-extra -notoserifgujarati-thin.ttf fonts-noto-extra -notoserifgurmukhi-black.ttf fonts-noto-extra -notoserifgurmukhi-bold.ttf fonts-noto-core -notoserifgurmukhi-extrabold.ttf fonts-noto-extra -notoserifgurmukhi-extralight.ttf fonts-noto-extra -notoserifgurmukhi-light.ttf fonts-noto-extra -notoserifgurmukhi-medium.ttf fonts-noto-extra -notoserifgurmukhi-regular.ttf fonts-noto-core -notoserifgurmukhi-semibold.ttf fonts-noto-extra -notoserifgurmukhi-thin.ttf fonts-noto-extra -notoserifhebrew-black.ttf fonts-noto-extra -notoserifhebrew-bold.ttf fonts-noto-core -notoserifhebrew-condensed.ttf fonts-noto-extra -notoserifhebrew-condensedblack.ttf fonts-noto-extra -notoserifhebrew-condensedbold.ttf fonts-noto-extra -notoserifhebrew-condensedextrabold.ttf fonts-noto-extra -notoserifhebrew-condensedextralight.ttf fonts-noto-extra -notoserifhebrew-condensedlight.ttf fonts-noto-extra -notoserifhebrew-condensedmedium.ttf fonts-noto-extra -notoserifhebrew-condensedsemibold.ttf fonts-noto-extra -notoserifhebrew-condensedthin.ttf fonts-noto-extra -notoserifhebrew-extrabold.ttf fonts-noto-extra -notoserifhebrew-extracondensed.ttf fonts-noto-extra -notoserifhebrew-extracondensedblack.ttf fonts-noto-extra -notoserifhebrew-extracondensedbold.ttf fonts-noto-extra -notoserifhebrew-extracondensedextrabold.ttf fonts-noto-extra -notoserifhebrew-extracondensedextralight.ttf fonts-noto-extra -notoserifhebrew-extracondensedlight.ttf fonts-noto-extra -notoserifhebrew-extracondensedmedium.ttf fonts-noto-extra -notoserifhebrew-extracondensedsemibold.ttf fonts-noto-extra -notoserifhebrew-extracondensedthin.ttf fonts-noto-extra -notoserifhebrew-extralight.ttf fonts-noto-extra -notoserifhebrew-light.ttf fonts-noto-extra -notoserifhebrew-medium.ttf fonts-noto-extra -notoserifhebrew-regular.ttf fonts-noto-core -notoserifhebrew-semibold.ttf fonts-noto-extra -notoserifhebrew-semicondensed.ttf fonts-noto-extra -notoserifhebrew-semicondensedblack.ttf fonts-noto-extra -notoserifhebrew-semicondensedbold.ttf fonts-noto-extra -notoserifhebrew-semicondensedextrabold.ttf fonts-noto-extra -notoserifhebrew-semicondensedextralight.ttf fonts-noto-extra -notoserifhebrew-semicondensedlight.ttf fonts-noto-extra -notoserifhebrew-semicondensedmedium.ttf fonts-noto-extra -notoserifhebrew-semicondensedsemibold.ttf fonts-noto-extra -notoserifhebrew-semicondensedthin.ttf fonts-noto-extra -notoserifhebrew-thin.ttf fonts-noto-extra -notoserifkannada-black.ttf fonts-noto-extra -notoserifkannada-bold.ttf fonts-noto-core -notoserifkannada-extrabold.ttf fonts-noto-extra -notoserifkannada-extralight.ttf fonts-noto-extra -notoserifkannada-light.ttf fonts-noto-extra -notoserifkannada-medium.ttf fonts-noto-extra -notoserifkannada-regular.ttf fonts-noto-core -notoserifkannada-semibold.ttf fonts-noto-extra -notoserifkannada-thin.ttf fonts-noto-extra -notoserifkhmer-black.ttf fonts-noto-extra -notoserifkhmer-bold.ttf fonts-noto-core -notoserifkhmer-condensed.ttf fonts-noto-extra -notoserifkhmer-condensedblack.ttf fonts-noto-extra -notoserifkhmer-condensedbold.ttf fonts-noto-extra -notoserifkhmer-condensedextrabold.ttf fonts-noto-extra -notoserifkhmer-condensedextralight.ttf fonts-noto-extra -notoserifkhmer-condensedlight.ttf fonts-noto-extra -notoserifkhmer-condensedmedium.ttf fonts-noto-extra -notoserifkhmer-condensedsemibold.ttf fonts-noto-extra -notoserifkhmer-condensedthin.ttf fonts-noto-extra -notoserifkhmer-extrabold.ttf fonts-noto-extra -notoserifkhmer-extracondensed.ttf fonts-noto-extra -notoserifkhmer-extracondensedblack.ttf fonts-noto-extra -notoserifkhmer-extracondensedbold.ttf fonts-noto-extra -notoserifkhmer-extracondensedextrabold.ttf fonts-noto-extra -notoserifkhmer-extracondensedextralight.ttf fonts-noto-extra -notoserifkhmer-extracondensedlight.ttf fonts-noto-extra -notoserifkhmer-extracondensedmedium.ttf fonts-noto-extra -notoserifkhmer-extracondensedsemibold.ttf fonts-noto-extra -notoserifkhmer-extracondensedthin.ttf fonts-noto-extra -notoserifkhmer-extralight.ttf fonts-noto-extra -notoserifkhmer-light.ttf fonts-noto-extra -notoserifkhmer-medium.ttf fonts-noto-extra -notoserifkhmer-regular.ttf fonts-noto-core -notoserifkhmer-semibold.ttf fonts-noto-extra -notoserifkhmer-semicondensed.ttf fonts-noto-extra -notoserifkhmer-semicondensedblack.ttf fonts-noto-extra -notoserifkhmer-semicondensedbold.ttf fonts-noto-extra -notoserifkhmer-semicondensedextrabold.ttf fonts-noto-extra -notoserifkhmer-semicondensedextralight.ttf fonts-noto-extra -notoserifkhmer-semicondensedlight.ttf fonts-noto-extra -notoserifkhmer-semicondensedmedium.ttf fonts-noto-extra -notoserifkhmer-semicondensedsemibold.ttf fonts-noto-extra -notoserifkhmer-semicondensedthin.ttf fonts-noto-extra -notoserifkhmer-thin.ttf fonts-noto-extra -notoseriflao-black.ttf fonts-noto-extra -notoseriflao-bold.ttf fonts-noto-core -notoseriflao-condensed.ttf fonts-noto-extra -notoseriflao-condensedblack.ttf fonts-noto-extra -notoseriflao-condensedbold.ttf fonts-noto-extra -notoseriflao-condensedextrabold.ttf fonts-noto-extra -notoseriflao-condensedextralight.ttf fonts-noto-extra -notoseriflao-condensedlight.ttf fonts-noto-extra -notoseriflao-condensedmedium.ttf fonts-noto-extra -notoseriflao-condensedsemibold.ttf fonts-noto-extra -notoseriflao-condensedthin.ttf fonts-noto-extra -notoseriflao-extrabold.ttf fonts-noto-extra -notoseriflao-extracondensed.ttf fonts-noto-extra -notoseriflao-extracondensedblack.ttf fonts-noto-extra -notoseriflao-extracondensedbold.ttf fonts-noto-extra -notoseriflao-extracondensedextrabold.ttf fonts-noto-extra -notoseriflao-extracondensedextralight.ttf fonts-noto-extra -notoseriflao-extracondensedlight.ttf fonts-noto-extra -notoseriflao-extracondensedmedium.ttf fonts-noto-extra -notoseriflao-extracondensedsemibold.ttf fonts-noto-extra -notoseriflao-extracondensedthin.ttf fonts-noto-extra -notoseriflao-extralight.ttf fonts-noto-extra -notoseriflao-light.ttf fonts-noto-extra -notoseriflao-medium.ttf fonts-noto-extra -notoseriflao-regular.ttf fonts-noto-core -notoseriflao-semibold.ttf fonts-noto-extra -notoseriflao-semicondensed.ttf fonts-noto-extra -notoseriflao-semicondensedblack.ttf fonts-noto-extra -notoseriflao-semicondensedbold.ttf fonts-noto-extra -notoseriflao-semicondensedextrabold.ttf fonts-noto-extra -notoseriflao-semicondensedextralight.ttf fonts-noto-extra -notoseriflao-semicondensedlight.ttf fonts-noto-extra -notoseriflao-semicondensedmedium.ttf fonts-noto-extra -notoseriflao-semicondensedsemibold.ttf fonts-noto-extra -notoseriflao-semicondensedthin.ttf fonts-noto-extra -notoseriflao-thin.ttf fonts-noto-extra -notoserifmalayalam-black.ttf fonts-noto-extra -notoserifmalayalam-bold.ttf fonts-noto-core -notoserifmalayalam-extrabold.ttf fonts-noto-extra -notoserifmalayalam-extralight.ttf fonts-noto-extra -notoserifmalayalam-light.ttf fonts-noto-extra -notoserifmalayalam-medium.ttf fonts-noto-extra -notoserifmalayalam-regular.ttf fonts-noto-core -notoserifmalayalam-semibold.ttf fonts-noto-extra -notoserifmalayalam-thin.ttf fonts-noto-extra -notoserifmyanmar-black.ttf fonts-noto-extra -notoserifmyanmar-bold.ttf fonts-noto-core -notoserifmyanmar-condensed.ttf fonts-noto-extra -notoserifmyanmar-condensedblack.ttf fonts-noto-extra -notoserifmyanmar-condensedbold.ttf fonts-noto-extra -notoserifmyanmar-condensedextrabold.ttf fonts-noto-extra -notoserifmyanmar-condensedextralight.ttf fonts-noto-extra -notoserifmyanmar-condensedlight.ttf fonts-noto-extra -notoserifmyanmar-condensedmedium.ttf fonts-noto-extra -notoserifmyanmar-condensedsemibold.ttf fonts-noto-extra -notoserifmyanmar-condensedthin.ttf fonts-noto-extra -notoserifmyanmar-extrabold.ttf fonts-noto-extra -notoserifmyanmar-extracondensed.ttf fonts-noto-extra -notoserifmyanmar-extracondensedblack.ttf fonts-noto-extra -notoserifmyanmar-extracondensedbold.ttf fonts-noto-extra -notoserifmyanmar-extracondensedextrabold.ttf fonts-noto-extra -notoserifmyanmar-extracondensedextralight.ttf fonts-noto-extra -notoserifmyanmar-extracondensedlight.ttf fonts-noto-extra -notoserifmyanmar-extracondensedmedium.ttf fonts-noto-extra -notoserifmyanmar-extracondensedsemibold.ttf fonts-noto-extra -notoserifmyanmar-extracondensedthin.ttf fonts-noto-extra -notoserifmyanmar-extralight.ttf fonts-noto-extra -notoserifmyanmar-light.ttf fonts-noto-extra -notoserifmyanmar-medium.ttf fonts-noto-extra -notoserifmyanmar-regular.ttf fonts-noto-core -notoserifmyanmar-semibold.ttf fonts-noto-extra -notoserifmyanmar-semicondensed.ttf fonts-noto-extra -notoserifmyanmar-semicondensedblack.ttf fonts-noto-extra -notoserifmyanmar-semicondensedbold.ttf fonts-noto-extra -notoserifmyanmar-semicondensedextrabold.ttf fonts-noto-extra -notoserifmyanmar-semicondensedextralight.ttf fonts-noto-extra -notoserifmyanmar-semicondensedlight.ttf fonts-noto-extra -notoserifmyanmar-semicondensedmedium.ttf fonts-noto-extra -notoserifmyanmar-semicondensedsemibold.ttf fonts-noto-extra -notoserifmyanmar-semicondensedthin.ttf fonts-noto-extra -notoserifmyanmar-thin.ttf fonts-noto-extra -notoserifsinhala-black.ttf fonts-noto-extra -notoserifsinhala-bold.ttf fonts-noto-core -notoserifsinhala-condensed.ttf fonts-noto-extra -notoserifsinhala-condensedblack.ttf fonts-noto-extra -notoserifsinhala-condensedbold.ttf fonts-noto-extra -notoserifsinhala-condensedextrabold.ttf fonts-noto-extra -notoserifsinhala-condensedextralight.ttf fonts-noto-extra -notoserifsinhala-condensedlight.ttf fonts-noto-extra -notoserifsinhala-condensedmedium.ttf fonts-noto-extra -notoserifsinhala-condensedsemibold.ttf fonts-noto-extra -notoserifsinhala-condensedthin.ttf fonts-noto-extra -notoserifsinhala-extrabold.ttf fonts-noto-extra -notoserifsinhala-extracondensed.ttf fonts-noto-extra -notoserifsinhala-extracondensedblack.ttf fonts-noto-extra -notoserifsinhala-extracondensedbold.ttf fonts-noto-extra -notoserifsinhala-extracondensedextrabold.ttf fonts-noto-extra -notoserifsinhala-extracondensedextralight.ttf fonts-noto-extra -notoserifsinhala-extracondensedlight.ttf fonts-noto-extra -notoserifsinhala-extracondensedmedium.ttf fonts-noto-extra -notoserifsinhala-extracondensedsemibold.ttf fonts-noto-extra -notoserifsinhala-extracondensedthin.ttf fonts-noto-extra -notoserifsinhala-extralight.ttf fonts-noto-extra -notoserifsinhala-light.ttf fonts-noto-extra -notoserifsinhala-medium.ttf fonts-noto-extra -notoserifsinhala-regular.ttf fonts-noto-core -notoserifsinhala-semibold.ttf fonts-noto-extra -notoserifsinhala-semicondensed.ttf fonts-noto-extra -notoserifsinhala-semicondensedblack.ttf fonts-noto-extra -notoserifsinhala-semicondensedbold.ttf fonts-noto-extra -notoserifsinhala-semicondensedextrabold.ttf fonts-noto-extra -notoserifsinhala-semicondensedextralight.ttf fonts-noto-extra -notoserifsinhala-semicondensedlight.ttf fonts-noto-extra -notoserifsinhala-semicondensedmedium.ttf fonts-noto-extra -notoserifsinhala-semicondensedsemibold.ttf fonts-noto-extra -notoserifsinhala-semicondensedthin.ttf fonts-noto-extra -notoserifsinhala-thin.ttf fonts-noto-extra -notoseriftamil-black.ttf fonts-noto-extra -notoseriftamil-bold.ttf fonts-noto-core -notoseriftamil-condensed.ttf fonts-noto-extra -notoseriftamil-condensedblack.ttf fonts-noto-extra -notoseriftamil-condensedbold.ttf fonts-noto-extra -notoseriftamil-condensedextrabold.ttf fonts-noto-extra -notoseriftamil-condensedextralight.ttf fonts-noto-extra -notoseriftamil-condensedlight.ttf fonts-noto-extra -notoseriftamil-condensedmedium.ttf fonts-noto-extra -notoseriftamil-condensedsemibold.ttf fonts-noto-extra -notoseriftamil-condensedthin.ttf fonts-noto-extra -notoseriftamil-extrabold.ttf fonts-noto-extra -notoseriftamil-extracondensed.ttf fonts-noto-extra -notoseriftamil-extracondensedblack.ttf fonts-noto-extra -notoseriftamil-extracondensedbold.ttf fonts-noto-extra -notoseriftamil-extracondensedextrabold.ttf fonts-noto-extra -notoseriftamil-extracondensedextralight.ttf fonts-noto-extra -notoseriftamil-extracondensedlight.ttf fonts-noto-extra -notoseriftamil-extracondensedmedium.ttf fonts-noto-extra -notoseriftamil-extracondensedsemibold.ttf fonts-noto-extra -notoseriftamil-extracondensedthin.ttf fonts-noto-extra -notoseriftamil-extralight.ttf fonts-noto-extra -notoseriftamil-light.ttf fonts-noto-extra -notoseriftamil-medium.ttf fonts-noto-extra -notoseriftamil-regular.ttf fonts-noto-core -notoseriftamil-semibold.ttf fonts-noto-extra -notoseriftamil-semicondensed.ttf fonts-noto-extra -notoseriftamil-semicondensedblack.ttf fonts-noto-extra -notoseriftamil-semicondensedbold.ttf fonts-noto-extra -notoseriftamil-semicondensedextrabold.ttf fonts-noto-extra -notoseriftamil-semicondensedextralight.ttf fonts-noto-extra -notoseriftamil-semicondensedlight.ttf fonts-noto-extra -notoseriftamil-semicondensedmedium.ttf fonts-noto-extra -notoseriftamil-semicondensedsemibold.ttf fonts-noto-extra -notoseriftamil-semicondensedthin.ttf fonts-noto-extra -notoseriftamil-thin.ttf fonts-noto-extra -notoseriftamilslanted-black.ttf fonts-noto-extra -notoseriftamilslanted-bold.ttf fonts-noto-core -notoseriftamilslanted-condensed.ttf fonts-noto-extra -notoseriftamilslanted-condensedblack.ttf fonts-noto-extra -notoseriftamilslanted-condensedbold.ttf fonts-noto-extra -notoseriftamilslanted-condensedextrabold.ttf fonts-noto-extra -notoseriftamilslanted-condensedextralight.ttf fonts-noto-extra -notoseriftamilslanted-condensedlight.ttf fonts-noto-extra -notoseriftamilslanted-condensedmedium.ttf fonts-noto-extra -notoseriftamilslanted-condensedsemibold.ttf fonts-noto-extra -notoseriftamilslanted-condensedthin.ttf fonts-noto-extra -notoseriftamilslanted-extrabold.ttf fonts-noto-extra -notoseriftamilslanted-extracondensed.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedblack.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedbold.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedextrabold.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedextralight.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedlight.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedmedium.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedsemibold.ttf fonts-noto-extra -notoseriftamilslanted-extracondensedthin.ttf fonts-noto-extra -notoseriftamilslanted-extralight.ttf fonts-noto-extra -notoseriftamilslanted-light.ttf fonts-noto-extra -notoseriftamilslanted-medium.ttf fonts-noto-extra -notoseriftamilslanted-regular.ttf fonts-noto-core -notoseriftamilslanted-semibold.ttf fonts-noto-extra -notoseriftamilslanted-semicondensed.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedblack.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedbold.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedextrabold.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedextralight.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedlight.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedmedium.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedsemibold.ttf fonts-noto-extra -notoseriftamilslanted-semicondensedthin.ttf fonts-noto-extra -notoseriftamilslanted-thin.ttf fonts-noto-extra -notoseriftangut-regular.ttf fonts-noto-core -notoseriftelugu-black.ttf fonts-noto-extra -notoseriftelugu-bold.ttf fonts-noto-core -notoseriftelugu-extrabold.ttf fonts-noto-extra -notoseriftelugu-extralight.ttf fonts-noto-extra -notoseriftelugu-light.ttf fonts-noto-extra -notoseriftelugu-medium.ttf fonts-noto-extra -notoseriftelugu-regular.ttf fonts-noto-core -notoseriftelugu-semibold.ttf fonts-noto-extra -notoseriftelugu-thin.ttf fonts-noto-extra -notoserifthai-black.ttf fonts-noto-extra -notoserifthai-bold.ttf fonts-noto-core -notoserifthai-condensed.ttf fonts-noto-extra -notoserifthai-condensedblack.ttf fonts-noto-extra -notoserifthai-condensedbold.ttf fonts-noto-extra -notoserifthai-condensedextrabold.ttf fonts-noto-extra -notoserifthai-condensedextralight.ttf fonts-noto-extra -notoserifthai-condensedlight.ttf fonts-noto-extra -notoserifthai-condensedmedium.ttf fonts-noto-extra -notoserifthai-condensedsemibold.ttf fonts-noto-extra -notoserifthai-condensedthin.ttf fonts-noto-extra -notoserifthai-extrabold.ttf fonts-noto-extra -notoserifthai-extracondensed.ttf fonts-noto-extra -notoserifthai-extracondensedblack.ttf fonts-noto-extra -notoserifthai-extracondensedbold.ttf fonts-noto-extra -notoserifthai-extracondensedextrabold.ttf fonts-noto-extra -notoserifthai-extracondensedextralight.ttf fonts-noto-extra -notoserifthai-extracondensedlight.ttf fonts-noto-extra -notoserifthai-extracondensedmedium.ttf fonts-noto-extra -notoserifthai-extracondensedsemibold.ttf fonts-noto-extra -notoserifthai-extracondensedthin.ttf fonts-noto-extra -notoserifthai-extralight.ttf fonts-noto-extra -notoserifthai-light.ttf fonts-noto-extra -notoserifthai-medium.ttf fonts-noto-extra -notoserifthai-regular.ttf fonts-noto-core -notoserifthai-semibold.ttf fonts-noto-extra -notoserifthai-semicondensed.ttf fonts-noto-extra -notoserifthai-semicondensedblack.ttf fonts-noto-extra -notoserifthai-semicondensedbold.ttf fonts-noto-extra -notoserifthai-semicondensedextrabold.ttf fonts-noto-extra -notoserifthai-semicondensedextralight.ttf fonts-noto-extra -notoserifthai-semicondensedlight.ttf fonts-noto-extra -notoserifthai-semicondensedmedium.ttf fonts-noto-extra -notoserifthai-semicondensedsemibold.ttf fonts-noto-extra -notoserifthai-semicondensedthin.ttf fonts-noto-extra -notoserifthai-thin.ttf fonts-noto-extra -notoseriftibetan-black.ttf fonts-noto-extra -notoseriftibetan-bold.ttf fonts-noto-core -notoseriftibetan-extrabold.ttf fonts-noto-extra -notoseriftibetan-extralight.ttf fonts-noto-extra -notoseriftibetan-light.ttf fonts-noto-extra -notoseriftibetan-medium.ttf fonts-noto-extra -notoseriftibetan-regular.ttf fonts-noto-core -notoseriftibetan-semibold.ttf fonts-noto-extra -notoseriftibetan-thin.ttf fonts-noto-extra -notqr.ttf ttf-aenigma -nsecthck.ttf ttf-aenigma -nsecthin.ttf ttf-aenigma -nucleus.ttf ttf-aenigma -numskull.ttf ttf-aenigma -nuosusil.ttf fonts-sil-nuosusil -nymonak.ttf ttf-aenigma -obloquyo.ttf ttf-aenigma -obloquys.ttf ttf-aenigma -obstacle.ttf ttf-aenigma -obstacll.ttf ttf-aenigma -ocra.ttf fonts-ocr-a -ocrabold.ttf fonts-ocr-a -ocracondensed.ttf fonts-ocr-a -ocraitalic.ttf fonts-ocr-a -ocrb.otf fonts-ocr-b -ocrbe.otf fonts-ocr-b -ocrbf.otf fonts-ocr-b -ocrbl.otf fonts-ocr-b -ocrbs.otf fonts-ocr-b -ocrbx.otf fonts-ocr-b -octicons.ttf fonts-octicons -offkiltl.ttf ttf-aenigma -offkiltr.ttf ttf-aenigma -okolaksbold.ttf fonts-okolaks -okolaksbolditalic.ttf fonts-okolaks -okolaksregular.ttf fonts-okolaks -okolaksregularitalic.ttf fonts-okolaks -oldaniaadfstd-bold.otf fonts-adf-oldania -oldaniaadfstd-bolditalic.otf fonts-adf-oldania -oldaniaadfstd-italic.otf fonts-adf-oldania -oldaniaadfstd-regular.otf fonts-adf-oldania -oldslavicregu.pfb t1-oldslavic -oldstandard-bold.ttf fonts-oldstandard -oldstandard-italic.ttf fonts-oldstandard -oldstandard-regular.ttf fonts-oldstandard -opendyslexic-bold.otf fonts-opendyslexic -opendyslexic-bolditalic.otf fonts-opendyslexic -opendyslexic-italic.otf fonts-opendyslexic -opendyslexic-regular.otf fonts-opendyslexic -opendyslexicalta-bold.otf fonts-opendyslexic -opendyslexicalta-bolditalic.otf fonts-opendyslexic -opendyslexicalta-italic.otf fonts-opendyslexic -opendyslexicalta-regular.otf fonts-opendyslexic -opendyslexicmono-regular.otf fonts-opendyslexic -opens___.ttf fonts-opensymbol -opensans-bold.ttf fonts-open-sans -opensans-bolditalic.ttf fonts-open-sans -opensans-condbold.ttf fonts-open-sans -opensans-condlight.ttf fonts-open-sans -opensans-condlightitalic.ttf fonts-open-sans -opensans-extrabold.ttf fonts-open-sans -opensans-extrabolditalic.ttf fonts-open-sans -opensans-italic.ttf fonts-open-sans -opensans-light.ttf fonts-open-sans -opensans-lightitalic.ttf fonts-open-sans -opensans-regular.ttf fonts-open-sans -opensans-semibold.ttf fonts-open-sans -opensans-semibolditalic.ttf fonts-open-sans -opiated.ttf ttf-aenigma -oradanogsrr.ttf fonts-oradano-mincho-gsrr -orbicula.ttf ttf-aenigma -osifont.ttf fonts-osifont -osp-din.ttf fonts-opendin -outersid.ttf ttf-aenigma -overhead.ttf ttf-aenigma -oxygen-sans-bold.ttf fonts-oxygen -oxygen-sans.ttf fonts-oxygen -oxygenmono-regular.ttf fonts-oxygen -p052-bold.otf fonts-urw-base35 -p052-bolditalic.otf fonts-urw-base35 -p052-italic.otf fonts-urw-base35 -p052-roman.otf fonts-urw-base35 -p052003d.pfb t1-cyrillic -p052004d.pfb t1-cyrillic -p052023d.pfb t1-cyrillic -p052024d.pfb t1-cyrillic -padauk-bold.ttf fonts-sil-padauk -padauk-regular.ttf fonts-sil-padauk -padaukbook-bold.ttf fonts-sil-padauk -padaukbook-regular.ttf fonts-sil-padauk -padmaa.ttf fonts-gujr-extra -pagul.ttf fonts-pagul -pallu___.ttf fonts-uralic -pallub__.ttf fonts-uralic -pallui__.ttf fonts-uralic -parix-hybrid111r.otf fonts-gotico-antiqua -patchsans.otf fonts-ldco -patchsans.ttf fonts-ldco -patchserif.otf fonts-ldco -patchserif.ttf fonts-ldco -patchstencil.otf fonts-ldco -patchstencil.ttf fonts-ldco -pdark.ttf ttf-aenigma -pecita.otf fonts-pecita -penguinattack.ttf fonts-dustin -persuasi.ttf ttf-aenigma -phetsarath_ot.ttf fonts-lao -phorfeir.ttf ttf-aenigma -phorfeis.ttf ttf-aenigma -pincers.ttf ttf-aenigma -pindown.ttf ttf-aenigma -pindownp.ttf ttf-aenigma -pindwnx.ttf ttf-aenigma -pindwnxp.ttf ttf-aenigma -pixlkrud.ttf ttf-aenigma -plasdrip.ttf ttf-aenigma -plasdrpe.ttf ttf-aenigma -play-bold.otf fonts-play -play-bold.ttf fonts-play -play-regular.otf fonts-play -play-regular.ttf fonts-play -pneumati.ttf ttf-aenigma -pneutall.ttf ttf-aenigma -pneuwide.ttf ttf-aenigma -ponnala.ttf fonts-teluguvijayam -pothana2000.ttf fonts-telu-extra -povlogo.ttf fonts-povray -powdwrk5.ttf ttf-aenigma -powerlinesymbols.otf fonts-powerline -prociono.otf fonts-prociono -progenisis.ttf fonts-dustin -proggytiny.ttf fonts-proggy -pseudo.ttf ttf-aenigma -ptc55f.ttf fonts-paratype -ptc75f.ttf fonts-paratype -ptf55f.ttf fonts-paratype -ptf56f.ttf fonts-paratype -ptf75f.ttf fonts-paratype -ptf76f.ttf fonts-paratype -ptm55f.ttf fonts-paratype -ptm75f.ttf fonts-paratype -ptn57f.ttf fonts-paratype -ptn77f.ttf fonts-paratype -ptolemy-greatprimer18.otf fonts-gotico-antiqua -pts55f.ttf fonts-paratype -pts56f.ttf fonts-paratype -pts75f.ttf fonts-paratype -pts76f.ttf fonts-paratype -ptz55f.ttf fonts-paratype -ptz56f.ttf fonts-paratype -purisa-bold.otf fonts-tlwg-purisa-otf -purisa-bold.ttf fonts-tlwg-purisa-ttf -purisa-boldoblique.otf fonts-tlwg-purisa-otf -purisa-boldoblique.ttf fonts-tlwg-purisa-ttf -purisa-oblique.otf fonts-tlwg-purisa-otf -purisa-oblique.ttf fonts-tlwg-purisa-ttf -purisa.otf fonts-tlwg-purisa-otf -purisa.ttf fonts-tlwg-purisa-ttf -px_ami_bios-2y.ttf fonts-pc-extra -px_ami_bios.ttf fonts-pc-extra -px_amstradpc1512-2y.ttf fonts-pc -px_amstradpc1512.ttf fonts-pc-extra -px_ati_8x14.ttf fonts-pc-extra -px_ati_8x16.ttf fonts-pc-extra -px_ati_8x8-2y.ttf fonts-pc-extra -px_ati_8x8.ttf fonts-pc-extra -px_ati_9x14.ttf fonts-pc-extra -px_ati_9x16.ttf fonts-pc-extra -px_ati_smallw_6x8.ttf fonts-pc-extra -px_att_pc6300-2x.ttf fonts-pc-extra -px_att_pc6300.ttf fonts-pc-extra -px_compaqthin_8x14.ttf fonts-pc-extra -px_compaqthin_8x16.ttf fonts-pc-extra -px_compaqthin_8x8.ttf fonts-pc-extra -px_dtk_bios-2y.ttf fonts-pc-extra -px_dtk_bios.ttf fonts-pc-extra -px_ibm_3270pc.ttf fonts-pc-extra -px_ibm_bios-2x.ttf fonts-pc-extra -px_ibm_bios-2y.ttf fonts-pc-extra -px_ibm_bios.ttf fonts-pc-extra -px_ibm_cga-2y.ttf fonts-pc -px_ibm_cga.ttf fonts-pc -px_ibm_cgathin-2y.ttf fonts-pc-extra -px_ibm_cgathin.ttf fonts-pc-extra -px_ibm_conv-2x.ttf fonts-pc-extra -px_ibm_conv-2y.ttf fonts-pc-extra -px_ibm_conv.ttf fonts-pc-extra -px_ibm_ega8-2x.ttf fonts-pc-extra -px_ibm_ega8.ttf fonts-pc -px_ibm_ega9-2x.ttf fonts-pc-extra -px_ibm_ega9.ttf fonts-pc-extra -px_ibm_iso8.ttf fonts-pc-extra -px_ibm_iso9.ttf fonts-pc-extra -px_ibm_mda.ttf fonts-pc -px_ibm_pgc-2x.ttf fonts-pc-extra -px_ibm_pgc.ttf fonts-pc-extra -px_ibm_ps2thin1.ttf fonts-pc-extra -px_ibm_ps2thin2.ttf fonts-pc-extra -px_ibm_ps2thin3.ttf fonts-pc-extra -px_ibm_ps2thin4.ttf fonts-pc-extra -px_ibm_vga8-2x.ttf fonts-pc-extra -px_ibm_vga8.ttf fonts-pc -px_ibm_vga9-2x.ttf fonts-pc-extra -px_ibm_vga9.ttf fonts-pc -px_itt_bios-2y.ttf fonts-pc-extra -px_itt_bios.ttf fonts-pc-extra -px_kaypro2k-2y.ttf fonts-pc-extra -px_kaypro2k.ttf fonts-pc-extra -px_phoenix_bios-2y.ttf fonts-pc-extra -px_phoenix_bios.ttf fonts-pc-extra -px_phoenixega_8x14.ttf fonts-pc-extra -px_phoenixega_8x16.ttf fonts-pc-extra -px_phoenixega_8x8-2y.ttf fonts-pc-extra -px_phoenixega_8x8.ttf fonts-pc-extra -px_phoenixega_9x14.ttf fonts-pc-extra -px_tandynew_225-2y.ttf fonts-pc-extra -px_tandynew_225.ttf fonts-pc-extra -px_tandynew_mono.ttf fonts-pc-extra -px_tandynew_tv-2y.ttf fonts-pc-extra -px_tandynew_tv.ttf fonts-pc-extra -px_tandyold_225-2y.ttf fonts-pc-extra -px_tandyold_225.ttf fonts-pc-extra -px_tandyold_tv-2y.ttf fonts-pc-extra -px_tandyold_tv.ttf fonts-pc-extra -px_toshibalcd_8x16.ttf fonts-pc-extra -px_toshibalcd_8x8.ttf fonts-pc-extra -px_verite_8x14.ttf fonts-pc-extra -px_verite_8x16.ttf fonts-pc-extra -px_verite_8x8-2y.ttf fonts-pc-extra -px_verite_8x8.ttf fonts-pc-extra -px_verite_9x14.ttf fonts-pc-extra -px_verite_9x16.ttf fonts-pc-extra -px_vga_squarepx.ttf fonts-pc -px_vtech_bios-2y.ttf fonts-pc-extra -px_vtech_bios.ttf fonts-pc-extra -px_wyse700a-2y.ttf fonts-pc-extra -px_wyse700a.ttf fonts-pc-extra -px_wyse700b-2y.ttf fonts-pc-extra -px_wyse700b.ttf fonts-pc-extra -qbicle1.ttf ttf-aenigma -qbicle2.ttf ttf-aenigma -qbicle3.ttf ttf-aenigma -qbicle4.ttf ttf-aenigma -qlumpy.ttf ttf-aenigma -qlumpysh.ttf ttf-aenigma -quacksal.ttf ttf-aenigma -quadrcal.ttf ttf-aenigma -quadrtic.ttf ttf-aenigma -quandary.ttf ttf-aenigma -quantfh.ttf ttf-aenigma -quantflt.ttf ttf-aenigma -quantrh.ttf ttf-aenigma -quantrnd.ttf ttf-aenigma -quanttap.ttf ttf-aenigma -quaranti.ttf ttf-aenigma -quarthck.ttf ttf-aenigma -quarthin.ttf ttf-aenigma -quattrocento-regular.otf fonts-quattrocento -queasy.ttf ttf-aenigma -queasyol.ttf ttf-aenigma -quercus.ttf fonts-linex -quercus_bold.ttf fonts-linex -quercus_bold_it.ttf fonts-linex -quercus_it.ttf fonts-linex -quicksand-bold.ttf fonts-quicksand -quicksand-light.ttf fonts-quicksand -quicksand-medium.ttf fonts-quicksand -quicksand-regular.ttf fonts-quicksand -quillexo.ttf ttf-aenigma -quillexs.ttf ttf-aenigma -rachana-bold.ttf fonts-smc-rachana -rachana-regular.ttf fonts-smc-rachana -radissans-medium.otf fonts-radisnoir -raghumalayalamsans-regular.ttf fonts-smc-raghumalayalamsans -rambling.ttf ttf-aenigma -rasa-bold.ttf fonts-yrsa-rasa -rasa-light.ttf fonts-yrsa-rasa -rasa-medium.ttf fonts-yrsa-rasa -rasa-regular.ttf fonts-yrsa-rasa -rasa-semibold.ttf fonts-yrsa-rasa -ratav53.ttf fonts-sil-mondulkiri-extra -ravaged2.ttf ttf-aenigma -ravcater.ttf ttf-aenigma -raviprakash.ttf fonts-teluguvijayam -raydiat2.ttf ttf-aenigma -reason.ttf ttf-aenigma -reasonsh.ttf ttf-aenigma -redundan.ttf ttf-aenigma -regenera.ttf ttf-aenigma -registry.ttf ttf-aenigma -rehearsc.ttf ttf-aenigma -rehearso.ttf ttf-aenigma -rehearsp.ttf ttf-aenigma -rekha.ttf fonts-gujr-extra -relapse.ttf ttf-aenigma -revert.ttf ttf-aenigma -revertro.ttf ttf-aenigma -rg2014b.ttf fonts-roadgeek -rg2014c.ttf fonts-roadgeek -rg2014d.ttf fonts-roadgeek -rg2014e.ttf fonts-roadgeek -rg2014eem.ttf fonts-roadgeek -rg2014em.ttf fonts-roadgeek -rg2014f.ttf fonts-roadgeek -richstyle.ttf fonts-cegui -rictydiminished-bold.ttf fonts-ricty-diminished -rictydiminished-boldoblique.ttf fonts-ricty-diminished -rictydiminished-oblique.ttf fonts-ricty-diminished -rictydiminished-regular.ttf fonts-ricty-diminished -rictydiminisheddiscord-bold.ttf fonts-ricty-diminished -rictydiminisheddiscord-boldoblique.ttf fonts-ricty-diminished -rictydiminisheddiscord-oblique.ttf fonts-ricty-diminished -rictydiminisheddiscord-regular.ttf fonts-ricty-diminished -rit-sundar.ttf fonts-rit-sundar -roboto-black.ttf fonts-roboto-fontface -roboto-black.ttf fonts-roboto-hinted -roboto-black.ttf fonts-roboto-unhinted -roboto-blackitalic.ttf fonts-roboto-fontface -roboto-blackitalic.ttf fonts-roboto-hinted -roboto-blackitalic.ttf fonts-roboto-unhinted -roboto-bold.ttf fonts-roboto-fontface -roboto-bold.ttf fonts-roboto-hinted -roboto-bold.ttf fonts-roboto-unhinted -roboto-bolditalic.ttf fonts-roboto-fontface -roboto-bolditalic.ttf fonts-roboto-hinted -roboto-bolditalic.ttf fonts-roboto-unhinted -roboto-condensed-bold.ttf fonts-roboto-fontface -roboto-condensed-bolditalic.ttf fonts-roboto-fontface -roboto-condensed-light.ttf fonts-roboto-fontface -roboto-condensed-lightitalic.ttf fonts-roboto-fontface -roboto-condensed-regular.ttf fonts-roboto-fontface -roboto-condensed-regularitalic.ttf fonts-roboto-fontface -roboto-italic.ttf fonts-roboto-hinted -roboto-italic.ttf fonts-roboto-unhinted -roboto-light.ttf fonts-roboto-fontface -roboto-light.ttf fonts-roboto-hinted -roboto-light.ttf fonts-roboto-unhinted -roboto-lightitalic.ttf fonts-roboto-fontface -roboto-lightitalic.ttf fonts-roboto-hinted -roboto-lightitalic.ttf fonts-roboto-unhinted -roboto-medium.ttf fonts-roboto-fontface -roboto-medium.ttf fonts-roboto-hinted -roboto-medium.ttf fonts-roboto-unhinted -roboto-mediumitalic.ttf fonts-roboto-fontface -roboto-mediumitalic.ttf fonts-roboto-hinted -roboto-mediumitalic.ttf fonts-roboto-unhinted -roboto-regular.ttf fonts-roboto-fontface -roboto-regular.ttf fonts-roboto-hinted -roboto-regular.ttf fonts-roboto-unhinted -roboto-regularitalic.ttf fonts-roboto-fontface -roboto-thin.ttf fonts-roboto-fontface -roboto-thin.ttf fonts-roboto-hinted -roboto-thin.ttf fonts-roboto-unhinted -roboto-thinitalic.ttf fonts-roboto-fontface -roboto-thinitalic.ttf fonts-roboto-hinted -roboto-thinitalic.ttf fonts-roboto-unhinted -robotocondensed-bold.ttf fonts-roboto-hinted -robotocondensed-bold.ttf fonts-roboto-unhinted -robotocondensed-bolditalic.ttf fonts-roboto-hinted -robotocondensed-bolditalic.ttf fonts-roboto-unhinted -robotocondensed-italic.ttf fonts-roboto-hinted -robotocondensed-italic.ttf fonts-roboto-unhinted -robotocondensed-light.ttf fonts-roboto-hinted -robotocondensed-light.ttf fonts-roboto-unhinted -robotocondensed-lightitalic.ttf fonts-roboto-hinted -robotocondensed-lightitalic.ttf fonts-roboto-unhinted -robotocondensed-medium.ttf fonts-roboto-hinted -robotocondensed-medium.ttf fonts-roboto-unhinted -robotocondensed-mediumitalic.ttf fonts-roboto-hinted -robotocondensed-mediumitalic.ttf fonts-roboto-unhinted -robotocondensed-regular.ttf fonts-roboto-hinted -robotocondensed-regular.ttf fonts-roboto-unhinted -robotoslab-bold.otf fonts-roboto-slab -robotoslab-light.otf fonts-roboto-slab -robotoslab-regular.otf fonts-roboto-slab -robotoslab-thin.otf fonts-roboto-slab -romandeadfno2std-demibold.otf fonts-adf-romande -romandeadfno2std-demibolditalic.otf fonts-adf-romande -romandeadfno2std-italic.otf fonts-adf-romande -romandeadfno2std-regular.otf fonts-adf-romande -romandeadfscriptstd-italic.otf fonts-adf-romande -romandeadfstd-demibold.otf fonts-adf-romande -romandeadfstd-demibolditalic.otf fonts-adf-romande -romandeadfstd-italic.otf fonts-adf-romande -romandeadfstd-regular.otf fonts-adf-romande -romandeadfstylestd-demibold.otf fonts-adf-romande -romandeadfstylestd-regular.otf fonts-adf-romande -romau___.ttf fonts-uralic -romaub__.ttf fonts-uralic -romaui__.ttf fonts-uralic -rot-protoroman102r.otf fonts-gotico-antiqua -rotund.ttf ttf-aenigma -rotundo.ttf ttf-aenigma -roughday.ttf ttf-aenigma -rsfs10.ttf fonts-lyx -rufscript010.ttf fonts-rufscript -rusch-goticoantiqua100g.otf fonts-gotico-antiqua -rusch-r-bizarre-protoroman103r.otf fonts-gotico-antiqua -ryuker.ttf ttf-aenigma -saab.ttf fonts-guru-extra -sahadeva.ttf fonts-sahadeva -salaowu-bold.ttf fonts-sil-shimenkan-salaowu -salaowu-regular.ttf fonts-sil-shimenkan-salaowu -salaowubook-bold.ttf fonts-sil-shimenkan-salaowu -salaowubook-regular.ttf fonts-sil-shimenkan-salaowu -salaowuextralight-bold.ttf fonts-sil-shimenkan-salaowu -salaowuextralight-regular.ttf fonts-sil-shimenkan-salaowu -salaowulight-bold.ttf fonts-sil-shimenkan-salaowu -salaowulight-regular.ttf fonts-sil-shimenkan-salaowu -samanata.ttf fonts-deva-extra -samyak-devanagari.ttf fonts-samyak-deva -samyak-gujarati.ttf fonts-samyak-gujr -samyak-malayalam.ttf fonts-samyak-mlym -samyak-oriya.ttf fonts-samyak-orya -samyak-tamil.ttf fonts-samyak-taml -sanscu__.ttf fonts-uralic -sanscub_.ttf fonts-uralic -sansu___.ttf fonts-uralic -sansub__.ttf fonts-uralic -sansubi_.ttf fonts-uralic -sansui__.ttf fonts-uralic -sapushan-bold.ttf fonts-sil-shimenkan-sapushan -sapushan-regular.ttf fonts-sil-shimenkan-sapushan -sapushanbook-bold.ttf fonts-sil-shimenkan-sapushan -sapushanbook-regular.ttf fonts-sil-shimenkan-sapushan -sapushanextralight-bold.ttf fonts-sil-shimenkan-sapushan -sapushanextralight-regular.ttf fonts-sil-shimenkan-sapushan -sapushanlight-bold.ttf fonts-sil-shimenkan-sapushan -sapushanlight-regular.ttf fonts-sil-shimenkan-sapushan -sarai.ttf fonts-sarai -sarcasti.ttf ttf-aenigma -saunder.ttf ttf-aenigma -sawarabi-gothic-medium.ttf fonts-sawarabi-gothic -sawarabi-mincho-medium.ttf fonts-sawarabi-mincho -sawasdee-bold.otf fonts-tlwg-sawasdee-otf -sawasdee-bold.ttf fonts-tlwg-sawasdee-ttf -sawasdee-boldoblique.otf fonts-tlwg-sawasdee-otf -sawasdee-boldoblique.ttf fonts-tlwg-sawasdee-ttf -sawasdee-oblique.otf fonts-tlwg-sawasdee-otf -sawasdee-oblique.ttf fonts-tlwg-sawasdee-ttf -sawasdee.otf fonts-tlwg-sawasdee-otf -sawasdee.ttf fonts-tlwg-sawasdee-ttf -sayphan.otf fonts-ldco -sayphan.ttf fonts-ldco -scalines.ttf ttf-aenigma -scheherazade-bold.ttf fonts-sil-scheherazade -scheherazade-regular.ttf fonts-sil-scheherazade -schou___.ttf fonts-uralic -schoub__.ttf fonts-uralic -schoui__.ttf fonts-uralic -sclnmaze.ttf ttf-aenigma -sequence.ttf ttf-aenigma -setbackt.ttf ttf-aenigma -setofont-ex.ttf fonts-seto -setofont.ttf fonts-seto -shimenkan-bold.ttf fonts-sil-shimenkan -shimenkan-regular.ttf fonts-sil-shimenkan -shimenkanbook-bold.ttf fonts-sil-shimenkan -shimenkanbook-regular.ttf fonts-sil-shimenkan -shimenkanextralight-bold.ttf fonts-sil-shimenkan -shimenkanextralight-regular.ttf fonts-sil-shimenkan -shimenkangsm-bold.ttf fonts-sil-shimenkan-gsm -shimenkangsm-regular.ttf fonts-sil-shimenkan-gsm -shimenkangsmbook-bold.ttf fonts-sil-shimenkan-gsm -shimenkangsmbook-regular.ttf fonts-sil-shimenkan-gsm -shimenkangsmextralight-bold.ttf fonts-sil-shimenkan-gsm -shimenkangsmextralight-regular.ttf fonts-sil-shimenkan-gsm -shimenkangsmlight-bold.ttf fonts-sil-shimenkan-gsm -shimenkangsmlight-regular.ttf fonts-sil-shimenkan-gsm -shimenkanguifan-bold.ttf fonts-sil-shimenkan-guifan -shimenkanguifan-regular.ttf fonts-sil-shimenkan-guifan -shimenkanguifanbook-bold.ttf fonts-sil-shimenkan-guifan -shimenkanguifanbook-regular.ttf fonts-sil-shimenkan-guifan -shimenkanguifanextralight-bold.ttf fonts-sil-shimenkan-guifan -shimenkanguifanextralight-regular.ttf fonts-sil-shimenkan-guifan -shimenkanguifanlight-bold.ttf fonts-sil-shimenkan-guifan -shimenkanguifanlight-regular.ttf fonts-sil-shimenkan-guifan -shimenkanmas-bold.ttf fonts-sil-shimenkan-mas -shimenkanmas-regular.ttf fonts-sil-shimenkan-mas -shimenkanmasbook-bold.ttf fonts-sil-shimenkan-mas -shimenkanmasbook-regular.ttf fonts-sil-shimenkan-mas -shimenkanmasextralight-bold.ttf fonts-sil-shimenkan-mas -shimenkanmasextralight-regular.ttf fonts-sil-shimenkan-mas -shimenkanmaslight-bold.ttf fonts-sil-shimenkan-mas -shimenkanmaslight-regular.ttf fonts-sil-shimenkan-mas -shimenkanmgs-bold.ttf fonts-sil-shimenkan-mgs -shimenkanmgs-regular.ttf fonts-sil-shimenkan-mgs -shimenkanmgsbook-bold.ttf fonts-sil-shimenkan-mgs -shimenkanmgsbook-regular.ttf fonts-sil-shimenkan-mgs -shimenkanmgsextralight-bold.ttf fonts-sil-shimenkan-mgs -shimenkanmgsextralight-regular.ttf fonts-sil-shimenkan-mgs -shimenkanmgslight-bold.ttf fonts-sil-shimenkan-mgs -shimenkanmgslight-regular.ttf fonts-sil-shimenkan-mgs -shimenkanzonghe-bold.ttf fonts-sil-shimenkan-zonghe -shimenkanzonghe-regular.ttf fonts-sil-shimenkan-zonghe -shimenkanzonghebook-bold.ttf fonts-sil-shimenkan-zonghe -shimenkanzonghebook-regular.ttf fonts-sil-shimenkan-zonghe -shimenkanzongheextralight-bold.ttf fonts-sil-shimenkan-zonghe -shimenkanzongheextralight-regular.ttf fonts-sil-shimenkan-zonghe -shimenkanzonghelight-bold.ttf fonts-sil-shimenkan-zonghe -shimenkanzonghelight-regular.ttf fonts-sil-shimenkan-zonghe -sideways.ttf ttf-aenigma -sileot.ttf fonts-sil-ezra -sileotsr.ttf fonts-sil-ezra -simplto2.ttf ttf-aenigma -skechers.otf fonts-ldco -skechers.ttf fonts-ldco -skullcap.ttf ttf-aenigma -slender.ttf ttf-aenigma -slenderw.ttf ttf-aenigma -slenmini.ttf ttf-aenigma -slenstub.ttf ttf-aenigma -snailets.ttf ttf-aenigma -snb.ttf fonts-sil-sophia-nubian -snbi.ttf fonts-sil-sophia-nubian -sni.ttf fonts-sil-sophia-nubian -snr.ttf fonts-sil-sophia-nubian -solidemirageetroit.otf fonts-solide-mirage -solidemiragemono.otf fonts-solide-mirage -solothurn-bold.otf fonts-adf-solothurn -solothurn-boldoblique.otf fonts-adf-solothurn -solothurn-medium.otf fonts-adf-solothurn -solothurn-mediumoblique.otf fonts-adf-solothurn -solothurn-oblique.otf fonts-adf-solothurn -solothurn-regular.otf fonts-adf-solothurn -souffletvert-hybrid106r.otf fonts-gotico-antiqua -spaciouo.ttf ttf-aenigma -spacious.ttf ttf-aenigma -spastic2.ttf ttf-aenigma -spheroid.ttf ttf-aenigma -spheroix.ttf ttf-aenigma -spira-protoroman110r.otf fonts-gotico-antiqua -splatz2.ttf ttf-aenigma -spleen-12x24.otf fonts-spleen -spleen-16x32.otf fonts-spleen -spleen-32x64.otf fonts-spleen -spleen-8x16.otf fonts-spleen -sqroute.ttf ttf-aenigma -stagnati.ttf ttf-aenigma -standardsymbolsps.otf fonts-urw-base35 -staypuft.ttf fonts-staypuft -stevehand.ttf fonts-sjfonts -sticks.otf fonts-ldco -sticks.ttf fonts-ldco -stix-bold.otf fonts-stix -stix-bolditalic.otf fonts-stix -stix-italic.otf fonts-stix -stix-regular.otf fonts-stix -stixgeneral-bold.otf fonts-stix -stixgeneral-bolditalic.otf fonts-stix -stixgeneral-italic.otf fonts-stix -stixgeneral-regular.otf fonts-stix -stixintegralsd-bold.otf fonts-stix -stixintegralsd-regular.otf fonts-stix -stixintegralssm-bold.otf fonts-stix -stixintegralssm-regular.otf fonts-stix -stixintegralsup-bold.otf fonts-stix -stixintegralsup-regular.otf fonts-stix -stixintegralsupd-bold.otf fonts-stix -stixintegralsupd-regular.otf fonts-stix -stixintegralsupsm-bold.otf fonts-stix -stixintegralsupsm-regular.otf fonts-stix -stixmath-regular.otf fonts-stix -stixmathjax_alphabets-bold.otf fonts-mathjax -stixmathjax_alphabets-bolditalic.otf fonts-mathjax -stixmathjax_alphabets-italic.otf fonts-mathjax -stixmathjax_alphabets-regular.otf fonts-mathjax -stixmathjax_arrows-bold.otf fonts-mathjax -stixmathjax_arrows-regular.otf fonts-mathjax -stixmathjax_doublestruck-bold.otf fonts-mathjax -stixmathjax_doublestruck-bolditalic.otf fonts-mathjax -stixmathjax_doublestruck-italic.otf fonts-mathjax -stixmathjax_doublestruck-regular.otf fonts-mathjax -stixmathjax_fraktur-bold.otf fonts-mathjax -stixmathjax_fraktur-regular.otf fonts-mathjax -stixmathjax_latin-bold.otf fonts-mathjax -stixmathjax_latin-bolditalic.otf fonts-mathjax -stixmathjax_latin-italic.otf fonts-mathjax -stixmathjax_latin-regular.otf fonts-mathjax -stixmathjax_main-bold.otf fonts-mathjax -stixmathjax_main-bolditalic.otf fonts-mathjax -stixmathjax_main-italic.otf fonts-mathjax -stixmathjax_main-regular.otf fonts-mathjax -stixmathjax_marks-bold.otf fonts-mathjax -stixmathjax_marks-bolditalic.otf fonts-mathjax -stixmathjax_marks-italic.otf fonts-mathjax -stixmathjax_marks-regular.otf fonts-mathjax -stixmathjax_misc-bold.otf fonts-mathjax -stixmathjax_misc-bolditalic.otf fonts-mathjax -stixmathjax_misc-italic.otf fonts-mathjax -stixmathjax_misc-regular.otf fonts-mathjax -stixmathjax_monospace-regular.otf fonts-mathjax -stixmathjax_normal-bold.otf fonts-mathjax -stixmathjax_normal-bolditalic.otf fonts-mathjax -stixmathjax_normal-italic.otf fonts-mathjax -stixmathjax_operators-bold.otf fonts-mathjax -stixmathjax_operators-regular.otf fonts-mathjax -stixmathjax_sansserif-bold.otf fonts-mathjax -stixmathjax_sansserif-bolditalic.otf fonts-mathjax -stixmathjax_sansserif-italic.otf fonts-mathjax -stixmathjax_sansserif-regular.otf fonts-mathjax -stixmathjax_script-bolditalic.otf fonts-mathjax -stixmathjax_script-italic.otf fonts-mathjax -stixmathjax_script-regular.otf fonts-mathjax -stixmathjax_shapes-bold.otf fonts-mathjax -stixmathjax_shapes-bolditalic.otf fonts-mathjax -stixmathjax_shapes-regular.otf fonts-mathjax -stixmathjax_size1-regular.otf fonts-mathjax -stixmathjax_size2-regular.otf fonts-mathjax -stixmathjax_size3-regular.otf fonts-mathjax -stixmathjax_size4-regular.otf fonts-mathjax -stixmathjax_size5-regular.otf fonts-mathjax -stixmathjax_symbols-bold.otf fonts-mathjax -stixmathjax_symbols-regular.otf fonts-mathjax -stixmathjax_variants-bold.otf fonts-mathjax -stixmathjax_variants-bolditalic.otf fonts-mathjax -stixmathjax_variants-italic.otf fonts-mathjax -stixmathjax_variants-regular.otf fonts-mathjax -stixnonunicode-bold.otf fonts-stix -stixnonunicode-bolditalic.otf fonts-stix -stixnonunicode-italic.otf fonts-stix -stixnonunicode-regular.otf fonts-stix -stixsizefivesym-regular.otf fonts-stix -stixsizefoursym-bold.otf fonts-stix -stixsizefoursym-regular.otf fonts-stix -stixsizeonesym-bold.otf fonts-stix -stixsizeonesym-regular.otf fonts-stix -stixsizethreesym-bold.otf fonts-stix -stixsizethreesym-regular.otf fonts-stix -stixsizetwosym-bold.otf fonts-stix -stixsizetwosym-regular.otf fonts-stix -stixvariants-bold.otf fonts-stix -stixvariants-regular.otf fonts-stix -stmary10.ttf fonts-lyx -strande2.ttf ttf-aenigma -strokes.otf fonts-ldco -strokes.ttf fonts-ldco -summersby.ttf fonts-summersby -supragc.ttf ttf-aenigma -supragl.ttf ttf-aenigma -suruma.ttf fonts-smc-suruma -swift.ttf fonts-dustin -swirled2.ttf ttf-aenigma -switzeraadf-bold.otf fonts-adf-switzera -switzeraadf-boldcond.otf fonts-adf-switzera -switzeraadf-boldconditalic.otf fonts-adf-switzera -switzeraadf-boldext.otf fonts-adf-switzera -switzeraadf-boldextitalic.otf fonts-adf-switzera -switzeraadf-bolditalic.otf fonts-adf-switzera -switzeraadf-cond.otf fonts-adf-switzera -switzeraadf-conditalic.otf fonts-adf-switzera -switzeraadf-demibold.otf fonts-adf-switzera -switzeraadf-demibolditalic.otf fonts-adf-switzera -switzeraadf-dmbdcond.otf fonts-adf-switzera -switzeraadf-dmbdconditalic.otf fonts-adf-switzera -switzeraadf-ext.otf fonts-adf-switzera -switzeraadf-extitalic.otf fonts-adf-switzera -switzeraadf-extrabold.otf fonts-adf-switzera -switzeraadf-extrabolditalic.otf fonts-adf-switzera -switzeraadf-italic.otf fonts-adf-switzera -switzeraadf-light.otf fonts-adf-switzera -switzeraadf-lightcond.otf fonts-adf-switzera -switzeraadf-lightconditalic.otf fonts-adf-switzera -switzeraadf-lightitalic.otf fonts-adf-switzera -switzeraadf-medium.otf fonts-adf-switzera -switzeraadf-mediumitalic.otf fonts-adf-switzera -switzeraadf-regular.otf fonts-adf-switzera -symbol.ttf fonts-wine -symbola_hint.ttf fonts-symbola -symmetry.ttf ttf-aenigma -syndrome.ttf ttf-aenigma -syntheti.ttf ttf-aenigma -syracuse.ttf ttf-aenigma -tagbanwa.ttf ttf-tagbanwa -tagmukay-bold.ttf fonts-sil-tagmukay -tagmukay-regular.ttf fonts-sil-tagmukay -tahoma.ttf fonts-wine -tahomabd.ttf fonts-wine -taiheritagepro-bold.ttf fonts-sil-taiheritagepro -taiheritagepro-regular.ttf fonts-sil-taiheritagepro -takaogothic.ttf fonts-takao-gothic -takaomincho.ttf fonts-takao-mincho -takaopgothic.ttf fonts-takao-gothic -takaopmincho.ttf fonts-takao-mincho -tamu_kadampari.ttf fonts-taml-tamu -tamu_kalyani.ttf fonts-taml-tamu -tamu_maduram.ttf fonts-taml-tamu -taogu-bold.ttf fonts-sil-shimenkan-taogu -taogu-regular.ttf fonts-sil-shimenkan-taogu -taogubook-bold.ttf fonts-sil-shimenkan-taogu -taogubook-regular.ttf fonts-sil-shimenkan-taogu -taoguextralight-bold.ttf fonts-sil-shimenkan-taogu -taoguextralight-regular.ttf fonts-sil-shimenkan-taogu -taogulight-bold.ttf fonts-sil-shimenkan-taogu -taogulight-regular.ttf fonts-sil-shimenkan-taogu -teams.pfb t1-teams -teamsb.pfb t1-teams -teamsbi.pfb t1-teams -teamsi.pfb t1-teams -tearful.ttf ttf-aenigma -techniqo.ttf ttf-aenigma -techniqu.ttf ttf-aenigma -techover.ttf ttf-aenigma -telephas.ttf ttf-aenigma -tetri.ttf ttf-aenigma -texgyreadventor-bold.otf fonts-texgyre -texgyreadventor-bolditalic.otf fonts-texgyre -texgyreadventor-italic.otf fonts-texgyre -texgyreadventor-regular.otf fonts-texgyre -texgyrebonum-bold.otf fonts-texgyre -texgyrebonum-bolditalic.otf fonts-texgyre -texgyrebonum-italic.otf fonts-texgyre -texgyrebonum-math.otf fonts-texgyre -texgyrebonum-regular.otf fonts-texgyre -texgyrechorus-mediumitalic.otf fonts-texgyre -texgyrecursor-bold.otf fonts-texgyre -texgyrecursor-bolditalic.otf fonts-texgyre -texgyrecursor-italic.otf fonts-texgyre -texgyrecursor-regular.otf fonts-texgyre -texgyredejavu-math.otf fonts-texgyre -texgyreheros-bold.otf fonts-texgyre -texgyreheros-bolditalic.otf fonts-texgyre -texgyreheros-italic.otf fonts-texgyre -texgyreheros-regular.otf fonts-texgyre -texgyreheroscn-bold.otf fonts-texgyre -texgyreheroscn-bolditalic.otf fonts-texgyre -texgyreheroscn-italic.otf fonts-texgyre -texgyreheroscn-regular.otf fonts-texgyre -texgyrepagella-bold.otf fonts-texgyre -texgyrepagella-bolditalic.otf fonts-texgyre -texgyrepagella-italic.otf fonts-texgyre -texgyrepagella-math.otf fonts-texgyre -texgyrepagella-regular.otf fonts-texgyre -texgyreschola-bold.otf fonts-texgyre -texgyreschola-bolditalic.otf fonts-texgyre -texgyreschola-italic.otf fonts-texgyre -texgyreschola-math.otf fonts-texgyre -texgyreschola-regular.otf fonts-texgyre -texgyretermes-bold.otf fonts-texgyre -texgyretermes-bolditalic.otf fonts-texgyre -texgyretermes-italic.otf fonts-texgyre -texgyretermes-math.otf fonts-texgyre -texgyretermes-regular.otf fonts-texgyre -thabit-bold-oblique.ttf fonts-hosny-thabit -thabit-bold.ttf fonts-hosny-thabit -thabit-oblique.ttf fonts-hosny-thabit -thabit.ttf fonts-hosny-thabit -thwart.ttf ttf-aenigma -tibetanmachineuni.ttf fonts-tibetan-machine -tibetansambhotayigchung.ttf fonts-sambhota-yigchung -timrom.ttf fonts-povray -tinos-bold.ttf fonts-croscore -tinos-bolditalic.ttf fonts-croscore -tinos-italic.ttf fonts-croscore -tinos-regular.ttf fonts-croscore -tint.ttf fonts-senamirmir-washra -tipa10.pfb tipa -tipa12.pfb tipa -tipa17.pfb tipa -tipa8.pfb tipa -tipa9.pfb tipa -tipab10.pfb tipa -tipabs10.pfb tipa -tipabx10.pfb tipa -tipabx12.pfb tipa -tipabx8.pfb tipa -tipabx9.pfb tipa -tipasb10.pfb tipa -tipasi10.pfb tipa -tipasl10.pfb tipa -tipasl12.pfb tipa -tipasl8.pfb tipa -tipasl9.pfb tipa -tipass10.pfb tipa -tipass12.pfb tipa -tipass17.pfb tipa -tipass8.pfb tipa -tipass9.pfb tipa -tipats10.pfb tipa -tipatt10.pfb tipa -tipatt12.pfb tipa -tipatt8.pfb tipa -tipatt9.pfb tipa -tipx10.pfb tipa -tipx12.pfb tipa -tipx17.pfb tipa -tipx8.pfb tipa -tipx9.pfb tipa -tipxb10.pfb tipa -tipxbs10.pfb tipa -tipxbx10.pfb tipa -tipxbx12.pfb tipa -tipxbx8.pfb tipa -tipxbx9.pfb tipa -tipxsb10.pfb tipa -tipxsi10.pfb tipa -tipxsl10.pfb tipa -tipxsl12.pfb tipa -tipxsl8.pfb tipa -tipxsl9.pfb tipa -tipxss10.pfb tipa -tipxss12.pfb tipa -tipxss17.pfb tipa -tipxss8.pfb tipa -tipxss9.pfb tipa -tipxts10.pfb tipa -tipxtt10.pfb tipa -tipxtt12.pfb tipa -tipxtt8.pfb tipa -tipxtt9.pfb tipa -tirekv__.ttf fonts-tiresias -tiresias_infofont.ttf fonts-tiresias -tiresias_infofont_bold.ttf fonts-tiresias -tiresias_infofont_italic.ttf fonts-tiresias -tiresias_infofontz.ttf fonts-tiresias -tiresias_infofontz_bold.ttf fonts-tiresias -tiresias_infofontz_italic.ttf fonts-tiresias -tiresias_lpfont.ttf fonts-tiresias -tiresias_lpfont_bold.ttf fonts-tiresias -tiresias_lpfont_italic.ttf fonts-tiresias -tiresias_pcfont.ttf fonts-tiresias -tiresias_pcfont_bold.ttf fonts-tiresias -tiresias_pcfont_italic.ttf fonts-tiresias -tiresias_pcfontz.ttf fonts-tiresias -tiresias_pcfontz_bold.ttf fonts-tiresias -tiresias_pcfontz_italic.ttf fonts-tiresias -tiresias_signfont.ttf fonts-tiresias -tiresias_signfont_bold.ttf fonts-tiresias -tiresias_signfont_italic.ttf fonts-tiresias -tiresias_signfontz.ttf fonts-tiresias -tiresias_signfontz_bold.ttf fonts-tiresias -tiresias_signfontz_italic.ttf fonts-tiresias -titr.ttf fonts-farsiweb -tlwgmono-bold.otf fonts-tlwg-mono-otf -tlwgmono-bold.ttf fonts-tlwg-mono-ttf -tlwgmono-boldoblique.otf fonts-tlwg-mono-otf -tlwgmono-boldoblique.ttf fonts-tlwg-mono-ttf -tlwgmono-oblique.otf fonts-tlwg-mono-otf -tlwgmono-oblique.ttf fonts-tlwg-mono-ttf -tlwgmono.otf fonts-tlwg-mono-otf -tlwgmono.ttf fonts-tlwg-mono-ttf -tlwgtypewriter-bold.otf fonts-tlwg-typewriter-otf -tlwgtypewriter-bold.ttf fonts-tlwg-typewriter-ttf -tlwgtypewriter-boldoblique.otf fonts-tlwg-typewriter-otf -tlwgtypewriter-boldoblique.ttf fonts-tlwg-typewriter-ttf -tlwgtypewriter-oblique.otf fonts-tlwg-typewriter-otf -tlwgtypewriter-oblique.ttf fonts-tlwg-typewriter-ttf -tlwgtypewriter.otf fonts-tlwg-typewriter-otf -tlwgtypewriter.ttf fonts-tlwg-typewriter-ttf -tlwgtypist-bold.otf fonts-tlwg-typist-otf -tlwgtypist-bold.ttf fonts-tlwg-typist-ttf -tlwgtypist-boldoblique.otf fonts-tlwg-typist-otf -tlwgtypist-boldoblique.ttf fonts-tlwg-typist-ttf -tlwgtypist-oblique.otf fonts-tlwg-typist-otf -tlwgtypist-oblique.ttf fonts-tlwg-typist-ttf -tlwgtypist.otf fonts-tlwg-typist-otf -tlwgtypist.ttf fonts-tlwg-typist-ttf -tlwgtypo-bold.otf fonts-tlwg-typo-otf -tlwgtypo-bold.ttf fonts-tlwg-typo-ttf -tlwgtypo-boldoblique.otf fonts-tlwg-typo-otf -tlwgtypo-boldoblique.ttf fonts-tlwg-typo-ttf -tlwgtypo-oblique.otf fonts-tlwg-typo-otf -tlwgtypo-oblique.ttf fonts-tlwg-typo-ttf -tlwgtypo.otf fonts-tlwg-typo-otf -tlwgtypo.ttf fonts-tlwg-typo-ttf -tnua-libre.ttf fonts-cegui -tomsontalks.ttf fonts-tomsontalks -tonik.ttf ttf-aenigma -tragic2.ttf ttf-aenigma -tribunadfstd-bold.otf fonts-adf-tribun -tribunadfstd-boldcond.otf fonts-adf-tribun -tribunadfstd-boldconditalic.otf fonts-adf-tribun -tribunadfstd-bolditalic.otf fonts-adf-tribun -tribunadfstd-cond.otf fonts-adf-tribun -tribunadfstd-conditalic.otf fonts-adf-tribun -tribunadfstd-extrabold.otf fonts-adf-tribun -tribunadfstd-extrabolditalic.otf fonts-adf-tribun -tribunadfstd-italic.otf fonts-adf-tribun -tribunadfstd-medium.otf fonts-adf-tribun -tribunadfstd-mediumitalic.otf fonts-adf-tribun -tribunadfstd-regular.otf fonts-adf-tribun -triodpostnaja.ttf fonts-triod-postnaja -tscu_comic.ttf fonts-taml-tscu -tscu_paranar.ttf fonts-taml-tscu -tscu_paranarb.ttf fonts-taml-tscu -tscu_paranari.ttf fonts-taml-tscu -tscu_times.ttf fonts-taml-tscu -tsextolo.ttf ttf-aenigma -tsextols.ttf ttf-aenigma -tuffy.ttf fonts-tuffy -tuffy_bold.ttf fonts-tuffy -tuffy_bold_italic.ttf fonts-tuffy -tuffy_italic.ttf fonts-tuffy -tuffy_regular.ttf fonts-tuffy -turmoil.ttf ttf-aenigma -tw-kai-98_1.ttf fonts-cns11643-kai -tw-kai-ext-b-98_1.ttf fonts-cns11643-kai -tw-kai-plus-98_1.ttf fonts-cns11643-kai -tw-sung-98_1.ttf fonts-cns11643-sung -tw-sung-ext-b-98_1.ttf fonts-cns11643-sung -tw-sung-plus-98_1.ttf fonts-cns11643-sung -tymes.ttf fonts-arkpandora -tymesbd.ttf fonts-arkpandora -typoscript.otf fonts-levien-typoscript -ubiquity.ttf ttf-aenigma -ubuntu-title.ttf fonts-ubuntu-title -ukij3d.ttf fonts-ukij-uyghur -ukij_macbasma.ttf fonts-ukij-uyghur -ukij_macbasmabold.ttf fonts-ukij-uyghur -ukij_macekran.ttf fonts-ukij-uyghur -ukij_macekranbold.ttf fonts-ukij-uyghur -ukijbasma.ttf fonts-ukij-uyghur -ukijbom.ttf fonts-ukij-uyghur -ukijchechek.ttf fonts-ukij-uyghur -ukijchik.ttf fonts-ukij-uyghur -ukijcjk.ttf fonts-ukij-uyghur -ukijdi.ttf fonts-ukij-uyghur -ukijdik.ttf fonts-ukij-uyghur -ukijdit.ttf fonts-ukij-uyghur -ukijdiy.ttf fonts-ukij-uyghur -ukijekran.ttf fonts-ukij-uyghur -ukijelipbe-b.ttf fonts-ukij-uyghur -ukijelipbe.ttf fonts-ukij-uyghur -ukijelipbech-b.ttf fonts-ukij-uyghur -ukijelipbech.ttf fonts-ukij-uyghur -ukijes.ttf fonts-ukij-uyghur -ukijesbold.ttf fonts-ukij-uyghur -ukijesc.ttf fonts-ukij-uyghur -ukijesn.ttf fonts-ukij-uyghur -ukijesq.ttf fonts-ukij-uyghur -ukijest.ttf fonts-ukij-uyghur -ukijimaret.ttf fonts-ukij-uyghur -ukijinichke.ttf fonts-ukij-uyghur -ukijinichkeb.ttf fonts-ukij-uyghur -ukijje.ttf fonts-ukij-uyghur -ukijjunu.ttf fonts-ukij-uyghur -ukijka.ttf fonts-ukij-uyghur -ukijka3d-b.ttf fonts-ukij-uyghur -ukijka3d.ttf fonts-ukij-uyghur -ukijkesme-b.ttf fonts-ukij-uyghur -ukijkesme.ttf fonts-ukij-uyghur -ukijkesmetuz-b.ttf fonts-ukij-uyghur -ukijkesmetuz.ttf fonts-ukij-uyghur -ukijku.ttf fonts-ukij-uyghur -ukijku3d.ttf fonts-ukij-uyghur -ukijkuchi.ttf fonts-ukij-uyghur -ukijkug.ttf fonts-ukij-uyghur -ukijkuka.ttf fonts-ukij-uyghur -ukijkut.ttf fonts-ukij-uyghur -ukijkuu.ttf fonts-ukij-uyghur -ukijkuy.ttf fonts-ukij-uyghur -ukijkuyb.ttf fonts-ukij-uyghur -ukijkuyol.ttf fonts-ukij-uyghur -ukijme.ttf fonts-ukij-uyghur -ukijmejn.ttf fonts-ukij-uyghur -ukijmejt.ttf fonts-ukij-uyghur -ukijmoyq.ttf fonts-ukij-uyghur -ukijnsq.ttf fonts-ukij-uyghur -ukijnsqb.ttf fonts-ukij-uyghur -ukijnsqz.ttf fonts-ukij-uyghur -ukijnsqzb.ttf fonts-ukij-uyghur -ukijorqun_b.ttf fonts-ukij-uyghur -ukijorqun_y.ttf fonts-ukij-uyghur -ukijorxun.ttf fonts-ukij-uyghur -ukijqara-b.ttf fonts-ukij-uyghur -ukijqara.ttf fonts-ukij-uyghur -ukijqol_tez.ttf fonts-ukij-uyghur -ukijqol_tuz.ttf fonts-ukij-uyghur -ukijqol_yantu.ttf fonts-ukij-uyghur -ukijqolyazma.ttf fonts-ukij-uyghur -ukijru.ttf fonts-ukij-uyghur -ukijsaet.ttf fonts-ukij-uyghur -ukijsls.ttf fonts-ukij-uyghur -ukijslsbold.ttf fonts-ukij-uyghur -ukijslstom.ttf fonts-ukij-uyghur -ukijteng-b.ttf fonts-ukij-uyghur -ukijteng.ttf fonts-ukij-uyghur -ukijtiken.ttf fonts-ukij-uyghur -ukijtitle.ttf fonts-ukij-uyghur -ukijtor.ttf fonts-ukij-uyghur -ukijtughra.ttf fonts-ukij-uyghur -ukijtut.ttf fonts-ukij-uyghur -ukijtuz.ttf fonts-ukij-uyghur -ukijtuzb.ttf fonts-ukij-uyghur -ukijtuzbb.ttf fonts-ukij-uyghur -ukijtuzbold.ttf fonts-ukij-uyghur -ukijtuzg.ttf fonts-ukij-uyghur -ukijtuzgb.ttf fonts-ukij-uyghur -ukijtuzk.ttf fonts-ukij-uyghur -ukijtuzkb.ttf fonts-ukij-uyghur -ukijtuzq.ttf fonts-ukij-uyghur -ukijtuzqb.ttf fonts-ukij-uyghur -ukijtzneqish.ttf fonts-ukij-uyghur -ukijtztr.ttf fonts-ukij-uyghur -ukijtztrbold.ttf fonts-ukij-uyghur -ukijzilwa.ttf fonts-ukij-uyghur -ume-hgo4.ttf fonts-horai-umefont -ume-hgo5.ttf fonts-horai-umefont -ume-pgc4.ttf fonts-horai-umefont -ume-pgc5.ttf fonts-horai-umefont -ume-pgo4.ttf fonts-horai-umefont -ume-pgo5.ttf fonts-horai-umefont -ume-pgs4.ttf fonts-horai-umefont -ume-pgs5.ttf fonts-horai-umefont -ume-pmo3.ttf fonts-horai-umefont -ume-pms3.ttf fonts-horai-umefont -ume-tgc4.ttf fonts-horai-umefont -ume-tgc5.ttf fonts-horai-umefont -ume-tgo4.ttf fonts-horai-umefont -ume-tgo5.ttf fonts-horai-umefont -ume-tgs4.ttf fonts-horai-umefont -ume-tgs5.ttf fonts-horai-umefont -ume-tmo3.ttf fonts-horai-umefont -ume-tms3.ttf fonts-horai-umefont -ume-ugo4.ttf fonts-horai-umefont -ume-ugo5.ttf fonts-horai-umefont -umeplus-cl-gothic.ttf fonts-umeplus-cl -umeplus-clp-gothic.ttf fonts-umeplus-cl -umeplus-gothic.ttf fonts-umeplus -umeplus-p-gothic.ttf fonts-umeplus -umpush-bold.otf fonts-tlwg-umpush-otf -umpush-bold.ttf fonts-tlwg-umpush-ttf -umpush-boldoblique.otf fonts-tlwg-umpush-otf -umpush-boldoblique.ttf fonts-tlwg-umpush-ttf -umpush-light.otf fonts-tlwg-umpush-otf -umpush-light.ttf fonts-tlwg-umpush-ttf -umpush-lightoblique.otf fonts-tlwg-umpush-otf -umpush-lightoblique.ttf fonts-tlwg-umpush-ttf -umpush-oblique.otf fonts-tlwg-umpush-otf -umpush-oblique.ttf fonts-tlwg-umpush-ttf -umpush.otf fonts-tlwg-umpush-otf -umpush.ttf fonts-tlwg-umpush-ttf -unanimo.ttf ttf-aenigma -unanimoi.ttf ttf-aenigma -unbatang.ttf fonts-unfonts-core -unbatangbold.ttf fonts-unfonts-core -underscr.ttf ttf-aenigma -underwhe.ttf ttf-aenigma -underwho.ttf ttf-aenigma -undinaru.ttf fonts-unfonts-core -undinarubold.ttf fonts-unfonts-core -undinarulight.ttf fonts-unfonts-core -undotum.ttf fonts-unfonts-core -undotumbold.ttf fonts-unfonts-core -undrscr2.ttf ttf-aenigma -ungraphic.ttf fonts-unfonts-core -ungraphicbold.ttf fonts-unfonts-core -ungungseo.ttf fonts-unfonts-core -unidings_hint.ttf fonts-ancient-scripts -unifont.ttf fonts-unifont -unifont_csur.ttf fonts-unifont -unifont_sample.ttf fonts-unifont -unifont_upper.ttf fonts-unifont -unifur.ttf fonts-eurofurence -unikuweb.ttf fonts-unikurdweb -united.ttf ttf-aenigma -universalisadfstd-bold.otf fonts-adf-universalis -universalisadfstd-boldcond.otf fonts-adf-universalis -universalisadfstd-boldcondit.otf fonts-adf-universalis -universalisadfstd-bolditalic.otf fonts-adf-universalis -universalisadfstd-cond.otf fonts-adf-universalis -universalisadfstd-conditalic.otf fonts-adf-universalis -universalisadfstd-italic.otf fonts-adf-universalis -universalisadfstd-regular.otf fonts-adf-universalis -unjamobatang.ttf fonts-unfonts-extra -unjamodotum.ttf fonts-unfonts-extra -unjamonovel.ttf fonts-unfonts-extra -unjamosora.ttf fonts-unfonts-extra -unlearn2.ttf ttf-aenigma -unlearne.ttf ttf-aenigma -unpen.ttf fonts-unfonts-extra -unpenheulim.ttf fonts-unfonts-extra -unpilgi.ttf fonts-unfonts-core -unpilgia.ttf fonts-unfonts-extra -unpilgibold.ttf fonts-unfonts-core -unrespon.ttf ttf-aenigma -unshinmun.ttf fonts-unfonts-extra -untaza.ttf fonts-unfonts-extra -unvada.ttf fonts-unfonts-extra -unxgala.ttf ttf-aenigma -unxgalaw.ttf ttf-aenigma -unxgalo.ttf ttf-aenigma -unxgalwo.ttf ttf-aenigma -unyetgul.ttf fonts-unfonts-extra -upheavtt.ttf ttf-aenigma -upraise.ttf ttf-aenigma -urcompi.ttf ttf-aenigma -urcompo.ttf ttf-aenigma -uroob-regular.ttf fonts-smc-uroob -urwbookman-demi.otf fonts-urw-base35 -urwbookman-demiitalic.otf fonts-urw-base35 -urwbookman-light.otf fonts-urw-base35 -urwbookman-lightitalic.otf fonts-urw-base35 -urwgothic-book.otf fonts-urw-base35 -urwgothic-bookoblique.otf fonts-urw-base35 -urwgothic-demi.otf fonts-urw-base35 -urwgothic-demioblique.otf fonts-urw-base35 -utkal.ttf fonts-orya-extra -vacantz.ttf ttf-aenigma -vanished.ttf ttf-aenigma -vantage.ttf ttf-aenigma -variance.ttf ttf-aenigma -vemana2000.ttf fonts-telu-extra -vera.ttf ttf-bitstream-vera -verabd.ttf ttf-bitstream-vera -verabi.ttf ttf-bitstream-vera -verait.ttf ttf-bitstream-vera -veramobd.ttf ttf-bitstream-vera -veramobi.ttf ttf-bitstream-vera -veramoit.ttf ttf-bitstream-vera -veramono.ttf ttf-bitstream-vera -verana-bold.otf fonts-adf-verana -verana-bolditalic.otf fonts-adf-verana -verana-italic.otf fonts-adf-verana -verana-regular.otf fonts-adf-verana -veranasans-bold.otf fonts-adf-verana -veranasans-boldoblique.otf fonts-adf-verana -veranasans-oblique.otf fonts-adf-verana -veranasans-regular.otf fonts-adf-verana -veranasansdemi-oblique.otf fonts-adf-verana -veranasansdemi-regular.otf fonts-adf-verana -veranasansmedium-oblique.otf fonts-adf-verana -veranasansmedium-regular.otf fonts-adf-verana -veranda.ttf fonts-arkpandora -verandabd.ttf fonts-arkpandora -verandabdit.ttf fonts-arkpandora -verandait.ttf fonts-arkpandora -verase.ttf ttf-bitstream-vera -verasebd.ttf ttf-bitstream-vera -vertigo.ttf ttf-aenigma -vertigo2.ttf ttf-aenigma -vertigup.ttf ttf-aenigma -vertiup2.ttf ttf-aenigma -vigilanc.ttf ttf-aenigma -vindicti.ttf ttf-aenigma -visitor1.ttf ttf-aenigma -visitor2.ttf ttf-aenigma -vl-gothic-regular.ttf fonts-vlgothic -vl-pgothic-regular.ttf fonts-vlgothic -volatil1.ttf ttf-aenigma -volatil2.ttf ttf-aenigma -vollkorn-black.ttf fonts-vollkorn -vollkorn-blackitalic.ttf fonts-vollkorn -vollkorn-bold.ttf fonts-vollkorn -vollkorn-bolditalic.ttf fonts-vollkorn -vollkorn-extrabold.ttf fonts-vollkorn -vollkorn-extrabolditalic.ttf fonts-vollkorn -vollkorn-italic.ttf fonts-vollkorn -vollkorn-medium.ttf fonts-vollkorn -vollkorn-mediumitalic.ttf fonts-vollkorn -vollkorn-regular.ttf fonts-vollkorn -vollkorn-semibold.ttf fonts-vollkorn -vollkorn-semibolditalic.ttf fonts-vollkorn -wager.ttf ttf-aenigma -wagerlos.ttf ttf-aenigma -wagerwon.ttf ttf-aenigma -waree-bold.otf fonts-tlwg-waree-otf -waree-bold.ttf fonts-tlwg-waree-ttf -waree-boldoblique.otf fonts-tlwg-waree-otf -waree-boldoblique.ttf fonts-tlwg-waree-ttf -waree-oblique.otf fonts-tlwg-waree-otf -waree-oblique.ttf fonts-tlwg-waree-ttf -waree.otf fonts-tlwg-waree-otf -waree.ttf fonts-tlwg-waree-ttf -wargames.ttf fonts-dustin -washrab.ttf fonts-senamirmir-washra -washrasb.ttf fonts-senamirmir-washra -wasy10.ttf fonts-lyx -waver.ttf ttf-aenigma -wayward.ttf ttf-aenigma -waywards.ttf ttf-aenigma -weatherd.ttf ttf-aenigma -weathers.ttf ttf-aenigma -weaver.ttf ttf-aenigma -whatever.ttf ttf-aenigma -whipsnap.ttf ttf-aenigma -wigsquig.ttf ttf-aenigma -wincing.ttf ttf-aenigma -wingding.ttf fonts-wine -winks.ttf fonts-dustin -withstan.ttf ttf-aenigma -wobbly.ttf ttf-aenigma -wookianos.ttf fonts-senamirmir-washra -wyvernwi.ttf ttf-aenigma -wyvernww.ttf ttf-aenigma -xeroxmal.ttf ttf-aenigma -xhume.ttf ttf-aenigma -xipa10.pfb tipa -xipab10.pfb tipa -xipabs10.pfb tipa -xipasb10.pfb tipa -xipasi10.pfb tipa -xipasl10.pfb tipa -xipass10.pfb tipa -xipital.ttf ttf-aenigma -xipx10.pfb tipa -xipxb10.pfb tipa -xipxbs10.pfb tipa -xipxsb10.pfb tipa -xipxsi10.pfb tipa -xipxsl10.pfb tipa -xipxss10.pfb tipa -xmaslght.ttf ttf-aenigma -xtrusion.ttf ttf-aenigma -yamsuf.otf fonts-ldco -yamsuf.ttf fonts-ldco -yanonekaffeesatz-bold.otf fonts-yanone-kaffeesatz -yanonekaffeesatz-bold.ttf fonts-yanone-kaffeesatz -yanonekaffeesatz-light.otf fonts-yanone-kaffeesatz -yanonekaffeesatz-light.ttf fonts-yanone-kaffeesatz -yanonekaffeesatz-regular.otf fonts-yanone-kaffeesatz -yanonekaffeesatz-regular.ttf fonts-yanone-kaffeesatz -yanonekaffeesatz-thin.otf fonts-yanone-kaffeesatz -yanonekaffeesatz-thin.ttf fonts-yanone-kaffeesatz -yearend.ttf ttf-aenigma -yebse.ttf fonts-senamirmir-washra -yesterda.ttf ttf-aenigma -yielding.ttf ttf-aenigma -yigezubisratgothic.ttf fonts-senamirmir-washra -yonder.ttf ttf-aenigma -yoshisst.ttf ttf-aenigma -yourcomp.ttf ttf-aenigma -yozba_.ttf fonts-yozvox-yozfont-antique -yozba_90.ttf fonts-yozvox-yozfont-antique -yozba_90i.ttf fonts-yozvox-yozfont-antique -yozba_i.ttf fonts-yozvox-yozfont-antique -yozbaf.ttf fonts-yozvox-yozfont-antique -yozbaf90.ttf fonts-yozvox-yozfont-antique -yozbaf90i.ttf fonts-yozvox-yozfont-antique -yozbafi.ttf fonts-yozvox-yozfont-antique -yozbap.ttf fonts-yozvox-yozfont-antique -yozbap90.ttf fonts-yozvox-yozfont-antique -yozbc_.ttf fonts-yozvox-yozfont-cute -yozbc_90.ttf fonts-yozvox-yozfont-cute -yozbc_90i.ttf fonts-yozvox-yozfont-cute -yozbc_i.ttf fonts-yozvox-yozfont-cute -yozbcf.ttf fonts-yozvox-yozfont-cute -yozbcf90.ttf fonts-yozvox-yozfont-cute -yozbcf90i.ttf fonts-yozvox-yozfont-cute -yozbcfi.ttf fonts-yozvox-yozfont-cute -yozbe_.ttf fonts-yozvox-yozfont-edu -yozbe_90.ttf fonts-yozvox-yozfont-edu -yozbe_90i.ttf fonts-yozvox-yozfont-edu -yozbe_i.ttf fonts-yozvox-yozfont-edu -yozbe_m.ttf fonts-yozvox-yozfont-edu -yozbe_m90.ttf fonts-yozvox-yozfont-edu -yozbef.ttf fonts-yozvox-yozfont-edu -yozbef90.ttf fonts-yozvox-yozfont-edu -yozbef90i.ttf fonts-yozvox-yozfont-edu -yozbefi.ttf fonts-yozvox-yozfont-edu -yozbefm.ttf fonts-yozvox-yozfont-edu -yozbefm90.ttf fonts-yozvox-yozfont-edu -yozbn_.ttf fonts-yozvox-yozfont-new-kana -yozbn_90.ttf fonts-yozvox-yozfont-new-kana -yozbn_90i.ttf fonts-yozvox-yozfont-new-kana -yozbn_i.ttf fonts-yozvox-yozfont-new-kana -yozbn_m.ttf fonts-yozvox-yozfont-new-kana -yozbn_m90.ttf fonts-yozvox-yozfont-new-kana -yozbnf.ttf fonts-yozvox-yozfont-new-kana -yozbnf90.ttf fonts-yozvox-yozfont-new-kana -yozbnf90i.ttf fonts-yozvox-yozfont-new-kana -yozbnfi.ttf fonts-yozvox-yozfont-new-kana -yozbnfm.ttf fonts-yozvox-yozfont-new-kana -yozbnfm90.ttf fonts-yozvox-yozfont-new-kana -yozbs_.ttf fonts-yozvox-yozfont-standard-kana -yozbs_90.ttf fonts-yozvox-yozfont-standard-kana -yozbs_90i.ttf fonts-yozvox-yozfont-standard-kana -yozbs_i.ttf fonts-yozvox-yozfont-standard-kana -yozbsf.ttf fonts-yozvox-yozfont-standard-kana -yozbsf90.ttf fonts-yozvox-yozfont-standard-kana -yozbsf90i.ttf fonts-yozvox-yozfont-standard-kana -yozbsfi.ttf fonts-yozvox-yozfont-standard-kana -yozbsp.ttf fonts-yozvox-yozfont-standard-kana -yozbsp90.ttf fonts-yozvox-yozfont-standard-kana -yozra_.ttf fonts-yozvox-yozfont-antique -yozra_90.ttf fonts-yozvox-yozfont-antique -yozra_90i.ttf fonts-yozvox-yozfont-antique -yozra_i.ttf fonts-yozvox-yozfont-antique -yozraf.ttf fonts-yozvox-yozfont-antique -yozraf90.ttf fonts-yozvox-yozfont-antique -yozraf90i.ttf fonts-yozvox-yozfont-antique -yozrafi.ttf fonts-yozvox-yozfont-antique -yozrap.ttf fonts-yozvox-yozfont-antique -yozrap90.ttf fonts-yozvox-yozfont-antique -yozrc_.ttf fonts-yozvox-yozfont-cute -yozrc_90.ttf fonts-yozvox-yozfont-cute -yozrc_90i.ttf fonts-yozvox-yozfont-cute -yozrc_i.ttf fonts-yozvox-yozfont-cute -yozrcf.ttf fonts-yozvox-yozfont-cute -yozrcf90.ttf fonts-yozvox-yozfont-cute -yozrcf90i.ttf fonts-yozvox-yozfont-cute -yozrcfi.ttf fonts-yozvox-yozfont-cute -yozre_.ttf fonts-yozvox-yozfont-edu -yozre_90.ttf fonts-yozvox-yozfont-edu -yozre_90i.ttf fonts-yozvox-yozfont-edu -yozre_i.ttf fonts-yozvox-yozfont-edu -yozre_m.ttf fonts-yozvox-yozfont-edu -yozre_m90.ttf fonts-yozvox-yozfont-edu -yozref.ttf fonts-yozvox-yozfont-edu -yozref90.ttf fonts-yozvox-yozfont-edu -yozref90i.ttf fonts-yozvox-yozfont-edu -yozrefi.ttf fonts-yozvox-yozfont-edu -yozrefm.ttf fonts-yozvox-yozfont-edu -yozrefm90.ttf fonts-yozvox-yozfont-edu -yozrex.ttf fonts-yozvox-yozfont-edu -yozrex90.ttf fonts-yozvox-yozfont-edu -yozrexf.ttf fonts-yozvox-yozfont-edu -yozrexf90.ttf fonts-yozvox-yozfont-edu -yozrexm.ttf fonts-yozvox-yozfont-edu -yozrexm90.ttf fonts-yozvox-yozfont-edu -yozrn_.ttf fonts-yozvox-yozfont-new-kana -yozrn_90.ttf fonts-yozvox-yozfont-new-kana -yozrn_90i.ttf fonts-yozvox-yozfont-new-kana -yozrn_i.ttf fonts-yozvox-yozfont-new-kana -yozrn_m.ttf fonts-yozvox-yozfont-new-kana -yozrn_m90.ttf fonts-yozvox-yozfont-new-kana -yozrnf.ttf fonts-yozvox-yozfont-new-kana -yozrnf90.ttf fonts-yozvox-yozfont-new-kana -yozrnf90i.ttf fonts-yozvox-yozfont-new-kana -yozrnfi.ttf fonts-yozvox-yozfont-new-kana -yozrnfm.ttf fonts-yozvox-yozfont-new-kana -yozrnfm90.ttf fonts-yozvox-yozfont-new-kana -yozrnx.ttf fonts-yozvox-yozfont-new-kana -yozrnx90.ttf fonts-yozvox-yozfont-new-kana -yozrnxf.ttf fonts-yozvox-yozfont-new-kana -yozrnxf90.ttf fonts-yozvox-yozfont-new-kana -yozrnxm.ttf fonts-yozvox-yozfont-new-kana -yozrnxm90.ttf fonts-yozvox-yozfont-new-kana -yozrs_.ttf fonts-yozvox-yozfont-standard-kana -yozrs_90.ttf fonts-yozvox-yozfont-standard-kana -yozrs_90i.ttf fonts-yozvox-yozfont-standard-kana -yozrs_i.ttf fonts-yozvox-yozfont-standard-kana -yozrsf.ttf fonts-yozvox-yozfont-standard-kana -yozrsf90.ttf fonts-yozvox-yozfont-standard-kana -yozrsf90i.ttf fonts-yozvox-yozfont-standard-kana -yozrsfi.ttf fonts-yozvox-yozfont-standard-kana -yozrsp.ttf fonts-yozvox-yozfont-standard-kana -yozrsp90.ttf fonts-yozvox-yozfont-standard-kana -yozrsx.ttf fonts-yozvox-yozfont-standard-kana -yozrsx90.ttf fonts-yozvox-yozfont-standard-kana -yozrsxf.ttf fonts-yozvox-yozfont-standard-kana -yozrsxf90.ttf fonts-yozvox-yozfont-standard-kana -yozrsxm.ttf fonts-yozvox-yozfont-standard-kana -yozrsxm90.ttf fonts-yozvox-yozfont-standard-kana -yrsa-bold.ttf fonts-yrsa-rasa -yrsa-light.ttf fonts-yrsa-rasa -yrsa-medium.ttf fonts-yrsa-rasa -yrsa-regular.ttf fonts-yrsa-rasa -yrsa-semibold.ttf fonts-yrsa-rasa -z003-mediumitalic.otf fonts-urw-base35 -z003034d.pfb t1-cyrillic -zaghawaberia.otf fonts-sil-zaghawa-beria -zainer-goticoantiqua96g.otf fonts-gotico-antiqua -zainer-initials45mm.otf fonts-gotico-antiqua -zelan.ttf fonts-senamirmir-washra -zeldadxt.ttf ttf-aenigma -zenith.ttf ttf-aenigma -zephyrea.ttf ttf-aenigma -zephyreg.ttf ttf-aenigma -zerovelo.ttf ttf-aenigma -zirccube.ttf ttf-aenigma -zirconia.ttf ttf-aenigma -zoetrope.ttf ttf-aenigma -zoidal.ttf ttf-aenigma -zurklezo.ttf ttf-aenigma -zurklezs.ttf ttf-aenigma diff -Nru lintian-2.111.0ubuntu2/data/fonts.json lintian-2.114.0ubuntu1/data/fonts.json --- lintian-2.111.0ubuntu2/data/fonts.json 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/data/fonts.json 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,28900 @@ +{ + "fonts" : { + "1015sn.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "1015snr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "18holes.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "3270-regular.otf" : { + "installed_by" : [ + "fonts-3270" + ] + }, + "3270condensed-regular.otf" : { + "installed_by" : [ + "fonts-3270" + ] + }, + "3270semicondensed-regular.otf" : { + "installed_by" : [ + "fonts-3270" + ] + }, + "36daysag.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "36daythk.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "3dlet.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "4shadow.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "4shadowo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "8bitlim.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "8bitlimo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "8bitlimr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "8blimro.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "90stars.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "a010013d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "a010015d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "a010033d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "a010035d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "aakar-medium.ttf" : { + "installed_by" : [ + "fonts-gujr-extra" + ] + }, + "abecedario.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedarioguiada.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedarionegrita.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedariopautada.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedariopuntguiada.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedariopuntos.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "abecedariopuntpautada.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "aboriginalsansbold9433.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalsansbolditalic9433.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalsansitalic9433.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalsansregular9433.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalserifbold943.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalserifbolditalic943.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalserifitalic943.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "aboriginalserifregular943.ttf" : { + "installed_by" : [ + "fonts-lg-aboriginal" + ] + }, + "abydosb_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "abydosr_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "abyssinicasil-regular.ttf" : { + "installed_by" : [ + "fonts-sil-abyssinica" + ] + }, + "accanthisadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno2-bold.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno2-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno2-italic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno2-regular.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno3-bold.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno3-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno3-italic.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "accanthisadfstdno3-regular.otf" : { + "installed_by" : [ + "fonts-adf-accanthis" + ] + }, + "acidrefl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "acknowtt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ae_alarabiya.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_albattar.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_alhor.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_almanzomah.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_alyarmook.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_arab.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_cortoba.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_dimnah.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_electron.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_furat.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_granada.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_graph.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_hani.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_haramain.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_hor.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_japan.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_jet.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_kayrawan.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_khalid.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_mashq-bold.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_mashq.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_metal.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_nada.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_nagham.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_nice.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_ostorah.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_ouhod-bold.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_petra.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_rasheeq-bold.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_rehan.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_salem.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_shado.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_sharjah.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_sindbad.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_tarablus.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "ae_tholoth.ttf" : { + "installed_by" : [ + "fonts-arabeyes" + ] + }, + "aegean_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aegyptusb_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aegyptusr_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aerial.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialbd.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialbdit.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialit.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialmono.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialmonobd.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialmonobdit.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aerialmonoit.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "aescrawl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "aesymatt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "aftermat.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "agave-b-autohinted.ttf" : { + "installed_by" : [ + "fonts-agave" + ] + }, + "agave-r-autohinted.ttf" : { + "installed_by" : [ + "fonts-agave" + ] + }, + "akatab-regular.ttf" : { + "installed_by" : [ + "fonts-sil-akatab" + ] + }, + "akkadian_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aksharyogini2normal.ttf" : { + "installed_by" : [ + "fonts-aksharyogini2" + ] + }, + "alegreyasans-black.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-blackitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-bold.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-bolditalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-extrabold.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-italic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-light.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-lightitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-medium.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-mediumitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-regular.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-thin.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasans-thinitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-black.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-blackitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-bold.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-bolditalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-extrabold.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-italic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-light.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-lightitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-medium.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-mediumitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-regular.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-thin.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alegreyasanssc-thinitalic.otf" : { + "installed_by" : [ + "fonts-alegreya-sans" + ] + }, + "alexander_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "alfa-beta.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "alfios_b.otf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "alfios_i.otf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "alfios_j.otf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "alfios_r.otf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "alkalami-light.ttf" : { + "installed_by" : [ + "fonts-sil-alkalami" + ] + }, + "alkalami-regular.ttf" : { + "installed_by" : [ + "fonts-sil-alkalami" + ] + }, + "allerta_medium.otf" : { + "installed_by" : [ + "fonts-allerta" + ] + }, + "allerta_stencil.otf" : { + "installed_by" : [ + "fonts-allerta" + ] + }, + "alphbeta.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "amalgama.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "amalgamo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "amiri-bold.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amiri-boldslanted.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amiri-regular.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amiri-slanted.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amiriquran.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amiriqurancolored.ttf" : { + "installed_by" : [ + "fonts-hosny-amiri" + ] + }, + "amit.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "amit.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "amplitud.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "anaktoria_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "analecta_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "anatolian_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "andika-r.ttf" : { + "installed_by" : [ + "fonts-sil-andika" + ] + }, + "andikacompact-r.ttf" : { + "installed_by" : [ + "fonts-sil-andika-compact" + ] + }, + "andikanewbasic-b.ttf" : { + "installed_by" : [ + "fonts-sil-andikanewbasic" + ] + }, + "andikanewbasic-bi.ttf" : { + "installed_by" : [ + "fonts-sil-andikanewbasic" + ] + }, + "andikanewbasic-i.ttf" : { + "installed_by" : [ + "fonts-sil-andikanewbasic" + ] + }, + "andikanewbasic-r.ttf" : { + "installed_by" : [ + "fonts-sil-andikanewbasic" + ] + }, + "ani.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "anjalioldlipi-regular.ttf" : { + "installed_by" : [ + "fonts-smc-anjalioldlipi" + ] + }, + "annapurnasil-bold.ttf" : { + "installed_by" : [ + "fonts-sil-annapurna" + ] + }, + "annapurnasil-regular.ttf" : { + "installed_by" : [ + "fonts-sil-annapurna" + ] + }, + "aoyagi-soseki.ttf" : { + "installed_by" : [ + "fonts-aoyagi-soseki" + ] + }, + "aoyagikouzant.ttf" : { + "installed_by" : [ + "fonts-aoyagi-kouzan-t" + ] + }, + "apibold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "apibolit.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "apiitali.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "apiregul.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "apropal-bold.otf" : { + "installed_by" : [ + "fonts-apropal" + ] + }, + "arapey-black-display.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arapey-black.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arapey-regular-display.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arapey-regular.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arapey-thin-display.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arapey-thin.otf" : { + "installed_by" : [ + "fonts-arapey" + ] + }, + "arimo-bold.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "arimo-bolditalic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "arimo-italic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "arimo-regular.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "aroania_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "arthriti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "arundinasans-bold.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasans-boldoblique.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasans-oblique.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasans.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasansmono-bold.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasansmono-boldoblique.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasansmono-oblique.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinasansmono.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinaserif-bold.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "arundinaserif.ttf" : { + "installed_by" : [ + "fonts-arundina" + ] + }, + "asana-math.otf" : { + "installed_by" : [ + "fonts-oflb-asana-math" + ] + }, + "aseab_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aseai_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aseaj_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "asear_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "aspartam.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "assyrian_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "atarismall.ttf" : { + "installed_by" : [ + "fonts-atarismall" + ] + }, + "atavyros.otf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "ataxia.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ataxiao.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "automati.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "avdira_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "averiagwf-bold.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-bolditalic.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-gruesa.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-italic.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-light.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-lightitalic.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiagwf-regular.ttf" : { + "installed_by" : [ + "fonts-averia-gwf" + ] + }, + "averiasansgwf-bold.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiasansgwf-bolditalic.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiasansgwf-italic.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiasansgwf-light.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiasansgwf-lightitalic.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiasansgwf-regular.ttf" : { + "installed_by" : [ + "fonts-averia-sans-gwf" + ] + }, + "averiaserifgwf-bold.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "averiaserifgwf-bolditalic.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "averiaserifgwf-italic.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "averiaserifgwf-light.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "averiaserifgwf-lightitalic.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "averiaserifgwf-regular.ttf" : { + "installed_by" : [ + "fonts-averia-serif-gwf" + ] + }, + "awaminastaliq-regular.ttf" : { + "installed_by" : [ + "fonts-sil-awami-nastaliq" + ] + }, + "ayar.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "b018012d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "b018015d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "b018032d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "b018035d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "b2sq.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "b2sqol1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "b2sqol2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "b612-bold.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612-bolditalic.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612-italic.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612-regular.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612mono-bold.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612mono-bolditalic.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612mono-italic.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "b612mono-regular.otf" : { + "installed_by" : [ + "fonts-b612" + ] + }, + "babeboit.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "babebold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "babelita.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "babelreg.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "babelstonehan.ttf" : { + "installed_by" : [ + "fonts-babelstone-han" + ] + }, + "babelstonemodern.ttf" : { + "installed_by" : [ + "fonts-babelstone-modern" + ] + }, + "backlash.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bajaderka-regular.otf" : { + "installed_by" : [ + "fonts-bajaderka" + ] + }, + "balker.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "bandal.ttf" : { + "installed_by" : [ + "fonts-alee" + ] + }, + "bandless.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bandmess.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bandwdth.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bangwool.ttf" : { + "installed_by" : [ + "fonts-alee" + ] + }, + "baskervaldadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "baskervaldadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "baskervaldadfstd-heavy.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "baskervaldadfstd-heavyitalic.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "baskervaldadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "baskervaldadfstd.otf" : { + "installed_by" : [ + "fonts-adf-baskervald" + ] + }, + "batang.ttf" : { + "installed_by" : [ + "fonts-baekmuk" + ] + }, + "bebasneue-bold.otf" : { + "installed_by" : [ + "fonts-bebas-neue" + ] + }, + "bebasneue-book.otf" : { + "installed_by" : [ + "fonts-bebas-neue" + ] + }, + "bebasneue-light.otf" : { + "installed_by" : [ + "fonts-bebas-neue" + ] + }, + "bebasneue-regular.otf" : { + "installed_by" : [ + "fonts-bebas-neue" + ] + }, + "bebasneue-thin.otf" : { + "installed_by" : [ + "fonts-bebas-neue" + ] + }, + "becausewebuild-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "becauseweconnect-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "becausewecreate-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "becausewelearn-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "becausewementor-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "becauseweorganize-regular.otf" : { + "installed_by" : [ + "fonts-bwht" + ] + }, + "bendable.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "berenika-bold.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "berenika-boldoblique.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "berenika-oblique.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "berenika.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "berenisadfpro-bold.otf" : { + "installed_by" : [ + "fonts-adf-berenis" + ] + }, + "berenisadfpro-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-berenis" + ] + }, + "berenisadfpro-italic.otf" : { + "installed_by" : [ + "fonts-adf-berenis" + ] + }, + "berenisadfpro-regular.otf" : { + "installed_by" : [ + "fonts-adf-berenis" + ] + }, + "berenisadfpromath-regular.otf" : { + "installed_by" : [ + "fonts-adf-berenis" + ] + }, + "beteckna.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "betecknags-bold.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "betecknags-italic.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "betecknags.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "betecknagscondensed-bold.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "betecknagscondensed-italic.ttf" : { + "installed_by" : [ + "fonts-beteckna" + ] + }, + "bewilder.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bewildet.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bin01st.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "binaryt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "binaryx.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "binchrt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "binx01s.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "binxchr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bitbttf.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bkai00mp.ttf" : { + "installed_by" : [ + "fonts-arphic-bkai00mp" + ] + }, + "bknuckss.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bknuckst.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "blackoni.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "blankenburg_unz1a.ttf" : { + "installed_by" : [ + "fonts-blankenburg" + ] + }, + "bleakseg.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bloktilt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "blonibld.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "blonirex.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "blox2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bmdohyeon_ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmeuljirottf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmhanna_11yrs_ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmhannaair_ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmhannapro.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmjua_ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmkiranghaerang-ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bmyeonsung_ttf.ttf" : { + "installed_by" : [ + "fonts-woowa-bm" + ] + }, + "bobcayge.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bobcaygr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bocuma.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bocumaad.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bocumaba.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bocumade.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bocumang.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "booku___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "bookub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "bookui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "bpg_algeti_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_chveulebrivi_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_courier_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_courier_s_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_dedeena_block_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_dejavu_sans_2011_gpl-gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_elite_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_excelsior_caps_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_excelsior_condenced_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_excelsior_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_glaho_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_glaho_gpl&gnu_2011.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_gorda_gnu-gpl.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_ingiri_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_mrgvlovani_caps_gnu&gpl.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_mrgvlovani_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_nateli_caps_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_nateli_condenced_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_nateli_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_nino_medium_cond_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_nino_medium_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_sans_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_sans_medium_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_sans_modern_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_sans_regular_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_serif_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "bpg_serif_modern_gpl&gnu.ttf" : { + "installed_by" : [ + "fonts-bpg-georgian" + ] + }, + "brassknu.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "breip.ttf" : { + "installed_by" : [ + "fonts-breip" + ] + }, + "breipfont.ttf" : { + "installed_by" : [ + "fonts-breip" + ] + }, + "brigadom.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "brigadow.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "bsmi00lp.ttf" : { + "installed_by" : [ + "fonts-arphic-bsmi00lp" + ] + }, + "bumped.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "busra-b.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "busra-bi.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "busra-i.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "busra-r.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "c0419bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0582bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0583bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c059-bdita.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "c059-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "c059-italic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "c059-roman.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "c059013d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "c059016d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "c059033d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "c059036d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "c0611bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0632bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0633bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0648bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "c0649bt_.pfb" : { + "installed_by" : [ + "xfonts-scalable" + ] + }, + "cabin-bold.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-bolditalic.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-italic.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-medium.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-mediumitalic.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-regular.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-semibold.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabin-semibolditalic.otf" : { + "installed_by" : [ + "fonts-cabin" + ] + }, + "cabinsketch-bold.ttf" : { + "installed_by" : [ + "fonts-cabinsketch" + ] + }, + "cabinsketch-regular.ttf" : { + "installed_by" : [ + "fonts-cabinsketch" + ] + }, + "caladea-bold.ttf" : { + "installed_by" : [ + "fonts-crosextra-caladea" + ] + }, + "caladea-bolditalic.ttf" : { + "installed_by" : [ + "fonts-crosextra-caladea" + ] + }, + "caladea-italic.ttf" : { + "installed_by" : [ + "fonts-crosextra-caladea" + ] + }, + "caladea-regular.ttf" : { + "installed_by" : [ + "fonts-crosextra-caladea" + ] + }, + "caliban.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "campania.otf" : { + "installed_by" : [ + "fonts-campania" + ] + }, + "campania.ttf" : { + "installed_by" : [ + "fonts-campania" + ] + }, + "candystr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "cantarell-bold.otf" : { + "installed_by" : [ + "fonts-cantarell" + ] + }, + "cantarell-extrabold.otf" : { + "installed_by" : [ + "fonts-cantarell" + ] + }, + "cantarell-light.otf" : { + "installed_by" : [ + "fonts-cantarell" + ] + }, + "cantarell-regular.otf" : { + "installed_by" : [ + "fonts-cantarell" + ] + }, + "cantarell-thin.otf" : { + "installed_by" : [ + "fonts-cantarell" + ] + }, + "cardo104s.ttf" : { + "installed_by" : [ + "fonts-cardo" + ] + }, + "cardob101.ttf" : { + "installed_by" : [ + "fonts-cardo" + ] + }, + "cardoi99.ttf" : { + "installed_by" : [ + "fonts-cardo" + ] + }, + "carlito-bold.ttf" : { + "installed_by" : [ + "fonts-crosextra-carlito" + ] + }, + "carlito-bolditalic.ttf" : { + "installed_by" : [ + "fonts-crosextra-carlito" + ] + }, + "carlito-italic.ttf" : { + "installed_by" : [ + "fonts-crosextra-carlito" + ] + }, + "carlito-regular.ttf" : { + "installed_by" : [ + "fonts-crosextra-carlito" + ] + }, + "cascadiacode.ttf" : { + "installed_by" : [ + "fonts-cascadia-code" + ] + }, + "cascadiacodepl.ttf" : { + "installed_by" : [ + "fonts-cascadia-code" + ] + }, + "cascadiamono.ttf" : { + "installed_by" : [ + "fonts-cascadia-code" + ] + }, + "cascadiamonopl.ttf" : { + "installed_by" : [ + "fonts-cascadia-code" + ] + }, + "caslon-black.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "caslonbold.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "caslonitalic.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "caslonroman.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "ccaps.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ccapshad.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "century-catalogue.ttf" : { + "installed_by" : [ + "fonts-century-catalogue" + ] + }, + "chandas1-2.ttf" : { + "installed_by" : [ + "fonts-deva-extra" + ] + }, + "chanui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "charissil-b.ttf" : { + "installed_by" : [ + "fonts-sil-charis" + ] + }, + "charissil-bi.ttf" : { + "installed_by" : [ + "fonts-sil-charis" + ] + }, + "charissil-i.ttf" : { + "installed_by" : [ + "fonts-sil-charis" + ] + }, + "charissil-r.ttf" : { + "installed_by" : [ + "fonts-sil-charis" + ] + }, + "charissilcompact-b.ttf" : { + "installed_by" : [ + "fonts-sil-charis-compact" + ] + }, + "charissilcompact-bi.ttf" : { + "installed_by" : [ + "fonts-sil-charis-compact" + ] + }, + "charissilcompact-i.ttf" : { + "installed_by" : [ + "fonts-sil-charis-compact" + ] + }, + "charissilcompact-r.ttf" : { + "installed_by" : [ + "fonts-sil-charis-compact" + ] + }, + "chemrea.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "chemreb.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "cherrybomb-regular.otf" : { + "installed_by" : [ + "fonts-cherrybomb" + ] + }, + "chilanka-regular.otf" : { + "installed_by" : [ + "fonts-smc-chilanka" + ] + }, + "chintzy.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "chintzys.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "chumbly.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "circossymbols.otf" : { + "installed_by" : [ + "fonts-circos-symbols" + ] + }, + "circulat.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "clasict1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "clasict2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "claw1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "claw2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "clearsans-bold.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-bolditalic.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-italic.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-light.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-medium.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-regular.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "clearsans-thin.ttf" : { + "installed_by" : [ + "fonts-clear-sans" + ] + }, + "cleavttr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "cmex10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "cmmi10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "cmr10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "cmsy10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "cmunbbx.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbi.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbl.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbmo.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbmr.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbso.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbsr.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbtl.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbto.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbx.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunbxo.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunci.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunit.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunobi.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunobx.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunorm.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunoti.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunrb.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunrm.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunsi.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunsl.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunso.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunss.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunssdc.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunst.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunsx.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmuntb.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunti.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmuntt.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmuntx.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunui.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunvi.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "cmunvt.ttf" : { + "installed_by" : [ + "fonts-cmu" + ] + }, + "codelife.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "collecro.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "collecrs.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "collecto.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "collects.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "combusii.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "combuspl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "combusti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "combustt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "combustw.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "comfortaa-bold.ttf" : { + "installed_by" : [ + "fonts-comfortaa" + ] + }, + "comfortaa-light.ttf" : { + "installed_by" : [ + "fonts-comfortaa" + ] + }, + "comfortaa-regular.ttf" : { + "installed_by" : [ + "fonts-comfortaa" + ] + }, + "comicneue-bold.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "comicneue-bolditalic.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "comicneue-italic.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "comicneue-light.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "comicneue-lightitalic.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "comicneue-regular.otf" : { + "installed_by" : [ + "fonts-comic-neue" + ] + }, + "compagnon-bold.otf" : { + "installed_by" : [ + "fonts-compagnon" + ] + }, + "compagnon-italic.otf" : { + "installed_by" : [ + "fonts-compagnon" + ] + }, + "compagnon-light.otf" : { + "installed_by" : [ + "fonts-compagnon" + ] + }, + "compagnon-medium.otf" : { + "installed_by" : [ + "fonts-compagnon" + ] + }, + "compagnon-roman.otf" : { + "installed_by" : [ + "fonts-compagnon" + ] + }, + "compc1o.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "compc1s.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "compc2o.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "compc2s.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "compc3o.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "compc3s.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "conakry.ttf" : { + "installed_by" : [ + "fonts-evertype-conakry" + ] + }, + "condui2i.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "conduit.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "conduit2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "cousine-bold.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "cousine-bolditalic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "cousine-italic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "cousine-regular.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "crackdr2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "cretan_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "crkdownr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "crkdwno1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "crkdwno2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "crystal.ttf" : { + "installed_by" : [ + "fonts-povray" + ] + }, + "cupola.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "cwfs.ttf" : { + "installed_by" : [ + "fonts-cwtex-fs" + ] + }, + "cwheib.ttf" : { + "installed_by" : [ + "fonts-cwtex-heib" + ] + }, + "cwkai.ttf" : { + "installed_by" : [ + "fonts-cwtex-kai" + ] + }, + "cwming.ttf" : { + "installed_by" : [ + "fonts-cwtex-ming" + ] + }, + "cwyen.ttf" : { + "installed_by" : [ + "fonts-cwtex-yen" + ] + }, + "cyprominoan_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "cyrvetic.ttf" : { + "installed_by" : [ + "fonts-povray" + ] + }, + "d050000l.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "damase.ttf" : { + "installed_by" : [ + "fonts-mph-2b-damase" + ] + }, + "dancingscript-bold.otf" : { + "installed_by" : [ + "fonts-dancingscript" + ] + }, + "dancingscript-regular.otf" : { + "installed_by" : [ + "fonts-dancingscript" + ] + }, + "daniel.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "daniel.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "darkside.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dashdot.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dastardl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dblayer1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dblayer2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dblayer3.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dblayer4.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dblbogey.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dbsilbb.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsilbc.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsilbo.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsilbr.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsillb.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsillc.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsillo.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dbsillr.ttf" : { + "installed_by" : [ + "fonts-sil-dai-banna" + ] + }, + "dclmarker-black.ttf" : { + "installed_by" : [ + "fonts-dclfonts" + ] + }, + "dclmarker-bold.ttf" : { + "installed_by" : [ + "fonts-dclfonts" + ] + }, + "dclmarker-light.ttf" : { + "installed_by" : [ + "fonts-dclfonts" + ] + }, + "dclmarker-regular.ttf" : { + "installed_by" : [ + "fonts-dclfonts" + ] + }, + "ddc_uchen.ttf" : { + "installed_by" : [ + "fonts-ddc-uchen" + ] + }, + "decrepit.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dejavumathtexgyre.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusans-bold.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavusans-boldoblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusans-extralight.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusans-oblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusans.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavusanscondensed-bold.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusanscondensed-boldoblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusanscondensed-oblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusanscondensed.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusansmono-bold.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavusansmono-boldoblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusansmono-oblique.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavusansmono.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavuserif-bold.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavuserif-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavuserif-italic.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavuserif.ttf" : { + "installed_by" : [ + "fonts-dejavu-core" + ] + }, + "dejavuserifcondensed-bold.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavuserifcondensed-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavuserifcondensed-italic.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejavuserifcondensed.ttf" : { + "installed_by" : [ + "fonts-dejavu-extra" + ] + }, + "dejima-mincho-r227.ttf" : { + "installed_by" : [ + "fonts-dejima-mincho" + ] + }, + "delphine.ttf" : { + "installed_by" : [ + "fonts-sjfonts" + ] + }, + "denemo.ttf" : { + "installed_by" : [ + "fonts-denemo", + "ttf-denemo" + ] + }, + "dented.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dephun2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "detonate.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dhurjati.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "discorda.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dkg.ttf" : { + "installed_by" : [ + "fonts-dkg-handwriting" + ] + }, + "dkgbd.ttf" : { + "installed_by" : [ + "fonts-dkg-handwriting" + ] + }, + "dkgbi.ttf" : { + "installed_by" : [ + "fonts-dkg-handwriting" + ] + }, + "dkgit.ttf" : { + "installed_by" : [ + "fonts-dkg-handwriting" + ] + }, + "domestic_manners.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dosis-bold.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-book.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-extrabold.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-extralight.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-light.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-medium.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dosis-semibold.otf" : { + "installed_by" : [ + "fonts-dosis" + ] + }, + "dotgothic16-regular.ttf" : { + "installed_by" : [ + "fonts-dotgothic16" + ] + }, + "dotum.ttf" : { + "installed_by" : [ + "fonts-baekmuk" + ] + }, + "doulossil-r.ttf" : { + "installed_by" : [ + "fonts-sil-doulos" + ] + }, + "doulossilcompact-r.ttf" : { + "installed_by" : [ + "fonts-sil-doulos-compact" + ] + }, + "draggle.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "draggleo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "droidsansfallback.ttf" : { + "installed_by" : [ + "fonts-droid-fallback" + ] + }, + "droidsansfallbackfull.ttf" : { + "installed_by" : [ + "fonts-droid-fallback" + ] + }, + "dseg14classic-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classic-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classic-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classic-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classic-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classic-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14classicmini-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modern-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg14modernmini-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classic-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7classicmini-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modern-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-bold.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-bolditalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-italic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-light.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-lightitalic.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7modernmini-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7seggchan-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dseg7seggchanmini-regular.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dsegweather.ttf" : { + "installed_by" : [ + "fonts-dseg" + ] + }, + "dsrom10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "dustismo.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_bold.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_bold_italic.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_italic.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_roman.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_roman_bold.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_roman_italic.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dustismo_roman_italic_bold.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "dynamic.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dyphusio.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dystorqu.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "dyuthi-regular.ttf" : { + "installed_by" : [ + "fonts-smc-dyuthi" + ] + }, + "ebgaramond-initials.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond-initials.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond-initialsf1.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond-initialsf1.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond-initialsf2.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond-initialsf2.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond08-italic.otf" : { + "installed_by" : [ + "fonts-ebgaramond" + ] + }, + "ebgaramond08-italic.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond08-regular.otf" : { + "installed_by" : [ + "fonts-ebgaramond" + ] + }, + "ebgaramond08-regular.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond12-allsc.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond12-allsc.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond12-bold.otf" : { + "installed_by" : [ + "fonts-ebgaramond" + ] + }, + "ebgaramond12-bold.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond12-italic.otf" : { + "installed_by" : [ + "fonts-ebgaramond" + ] + }, + "ebgaramond12-italic.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramond12-regular.otf" : { + "installed_by" : [ + "fonts-ebgaramond" + ] + }, + "ebgaramond12-regular.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramondsc08-regular.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramondsc08-regular.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramondsc12-regular.otf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ebgaramondsc12-regular.ttf" : { + "installed_by" : [ + "fonts-ebgaramond-extra" + ] + }, + "ecliptic.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "eco.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "eco.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "ecolier-court.ttf" : { + "installed_by" : [ + "fonts-ecolier-court" + ] + }, + "ecolier-lignes-court.ttf" : { + "installed_by" : [ + "fonts-ecolier-lignes-court" + ] + }, + "editundo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "edundot.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "edunline.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "eeyek.ttf" : { + "installed_by" : [ + "fonts-eeyek" + ] + }, + "el_abogado_loco.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "elegbold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "elegital.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "elleboli.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ellenbold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ellenike.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ellenita.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "elsewhe2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "elsewher.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "elstob-10pt.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptbold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptbolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptmedium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptmediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptsemibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-10ptsemibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14pt.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptbold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptbolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptmedium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptmediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptsemibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-14ptsemibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18pt.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptbold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptbolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptextrabold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptextrabolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptmedium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptmediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptsemibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-18ptsemibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6pt.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptbold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptbolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptmedium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptmediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptsemibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-6ptsemibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8pt.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptbold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptbolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptmedium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptmediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptsemibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-8ptsemibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-bold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-bolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-extrabold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-extralight.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-extralightitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-grade.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-gradeitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-italic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-light.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-lightitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-medium.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-mediumitalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-regular.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-semibold.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elstob-semibolditalic.otf" : { + "installed_by" : [ + "fonts-elstob" + ] + }, + "elusiveicons-webfont.ttf" : { + "installed_by" : [ + "fonts-elusive-icons", + "fonts-elusive-icons" + ] + }, + "embosst1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "embosst2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "embosst3.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "emerita_latina.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "emmentaler.ttf" : { + "installed_by" : [ + "fonts-denemo", + "ttf-denemo" + ] + }, + "encappln.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "encapsul.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "engadget.ttf" : { + "installed_by" : [ + "fonts-engadget" + ] + }, + "entangle.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "enthuse.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "enthuses.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "entlayra.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "entlayrb.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "entplain.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "entypo.ttf" : { + "installed_by" : [ + "fonts-entypo" + ] + }, + "esint10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "essays1743-bold.ttf" : { + "installed_by" : [ + "fonts-essays1743" + ] + }, + "essays1743-bolditalic.ttf" : { + "installed_by" : [ + "fonts-essays1743" + ] + }, + "essays1743-italic.ttf" : { + "installed_by" : [ + "fonts-essays1743" + ] + }, + "essays1743.ttf" : { + "installed_by" : [ + "fonts-essays1743" + ] + }, + "eufm10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "eunjin.ttf" : { + "installed_by" : [ + "fonts-alee" + ] + }, + "eunjinnakseo.ttf" : { + "installed_by" : [ + "fonts-alee" + ] + }, + "euphor3d.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "euphoric.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "eurof35.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurof36.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurof55.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurof56.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurof75.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurof76.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc35.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc36.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc55.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc56.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc75.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "eurofc76.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "euterpe.ttf" : { + "installed_by" : [ + "fonts-oflb-euterpe" + ] + }, + "exagger8.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "extracti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "f500.ttf" : { + "installed_by" : [ + "fonts-f500" + ] + }, + "falsepos.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "falsposr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fantasquesansmono-bold.otf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-bold.ttf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-bolditalic.otf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-bolditalic.ttf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-italic.otf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-italic.ttf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-regular.otf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantasquesansmono-regular.ttf" : { + "installed_by" : [ + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans", + "fonts-fantasque-sans" + ] + }, + "fantuwua.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "fanwood-italic.otf" : { + "installed_by" : [ + "fonts-fanwood" + ] + }, + "fanwood.otf" : { + "installed_by" : [ + "fonts-fanwood" + ] + }, + "fanwoodtext-italic.otf" : { + "installed_by" : [ + "fonts-fanwood" + ] + }, + "fanwoodtext.otf" : { + "installed_by" : [ + "fonts-fanwood" + ] + }, + "fascii.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fasciicr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fasciisc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fasciism.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fasciitw.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fauxsnow.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fbsbltc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fbsbltc2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "femkeklaver.ttf" : { + "installed_by" : [ + "fonts-femkeklaver" + ] + }, + "feta.ttf" : { + "installed_by" : [ + "fonts-denemo", + "ttf-denemo" + ] + }, + "fetteclassicunzfraktur.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "fidgety.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "firacode-bold.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "firacode-light.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "firacode-medium.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "firacode-regular.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "firacode-retina.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "firacode-semibold.ttf" : { + "installed_by" : [ + "fonts-firacode" + ] + }, + "flatline.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "flipside.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fontawesome-webfont.ttf" : { + "installed_by" : [ + "fonts-font-awesome", + "fonts-font-awesome" + ] + }, + "fontawesome.otf" : { + "installed_by" : [ + "fonts-font-awesome", + "fonts-font-awesome" + ] + }, + "fonts-sambhota-tsugring.otf" : { + "installed_by" : [ + "fonts-sambhota-tsugring" + ] + }, + "forcible.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "forkawesome-webfont.ttf" : { + "installed_by" : [ + "fonts-fork-awesome", + "fonts-fork-awesome" + ] + }, + "foulisgreek.ttf" : { + "installed_by" : [ + "fonts-junicode" + ] + }, + "freaktur.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "freefarsi-bold.ttf" : { + "installed_by" : [ + "fonts-freefarsi" + ] + }, + "freefarsi-bolditalic.ttf" : { + "installed_by" : [ + "fonts-freefarsi" + ] + }, + "freefarsi-italic.ttf" : { + "installed_by" : [ + "fonts-freefarsi" + ] + }, + "freefarsi-mono.ttf" : { + "installed_by" : [ + "fonts-freefarsi" + ] + }, + "freefarsi.ttf" : { + "installed_by" : [ + "fonts-freefarsi" + ] + }, + "freemono.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freemono.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freemonobold.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freemonobold.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freemonoboldoblique.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freemonoboldoblique.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freemonooblique.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freemonooblique.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freesans.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freesans.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freesansbold.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freesansbold.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freesansboldoblique.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freesansboldoblique.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freesansoblique.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freesansoblique.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freeserif.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freeserif.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freeserifbold.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freeserifbold.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freeserifbolditalic.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freeserifbolditalic.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "freeserifitalic.otf" : { + "installed_by" : [ + "fonts-freefont-otf" + ] + }, + "freeserifitalic.ttf" : { + "installed_by" : [ + "fonts-freefont-ttf" + ] + }, + "frizzed.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fullcomp.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "fust&schoeffer-durandus-goticoantiqua118g.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "futharkadapted.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "galapogo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "galsilb.ttf" : { + "installed_by" : [ + "fonts-sil-galatia" + ] + }, + "galsilr.ttf" : { + "installed_by" : [ + "fonts-sil-galatia" + ] + }, + "galvaniz.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gamaliel.ttf" : { + "installed_by" : [ + "fonts-gamaliel" + ] + }, + "gaposiso.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gaposiss.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gardiner_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "gargi.ttf" : { + "installed_by" : [ + "fonts-gargi" + ] + }, + "garuda-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-garuda-otf" + ] + }, + "garuda-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-garuda-ttf" + ] + }, + "garuda-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-garuda-otf" + ] + }, + "garuda-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-garuda-ttf" + ] + }, + "garuda-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-garuda-otf" + ] + }, + "garuda-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-garuda-ttf" + ] + }, + "garuda.otf" : { + "installed_by" : [ + "fonts-tlwg-garuda-otf" + ] + }, + "garuda.ttf" : { + "installed_by" : [ + "fonts-tlwg-garuda-ttf" + ] + }, + "gasping.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gather.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gathrgap.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gayathri-bold.otf" : { + "installed_by" : [ + "fonts-smc-gayathri" + ] + }, + "gayathri-regular.otf" : { + "installed_by" : [ + "fonts-smc-gayathri" + ] + }, + "gayathri-thin.otf" : { + "installed_by" : [ + "fonts-smc-gayathri" + ] + }, + "gbsn00lp.ttf" : { + "installed_by" : [ + "fonts-arphic-gbsn00lp" + ] + }, + "gemunulibre-bold.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-extrabold.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-extralight.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-light.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-medium.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-regular.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "gemunulibre-semibold.otf" : { + "installed_by" : [ + "fonts-gemunu-libre" + ] + }, + "genbasb.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbasbi.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbasi.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbasr.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbkbasb.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbkbasbi.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbkbasi.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genbkbasr.ttf" : { + "installed_by" : [ + "fonts-sil-gentium-basic" + ] + }, + "genotyph.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "genotyps.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "genotyrh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "genotyrs.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gentium-i.ttf" : { + "installed_by" : [ + "fonts-sil-gentium" + ] + }, + "gentium-r.ttf" : { + "installed_by" : [ + "fonts-sil-gentium" + ] + }, + "gentiumalt-i.ttf" : { + "installed_by" : [ + "fonts-sil-gentium" + ] + }, + "gentiumalt-r.ttf" : { + "installed_by" : [ + "fonts-sil-gentium" + ] + }, + "gentiumplus-i.ttf" : { + "installed_by" : [ + "fonts-sil-gentiumplus" + ] + }, + "gentiumplus-r.ttf" : { + "installed_by" : [ + "fonts-sil-gentiumplus" + ] + }, + "gentiumpluscompact-i.ttf" : { + "installed_by" : [ + "fonts-sil-gentiumplus-compact" + ] + }, + "gentiumpluscompact-r.ttf" : { + "installed_by" : [ + "fonts-sil-gentiumplus-compact" + ] + }, + "gesture.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gestures.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gesturet.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gesturts.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gfsartemisia.otf" : { + "installed_by" : [ + "fonts-gfs-artemisia" + ] + }, + "gfsartemisiabold.otf" : { + "installed_by" : [ + "fonts-gfs-artemisia" + ] + }, + "gfsartemisiaboldit.otf" : { + "installed_by" : [ + "fonts-gfs-artemisia" + ] + }, + "gfsartemisiait.otf" : { + "installed_by" : [ + "fonts-gfs-artemisia" + ] + }, + "gfsbaskerville.otf" : { + "installed_by" : [ + "fonts-gfs-baskerville" + ] + }, + "gfsbodoniclassic.otf" : { + "installed_by" : [ + "fonts-gfs-bodoni-classic" + ] + }, + "gfsdidot.otf" : { + "installed_by" : [ + "fonts-gfs-didot" + ] + }, + "gfsdidotbold.otf" : { + "installed_by" : [ + "fonts-gfs-didot" + ] + }, + "gfsdidotbolditalic.otf" : { + "installed_by" : [ + "fonts-gfs-didot" + ] + }, + "gfsdidotclassic.otf" : { + "installed_by" : [ + "fonts-gfs-didot-classic" + ] + }, + "gfsdidotitalic.otf" : { + "installed_by" : [ + "fonts-gfs-didot" + ] + }, + "gfsgazis.otf" : { + "installed_by" : [ + "fonts-gfs-gazis" + ] + }, + "gfsneohellenic.otf" : { + "installed_by" : [ + "fonts-gfs-neohellenic" + ] + }, + "gfsneohellenicbold.otf" : { + "installed_by" : [ + "fonts-gfs-neohellenic" + ] + }, + "gfsneohellenicboldit.otf" : { + "installed_by" : [ + "fonts-gfs-neohellenic" + ] + }, + "gfsneohellenicit.otf" : { + "installed_by" : [ + "fonts-gfs-neohellenic" + ] + }, + "gfsolga.otf" : { + "installed_by" : [ + "fonts-gfs-olga" + ] + }, + "gfspolyglot.otf" : { + "installed_by" : [ + "fonts-gfs-complutum" + ] + }, + "gfsporson.otf" : { + "installed_by" : [ + "fonts-gfs-porson" + ] + }, + "gfssolomos.otf" : { + "installed_by" : [ + "fonts-gfs-solomos" + ] + }, + "gfstheokritos.otf" : { + "installed_by" : [ + "fonts-gfs-theokritos" + ] + }, + "gidugu.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "gilliusadf-bold.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-boldcond.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-boldconditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-cond.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-conditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-italic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadf-regular.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-bold.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-boldcond.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-boldconditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-cond.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-conditalic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-italic.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gilliusadfno2-regular.otf" : { + "installed_by" : [ + "fonts-adf-gillius" + ] + }, + "gkai00mp.ttf" : { + "installed_by" : [ + "fonts-arphic-gkai00mp" + ] + }, + "glass_tty_vt220.ttf" : { + "installed_by" : [ + "fonts-glasstty" + ] + }, + "glyphicons-halflings-regular.ttf" : { + "installed_by" : [ + "fonts-glyphicons-halflings", + "fonts-glyphicons-halflings" + ] + }, + "gnutypewriter.ttf" : { + "installed_by" : [ + "fonts-gnutypewriter" + ] + }, + "go-bold-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-bold.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-medium-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-medium.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-mono-bold-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-mono-bold.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-mono-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-mono.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-regular.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-smallcaps-italic.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "go-smallcaps.ttf" : { + "installed_by" : [ + "fonts-go" + ] + }, + "goffer.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "gosebmp2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gosebmps.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gothu___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "gothub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "goudybookletter1911.otf" : { + "installed_by" : [ + "fonts-goudybookletter" + ] + }, + "gr8higts.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "granular.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "grapple.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "graveyrd.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "graviseg.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gravitat.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "graze.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "greatvibes-regular.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "grotesq.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "grudge.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "grudge2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gubbi.ttf" : { + "installed_by" : [ + "fonts-gubbi" + ] + }, + "gulim.ttf" : { + "installed_by" : [ + "fonts-baekmuk" + ] + }, + "gurajada.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "guseul.ttf" : { + "installed_by" : [ + "fonts-alee" + ] + }, + "gwmonospace.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "gwmonospacebold.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "gwmonospaceoblique.ttf" : { + "installed_by" : [ + "fonts-georgewilliams" + ] + }, + "gyneric.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gyneric3.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gyroresh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gyrose.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "gyrosesq.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hack-bold.ttf" : { + "installed_by" : [ + "fonts-hack" + ] + }, + "hack-bolditalic.ttf" : { + "installed_by" : [ + "fonts-hack" + ] + }, + "hack-italic.ttf" : { + "installed_by" : [ + "fonts-hack" + ] + }, + "hack-regular.ttf" : { + "installed_by" : [ + "fonts-hack" + ] + }, + "hackslsh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hairball.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hamlet-cicero12.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "hamlet-tertia18.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "hanamina.ttf" : { + "installed_by" : [ + "fonts-hanazono" + ] + }, + "hanaminb.ttf" : { + "installed_by" : [ + "fonts-hanazono" + ] + }, + "handmedo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "handmeds.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "harmattan-bold.ttf" : { + "installed_by" : [ + "fonts-sil-harmattan" + ] + }, + "harmattan-regular.ttf" : { + "installed_by" : [ + "fonts-sil-harmattan" + ] + }, + "harsinai.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "harsinai.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "hassle.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "havana-regular.otf" : { + "installed_by" : [ + "fonts-havana" + ] + }, + "hbevel.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hdmaker.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hearts.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hermit-bold.otf" : { + "installed_by" : [ + "fonts-hermit" + ] + }, + "hermit-light.otf" : { + "installed_by" : [ + "fonts-hermit" + ] + }, + "hermit-medium.otf" : { + "installed_by" : [ + "fonts-hermit" + ] + }, + "hidekel.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "hidekel.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "hillock.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hiwua.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "hline.ttf" : { + "installed_by" : [ + "fonts-baekmuk" + ] + }, + "homa.ttf" : { + "installed_by" : [ + "fonts-farsiweb" + ] + }, + "homespun.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "humor-sans.ttf" : { + "installed_by" : [ + "fonts-humor-sans" + ] + }, + "hyde.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "hyperion.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ikariusadfno2std-bold.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfno2std-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfno2std-italic.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfno2std-regular.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ikariusadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-ikarius" + ] + }, + "ilits.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "imfepirm29p.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "imposs.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "inconsolata.otf" : { + "installed_by" : [ + "fonts-inconsolata" + ] + }, + "induni-c-bold.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-c-boldoblique.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-c-oblique.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-c-regular.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-h-bold.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-h-boldoblique.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-h-oblique.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-h-regular.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-n-bold.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-n-bolditalic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-n-italic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-n-roman.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-p-bold.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-p-bolditalic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-p-italic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-p-roman.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-t-bold.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-t-bolditalic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-t-italic.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "induni-t-roman.otf" : { + "installed_by" : [ + "fonts-johnsmith-induni" + ] + }, + "inertia.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "inevitab.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "inkswipe.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "inktank.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "inter-black.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-blackitalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-bold.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-bolditalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-extrabold.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-extralight.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-extralightitalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-italic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-light.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-lightitalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-medium.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-mediumitalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-regular.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-semibold.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-semibolditalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-thin.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-thinitalic.otf" : { + "installed_by" : [ + "fonts-inter" + ] + }, + "inter-vf.ttf" : { + "installed_by" : [ + "fonts-inter-variable" + ] + }, + "intersc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "intersec.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "interso.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ipabold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ipabolit.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ipaexg.ttf" : { + "installed_by" : [ + "fonts-ipaexfont-gothic" + ] + }, + "ipaexm.ttf" : { + "installed_by" : [ + "fonts-ipaexfont-mincho" + ] + }, + "ipag.ttf" : { + "installed_by" : [ + "fonts-ipafont-gothic" + ] + }, + "ipagp.ttf" : { + "installed_by" : [ + "fonts-ipafont-gothic" + ] + }, + "ipaitali.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "ipam.ttf" : { + "installed_by" : [ + "fonts-ipafont-mincho" + ] + }, + "ipamjm.ttf" : { + "installed_by" : [ + "fonts-ipamj-mincho" + ] + }, + "ipamp.ttf" : { + "installed_by" : [ + "fonts-ipafont-mincho" + ] + }, + "iparegul.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "irianisadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstylestd-bold.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstylestd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstylestd-italic.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irianisadfstylestd-regular.otf" : { + "installed_by" : [ + "fonts-adf-irianis" + ] + }, + "irritate.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "isabella.ttf" : { + "installed_by" : [ + "fonts-isabella" + ] + }, + "it_wasn_t_me.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "jagged.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jamrulnormal.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "janken.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jara.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "jara_bold-it.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "jara_bold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "jara_it.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "jargon.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jasper.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jaspers.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jawbhard.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jawbreak.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jawbrko1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jawbrko2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jekyll.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jeopardi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jeopardt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jessen-cicero12.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "jessen-mittel14.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "jetbrainsmono-bold.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-bolditalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-extrabold.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-extralight.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-extralightitalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-italic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-light.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-lightitalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-medium.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-regular.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-semibold.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-thin.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jetbrainsmono-thinitalic.ttf" : { + "installed_by" : [ + "fonts-jetbrains-mono" + ] + }, + "jiret.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "jmacscrl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "joltcaff.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jomolhari-alpha3c-0605331.ttf" : { + "installed_by" : [ + "fonts-dzongkha" + ] + }, + "joscelyn-regular.otf" : { + "installed_by" : [ + "fonts-joscelyn" + ] + }, + "josef.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "josef.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "jsmath-bbold10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmbsy10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmbx10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmex10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmmi10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmmib10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmr10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmss10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmsy10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-cmti10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eufb10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eufm10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eurb10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eurm10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eusb10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-eusm10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-lasy10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-lasyb10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-msam10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-msbm10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-rsfs10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-stmary10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-wasy10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "jsmath-wasyb10.ttf" : { + "installed_by" : [ + "fonts-jsmath" + ] + }, + "junction.otf" : { + "installed_by" : [ + "fonts-junction" + ] + }, + "junicode-bold.ttf" : { + "installed_by" : [ + "fonts-junicode" + ] + }, + "junicode-bolditalic.ttf" : { + "installed_by" : [ + "fonts-junicode" + ] + }, + "junicode-italic.ttf" : { + "installed_by" : [ + "fonts-junicode" + ] + }, + "junicode.ttf" : { + "installed_by" : [ + "fonts-junicode" + ] + }, + "junkyard.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "jupiterc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "jura-bold.otf" : { + "installed_by" : [ + "fonts-jura" + ] + }, + "jura-light.otf" : { + "installed_by" : [ + "fonts-jura" + ] + }, + "jura-medium.otf" : { + "installed_by" : [ + "fonts-jura" + ] + }, + "jura-regular.otf" : { + "installed_by" : [ + "fonts-jura" + ] + }, + "jura-semibold.otf" : { + "installed_by" : [ + "fonts-jura" + ] + }, + "kacstart.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstbook.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstdecorative.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstdigital.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstfarsi.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstletter.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstnaskh.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstoffice.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstone-bold.ttf" : { + "installed_by" : [ + "fonts-kacst-one" + ] + }, + "kacstone.ttf" : { + "installed_by" : [ + "fonts-kacst-one" + ] + }, + "kacstpen.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstposter.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstqurn.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacstscreen.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacsttitle.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kacsttitlel.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "kalapi.ttf" : { + "installed_by" : [ + "fonts-kalapi" + ] + }, + "kaliberr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kalibers.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kaliberx.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kalimati.ttf" : { + "installed_by" : [ + "fonts-deva-extra" + ] + }, + "kanjistrokeorders_v4.003.ttf" : { + "installed_by" : [ + "fonts-kanjistrokeorders" + ] + }, + "kapl.ttf" : { + "installed_by" : [ + "xfonts-kapl" + ] + }, + "karla-bold.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-bolditalic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-extrabold.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-extralight.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-extralightitalic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-italic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-italic[wght].ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-light.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-lightitalic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-medium.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-mediumitalic.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla-regular.otf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karla[wght].ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karlatamilinclined-bold.ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karlatamilinclined-regular.ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karlatamilupright-bold.ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karlatamilupright-regular.ttf" : { + "installed_by" : [ + "fonts-karla" + ] + }, + "karmilla-bold.ttf" : { + "installed_by" : [ + "fonts-karmilla" + ] + }, + "karmilla-bolditalic.ttf" : { + "installed_by" : [ + "fonts-karmilla" + ] + }, + "karmilla-italic.ttf" : { + "installed_by" : [ + "fonts-karmilla" + ] + }, + "karmilla-regular.ttf" : { + "installed_by" : [ + "fonts-karmilla" + ] + }, + "karumbi-regular.ttf" : { + "installed_by" : [ + "fonts-smc-karumbi" + ] + }, + "kataacti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "katainac.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "katex_ams-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_caligraphic-bold.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_caligraphic-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_fraktur-bold.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_fraktur-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_main-bold.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_main-bolditalic.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_main-italic.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_main-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_math-bolditalic.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_math-italic.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_sansserif-bold.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_sansserif-italic.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_sansserif-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_script-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_size1-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_size2-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_size3-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_size4-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "katex_typewriter-regular.ttf" : { + "installed_by" : [ + "fonts-katex" + ] + }, + "kaushanscript-regular.otf" : { + "installed_by" : [ + "fonts-kaushanscript" + ] + }, + "keraleeyam-regular.ttf" : { + "installed_by" : [ + "fonts-smc-keraleeyam" + ] + }, + "keyrialt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "keyridge.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "khmeros.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosbattambang.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosbokor.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmeroscontent.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosfasthand.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosfreehand.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosmetalchrieng.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosmuol.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosmuollight.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerosmuolpali.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerossiemreap.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "khmerossys.ttf" : { + "installed_by" : [ + "fonts-khmeros" + ] + }, + "kickflip.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kiloji.ttf" : { + "installed_by" : [ + "fonts-kiloji" + ] + }, + "kiloji_b.ttf" : { + "installed_by" : [ + "fonts-kiloji" + ] + }, + "kiloji_d.ttf" : { + "installed_by" : [ + "fonts-kiloji" + ] + }, + "kiloji_p.ttf" : { + "installed_by" : [ + "fonts-kiloji" + ] + }, + "kimchi.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "kimchi.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "kinkaid.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kinnari-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kinnari-bolditalic.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari-bolditalic.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kinnari-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kinnari-italic.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari-italic.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kinnari-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kinnari.otf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-otf" + ] + }, + "kinnari.ttf" : { + "installed_by" : [ + "fonts-tlwg-kinnari-ttf" + ] + }, + "kirbyss.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "klaudia-bold.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "klaudia-boldoblique.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "klaudia-oblique.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "klaudia.ttf" : { + "installed_by" : [ + "fonts-klaudia-berenika" + ] + }, + "kleeone-regular.ttf" : { + "installed_by" : [ + "fonts-klee" + ] + }, + "kleeone-semibold.ttf" : { + "installed_by" : [ + "fonts-klee" + ] + }, + "klingon-piqad-hasta.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "knot.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "komatuna-p.ttf" : { + "installed_by" : [ + "fonts-komatuna" + ] + }, + "komatuna.ttf" : { + "installed_by" : [ + "fonts-komatuna" + ] + }, + "konatu.ttf" : { + "installed_by" : [ + "fonts-konatu" + ] + }, + "konatutohaba.ttf" : { + "installed_by" : [ + "fonts-konatu" + ] + }, + "konecto1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "konecto2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "konector.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "koneerie.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "kouzan-mouhitsu-gyosho.ttf" : { + "installed_by" : [ + "fonts-kouzan-mouhitsu" + ] + }, + "kouzan-mouhitsu.ttf" : { + "installed_by" : [ + "fonts-kouzan-mouhitsu" + ] + }, + "kouzanbrushfontsousyo.ttf" : { + "installed_by" : [ + "fonts-kouzan-mouhitsu" + ] + }, + "kristi.ttf" : { + "installed_by" : [ + "fonts-kristi" + ] + }, + "kurvatur.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lakeshor.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lakkireddy.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "laksaman-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-otf" + ] + }, + "laksaman-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-ttf" + ] + }, + "laksaman-bolditalic.otf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-otf" + ] + }, + "laksaman-bolditalic.ttf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-ttf" + ] + }, + "laksaman-italic.otf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-otf" + ] + }, + "laksaman-italic.ttf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-ttf" + ] + }, + "laksaman.otf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-otf" + ] + }, + "laksaman.ttf" : { + "installed_by" : [ + "fonts-tlwg-laksaman-ttf" + ] + }, + "lamebrai.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "larkspur.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lateefgr-regular.ttf" : { + "installed_by" : [ + "fonts-sil-lateef" + ] + }, + "latinmodern-math.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lato-black.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-blackitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-bold.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-bolditalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-hairline.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-hairlineitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-heavy.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-heavyitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-italic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-light.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-lightitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-medium.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-regular.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-semibold.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-thin.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "lato-thinitalic.ttf" : { + "installed_by" : [ + "fonts-lato" + ] + }, + "le-murmure.otf" : { + "installed_by" : [ + "fonts-le-murmure" + ] + }, + "leaguemono-bold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensed.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedbold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedextrabold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedlight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedmedium.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedsemibold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedthin.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-condensedultralight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedbold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedextrabold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedlight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedmedium.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedregular.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedsemibold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedthin.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extendedultralight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-extrabold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-light.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-medium.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowbold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowextrabold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowlight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowmedium.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowregular.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowsemibold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowthin.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-narrowultralight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-regular.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-semibold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-thin.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-ultralight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-widebold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-wideextrabold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-widelight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-widemedium.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-wideregular.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-widesemibold.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-widethin.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguemono-wideultralight.otf" : { + "installed_by" : [ + "fonts-league-mono" + ] + }, + "leaguespartan-black.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-bold.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-extrabold.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-extralight.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-light.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-medium.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-regular.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leaguespartan-semibold.otf" : { + "installed_by" : [ + "fonts-league-spartan" + ] + }, + "leckerlione-regular.otf" : { + "installed_by" : [ + "fonts-leckerli-one" + ] + }, + "lemonada-bold.otf" : { + "installed_by" : [ + "fonts-lemonada" + ] + }, + "lemonada-light.otf" : { + "installed_by" : [ + "fonts-lemonada" + ] + }, + "lemonada-regular.otf" : { + "installed_by" : [ + "fonts-lemonada" + ] + }, + "lemonada-semibold.otf" : { + "installed_by" : [ + "fonts-lemonada" + ] + }, + "lethargi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lexigulim.ttf" : { + "installed_by" : [ + "fonts-lexi-gulim" + ] + }, + "lexisaebomr.ttf" : { + "installed_by" : [ + "fonts-lexi-saebom" + ] + }, + "liberationmono-bold.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationmono-bolditalic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationmono-italic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationmono-regular.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationsans-bold.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationsans-bolditalic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationsans-italic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationsans-regular.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationsansnarrow-bold.ttf" : { + "installed_by" : [ + "fonts-liberation" + ] + }, + "liberationsansnarrow-bolditalic.ttf" : { + "installed_by" : [ + "fonts-liberation" + ] + }, + "liberationsansnarrow-italic.ttf" : { + "installed_by" : [ + "fonts-liberation" + ] + }, + "liberationsansnarrow-regular.ttf" : { + "installed_by" : [ + "fonts-liberation" + ] + }, + "liberationserif-bold.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationserif-bolditalic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationserif-italic.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "liberationserif-regular.ttf" : { + "installed_by" : [ + "fonts-liberation", + "fonts-liberation2" + ] + }, + "librisadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-libris" + ] + }, + "librisadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-libris" + ] + }, + "librisadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-libris" + ] + }, + "librisadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-libris" + ] + }, + "licostrg.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lightout.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "likhannormal.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "lilach.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "lilach.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "linbiolinum_k.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linbiolinum_r.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linbiolinum_rb.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linbiolinum_ri.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "lindenhill-italic.otf" : { + "installed_by" : [ + "fonts-lindenhill" + ] + }, + "lindenhill.otf" : { + "installed_by" : [ + "fonts-lindenhill" + ] + }, + "lineding.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "linlibertine_dr.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_i.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_m.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_r.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_rb.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_rbi.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_ri.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_rz.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "linlibertine_rzi.otf" : { + "installed_by" : [ + "fonts-linuxlibertine" + ] + }, + "lklug.ttf" : { + "installed_by" : [ + "fonts-lklug-sinhala" + ] + }, + "lmmono10-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmono10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmono12-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmono8-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmono9-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonocaps10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonocaps10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonolt10-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonolt10-boldoblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonolt10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonolt10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoltcond10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoltcond10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoprop10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoprop10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoproplt10-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoproplt10-boldoblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoproplt10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoproplt10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmmonoslant10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman10-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman10-bolditalic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman10-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman12-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman12-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman12-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman17-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman5-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman5-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman6-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman6-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman7-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman7-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman7-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman8-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman8-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman8-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman9-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman9-italic.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmroman9-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromancaps10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromancaps10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromandemi10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromandemi10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromandunh10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromandunh10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant10-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant12-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant17-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant8-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanslant9-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmromanunsl10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans10-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans10-boldoblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans12-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans12-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans17-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans17-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans8-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans8-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans9-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsans9-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansdemicond10-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansdemicond10-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansquot8-bold.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansquot8-boldoblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansquot8-oblique.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lmsansquot8-regular.otf" : { + "installed_by" : [ + "fonts-lmodern" + ] + }, + "lobster.otf" : { + "installed_by" : [ + "fonts-lobster" + ] + }, + "lobstertwo-bold.otf" : { + "installed_by" : [ + "fonts-lobstertwo" + ] + }, + "lobstertwo-bolditalic.otf" : { + "installed_by" : [ + "fonts-lobstertwo" + ] + }, + "lobstertwo-italic.otf" : { + "installed_by" : [ + "fonts-lobstertwo" + ] + }, + "lobstertwo-regular.otf" : { + "installed_by" : [ + "fonts-lobstertwo" + ] + }, + "lohit-assamese.ttf" : { + "installed_by" : [ + "fonts-lohit-beng-assamese" + ] + }, + "lohit-bengali.ttf" : { + "installed_by" : [ + "fonts-lohit-beng-bengali" + ] + }, + "lohit-devanagari.ttf" : { + "installed_by" : [ + "fonts-lohit-deva" + ] + }, + "lohit-gujarati.ttf" : { + "installed_by" : [ + "fonts-lohit-gujr" + ] + }, + "lohit-gurmukhi.ttf" : { + "installed_by" : [ + "fonts-lohit-guru" + ] + }, + "lohit-kannada.ttf" : { + "installed_by" : [ + "fonts-lohit-knda" + ] + }, + "lohit-malayalam.ttf" : { + "installed_by" : [ + "fonts-lohit-mlym" + ] + }, + "lohit-marathi.ttf" : { + "installed_by" : [ + "fonts-lohit-deva-marathi" + ] + }, + "lohit-nepali.ttf" : { + "installed_by" : [ + "fonts-lohit-deva-nepali" + ] + }, + "lohit-odia.ttf" : { + "installed_by" : [ + "fonts-lohit-orya" + ] + }, + "lohit-tamil-classical.ttf" : { + "installed_by" : [ + "fonts-lohit-taml-classical" + ] + }, + "lohit-tamil.ttf" : { + "installed_by" : [ + "fonts-lohit-taml" + ] + }, + "lohit-telugu.ttf" : { + "installed_by" : [ + "fonts-lohit-telu" + ] + }, + "loma-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-loma-otf" + ] + }, + "loma-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-loma-ttf" + ] + }, + "loma-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-loma-otf" + ] + }, + "loma-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-loma-ttf" + ] + }, + "loma-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-loma-otf" + ] + }, + "loma-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-loma-ttf" + ] + }, + "loma.otf" : { + "installed_by" : [ + "fonts-tlwg-loma-otf" + ] + }, + "loma.ttf" : { + "installed_by" : [ + "fonts-tlwg-loma-ttf" + ] + }, + "loopy.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lowdown.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lucid.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lucid2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lucid2o.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lucido.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lyneous.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lyneousl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "lynx.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "macropsi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "madscrwl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mallanna.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "manchufont.ttf" : { + "installed_by" : [ + "fonts-manchufont" + ] + }, + "mandali-regular.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "manjari-bold.otf" : { + "installed_by" : [ + "fonts-smc-manjari" + ] + }, + "manjari-regular.otf" : { + "installed_by" : [ + "fonts-smc-manjari" + ] + }, + "manjari-thin.otf" : { + "installed_by" : [ + "fonts-smc-manjari" + ] + }, + "manrope-bold.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-extrabold.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-extralight.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-light.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-medium.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-regular.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "manrope-semibold.ttf" : { + "installed_by" : [ + "fonts-manrope" + ] + }, + "markedfool.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "marlett.ttf" : { + "installed_by" : [ + "fonts-wine" + ] + }, + "materialdesignicons-webfont.ttf" : { + "installed_by" : [ + "fonts-materialdesignicons-webfont", + "fonts-materialdesignicons-webfont" + ] + }, + "materialicons-regular.ttf" : { + "installed_by" : [ + "fonts-material-design-icons-iconfont" + ] + }, + "mathjax_ams-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_caligraphic-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_caligraphic-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_fraktur-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_fraktur-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_main-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_main-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_main-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_math-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_math-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_math-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_sansserif-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_sansserif-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_sansserif-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_script-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_size1-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_size2-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_size3-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_size4-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_typewriter-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_vector-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_vector-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_winchrome-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "mathjax_winie6-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "maya_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "meera-regular.ttf" : { + "installed_by" : [ + "fonts-smc-meera" + ] + }, + "meerainimai-regular.ttf" : { + "installed_by" : [ + "fonts-meera-inimai" + ] + }, + "mekanusadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadftitlingstd-bditalic.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadftitlingstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadftitlingstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "mekanusadftitlingstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-mekanus" + ] + }, + "migmix-1m-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-1m-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-1p-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-1p-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-2m-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-2m-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-2p-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migmix-2p-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1c-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1c-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1m-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1m-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1p-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-1p-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-2m-bold.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "migu-2m-regular.ttf" : { + "installed_by" : [ + "fonts-migmix" + ] + }, + "mima4x4i.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mima4x4o.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mimaalt1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mimaalt2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mimafuse.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mincer.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mingzat-regular.ttf" : { + "installed_by" : [ + "fonts-sil-mingzat" + ] + }, + "minikott.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "minikstt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "misaki_gothic.ttf" : { + "installed_by" : [ + "fonts-misaki" + ] + }, + "misaki_gothic_2nd.ttf" : { + "installed_by" : [ + "fonts-misaki" + ] + }, + "misaki_mincho.ttf" : { + "installed_by" : [ + "fonts-misaki" + ] + }, + "mishmash.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "miso.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "miso.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "mitra.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "mixer.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "mixer.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "mm3-multi-os_16-08-2011.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "mmcedar-p.ttf" : { + "installed_by" : [ + "fonts-mmcedar" + ] + }, + "mmcedar.ttf" : { + "installed_by" : [ + "fonts-mmcedar" + ] + }, + "mmrcensus.v5.minbe5.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "mo5v56bu.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56dc.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56di.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56do.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56hi.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56mo.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo5v56xs.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mo9v55.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "mobilize.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mona.ttf" : { + "installed_by" : [ + "fonts-mona" + ] + }, + "monapo.ttf" : { + "installed_by" : [ + "fonts-monapo" + ] + }, + "mondulkiri-b.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "mondulkiri-bi.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "mondulkiri-i.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "mondulkiri-r.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri" + ] + }, + "monkphon.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "monof55.ttf" : { + "installed_by" : [ + "fonts-monofur" + ] + }, + "monof56.ttf" : { + "installed_by" : [ + "fonts-monofur" + ] + }, + "monoid-bold-halfloose.ttf" : { + "installed_by" : [ + "fonts-monoid-halfloose" + ] + }, + "monoid-bold-halftight.ttf" : { + "installed_by" : [ + "fonts-monoid-halftight" + ] + }, + "monoid-bold-loose.ttf" : { + "installed_by" : [ + "fonts-monoid-loose" + ] + }, + "monoid-bold-tight.ttf" : { + "installed_by" : [ + "fonts-monoid-tight" + ] + }, + "monoid-bold.ttf" : { + "installed_by" : [ + "fonts-monoid" + ] + }, + "monoid-italic-halfloose.ttf" : { + "installed_by" : [ + "fonts-monoid-halfloose" + ] + }, + "monoid-italic-halftight.ttf" : { + "installed_by" : [ + "fonts-monoid-halftight" + ] + }, + "monoid-italic-loose.ttf" : { + "installed_by" : [ + "fonts-monoid-loose" + ] + }, + "monoid-italic-tight.ttf" : { + "installed_by" : [ + "fonts-monoid-tight" + ] + }, + "monoid-italic.ttf" : { + "installed_by" : [ + "fonts-monoid" + ] + }, + "monoid-regular-halfloose.ttf" : { + "installed_by" : [ + "fonts-monoid-halfloose" + ] + }, + "monoid-regular-halftight.ttf" : { + "installed_by" : [ + "fonts-monoid-halftight" + ] + }, + "monoid-regular-loose.ttf" : { + "installed_by" : [ + "fonts-monoid-loose" + ] + }, + "monoid-regular-tight.ttf" : { + "installed_by" : [ + "fonts-monoid-tight" + ] + }, + "monoid-regular.ttf" : { + "installed_by" : [ + "fonts-monoid" + ] + }, + "monoid-retina-halfloose.ttf" : { + "installed_by" : [ + "fonts-monoid-halfloose" + ] + }, + "monoid-retina-halftight.ttf" : { + "installed_by" : [ + "fonts-monoid-halftight" + ] + }, + "monoid-retina-loose.ttf" : { + "installed_by" : [ + "fonts-monoid-loose" + ] + }, + "monoid-retina-tight.ttf" : { + "installed_by" : [ + "fonts-monoid-tight" + ] + }, + "monoid-retina.ttf" : { + "installed_by" : [ + "fonts-monoid" + ] + }, + "monoisome-regular-halfloose.ttf" : { + "installed_by" : [ + "fonts-monoid-halfloose" + ] + }, + "monoisome-regular-halftight.ttf" : { + "installed_by" : [ + "fonts-monoid-halftight" + ] + }, + "monoisome-regular-loose.ttf" : { + "installed_by" : [ + "fonts-monoid-loose" + ] + }, + "monoisome-regular-tight.ttf" : { + "installed_by" : [ + "fonts-monoid-tight" + ] + }, + "monoisome-regular.ttf" : { + "installed_by" : [ + "fonts-monoid" + ] + }, + "mononoki-bold.ttf" : { + "installed_by" : [ + "fonts-mononoki" + ] + }, + "mononoki-bolditalic.ttf" : { + "installed_by" : [ + "fonts-mononoki" + ] + }, + "mononoki-italic.ttf" : { + "installed_by" : [ + "fonts-mononoki" + ] + }, + "mononoki-regular.ttf" : { + "installed_by" : [ + "fonts-mononoki" + ] + }, + "monou___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "moronmis.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "mplus-1c-black.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-heavy.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1c-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1m-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1m-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1m-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1m-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1m-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1mn-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1mn-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1mn-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1mn-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1mn-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-black.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-heavy.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-1p-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-black.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-heavy.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2c-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2m-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2m-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2m-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2m-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2m-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-black.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-bold.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-heavy.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-light.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-medium.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-regular.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mplus-2p-thin.ttf" : { + "installed_by" : [ + "fonts-mplus" + ] + }, + "mry_kacstqurn.ttf" : { + "installed_by" : [ + "fonts-kacst" + ] + }, + "msam10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "msbm10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "mtlc3m.ttf" : { + "installed_by" : [ + "fonts-motoya-l-cedar" + ] + }, + "mtlmr3m.ttf" : { + "installed_by" : [ + "fonts-motoya-l-maruberi" + ] + }, + "muktinarrow.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "muktinarrowbold.ttf" : { + "installed_by" : [ + "fonts-beng-extra" + ] + }, + "museumbible.otf" : { + "installed_by" : [ + "fonts-levien-museum" + ] + }, + "museumfoundry.otf" : { + "installed_by" : [ + "fonts-levien-museum" + ] + }, + "museumfourteen.otf" : { + "installed_by" : [ + "fonts-levien-museum" + ] + }, + "museumsixty.otf" : { + "installed_by" : [ + "fonts-levien-museum" + ] + }, + "musica_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "myanmarchatu.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarchatulight.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmargantgaw.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarkhyay.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarkuttar.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarnayone.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarnjaun.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarpauklay.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarphetsot.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarphiksel.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarphikselsmooth.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarponenyet.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarsabae.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarsagar.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarsanpya.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarsanspro-regular.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarsquarelight.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmartagu.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarthuriya.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmarwaso.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "myanmaryinmar.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "mysteron.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "n019003d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019004d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019023d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019024d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019043d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019044d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019063d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n019064d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n021003d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n021004d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n021023d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n021024d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n022003d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n022004d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n022023d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "n022024d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "nafeesweb.ttf" : { + "installed_by" : [ + "fonts-nafees" + ] + }, + "nakula.ttf" : { + "installed_by" : [ + "fonts-nakula" + ] + }, + "nanosecw.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "nanumbarungothic-yethangul.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumbarungothic.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumbarungothicbold.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumbarungothiclight.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumbarungothicultralight.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumbarunpenb.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumbarunpenr.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumbrush.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumgothic.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumgothicbold.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumgothiccoding.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumgothiccodingbold.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumgothiceco.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanumgothicecobold.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanumgothicecoextrabold.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanumgothicecor.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumgothicextrabold.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumgothiclight.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanummyeongjo-yethangul.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanummyeongjo.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanummyeongjobold.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanummyeongjoeco.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanummyeongjoecobold.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanummyeongjoecoextrabold.ttf" : { + "installed_by" : [ + "fonts-nanum-eco" + ] + }, + "nanummyeongjoecor.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanummyeongjoextrabold.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumpen.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquare_acb.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquare_aceb.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquare_acl.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquare_acr.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquareb.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumsquareeb.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquarel.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquarer.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumsquareroundb.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nanumsquareroundeb.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquareroundl.ttf" : { + "installed_by" : [ + "fonts-nanum-extra" + ] + }, + "nanumsquareroundr.ttf" : { + "installed_by" : [ + "fonts-nanum" + ] + }, + "nats.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "naughts.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "navilu.ttf" : { + "installed_by" : [ + "fonts-navilu" + ] + }, + "nazli.ttf" : { + "installed_by" : [ + "fonts-farsiweb" + ] + }, + "nazlib.ttf" : { + "installed_by" : [ + "fonts-farsiweb" + ] + }, + "neo.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "neo.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "neural.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "neuralol.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "nilus_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "nimbusmonops-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusmonops-bolditalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusmonops-italic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusmonops-regular.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusroman-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusroman-bolditalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusroman-italic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbusroman-regular.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussans-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussans-bolditalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussans-italic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussans-regular.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussansnarrow-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussansnarrow-boldoblique.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussansnarrow-oblique.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nimbussansnarrow-regular.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "nk_ssmart2.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "nk_ssmart3.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "nk_ssmart4.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "noam.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "noam.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "nominal.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "norasi-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "norasi-bolditalic.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi-bolditalic.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "norasi-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "norasi-italic.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi-italic.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "norasi-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "norasi.otf" : { + "installed_by" : [ + "fonts-tlwg-norasi-otf" + ] + }, + "norasi.ttf" : { + "installed_by" : [ + "fonts-tlwg-norasi-ttf" + ] + }, + "nostalgi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "notocoloremoji.ttf" : { + "installed_by" : [ + "fonts-noto-color-emoji" + ] + }, + "notokufiarabic-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notokufiarabic-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notokufiarabic-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notokufiarabic-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoloopedlao-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoloopedlao-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlao-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedlaoui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notoloopedlaoui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notoloopedlaoui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedlaoui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthai-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoloopedthai-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoloopedthai-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthai-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoloopedthaiui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notoloopedthaiui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notoloopedthaiui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notoloopedthaiui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notomono-regular.ttf" : { + "installed_by" : [ + "fonts-noto-mono" + ] + }, + "notomusic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notonaskharabic-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notonaskharabic-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notonaskharabic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notonaskharabic-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notonaskharabicui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notonaskharabicui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notonaskharabicui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notonaskharabicui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notonastaliqurdu-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notonastaliqurdu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notorashihebrew-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notorashihebrew-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notorashihebrew-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notorashihebrew-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-blackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosans-bolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosans-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-condensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extracondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-extralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-italic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosans-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-lightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosans-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-semicondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosans-thinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansadlam-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansadlam-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansadlamunjoined-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansadlamunjoined-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansanatolianhieroglyphs-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansarabic-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansarabic-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansarabic-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabic-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarabicui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansarabicui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansarabicui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarabicui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansarmenian-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansarmenian-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansarmenian-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansarmenian-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansavestan-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbalinese-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbalinese-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbalinese-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbalinese-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbamum-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbamum-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbamum-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbamum-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbassavah-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbatak-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbengali-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbengali-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbengali-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengali-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansbengaliui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansbengaliui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansbengaliui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbengaliui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansbhaiksuki-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbrahmi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbuginese-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansbuhid-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscanadianaboriginal-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscanadianaboriginal-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscanadianaboriginal-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscanadianaboriginal-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscarian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscaucasianalbanian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanschakma-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscham-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscham-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscham-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscham-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscherokee-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscherokee-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscherokee-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanscoptic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscuneiform-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanscypriot-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdeseret-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdevanagari-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdevanagari-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdevanagari-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagari-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdevanagariui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansdevanagariui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansdevanagariui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdevanagariui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansdisplay-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-blackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdisplay-bolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdisplay-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-condensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extracondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-extralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-italic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdisplay-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-lightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansdisplay-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-semicondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansdisplay-thinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansduployan-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansegyptianhieroglyphs-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanselbasan-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanselymaic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansethiopic-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansethiopic-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansethiopic-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansethiopic-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgeorgian-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgeorgian-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgeorgian-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansglagolitic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgothic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgrantha-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgujarati-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgujarati-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgujarati-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujarati-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgujaratiui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansgujaratiui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansgujaratiui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgujaratiui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgunjalagondi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgurmukhi-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgurmukhi-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansgurmukhi-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhi-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansgurmukhiui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansgurmukhiui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansgurmukhiui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansgurmukhiui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanshanifirohingya-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshanifirohingya-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshanifirohingya-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshanifirohingya-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshanunoo-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshatran-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshebrew-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshebrew-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanshebrew-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanshebrew-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansimperialaramaic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansindicsiyaqnumbers-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansinscriptionalpahlavi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansinscriptionalparthian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansjavanese-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansjavanese-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskaithi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskannada-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskannada-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskannada-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannada-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskannadaui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanskannadaui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanskannadaui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskannadaui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskayahli-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskayahli-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskayahli-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskayahli-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskharoshthi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskhmer-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskhmer-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskhmer-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmer-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanskhmerui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanskhmerui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanskhmerui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhmerui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanskhojki-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanskhudawadi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslao-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslao-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslao-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslao-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslaoui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanslaoui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanslaoui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslaoui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanslepcha-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslimbu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslineara-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslinearb-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslisu-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslisu-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslisu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslisu-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanslycian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanslydian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmahajani-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmalayalam-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmalayalam-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmalayalam-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalam-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmalayalamui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansmalayalamui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansmalayalamui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmalayalamui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmandaic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmanichaean-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmarchen-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmasaramgondi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmath-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmayannumerals-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmedefaidrin-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmedefaidrin-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmedefaidrin-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmedefaidrin-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmeeteimayek-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmeeteimayek-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmeeteimayek-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmendekikakui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmeroitic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmiao-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmodi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmongolian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmono-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-bold.ttf" : { + "installed_by" : [ + "fonts-noto-mono" + ] + }, + "notosansmono-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-regular.ttf" : { + "installed_by" : [ + "fonts-noto-mono" + ] + }, + "notosansmono-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmono-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmro-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmultani-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmyanmar-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmyanmar-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansmyanmar-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmar-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansmyanmarui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansmyanmarui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansmyanmarui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansmyanmarui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansnabataean-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansnewa-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansnewtailue-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansnko-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansnushu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansogham-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansolchiki-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansolchiki-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansolchiki-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansolchiki-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoldhungarian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansolditalic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldnortharabian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldpermic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldpersian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldsogdian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldsoutharabian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoldturkic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoriya-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoriya-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriya-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansoriya-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansoriyaui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansoriyaui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansoriyaui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansoriyaui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansosage-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansosmanya-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanspahawhhmong-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanspalmyrene-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanspaucinhau-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansphagspa-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansphoenician-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanspsalterpahlavi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansrejang-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansrunic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssamaritan-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssaurashtra-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssharada-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansshavian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssiddham-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssignwriting-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssinhala-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssinhala-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssinhala-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhala-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssinhalaui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanssinhalaui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanssinhalaui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssinhalaui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanssogdian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssorasompeng-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssorasompeng-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssorasompeng-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssorasompeng-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssoyombo-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssundanese-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssundanese-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssundanese-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssundanese-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssylotinagri-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssymbols-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssymbols-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssymbols-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssymbols2-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssyriac-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanssyriac-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanssyriac-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstagalog-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstagbanwa-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstaile-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstaitham-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstaitham-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstaitham-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstaitham-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstaiviet-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstakri-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstamil-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstamil-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstamil-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamil-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstamilsupplement-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstamilui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanstamilui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosanstamilui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstamilui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstelugu-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstelugu-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstelugu-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosanstelugu-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansteluguui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansteluguui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansteluguui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansteluguui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaana-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansthaana-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansthaana-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaana-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansthai-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansthai-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthai-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notosansthaiui-black.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-bold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansthaiui-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-light.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-medium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-regular.ttf" : { + "installed_by" : [ + "fonts-noto-ui-core" + ] + }, + "notosansthaiui-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosansthaiui-thin.ttf" : { + "installed_by" : [ + "fonts-noto-ui-extra" + ] + }, + "notosanstifinagh-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghadrar-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghagrawimazighen-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghahaggar-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghair-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghapt-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghazawagh-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghghat-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghhawad-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghrhissaixa-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghsil-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstifinaghtawellemmet-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanstirhuta-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansugaritic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansvai-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanswancho-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanswarangciti-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosansyi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notosanszanabazarsquare-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserif-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-blackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserif-bolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserif-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-condensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extracondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-extralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-italic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserif-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-lightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserif-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-semicondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserif-thinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifahom-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifarmenian-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifarmenian-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifarmenian-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifarmenian-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbalinese-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifbengali-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifbengali-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifbengali-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifbengali-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdevanagari-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdevanagari-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdevanagari-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-blackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdisplay-bolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdisplay-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-condensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extracondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-extralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-italic.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdisplay-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-lightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifdisplay-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedblackitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedbolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedextrabolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedextralightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondenseditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedlightitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedmediumitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedsemibolditalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-semicondensedthinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdisplay-thinitalic.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifdogra-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifethiopic-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifethiopic-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifethiopic-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifethiopic-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgeorgian-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgeorgian-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgeorgian-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgrantha-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgujarati-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgujarati-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgujarati-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgujarati-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgurmukhi-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifgurmukhi-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifgurmukhi-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifhebrew-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifhebrew-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifhebrew-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifkannada-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifkannada-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkannada-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifkhmer-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifkhmer-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhmer-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifkhojki-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifkhojki-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriflao-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriflao-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriflao-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriflao-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifmalayalam-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifmalayalam-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmalayalam-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifmyanmar-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifmyanmar-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifmyanmar-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifnyiakengpuachuehmong-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifnyiakengpuachuehmong-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifnyiakengpuachuehmong-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifnyiakengpuachuehmong-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifsinhala-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifsinhala-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifsinhala-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftamil-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftamil-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamil-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftamilslanted-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftamilslanted-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftamilslanted-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftangut-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftelugu-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftelugu-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftelugu-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftelugu-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifthai-condensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-condensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extracondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifthai-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensed.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedblack.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedbold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedextrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedextralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedlight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedmedium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedsemibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-semicondensedthin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifthai-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-black.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftibetan-extrabold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-extralight.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-light.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoseriftibetan-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoseriftibetan-thin.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifyezidi-bold.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifyezidi-medium.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "notoserifyezidi-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notoserifyezidi-semibold.ttf" : { + "installed_by" : [ + "fonts-noto-extra" + ] + }, + "nototraditionalnushu-regular.ttf" : { + "installed_by" : [ + "fonts-noto-core" + ] + }, + "notqr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "nsecthck.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "nsecthin.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ntr.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "nucleus.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "numskull.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "nuosusil-regular.ttf" : { + "installed_by" : [ + "fonts-sil-nuosusil" + ] + }, + "nymonak.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "obloquyo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "obloquys.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "obstacle.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "obstacll.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ocra.ttf" : { + "installed_by" : [ + "fonts-ocr-a" + ] + }, + "ocrabold.ttf" : { + "installed_by" : [ + "fonts-ocr-a" + ] + }, + "ocracondensed.ttf" : { + "installed_by" : [ + "fonts-ocr-a" + ] + }, + "ocraitalic.ttf" : { + "installed_by" : [ + "fonts-ocr-a" + ] + }, + "ocrb.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "ocrbe.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "ocrbf.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "ocrbl.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "ocrbs.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "ocrbx.otf" : { + "installed_by" : [ + "fonts-ocr-b" + ] + }, + "octicons.ttf" : { + "installed_by" : [ + "fonts-octicons" + ] + }, + "offkiltl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "offkiltr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "okolaksbold.ttf" : { + "installed_by" : [ + "fonts-okolaks" + ] + }, + "okolaksbolditalic.ttf" : { + "installed_by" : [ + "fonts-okolaks" + ] + }, + "okolaksregular.ttf" : { + "installed_by" : [ + "fonts-okolaks" + ] + }, + "okolaksregularitalic.ttf" : { + "installed_by" : [ + "fonts-okolaks" + ] + }, + "oldaniaadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-oldania" + ] + }, + "oldaniaadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-oldania" + ] + }, + "oldaniaadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-oldania" + ] + }, + "oldaniaadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-oldania" + ] + }, + "oldslavicregu.pfb" : { + "installed_by" : [ + "t1-oldslavic" + ] + }, + "oldstandard-bold.ttf" : { + "installed_by" : [ + "fonts-oldstandard" + ] + }, + "oldstandard-italic.ttf" : { + "installed_by" : [ + "fonts-oldstandard" + ] + }, + "oldstandard-regular.ttf" : { + "installed_by" : [ + "fonts-oldstandard" + ] + }, + "opendyslexic-bold.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexic-bolditalic.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexic-italic.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexic-regular.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexicalta-bold.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexicalta-bolditalic.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexicalta-italic.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexicalta-regular.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opendyslexicmono-regular.otf" : { + "installed_by" : [ + "fonts-opendyslexic" + ] + }, + "opens___.ttf" : { + "installed_by" : [ + "fonts-opensymbol" + ] + }, + "opensans-bold.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-bolditalic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-condbold.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-condlight.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-condlightitalic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-extrabold.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-italic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-light.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-lightitalic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-regular.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-semibold.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opensans-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-open-sans" + ] + }, + "opiated.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "oradanogsrr.ttf" : { + "installed_by" : [ + "fonts-oradano-mincho-gsrr" + ] + }, + "orbicula.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "osifont.ttf" : { + "installed_by" : [ + "fonts-osifont" + ] + }, + "osp-din.ttf" : { + "installed_by" : [ + "fonts-opendin" + ] + }, + "outersid.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "overhead.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "oxygen-sans-bold.ttf" : { + "installed_by" : [ + "fonts-oxygen" + ] + }, + "oxygen-sans.ttf" : { + "installed_by" : [ + "fonts-oxygen" + ] + }, + "oxygenmono-regular.ttf" : { + "installed_by" : [ + "fonts-oxygen" + ] + }, + "p052-bold.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "p052-bolditalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "p052-italic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "p052-roman.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "p052003d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "p052004d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "p052023d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "p052024d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "padauk-bold.ttf" : { + "installed_by" : [ + "fonts-sil-padauk" + ] + }, + "padauk-regular.ttf" : { + "installed_by" : [ + "fonts-sil-padauk" + ] + }, + "padaukbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-padauk" + ] + }, + "padaukbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-padauk" + ] + }, + "padmaa-bold.1.1.ttf" : { + "installed_by" : [ + "fonts-gujr-extra" + ] + }, + "padmaa-medium-0.5.ttf" : { + "installed_by" : [ + "fonts-gujr-extra" + ] + }, + "padmaa.ttf" : { + "installed_by" : [ + "fonts-gujr-extra" + ] + }, + "pagul.ttf" : { + "installed_by" : [ + "fonts-pagul" + ] + }, + "pallu___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "pallub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "pallui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "parix-hybrid111r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "patchsans.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "patchsans.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "patchserif.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "patchserif.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "patchstencil.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "patchstencil.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "pdark.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pecita.otf" : { + "installed_by" : [ + "fonts-pecita" + ] + }, + "peddana-regular.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "penguinattack.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "persuasi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "phetsarath_ot.ttf" : { + "installed_by" : [ + "fonts-lao" + ] + }, + "phorfeir.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "phorfeis.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pincers.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pindown.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pindownp.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pindwnx.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pindwnxp.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pixlkrud.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "plasdrip.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "plasdrpe.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "play-bold.otf" : { + "installed_by" : [ + "fonts-play" + ] + }, + "play-bold.ttf" : { + "installed_by" : [ + "fonts-play" + ] + }, + "play-regular.otf" : { + "installed_by" : [ + "fonts-play" + ] + }, + "play-regular.ttf" : { + "installed_by" : [ + "fonts-play" + ] + }, + "pneumati.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pneutall.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "pneuwide.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ponnala.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "pothana2000.ttf" : { + "installed_by" : [ + "fonts-telu-extra" + ] + }, + "pottisreeramulu.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "povlogo.ttf" : { + "installed_by" : [ + "fonts-povray" + ] + }, + "powdwrk5.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "powerlinesymbols.otf" : { + "installed_by" : [ + "fonts-powerline" + ] + }, + "prociono.otf" : { + "installed_by" : [ + "fonts-prociono" + ] + }, + "progenisis.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "proggytiny.ttf" : { + "installed_by" : [ + "fonts-proggy" + ] + }, + "pseudo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ptc55f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptc75f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptf55f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptf56f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptf75f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptf76f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptm55f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptm75f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptn57f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptn77f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptolemy-greatprimer18.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "pts55f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "pts56f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "pts75f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "pts76f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptz55f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "ptz56f.ttf" : { + "installed_by" : [ + "fonts-paratype" + ] + }, + "purisa-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-purisa-otf" + ] + }, + "purisa-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-purisa-ttf" + ] + }, + "purisa-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-purisa-otf" + ] + }, + "purisa-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-purisa-ttf" + ] + }, + "purisa-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-purisa-otf" + ] + }, + "purisa-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-purisa-ttf" + ] + }, + "purisa.otf" : { + "installed_by" : [ + "fonts-tlwg-purisa-otf" + ] + }, + "purisa.ttf" : { + "installed_by" : [ + "fonts-tlwg-purisa-ttf" + ] + }, + "px_ami_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ami_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_amstradpc1512-2y.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_amstradpc1512.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_8x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_8x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_8x8-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_8x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_9x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_9x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ati_smallw_6x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_att_pc6300-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_att_pc6300.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_compaqthin_8x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_compaqthin_8x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_compaqthin_8x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_dtk_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_dtk_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_3270pc.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_bios-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_cga-2y.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_ibm_cga.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_ibm_cgathin-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_cgathin.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_conv-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_conv-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_conv.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ega8-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ega8.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_ibm_ega9-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ega9.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_iso8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_iso9.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_mda.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_ibm_pgc-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_pgc.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ps2thin1.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ps2thin2.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ps2thin3.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_ps2thin4.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_vga8-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_vga8.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_ibm_vga9-2x.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_ibm_vga9.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_itt_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_itt_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_kaypro2k-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_kaypro2k.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenix_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenix_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenixega_8x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenixega_8x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenixega_8x8-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenixega_8x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_phoenixega_9x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandynew_225-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandynew_225.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandynew_mono.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandynew_tv-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandynew_tv.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandyold_225-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandyold_225.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandyold_tv-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_tandyold_tv.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_toshibalcd_8x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_toshibalcd_8x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_8x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_8x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_8x8-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_8x8.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_9x14.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_verite_9x16.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_vga_squarepx.ttf" : { + "installed_by" : [ + "fonts-pc" + ] + }, + "px_vtech_bios-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_vtech_bios.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_wyse700a-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_wyse700a.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_wyse700b-2y.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "px_wyse700b.ttf" : { + "installed_by" : [ + "fonts-pc-extra" + ] + }, + "pyidaungsu-2.3_bold.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "pyidaungsu-2.3_regular.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "qbicle1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "qbicle2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "qbicle3.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "qbicle4.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "qlumpy.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "qlumpysh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quacksal.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quadrcal.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quadrtic.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quandary.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quantfh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quantflt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quantrh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quantrnd.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quanttap.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quaranti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quarthck.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quarthin.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quattrocento-regular.otf" : { + "installed_by" : [ + "fonts-quattrocento" + ] + }, + "queasy.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "queasyol.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quercus.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "quercus_bold.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "quercus_bold_it.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "quercus_it.ttf" : { + "installed_by" : [ + "fonts-linex" + ] + }, + "quicksand-bold.ttf" : { + "installed_by" : [ + "fonts-quicksand" + ] + }, + "quicksand-light.ttf" : { + "installed_by" : [ + "fonts-quicksand" + ] + }, + "quicksand-medium.ttf" : { + "installed_by" : [ + "fonts-quicksand" + ] + }, + "quicksand-regular.ttf" : { + "installed_by" : [ + "fonts-quicksand" + ] + }, + "quillexo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "quillexs.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rachana-bold.ttf" : { + "installed_by" : [ + "fonts-smc-rachana" + ] + }, + "rachana-regular.ttf" : { + "installed_by" : [ + "fonts-smc-rachana" + ] + }, + "radissans-medium.otf" : { + "installed_by" : [ + "fonts-radisnoir" + ] + }, + "raghumalayalamsans-regular.ttf" : { + "installed_by" : [ + "fonts-smc-raghumalayalamsans" + ] + }, + "ramabhadra.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "ramaraja-regular.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "rambling.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rampartone-regular.ttf" : { + "installed_by" : [ + "fonts-rampart" + ] + }, + "rasa-bold.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "rasa-light.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "rasa-medium.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "rasa-regular.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "rasa-semibold.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "ratav53.ttf" : { + "installed_by" : [ + "fonts-sil-mondulkiri-extra" + ] + }, + "ravaged2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ravcater.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "raviprakash.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "raydiat2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "reason.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "reasonsh.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "redundan.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "regenera.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "reggaeone-regular.ttf" : { + "installed_by" : [ + "fonts-reggae" + ] + }, + "registry.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rehearsc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rehearso.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rehearsp.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rekha.ttf" : { + "installed_by" : [ + "fonts-gujr-extra" + ] + }, + "relapse.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "revert.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "revertro.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rg2014b.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014c.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014d.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014e.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014eem.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014em.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "rg2014f.ttf" : { + "installed_by" : [ + "fonts-roadgeek" + ] + }, + "richstyle.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "rictydiminished-bold.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminished-boldoblique.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminished-oblique.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminished-regular.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminisheddiscord-bold.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminisheddiscord-boldoblique.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminisheddiscord-oblique.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rictydiminisheddiscord-regular.ttf" : { + "installed_by" : [ + "fonts-ricty-diminished" + ] + }, + "rit-sundar.ttf" : { + "installed_by" : [ + "fonts-rit-sundar" + ] + }, + "roboto-black.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-blackitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-bold.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-bolditalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-condensed-bold.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-condensed-bolditalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-condensed-light.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-condensed-lightitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-condensed-regular.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-condensed-regularitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-italic.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-light.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-lightitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-medium.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-regular.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-regularitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface" + ] + }, + "roboto-thin.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "roboto-thinitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-fontface", + "fonts-roboto-fontface", + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-bold.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-bolditalic.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-italic.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-light.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-lightitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-medium.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotocondensed-regular.ttf" : { + "installed_by" : [ + "fonts-roboto-hinted", + "fonts-roboto-unhinted" + ] + }, + "robotoslab-bold.otf" : { + "installed_by" : [ + "fonts-roboto-slab" + ] + }, + "robotoslab-light.otf" : { + "installed_by" : [ + "fonts-roboto-slab" + ] + }, + "robotoslab-regular.otf" : { + "installed_by" : [ + "fonts-roboto-slab" + ] + }, + "robotoslab-thin.otf" : { + "installed_by" : [ + "fonts-roboto-slab" + ] + }, + "rocknrollone-regular.ttf" : { + "installed_by" : [ + "fonts-rocknroll" + ] + }, + "romandeadfno2std-demibold.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfno2std-demibolditalic.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfno2std-italic.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfno2std-regular.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfscriptstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstd-demibold.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstd-demibolditalic.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstylestd-demibold.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romandeadfstylestd-regular.otf" : { + "installed_by" : [ + "fonts-adf-romande" + ] + }, + "romau___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "romaub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "romaui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "rot-protoroman102r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "rotund.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rotundo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "roughday.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "rsfs10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "rufscript010.ttf" : { + "installed_by" : [ + "fonts-rufscript" + ] + }, + "rusch-goticoantiqua100g.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "rusch-r-bizarre-protoroman103r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "ryuker.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "saab.ttf" : { + "installed_by" : [ + "fonts-guru-extra" + ] + }, + "sahadeva.ttf" : { + "installed_by" : [ + "fonts-sahadeva" + ] + }, + "salaowu-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowu-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowubook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowubook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowuextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowuextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowulight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "salaowulight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-salaowu" + ] + }, + "samanata.ttf" : { + "installed_by" : [ + "fonts-deva-extra" + ] + }, + "samyak-devanagari.ttf" : { + "installed_by" : [ + "fonts-samyak-deva" + ] + }, + "samyak-gujarati.ttf" : { + "installed_by" : [ + "fonts-samyak-gujr" + ] + }, + "samyak-malayalam.ttf" : { + "installed_by" : [ + "fonts-samyak-mlym" + ] + }, + "samyak-oriya.ttf" : { + "installed_by" : [ + "fonts-samyak-orya" + ] + }, + "samyak-tamil.ttf" : { + "installed_by" : [ + "fonts-samyak-taml" + ] + }, + "sanscu__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sanscub_.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sansu___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sansub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sansubi_.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sansui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sapushan-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushan-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanlight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sapushanlight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-sapushan" + ] + }, + "sarai.ttf" : { + "installed_by" : [ + "fonts-sarai" + ] + }, + "sarcasti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "saunder.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "sawarabi-gothic-medium.ttf" : { + "installed_by" : [ + "fonts-sawarabi-gothic" + ] + }, + "sawarabi-mincho-medium.ttf" : { + "installed_by" : [ + "fonts-sawarabi-mincho" + ] + }, + "sawasdee-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-otf" + ] + }, + "sawasdee-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-ttf" + ] + }, + "sawasdee-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-otf" + ] + }, + "sawasdee-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-ttf" + ] + }, + "sawasdee-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-otf" + ] + }, + "sawasdee-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-ttf" + ] + }, + "sawasdee.otf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-otf" + ] + }, + "sawasdee.ttf" : { + "installed_by" : [ + "fonts-tlwg-sawasdee-ttf" + ] + }, + "sayphan.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "sayphan.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "scalines.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "scheherazade-bold.ttf" : { + "installed_by" : [ + "fonts-sil-scheherazade" + ] + }, + "scheherazade-regular.ttf" : { + "installed_by" : [ + "fonts-sil-scheherazade" + ] + }, + "schou___.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "schoub__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "schoui__.ttf" : { + "installed_by" : [ + "fonts-uralic" + ] + }, + "sclnmaze.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "sequence.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "setbackt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "setofont-ex.ttf" : { + "installed_by" : [ + "fonts-seto" + ] + }, + "setofont.ttf" : { + "installed_by" : [ + "fonts-seto" + ] + }, + "shimenkan-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkan-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkanbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkanbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkanextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkanextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan" + ] + }, + "shimenkangsm-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsm-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmlight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkangsmlight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-gsm" + ] + }, + "shimenkanguifan-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifan-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanlight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanguifanlight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-guifan" + ] + }, + "shimenkanmas-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmas-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmasbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmasbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmasextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmasextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmaslight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmaslight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mas" + ] + }, + "shimenkanmgs-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgs-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgsbook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgsbook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgsextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgsextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgslight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanmgslight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-mgs" + ] + }, + "shimenkanzonghe-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzonghe-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzonghebook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzonghebook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzongheextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzongheextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzonghelight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "shimenkanzonghelight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-zonghe" + ] + }, + "sideways.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "sileot.ttf" : { + "installed_by" : [ + "fonts-sil-ezra" + ] + }, + "sileotsr.ttf" : { + "installed_by" : [ + "fonts-sil-ezra" + ] + }, + "simplto2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "skechers.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "skechers.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "skullcap.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "slender.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "slenderw.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "slenmini.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "slenstub.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "snailets.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "snb.ttf" : { + "installed_by" : [ + "fonts-sil-sophia-nubian" + ] + }, + "snbi.ttf" : { + "installed_by" : [ + "fonts-sil-sophia-nubian" + ] + }, + "sni.ttf" : { + "installed_by" : [ + "fonts-sil-sophia-nubian" + ] + }, + "snr.ttf" : { + "installed_by" : [ + "fonts-sil-sophia-nubian" + ] + }, + "solidemirageetroit.otf" : { + "installed_by" : [ + "fonts-solide-mirage" + ] + }, + "solidemiragemono.otf" : { + "installed_by" : [ + "fonts-solide-mirage" + ] + }, + "solothurn-bold.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "solothurn-boldoblique.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "solothurn-medium.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "solothurn-mediumoblique.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "solothurn-oblique.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "solothurn-regular.otf" : { + "installed_by" : [ + "fonts-adf-solothurn" + ] + }, + "sora-bold.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-extrabold.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-extralight.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-light.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-regular.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-semibold.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "sora-thin.otf" : { + "installed_by" : [ + "fonts-sora" + ] + }, + "souffletvert-hybrid106r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "spaciouo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spacious.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spastic2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spheroid.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spheroix.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spira-protoroman110r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "splatz2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "spleen-12x24.otf" : { + "installed_by" : [ + "fonts-spleen" + ] + }, + "spleen-16x32.otf" : { + "installed_by" : [ + "fonts-spleen" + ] + }, + "spleen-32x64.otf" : { + "installed_by" : [ + "fonts-spleen" + ] + }, + "spleen-6x12.otf" : { + "installed_by" : [ + "fonts-spleen" + ] + }, + "spleen-8x16.otf" : { + "installed_by" : [ + "fonts-spleen" + ] + }, + "sqroute.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "sreekrushnadevaraya.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "stagnati.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "standardsymbolsps.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "staypuft.ttf" : { + "installed_by" : [ + "fonts-staypuft" + ] + }, + "stevehand.ttf" : { + "installed_by" : [ + "fonts-sjfonts" + ] + }, + "stick-regular.ttf" : { + "installed_by" : [ + "fonts-stick" + ] + }, + "sticks.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "sticks.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "stix-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stix-bolditalic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stix-italic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stix-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixgeneral-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixgeneral-bolditalic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixgeneral-italic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixgeneral-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsd-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsd-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralssm-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralssm-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsup-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsup-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsupd-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsupd-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsupsm-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixintegralsupsm-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixmath-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixmathjax_alphabets-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_alphabets-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_alphabets-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_alphabets-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_arrows-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_arrows-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_doublestruck-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_doublestruck-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_doublestruck-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_doublestruck-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_fraktur-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_fraktur-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_latin-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_latin-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_latin-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_latin-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_main-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_main-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_main-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_main-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_marks-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_marks-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_marks-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_marks-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_misc-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_misc-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_misc-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_misc-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_monospace-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_normal-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_normal-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_normal-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_operators-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_operators-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_sansserif-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_sansserif-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_sansserif-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_sansserif-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_script-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_script-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_script-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_shapes-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_shapes-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_shapes-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_size1-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_size2-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_size3-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_size4-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_size5-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_symbols-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_symbols-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_variants-bold.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_variants-bolditalic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_variants-italic.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixmathjax_variants-regular.otf" : { + "installed_by" : [ + "fonts-mathjax" + ] + }, + "stixnonunicode-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixnonunicode-bolditalic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixnonunicode-italic.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixnonunicode-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizefivesym-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizefoursym-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizefoursym-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizeonesym-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizeonesym-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizethreesym-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizethreesym-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizetwosym-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixsizetwosym-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixvariants-bold.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stixvariants-regular.otf" : { + "installed_by" : [ + "fonts-stix" + ] + }, + "stmary10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "strande2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "strokes.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "strokes.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "summersby.ttf" : { + "installed_by" : [ + "fonts-summersby" + ] + }, + "supragc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "supragl.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "suranna.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "suravaram.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "suruma.ttf" : { + "installed_by" : [ + "fonts-smc-suruma" + ] + }, + "sweynheim&pannartz-protoroman115r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "sweynheim&pannartz-subiaco-protoroman120r.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "swift.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "swirled2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "switzeraadf-bold.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-boldcond.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-boldconditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-boldext.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-boldextitalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-cond.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-conditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-demibold.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-demibolditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-dmbdcond.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-dmbdconditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-ext.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-extitalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-extrabold.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-italic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-light.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-lightcond.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-lightconditalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-lightitalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-medium.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-mediumitalic.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "switzeraadf-regular.otf" : { + "installed_by" : [ + "fonts-adf-switzera" + ] + }, + "syamalaramana.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "symbol.ttf" : { + "installed_by" : [ + "fonts-wine" + ] + }, + "symbola_hint.ttf" : { + "installed_by" : [ + "fonts-symbola" + ] + }, + "symmetry.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "syndrome.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "syntheti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "syracuse.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tagbanwa.ttf" : { + "installed_by" : [ + "ttf-tagbanwa" + ] + }, + "tagmukay-bold.ttf" : { + "installed_by" : [ + "fonts-sil-tagmukay" + ] + }, + "tagmukay-regular.ttf" : { + "installed_by" : [ + "fonts-sil-tagmukay" + ] + }, + "tahoma.ttf" : { + "installed_by" : [ + "fonts-wine" + ] + }, + "tahomabd.ttf" : { + "installed_by" : [ + "fonts-wine" + ] + }, + "taiheritagepro-bold.ttf" : { + "installed_by" : [ + "fonts-sil-taiheritagepro" + ] + }, + "taiheritagepro-regular.ttf" : { + "installed_by" : [ + "fonts-sil-taiheritagepro" + ] + }, + "takaogothic.ttf" : { + "installed_by" : [ + "fonts-takao-gothic" + ] + }, + "takaomincho.ttf" : { + "installed_by" : [ + "fonts-takao-mincho" + ] + }, + "takaopgothic.ttf" : { + "installed_by" : [ + "fonts-takao-gothic" + ] + }, + "takaopmincho.ttf" : { + "installed_by" : [ + "fonts-takao-mincho" + ] + }, + "tamu_kadampari.ttf" : { + "installed_by" : [ + "fonts-taml-tamu" + ] + }, + "tamu_kalyani.ttf" : { + "installed_by" : [ + "fonts-taml-tamu" + ] + }, + "tamu_maduram.ttf" : { + "installed_by" : [ + "fonts-taml-tamu" + ] + }, + "taogu-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taogu-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taogubook-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taogubook-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taoguextralight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taoguextralight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taogulight-bold.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "taogulight-regular.ttf" : { + "installed_by" : [ + "fonts-sil-shimenkan-taogu" + ] + }, + "teams.pfb" : { + "installed_by" : [ + "t1-teams" + ] + }, + "teamsb.pfb" : { + "installed_by" : [ + "t1-teams" + ] + }, + "teamsbi.pfb" : { + "installed_by" : [ + "t1-teams" + ] + }, + "teamsi.pfb" : { + "installed_by" : [ + "t1-teams" + ] + }, + "tearful.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "techniqo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "techniqu.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "techover.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "telephas.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tenaliramakrishna-regular.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "terminusttf-4.46.0.ttf" : { + "installed_by" : [ + "fonts-terminus" + ] + }, + "tetri.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "texgyreadventor-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreadventor-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreadventor-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreadventor-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrebonum-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrebonum-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrebonum-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrebonum-math.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrebonum-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrechorus-mediumitalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrecursor-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrecursor-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrecursor-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrecursor-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyredejavu-math.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheros-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheros-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheros-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheros-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheroscn-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheroscn-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheroscn-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreheroscn-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrepagella-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrepagella-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrepagella-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrepagella-math.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyrepagella-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreschola-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreschola-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreschola-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreschola-math.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyreschola-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyretermes-bold.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyretermes-bolditalic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyretermes-italic.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyretermes-math.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "texgyretermes-regular.otf" : { + "installed_by" : [ + "fonts-texgyre" + ] + }, + "thabit-bold-oblique.ttf" : { + "installed_by" : [ + "fonts-hosny-thabit" + ] + }, + "thabit-bold.ttf" : { + "installed_by" : [ + "fonts-hosny-thabit" + ] + }, + "thabit-oblique.ttf" : { + "installed_by" : [ + "fonts-hosny-thabit" + ] + }, + "thabit.ttf" : { + "installed_by" : [ + "fonts-hosny-thabit" + ] + }, + "thwart.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tibetanmachineuni.ttf" : { + "installed_by" : [ + "fonts-tibetan-machine" + ] + }, + "tibetansambhotayigchung.ttf" : { + "installed_by" : [ + "fonts-sambhota-yigchung" + ] + }, + "timmanaregular.ttf" : { + "installed_by" : [ + "fonts-teluguvijayam" + ] + }, + "timrom.ttf" : { + "installed_by" : [ + "fonts-povray" + ] + }, + "tinos-bold.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "tinos-bolditalic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "tinos-italic.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "tinos-regular.ttf" : { + "installed_by" : [ + "fonts-croscore" + ] + }, + "tint.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "tipa10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipa12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipa17.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipa8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipa9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipab10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipabs10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipabx10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipabx12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipabx8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipabx9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasi10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasl10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasl12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasl8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipasl9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipass10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipass12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipass17.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipass8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipass9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipats10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipatt10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipatt12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipatt8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipatt9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipx10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipx12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipx17.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipx8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipx9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxbs10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxbx10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxbx12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxbx8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxbx9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsi10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsl10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsl12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsl8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxsl9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxss10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxss12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxss17.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxss8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxss9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxts10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxtt10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxtt12.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxtt8.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tipxtt9.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "tirekv__.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofont.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofont_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofont_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofontz.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofontz_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_infofontz_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_lpfont.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_lpfont_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_lpfont_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfont.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfont_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfont_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfontz.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfontz_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_pcfontz_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfont.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfont_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfont_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfontz.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfontz_bold.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "tiresias_signfontz_italic.ttf" : { + "installed_by" : [ + "fonts-tiresias" + ] + }, + "titr.ttf" : { + "installed_by" : [ + "fonts-farsiweb" + ] + }, + "tlwgmono-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-mono-otf" + ] + }, + "tlwgmono-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-mono-ttf" + ] + }, + "tlwgmono-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-mono-otf" + ] + }, + "tlwgmono-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-mono-ttf" + ] + }, + "tlwgmono-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-mono-otf" + ] + }, + "tlwgmono-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-mono-ttf" + ] + }, + "tlwgmono.otf" : { + "installed_by" : [ + "fonts-tlwg-mono-otf" + ] + }, + "tlwgmono.ttf" : { + "installed_by" : [ + "fonts-tlwg-mono-ttf" + ] + }, + "tlwgtypewriter-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-otf" + ] + }, + "tlwgtypewriter-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-ttf" + ] + }, + "tlwgtypewriter-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-otf" + ] + }, + "tlwgtypewriter-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-ttf" + ] + }, + "tlwgtypewriter-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-otf" + ] + }, + "tlwgtypewriter-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-ttf" + ] + }, + "tlwgtypewriter.otf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-otf" + ] + }, + "tlwgtypewriter.ttf" : { + "installed_by" : [ + "fonts-tlwg-typewriter-ttf" + ] + }, + "tlwgtypist-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-typist-otf" + ] + }, + "tlwgtypist-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-typist-ttf" + ] + }, + "tlwgtypist-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typist-otf" + ] + }, + "tlwgtypist-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typist-ttf" + ] + }, + "tlwgtypist-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typist-otf" + ] + }, + "tlwgtypist-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typist-ttf" + ] + }, + "tlwgtypist.otf" : { + "installed_by" : [ + "fonts-tlwg-typist-otf" + ] + }, + "tlwgtypist.ttf" : { + "installed_by" : [ + "fonts-tlwg-typist-ttf" + ] + }, + "tlwgtypo-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-typo-otf" + ] + }, + "tlwgtypo-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-typo-ttf" + ] + }, + "tlwgtypo-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typo-otf" + ] + }, + "tlwgtypo-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typo-ttf" + ] + }, + "tlwgtypo-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-typo-otf" + ] + }, + "tlwgtypo-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-typo-ttf" + ] + }, + "tlwgtypo.otf" : { + "installed_by" : [ + "fonts-tlwg-typo-otf" + ] + }, + "tlwgtypo.ttf" : { + "installed_by" : [ + "fonts-tlwg-typo-ttf" + ] + }, + "tnua-libre.ttf" : { + "installed_by" : [ + "fonts-cegui" + ] + }, + "tomsontalks.ttf" : { + "installed_by" : [ + "fonts-tomsontalks" + ] + }, + "tonik.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tragic2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "trainone-regular.ttf" : { + "installed_by" : [ + "fonts-train" + ] + }, + "tribunadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-boldcond.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-boldconditalic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-cond.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-conditalic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-extrabold.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-extrabolditalic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-medium.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-mediumitalic.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "tribunadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-tribun" + ] + }, + "triodpostnaja.ttf" : { + "installed_by" : [ + "fonts-triod-postnaja" + ] + }, + "tscu_comic.ttf" : { + "installed_by" : [ + "fonts-taml-tscu" + ] + }, + "tscu_paranar.ttf" : { + "installed_by" : [ + "fonts-taml-tscu" + ] + }, + "tscu_paranarb.ttf" : { + "installed_by" : [ + "fonts-taml-tscu" + ] + }, + "tscu_paranari.ttf" : { + "installed_by" : [ + "fonts-taml-tscu" + ] + }, + "tscu_times.ttf" : { + "installed_by" : [ + "fonts-taml-tscu" + ] + }, + "tsextolo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tsextols.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tuffy.ttf" : { + "installed_by" : [ + "fonts-tuffy" + ] + }, + "tuffy_bold.ttf" : { + "installed_by" : [ + "fonts-tuffy", + "fonts-tuffy" + ] + }, + "tuffy_bold_italic.ttf" : { + "installed_by" : [ + "fonts-tuffy", + "fonts-tuffy" + ] + }, + "tuffy_italic.ttf" : { + "installed_by" : [ + "fonts-tuffy", + "fonts-tuffy" + ] + }, + "tuffy_regular.ttf" : { + "installed_by" : [ + "fonts-tuffy" + ] + }, + "turmoil.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "tw-kai-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-kai" + ] + }, + "tw-kai-ext-b-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-kai" + ] + }, + "tw-kai-plus-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-kai" + ] + }, + "tw-sung-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-sung" + ] + }, + "tw-sung-ext-b-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-sung" + ] + }, + "tw-sung-plus-98_1.ttf" : { + "installed_by" : [ + "fonts-cns11643-sung" + ] + }, + "tymes.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "tymesbd.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "typoscript.otf" : { + "installed_by" : [ + "fonts-levien-typoscript" + ] + }, + "ubiquity.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ubuntu-title.ttf" : { + "installed_by" : [ + "fonts-ubuntu-title" + ] + }, + "ukij3d.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukij_macbasma.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukij_macbasmabold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukij_macekran.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukij_macekranbold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijbasma.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijbom.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijchechek.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijchik.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijcjk.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijdi.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijdik.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijdit.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijdiy.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijekran.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijelipbe-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijelipbe.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijelipbech-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijelipbech.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijes.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijesbold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijesc.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijesn.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijesq.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijest.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijimaret.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijinichke.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijinichkeb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijje.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijjunu.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijka.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijka3d-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijka3d.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkesme-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkesme.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkesmetuz-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkesmetuz.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijku.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijku3d.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuchi.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkug.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuka.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkut.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuu.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuy.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuyb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijkuyol.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijme.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijmejn.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijmejt.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijmoyq.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijnsq.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijnsqb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijnsqz.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijnsqzb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijorqun_b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijorqun_y.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijorxun.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqara-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqara.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqol_tez.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqol_tuz.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqol_yantu.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijqolyazma.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijru.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijsaet.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijsls.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijslsbold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijslstom.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijteng-b.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijteng.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtiken.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtitle.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtor.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtughra.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtut.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuz.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzbb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzbold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzg.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzgb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzk.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzkb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzq.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtuzqb.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtzneqish.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtztr.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijtztrbold.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ukijzilwa.ttf" : { + "installed_by" : [ + "fonts-ukij-uyghur" + ] + }, + "ume-hgo4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-hgo5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgc4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgc5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgo4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgo5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgs4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pgs5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pmo3.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-pms3.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgc4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgc5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgo4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgo5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgs4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tgs5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tmo3.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-tms3.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-ugo4.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "ume-ugo5.ttf" : { + "installed_by" : [ + "fonts-horai-umefont" + ] + }, + "umeplus-cl-gothic.ttf" : { + "installed_by" : [ + "fonts-umeplus-cl" + ] + }, + "umeplus-clp-gothic.ttf" : { + "installed_by" : [ + "fonts-umeplus-cl" + ] + }, + "umeplus-gothic.ttf" : { + "installed_by" : [ + "fonts-umeplus" + ] + }, + "umeplus-p-gothic.ttf" : { + "installed_by" : [ + "fonts-umeplus" + ] + }, + "umpush-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "umpush-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "umpush-light.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush-light.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "umpush-lightoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush-lightoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "umpush-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "umpush.otf" : { + "installed_by" : [ + "fonts-tlwg-umpush-otf" + ] + }, + "umpush.ttf" : { + "installed_by" : [ + "fonts-tlwg-umpush-ttf" + ] + }, + "unanimo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unanimoi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unbatang.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "unbatangbold.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "underscr.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "underwhe.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "underwho.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "undinaru.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "undinarubold.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "undinarulight.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "undotum.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "undotumbold.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "undrscr2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "ungraphic.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "ungraphicbold.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "ungungseo.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "unidings_hint.ttf" : { + "installed_by" : [ + "fonts-ancient-scripts" + ] + }, + "unifont.ttf" : { + "installed_by" : [ + "fonts-unifont" + ] + }, + "unifont_csur.ttf" : { + "installed_by" : [ + "fonts-unifont" + ] + }, + "unifont_sample.ttf" : { + "installed_by" : [ + "fonts-unifont" + ] + }, + "unifont_upper.ttf" : { + "installed_by" : [ + "fonts-unifont" + ] + }, + "unifur.ttf" : { + "installed_by" : [ + "fonts-eurofurence" + ] + }, + "unikuweb.ttf" : { + "installed_by" : [ + "fonts-unikurdweb" + ] + }, + "united.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "universalisadfstd-bold.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-boldcond.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-boldcondit.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-cond.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-conditalic.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-italic.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "universalisadfstd-regular.otf" : { + "installed_by" : [ + "fonts-adf-universalis" + ] + }, + "unjamobatang.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unjamodotum.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unjamonovel.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unjamosora.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unlearn2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unlearne.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unpen.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unpenheulim.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unpilgi.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "unpilgia.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unpilgibold.ttf" : { + "installed_by" : [ + "fonts-unfonts-core" + ] + }, + "unrespon.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unshinmun.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "untaza.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unvada.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "unxgala.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unxgalaw.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unxgalo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unxgalwo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "unyetgul.ttf" : { + "installed_by" : [ + "fonts-unfonts-extra" + ] + }, + "upheavtt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "upraise.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "urcompi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "urcompo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "uroob-regular.ttf" : { + "installed_by" : [ + "fonts-smc-uroob" + ] + }, + "urwbookman-demi.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwbookman-demiitalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwbookman-light.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwbookman-lightitalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwgothic-book.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwgothic-bookoblique.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwgothic-demi.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "urwgothic-demioblique.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "utkal.ttf" : { + "installed_by" : [ + "fonts-orya-extra" + ] + }, + "vacantz.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vanished.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vantage.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "variance.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vemana2000.ttf" : { + "installed_by" : [ + "fonts-telu-extra" + ] + }, + "vera.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "verabd.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "verabi.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "verait.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "veramobd.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "veramobi.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "veramoit.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "veramono.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "verana-bold.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "verana-bolditalic.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "verana-italic.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "verana-regular.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasans-bold.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasans-boldoblique.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasans-oblique.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasans-regular.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasansdemi-oblique.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasansdemi-regular.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasansmedium-oblique.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranasansmedium-regular.otf" : { + "installed_by" : [ + "fonts-adf-verana" + ] + }, + "veranda.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "verandabd.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "verandabdit.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "verandait.ttf" : { + "installed_by" : [ + "fonts-arkpandora" + ] + }, + "verase.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "verasebd.ttf" : { + "installed_by" : [ + "ttf-bitstream-vera" + ] + }, + "vertigo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vertigo2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vertigup.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vertiup2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vigilanc.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vindicti.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "visitor1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "visitor2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vl-gothic-regular.ttf" : { + "installed_by" : [ + "fonts-vlgothic" + ] + }, + "vl-pgothic-regular.ttf" : { + "installed_by" : [ + "fonts-vlgothic" + ] + }, + "volatil1.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "volatil2.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "vollkorn-black.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-blackitalic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-bold.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-bolditalic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-extrabold.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-extrabolditalic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-italic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-medium.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-regular.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-semibold.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "vollkorn-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-vollkorn" + ] + }, + "wager.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wagerlos.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wagerwon.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "waree-bold.otf" : { + "installed_by" : [ + "fonts-tlwg-waree-otf" + ] + }, + "waree-bold.ttf" : { + "installed_by" : [ + "fonts-tlwg-waree-ttf" + ] + }, + "waree-boldoblique.otf" : { + "installed_by" : [ + "fonts-tlwg-waree-otf" + ] + }, + "waree-boldoblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-waree-ttf" + ] + }, + "waree-oblique.otf" : { + "installed_by" : [ + "fonts-tlwg-waree-otf" + ] + }, + "waree-oblique.ttf" : { + "installed_by" : [ + "fonts-tlwg-waree-ttf" + ] + }, + "waree.otf" : { + "installed_by" : [ + "fonts-tlwg-waree-otf" + ] + }, + "waree.ttf" : { + "installed_by" : [ + "fonts-tlwg-waree-ttf" + ] + }, + "wargames.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "washrab.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "washrasb.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "wasy10.ttf" : { + "installed_by" : [ + "fonts-lyx" + ] + }, + "waver.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wayward.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "waywards.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "weatherd.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "weathers.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "weaver.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "whatever.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "whipsnap.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wigsquig.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wincing.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wingding.ttf" : { + "installed_by" : [ + "fonts-wine" + ] + }, + "winks.ttf" : { + "installed_by" : [ + "fonts-dustin" + ] + }, + "withstan.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wobbly.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wookianos.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "wyvernwi.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "wyvernww.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "xeroxmal.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "xhume.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "xipa10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipab10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipabs10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipasb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipasi10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipasl10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipass10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipital.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "xipx10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxbs10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxsb10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxsi10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxsl10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xipxss10.pfb" : { + "installed_by" : [ + "xfonts-tipa" + ] + }, + "xmaslght.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "xtrusion.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yamsuf.otf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "yamsuf.ttf" : { + "installed_by" : [ + "fonts-ldco" + ] + }, + "yanonekaffeesatz-bold.otf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-bold.ttf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-light.otf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-light.ttf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-regular.otf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-regular.ttf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-thin.otf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yanonekaffeesatz-thin.ttf" : { + "installed_by" : [ + "fonts-yanone-kaffeesatz" + ] + }, + "yearend.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yebse.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "yesterda.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yielding.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yigezubisratgothic.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "yonder.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yoshisst.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yourcomp.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "yozba_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozba_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozba_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozba_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbaf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbaf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbaf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbafi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbap.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbap90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozbc_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbc_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbc_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbc_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbcf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbcf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbcf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbcfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozbe_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbe_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbe_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbe_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbe_m.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbe_m90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbef.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbef90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbef90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbefi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbefm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbefm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozbn_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbn_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbn_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbn_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbn_m.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbn_m90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnfm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbnfm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozbs_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbs_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbs_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbs_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsp.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozbsp90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozra_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozra_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozra_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozra_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozraf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozraf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozraf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozrafi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozrap.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozrap90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-antique" + ] + }, + "yozrc_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrc_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrc_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrc_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrcf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrcf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrcf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozrcfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-cute" + ] + }, + "yozre_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozre_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozre_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozre_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozre_m.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozre_m90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozref.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozref90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozref90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrefi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrefm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrefm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrex.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrex90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrexf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrexf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrexm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrexm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-edu" + ] + }, + "yozrn_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrn_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrn_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrn_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrn_m.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrn_m90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnfm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnfm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnx.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnx90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnxf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnxf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnxm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrnxm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-new-kana" + ] + }, + "yozrs_.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrs_90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrs_90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrs_i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsf90i.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsfi.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsp.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsp90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsx.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsx90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsxf.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsxf90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsxm.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yozrsxm90.ttf" : { + "installed_by" : [ + "fonts-yozvox-yozfont-standard-kana" + ] + }, + "yrsa-bold.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-bolditalic.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-italic.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-light.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-lightitalic.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-medium.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-mediumitalic.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-regular.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-semibold.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yrsa-semibolditalic.ttf" : { + "installed_by" : [ + "fonts-yrsa-rasa" + ] + }, + "yuseimagic-regular.ttf" : { + "installed_by" : [ + "fonts-yusei-magic" + ] + }, + "z003-mediumitalic.otf" : { + "installed_by" : [ + "fonts-urw-base35" + ] + }, + "z003034d.pfb" : { + "installed_by" : [ + "t1-cyrillic" + ] + }, + "zaghawaberia.otf" : { + "installed_by" : [ + "fonts-sil-zaghawa-beria" + ] + }, + "zainer-goticoantiqua96g.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "zainer-initials45mm.otf" : { + "installed_by" : [ + "fonts-gotico-antiqua" + ] + }, + "zawgyione2008.ttf" : { + "installed_by" : [ + "fonts-myanmar" + ] + }, + "zelan.ttf" : { + "installed_by" : [ + "fonts-senamirmir-washra" + ] + }, + "zeldadxt.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zenith.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zephyrea.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zephyreg.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zerovelo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zirccube.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zirconia.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zoetrope.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zoidal.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zurklezo.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + }, + "zurklezs.ttf" : { + "installed_by" : [ + "fonts-aenigma", + "ttf-aenigma" + ] + } + }, + "preamble" : { + "last_update" : "2021-11-22T19:52:27Z", + "title" : "Fonts Available for Installation" + } +} diff -Nru lintian-2.111.0ubuntu2/debian/changelog lintian-2.114.0ubuntu1/debian/changelog --- lintian-2.111.0ubuntu2/debian/changelog 2021-11-15 13:09:34.000000000 +0100 +++ lintian-2.114.0ubuntu1/debian/changelog 2022-01-11 17:29:18.000000000 +0100 @@ -1,3 +1,145 @@ +lintian (2.114.0ubuntu1) jammy; urgency=medium + + * Merge with Debian unstable (LP: #1957100). Remaining changes: + - Fix building udebs, now that in Ubuntu noudebs is implied profile + (LP #1918120) + - Add zst as allowed compression for .deb & .udeb although we don't + actually ship udeb package that supports zst. (LP #1923845) + - Add AC_INIT in + macro-not-cross-compilation-safe/build-spec/orig/src/configure.ac + (LP #1950989) + + -- Simon Chopin Tue, 11 Jan 2022 17:29:18 +0100 + +lintian (2.114.0) unstable; urgency=medium + + [ Felix Lechner ] + * Issue no-code-sections only for entire archives that contain no code + sections at all. (Closes: #1000469) + * Provide better file pointers for defective override files. + (Closes: #1000494) + * In the refresh script fetching font data, use the new Contents-all.gz + file served by the Debian archive. + * Refresh fonts data using new script and record all installables in + which font is shipped. + * Refresh Debhelper add-ons and commands and recognize click and + dh_click from click-dev. + + [ Rafael Laboissière ] + * Stop checking for bash-centric terms after 'exec' in shell scripts. + (Closes: #999756) + + -- Chris Lamb Sat, 27 Nov 2021 17:20:56 +0000 + +lintian (2.113.0) unstable; urgency=medium + + * Summary of tag changes: + + Added: + - anticipated-repack-count + - dfsg-version-with-tilde + - dot-before-repack-count + - elf-error + - elf-warning + - no-code-sections + - static-link-time-optimization + + Removed: + - apparently-corrupted-elf-binary + + [ Felix Lechner ] + * Bump the maximum plausible bug number to 1,500,000. (Closes: #1000148) + * Flag static archives without code sections, as can happen with LTO + objects. (Closes: #977596) + * Flag use of link-time-optimization (LTO) in static archives. + (Closes: #963057) + * Exempt Coq's cmxs files from the shared-library-lacks-prerequisites + tag. (Closes: #999602) + * Accommodate dune's file names for the bytecode in OCaml interfaces. + (Closes: #999601) + * Drop 'type' from the list of bash-centric expressions. + (Closes: #999878) + * Fix CI failure on armhf due to a parsing failure of readelf output. + * Adjust refresh script fetching debhelper data for the new + Contents-all.gz served by archive. + * Refresh debhelper data. + + [ Kentaro Hayashi ] + * Add the dfsg-version-with-tilde tag, as opposed to a plus. + * Add a new tag about a possibly unnecessary repack count for upstream + sources. + * Add a tag about source versions with a dot before the repack count. + + -- Chris Lamb Sat, 20 Nov 2021 16:43:03 +0000 + +lintian (2.112.0) unstable; urgency=medium + + * Summary of tag changes: + + Added: + - add-component-copyright + - adopted-extended-field + - archive-liberty-mismatch + - build-prerequisite-in-installable-section + - circular-installation-prerequisite + - composer-prerequisite + - control-file-contains-dh-make-vcs-comment + - installable-field-mirrors-source + - invalid-systemd-documentation + - kill-mode-none + - no-source-section + - prefer-uscan-symlink + - redundant-installation-prerequisite + - relative-library-search-path + - rules-do-not-require-root + - rules-require-root-explicitly + - unicode-trojan + - update-debian-copyright + - upstream-metadata + + Removed: + - binary-control-field-duplicates-source + - build-info-in-binary-control-file-section + - control-file-contains-dh_make-vcs-comment + - package-depends-on-itself + - rules-does-not-require-root + - rules-requires-root-explicitly + - section-area-mismatch + - stronger-dependency-implies-weaker + - upstream-metadata-field-present + - xc-package-type-in-debian-control + - xs-testsuite-field-in-debian-control + - xs-vcs-field-in-debian-control + + [ Felix Lechner ] + * Flag potential 'trojan' Unicode codepoints. + * In debian/watch, suggest the use of 'USCAN_SYMLINK=rename' when + 'filenamemangle' is present. + * Add field content to and rename old tag to 'upstream-metadata'. + (Closes: #993813) + * Find invalid URIs for Documentation in systemd .service files. + (Closes: #980447) + * Flag 'KillMode=none' in systemd service files. (Closes: #978048) + * Flag outdated copyright years for debian files relative to latest + changelog entry. (Closes: #949201) + * Flag relative RPATHS separately and use a regular tag for absolute + RPATHS only. (Closes: #732682) + * Flag missing versions in debian/watch only for files with meaningful + content. (Closes: #992569) + * Flag when orig source components are not mentioned by name in + debian/copyright. (Closes: #915384) + * Flag sources declaring a package relationship on the PHP composer. + (Closes: #977150) + * Fix path to external documentation in tag description. + (Closes: #999477) + * Allow the "Description" field in .dsc and in source stanzas of + debian/control. (Closes: #998115) + * Re-enable OSC 8 terminal hyperlinks following GCC's lead. + + [ Stephen Kitt ] + * Calculate game executable permissions correctly. + + [ xiao sheng wen ] + * Update tags/g/groff-message.tag for LC_ALL=C.UTF-8. + + -- Chris Lamb Sat, 13 Nov 2021 15:25:15 +0000 + lintian (2.111.0ubuntu2) jammy; urgency=medium * Add AC_INIT in diff -Nru lintian-2.111.0ubuntu2/debian/control lintian-2.114.0ubuntu1/debian/control --- lintian-2.111.0ubuntu2/debian/control 2021-11-11 12:24:55.000000000 +0100 +++ lintian-2.114.0ubuntu1/debian/control 2022-01-11 17:29:18.000000000 +0100 @@ -43,6 +43,7 @@ libcpanel-json-xs-perl, libdata-dpath-perl, libdata-validate-domain-perl, + libdata-validate-uri-perl, libdevel-size-perl, libdigest-sha-perl, libdpkg-perl, @@ -69,6 +70,7 @@ libsereal-decoder-perl, libsereal-encoder-perl, libsort-versions-perl, + libsyntax-keyword-try-perl, libterm-readkey-perl, libtext-glob-perl, libtext-levenshteinxs-perl, @@ -77,8 +79,6 @@ libtime-duration-perl, libtime-moment-perl, libtimedate-perl, - libtry-tiny-perl, - libtype-tiny-perl, libunicode-utf8-perl, liburi-perl, libxml-libxml-perl, diff -Nru lintian-2.111.0ubuntu2/debian/tests/control lintian-2.114.0ubuntu1/debian/tests/control --- lintian-2.111.0ubuntu2/debian/tests/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/debian/tests/control 2022-01-11 17:11:33.000000000 +0100 @@ -41,6 +41,7 @@ python3-dev, python3-all-dev, python3-numpy, + python3-setuptools, quilt, tidy, uglifyjs, diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Archive.pm lintian-2.114.0ubuntu1/lib/Lintian/Archive.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Archive.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Archive.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,178 @@ +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Archive; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use IPC::Run3; +use Path::Tiny; +use Unicode::UTF8 qw(encode_utf8); + +use Moo; +use namespace::clean; + +const my $SLASH => q{/}; + +const my $WAIT_STATUS_SHIFT => 8; + +=head1 NAME + +Lintian::Archive -- Facilities for archive data + +=head1 SYNOPSIS + +use Lintian::Archive; + +=head1 DESCRIPTION + +A class for downloading and accessing archive information + +=head1 INSTANCE METHODS + +=over 4 + +=item mirror_base + +=item work_folder + +=item packages + +=cut + +has mirror_base => (is => 'rw', default => 'https://deb.debian.org/debian'); + +has work_folder => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my $work_folder + = Path::Tiny->tempdir(TEMPLATE => 'lintian-archive-XXXXXXXXXX'); + + return $work_folder; + }); + +has packages => (is => 'rw', default => sub { {} }); + +=item contents_gz + +=cut + +sub contents_gz { + my ($self, $release, $archive_liberty, $installable_architecture) = @_; + + my $relative + = "$release/$archive_liberty/Contents-$installable_architecture.gz"; + my $local_path = $self->work_folder . $SLASH . $relative; + + return $local_path + if -e $local_path; + + path($local_path)->parent->mkpath; + + my $url = $self->mirror_base . "/dists/$relative"; + + my $stderr; + run3([qw{wget --quiet}, "--output-document=$local_path", $url], + undef, \$stderr); + my $status = ($? >> $WAIT_STATUS_SHIFT); + + # stderr already in UTF-8 + die $stderr + if $status; + + return $local_path; +} + +=item deb822_packages_by_installable_name + +=cut + +sub deb822_packages_by_installable_name { + my ($self, $release, $archive_liberty, $port) = @_; + + return $self->packages->{$release}{$archive_liberty}{$port} + if exists $self->packages->{$release}{$archive_liberty}{$port}; + + my $relative_unzipped = "$release/$archive_liberty/binary-$port/Packages"; + my $local_path = $self->work_folder . $SLASH . $relative_unzipped; + + path($local_path)->parent->mkpath; + + my $url = $self->mirror_base . "/dists/$relative_unzipped.gz"; + + my $stderr; + + run3([qw{wget --quiet}, "--output-document=$local_path.gz", $url], + undef, \$stderr); + my $status = ($? >> $WAIT_STATUS_SHIFT); + + # stderr already in UTF-8 + die $stderr + if $status; + + run3(['gunzip', "$local_path.gz"], undef, \$stderr); + $status = ($? >> $WAIT_STATUS_SHIFT); + + # stderr already in UTF-8 + die $stderr + if $status; + + my $deb822 = Lintian::Deb822::File->new; + my @sections = $deb822->read_file($local_path); + + unlink($local_path) + or die encode_utf8("Cannot delete $local_path"); + + my %section_by_installable_name; + for my $section (@sections) { + + my $installable_name = $section->value('Package'); + $section_by_installable_name{$installable_name} = $section; + } + + $self->packages->{$release}{$archive_liberty}{$port} + = \%section_by_installable_name; + + return \%section_by_installable_name; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/AppstreamMetadata.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/AppstreamMetadata.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/AppstreamMetadata.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/AppstreamMetadata.pm 2022-01-11 17:11:33.000000000 +0100 @@ -36,6 +36,7 @@ use autodie qw(open); use File::Basename qw(basename); +use Syntax::Keyword::Try; use XML::LibXML; use Moo; @@ -119,10 +120,14 @@ my $parser = XML::LibXML->new; $parser->set_option('no_network', 1); - my $doc = eval {$parser->parse_file($metadatafile->unpacked_path);}; - if ($@) { + my $doc; + try { + $doc = $parser->parse_file($metadatafile->unpacked_path); + + } catch { $self->hint('appstream-metadata-invalid', basename($metadatafile->unpacked_path)); + return 0; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Archive/Liberty/Mismatch.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Archive/Liberty/Mismatch.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Archive/Liberty/Mismatch.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Archive/Liberty/Mismatch.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,138 @@ +# archive/liberty/mismatch -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Archive::Liberty::Mismatch; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use List::SomeUtils qw(all none); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $ARROW => q{->}; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + # Check that every package is in the same archive area, except + # that sources in main can deliver both main and contrib packages. + # The source package may or may not have a section specified; if + # it doesn't, derive the expected archive area from the first + # binary package by leaving $source_liberty undefined until parsing the + # first binary section. Missing sections will be caught by other + # checks. + + my $source_section = $source_fields->value('Section'); + return + unless length $source_section; + + # see policy 2.4 + $source_section = "main/$source_section" + if $source_section !~ m{/}; + + my $source_liberty = $source_section; + $source_liberty =~ s{ / .* $}{}x; + + my %liberty_by_installable; + + for my $installable ($control->installables) { + + my $installable_fields = $control->installable_fields($installable); + + my $installable_section; + if ($installable_fields->declares('Section')) { + + $installable_section = $installable_fields->value('Section'); + + # see policy 2.4 + $installable_section = "main/$installable_section" + if $installable_section !~ m{/}; + } + + $installable_section ||= $source_section; + + my $installable_liberty = $installable_section; + $installable_liberty =~ s{ / .* $}{}x; + + $liberty_by_installable{$installable} = $installable_liberty; + + # special exception for contrib built from main + next + if $source_liberty eq 'main' && $installable_liberty eq 'contrib'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position('Section')); + + $self->pointed_hint('archive-liberty-mismatch', $pointer, + "(in section for $installable)", + $installable_liberty, 'vs', $source_liberty) + if $source_liberty ne $installable_liberty; + } + + # in ascending order of liberty + for my $inferior_liberty ('non-free', 'contrib') { + + # must remain inferior + last + if $inferior_liberty eq $source_liberty; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position('Section')); + + $self->pointed_hint('archive-liberty-mismatch', $pointer, + '(in source paragraph)', + $source_liberty,$ARROW, $inferior_liberty) + if ( + all { $liberty_by_installable{$_} eq $inferior_liberty } + keys %liberty_by_installable + ) + && ( + none { $liberty_by_installable{$_} eq $source_liberty } + keys %liberty_by_installable + ); + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Archive/NonFree/Autobuild.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Archive/NonFree/Autobuild.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Archive/NonFree/Autobuild.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Archive/NonFree/Autobuild.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,73 @@ +# archive/non-free/autobuild -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Archive::NonFree::Autobuild; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + return + unless $self->processable->is_non_free; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + my $changes = $self->group->changes; + + # source-only upload + if (defined $changes + && $changes->fields->value('Architecture') eq 'source') { + + my $field = 'XS-Autobuild'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + $self->pointed_hint('source-only-upload-to-non-free-without-autobuild', + $pointer, '(in the source paragraph)', $field) + if !$source_fields->declares($field) + || $source_fields->value($field) eq 'no'; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Corrupted.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Corrupted.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Corrupted.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Corrupted.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,25 +27,57 @@ use warnings; use utf8; +use List::SomeUtils qw(uniq); + +use Lintian::Pointer::Item; + use Moo; use namespace::clean; with 'Lintian::Check'; +sub visit_patched_files { + my ($self, $item) = @_; + + $self->check_elf_issues($item); + + return; +} + sub visit_installed_files { my ($self, $item) = @_; - # $object_name can be an object inside a static lib. These do - # not appear in the output of our file_info collection. - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; + $self->check_elf_issues($item); + + return; +} + +sub check_elf_issues { + my ($self, $item) = @_; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('elf-error',$pointer, $_) + for uniq @{$item->elf->{ERRORS} // []}; + + $self->pointed_hint('elf-warning', $pointer, $_) + for uniq @{$item->elf->{WARNINGS} // []}; + + # static library + for my $member_name (keys %{$item->elf_by_member}) { + + my $member_elf = $item->elf_by_member->{$member_name}; + + $self->pointed_hint('elf-error', $pointer, $member_name, $_) + for uniq @{$member_elf->{ERRORS} // []}; - $self->hint('apparently-corrupted-elf-binary', $item->name) - if $objdump->{ERRORS}; + $self->pointed_hint('elf-warning', $pointer, $member_name, $_) + for uniq @{$member_elf->{WARNINGS} // []}; + } - $self->hint('binary-with-bad-dynamic-table', $item->name) - if $objdump->{'BAD-DYNAMIC-TABLE'} + $self->pointed_hint('binary-with-bad-dynamic-table', $pointer) + if $item->elf->{'BAD-DYNAMIC-TABLE'} && $item->name !~ m{^usr/lib/debug/}; return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/DebugSymbols/Detached.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/DebugSymbols/Detached.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/DebugSymbols/Detached.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/DebugSymbols/Detached.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,7 +27,7 @@ use warnings; use utf8; -use List::SomeUtils qw(none); +use List::Compare; use Moo; use namespace::clean; @@ -54,18 +54,24 @@ unless $item->name =~ m{^ usr/lib/debug/ (?:lib\d*|s?bin|usr|opt|dev|emul|\.build-id) / }x; - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; - $self->hint('debug-symbols-not-detached', $item) - if exists $objdump->{NEEDED}; + if exists $item->elf->{NEEDED}; # Something other than detached debugging symbols in # /usr/lib/debug paths. - my @DEBUG_SECTIONS = qw{.debug_line .zdebug_line .debug_str .zdebug_str}; + my @KNOWN_DEBUG_SECTION_NAMES + = qw{.debug_line .zdebug_line .debug_str .zdebug_str}; + + my @elf_sections = values %{$item->elf->{'SECTION-HEADERS'}}; + my @have_section_names = map { $_->name } @elf_sections; + + my $lc_name + = List::Compare->new(\@have_section_names, \@KNOWN_DEBUG_SECTION_NAMES); + + my @have_debug_sections = $lc_name->get_intersection; + $self->hint('debug-file-with-no-debug-symbols', $item) - if none { exists $objdump->{SH}{$_} } @DEBUG_SECTIONS; + unless @have_debug_sections; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Hardening.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Hardening.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Hardening.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Hardening.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,6 +27,8 @@ use warnings; use utf8; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -78,46 +80,70 @@ return $built_with_golang; }); -sub installable { - my ($self) = @_; +sub visit_installed_files { + my ($self, $item) = @_; + + my @elf_hardened; + my @elf_unhardened; + + for my $symbol (@{$item->elf->{SYMBOLS}}) { + + next + unless $symbol->section eq 'UND'; - for my $object_name (sort keys %{$self->processable->objdump_info}) { + if ($symbol->name =~ /^__(\S+)_chk$/) { - my $objdump = $self->processable->objdump_info->{$object_name}; + my $vulnerable = $1; + push(@elf_hardened, $vulnerable) + if $self->HARDENED_FUNCTIONS->recognizes($vulnerable); - my @hardened_functions; - my @unhardened_functions; - for my $entry (@{$objdump->{SYMBOLS}}) { - my ($section, $version, $symbol) = @{$entry}; + } else { + + push(@elf_unhardened, $symbol->name) + if $self->HARDENED_FUNCTIONS->recognizes($symbol->name); + } + } + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('hardening-no-fortify-functions', $pointer) + if @elf_unhardened + && !@elf_hardened + && !$self->built_with_golang + && $self->recommended_hardening_features->{fortify}; + + for my $member_name (keys %{$item->elf_by_member}) { + + my @member_hardened; + my @member_unhardened; + + for my $symbol (@{$item->elf_by_member->{$member_name}{SYMBOLS}}) { next - unless $section eq 'UND'; + unless $symbol->section eq 'UND'; + + if ($symbol->name =~ /^__(\S+)_chk$/) { - if ($symbol =~ /^__(\S+)_chk$/) { my $vulnerable = $1; - push(@hardened_functions, $vulnerable) + push(@member_hardened, $vulnerable) if $self->HARDENED_FUNCTIONS->recognizes($vulnerable); } else { - push(@unhardened_functions, $symbol) - if $self->HARDENED_FUNCTIONS->recognizes($symbol); + push(@member_unhardened, $symbol->name) + if $self->HARDENED_FUNCTIONS->recognizes($symbol->name); } } - $self->hint('hardening-no-fortify-functions', $object_name) - if @unhardened_functions - && !@hardened_functions + $self->pointed_hint('hardening-no-fortify-functions', + $pointer, $member_name) + if @member_unhardened + && !@member_hardened && !$self->built_with_golang && $self->recommended_hardening_features->{fortify}; } - return; -} - -sub visit_installed_files { - my ($self, $item) = @_; - return if $self->processable->type eq 'udeb'; @@ -128,26 +154,24 @@ if $item->file_info !~ m{^ [^,]* \b ELF \b }x || $item->file_info !~ m{ \b executable | shared [ ] object \b }x; - my $objdump = $self->processable->objdump_info->{$item->name}; - # dynamically linked? return - unless exists $objdump->{NEEDED}; + unless exists $item->elf->{NEEDED}; - $self->hint('hardening-no-relro', $item) + $self->pointed_hint('hardening-no-relro', $pointer) if $self->recommended_hardening_features->{relro} && !$self->built_with_golang - && !$objdump->{PH}{RELRO}; + && !$item->elf->{PH}{RELRO}; - $self->hint('hardening-no-bindnow', $item) + $self->pointed_hint('hardening-no-bindnow', $pointer) if $self->recommended_hardening_features->{bindnow} && !$self->built_with_golang - && !exists $objdump->{FLAGS_1}{NOW}; + && !exists $item->elf->{FLAGS_1}{NOW}; - $self->hint('hardening-no-pie', $item) + $self->pointed_hint('hardening-no-pie', $pointer) if $self->recommended_hardening_features->{pie} && !$self->built_with_golang - && $objdump->{'ELF-TYPE'} eq 'EXEC'; + && $item->elf->{'ELF-HEADER'}{Type} =~ m{^ EXEC }x; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/LargeFileSupport.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/LargeFileSupport.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/LargeFileSupport.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/LargeFileSupport.pm 2022-01-11 17:11:33.000000000 +0100 @@ -71,19 +71,14 @@ return if $item->name =~ m{^usr/lib/debug/}; - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; - my @unresolved_symbols; - for my $entry (@{$objdump->{SYMBOLS} // [] }) { - my ($resolution, $version, $symbol) = @{$entry}; + for my $symbol (@{$item->elf->{SYMBOLS} // [] }) { # ignore if defined in the binary next - unless $resolution eq 'UND'; + unless $symbol->section eq 'UND'; - push(@unresolved_symbols, $symbol); + push(@unresolved_symbols, $symbol->name); } # Using a 32bit only interface call, some parts of the diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Obsolete/Crypt.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Obsolete/Crypt.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Obsolete/Crypt.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Obsolete/Crypt.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,6 +27,8 @@ use warnings; use utf8; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -42,25 +44,41 @@ qr/\s*\|\|\s*/); }); -sub installable { - my ($self) = @_; +sub visit_installed_files { + my ($self, $item) = @_; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + for my $symbol (@{$item->elf->{SYMBOLS} // []}) { + + next + unless $symbol->section eq 'UND'; - for my $object_name (keys %{$self->processable->objdump_info}) { + next + unless $self->OBSOLETE_CRYPT_FUNCTIONS->recognizes($symbol->name); - my $objdump = $self->processable->objdump_info->{$object_name}; + my $tag = $self->OBSOLETE_CRYPT_FUNCTIONS->value($symbol->name); - for my $entry (@{$objdump->{SYMBOLS}}) { - my ($section, $version, $symbol) = @{$entry}; + $self->pointed_hint($tag, $pointer, $symbol->name); + } + + for my $member_name (keys %{$item->elf_by_member}) { + + for + my $symbol (@{$item->elf_by_member->{$member_name}{SYMBOLS} // []}) { next - unless $section eq 'UND'; + unless $symbol->section eq 'UND'; - if ($self->OBSOLETE_CRYPT_FUNCTIONS->recognizes($symbol)){ + next + unless $self->OBSOLETE_CRYPT_FUNCTIONS->recognizes( + $symbol->name); - my $tag = $self->OBSOLETE_CRYPT_FUNCTIONS->value($symbol); + my $tag = $self->OBSOLETE_CRYPT_FUNCTIONS->value($symbol->name); - $self->hint($tag, $object_name, $symbol); - } + $self->pointed_hint($tag, $pointer, "($member_name)", + $symbol->name); } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Prerequisites.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Prerequisites.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Prerequisites.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Prerequisites.pm 2022-01-11 17:11:33.000000000 +0100 @@ -35,7 +35,6 @@ with 'Lintian::Check'; -const my $EMPTY => q{}; const my $SPACE => q{ }; const my $LEFT_PARENTHESIS => q{(}; const my $RIGHT_PARENTHESIS => q{)}; @@ -79,9 +78,8 @@ unless $item->file_info =~ m{ executable | shared [ ] object }x; my $is_shared = $item->file_info =~ m/(shared object|pie executable)/; - my $objdump = $self->processable->objdump_info->{$item->name}; - for my $library (@{$objdump->{NEEDED} // [] }) { + for my $library (@{$item->elf->{NEEDED} // [] }) { $self->files_by_library->{$library} //= []; push(@{$self->files_by_library->{$library}}, $item->name); @@ -92,7 +90,7 @@ # has no dependencies). $self->hint('shared-library-lacks-prerequisites', $item) if $is_shared - && !@{$objdump->{NEEDED} // []} + && !@{$item->elf->{NEEDED} // []} && $item->name !~ m{^boot/modules/} && $item->name !~ m{^lib/modules/} && $item->name !~ m{^usr/lib/debug/} @@ -109,9 +107,9 @@ $self->hint('undeclared-elf-prerequisites', $item->name, $LEFT_PARENTHESIS - . join($SPACE, sort +uniq @{$objdump->{NEEDED}}) + . join($SPACE, sort +uniq @{$item->elf->{NEEDED} // []}) . $RIGHT_PARENTHESIS) - if @{$objdump->{NEEDED} // [] } + if @{$item->elf->{NEEDED} // [] } && $depends->is_empty; # If there is no libc dependency, then it is most likely a @@ -119,13 +117,13 @@ # but these tend to link against libstdc++ instead. (see # #719806) my $linked_with_libc - = any { m{^ libc[.]so[.] }x } @{$objdump->{NEEDED} // []}; + = any { m{^ libc[.]so[.] }x } @{$item->elf->{NEEDED} // []}; $self->hint('library-not-linked-against-libc', $item) if !$linked_with_libc && $is_shared - && @{$objdump->{NEEDED} // [] } - && (none { /^libc[.]so[.]/ } @{$objdump->{NEEDED} // [] }) + && @{$item->elf->{NEEDED} // [] } + && (none { /^libc[.]so[.]/ } @{$item->elf->{NEEDED} // [] }) && $item->name !~ m{/libc\b} && (!$self->built_with_octave || $item->name !~ m/\.(?:oct|mex)$/); @@ -133,9 +131,10 @@ $self->hint('program-not-linked-against-libc', $item) if !$linked_with_libc && !$is_shared - && @{$objdump->{NEEDED} // [] } - && (none { /^libstdc[+][+][.]so[.]/ } @{$objdump->{NEEDED} // [] }) - && !$self->built_with_octave; + && @{$item->elf->{NEEDED} // [] } + && ( + none { /^libstdc[+][+][.]so[.]/ } + @{$item->elf->{NEEDED} // [] })&& !$self->built_with_octave; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Profiling.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Profiling.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Profiling.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Profiling.pm 2022-01-11 17:11:33.000000000 +0100 @@ -35,31 +35,25 @@ sub visit_installed_files { my ($self, $item) = @_; - # $object_name can be an object inside a static lib. These do - # not appear in the output of our file_info collection. - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; - my $architecture = $self->processable->fields->value('Architecture'); my $is_profiled = 0; - for my $entry (@{$objdump->{SYMBOLS} // [] }) { - my ($section, $version, $symbol) = @{$entry}; + for my $symbol (@{$item->elf->{SYMBOLS} // [] }) { # According to the binutils documentation[1], the profiling symbol # can be named "mcount", "_mcount" or even "__mcount". # [1] http://sourceware.org/binutils/docs/gprof/Implementation.html $is_profiled = 1 - if $version =~ /^GLIBC_.*/ - && $symbol =~ m{\A _?+ _?+ (gnu_)?+mcount(_nc)?+ \Z}xsm; + if $symbol->version =~ /^GLIBC_.*/ + && $symbol->name =~ m{\A _?+ _?+ (gnu_)?+mcount(_nc)?+ \Z}xsm + && ($symbol->section eq 'UND' || $symbol->section eq '.text'); # This code was used to detect profiled code in Wheezy and earlier $is_profiled = 1 - if $section eq '.text' - && $version eq 'Base' - && $symbol eq '__gmon_start__' + if $symbol->section eq '.text' + && $symbol->version eq 'Base' + && $symbol->name eq '__gmon_start__' && $architecture ne 'hppa'; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Rpath.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Rpath.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Rpath.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Rpath.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,8 @@ use File::Spec; use List::SomeUtils qw(any); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -83,16 +85,7 @@ = map { $_ . $SLASH . $self->processable->source_name } (@lib_folders, @usrlib_folders, @game_folders); - my @normalized; - for my $folder (@private_folders) { - - $folder .= $SLASH - unless $folder =~ m{/\z}; - - push(@normalized, $folder); - } - - return \@normalized; + return \@private_folders; }); sub visit_installed_files { @@ -104,42 +97,42 @@ return unless $item->file_info =~ /^ [^,]* \b ELF \b /x; - my $objdump = $self->processable->objdump_info->{$item->name}; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); for my $section (qw{RPATH RUNPATH}) { - my @rpaths = keys %{$objdump->{$section} // {}}; + my @rpaths = keys %{$item->elf->{$section} // {}}; my @no_origin = grep { !m{^ \$ \{? ORIGIN \}? }x } @rpaths; my @canonical = map { File::Spec->canonpath($_) } @no_origin; - my @normalized; - for my $path (@canonical) { - - $path =~ s{^/}{}; - $path .= $SLASH - unless $path =~ m{/\z}; - - push(@normalized, $path); - } - my @custom; - for my $folder (@normalized) { + for my $folder (@canonical) { # for shipped folders, would have to disallow system locations next - if any { $folder =~ m{^\Q$_\E} } @{$self->private_folders}; + if any { $folder =~ m{^ / \Q$_\E }x } @{$self->private_folders}; # GHC in Debian uses a scheme for RPATH (#914873) next - if $folder =~ m{^usr/lib/ghc/}; + if $folder =~ m{^ /usr/lib/ghc (?: / | $ ) }x; push(@custom, $folder); } - $self->hint('custom-library-search-path', $item, $section, $_) - for @custom; + my @absolute = grep { m{^ / }x } @custom; + + $self->pointed_hint('custom-library-search-path', + $pointer, $section, $_) + for @absolute; + + my @relative = grep { m{^ [^/] }x } @custom; + + $self->pointed_hint('relative-library-search-path', + $pointer, $section, $_) + for @relative; } return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Static.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Static.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries/Static.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries/Static.pm 2022-01-11 17:11:33.000000000 +0100 @@ -65,10 +65,6 @@ return unless $item->file_info =~ m{ executable | shared [ ] object }x; - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; - my $is_shared = $item->file_info =~ m/(shared object|pie executable)/; # Some exceptions: files in /boot, /usr/lib/debug/*, @@ -81,13 +77,13 @@ # ldconfig must be static. $self->hint('statically-linked-binary', $item) if !$is_shared - && !exists $objdump->{NEEDED} + && !exists $item->elf->{NEEDED} && $item->name !~ m{^boot/} && $item->name !~ /[\.-]static$/ && $self->processable->name !~ /-static$/ && !$self->built_with_golang - && (!exists $objdump->{INTERP} - || $objdump->{INTERP} !~ m{/lib/klibc-\S+\.so}) + && (!exists $item->elf->{INTERP} + || $item->elf->{INTERP} !~ m{/lib/klibc-\S+\.so}) && $item->name !~ m{^usr/lib/debug/} && $item->name ne 'sbin/ldconfig'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Binaries.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Binaries.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,8 +27,7 @@ use warnings; use utf8; -use Const::Fast; -use List::SomeUtils qw(any); +use List::Compare; use Moo; use namespace::clean; @@ -44,19 +43,22 @@ return unless $item->file_info =~ /^ [^,]* \b ELF \b /x; - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; + my @KNOWN_STRIPPED_SECTION_NAMES = qw{.note .comment}; + + my @elf_sections = values %{$item->elf->{'SECTION-HEADERS'}}; + my @have_section_names = map { $_->name } @elf_sections; + + my $lc_name = List::Compare->new(\@have_section_names, + \@KNOWN_STRIPPED_SECTION_NAMES); - my @EXTRA_SECTIONS = qw{.note .comment}; - my @unneeded_sections = grep { exists $objdump->{SH}{$_} } @EXTRA_SECTIONS; + my @have_stripped_sections = $lc_name->get_intersection; # appropriately stripped, but is it stripped enough? if ( $item->file_info !~ m{ \b not [ ] stripped \b }x && $item->name !~ m{^ (?:usr/)? lib/ (?: debug | profile ) / }x) { $self->hint('binary-has-unneeded-section', $item->name, $_) - for @unneeded_sections; + for @have_stripped_sections; } return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/BuildSystems/Debhelper/MaintainerScript/Token.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/BuildSystems/Debhelper/MaintainerScript/Token.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/BuildSystems/Debhelper/MaintainerScript/Token.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/BuildSystems/Debhelper/MaintainerScript/Token.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,8 @@ use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -57,8 +59,12 @@ my $token = $1; - $self->hint('maintainer-script-has-unexpanded-debhelper-token', - $token, "[control/$item:$position]"); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('maintainer-script-has-unexpanded-debhelper-token', + $pointer, $token); } continue { ++$position; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/BuildSystems/Waf.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/BuildSystems/Waf.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/BuildSystems/Waf.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/BuildSystems/Waf.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,8 @@ use warnings; use utf8; +use Unicode::UTF8 qw(encode_utf8); + use Moo; use namespace::clean; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debhelper/Temporary.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debhelper/Temporary.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debhelper/Temporary.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debhelper/Temporary.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,60 @@ +# debhelper/temporary -- lintian check script -*- perl -*- + +# Copyright © 1999 by Joey Hess +# Copyright © 2016-2020 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debhelper::Temporary; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item->dirname eq 'debian/'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + # The regex matches "debhelper", but debhelper/Dh_Lib does not + # make those, so skip it. + $self->pointed_hint('temporary-debhelper-file', $pointer) + if $item->basename =~ m{ (?: ^ | [.] ) debhelper (?: [.]log )? $}x + && $item->basename ne 'debhelper'; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debhelper.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debhelper.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debhelper.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debhelper.pm 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,8 @@ -# debhelper format -- lintian check script -*- perl -*- +# debhelper -- lintian check script -*- perl -*- # Copyright © 1999 by Joey Hess # Copyright © 2016-2020 Chris Lamb +# Copyright © 2021 Felix Lechner # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,6 +33,7 @@ use Text::LevenshteinXS qw(distance); use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; use Lintian::Relation; use Moo; @@ -40,9 +42,11 @@ with 'Lintian::Check'; const my $EMPTY => q{}; +const my $SPACE => q{ }; const my $UNDERSCORE => q{_}; -const my $EQUAL => q{=}; -const my $HASHBANG => q{#!}; +const my $HORIZONTAL_BAR => q{|}; + +const my $ARROW => q{=>}; # If there is no debian/compat file present but cdbs is being used, cdbs will # create one automatically. Currently it always uses compatibility level 5. @@ -65,6 +69,32 @@ my $MISC_DEPENDS = Lintian::Relation->new->load('${misc:Depends}'); +# Manually maintained list of dh_commands that requires a versioned +# dependency *AND* are not provided by debhelper. Commands provided +# by debhelper is handled in checks/debhelper. +# +# This overrules any thing listed in dh_commands (which is auto-generated). + +my %DH_COMMAND_MANUAL_PREREQUISITES = ( + dh_apache2 => 'dh-apache2 | apache2-dev', + dh_autoreconf_clean => + 'dh-autoreconf | debhelper (>= 9.20160403~) | debhelper-compat', + dh_autoreconf => + 'dh-autoreconf | debhelper (>= 9.20160403~) | debhelper-compat', + dh_dkms => 'dkms | dh-sequence-dkms', + dh_girepository => 'gobject-introspection | dh-sequence-gir', + dh_gnome => 'gnome-pkg-tools | dh-sequence-gnome', + dh_gnome_clean => 'gnome-pkg-tools | dh-sequence-gnome', + dh_lv2config => 'lv2core', + dh_make_pgxs => 'postgresql-server-dev-all | postgresql-all', + dh_nativejava => 'gcj-native-helper | default-jdk-builddep', + dh_pgxs_test => 'postgresql-server-dev-all | postgresql-all', + dh_python2 => 'dh-python | dh-sequence-python2', + dh_python3 => 'dh-python | dh-sequence-python3', + dh_sphinxdoc => 'sphinx | python-sphinx | python3-sphinx', + dh_xine => 'libxine-dev | libxine2-dev' +); + # Manually maintained list of dependencies needed for dh addons. This overrides # information from data/common/dh_addons (the latter file is automatically # generated). @@ -95,26 +125,51 @@ 'debhelper (>= 9.20160709~) | debhelper-compat | dh-sequence-systemd | dh-systemd', ); +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item->dirname eq 'debian/'; + + return + if !$item->is_symlink && !$item->is_file; + + if ( $item->basename eq 'control' + || $item->basename =~ m/^(?:.*\.)?(?:copyright|changelog|NEWS)$/) { + + # Handle "control", [.]copyright, [.]changelog + # and [.]NEWS + + # The permissions of symlinks are not really defined, so resolve + # $item to ensure we are not dealing with a symlink. + my $actual = $item->resolve_path; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('package-file-is-executable', $pointer) + if $actual && $actual->is_executable; + + return; + } + + return; +} + sub source { my ($self) = @_; - my $processable = $self->processable; - my $group = $self->group; + my @MAINT_COMMANDS = @{$self->profile->debhelper_commands->maint_commands}; - my $maint_commands = $self->profile->load_data('debhelper/maint_commands'); - my $filename_configs + my $FILENAME_CONFIGS = $self->profile->load_data('debhelper/filename-config-files'); - my $compat_level = $self->profile->debhelper_levels; - - my $dh_ver_deps - = $self->profile->load_data('debhelper/dh_commands-manual', qr/\|\|/); - my $dh_addons = $self->profile->load_data('common/dh_addons', $EQUAL); - my $dh_commands_depends - = $self->profile->load_data('debhelper/dh_commands', $EQUAL); + my $DEBHELPER_LEVELS = $self->profile->debhelper_levels; + my $DH_ADDONS = $self->profile->debhelper_addons; + my $DH_COMMANDS_DEPENDS= $self->profile->debhelper_commands; my @KNOWN_DH_COMMANDS; - for my $command ($dh_commands_depends->all) { + for my $command ($DH_COMMANDS_DEPENDS->all) { for my $focus ($EMPTY, qw(-arch -indep)) { for my $timing (qw(override execute_before execute_after)) { @@ -124,49 +179,67 @@ } } - my $droot = $processable->patched->resolve_path('debian/'); - my ($drules, $dh_bd_version, $level); + my $debhelper_level; + my $dh_compat_variable; + my $maybe_skipping; + + my $uses_debhelper = 0; + my $uses_dh_exec = 0; + my $uses_autotools_dev_dh = 0; - my $seencommand = $EMPTY; - my $needbuilddepends = $EMPTY; - my $needdhexecbuilddepends = $EMPTY; - my $needtomodifyscripts = $EMPTY; - my $compat = 0; - my $seendhcleank = $EMPTY; - my (%missingbdeps, %missingbdeps_addons, $maybe_skipping, $dhcompatvalue); - my $inclcdbs = 0; + my $includes_cdbs = 0; + my $modifies_scripts = 0; - my (%build_systems, $uses_autotools_dev_dh); - my $seen_dh = 0; + my $seen_any_dh_command = 0; + my $seen_dh_sequencer = 0; my $seen_dh_dynamic = 0; my $seen_dh_systemd = 0; my $seen_dh_parallel = 0; - my %seen = ( - 'python2' => 0, - 'python3' => 0, - 'runit' => 0, - 'sphinxdoc' => 0, - ); + my $seen_dh_clean_k = 0; + + my %command_by_prerequisite; + my %addon_by_prerequisite; my %overrides; + my $droot = $self->processable->patched->resolve_path('debian/'); + + my $drules; $drules = $droot->child('rules') if $droot; - return unless $drules and $drules->is_open_ok; + return + unless $drules && $drules->is_open_ok; open(my $rules_fd, '<', $drules->unpacked_path) or die encode_utf8('Cannot open ' . $drules->unpacked_path); my $command_prefix_pattern = qr/\s+[@+-]?(?:\S+=\S+\s+)*/; - my $bdepends_norestriction - = $processable->relation_norestriction('Build-Depends-All'); - my $bdepends = $processable->relation('Build-Depends-All'); + my $build_prerequisites_norestriction + = $self->processable->relation_norestriction('Build-Depends-All'); + my $build_prerequisites= $self->processable->relation('Build-Depends-All'); + + my %seen = ( + 'python2' => 0, + 'python3' => 0, + 'runit' => 0, + 'sphinxdoc' => 0, + ); + + for (qw(python2 python3)) { - foreach (qw(python2 python3)) { - $seen{$_} = 1 if $bdepends_norestriction->satisfies("dh-sequence-$_"); + $seen{$_} = 1 + if $build_prerequisites_norestriction->satisfies("dh-sequence-$_"); } + my %build_systems; + + my $position = 1; while (my $line = <$rules_fd>) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($drules); + $pointer->position($position); + while ($line =~ s/\\$// && defined(my $cont = <$rules_fd>)) { $line .= $cont; } @@ -182,94 +255,118 @@ if $line =~ /^\s*\#/; if ($line =~ /^$command_prefix_pattern(dh_(?!autoreconf)\S+)/) { - my $dhcommand = $1; + + my $dh_command = $1; + $build_systems{'debhelper'} = 1 - if not exists($build_systems{'dh'}); + unless exists $build_systems{'dh'}; - if ($dhcommand eq 'dh_installmanpages') { - $self->hint('dh_installmanpages-is-obsolete', "line $."); - } + $self->pointed_hint('dh_installmanpages-is-obsolete',$pointer) + if $dh_command eq 'dh_installmanpages'; - if ( $dhcommand eq 'dh_autotools-dev_restoreconfig' - or $dhcommand eq 'dh_autotools-dev_updateconfig') { - $self->hint( + if ( $dh_command eq 'dh_autotools-dev_restoreconfig' + || $dh_command eq 'dh_autotools-dev_updateconfig') { + + $self->pointed_hint( 'debhelper-tools-from-autotools-dev-are-deprecated', - "$dhcommand (line $.)"); + $pointer, $dh_command); $uses_autotools_dev_dh = 1; } # Record if we've seen specific helpers, special-casing # "dh_python" as Python 2.x. - $seen{'python2'} = 1 if $dhcommand eq 'dh_python2'; - foreach my $k (keys %seen) { - $seen{$k} = 1 if $dhcommand eq "dh_$k"; + $seen{'python2'} = 1 if $dh_command eq 'dh_python2'; + for my $k (keys %seen) { + $seen{$k} = 1 if $dh_command eq "dh_$k"; } - if ($dhcommand eq 'dh_clean' && $line =~ /\s+\-k(?:\s+.*)?$/s) { - $seendhcleank = 1; - } + $seen_dh_clean_k = 1 + if $dh_command eq 'dh_clean' + && $line =~ /\s+\-k(?:\s+.*)?$/s; # if command is passed -n, it does not modify the scripts - if ( $maint_commands->recognizes($dhcommand) - && $line !~ /\s+\-n\s+/) { - $needtomodifyscripts = 1; - } + $modifies_scripts = 1 + if (any { $dh_command eq $_ } @MAINT_COMMANDS) + && $line !~ /\s+\-n\s+/; # If debhelper commands are wrapped in make conditionals, assume the # maintainer knows what they're doing and don't check build # dependencies. unless ($maybe_skipping) { - if ($dh_ver_deps->recognizes($dhcommand)) { - my $dep = $dh_ver_deps->value($dhcommand); - $missingbdeps{$dep} = $dhcommand; - } elsif ($dh_commands_depends->recognizes($dhcommand)) { - my $dep = $dh_commands_depends->value($dhcommand); - $missingbdeps{$dep} = $dhcommand; + + if (exists $DH_COMMAND_MANUAL_PREREQUISITES{$dh_command}) { + my $prerequisite + = $DH_COMMAND_MANUAL_PREREQUISITES{$dh_command}; + $command_by_prerequisite{$prerequisite} = $dh_command; + + } elsif ($DH_COMMANDS_DEPENDS->installed_by($dh_command)) { + my $prerequisite = join( + $SPACE . $HORIZONTAL_BAR . $SPACE, + $DH_COMMANDS_DEPENDS->installed_by($dh_command)); + $command_by_prerequisite{$prerequisite} = $dh_command; } } - $seencommand = 1; - $needbuilddepends = 1; + + $seen_any_dh_command = 1; + $uses_debhelper = 1; } elsif ($line =~ m{^(?:$command_prefix_pattern)dh\s+}) { + $build_systems{'dh'} = 1; delete($build_systems{'debhelper'}); - $seen_dh = 1; - $seencommand = 1; + + $seen_dh_sequencer = 1; + $seen_any_dh_command = 1; + $seen_dh_dynamic = 1 if $line =~ /\$[({]\w/; - $seen_dh_parallel = $. + + $seen_dh_parallel = $position if $line =~ /--parallel/; - $needbuilddepends = 1; - $needtomodifyscripts = 1; + + $uses_debhelper = 1; + $modifies_scripts = 1; while ($line =~ /\s--with(?:=|\s+)(['"]?)(\S+)\1/g) { + my $addon_list = $2; + for my $addon (split(/,/, $addon_list)) { + my $orig_addon = $addon; + $addon =~ y,-,_,; - my $depends = $DH_ADDON_MANUAL_PREREQUISITES{$addon} - || $dh_addons->value($addon); + + my $prerequisite = $DH_ADDON_MANUAL_PREREQUISITES{$addon} + || join( + $SPACE . $HORIZONTAL_BAR . $SPACE, + $DH_ADDONS->installed_by($addon)); + if ($addon eq 'autotools_dev') { - $self->hint( + + $self->pointed_hint( 'debhelper-tools-from-autotools-dev-are-deprecated', - "dh ... --with ${orig_addon} (line $.)" + $pointer,"dh ... --with $orig_addon" ); $uses_autotools_dev_dh = 1; } - $seen_dh_systemd = $. if $addon eq 'systemd'; - $self->hint( + + $seen_dh_systemd = $position + if $addon eq 'systemd'; + + $self->pointed_hint( 'dh-quilt-addon-but-quilt-source-format', - "dh ... --with ${orig_addon}", - "(line $.)" - ) + $pointer,"dh ... --with $orig_addon") if $addon eq 'quilt' - and $processable->fields->value('Format') eq + && $self->processable->fields->value('Format') eq '3.0 (quilt)'; - if (defined $depends) { - $missingbdeps_addons{$depends} = $addon; - } - foreach my $k (keys %seen) { - $seen{$k} = 1 if $addon eq $k; + + $addon_by_prerequisite{$prerequisite} = $addon + if defined $prerequisite; + + for my $k (keys %seen) { + $seen{$k} = 1 + if $addon eq $k; } } } @@ -279,33 +376,37 @@ $build_systems{'cdbs-with-debhelper.mk'} = 1; delete($build_systems{'cdbs-without-debhelper.mk'}); - $seencommand = 1; - $needbuilddepends = 1; - $needtomodifyscripts = 1; - $inclcdbs = 1; + + $seen_any_dh_command = 1; + $uses_debhelper = 1; + $modifies_scripts = 1; + $includes_cdbs = 1; # CDBS sets DH_COMPAT but doesn't export it. - $dhcompatvalue = $CDBS_COMPAT; + $dh_compat_variable = $CDBS_COMPAT; } elsif ($line =~ /^\s*export\s+DH_COMPAT\s*:?=\s*([^\s]+)/) { - $level = $1; + $debhelper_level = $1; } elsif ($line =~ /^\s*export\s+DH_COMPAT/) { - $level = $dhcompatvalue if $dhcompatvalue; + $debhelper_level = $dh_compat_variable + if $dh_compat_variable; } elsif ($line =~ /^\s*DH_COMPAT\s*:?=\s*([^\s]+)/) { - $dhcompatvalue = $1; + $dh_compat_variable = $1; + # one can export and then set the value: - $level = $1 - if $level; + $debhelper_level = $1 + if $debhelper_level; } elsif ( $line =~ /^[^:]*(override|execute_(?:after|before))\s+(dh_[^:]*):/) { - $self->hint('typo-in-debhelper-override-target', - "$1 $2", '->', "$1_$2","(line $.)"); + $self->pointed_hint('typo-in-debhelper-override-target', + $pointer, "$1 $2",$ARROW, "$1_$2"); } elsif ($line =~ /^([^:]*_dh_[^:]*):/) { + my $alltargets = $1; # can be multiple targets per rule. my @targets = split(/\s+/, $alltargets); @@ -325,8 +426,8 @@ keys %distance; my $nearest = min_by { $distance{$_} } @near; - $self->hint('typo-in-debhelper-override-target', - $target, '->', $nearest, "(line $.)") + $self->pointed_hint('typo-in-debhelper-override-target', + $pointer, $target, $ARROW, $nearest) if length $nearest; } @@ -336,29 +437,34 @@ unless $target =~ /^(override|execute_(?:before|after))_dh_([^\s]+?)(-arch|-indep|)$/; - my $prefix = $1; - my $cmd = $2; - my $arch = $3; - my $dhcommand = "dh_$cmd"; - $overrides{$dhcommand} = [$., $arch]; - $needbuilddepends = 1; + my $timing = $1; + my $command = $2; + my $focus = $3; + my $dh_command = "dh_$command"; + + $overrides{$dh_command} = [$position, $focus]; + $uses_debhelper = 1; next - if $dh_commands_depends->recognizes($dhcommand); + if $DH_COMMANDS_DEPENDS->installed_by($dh_command); # Unknown command, so check for likely misspellings - my $missingauto = firstval { "dh_auto_$cmd" eq $_ } - $dh_commands_depends->all; - $self->hint('typo-in-debhelper-override-target', - "${prefix}_$dhcommand", '->', "${prefix}_$missingauto", - "(line $.)") - if length $missingauto; + my $missingauto = firstval { "dh_auto_$command" eq $_ } + $DH_COMMANDS_DEPENDS->all; + + $self->pointed_hint( + 'typo-in-debhelper-override-target',$pointer, + $timing . $UNDERSCORE . $dh_command,$ARROW, + $timing . $UNDERSCORE . $missingauto, + )if length $missingauto; } } elsif ($line =~ m{^include\s+/usr/share/cdbs/}) { - $inclcdbs = 1; + + $includes_cdbs = 1; + $build_systems{'cdbs-without-debhelper.mk'} = 1 - if not exists($build_systems{'cdbs-with-debhelper.mk'}); + unless exists $build_systems{'cdbs-with-debhelper.mk'}; } elsif ( $line =~m{ @@ -370,441 +476,569 @@ }xsm ) { # All of these indirectly use dh. - $seencommand = 1; + $seen_any_dh_command = 1; $build_systems{'dh'} = 1; delete($build_systems{'debhelper'}); + } elsif ( $line =~m{ ^include \s+ /usr/share/pkg-kde-tools/qt-kde-team/\d+/debian-qt-kde\.mk }xsm ) { - $inclcdbs = 1; + + $includes_cdbs = 1; $build_systems{'dhmk'} = 1; delete($build_systems{'debhelper'}); } + + } continue { + ++$position; } - close($rules_fd); + + close $rules_fd; # Variables could contain any add-ons; assume we have seen them all - if ($seen_dh_dynamic) { - %seen = map { $_ => 1 } keys %seen; - } + %seen = map { $_ => 1 } keys %seen + if $seen_dh_dynamic; - unless ($inclcdbs){ - # Okay - d/rules does not include any file in /usr/share/cdbs/ - $self->hint('unused-build-dependency-on-cdbs') - if ($bdepends->satisfies('cdbs')); - } + my $rough_pointer = Lintian::Pointer::Item->new; + $rough_pointer->item($drules); + + # Okay - d/rules does not include any file in /usr/share/cdbs/ + $self->pointed_hint('unused-build-dependency-on-cdbs', $rough_pointer) + if $build_prerequisites->satisfies('cdbs') + && !$includes_cdbs; if (%build_systems) { - my @systems = sort(keys(%build_systems)); - $self->hint('debian-build-system', join(', ', @systems)); + + my @systems = sort keys %build_systems; + $self->pointed_hint('debian-build-system', $rough_pointer, + join(', ', @systems)); + } else { - $self->hint('debian-build-system', 'other'); + $self->pointed_hint('debian-build-system', $rough_pointer, 'other'); } - unless ($seencommand or $inclcdbs) { - $self->hint('package-does-not-use-debhelper-or-cdbs'); + unless ($seen_any_dh_command || $includes_cdbs) { + + $self->pointed_hint('package-does-not-use-debhelper-or-cdbs', + $rough_pointer); return; } - my @pkgs = $processable->debian_control->installables; - my $single_pkg = $EMPTY; - $single_pkg - = $processable->debian_control->installable_package_type($pkgs[0]) - if scalar @pkgs == 1; + my @installable_names= $self->processable->debian_control->installables; + + for my $installable_name (@installable_names) { - for my $binpkg (@pkgs) { next - if $processable->debian_control->installable_package_type($binpkg)ne - 'deb'; - my $strong = $processable->binary_relation($binpkg, 'strong'); - my $all = $processable->binary_relation($binpkg, 'all'); + if $self->processable->debian_control->installable_package_type( + $installable_name) ne 'deb'; - if (!$all->satisfies($MISC_DEPENDS)) { - $self->hint('debhelper-but-no-misc-depends', $binpkg); - } else { - $self->hint('weak-dependency-on-misc-depends', $binpkg) - unless $strong->satisfies($MISC_DEPENDS); - } + my $strong + = $self->processable->binary_relation($installable_name, 'strong'); + my $all= $self->processable->binary_relation($installable_name, 'all'); + + $self->hint('debhelper-but-no-misc-depends', $installable_name) + unless $all->satisfies($MISC_DEPENDS); + + $self->hint('weak-dependency-on-misc-depends', $installable_name) + if $all->satisfies($MISC_DEPENDS) + && !$strong->satisfies($MISC_DEPENDS); } - for my $proc ($group->get_processables('binary')) { - my $binpkg = $proc->name; - my $breaks = $processable->binary_relation($binpkg, 'Breaks'); - my $strong = $processable->binary_relation($binpkg, 'strong'); + for my $installable ($self->group->get_processables('binary')) { - $self->hint('package-uses-dh-runit-but-lacks-breaks-substvar', $binpkg) + my $breaks + = $self->processable->binary_relation($installable->name, 'Breaks'); + my $strong + = $self->processable->binary_relation($installable->name, 'strong'); + + $self->pointed_hint('package-uses-dh-runit-but-lacks-breaks-substvar', + $rough_pointer,$installable->name) if $seen{'runit'} && $strong->satisfies('runit') - && (any { m{^ etc/sv/ }msx } @{$proc->installed->sorted_list}) + && (any { m{^ etc/sv/ }msx } @{$installable->installed->sorted_list}) && !$breaks->satisfies('${runit:Breaks}'); } - my $compatnan = 0; - my $compatvirtual; - my $compat_file = $droot->child('compat'); + my $virtual_compat; + + $build_prerequisites->visit( + sub { + return 0 + unless m{^debhelper-compat \(= (\d+)\)$}; - my $visit = sub { - return 0 - unless m{^debhelper-compat \(= (\d+)\)$}; - - $level = $1; - $compatvirtual = $level; - $self->hint('debhelper-compat-virtual-relation', $compatvirtual); - return 1; - }; - $bdepends->visit($visit, + $virtual_compat = $1; + + return 1; + }, Lintian::Relation::VISIT_PRED_FULL - | Lintian::Relation::VISIT_STOP_FIRST_MATCH); + | Lintian::Relation::VISIT_STOP_FIRST_MATCH + ); - # Check the compat file. Do this separately from looping over all - # of the other files since we use the compat value when checking - # for brace expansion. - if ($compat_file and $compat_file->is_open_ok) { + my $control_pointer = Lintian::Pointer::Item->new; + $control_pointer->item( + $self->processable->patched->resolve_path('debian/control')); + + $self->pointed_hint('debhelper-compat-virtual-relation', + $control_pointer, $virtual_compat) + if length $virtual_compat; + + # gives precedence to virtual compat + $debhelper_level = $virtual_compat + if length $virtual_compat; - open(my $fd, '<', $compat_file->unpacked_path) - or die encode_utf8('Cannot open ' . $compat_file->unpacked_path); + my $compat_file = $droot->child('compat'); - while (my $line = <$fd>) { - if ($. == 1) { - $compat = $line; - - # trim both ends - $compat =~ s/^\s+|\s+$//g; - - } elsif ($line =~ /^\d/) { - $self->hint('debhelper-compat-file-contains-multiple-levels', - "(line $.)"); - } - } - close($fd); - - if ($compat ne $EMPTY) { - my $compat_value = $compat; - # Recommend people use debhelper-compat (introduced in debhelper - # 11.1.5~alpha1) over debian/compat, except for experimental/beta - # versions. - if ($compat !~ m/^\d+$/) { - $self->hint('debhelper-compat-not-a-number', $compat); - $compat =~ s/[^\d]//g; - $compat_value = $compat; - $compatnan = 1; - } - if ($level) { - my $c = $compat; - $self->hint( - 'declares-possibly-conflicting-debhelper-compat-versions', - "compat=${c} other=${level}" - ); - } else { - # this is not just to fill in the gap, but because debhelper - # prefers DH_COMPAT over debian/compat - $level = $compat_value; - } - $self->hint('uses-debhelper-compat-file') - if $compat_value >= $VERSIONED_PREREQUISITE_AVAILABLE - && $compat_value < $compat_level->value('experimental'); - } else { - $self->hint('debhelper-compat-file-is-empty'); - } - } else { - $self->hint('debhelper-compat-file-is-missing') unless $compatvirtual; - } + $self->hint('debhelper-compat-file-is-missing') + unless ($compat_file && $compat_file->is_open_ok) + || $virtual_compat; - if (defined($level) and $level !~ m/^\d+$/ and not $compatnan) { - $self->hint('debhelper-compatibility-level-not-a-number', $level); - $level =~ s/[^\d]//g; - $compatnan = 1; - } + my $from_compat_file = $self->check_compat_file; + + if (length $debhelper_level && length $from_compat_file) { - $self->hint('debhelper-compat-level', $level) if defined($level); - $level ||= 1; - if ($level < $compat_level->value('deprecated')) { - $self->hint('package-uses-deprecated-debhelper-compat-version',$level); - } elsif ($level < $compat_level->value('recommended')) { - $self->hint('package-uses-old-debhelper-compat-version', $level); - } elsif ($level >= $compat_level->value('experimental')) { - $self->hint('package-uses-experimental-debhelper-compat-version', - $level); + my $compat_pointer = Lintian::Pointer::Item->new; + $compat_pointer->item($compat_file); + + $self->pointed_hint( + 'declares-possibly-conflicting-debhelper-compat-versions', + $compat_pointer, $from_compat_file, 'vs elsewhere', + $debhelper_level); } - if ($seendhcleank) { - $self->hint('dh-clean-k-is-deprecated'); + # this is not just to fill in the gap, but because debhelper + # prefers DH_COMPAT over debian/compat + $debhelper_level ||= $from_compat_file; + + if (length $debhelper_level && $debhelper_level !~ m/^\d+$/) { + + $self->hint('debhelper-compatibility-level-not-a-number', + $debhelper_level); + $debhelper_level =~ s/[^\d]//g; } + $self->hint('debhelper-compat-level', $debhelper_level) + if length $debhelper_level; + + $debhelper_level ||= 1; + + $self->hint('package-uses-deprecated-debhelper-compat-version', + $debhelper_level) + if $debhelper_level < $DEBHELPER_LEVELS->value('deprecated'); + + $self->hint('package-uses-old-debhelper-compat-version', $debhelper_level) + if $debhelper_level >= $DEBHELPER_LEVELS->value('deprecated') + && $debhelper_level < $DEBHELPER_LEVELS->value('recommended'); + + $self->hint('package-uses-experimental-debhelper-compat-version', + $debhelper_level) + if $debhelper_level >= $DEBHELPER_LEVELS->value('experimental'); + + $self->pointed_hint('dh-clean-k-is-deprecated', $rough_pointer) + if $seen_dh_clean_k; + for my $suffix (qw(enable start)) { - my ($line, $arch) = @{$overrides{"dh_systemd_$suffix"} // []}; - $self->hint( - 'debian-rules-uses-deprecated-systemd-override', - "override_dh_systemd_$suffix$arch", - "(line $line)" - ) if $line && $level >= $BETTER_SYSTEMD_INTEGRATION; + + my ($stored_position, $focus) + = @{$overrides{"dh_systemd_$suffix"} // []}; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($drules); + $pointer->position($stored_position); + + $self->pointed_hint('debian-rules-uses-deprecated-systemd-override', + $pointer,"override_dh_systemd_$suffix$focus") + if $stored_position + && $debhelper_level >= $BETTER_SYSTEMD_INTEGRATION; } my $num_overrides = scalar(keys %overrides); + $self->hint('excessive-debhelper-overrides', $num_overrides) if $num_overrides >= $MANY_OVERRIDES; - $self->hint( - 'debian-rules-uses-unnecessary-dh-argument', - 'dh ... --parallel', - "(line $seen_dh_parallel)" - ) if $seen_dh_parallel && $level >= $DH_PARALLEL_NOT_NEEDED; - - $self->hint( - 'debian-rules-uses-unnecessary-dh-argument', - "dh ... --with=systemd (line $seen_dh_systemd)" - ) if $seen_dh_systemd && $level >= $INVOKES_SYSTEMD; - - # Check the files in the debian directory for various debhelper-related - # things. - for my $file ($droot->children) { - next if not $file->is_symlink and not $file->is_file; - next if $file->name eq $drules->name; - my $basename = $file->basename; - if ($basename =~ m/^(?:(.*)\.)?(?:post|pre)(?:inst|rm)$/) { + if ($seen_dh_parallel && $debhelper_level >= $DH_PARALLEL_NOT_NEEDED) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($drules); + $pointer->position($seen_dh_parallel); + + $self->pointed_hint('debian-rules-uses-unnecessary-dh-argument', + $pointer,'dh ... --parallel'); + } + + if ($seen_dh_systemd && $debhelper_level >= $INVOKES_SYSTEMD) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($drules); + $pointer->position($seen_dh_systemd); + + $self->pointed_hint('debian-rules-uses-unnecessary-dh-argument', + $pointer,'dh ... --with=systemd'); + } + + for my $item ($droot->children) { + + next + if !$item->is_symlink && !$item->is_file; + + next + if $item->name eq $drules->name; + + if ($item->basename =~ m/^(?:(.*)\.)?(?:post|pre)(?:inst|rm)$/) { + next - unless $needtomodifyscripts; + unless $modifies_scripts; # They need to have #DEBHELPER# in their scripts. Search # for scripts that look like maintainer scripts and make # sure the token is there. - my $binpkg = $1 || $EMPTY; - my $seentag = $EMPTY; + my $installable_name = $1 || $EMPTY; + my $seentag = 0; $seentag = 1 - if $file->decoded_utf8 =~ /\#DEBHELPER\#/; + if $item->decoded_utf8 =~ /\#DEBHELPER\#/; if (!$seentag) { - my $binpkg_type - = $processable->debian_control->installable_package_type( - $binpkg); + + my $single_pkg = $EMPTY; + $single_pkg + = $self->processable->debian_control + ->installable_package_type($installable_names[0]) + if scalar @installable_names == 1; + + my $installable_type + = $self->processable->debian_control + ->installable_package_type($installable_name); + my $is_udeb = 0; - $is_udeb = 1 if $binpkg and $binpkg_type eq 'udeb'; - $is_udeb = 1 if not $binpkg and $single_pkg eq 'udeb'; - if (not $is_udeb) { - $self->hint('maintainer-script-lacks-debhelper-token', - $file); - } - } - } elsif ($basename eq 'control' - or $basename =~ m/^(?:.*\.)?(?:copyright|changelog|NEWS)$/) { - # Handle "control", [.]copyright, [.]changelog - # and [.]NEWS - $self->tag_if_executable($file); - } elsif ($basename =~ m/^ex\.|\.ex$/i) { - $self->hint('dh-make-template-in-source', $file); - } elsif ($basename =~ m/^(?:(.*)\.)?maintscript$/) { - next - unless $file->is_open_ok; - open(my $fd, '<', $file->unpacked_path) - or die encode_utf8('Cannot open ' . $file->unpacked_path); + $is_udeb = 1 + if $installable_name && $installable_type eq 'udeb'; - while (my $line = <$fd>) { + $is_udeb = 1 + if !$installable_name && $single_pkg eq 'udeb'; - $self->hint('maintscript-includes-maint-script-parameters', - $basename, "(line $.)") - if $line =~ /--\s+"\$(?:@|{@})"\s*$/; - } - close($fd); - } elsif ($basename =~ m/^(?:.+\.)?debhelper(?:\.log)?$/){ - # The regex matches "debhelper", but debhelper/Dh_Lib does not - # make those, so skip it. - if ($basename ne 'debhelper') { - $self->hint('temporary-debhelper-file', $basename); - } - } else { - my $base = $basename; - $base =~ s/^.+\.//; - - # Check whether this is a debhelper config file that takes - # a list of filenames. - if ($filename_configs->recognizes($base)) { - next unless $file->is_open_ok; - if ($level < $USES_EXECUTABLE_FILES) { - # debhelper only use executable files in compat 9 - $self->tag_if_executable($file); - } else { - # Permissions are not really well defined for - # symlinks. Resolve unconditionally, so we are - # certain it is not a symlink. - my $actual = $file->resolve_path; - if ($actual and $actual->is_executable) { - my $cmd = _shebang_cmd($file); - unless ($cmd) { - $self->hint( -'executable-debhelper-file-without-being-executable', - $file - ); - } - - # Do not make assumptions about the contents of an - # executable debhelper file, unless it's a dh-exec - # script. - if ($cmd =~ /dh-exec/) { - $needdhexecbuilddepends = 1; - $self->check_dh_exec($cmd, $base, $file); - } - next; - } - } + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); - open(my $fd, '<', $file->unpacked_path) - or die encode_utf8('Cannot open ' . $file->unpacked_path); + $self->pointed_hint('maintainer-script-lacks-debhelper-token', + $pointer) + unless $is_udeb; + } - while (my $line = <$fd>) { + next; + } - next - if $line =~ /^\s*$/; + my $category = $item->basename; + $category =~ s/^.+\.//; - next - if $line =~ /^\#/ - && $level >= $BRACE_EXPANSION; + next + unless length $category; - if ($line =~ /((?hint('brace-expansion-in-debhelper-config-file', - $file,$1,"(line $.)"); + # Check whether this is a debhelper config file that takes + # a list of filenames. + if ($FILENAME_CONFIGS->recognizes($category)) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + # The permissions of symlinks are not really defined, so resolve + # $item to ensure we are not dealing with a symlink. + my $actual = $item->resolve_path; + next + unless defined $actual; - last; - } + $self->check_for_brace_expansion($item, $debhelper_level); + + # debhelper only use executable files in compat 9 + $self->pointed_hint('package-file-is-executable', $pointer) + if $actual->is_executable + && $debhelper_level < $USES_EXECUTABLE_FILES; + + if ($debhelper_level >= $USES_EXECUTABLE_FILES) { + + $self->pointed_hint( + 'executable-debhelper-file-without-being-executable', + $pointer) + if $actual->is_executable + && !length $actual->hashbang; + + # Only /usr/bin/dh-exec is allowed, even if + # /usr/lib/dh-exec/dh-exec-subst works too. + $self->pointed_hint('dh-exec-private-helper', $pointer) + if $actual->is_executable + && $actual->hashbang =~ m{^/usr/lib/dh-exec/}; + + # Do not make assumptions about the contents of an + # executable debhelper file, unless it's a dh-exec + # script. + if ($actual->hashbang =~ /dh-exec/) { + + $uses_dh_exec = 1; + $self->check_dh_exec($item, $category); } - close($fd); } } } - if ($needbuilddepends) { - $self->hint('package-uses-debhelper-but-lacks-build-depends') - unless $bdepends->satisfies('debhelper') - or $bdepends->satisfies('debhelper-compat'); - } - if ($needdhexecbuilddepends && !$bdepends->satisfies('dh-exec')) { - $self->hint('package-uses-dh-exec-but-lacks-build-depends'); - } + $self->pointed_hint('package-uses-debhelper-but-lacks-build-depends', + $rough_pointer) + if $uses_debhelper + && !$build_prerequisites->satisfies('debhelper') + && !$build_prerequisites->satisfies('debhelper-compat'); + + $self->pointed_hint('package-uses-dh-exec-but-lacks-build-depends', + $rough_pointer) + if $uses_dh_exec + && !$build_prerequisites->satisfies('dh-exec'); - for my $dep (keys %missingbdeps) { + for my $prerequisite (keys %command_by_prerequisite) { - my $command = $missingbdeps{$dep}; + my $command = $command_by_prerequisite{$prerequisite}; + # handled above next - if $dep eq 'debhelper'; #handled above + if $prerequisite eq 'debhelper'; next - if $level >= $REQUIRES_AUTOTOOLS - && (any { $_ eq $dep } qw(autotools-dev dh-strip-nondeterminism)); + if $debhelper_level >= $REQUIRES_AUTOTOOLS + && ( + any { $_ eq $prerequisite } + qw(autotools-dev dh-strip-nondeterminism) + ); - $self->hint('missing-build-dependency-for-dh_-command', - "$command => $dep") - unless ($bdepends_norestriction->satisfies($dep)); + $self->pointed_hint('missing-build-dependency-for-dh_-command', + $rough_pointer,$command, $ARROW, $prerequisite) + unless $build_prerequisites_norestriction->satisfies($prerequisite); } - for my $dep (keys %missingbdeps_addons) { + for my $prerequisite (keys %addon_by_prerequisite) { - my $addon = $missingbdeps_addons{$dep}; + my $addon = $addon_by_prerequisite{$prerequisite}; - $self->hint('missing-build-dependency-for-dh-addon', "$addon => $dep") - unless ($bdepends_norestriction->satisfies($dep)); + $self->pointed_hint('missing-build-dependency-for-dh-addon', + $rough_pointer,$addon, $ARROW, $prerequisite) + unless ( + $build_prerequisites_norestriction->satisfies($prerequisite)); # As a special case, the python3 addon needs a dependency on # dh-python unless the -dev packages are used. - my $pkg = 'dh-python'; - $self->hint('missing-build-dependency-for-dh-addon',"$addon => $pkg") + my $python_source = 'dh-python'; + + $self->pointed_hint('missing-build-dependency-for-dh-addon', + $rough_pointer,$addon, $ARROW, $python_source) if $addon eq 'python3' - && $bdepends_norestriction->satisfies($dep) - && !$bdepends_norestriction->satisfies( + && $build_prerequisites_norestriction->satisfies($prerequisite) + && !$build_prerequisites_norestriction->satisfies( 'python3-dev:any | python3-all-dev:any') - && !$bdepends_norestriction->satisfies($pkg); + && !$build_prerequisites_norestriction->satisfies($python_source); } - $dh_bd_version //= $level; - - $self->hint('no-versioned-debhelper-prerequisite', $dh_bd_version) - unless $bdepends->satisfies("debhelper (>= ${dh_bd_version}~)") - || $bdepends->satisfies("debhelper-compat (= ${dh_bd_version})"); + $self->hint('no-versioned-debhelper-prerequisite', $debhelper_level) + unless $build_prerequisites->satisfies( + "debhelper (>= $debhelper_level~)") + || $build_prerequisites->satisfies( + "debhelper-compat (= $debhelper_level)"); - if ($level >= $USES_AUTORECONF) { - for my $pkg (qw(dh-autoreconf autotools-dev)) { + if ($debhelper_level >= $USES_AUTORECONF) { + for my $autotools_source (qw(dh-autoreconf autotools-dev)) { next - if $pkg eq 'autotools-dev' and $uses_autotools_dev_dh; + if $autotools_source eq 'autotools-dev' + && $uses_autotools_dev_dh; - $self->hint('useless-autoreconf-build-depends', $pkg) - if $bdepends->satisfies($pkg); + $self->hint('useless-autoreconf-build-depends',$autotools_source) + if $build_prerequisites->satisfies($autotools_source); } } - if ($seen_dh and not $seen{'python2'}) { + if ($seen_dh_sequencer && !$seen{'python2'}) { + my %python_depends; - for my $binpkg (@pkgs) { - if ($processable->binary_relation($binpkg, 'all') - ->satisfies('${python:Depends}')) { - $python_depends{$binpkg} = 1; - } - } - if (%python_depends) { - $self->hint('python-depends-but-no-python-helper', - sort(keys %python_depends)); + + for my $installable_name (@installable_names) { + + $python_depends{$installable_name} = 1 + if $self->processable->binary_relation($installable_name,'all') + ->satisfies('${python:Depends}'); } + + $self->hint('python-depends-but-no-python-helper', + (sort keys %python_depends)) + if %python_depends; } - if ($seen_dh and not $seen{'python3'}) { + + if ($seen_dh_sequencer && !$seen{'python3'}) { + my %python3_depends; - for my $binpkg (@pkgs) { - if ($processable->binary_relation($binpkg, 'all') - ->satisfies('${python3:Depends}')) { - $python3_depends{$binpkg} = 1; - } - } - if (%python3_depends) { - $self->hint('python3-depends-but-no-python3-helper', - sort(keys %python3_depends)); + + for my $installable_name (@installable_names) { + + $python3_depends{$installable_name} = 1 + if $self->processable->binary_relation($installable_name,'all') + ->satisfies('${python3:Depends}'); } + + $self->hint('python3-depends-but-no-python3-helper', + (sort keys %python3_depends)) + if %python3_depends; } - if ($seen{'sphinxdoc'} and not $seen_dh_dynamic) { + if ($seen{'sphinxdoc'} && !$seen_dh_dynamic) { + my $seen_sphinxdoc = 0; - for my $binpkg (@pkgs) { + + for my $installable_name (@installable_names) { $seen_sphinxdoc = 1 - if $processable->binary_relation($binpkg, 'all') + if $self->processable->binary_relation($installable_name,'all') ->satisfies('${sphinxdoc:Depends}'); } - $self->hint('sphinxdoc-but-no-sphinxdoc-depends') + + $self->pointed_hint('sphinxdoc-but-no-sphinxdoc-depends', + $rough_pointer) unless $seen_sphinxdoc; } return; } -sub tag_if_executable { - my ($self, $path) = @_; - # The permissions of symlinks are not really defined, so resolve - # $path to ensure we are not dealing with a symlink. - my $actual = $path->resolve_path; - $self->hint('package-file-is-executable', $path) - if $actual and $actual->is_executable; +sub check_for_brace_expansion { + my ($self, $item, $debhelper_level) = @_; + + return + unless $item->is_open_ok; + + open(my $fd, '<', $item->unpacked_path) + or die encode_utf8('Cannot open ' . $item->unpacked_path); + + my $position = 1; + while (my $line = <$fd>) { + + next + if $line =~ /^\s*$/; + + next + if $line =~ /^\#/ + && $debhelper_level >= $BRACE_EXPANSION; + + if ($line =~ /((?new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('brace-expansion-in-debhelper-config-file', + $pointer, $expansion); + + last; + } + + } continue { + ++$position; + } + + close $fd; + return; } -# Perform various checks on a dh-exec file. +sub check_compat_file { + my ($self) = @_; + + # Check the compat file. Do this separately from looping over all + # of the other files since we use the compat value when checking + # for brace expansion. + + my $compat_file + = $self->processable->patched->resolve_path('debian/compat'); + + # missing file is dealt with elsewhere + return $EMPTY + unless $compat_file && $compat_file->is_open_ok; + + my $debhelper_level; + + open(my $fd, '<', $compat_file->unpacked_path) + or die encode_utf8('Cannot open ' . $compat_file->unpacked_path); + + my $position = 1; + while (my $line = <$fd>) { + + if ($position == 1) { + + $debhelper_level = $line; + next; + } + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($compat_file); + $pointer->position($position); + + $self->pointed_hint('debhelper-compat-file-contains-multiple-levels', + $pointer) + if $line =~ /^\d/; + + } continue { + ++$position; + } + + close $fd; + + # trim both ends + $debhelper_level =~ s/^\s+|\s+$//g; + + if (!length $debhelper_level) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($compat_file); + + $self->pointed_hint('debhelper-compat-file-is-empty', $pointer); + return $EMPTY; + } + + my $DEBHELPER_LEVELS = $self->profile->debhelper_levels; + + my $compat_pointer = Lintian::Pointer::Item->new; + $compat_pointer->item($compat_file); + + # Recommend people use debhelper-compat (introduced in debhelper + # 11.1.5~alpha1) over debian/compat, except for experimental/beta + # versions. + $self->pointed_hint('uses-debhelper-compat-file', $compat_pointer) + if $debhelper_level >= $VERSIONED_PREREQUISITE_AVAILABLE + && $debhelper_level < $DEBHELPER_LEVELS->value('experimental'); + + return $debhelper_level; +} + sub check_dh_exec { - my ($self, $cmd, $base, $path) = @_; + my ($self, $item, $category) = @_; - # Only /usr/bin/dh-exec is allowed, even if - # /usr/lib/dh-exec/dh-exec-subst works too. - $self->hint('dh-exec-private-helper', $path) - if $cmd =~ m{^/usr/lib/dh-exec/}; + return + unless $item->is_open_ok; - my ($dhe_subst, $dhe_install, $dhe_filter) = (0, 0, 0); + my $dhe_subst = 0; + my $dhe_install = 0; + my $dhe_filter = 0; - open(my $fd, '<', $path->unpacked_path) - or die encode_utf8('Cannot open ' . $path->unpacked_path); + open(my $fd, '<', $item->unpacked_path) + or die encode_utf8('Cannot open ' . $item->unpacked_path); my $position = 1; while (my $line = <$fd>) { + + chomp $line; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + if ($line =~ /\$\{([^\}]+)\}/) { + my $sv = $1; $dhe_subst = 1; @@ -815,8 +1049,8 @@ |GNU_ (?:CPU|SYSTEM|TYPE)|MULTIARCH ) \Z}xsm ) { - $self->hint('dh-exec-subst-unknown-variable', - "$path:$position", $sv); + $self->pointed_hint('dh-exec-subst-unknown-variable', + $pointer, $sv); } } @@ -852,67 +1086,33 @@ } } - if ($dhe_useless && $path =~ /debian\/.*(install|manpages)/) { - my $form = $line; - chomp($form); - $form = "\"$form\""; - $self->hint('dh-exec-useless-usage', "$path:$position", $form); - } + $self->pointed_hint('dh-exec-useless-usage', $pointer, $line) + if $dhe_useless && $item =~ /debian\/.*(install|manpages)/; } + } continue { ++$position; } - close($fd); + close $fd; - if (!($dhe_subst || $dhe_install || $dhe_filter)) { - $self->hint('dh-exec-script-without-dh-exec-features', $path); - } + my $rough_pointer = Lintian::Pointer::Item->new; + $rough_pointer->item($item); - if ($dhe_install && ($base ne 'install' && $base ne 'manpages')) { - $self->hint('dh-exec-install-not-allowed-here', $path); - } + $self->pointed_hint('dh-exec-script-without-dh-exec-features', + $rough_pointer) + if !$dhe_subst + && !$dhe_install + && !$dhe_filter; + + $self->pointed_hint('dh-exec-install-not-allowed-here', $rough_pointer) + if $dhe_install + && $category ne 'install' + && $category ne 'manpages'; return; } -# Return the command after the #! in the file (if any). -# - if there is no command or no #! line, the empty string is returned. -sub _shebang_cmd { - my ($path) = @_; - my $magic; - my $cmd = $EMPTY; - - open(my $fd, '<', $path->unpacked_path) - or die encode_utf8('Cannot open ' . $path->unpacked_path); - - if (read($fd, $magic, 2)) { - if ($magic eq $HASHBANG) { - $cmd = <$fd>; - - # It is beyond me why anyone would place a lincity data - # file here... but if they do, we will handle it - # correctly. - $cmd = $EMPTY if $cmd =~ /^#!/; - - # trim both ends - $cmd =~ s/^\s+|\s+$//g; - } - } - close($fd); - - # We are not checking if it is an ELF executable. While debhelper - # allows this (i.e. it also checks for ..), it is - # not cross-compilation safe. This is because debhelper uses - # "HOST" (and not "BUILD") arch, despite its documentation and - # code (incorrectly) suggests it is using "build". - # - # Oh yeah, it is also a terrible waste to keep pre-compiled - # binaries for all architectures in the source as well. :) - - return $cmd; -} - 1; # Local Variables: diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Changelog.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Changelog.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Changelog.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Changelog.pm 2022-01-11 17:11:33.000000000 +0100 @@ -32,7 +32,7 @@ use List::Util qw(first); use List::SomeUtils qw(any all uniq); use Path::Tiny; -use Try::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); use Lintian::Inspect::Changelog; @@ -49,6 +49,8 @@ const my $EMPTY => q{}; const my $MAXIMUM_WIDTH => 82; +const my $FIRST_ARCHIVED_BUG_NUMBER => 50_004; +const my $OUT_OF_REACH_BUG_NUMBER => 1_500_000; sub spelling_tag_emitter { my ($self, @orig_args) = @_; @@ -93,11 +95,11 @@ } catch { my $indicator= ($processable->native ? $EMPTY : 'non-') . 'native'; - $self->hint( - 'malformed-debian-changelog-version', - $versionstring . " (for $indicator)" - ); + $self->hint('malformed-debian-changelog-version', + $versionstring, "(for $indicator)"); undef $latest_version; + + # perlcritic 1.140-1 requires a semicolon on the next line }; if (defined $latest_version) { @@ -172,7 +174,7 @@ $previous_entry->Version . " (for $indicator)" ); undef $previous_version; - }; + } if ($latest_timestamp && $previous_timestamp) { @@ -581,8 +583,6 @@ } } - my $BUGS_NUMBER - = $self->profile->load_data('changelog-file/bugs-number', qr/\s*=\s*/); my $INVALID_DATES = $self->profile->load_data('changelog-file/invalid-dates', qr/\s*=\>\s*/); @@ -719,8 +719,8 @@ # before bug 50004 bts removed bug instead of archiving for my $bug (@{$latest_entry->Closes}) { $self->hint('improbable-bug-number-in-closes', $bug) - if $bug < $BUGS_NUMBER->value('min-bug') - || $bug > $BUGS_NUMBER->value('max-bug'); + if $bug < $FIRST_ARCHIVED_BUG_NUMBER + || $bug >= $OUT_OF_REACH_BUG_NUMBER; } # Compare against NEWS.Debian if available. diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Adopted.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Adopted.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Adopted.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Adopted.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,102 @@ +# debian/control/field/adopted -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Adopted; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + my $KNOWN_SOURCE_FIELDS= $self->profile->load_data('common/source-fields'); + my $KNOWN_BINARY_FIELDS= $self->profile->load_data('fields/binary-fields'); + + for my $field ($source_fields->names) { + + my ($marker, $bare) = split(qr{-}, $field, 2); + + next + unless length $marker + && length $bare; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + # case-insensitive match + $self->pointed_hint( + 'adopted-extended-field',$pointer, + '(in section for source)', $field + ) + if $marker =~ m{^ X }ix + && $KNOWN_SOURCE_FIELDS->resembles($bare); + } + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field ($installable_fields->names) { + + my ($marker, $bare) = split(qr{-}, $field, 2); + + next + unless length $marker + && length $bare; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + # case-insensitive match + $self->pointed_hint( + 'adopted-extended-field', $pointer, + "(in section for $installable)", $field + ) + if $marker =~ m{^ X }ix + && $KNOWN_BINARY_FIELDS->resembles($bare); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Architecture/Multiline.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Architecture/Multiline.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Architecture/Multiline.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Architecture/Multiline.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,66 @@ +# debian/control/field/architecture/multiline -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Architecture::Multiline; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + + my $installable_fields = $control->installable_fields($installable); + + my $field = 'Architecture'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint('multiline-architecture-field', + $pointer, $field,"(in section for $installable)") + if $installable_fields->value($field)=~ /\n./; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/BuildProfiles.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/BuildProfiles.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/BuildProfiles.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/BuildProfiles.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,113 @@ +# debian/control/field/build-profiles -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::BuildProfiles; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; +use Lintian::Relation; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + my $KNOWN_BUILD_PROFILES + = $self->profile->load_data('fields/build-profiles'); + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my $field = 'Build-Profiles'; + + my $raw = $installable_fields->value($field); + next + unless $raw; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + if ( + $raw!~ m{^\s* # skip leading whitespace + < # first list start + !?[^\s<>]+ # (possibly negated) term + (?: # any additional terms + \s+ # start with a space + !?[^\s<>]+ # (possibly negated) term + )* # zero or more additional terms + > # first list end + (?: # any additional restriction lists + \s+ # start with a space + < # additional list start + !?[^\s<>]+ # (possibly negated) term + (?: # any additional terms + \s+ # start with a space + !?[^\s<>]+ # (possibly negated) term + )* # zero or more additional terms + > # additional list end + )* # zero or more additional lists + \s*$ # trailing spaces at the end + }x + ) { + $self->pointed_hint( + 'invalid-restriction-formula-in-build-profiles-field', + $pointer, $raw,"(in section for $installable)"); + + } else { + # parse the field and check the profile names + $raw =~ s/^\s*<(.*)>\s*$/$1/; + + for my $restrlist (split />\s+pointed_hint( + 'invalid-profile-name-in-build-profiles-field', + $pointer, $profile,"(in section for $installable)") + unless $KNOWN_BUILD_PROFILES->recognizes($profile) + || $profile =~ /^pkg\.[a-z0-9][a-z0-9+.-]+\../; + } + } + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/BuiltUsing.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/BuiltUsing.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/BuiltUsing.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/BuiltUsing.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,68 @@ +# debian/control/field/built-using -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::BuiltUsing; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + my $installable_fields= $control->installable_fields($installable); + + my $field = 'Built-Using'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'built-using-field-on-arch-all-package',$pointer, + "(in section for $installable)", $field, + $installable_fields->value($field)) + if $installable_fields->declares($field) + && $installable_fields->value('Architecture') eq 'all'; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Description/Duplicate.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Description/Duplicate.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Description/Duplicate.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Description/Duplicate.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,111 @@ +# debian/control/field/description/duplicate -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Description::Duplicate; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $EMPTY => q{}; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + my %installables_by_synopsis; + my %installables_by_exended; + + for my $installable ($control->installables) { + + my $description + = $control->installable_fields($installable) + ->untrimmed_value('Description'); + + next + unless length $description; + + next + if $control->installable_package_type($installable) eq 'udeb'; + + my ($synopsis, $extended) = split(/\n/, $description, 2); + + $synopsis //= $EMPTY; + $extended //= $EMPTY; + + # trim both ends + $synopsis =~ s/^\s+|\s+$//g; + $extended =~ s/^\s+|\s+$//g; + + if (length $synopsis) { + $installables_by_synopsis{$synopsis} //= []; + push(@{$installables_by_synopsis{$synopsis}}, $installable); + } + + if (length $extended) { + $installables_by_exended{$extended} //= []; + push(@{$installables_by_exended{$extended}}, $installable); + } + } + + # check for duplicate short description + for my $synopsis (keys %installables_by_synopsis) { + + # Assume that substvars are correctly handled + next + if $synopsis =~ m/\$\{.+\}/; + + $self->hint('duplicate-short-description', + (sort @{$installables_by_synopsis{$synopsis}})) + if scalar @{$installables_by_synopsis{$synopsis}} > 1; + } + + # check for duplicate long description + for my $extended (keys %installables_by_exended) { + + # Assume that substvars are correctly handled + next + if $extended =~ m/\$\{.+\}/; + + $self->hint('duplicate-long-description', + (sort @{$installables_by_exended{$extended}})) + if scalar @{$installables_by_exended{$extended}} > 1; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/DoubledUp.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/DoubledUp.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/DoubledUp.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/DoubledUp.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,87 @@ +# debian/control/field/doubled-up -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::DoubledUp; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + # something like "Maintainer: Maintainer: bad field" + my @doubled_up_source_fields + = grep { $source_fields->value($_) =~ m{^ \Q$_\E \s* : }ix } + $source_fields->names; + + for my $field (@doubled_up_source_fields) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + $self->pointed_hint('debian-control-repeats-field-name-in-value', + $pointer, '(in section for source)', $field); + } + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + # something like "Maintainer: Maintainer: bad field" + my @doubled_up_installable_fields + = grep { $installable_fields->value($_) =~ m{^ \Q$_\E \s* : }ix } + $installable_fields->names; + + for my $field (@doubled_up_installable_fields) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint('debian-control-repeats-field-name-in-value', + $pointer,"(in section for $installable)", $field); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Empty.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Empty.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Empty.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Empty.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,88 @@ +# debian/control/field/empty -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Empty; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + my @empty_source_fields + = grep { !length $source_fields->value($_) } $source_fields->names; + + for my $field (@empty_source_fields) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + $self->pointed_hint( + 'debian-control-has-empty-field', $pointer, + '(in source paragraph)', $field + ); + } + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my @empty_installable_fields + = grep { !length $installable_fields->value($_) } + $installable_fields->names; + + for my $field (@empty_installable_fields) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'debian-control-has-empty-field',$pointer, + "(in section for $installable)", $field + ); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Misplaced.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Misplaced.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Misplaced.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Misplaced.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,70 @@ +# debian/control/field/misplaced -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Misplaced; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + my @build_fields + =qw{Build-Depends Build-Depends-Indep Build-Conflicts Build-Conflicts-Indep}; + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field (@build_fields) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint('build-prerequisite-in-installable-section', + $pointer, $field,"(in section for $installable)") + if $installable_fields->declares($field); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Redundant.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Redundant.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Redundant.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Redundant.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,71 @@ +# debian/control/field/redundant -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Redundant; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field ($installable_fields->names) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'installable-field-mirrors-source',$pointer, + "(in section for $installable)", $field + ) + if $source_fields->declares($field) + && $installable_fields->value($field) eq + $source_fields->value($field); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Relation.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Relation.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Relation.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Relation.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,182 @@ +# debian/control/field/relation -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Relation; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; +use Lintian::Relation; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + # Check that fields which should be comma-separated or + # pipe-separated have separators. Places where this tends to + # cause problems are with wrapped lines such as: + # + # Depends: foo, bar + # baz + # + # or with substvars. If two substvars aren't separated by a + # comma, but at least one of them expands to an empty string, + # there will be a lurking bug. The result will be syntactically + # correct, but as soon as both expand into something non-empty, + # there will be a syntax error. + # + # The architecture list can contain things that look like packages + # separated by spaces, so we have to remove any architecture + # restrictions first. This unfortunately distorts our report a + # little, but hopefully not too much. + # + # Also check for < and > relations. dpkg-gencontrol warns about + # them and then transforms them in the output to <= and >=, but + # it's easy to miss the error message. Similarly, check for + # duplicates, which dpkg-source eliminates. + + for my $field ( + qw(Build-Depends Build-Depends-Indep + Build-Conflicts Build-Conflicts-Indep) + ) { + next + unless $source_fields->declares($field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + my @values = $source_fields->trimmed_list($field, qr{ \s* , \s* }x); + my @obsolete = grep { m{ [(] [<>] \s* [^<>=]+ [)] }x } @values; + + $self->pointed_hint( + 'obsolete-relation-form-in-source', + $pointer, '(in source paragraph)', + $field, $_ + )for @obsolete; + + my $raw = $source_fields->value($field); + my $relation = Lintian::Relation->new->load($raw); + + for my $redundant_set ($relation->redundancies) { + + $self->pointed_hint('redundant-control-relation', $pointer, + '(in source paragraph)', + $field,join(', ', sort @{$redundant_set})); + } + + $self->check_separators($raw, $pointer, '(in source paragraph)'); + } + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field ( + qw(Pre-Depends Depends Recommends Suggests Breaks + Conflicts Provides Replaces Enhances) + ) { + next + unless $installable_fields->declares($field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + my @values + = $installable_fields->trimmed_list($field, qr{ \s* , \s* }x); + my @obsolete = grep { m{ [(] [<>] \s* [^<>=]+ [)] }x } @values; + + $self->pointed_hint( + 'obsolete-relation-form-in-source', + $pointer, "(in section for $installable)", + $field, $_ + )for @obsolete; + + my $relation + = $self->processable->binary_relation($installable, $field); + + for my $redundant_set ($relation->redundancies) { + + $self->pointed_hint( + 'redundant-control-relation', $pointer, + "(in section for $installable)", $field, + join(', ', sort @{$redundant_set})); + } + + my $raw = $installable_fields->value($field); + $self->check_separators($raw, $pointer, + "(in section for $installable)"); + } + } + + return; +} + +sub check_separators { + my ($self, $string, $pointer, $explainer) = @_; + + $string =~ s/\n(\s)/$1/g; + $string =~ s/\[[^\]]*\]//g; + + if ( + $string =~ m{(?:^|\s) + ( + (?:\w[^\s,|\$\(]+|\$\{\S+:Depends\})\s* + (?:\([^\)]*\)\s*)? + ) + \s+ + ( + (?:\w[^\s,|\$\(]+|\$\{\S+:Depends\})\s* + (?:\([^\)]*\)\s*)? + )}x + ) { + my ($prev, $next) = ($1, $2); + + # trim right + $prev =~ s/\s+$//; + $next =~ s/\s+$//; + + $self->pointed_hint('missing-separator-between-items', + $pointer,$explainer, "'$prev' and '$next'"); + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/RulesRequiresRoot.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,103 @@ +# debian/control/field/rules-requires-root -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::RulesRequiresRoot; + +use v5.20; +use warnings; +use utf8; + +use List::SomeUtils qw(first_value); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + my @r3_misspelled = grep { $_ ne 'Rules-Requires-Root' } + grep { m{^ Rules? - Requires? - Roots? $}xi } $source_fields->names; + + for my $field (@r3_misspelled) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position($field)); + + $self->pointed_hint('spelling-error-in-rules-requires-root', + $pointer, $field); + } + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($source_fields->position('Rules-Requires-Root')); + + $self->pointed_hint('rules-do-not-require-root', $pointer) + if $source_fields->value('Rules-Requires-Root') eq 'no'; + + $self->pointed_hint('rules-require-root-explicitly', $pointer) + if $source_fields->declares('Rules-Requires-Root') + && $source_fields->value('Rules-Requires-Root') ne 'no'; + + $self->pointed_hint('silent-on-rules-requiring-root', $pointer) + unless $source_fields->declares('Rules-Requires-Root'); + + if ( !$source_fields->declares('Rules-Requires-Root') + || $source_fields->value('Rules-Requires-Root') eq 'no') { + + for my $installable ($self->group->get_binary_processables) { + + my $user_owned_item + = first_value { $_->owner ne 'root' || $_->group ne 'root' } + @{$installable->installed->sorted_list}; + + next + unless defined $user_owned_item; + + my $owner = $user_owned_item->owner; + my $group = $user_owned_item->group; + + $self->pointed_hint('rules-silently-require-root', + $pointer, $installable->name, + "($owner:$group)", $user_owned_item->name); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Section.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Section.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Section.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Section.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,52 @@ +# debian/control/field/section -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Section; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + $self->hint('no-source-section') + unless $source_fields->declares('Section'); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Spacing.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Spacing.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Field/Spacing.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Field/Spacing.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,81 @@ +# debian/control/field/spacing -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Field::Spacing; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item eq 'debian/control'; + + my @lines = split(/\n/, $item->decoded_utf8); + + my $position = 1; + while (defined(my $line = shift @lines)) { + + # strip leading spaces + $line =~ s{\s*$}{}; + + next + if $line =~ m{^ [#]}x; + + # line with field: + if ($line =~ m{^ (\S+) : }x) { + + my $field = $1; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('debian-control-has-unusual-field-spacing', + $pointer, $field) + unless $line =~ m{^ \S+ : [ ] \S }x + || $line =~ m{^ \S+ : $}x; + } + + } continue { + ++$position; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Link.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Link.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Link.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Link.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,57 @@ +# debian/control/link -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Link; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $debian_dir = $self->processable->patched->resolve_path('debian/'); + return + unless $debian_dir; + + my $file = $debian_dir->child('control'); + return + unless $file; + + $self->hint('debian-control-file-is-a-symlink') + if $file->is_symlink; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Circular.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Circular.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Circular.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Circular.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,77 @@ +# debian/control/prerequisite/circular -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Prerequisite::Circular; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + my @prerequisite_fields = qw(Pre-Depends Depends Recommends Suggests); + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field (@prerequisite_fields) { + + next + unless $control->installable_fields($installable) + ->declares($field); + + my $relation + = $self->processable->binary_relation($installable, $field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'circular-installation-prerequisite', + $pointer, "(in section for $installable)", + $field,$relation->to_string + )if $relation->satisfies($installable); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Development.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Development.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Development.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Development.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,148 @@ +# debian/control/prerequisite/development -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Prerequisite::Development; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use List::SomeUtils qw(any); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $EMPTY => q{}; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + next + unless $installable =~ /-dev$/; + + my $field = 'Depends'; + + next + unless $installable_fields->declares($field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + my @depends + = $installable_fields->trimmed_list($field, qr{ \s* , \s* }x); + + for my $other_name ($control->installables) { + + next + if $other_name =~ /-(?:dev|docs?|common)$/; + + next + unless $other_name =~ /^lib[\w.+-]+\d/; + + my @relevant + = grep { m{ (?: ^ | [\s|] ) \Q$other_name\E (?: [\s|(] | \z ) }x } + @depends; + + # If there are any alternatives here, something special is + # going on. Assume that the maintainer knows what they're + # doing. Otherwise, separate out just the versions. + next + if any { m{ [|] }x } @relevant; + + my @unsorted; + for my $package (@relevant) { + + $package =~ m{^ [\w.+-]+ \s* [(] ([^)]+) [)] }x; + push(@unsorted, ($1 // $EMPTY)); + } + + my @versions = sort @unsorted; + + my $context; + + # If there's only one mention of this package, the dependency + # should be tight. Otherwise, there should be both >>/>= and + # <installable_fields($other_name) + ->value('Architecture') eq 'all' + && $versions[0] + =~ m{^ \s* = \s* \$[{]source:Version[}] }x; + + $context = $relevant[0]; + } + + } elsif (@relevant == 2) { + unless ( + $versions[0] =~ m{^ \s* <[=<] \s* \$[{] + (?: (?:binary|source):(?:Upstream-)?Version + | Source-Version) [}] }xsm + && $versions[1] =~ m{^ \s* >[=>] \s* \$[{] + (?: (?:binary|source):(?:Upstream-)?Version + | Source-Version) [}] }xsm + ) { + $context = "$relevant[0], $relevant[1]"; + } + } + + $self->pointed_hint('weak-library-dev-dependency', + $pointer, "(in section for $installable)", + $field, $context) + if length $context; + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Redundant.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Redundant.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control/Prerequisite/Redundant.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control/Prerequisite/Redundant.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,102 @@ +# debian/control/prerequisitie/redundant -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Control::Prerequisite::Redundant; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $ARROW => q{->}; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + # Make sure that a stronger dependency field doesn't satisfy any of + # the elements of a weaker dependency field. dpkg-gencontrol will + # fix this up for us, but we want to check the source package + # since dpkg-gencontrol may silently "fix" something that's a more + # subtle bug. + + # ordered from stronger to weaker + my @ordered_fields = qw(Pre-Depends Depends Recommends Suggests); + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my @remaining_fields = @ordered_fields; + + for my $stronger (@ordered_fields) { + + shift @remaining_fields; + + next + unless $control->installable_fields($installable) + ->declares($stronger); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($stronger)); + + my $relation + = $self->processable->binary_relation($installable,$stronger); + + for my $weaker (@remaining_fields) { + + my @prerequisites = $control->installable_fields($installable) + ->trimmed_list($weaker, qr{\s*,\s*}); + + for my $prerequisite (@prerequisites) { + + $self->pointed_hint( + 'redundant-installation-prerequisite',$pointer, + "(in section for $installable)",$weaker, + $ARROW, $stronger, + $prerequisite + )if $relation->satisfies($prerequisite); + } + } + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Control.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Control.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1,702 +0,0 @@ -# debian/control -- lintian check script -*- perl -*- -# -# Copyright © 2004 Marc Brockschmidt -# Copyright © 2020 Chris Lamb -# Copyright © 2020 Felix Lechner -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -package Lintian::Check::Debian::Control; - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use List::SomeUtils qw(any none first_value); -use Path::Tiny; -use Unicode::UTF8 qw(encode_utf8); - -use Lintian::Deb822::Parser qw(parse_dpkg_control_string); -use Lintian::Relation; - -use Moo; -use namespace::clean; - -with 'Lintian::Check'; - -const my $EMPTY => q{}; -const my $COLON => q{:}; - -# The list of libc packages, used for checking for a hard-coded dependency -# rather than using ${shlibs:Depends}. -my @LIBCS = qw(libc6 libc6.1 libc0.1 libc0.3); -my $LIBCS = Lintian::Relation->new->load(join(' | ', @LIBCS)); - -sub source { - my ($self) = @_; - - my $processable = $self->processable; - my $group = $self->group; - - my $debian_dir = $processable->patched->resolve_path('debian/'); - return - unless $debian_dir; - - my $dcontrol = $debian_dir->child('control'); - return - unless $dcontrol; - - $self->hint('debian-control-file-is-a-symlink') - if $dcontrol->is_symlink; - - return - unless $dcontrol->is_open_ok; - - # another check complains about invalid encoding - return - unless $dcontrol->is_valid_utf8; - - my $src_fields = $self->profile->load_data('common/source-fields'); - - my $contents = $dcontrol->decoded_utf8; - my @lines = split(/\n/, $contents); - - # Nag about dh_make Vcs comment only once - my $seen_vcs_comment = 0; - - my $line; - my $position = 1; - while (defined($line = shift @lines)) { - - $line =~ s/\s*$//; - - if ( - $line =~ m{\A \# \s* Vcs-(?:Git|Browser): \s* - (?:git|http)://git\.debian\.org/ - (?:\?p=)?collab-maint/\.git}smx - ) { - # Emit it only once per package - $self->hint('control-file-contains-dh_make-vcs-comment') - unless $seen_vcs_comment++; - next; - } - - next - if $line =~ /^\#/; - - # line with field: - if ($line =~ /^(\S+):/) { - - my $field = $1; - - if ($field =~ /^XS-Vcs-/) { - my $base = $field; - $base =~ s/^XS-//; - $self->hint('xs-vcs-field-in-debian-control', $field) - if $src_fields->recognizes($base); - } - - if ($field eq 'XS-Testsuite') { - $self->hint('xs-testsuite-field-in-debian-control', $field); - } - - if ($field eq 'XC-Package-Type') { - $self->hint('xc-package-type-in-debian-control', - "line $position"); - } - - unless ($line =~ /^\S+: \S/ || $line =~ /^\S+:$/) { - $self->hint('debian-control-has-unusual-field-spacing', - "line $position"); - } - - # something like "Maintainer: Maintainer: bad field" - if ($line =~ /^\Q$field\E: \s* \Q$field\E \s* :/xsmi) { - $self->hint('debian-control-repeats-field-name-in-value', - "line $position"); - } - - if ( $field =~ /^Rules?-Requires?-Roots?$/i - and $field ne 'Rules-Requires-Root') { - $self->hint('spelling-error-in-rules-requires-root', - $field,"(line $position)"); - } - } - }continue { - ++$position; - } - - eval { - # check we can parse it, but ignore the result - we will fetch - # the fields we need from $processable. - parse_dpkg_control_string($contents); - }; - if ($@) { - chomp $@; - $@ =~ s/^internal error: //; - $@ =~ s/^syntax error in //; - die encode_utf8("syntax error in debian/control: $@"); - } - - for my $field ($processable->debian_control->source_fields->names) { - $self->hint( - 'debian-control-has-empty-field', - "field \"$field\" in source paragraph", - ) - unless - length $processable->debian_control->source_fields->value($field); - } - - my @package_names = $processable->debian_control->installables; - - foreach my $bin (@package_names) { - my $bfields = $processable->debian_control->installable_fields($bin); - $self->hint('build-info-in-binary-control-file-section',"Package $bin") - if ( - first_value { $bfields->value("Build-$_") } - qw(Depends Depends-Indep Conflicts Conflicts-Indep) - ); - foreach my $field ($bfields->names) { - $self->hint( - 'binary-control-field-duplicates-source', - "field \"$field\" in package $bin" - ) - if ($processable->debian_control->source_fields->declares($field) - && $bfields->value($field) eq - $processable->debian_control->source_fields->value($field)); - $self->hint( - 'debian-control-has-empty-field', - "field \"$field\" in package $bin", - ) if $bfields->value($field) eq $EMPTY; - } - if ($bin =~ /[-]dbgsym$/) { - $self->hint('debian-control-has-dbgsym-package', $bin); - } - if ($bin =~ /[-]dbg$/) { - $self->hint('debian-control-has-obsolete-dbg-package', $bin) - unless $self->dbg_pkg_is_known($bin); - } - } - - # Check that fields which should be comma-separated or - # pipe-separated have separators. Places where this tends to - # cause problems are with wrapped lines such as: - # - # Depends: foo, bar - # baz - # - # or with substvars. If two substvars aren't separated by a - # comma, but at least one of them expands to an empty string, - # there will be a lurking bug. The result will be syntactically - # correct, but as soon as both expand into something non-empty, - # there will be a syntax error. - # - # The architecture list can contain things that look like packages - # separated by spaces, so we have to remove any architecture - # restrictions first. This unfortunately distorts our report a - # little, but hopefully not too much. - # - # Also check for < and > relations. dpkg-gencontrol warns about - # them and then transforms them in the output to <= and >=, but - # it's easy to miss the error message. Similarly, check for - # duplicates, which dpkg-source eliminates. - - for my $field ( - qw(Build-Depends Build-Depends-Indep - Build-conflicts Build-Conflicts-Indep) - ) { - next - unless $processable->debian_control->source_fields->declares($field); - - my $raw = $processable->debian_control->source_fields->value($field); - my $rel; - - $rel = Lintian::Relation->new->load($raw); - $self->check_relation('source', $field, $raw, $rel); - } - - for my $bin (@package_names) { - for my $field ( - qw(Pre-Depends Depends Recommends Suggests Breaks - Conflicts Provides Replaces Enhances) - ) { - next - unless $processable->debian_control->installable_fields($bin) - ->declares($field); - - my $raw - = $processable->debian_control->installable_fields($bin) - ->value($field); - my $rel; - $rel = $processable->binary_relation($bin, $field); - $self->check_relation($bin, $field, $raw, $rel); - } - } - - # Make sure that a stronger dependency field doesn't satisfy any of - # the elements of a weaker dependency field. dpkg-gencontrol will - # fix this up for us, but we want to check the source package - # since dpkg-gencontrol may silently "fix" something that's a more - # subtle bug. - # - # Also check if a package declares a simple dependency on itself, - # since similarly dpkg-gencontrol will clean this up for us but it - # may be a sign of another problem, and check that the package - # doesn't hard-code a dependency on libc. We have to do the - # latter check here rather than in checks/fields to distinguish - # from dependencies created by ${shlibs:Depends}. - my @dep_fields = qw(Pre-Depends Depends Recommends Suggests); - foreach my $bin (@package_names) { - for my $strong (0 .. $#dep_fields) { - next - unless $processable->debian_control->installable_fields($bin) - ->declares($dep_fields[$strong]); - my $relation - = $processable->binary_relation($bin, $dep_fields[$strong]); - $self->hint('package-depends-on-itself', $bin,$dep_fields[$strong]) - if $relation->satisfies($bin); - $self->hint('package-depends-on-hardcoded-libc', - $bin, $dep_fields[$strong]) - if $relation->satisfies($LIBCS) - and $self->processable->name !~ /^e?glibc$/; - for my $weak (($strong + 1) .. $#dep_fields) { - next - unless $processable->debian_control->installable_fields($bin) - ->declares($dep_fields[$weak]); - for my $dependency (split /\s*,\s*/, - $processable->debian_control->installable_fields($bin) - ->value($dep_fields[$weak])) { - next unless $dependency; - $self->hint('stronger-dependency-implies-weaker', - $bin,"$dep_fields[$strong] -> $dep_fields[$weak]", - $dependency) - if $relation->satisfies($dependency); - } - } - } - } - - # Check that every package is in the same archive area, except - # that sources in main can deliver both main and contrib packages. - # The source package may or may not have a section specified; if - # it doesn't, derive the expected archive area from the first - # binary package by leaving $area undefined until parsing the - # first binary section. Missing sections will be caught by other - # checks. - # - # Check any package that looks like a library -dev package for a - # dependency on a shared library package built from the same - # source. If found, such a dependency should have a tight version - # dependency on that package. - # - # Also accumulate short and long descriptions for each package so - # that we can check for duplication, but skip udeb packages. - # Ideally, we should check the udeb package descriptions - # separately for duplication, but udeb packages should be able to - # duplicate the descriptions of non-udeb packages and the package - # description for udebs is much less important or significant to - # the user. - - my $area = $processable->debian_control->source_fields->value('Section'); - - if ($area =~ m{^([^/]+)/}) { - $area = $1; - } else { - $area = 'main'; - } - - my @descriptions; - my ($seen_main, $seen_contrib); - foreach my $bin (@package_names) { - my $depends - = $processable->debian_control->installable_fields($bin) - ->value('Depends'); - - # Accumulate the description. - my $desc = $processable->debian_control->installable_fields($bin) - ->untrimmed_value('Description'); - my $bin_area; - if (length $desc - and $processable->debian_control->installable_package_type($bin)ne - 'udeb') { - push @descriptions, [$bin, split(/\n/, $desc, 2)]; - } - - # If this looks like a -dev package, check its dependencies. - if ($bin =~ /-dev$/ and $depends) { - $self->check_dev_depends($bin, $depends, @package_names); - } - - if ($depends =~ m/\$\{misc:Pre-Depends\}/) { - $self->hint('depends-on-misc-pre-depends', $bin); - } - - # Check mismatches in archive area. - $bin_area - = $processable->debian_control->installable_fields($bin) - ->value('Section'); - $seen_main = 1 if not length($bin_area) and $area eq 'main'; - next - unless length $area && length $bin_area; - - if ($bin_area =~ m{^([^/]+)/}) { - $bin_area = $1; - } else { - $bin_area = 'main'; - } - $seen_main = 1 if $bin_area eq 'main'; - $seen_contrib = 1 if $bin_area eq 'contrib'; - next - if $area eq $bin_area - or ($area eq 'main' and $bin_area eq 'contrib'); - - $self->hint('section-area-mismatch', 'Package', $bin); - } - - $self->hint('section-area-mismatch') - if $seen_contrib - and not $seen_main - and $area eq 'main'; - - my %short_descriptions; - my %long_descriptions; - - for my $paragraph (@descriptions) { - - my $package = @{$paragraph}[0]; - - my $short = @{$paragraph}[1]; - if (length $short) { - $short_descriptions{$short} //= []; - push(@{$short_descriptions{$short}}, $package); - } - - my $long = @{$paragraph}[2]; - if (length $long) { - $long_descriptions{$long} //= []; - push(@{$long_descriptions{$long}}, $package); - } - } - - # check for duplicate short description - for my $short (keys %short_descriptions) { - # Assume that substvars are correctly handled - next if $short =~ m/\$\{.+\}/; - $self->hint( - 'duplicate-short-description', - sort @{$short_descriptions{$short}} - )if scalar @{$short_descriptions{$short}} > 1; - } - - # check for duplicate long description - for my $long (keys %long_descriptions) { - # Assume that substvars are correctly handled - next if $long =~ m/\$\{.+\}/; - $self->hint('duplicate-long-description', - sort @{$long_descriptions{$long}}) - if scalar @{$long_descriptions{$long}} > 1; - } - - my $KNOWN_BUILD_PROFILES - = $self->profile->load_data('fields/build-profiles'); - - # check the syntax of the Build-Profiles field - for my $bin (@package_names) { - my $raw = $processable->debian_control->installable_fields($bin) - ->value('Build-Profiles'); - next unless $raw; - if ( - $raw!~ m{^\s* # skip leading whitespace - < # first list start - !?[^\s<>]+ # (possibly negated) term - (?: # any additional terms - \s+ # start with a space - !?[^\s<>]+ # (possibly negated) term - )* # zero or more additional terms - > # first list end - (?: # any additional restriction lists - \s+ # start with a space - < # additional list start - !?[^\s<>]+ # (possibly negated) term - (?: # any additional terms - \s+ # start with a space - !?[^\s<>]+ # (possibly negated) term - )* # zero or more additional terms - > # additional list end - )* # zero or more additional lists - \s*$ # trailing spaces at the end - }x - ) { - $self->hint('invalid-restriction-formula-in-build-profiles-field', - $raw,$bin); - } else { - # parse the field and check the profile names - $raw =~ s/^\s*<(.*)>\s*$/$1/; - for my $restrlist (split />\s+hint('invalid-profile-name-in-build-profiles-field', - $profile, $bin) - unless $KNOWN_BUILD_PROFILES->recognizes($profile) - or $profile =~ /^pkg\.[a-z0-9][a-z0-9+.-]+\../; - } - } - } - } - - # Check Rules-Requires-Root - if ( - $processable->debian_control->source_fields->declares( - 'Rules-Requires-Root') - ) { - my $r3 - = $processable->debian_control->source_fields->value( - 'Rules-Requires-Root'); - if ($r3 eq 'no') { - $self->hint('rules-does-not-require-root'); - } else { - $self->hint('rules-requires-root-explicitly'); - } - } else { - $self->hint('silent-on-rules-requiring-root'); - } - - if (( - $processable->debian_control->source_fields->value( - 'Rules-Requires-Root') - || 'no' - ) eq 'no' - ) { - BINARY: - foreach my $proc ($group->get_binary_processables) { - my $pkg = $proc->name; - for my $file (@{$proc->installed->sorted_list}) { - my $owner = $file->owner . $COLON . $file->group; - next if $owner eq 'root:root'; - $self->hint('rules-silently-require-root', - $pkg, $file,"($owner)"); - last BINARY; - } - } - } - - # Make sure that the Architecture field in source packages is not multiline - for my $bin (@package_names) { - # The Architecture field is mandatory and dpkg-buildpackage - # will already bail out if it's missing, so we don't need to - # check that. - my $raw = $processable->debian_control->installable_fields($bin) - ->value('Architecture'); - if ($raw =~ /\n./) { - $self->hint('multiline-architecture-field',$bin); - } - } - - # Check for GObject Introspection packages that are missing ${gir:Depends} - foreach my $bin (@package_names) { - next unless $bin =~ m/gir[\d\.]+-.*-[\d\.]+$/; - my $relation = $processable->binary_relation($bin, 'all'); - $self->hint( - 'gobject-introspection-package-missing-depends-on-gir-depends', - $bin) - unless $relation->satisfies('${gir:Depends}'); - } - - if ($processable->relation('Build-Depends') - ->satisfies('golang-go | golang-any')) { - # Verify that golang binary packages set Built-Using (except for - # arch:all library packages). - foreach my $bin (@package_names) { - my $bu = $processable->debian_control->installable_fields($bin) - ->value('Built-Using'); - my $arch = $processable->debian_control->installable_fields($bin) - ->value('Architecture'); - if ($arch eq 'all') { - $self->hint('built-using-field-on-arch-all-package', $bin) - if length $bu; - } else { - if (!length($bu) || $bu !~ /\$\{misc:Built-Using\}/) { - $self->hint('missing-built-using-field-for-golang-package', - $bin); - } - } - } - - $self->hint('missing-xs-go-import-path-for-golang-package') - unless ( - $processable->debian_control->source_fields->value( - 'XS-Go-Import-Path')); - } - - my $changes = $group->changes; - $self->hint('source-only-upload-to-non-free-without-autobuild') - if defined($changes) - and $changes->fields->value('Architecture') eq 'source' - and $processable->is_non_free - and ($processable->debian_control->source_fields->value('XS-Autobuild') - || 'no')eq 'no'; - - return; -} - -# check debug package -sub dbg_pkg_is_known { - my ($self, $pkg) = @_; - - my $KNOWN_DBG_PACKAGE = $self->profile->load_data( - 'common/dbg-pkg', - qr/\s*\~\~\s*/, - sub { - return qr/$_[0]/xms; - }); - - foreach my $dbg_regexp ($KNOWN_DBG_PACKAGE->all) { - my $regex = $KNOWN_DBG_PACKAGE->value($dbg_regexp); - if($pkg =~ m/$regex/xms) { - return 1; - } - } - return 0; -} - -# Check the dependencies of a -dev package. Any dependency on one of the -# packages in @packages that looks like the underlying library needs to -# have a version restriction that's at least as strict as the same upstream -# version. -sub check_dev_depends { - my ($self, $package, $depends, @packages) = @_; - - my $processable = $self->processable; - - # trim both ends - $depends =~ s/^\s+|\s+$//g; - - for my $target (@packages) { - - next - if $target =~ /-(?:dev|docs?|common)$/; - - next - unless $target =~ /^lib[\w.+-]+\d/; - - my @depends = grep { /(?:^|[\s|])\Q$target\E(?:[\s|\(]|\z)/ } - split(/\s*,\s*/, $depends); - - # If there are any alternatives here, something special is - # going on. Assume that the maintainer knows what they're - # doing. Otherwise, separate out just the versions. - next if any { /\|/ } @depends; - - my @unsorted; - for my $item (@depends) { - if ($item =~ /^[\w.+-]+(?:\s*\(([^\)]+)\))/) { - push(@unsorted, $1); - } else { - push(@unsorted, $EMPTY); - } - } - - my @versions = sort @unsorted; - - # If there's only one mention of this package, the dependency - # should be tight. Otherwise, there should be both >>/>= and - # <debian_control->installable_fields($target) - ->value('Architecture') eq 'all' - && $versions[0] =~ /^\s*=\s*\$\{source:Version\}/; - $self->hint('weak-library-dev-dependency', - "$package on $depends[0]"); - } - } elsif (@depends == 2) { - unless ( - $versions[0] =~ m{^\s*<[=<]\s* \$\{ - (?: (?:binary|source):(?:Upstream-)?Version - |Source-Version)\}}xsm - && $versions[1] =~ m{^\s*>[=>]\s* \$\{ - (?: (?:binary|source):(?:Upstream-)?Version - |Source-Version)\}}xsm - ) { - $self->hint('weak-library-dev-dependency', - "$package on $depends[0], $depends[1]"); - } - } - } - return; -} - -# Checks for redundancies in a relation, for missing separators and -# obsolete relation forms. -sub check_relation { - my ($self, $pkg, $field, $rawvalue, $relation) = @_; - - for my $redundant_set ($relation->redundancies) { - - $self->hint('redundant-control-relation', 'in', $pkg, - "$field:", join(', ', sort @{$redundant_set})); - } - - $rawvalue =~ s/\n(\s)/$1/g; - $rawvalue =~ s/\[[^\]]*\]//g; - if ( - $rawvalue =~ m{(?:^|\s) - ( - (?:\w[^\s,|\$\(]+|\$\{\S+:Depends\})\s* - (?:\([^\)]*\)\s*)? - ) - \s+ - ( - (?:\w[^\s,|\$\(]+|\$\{\S+:Depends\})\s* - (?:\([^\)]*\)\s*)? - )}x - ) { - my ($prev, $next) = ($1, $2); - for ($prev, $next) { - # trim right - s/\s+$//; - } - $self->hint('missing-separator-between-items', - 'in', $pkg,"$field field between '$prev' and '$next'"); - } - while ($rawvalue =~ /([^\s\(]+\s*\([<>]\s*[^<>=]+\))/g) { - $self->hint('obsolete-relation-form-in-source','in', $pkg, - "$field: $1"); - } - return; -} - -1; - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright/Dep5/Components.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright/Dep5/Components.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright/Dep5/Components.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright/Dep5/Components.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,113 @@ +# debian/copyright/dep5/components -- lintian check script -*- perl -*- + +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Copyright::Dep5::Components; + +use v5.20; +use warnings; +use utf8; + +use List::Compare; +use Syntax::Keyword::Try; + +use Lintian::Deb822::File; +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $debian_dir = $self->processable->patched->resolve_path('debian/'); + return + unless defined $debian_dir; + + my @installables = $self->processable->debian_control->installables; + my @additional = map { $_ . '.copyright' } @installables; + + my @candidates = ('copyright', @additional); + my @files = grep { defined $_ && !$_->is_symlink } + map { $debian_dir->child($_) } @candidates; + + # another check complains about legacy encoding, if needed + my @valid_utf8 = grep { $_->is_valid_utf8 } @files; + + $self->check_dep5_copyright($_) for @valid_utf8; + + return; +} + +sub check_dep5_copyright { + my ($self, $copyright_file) = @_; + + my $deb822 = Lintian::Deb822::File->new; + + my @sections; + try { + @sections = $deb822->read_file($copyright_file->unpacked_path); + + } catch { + # may not be in DEP 5 format + return; + } + + return + unless @sections; + + my ($header, @followers) = @sections; + + my @initial_path_components; + + for my $section (@followers) { + + my @subdirs = $section->trimmed_list('Files'); + s{ / .* $}{}x for @subdirs; + + my @definite = grep { !/[*?]/ } @subdirs; + + push(@initial_path_components, grep { length } @definite); + } + + my @extra_source_components + = grep { length } values %{$self->processable->components}; + my $component_lc = List::Compare->new(\@extra_source_components, + \@initial_path_components); + + my @missing_components = $component_lc->get_Lonly; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + + $self->pointed_hint('add-component-copyright', $pointer, $_) + for @missing_components; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright/Dep5.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright/Dep5.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright/Dep5.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright/Dep5.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,10 +29,13 @@ use Const::Fast; use List::Compare; use List::SomeUtils qw(any all none uniq); +use Syntax::Keyword::Try; use Text::Glob qw(match_glob); +use Time::Piece; use XML::LibXML; use Lintian::Deb822::File; +use Lintian::Pointer::Item; use Lintian::Relation::Version qw(versions_compare); use Moo; @@ -49,8 +52,6 @@ const my $COLON => q{:}; const my $HYPHEN => q{-}; const my $ASTERISK => q{*}; -const my $LEFT_SQUARE => q{[}; -const my $RIGHT_SQUARE => q{]}; const my $MINIMUM_CREATIVE_COMMMONS_LENGTH => 20; const my $LAST_ITEM => -1; @@ -94,8 +95,12 @@ my $uri = $original_uri; my $version; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + if ($uri =~ /\b(?:rev=REVISION|VERSIONED_FORMAT_URL)\b/) { - $self->hint('boilerplate-copyright-format-uri', $file->name, $uri); + + $self->pointed_hint('boilerplate-copyright-format-uri', $pointer,$uri); return undef; } @@ -110,10 +115,13 @@ return $version; } + if ($uri =~ m{^https?://dep(-team\.pages)?\.debian\.net/deps/dep5/?$}) { + $version = '0+svn'; return $version; } + if ( $uri =~ s{\A https?://svn\.debian\.org/ wsvn/dep/web/deps/dep5\.mdwn\b}{}xsm @@ -146,7 +154,8 @@ return $version; } - $self->hint('unknown-copyright-format-uri', $file->name, $original_uri); + $self->pointed_hint('unknown-copyright-format-uri', + $pointer, $original_uri); return undef; } @@ -154,6 +163,9 @@ sub check_dep5_copyright { my ($self, $copyright_file) = @_; + my $rough_pointer = Lintian::Pointer::Item->new; + $rough_pointer->item($copyright_file); + my $contents = $copyright_file->decoded_utf8; if ($contents =~ /^Files-Excluded:/m) { @@ -161,14 +173,14 @@ if ($contents =~ m{^Format:.*/doc/packaging-manuals/copyright-format/1.0/?$}m) { - $self->hint('repackaged-source-not-advertised', - $copyright_file->name) + $self->pointed_hint('repackaged-source-not-advertised', + $rough_pointer) unless $self->processable->repacked || $self->processable->native; } else { - $self->hint('files-excluded-without-copyright-format-1.0', - $copyright_file->name); + $self->pointed_hint('files-excluded-without-copyright-format-1.0', + $rough_pointer); } } @@ -184,7 +196,7 @@ ) }x ){ - $self->hint('no-dep5-copyright', $copyright_file->name); + $self->pointed_hint('no-dep5-copyright', $rough_pointer); return; } @@ -197,7 +209,7 @@ $first_para =~ s/\n?[ \t]+/ /g; if ($first_para !~ /^Format(?:-Specification)?:\s*(\S+)\s*$/mi) { - $self->hint('unknown-copyright-format-uri', $copyright_file->name); + $self->pointed_hint('unknown-copyright-format-uri', $rough_pointer); return; } @@ -211,19 +223,19 @@ unless defined $version; if ($version =~ /wiki/) { - $self->hint('wiki-copyright-format-uri', $copyright_file->name, $uri); + $self->pointed_hint('wiki-copyright-format-uri', $rough_pointer, $uri); } elsif ($version =~ /svn$/) { - $self->hint('unversioned-copyright-format-uri', - $copyright_file->name, $uri); + $self->pointed_hint('unversioned-copyright-format-uri', + $rough_pointer, $uri); } elsif (versions_compare($version, '<<', $LAST_SIGNIFICANT_DEP5_CHANGE)) { - $self->hint('out-of-date-copyright-format-uri', - $copyright_file->name, $uri); + $self->pointed_hint('out-of-date-copyright-format-uri', + $rough_pointer, $uri); } elsif ($uri =~ m{^http://www\.debian\.org/}) { - $self->hint('insecure-copyright-format-uri', - $copyright_file->name, $uri); + $self->pointed_hint('insecure-copyright-format-uri', + $rough_pointer, $uri); } return @@ -233,14 +245,16 @@ my $deb822 = Lintian::Deb822::File->new; my @sections; - eval { @sections = $deb822->parse_string($contents); }; + try { + @sections = $deb822->read_file($copyright_file->unpacked_path); - if (length $@) { - chomp $@; + } catch { + my $error = $@; + chomp $error; + $error =~ s{^syntax error in }{}; - $@ =~ s/^syntax error in //; - $self->hint('syntax-error-in-dep5-copyright', - $copyright_file->name . $COLON . $SPACE . $@); + $self->pointed_hint('syntax-error-in-dep5-copyright', + $rough_pointer, $@); return; } @@ -256,10 +270,11 @@ my @license_sections = grep { $_->declares('License') } @sections; for my $section (@license_sections) { - $self->hint('tab-in-license-text', - $copyright_file->name - . ' (starting at line ' - . $section->position('License') . ')') + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('License')); + + $self->pointed_hint('tab-in-license-text', $pointer) if $section->untrimmed_value('License') =~ /\t/; my ($anycase_identifier, $license_text) @@ -285,51 +300,40 @@ $license_identifier_by_section{$section->position} = $license_identifier; - $self->hint('empty-short-license-in-dep5-copyright', - $copyright_file->name, - '(line ' . $section->position('License') . ')') + $self->pointed_hint('empty-short-license-in-dep5-copyright', $pointer) unless length $license_identifier; - $self->hint( - 'pipe-symbol-used-as-license-disjunction', - $copyright_file->name, - $license_identifier, - '(line '. $section->position('License') . ')' - )if $license_identifier =~ m{\s+\|\s+}; + $self->pointed_hint('pipe-symbol-used-as-license-disjunction', + $pointer, $license_identifier) + if $license_identifier =~ m{\s+\|\s+}; for my $name (@license_names) { if ($name =~ /\s/) { if($name =~ /[^ ]+ \s+ with \s+ (.*)/x) { + my $exceptiontext = $1; - unless ($exceptiontext =~ /[^ ]+ \s+ exception/x) { - $self->hint( - 'bad-exception-format-in-dep5-copyright', - $copyright_file->name, - $name, - '(line ' . $section->position('License') . ')' - ); - } - }else { - $self->hint( + $self->pointed_hint( + 'bad-exception-format-in-dep5-copyright', + $pointer, $name) + unless $exceptiontext =~ /[^ ]+ \s+ exception/x; + + } else { + + $self->pointed_hint( 'space-in-std-shortname-in-dep5-copyright', - $copyright_file->name, - $name, - '(line ' . $section->position('License') . ')' - ); + $pointer, $name); } } - $self->hint('invalid-short-name-in-dep5-copyright', - $copyright_file->name, - $name,'(line ' . $section->position('License') . ')') + $self->pointed_hint('invalid-short-name-in-dep5-copyright', + $pointer, $name) if $name =~ m{^(?:agpl|gpl|lgpl)[^-]?\d(?:\.\d)?\+?$} || $name =~ m{^bsd(?:[^-]?[234][^-]?(?:clause|cluase))?$}; - $self->hint('license-problem-undefined-license', - $copyright_file->name, - $name,'(line ' . $section->position('License') . ')') + $self->pointed_hint('license-problem-undefined-license', + $pointer, $name) if $name eq $HYPHEN || $name =~ m{\b(?:fixmes?|todos?|undefined?|unknown?|unspecified)\b}; @@ -339,6 +343,7 @@ if ( length $license_identifier && length $license_text && !$section->declares('Files')) { + $found_standalone{$license_identifier} //= []; push(@{$found_standalone{$license_identifier}}, $section); } @@ -347,12 +352,9 @@ my $num_lines = $license_text =~ tr/\n//; - $self->hint( - 'incomplete-creative-commons-license', - $copyright_file->name, - $license_identifier, - '(line ' . $section->position('License') . ')' - )if $num_lines < $MINIMUM_CREATIVE_COMMMONS_LENGTH; + $self->pointed_hint('incomplete-creative-commons-license', + $pointer, $license_identifier) + if $num_lines < $MINIMUM_CREATIVE_COMMMONS_LENGTH; } } @@ -363,10 +365,15 @@ next if $name eq 'public-domain'; - $self->hint('dep5-copyright-license-name-not-unique', - $copyright_file->name, - $name,'(line ' . $_->position('License') . ')') - for @{$found_standalone{$name}}; + for my $section (@{$found_standalone{$name}}) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('License')); + + $self->pointed_hint('dep5-copyright-license-name-not-unique', + $pointer, $name); + } } my ($header, @followers) = @sections; @@ -374,31 +381,35 @@ my @obsolete_fields = grep { $header->declares($_) } keys %NEW_FIELD_NAMES; for my $old_name (@obsolete_fields) { - $self->hint( - 'obsolete-field-in-dep5-copyright', - $copyright_file->name, - $old_name, - $NEW_FIELD_NAMES{$old_name}, - '(line ' . $header->position($old_name) . ')' - ); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($header->position($old_name)); + + $self->pointed_hint('obsolete-field-in-dep5-copyright', + $pointer, $old_name, $NEW_FIELD_NAMES{$old_name}); } - $self->hint('missing-field-in-dep5-copyright', - $copyright_file->name,'Format','(line ' . $header->position . ')') + my $header_pointer = Lintian::Pointer::Item->new; + $header_pointer->item($copyright_file); + $header_pointer->position($header->position); + + $self->pointed_hint('missing-field-in-dep5-copyright', + $header_pointer, 'Format') if none { $header->declares($_) } qw(Format Format-Specification); my $debian_control = $self->processable->debian_control; - $self->hint('missing-explanation-for-contrib-or-non-free-package', - $copyright_file->name) - if ($debian_control->source_fields->value('Section')) + + $self->pointed_hint('missing-explanation-for-contrib-or-non-free-package', + $header_pointer) + if $debian_control->source_fields->value('Section') =~ m{^(?:contrib|non-free)(?:/.+)?$} - && none { $header->declares($_) } qw(Comment Disclaimer); + && (none { $header->declares($_) } qw{Comment Disclaimer}); - $self->hint('missing-explanation-for-repacked-upstream-tarball', - $copyright_file->name) + $self->pointed_hint('missing-explanation-for-repacked-upstream-tarball', + $header_pointer) if $self->processable->repacked && $header->value('Source') =~ m{^https?://} - && none { $header->declares($_) } qw(Comment Files-Excluded); + && (none { $header->declares($_) } qw{Comment Files-Excluded}); my @ambiguous_sections = grep { $_->declares('License') @@ -406,18 +417,26 @@ && !$_->declares('Files') } @followers; - $self->hint('ambiguous-paragraph-in-dep5-copyright', - $copyright_file->name,'paragraph at line ' . $_->position) - for @ambiguous_sections; + for my $section (@ambiguous_sections) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position); + + $self->pointed_hint('ambiguous-paragraph-in-dep5-copyright',$pointer); + } my @unknown_sections = grep {!$_->declares('License')&& !$_->declares('Files')} @followers; - $self->hint( - 'unknown-paragraph-in-dep5-copyright', - $copyright_file->name,'paragraph at line', - $_->position - ) for @unknown_sections; + for my $section (@unknown_sections) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position); + + $self->pointed_hint('unknown-paragraph-in-dep5-copyright',$pointer); + } my @shipped_items; @@ -443,9 +462,14 @@ my @excluded; for my $wildcard ($header->trimmed_list('Files-Excluded')) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($header->position('Files-Excluded')); + my @offenders = escape_errors($wildcard); - $self->hint('invalid-escape-sequence-in-dep5-copyright', - $copyright_file->name, $_) + + $self->pointed_hint('invalid-escape-sequence-in-dep5-copyright', + $pointer, '(Files-Excluded)', $_) for @offenders; next @@ -480,9 +504,14 @@ my @included; for my $wildcard ($header->trimmed_list('Files-Included')) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($header->position('Files-Included')); + my @offenders = escape_errors($wildcard); - $self->hint('invalid-escape-sequence-in-dep5-copyright', - $copyright_file->name, $_) + + $self->pointed_hint('invalid-escape-sequence-in-dep5-copyright', + $pointer, '(Files-Included)', $_) for @offenders; next @@ -509,10 +538,11 @@ $dulled =~ s/([{}\[\]])/\\$1/g; my @match = match_glob($dulled, @shipped_names); - my $position = $header->position('Files-Included'); - $self->hint('superfluous-file-pattern', $copyright_file->name, - $wildcard,"(Files-Included, line $position)") - unless @match; + + $self->pointed_hint( + 'superfluous-file-pattern', $pointer, + '(Files-Included)', $wildcard + )unless @match; push(@included, @match); } @@ -522,13 +552,23 @@ my @unwanted = $lc->get_Ronly; # already unique - $self->hint('file-included-already', $copyright_file->name, $_) - for @affirmed; + for my $name (@affirmed) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($header->position('Files-Included')); + + $self->pointed_hint('file-included-already', $pointer, $name); + } # already unique for my $name (@unwanted) { - $self->hint('source-ships-excluded-file',$copyright_file->name, $name) + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($header->position('Files-Excluded')); + + $self->pointed_hint('source-ships-excluded-file',$pointer, $name) unless $name =~ m{^(?:debian|\.pc)/}; } @@ -538,13 +578,14 @@ my @names_with_comma = grep { /,/ } @shipped_names; my @fields_with_comma = grep { $_->value('Files') =~ /,/ } @followers; - if (@fields_with_comma && !@names_with_comma) { + for my $section (@fields_with_comma) { - $self->hint( - 'comma-separated-files-in-dep5-copyright', - $copyright_file->name,'paragraph at line', - $copyright_file->name,$_->position('Files') - ) for @fields_with_comma; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('Files')); + + $self->pointed_hint('comma-separated-files-in-dep5-copyright',$pointer) + if !@names_with_comma; } # only attempt to evaluate globbing if commas could be legal @@ -554,29 +595,38 @@ for my $section (@files_sections) { - $self->hint('missing-field-in-dep5-copyright', - $copyright_file->name, - 'Files','(empty field, line ' . $section->position('Files') . ')') - if $section->value('Files') =~ /^\s*$/; - - $self->hint('missing-field-in-dep5-copyright', - $copyright_file->name, - 'License', '(paragraph at line ' . $section->position . ')') - unless $section->declares('License'); - - $self->hint('missing-field-in-dep5-copyright', - $copyright_file->name, - 'Copyright','(paragraph at line ' . $section->position . ')') - unless $section->declares('Copyright'); - - $self->hint( - 'missing-field-in-dep5-copyright', - $copyright_file->name, - 'Copyright', - '(empty field, line ' . $section->position('Copyright') . ')' - ) - if $section->declares('Copyright') - && $section->value('Copyright') =~ /^\s*$/; + if (!length $section->value('Files')) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('Files')); + + $self->pointed_hint('missing-field-in-dep5-copyright', + $pointer,'(empty field)', 'Files'); + } + + my $section_pointer = Lintian::Pointer::Item->new; + $section_pointer->item($copyright_file); + $section_pointer->position($section->position); + + $self->pointed_hint('missing-field-in-dep5-copyright', + $section_pointer, 'License') + if !$section->declares('License'); + + $self->pointed_hint('missing-field-in-dep5-copyright', + $section_pointer, 'Copyright') + if !$section->declares('Copyright'); + + if ($section->declares('Copyright') + && !length $section->value('Copyright')) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('Copyright')); + + $self->pointed_hint('missing-field-in-dep5-copyright', + $pointer, '(empty field)', 'Copyright'); + } } my %sections_by_wildcard; @@ -587,6 +637,18 @@ my $section_count = 0; for my $section (@followers) { + my $wildcard_pointer = Lintian::Pointer::Item->new; + $wildcard_pointer->item($copyright_file); + $wildcard_pointer->position($section->position('Files')); + + my $copyright_pointer = Lintian::Pointer::Item->new; + $copyright_pointer->item($copyright_file); + $copyright_pointer->position($section->position('Copyright')); + + my $license_pointer = Lintian::Pointer::Item->new; + $license_pointer->item($copyright_file); + $license_pointer->position($section->position('License')); + my @license_names = @{$license_names_by_section{$section->position} // []}; my $license_text = $license_text_by_section{$section->position}; @@ -610,23 +672,39 @@ @wildcards = $section->trimmed_list('Files'); } + my @rightholders = $section->trimmed_list('Copyright', qr{ \n }x); + my @years = map { /(\d{4})/g } @rightholders; + my @changelog_entries = @{$self->processable->changelog->entries}; + + if ( @years + && @changelog_entries + && (any { m{^ debian (?: / | $) }x } @wildcards)) { + + my @descending = reverse sort { $a <=> $b } @years; + my $latest_copyright = $descending[0]; + + my $tp = Time::Piece->strptime($changelog_entries[0]->Date, + '%a, %d %b %Y %T %z'); + my $latest_changelog = $tp->year; + + $self->pointed_hint('update-debian-copyright', $copyright_pointer, + $latest_copyright, 'vs', $tp->year) + if $latest_copyright < $tp->year; + } + for my $wildcard (@wildcards) { $sections_by_wildcard{$wildcard} //= []; push(@{$sections_by_wildcard{$wildcard}}, $section); } - $self->hint( + $self->pointed_hint( 'global-files-wildcard-not-first-paragraph-in-dep5-copyright', - $copyright_file->name,'(line ' . $section->position('Files') . ')') + $wildcard_pointer) if (any { $_ eq $ASTERISK } @wildcards) && $section_count > 0; # stand-alone license paragraph - $self->hint( - 'missing-license-text-in-dep5-copyright', - $copyright_file->name, - $section->untrimmed_value('License'), - '(line ' . $section->position('License') . ')' - ) + $self->pointed_hint('missing-license-text-in-dep5-copyright', + $license_pointer, $section->untrimmed_value('License')) if !@wildcards && $section->declares('License') && !length $license_text; @@ -640,9 +718,8 @@ my @offenders = escape_errors($wildcard); - $self->hint('invalid-escape-sequence-in-dep5-copyright', - $copyright_file->name, - $_. ' (paragraph at line '. $section->position. ')') + $self->pointed_hint('invalid-escape-sequence-in-dep5-copyright', + $wildcard_pointer, $_) for @offenders; next @@ -675,9 +752,8 @@ my $winner_depth = ($winning_wildcard =~ tr{/}{}); my $looser_depth = ($loosing_wildcard =~ tr{/}{}); - $self->hint('globbing-patterns-out-of-order', - $copyright_file->name, - $loosing_wildcard, $winning_wildcard, $name) + $self->pointed_hint('globbing-patterns-out-of-order', + $wildcard_pointer,$loosing_wildcard, $winning_wildcard, $name) if $looser_depth > $winner_depth; } @@ -690,15 +766,14 @@ = grep { @{$wildcards_same_section_by_file{$_}} > 1 } keys %wildcards_same_section_by_file; - $self->hint( - 'redundant-globbing-patterns', - $copyright_file->name, - "(section $section_count)", - $LEFT_SQUARE - . join($SPACE, sort @{$wildcards_same_section_by_file{$_}}) - . $RIGHT_SQUARE, - "for $_" - ) for @overmatched_same_section; + for my $file (@overmatched_same_section) { + + my $patterns + = join($SPACE, sort @{$wildcards_same_section_by_file{$file}}); + + $self->pointed_hint('redundant-globbing-patterns', + $wildcard_pointer,"($patterns) for $file"); + } push(@redundant_wildcards, map { @{$wildcards_same_section_by_file{$_}} } @@ -712,14 +787,18 @@ my @duplicate_wildcards= grep { @{$sections_by_wildcard{$_}} > 1 } keys %sections_by_wildcard; + for my $wildcard (@duplicate_wildcards) { - $self->hint( - 'duplicate-globbing-patterns', - $copyright_file->name, - $wildcard, - 'in lines', + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + + my $lines = join($SPACE, map { $_->position('Files') } @{$sections_by_wildcard{$wildcard}}); + + $self->pointed_hint('duplicate-globbing-patterns', $pointer, + $wildcard, '(lines $lines)'); } # do not issue next tag for duplicates or redundant wildcards @@ -734,9 +813,12 @@ for my $wildcard (@matches_nothing) { for my $section (@{$sections_by_wildcard{$wildcard}}) { - my $position = $section->position('Files'); - $self->hint('superfluous-file-pattern',$copyright_file->name, - $wildcard, "(Files, line $position)"); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('Files')); + + $self->pointed_hint('superfluous-file-pattern', $pointer, + $wildcard); } } @@ -780,7 +862,14 @@ $parser->set_option('no_network', 1); my $file = $self->processable->patched->resolve_path($name); - my $doc = eval {$parser->parse_file($file->unpacked_path);}; + my $doc; + try { + $doc = $parser->parse_file($file->unpacked_path); + + } catch { + next; + } + next unless $doc; @@ -800,8 +889,8 @@ my @wanted = @{$license_identifiers_by_file{$name}}; my @mismatched = grep { $_ ne $seen } @wanted; - $self->hint('inconsistent-appstream-metadata-license', - $copyright_file->name,$name, "($seen != $_)") + $self->pointed_hint('inconsistent-appstream-metadata-license', + $rough_pointer, $name, "($seen != $_)") for @mismatched; } @@ -813,8 +902,8 @@ my @not_covered = grep { !@{$sections_by_file{$_} // []} } @license_needed; - $self->hint('file-without-copyright-information', - $copyright_file->name, $_) + $self->pointed_hint('file-without-copyright-information', + $rough_pointer, $_) for @not_covered; } @@ -824,36 +913,52 @@ my @matched_standalone = $standalone_lc->get_intersection; my @unused_standalone = $standalone_lc->get_Ronly; - $self->hint('missing-license-paragraph-in-dep5-copyright', - $copyright_file->name,$_, - '(line '. $required_standalone{$_}->position('License') . ')') - for @missing_standalone; - - for my $name (grep { $_ ne 'public-domain' } @unused_standalone) { - - $self->hint('unused-license-paragraph-in-dep5-copyright', - $copyright_file->name, - $name,'(line ' . $_->position('License') . ')') - for @{$found_standalone{$name}}; - } - - for my $name (@matched_standalone) { - $self->hint( - 'dep5-file-paragraph-references-header-paragraph', - $copyright_file->name, - $name, - '(line '. $required_standalone{$name}->position('Files') . ')' - )if all { $_ == $header } @{$found_standalone{$name}}; + for my $license (@missing_standalone) { + + my $section = $required_standalone{$license}; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('License')); + + $self->pointed_hint('missing-license-paragraph-in-dep5-copyright', + $pointer, $license); + } + + for my $license (grep { $_ ne 'public-domain' } @unused_standalone) { + + for my $section (@{$found_standalone{$license}}) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('License')); + + $self->pointed_hint('unused-license-paragraph-in-dep5-copyright', + $pointer, $license); + } + } + + for my $license (@matched_standalone) { + + my $section = $required_standalone{$license}; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($copyright_file); + $pointer->position($section->position('Files')); + + $self->pointed_hint('dep5-file-paragraph-references-header-paragraph', + $pointer, $license) + if all { $_ == $header } @{$found_standalone{$license}}; } # license files do not require their own entries in d/copyright. my $license_lc = List::Compare->new(\@notice_names, [keys %sections_by_wildcard]); - my @listed_licences = $license_lc->get_intersection; + my @listed_licenses = $license_lc->get_intersection; - $self->hint('license-file-listed-in-debian-copyright', - $copyright_file->name, $_) - for @listed_licences; + $self->pointed_hint('license-file-listed-in-debian-copyright', + $rough_pointer, $_) + for @listed_licenses; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Copyright.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Copyright.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,7 @@ use Const::Fast; use List::SomeUtils qw(any all none uniq); use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); use Lintian::Deb822::Parser qw(parse_dpkg_control_string); @@ -540,13 +541,13 @@ } my @paragraphs; + try { + @paragraphs = parse_dpkg_control_string($contents); - local $@ = undef; - eval {@paragraphs = parse_dpkg_control_string($contents);}; - - # parse error: copyright not in new format, just check text - return $text_check->(\$contents) - if $@; + } catch { + # parse error: copyright not in new format, just check text + return $text_check->(\$contents); + } my @licenses = grep { length } map { $_->{License} } @paragraphs; for my $license (@licenses) { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Debconf.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Debconf.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Debconf.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Debconf.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,10 +28,12 @@ use Const::Fast; use List::SomeUtils qw(none); use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use Lintian::Deb822::File; use Lintian::Deb822::Parser qw(:constants); +use Lintian::Pointer::Item; use Lintian::Relation; use Lintian::Util qw($PKGNAME_REGEX); @@ -94,20 +96,24 @@ my @utf8 = grep { $_->is_valid_utf8 } @files; for my $file (@utf8) { - my $contents = $file->decoded_utf8; my $deb822 = Lintian::Deb822::File->new; my @templates; - eval { + try { @templates - = $deb822->parse_string($contents, DCTRL_DEBCONF_TEMPLATE); - }; + = $deb822->read_file($file->unpacked_path, + DCTRL_DEBCONF_TEMPLATE); - if (length $@) { - chomp $@; + } catch { + my $error = $@; + chomp $error; + $error =~ s{^syntax error in }{}; - $@ =~ s/^syntax error in //; - $self->hint('syntax-error-in-debconf-template',"$file: $@"); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + + $self->pointed_hint('syntax-error-in-debconf-template', + $pointer, $error); next; } @@ -210,25 +216,25 @@ if ($seentemplates) { if ($ctrl_templates->is_valid_utf8) { - my $contents = $ctrl_templates->decoded_utf8; my $deb822 = Lintian::Deb822::File->new; - eval { + try { # $seentemplates (above) will be false if $ctrl_templates is a # symlink or not a file, so this should be safe without # (re-checking) with -f/-l. - @templates - = $deb822->parse_string($contents,DCTRL_DEBCONF_TEMPLATE); - }; - - if (length $@) { - chomp $@; - - $@ =~ s/^syntax error in //; - $self->hint( - 'syntax-error-in-debconf-template', - "DEBIAN/$ctrl_templates: $@" - ); + @templates= $deb822->read_file($ctrl_templates->unpacked_path, + DCTRL_DEBCONF_TEMPLATE); + + } catch { + my $error = $@; + chomp $error; + $error =~ s{^syntax error in }{}; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($ctrl_templates); + + $self->pointed_hint('syntax-error-in-debconf-template', + $pointer, $error); @templates = (); } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Maintscript.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Maintscript.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Maintscript.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Maintscript.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,77 @@ +# debian/maintscript -- lintian check script -*- perl -*- + +# Copyright © 1999 by Joey Hess +# Copyright © 2016-2020 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debian::Maintscript; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item->dirname eq 'debian/'; + + return + unless $item->basename =~ m{ (?: ^ | [.] ) maintscript $}x; + + return + unless $item->is_open_ok; + + open(my $fd, '<', $item->unpacked_path) + or die encode_utf8('Cannot open ' . $item->unpacked_path); + + my $position = 1; + while (my $line = <$fd>) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('maintscript-includes-maint-script-parameters', + $pointer) + if $line =~ /--\s+"\$(?:@|{@})"\s*$/; + + } continue { + ++$position; + } + + close $fd; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Patches/Dep3.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Patches/Dep3.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Patches/Dep3.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Patches/Dep3.pm 2022-01-11 17:11:33.000000000 +0100 @@ -26,6 +26,7 @@ use Const::Fast; use List::SomeUtils qw(any none); +use Syntax::Keyword::Try; use Unicode::UTF8 qw(valid_utf8 decode_utf8); use Lintian::Deb822::File; @@ -66,9 +67,12 @@ my $deb822 = Lintian::Deb822::File->new; my @sections; - eval { @sections = $deb822->parse_string($header) }; - return - if length $@; + try { + @sections = $deb822->parse_string($header); + + } catch { + return; + } return unless @sections; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/PoDebconf.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/PoDebconf.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/PoDebconf.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/PoDebconf.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,7 +28,7 @@ use Cwd qw(realpath); use File::Temp(); use IPC::Run3; -use Try::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use Lintian::IPC::Run3 qw(safe_qx); @@ -246,17 +246,18 @@ die encode_utf8("system @intltool failed: $?") if $?; - }catch { + } catch { # catch any error - $error = $_; - }finally { + $error = $@; + + } finally { # restore environment %ENV = %save; # restore working directory chdir($cwd) or die encode_utf8('Cannot change directory ' . $cwd); - }; + } # output could be helpful to user but is currently not printed @@ -287,10 +288,10 @@ die encode_utf8("system @testright failed: $?") if $?; - }catch { + } catch { # catch any error - $error = $_; - }; + $error = $@; + } $self->hint('newer-debconf-templates') if length $error; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Shlibs.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Shlibs.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Shlibs.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Shlibs.pm 2022-01-11 17:11:33.000000000 +0100 @@ -55,13 +55,11 @@ default => sub { my ($self) = @_; - my $objdump = $self->processable->objdump_info; - my %soname_by_filename; - for my $name (keys %{$objdump}) { + for my $item (@{$self->processable->installed->sorted_list}) { - $soname_by_filename{$name} = $objdump->{$name}{SONAME}[0] - if exists $objdump->{$name}{SONAME}; + $soname_by_filename{$item->name}= $item->elf->{SONAME}[0] + if exists $item->elf->{SONAME}; } return \%soname_by_filename; @@ -108,15 +106,16 @@ # they're in private directories, assume they're plugins or # private libraries and are safe. my @unversioned_libraries; - for my $name (keys %{$self->soname_by_filename}) { + for my $file_name (keys %{$self->soname_by_filename}) { - my $pretty_soname = human_soname($self->soname_by_filename->{$name}); + my $pretty_soname + = human_soname($self->soname_by_filename->{$file_name}); next if $pretty_soname =~ m{ }; - push(@unversioned_libraries, $name); - $self->hint('shared-library-lacks-version', $name, $pretty_soname) - if any { (dirname($name) . $SLASH) eq $_ } @ldconfig_folders; + push(@unversioned_libraries, $file_name); + $self->hint('shared-library-lacks-version', $file_name, $pretty_soname) + if any { (dirname($file_name) . $SLASH) eq $_ } @ldconfig_folders; } my $versioned_lc = List::Compare->new([keys %{$self->soname_by_filename}], @@ -135,14 +134,14 @@ if defined $shlibs_file && !@versioned_libraries; # shared libraries included, thus shlibs control file has to exist - for my $name (@versioned_libraries) { + for my $file_name (@versioned_libraries) { # only public shared libraries - $self->hint('no-shlibs', $name) - if (any { (dirname($name) . $SLASH) eq $_ } @ldconfig_folders) + $self->hint('no-shlibs', $file_name) + if (any { (dirname($file_name) . $SLASH) eq $_ } @ldconfig_folders) && !defined $shlibs_file && $self->processable->type ne 'udeb' - && !is_nss_plugin($name); + && !is_nss_plugin($file_name); } if (@versioned_libraries && defined $shlibs_file) { @@ -200,24 +199,24 @@ } my @used_pretty_sonames; - for my $name (@versioned_libraries) { + for my $file_name (@versioned_libraries) { my $pretty_soname - = human_soname($self->soname_by_filename->{$name}); + = human_soname($self->soname_by_filename->{$file_name}); push(@used_pretty_sonames, $pretty_soname); push(@used_pretty_sonames, "udeb: $pretty_soname"); # only public shared libraries $self->hint('ships-undeclared-shared-library', - $pretty_soname, 'for', $name) + $pretty_soname, 'for', $file_name) if ( - any { (dirname($name) . $SLASH) eq $_ } + any { (dirname($file_name) . $SLASH) eq $_ } @ldconfig_folders ) && !@{$self->shlibs_positions_by_pretty_soname->{$pretty_soname} // []} - && !is_nss_plugin($name); + && !is_nss_plugin($file_name); } my $unused_lc @@ -271,17 +270,26 @@ if (!defined $symbols_file && $self->processable->type ne 'udeb') { - for my $name (@shared_libraries){ + for my $file_name (@shared_libraries){ + + my $item = $self->processable->installed->lookup($file_name); + next + unless defined $item; - my $objdump = $self->processable->objdump_info->{$name}; + my @symbols + = grep { $_->section eq '.text' || $_->section eq 'UND' } + @{$item->elf->{SYMBOLS} // []}; # only public shared libraries # Skip Objective C libraries as instance/class methods do not # appear in the symbol table - $self->hint('no-symbols-control-file', $name) - if (any { (dirname($name) . $SLASH) eq $_ } @ldconfig_folders) - && (none { @{$_}[2] =~ m/^__objc_/ } @{$objdump->{SYMBOLS}}) - && !is_nss_plugin($name); + $self->hint('no-symbols-control-file', $file_name) + if ( + any { (dirname($file_name) . $SLASH) eq $_ } + @ldconfig_folders + ) + && (none { $_->name =~ m/^__objc_/ } @symbols) + && !is_nss_plugin($file_name); } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Upstream/Metadata.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Upstream/Metadata.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Upstream/Metadata.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Upstream/Metadata.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,7 @@ use Const::Fast; use List::Compare; use List::Util qw(none); +use Syntax::Keyword::Try; use YAML::XS; # default changed to false in 0.81; enable then in .perlcriticrc @@ -39,6 +40,8 @@ with 'Lintian::Check'; +const my $EMPTY => q{}; + # Need 0.69 for $LoadBlessed (#861958) const my $HAS_LOAD_BLESSED => 0.69; @@ -101,9 +104,14 @@ if $YAML::XS::VERSION < $HAS_LOAD_BLESSED; my $yaml; - eval { $yaml = YAML::XS::LoadFile($file->unpacked_path); }; + try { + $yaml = YAML::XS::LoadFile($file->unpacked_path); + + die + unless defined $yaml; + + } catch { - if ($@ || !defined $yaml) { my $message = $@; my ($reason, $document, $line, $column)= ( $message =~ m{ @@ -130,7 +138,11 @@ return; } - $self->hint('upstream-metadata-field-present', $_) for keys %{$yaml}; + for my $field (keys %{$yaml}) { + + $self->hint('upstream-metadata', $field, $yaml->{$field}) + if ref($yaml->{$field}) eq $EMPTY; + } my $lc = List::Compare->new([keys %{$yaml}],[@known_fields, @tolerated_fields]); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Upstream/SigningKey.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Upstream/SigningKey.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Upstream/SigningKey.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Upstream/SigningKey.pm 2022-01-11 17:11:33.000000000 +0100 @@ -53,7 +53,7 @@ # Check if more than one signing key is present $self->hint('public-upstream-keys-in-multiple-locations', - sort keys %key_locations) + (sort keys %key_locations)) if scalar keys %key_locations > 1; # Go through signing keys and run checks for each diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Watch/Standard.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Watch/Standard.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Watch/Standard.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Watch/Standard.pm 2022-01-11 17:11:33.000000000 +0100 @@ -52,7 +52,10 @@ # look for version my @mentioned = ($contents =~ /^ version \s* = \s* (\d+) \s* $/gmsx); - unless (@mentioned) { + my $has_contents = !!($contents =~ m{^ \s* [^#] }gmx); + + if ($has_contents && !@mentioned) { + $self->hint('missing-debian-watch-file-standard'); return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Watch.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Watch.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debian/Watch.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debian/Watch.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,7 @@ use List::SomeUtils qw(any firstval firstres); use Path::Tiny; +use Lintian::Pointer::Item; use Lintian::Util qw($PKGREPACK_REGEX); use Moo; @@ -51,13 +52,18 @@ my $file = $self->processable->patched->resolve_path('debian/watch'); unless ($file && $file->is_file) { + $self->hint('debian-watch-file-is-missing') unless $self->processable->native; + return; } + my $rough_pointer = Lintian::Pointer::Item->new; + $rough_pointer->item($file); + # Perform the other checks even if it is a native package - $self->hint('debian-watch-file-in-native-package') + $self->pointed_hint('debian-watch-file-in-native-package', $rough_pointer) if $self->processable->native; # Check if the Debian version contains anything that resembles a repackaged @@ -86,7 +92,8 @@ last if defined $templatestring; } - $self->hint('debian-watch-contains-dh_make-template', $templatestring) + $self->pointed_hint('debian-watch-contains-dh_make-template', + $rough_pointer, $templatestring) if length $templatestring; # remove backslash at end; uscan will catch it @@ -117,7 +124,6 @@ # allow spaces for all watch file versions (#950250, #950277) my $separator = qr/\s*,\s*/; - my @errors; my $withgpgverification = 0; my %dversions; @@ -125,6 +131,10 @@ my $continued = $EMPTY; for my $line (@lines) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + $pointer->position($position); + # strip leading spaces $line =~ s/^\s*//; @@ -160,7 +170,8 @@ } unless (length $remainder) { - push(@errors, $line); + + $self->pointed_hint('debian-watch-line-invalid', $pointer, $line); next; } @@ -194,16 +205,29 @@ $withgpgverification = 1 if $option =~ /^pgpsigurlmangle\s*=\s*/ || $option =~ /^pgpmode\s*=\s*(?!none\s*$)\S.*$/; + + my ($name, $value) = split(m{ \s* = \s* }x, $option, 2); + + next + unless length $name; + + $value //= $EMPTY; + + $self->pointed_hint('prefer-uscan-symlink',$pointer, $name, $value) + if $name eq 'filenamemangle'; } - $self->hint('debian-watch-file-uses-deprecated-sf-redirector-method', - $remainder) + $self->pointed_hint( + 'debian-watch-file-uses-deprecated-sf-redirector-method', + $pointer,$remainder) if $remainder =~ m{qa\.debian\.org/watch/sf\.php\?}; - $self->hint('debian-watch-file-uses-deprecated-githubredir',$remainder) + $self->pointed_hint('debian-watch-file-uses-deprecated-githubredir', + $pointer, $remainder) if $remainder =~ m{githubredir\.debian\.net}; - $self->hint('debian-watch-lacks-sourceforge-redirector', $remainder) + $self->pointed_hint('debian-watch-lacks-sourceforge-redirector', + $pointer, $remainder) if $remainder =~ m{ (?:https?|ftp):// (?:(?:.+\.)?dl|(?:pr)?downloads?|ftp\d?|upload) \. (?:sourceforge|sf)\.net}xsm @@ -212,8 +236,9 @@ || $remainder =~ m{https?://(?:www\.)?(?:sourceforge|sf)\.net /projects/.+/files}xsm; - $self->hint('debian-watch-uses-insecure-uri', $1, "(line $position)") - if $remainder =~ m{((?:http|ftp):(?!//sf.net/)\S+)}; + if ($remainder =~ m{((?:http|ftp):(?!//sf.net/)\S+)}) { + $self->pointed_hint('debian-watch-uses-insecure-uri', $pointer,$1); + } # This bit is as-is from uscan.pl: my ($base, $filepattern, $lastversion, $action) @@ -240,19 +265,24 @@ # If the version of the package contains dfsg, assume that it needs # to be mangled to get reasonable matches with upstream. my $needs_repack_mangling = ($repack && $lastversion eq 'debian'); - $self->hint('debian-watch-not-mangling-version', $line) + + $self->pointed_hint('debian-watch-not-mangling-version', + $pointer, $line) if $needs_repack_mangling && !$repack_mangle && !$repack_dmangle_auto; - $self->hint('debian-watch-mangles-debian-version-improperly',$line) + $self->pointed_hint('debian-watch-mangles-debian-version-improperly', + $pointer, $line) if $needs_repack_mangling && $repack_mangle && !$repack_dmangle; my $needs_prerelease_mangling = ($prerelease && $lastversion eq 'debian'); - $self->hint('debian-watch-mangles-upstream-version-improperly',$line) + + $self->pointed_hint('debian-watch-mangles-upstream-version-improperly', + $pointer, $line) if $needs_prerelease_mangling && $prerelease_mangle && !$prerelease_umangle; @@ -264,9 +294,11 @@ for my $option (@options) { if ($option =~ /^ component = (.+) $/x) { + my $component = $1; - $self->hint('debian-watch-upstream-component', - $upstream_url, $component, "(line $position)"); + + $self->pointed_hint('debian-watch-upstream-component', + $pointer, $upstream_url, $component); } } @@ -274,9 +306,8 @@ ++$position; } - $self->hint('debian-watch-line-invalid', $_)for @errors; - - $self->hint('debian-watch-does-not-check-gpg-signature') + $self->pointed_hint('debian-watch-does-not-check-gpg-signature', + $rough_pointer) unless $withgpgverification; my $SIGNING_KEY_FILENAMES @@ -289,11 +320,13 @@ my $keyfile = firstval {$_ && $_->is_file} @candidates; # check upstream key is present if needed - $self->hint('debian-watch-file-pubkey-file-is-missing') + $self->pointed_hint('debian-watch-file-pubkey-file-is-missing', + $rough_pointer) if $withgpgverification && !$keyfile; # check upstream key is used if present - $self->hint('debian-watch-could-verify-download', $keyfile->name) + $self->pointed_hint('debian-watch-could-verify-download', + $rough_pointer, $keyfile->name) if $keyfile && !$withgpgverification; if (defined $self->processable->changelog && %dversions) { @@ -314,20 +347,27 @@ } for my $dversion (sort keys %dversions) { + next if $dversion eq 'debian'; + local $" = ', '; + if (!$self->processable->native && exists($changelog_versions{'orig'}{$dversion})) { - $self->hint( + + $self->pointed_hint( 'debian-watch-file-specifies-wrong-upstream-version', - $dversion); + $rough_pointer, $dversion); next; } + if (exists $changelog_versions{'mangled'}{$dversion} && $changelog_versions{'mangled'}{$dversion} != 1) { - $self->hint('debian-watch-file-specifies-old-upstream-version', - $dversion); + + $self->pointed_hint( + 'debian-watch-file-specifies-old-upstream-version', + $rough_pointer, $dversion); next; } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debug/Automatic.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debug/Automatic.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debug/Automatic.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debug/Automatic.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,66 @@ +# debug/automatic -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debug::Automatic; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my $field = 'Package'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'debian-control-has-dbgsym-package',$pointer, + "(in section for $installable)", $field + )if $installable =~ m{ [-] dbgsym $}x; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Debug/Obsolete.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Debug/Obsolete.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Debug/Obsolete.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Debug/Obsolete.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,75 @@ +# debug/obsolete -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Debug::Obsolete; + +use v5.20; +use warnings; +use utf8; + +use List::SomeUtils qw(none); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + my $KNOWN_LEGACY_DBG_PATTERNS= $self->profile->load_data('common/dbg-pkg'); + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my $field = 'Package'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'debian-control-has-obsolete-dbg-package',$pointer, + "(in section for $installable)", $field + ) + if $installable =~ m{ [-] dbg $}x + && ( + none { $installable =~ m{$_}xms } + $KNOWN_LEGACY_DBG_PATTERNS->all + ); + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Desktop/Gnome/Gir/Substvars.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Desktop/Gnome/Gir/Substvars.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Desktop/Gnome/Gir/Substvars.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Desktop/Gnome/Gir/Substvars.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,61 @@ +# desktop/gnome/gir/substvars -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Desktop::Gnome::Gir::Substvars; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + + next + unless $installable =~ m{ gir [\d.]+ - .* - [\d.]+ $}x; + + my $relation= $self->processable->binary_relation($installable, 'all'); + + $self->hint( + 'gobject-introspection-package-missing-depends-on-gir-depends', + $installable) + unless $relation->satisfies('${gir:Depends}'); + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Desktop/X11/Font/Update.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Desktop/X11/Font/Update.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Desktop/X11/Font/Update.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Desktop/X11/Font/Update.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -115,7 +117,10 @@ if ($item->name eq 'postinst' && !$saw_update_fonts) { - $self->hint('missing-call-to-update-fonts', $_, '[control/postinst]') + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($self->processable->control->resolve_path('postinst')); + + $self->pointed_hint('missing-call-to-update-fonts', $pointer, $_) for @{$self->x_fonts}; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/DhMake/Template.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/DhMake/Template.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/DhMake/Template.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/DhMake/Template.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,57 @@ +# dh-make/template -- lintian check script -*- perl -*- + +# Copyright © 1999 by Joey Hess +# Copyright © 2016-2020 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::DhMake::Template; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item->dirname eq 'debian/'; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('dh-make-template-in-source', $pointer) + if $item->basename =~ m{^ ex[.] | [.]ex $}ix; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/DhMake.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/DhMake.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/DhMake.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/DhMake.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,8 @@ use warnings; use utf8; +use Unicode::UTF8 qw(encode_utf8); + use Moo; use namespace::clean; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Architecture.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Architecture.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Architecture.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Architecture.pm 2022-01-11 17:11:33.000000000 +0100 @@ -56,7 +56,7 @@ $installable_architecture); } - $self->hint('too-many-architectures', sort @installable_architectures) + $self->hint('too-many-architectures', (sort @installable_architectures)) if @installable_architectures > 1; my $installable_architecture = $installable_architectures[0]; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Deb822.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Deb822.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Deb822.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Deb822.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,6 +25,7 @@ use utf8; use Const::Fast; +use Syntax::Keyword::Try; use Lintian::Deb822::File; @@ -49,9 +50,12 @@ my $deb822 = Lintian::Deb822::File->new; my @sections; - eval { @sections = $deb822->parse_string($file->decoded_utf8) }; - next - if length $@; + try { + @sections = $deb822->read_file($file->unpacked_path) + + } catch { + next; + } my $count = 1; for my $section (@sections) { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/MailAddress.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/MailAddress.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/MailAddress.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/MailAddress.pm 2022-01-11 17:11:33.000000000 +0100 @@ -75,6 +75,7 @@ my @valid = grep { $_->is_valid } @{$parsed{$role}}; my @unique = uniq_by { $_->format } @valid; + $self->check_single_address($role, $_) for @unique; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/PackageRelations.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/PackageRelations.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/PackageRelations.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/PackageRelations.pm 2022-01-11 17:11:33.000000000 +0100 @@ -132,8 +132,9 @@ my $KNOWN_TOOLCHAIN = $self->profile->load_data('fields/toolchain'); my $KNOWN_METAPACKAGES = $self->profile->load_data('fields/metapackages'); - my $DH_ADDONS = $self->profile->load_data('common/dh_addons', $EQUAL); - my %DH_ADDONS_VALUES = map { $DH_ADDONS->value($_) => 1 } $DH_ADDONS->all; + my $DH_ADDONS = $self->profile->debhelper_addons; + my %DH_ADDONS_VALUES + = map { $_ => 1 } map { $DH_ADDONS->installed_by($_) } $DH_ADDONS->all; my $OBSOLETE_PACKAGES = $self->profile->load_data('fields/obsolete-packages',qr/\s*=>\s*/); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Vcs.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Vcs.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Vcs.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Vcs.pm 2022-01-11 17:11:33.000000000 +0100 @@ -333,7 +333,7 @@ } $self->hint('vcs-fields-use-more-than-one-vcs', - sort map { lc } keys %seen_vcs) + (sort map { lc } keys %seen_vcs)) if keys %seen_vcs > 1; $self->hint('co-maintained-package-with-no-vcs-fields') diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Derivative.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Derivative.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Derivative.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Derivative.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,83 @@ +# fields/version/derivative -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Derivative; + +use v5.20; +use warnings; +use utf8; + +use Dpkg::Version; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + my $dversion = Dpkg::Version->new($version); + return + unless $dversion->is_valid; + + my ($epoch, $upstream, $debian) + = ($dversion->epoch, $dversion->version, $dversion->revision); + + my $DERIVATIVE_VERSIONS + = $self->profile->load_data('fields/derivative-versions', + qr/\s*~~\s*/, sub { $_[1]; }); + + unless ($self->processable->native) { + + for my $pattern ($DERIVATIVE_VERSIONS->all) { + + next + if $version =~ m/$pattern/; + + my $explanation = $DERIVATIVE_VERSIONS->value($pattern); + + $self->hint('invalid-version-number-for-derivative', + $version,"($explanation)"); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Count.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Count.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Count.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Count.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,65 @@ +# fields/version/repack/count -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2021 Kentaro Hayashi +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Repack::Count; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + # repack counts in native packages are dealt with elsewhere + return + if $self->processable->native; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + $self->hint('anticipated-repack-count', $version) + if $version =~ m{ dfsg [01] - }x; + + $self->hint('dot-before-repack-count', $version) + if $version =~ / dfsg [.] \d+ /x; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Native.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Native.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Native.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Native.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,63 @@ +# fields/version/repack/native -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Repack::Native; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + # Checks for the dfsg convention for repackaged upstream + # source. Only check these against the source package to not + # repeat ourselves too much. + $self->hint('dfsg-version-in-native-package', $version) + if $version =~ /dfsg/ + && $self->processable->native; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Period.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Period.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Period.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Period.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,60 @@ +# fields/version/repack/period -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Repack::Period; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + $self->hint('dfsg-version-with-period', $version) + if $version =~ m{ [.] dfsg }x + && !$self->processable->native; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Tilde.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Tilde.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Tilde.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Tilde.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,60 @@ +# fields/version/repack/tilde -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Kentaro Hayashi +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Repack::Tilde; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + $self->hint('dfsg-version-with-tilde', $version) + if $version =~ /~dfsg/ + && !$self->processable->native; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Typo.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Typo.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version/Repack/Typo.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version/Repack/Typo.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,64 @@ +# fields/version/repack/typo -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Fields::Version::Repack::Typo; + +use v5.20; +use warnings; +use utf8; + +use Dpkg::Version qw(version_check); + +use Lintian::Relation::Version qw(versions_compare); + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + $self->hint('dfsg-version-misspelled', $version) + if $version =~ /dsfg/ + && !$self->processable->native; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fields/Version.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fields/Version.pm 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,7 @@ # fields/version -- lintian check script (rewrite) -*- perl -*- # # Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner # # Parts of the code were taken from the old check script, which # was Copyright © 1998 Richard Braakman (also licensed under the @@ -28,67 +29,13 @@ use warnings; use utf8; -use Dpkg::Version qw(version_check); - -use Lintian::Relation::Version qw(versions_compare); +use Dpkg::Version; use Moo; use namespace::clean; with 'Lintian::Check'; -sub source { - my ($self) = @_; - - my $fields = $self->processable->fields; - - return - unless $fields->declares('Version'); - - my $version = $fields->unfolded_value('Version'); - - # Checks for the dfsg convention for repackaged upstream - # source. Only check these against the source package to not - # repeat ourselves too much. - if ($version =~ /dfsg/ && $self->processable->native) { - $self->hint('dfsg-version-in-native-package', $version); - } elsif ($version =~ /\.dfsg/) { - $self->hint('dfsg-version-with-period', $version); - } elsif ($version =~ /dsfg/) { - $self->hint('dfsg-version-misspelled', $version); - } - - $self->hint('binary-nmu-debian-revision-in-source', $version) - if $version =~ /\+b\d+$/; - - my $dversion = Dpkg::Version->new($version); - - return - unless $dversion->is_valid; - - my ($epoch, $upstream, $debian) - = ($dversion->epoch, $dversion->version, $dversion->revision); - - my $DERIVATIVE_VERSIONS - = $self->profile->load_data('fields/derivative-versions', - qr/\s*~~\s*/, sub { $_[1]; }); - - unless ($self->processable->native) { - foreach my $re ($DERIVATIVE_VERSIONS->all) { - - next - if $version =~ m/$re/; - - my $explanation = $DERIVATIVE_VERSIONS->value($re); - - $self->hint('invalid-version-number-for-derivative', - $version,"($explanation)"); - } - } - - return; -} - sub always { my ($self) = @_; @@ -137,39 +84,13 @@ if ($self->processable->type eq 'source') { $self->hint('binary-nmu-debian-revision-in-source', $version) - if $debian =~ /^[^.-]+\.[^.-]+\./ and not $ubuntu; - } - - my $PERL_CORE_PROVIDES - = $self->profile->load_data('fields/perl-provides', '\s+'); - - my $name = $fields->value('Package'); - if ( - $PERL_CORE_PROVIDES->recognizes($name) - && perl_core_has_version( - $name, '>=', "$epoch:$upstream", $PERL_CORE_PROVIDES - ) - ) { - - my $core_version = $PERL_CORE_PROVIDES->value($name); - - $self->hint('package-superseded-by-perl', "with $core_version"); + if ($debian =~ /^[^.-]+\.[^.-]+\./ && !$ubuntu) + || $version =~ /\+b\d+$/; } return; } -sub perl_core_has_version { - my ($package, $op, $version, $PERL_CORE_PROVIDES) = @_; - - my $core_version = $PERL_CORE_PROVIDES->value($package); - - return 0 - unless defined $core_version && version_check($version); - - return versions_compare($core_version, $op, $version); -} - 1; # Local Variables: diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Duplicates.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Duplicates.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Duplicates.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Duplicates.pm 2022-01-11 17:11:33.000000000 +0100 @@ -69,10 +69,10 @@ if scalar @files < 2; if (any { m/changelog/i} @files) { - $self->hint('duplicate-changelog-files', sort @files); + $self->hint('duplicate-changelog-files', (sort @files)); } else { - $self->hint('duplicate-files', sort @files); + $self->hint('duplicate-files', (sort @files)); } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Generated.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Generated.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Generated.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Generated.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,13 +27,12 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; -const my $COLON => q{:}; const my $DOUBLE_QUOTE => q{"}; -const my $LEFT_SQUARE_BRACKET => q{[}; -const my $RIGHT_SQUARE_BRACKET => q{]}; with 'Lintian::Check'; @@ -61,15 +60,12 @@ my $marker = $1; - $self->hint( - 'generated-file', - $DOUBLE_QUOTE . $marker . $DOUBLE_QUOTE, - $LEFT_SQUARE_BRACKET - . $item->name - . $COLON - . $position - . $RIGHT_SQUARE_BRACKET - ); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('generated-file', $pointer, + $DOUBLE_QUOTE . $marker . $DOUBLE_QUOTE); } } continue { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Permissions.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Permissions.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Permissions.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Permissions.pm 2022-01-11 17:11:33.000000000 +0100 @@ -33,7 +33,6 @@ with 'Lintian::Check'; -const my $EMPTY => q{}; const my $NOT_EQUAL => q{!=}; const my $STANDARD_EXECUTABLE => oct(755); @@ -71,18 +70,12 @@ my %linked_against_libvga; - # read data from objdump-info file - my $table = $self->processable->objdump_info; + for my $item (@{$self->processable->installed->sorted_list}) { - for my $file (sort keys %{$table}) { - my $objdump = $table->{$file}; + for my $library (@{$item->elf->{NEEDED} // []}){ - next - unless defined $objdump->{NEEDED}; - - for my $lib (@{$objdump->{NEEDED}}) { - $linked_against_libvga{$file} = 1 - if $lib =~ /^libvga\.so\./; + $linked_against_libvga{$item->name} = 1 + if $library =~ m{^ libvga[.]so[.] }x; } } @@ -97,7 +90,7 @@ if ( $file->is_executable && $file->identity eq 'root/games' - && ( !$file->is_setuid + && ( !$file->is_setgid || !$file->all_bits_set($STANDARD_EXECUTABLE)) ) { @@ -106,7 +99,7 @@ $file->name, $file->octal_permissions, $NOT_EQUAL, - sprintf('%04o', $SET_USER_ID & $STANDARD_EXECUTABLE)); + sprintf('%04o', $SET_GROUP_ID | $STANDARD_EXECUTABLE)); return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/PrivacyBreach.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/PrivacyBreach.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/PrivacyBreach.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/PrivacyBreach.pm 2022-01-11 17:11:33.000000000 +0100 @@ -27,6 +27,7 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; use Lintian::SlidingWindow; use Moo; @@ -117,11 +118,15 @@ sub detect_privacy_breach { my ($self, $file) = @_; + my %privacybreachhash; return unless $file->is_regular_file; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + open(my $fd, '<:raw', $file->unpacked_path) or die encode_utf8('Cannot open ' . $file->unpacked_path); @@ -140,21 +145,27 @@ # try generic fragment tagging foreach my $keyword ($self->PRIVACY_BREAKER_FRAGMENTS->all) { + if ($lowercase =~ / \Q$keyword\E /msx) { my $keyvalue = $self->PRIVACY_BREAKER_FRAGMENTS->value($keyword); my $regex = $keyvalue->{'regex'}; + if ($lowercase =~ m{($regex)}) { my $capture = $1; my $breaker_tag = $keyvalue->{'tag'}; + unless (exists $privacybreachhash{'tag-'.$breaker_tag}){ + $privacybreachhash{'tag-'.$breaker_tag} = 1; - $self->hint($breaker_tag, $file->name, + + $self->pointed_hint($breaker_tag, $pointer, "(choke on: $capture)"); } } } } + for my $x ( qw(src="http src="ftp src="// data-href="http data-href="ftp data-href="// codebase="http codebase="ftp codebase="// data="http @@ -246,6 +257,10 @@ sub check_tag_url_privacy_breach { my ($self, $fulltag, $tagattr, $url,$privacybreachhash, $file) = @_; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + my $website = $url; # detect also "^//" trick $website =~ s{^"?(?:(?:ht|f)tps?:)?//}{}; @@ -258,6 +273,7 @@ # reparse fulltag for rel if ($tagattr eq 'link') { + my $rel = $fulltag; $rel =~ m{]+)? \s+ @@ -265,6 +281,7 @@ [^>]* >}xismog; my $relcontent = $1; + if (defined($relcontent)) { # See, for example, https://www.w3schools.com/tags/att_link_rel.asp my %allowed = ( @@ -283,7 +300,10 @@ 'schema.dct' => 1, # #736992 'search' => 1, # #891301 ); - return if ($allowed{$relcontent}); + + return + if ($allowed{$relcontent}); + if ($relcontent eq 'alternate') { my $type = $fulltag; $type =~ m{basename eq 'legal.xml' && $tagattr eq 'link' && $website =~ m{^creativecommons.org/licenses/}) { + return; } @@ -314,20 +335,27 @@ if( $file->basename =~ '.xml$' && $tagattr eq 'link' && $file->bytes=~ qr{ xmlns="http://projectmallard\.org/1\.0/"}) { + return; } # track well known site foreach my $breaker ($self->PRIVACY_BREAKER_WEBSITES->all) { + my $value = $self->PRIVACY_BREAKER_WEBSITES->value($breaker); my $regex = $value->{'regexp'}; + if ($website =~ m{$regex}mxs) { + unless (exists $privacybreachhash->{'tag-'.$breaker}) { + my $tag = $value->{'tag'}; my $suggest = $value->{'suggest'} // $EMPTY; + $privacybreachhash->{'tag-'.$breaker}= 1; - $self->hint($tag, $file, $suggest, "($url)"); + $self->pointed_hint($tag, $pointer, $suggest, "($url)"); } + # do not go to generic case return; } @@ -335,9 +363,12 @@ # generic case unless (exists $privacybreachhash->{'tag-generic-'.$website}){ - $self->hint('privacy-breach-generic', $file->name,"[$fulltag] ($url)"); + + $self->pointed_hint('privacy-breach-generic', $pointer, "[$fulltag]", + "($url)"); $privacybreachhash->{'tag-generic-'.$website} = 1; } + return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Unicode/Trojan.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Unicode/Trojan.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Files/Unicode/Trojan.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Files/Unicode/Trojan.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +# files/unicode/trojan -- lintian check script -*- perl -*- + +# Copyright © 1998 Christian Schwarz and Richard Braakman +# Copyright © 2019 Chris Lamb +# Copyright © 2020 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Files::Unicode::Trojan; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use Unicode::UTF8 qw(decode_utf8 valid_utf8); + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $DOUBLE_QUOTE => q{"}; + +const my %NAMES_BY_CHARACTER => ( + qq{\N{ARABIC LETTER MARK}} => 'ARABIC LETTER MARK', # U+061C + qq{\N{LEFT-TO-RIGHT MARK}} => 'LEFT-TO-RIGHT MARK', # U+200E + qq{\N{RIGHT-TO-LEFT MARK}} => 'RIGHT-TO-LEFT MARK', # U+200F + qq{\N{LEFT-TO-RIGHT EMBEDDING}} => 'LEFT-TO-RIGHT EMBEDDING', # U+202A + qq{\N{RIGHT-TO-LEFT EMBEDDING}} => 'RIGHT-TO-LEFT EMBEDDING', # U+202B + qq{\N{POP DIRECTIONAL FORMATTING}} =>'POP DIRECTIONAL FORMATTING', # U+202C + qq{\N{LEFT-TO-RIGHT OVERRIDE}} => 'LEFT-TO-RIGHT OVERRIDE', # U+202D + qq{\N{RIGHT-TO-LEFT OVERRIDE}} => 'RIGHT-TO-LEFT OVERRIDE', # U+202E + qq{\N{LEFT-TO-RIGHT ISOLATE}} => 'LEFT-TO-RIGHT ISOLATE', # U+2066 + qq{\N{RIGHT-TO-LEFT ISOLATE}} => 'RIGHT-TO-LEFT ISOLATE', # U+2067 + qq{\N{FIRST STRONG ISOLATE}} => 'FIRST STRONG ISOLATE', # U+2068 + qq{\N{POP DIRECTIONAL ISOLATE}} => 'POP DIRECTIONAL ISOLATE', # U+2069 +); + +sub visit_patched_files { + my ($self, $item) = @_; + + $self->check_for_trojan($item); + + return; +} + +sub visit_installed_files { + my ($self, $item) = @_; + + $self->check_for_trojan($item); + + return; +} + +sub check_for_trojan { + my ($self, $item) = @_; + + if (valid_utf8($item->name)) { + + my $decoded_name = decode_utf8($item->name); + + # all file names + for my $character (keys %NAMES_BY_CHARACTER) { + + $self->hint( + 'unicode-trojan', + 'File name', + sprintf('U+%vX', $character), + $DOUBLE_QUOTE. $NAMES_BY_CHARACTER{$character}. $DOUBLE_QUOTE, + $item->name + ) if $decoded_name =~ m{\Q$character\E}; + } + } + + return + unless $item->is_script; + + # slurping contents for now in hope of speed + my $contents = $item->decoded_utf8; + return + unless length $contents; + + for my $character (keys %NAMES_BY_CHARACTER) { + + $self->hint( + 'unicode-trojan', + 'Contents', + sprintf('U+%vX', $character), + $DOUBLE_QUOTE . $NAMES_BY_CHARACTER{$character} . $DOUBLE_QUOTE, + $item->name + )if $contents =~ m{\Q$character\E}; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Opentype.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Opentype.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Opentype.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Opentype.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,6 +28,8 @@ use Const::Fast; use Font::TTF::Font; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -50,7 +52,10 @@ return unless $file->file_info =~ /^OpenType font data/; - $self->hint('opentype-font-wrong-filename', $file->name) + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + + $self->pointed_hint('opentype-font-wrong-filename', $pointer) unless $file->name =~ /\.otf$/i; my $font = Font::TTF::Font->open($file->unpacked_path); @@ -79,8 +84,8 @@ $terms = join($COMMA . $SPACE, @clauses) if @clauses; - $self->hint('opentype-font-prohibits-installable-embedding', - "[$terms] " . $file->name) + $self->pointed_hint('opentype-font-prohibits-installable-embedding', + $pointer, "($terms)") if length $terms; return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Postscript/Type1.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Postscript/Type1.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Postscript/Type1.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Postscript/Type1.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,13 +25,18 @@ use warnings; use utf8; +use Const::Fast; use Encode qw(decode); +use Syntax::Keyword::Try; use Lintian::IPC::Run3 qw(safe_qx); use Moo; use namespace::clean; +const my $SPACE => q{ }; +const my $COLON => q{:}; + with 'Lintian::Check'; sub visit_installed_files { @@ -46,8 +51,14 @@ my @command = ('t1disasm', $item->unpacked_path); my $bytes = safe_qx(@command); - # iso-8859-1 works too, but the Font 1 standard could be older - my $output = decode('cp1252', $bytes, Encode::FB_CROAK); + my $output; + try { + # iso-8859-1 works too, but the Font 1 standard could be older + $output = decode('cp1252', $bytes, Encode::FB_CROAK); + + } catch { + die 'In file ' . $item->name . $COLON . $SPACE . $@; + } my @lines = split(/\n/, $output); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Truetype.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Truetype.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts/Truetype.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts/Truetype.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,6 +28,8 @@ use Const::Fast; use Font::TTF::Font; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -50,7 +52,10 @@ return unless $file->file_info =~ /^TrueType Font data/; - $self->hint('truetype-font-wrong-filename', $file->name) + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($file); + + $self->pointed_hint('truetype-font-wrong-filename', $pointer) unless $file->name =~ /\.ttf$/i; my $font = Font::TTF::Font->open($file->unpacked_path); @@ -79,8 +84,8 @@ $terms = join($COMMA . $SPACE, @clauses) if @clauses; - $self->hint('truetype-font-prohibits-installable-embedding', - "[$terms] " . $file->name) + $self->pointed_hint('truetype-font-prohibits-installable-embedding', + $pointer, "($terms)") if length $terms; return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Fonts.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Fonts.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,19 +25,17 @@ use warnings; use utf8; +use Const::Fast; +use List::SomeUtils qw(any); + use Moo; use namespace::clean; with 'Lintian::Check'; -has FONT_PACKAGES => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - return $self->profile->load_data('files/fonts', qr/\s+/); - }); +const my $SPACE => q{ }; +const my $LEFT_PARENTHESIS => q{(}; +const my $RIGHT_PARENTHESIS => q{)}; sub visit_installed_files { my ($self, $item) = @_; @@ -45,18 +43,29 @@ return unless $item->is_file; - my ($anycase) - = ($item->name =~ m{/([\w-]+\.(?:[to]tf|pfb|woff2?|eot)(?:\.gz)?)$}i); return - unless length $anycase; + unless $item->basename + =~ m{ [\w-]+ [.] (?:[to]tf | pfb | woff2? | eot) (?:[.]gz)? $}ix; + + my $font = $item->basename; + + my $FONT_PACKAGES = $self->profile->fonts; + + my @declared_shippers = $FONT_PACKAGES->installed_by($font); + + if (@declared_shippers) { - my $font = lc $anycase; + # Fonts in xfonts-tipa are really shipped by tipa. + my @renamed + = map { $_ eq 'xfonts-tipa' ? 'tipa' : $_ } @declared_shippers; - my $owner = $self->FONT_PACKAGES->value($font); - if (length $owner) { + my $list + = $LEFT_PARENTHESIS + . join($SPACE, (sort @renamed)) + . $RIGHT_PARENTHESIS; - $self->hint('duplicate-font-file', $item->name, 'also in', $owner) - unless $self->processable->name eq $owner + $self->hint('duplicate-font-file', $item->name, 'also in', $list) + unless (any { $_ eq $self->processable->name } @renamed) || $self->processable->type eq 'udeb'; } else { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/GroupChecks.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/GroupChecks.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/GroupChecks.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/GroupChecks.pm 2022-01-11 17:11:33.000000000 +0100 @@ -73,7 +73,8 @@ # It takes two to tango... erh. make a circular dependency. next if scalar @{$comp} < 2; - $self->hint('intra-source-package-circular-dependency', sort @{$comp}); + $self->hint('intra-source-package-circular-dependency', + (sort @{$comp})); } return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/InitD/MaintainerScript.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/InitD/MaintainerScript.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/InitD/MaintainerScript.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/InitD/MaintainerScript.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -100,9 +102,15 @@ ++$position; } - $self->hint('maintainer-script-calls-init-script-directly', - "[control/$item:$saw_init]") - if $saw_init && !$saw_invoke; + if ($saw_init && !$saw_invoke) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($saw_init); + + $self->pointed_hint('maintainer-script-calls-init-script-directly', + $pointer); + } return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Golang/BuiltUsing.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Golang/BuiltUsing.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Golang/BuiltUsing.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Golang/BuiltUsing.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,69 @@ +# languages/golang/built-using -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Golang::BuiltUsing; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + return + unless $self->processable->relation('Build-Depends') + ->satisfies('golang-go | golang-any'); + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + my $installable_fields= $control->installable_fields($installable); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position('Package')); + + $self->pointed_hint('missing-built-using-field-for-golang-package', + $pointer,"(in section for $installable)") + if $installable_fields->value('Built-Using') + !~ m{ \$ [{] misc:Built-Using [}] }x + && $installable_fields->value('Architecture') ne 'all'; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Golang/ImportPath.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Golang/ImportPath.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Golang/ImportPath.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Golang/ImportPath.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,56 @@ +# languages/golang/import-path -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Golang::ImportPath; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + return + unless $self->processable->relation('Build-Depends') + ->satisfies('golang-go | golang-any'); + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + $self->hint('missing-xs-go-import-path-for-golang-package') + unless $source_fields->declares('XS-Go-Import-Path'); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Javascript/Nodejs.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Javascript/Nodejs.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Javascript/Nodejs.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Javascript/Nodejs.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,6 +28,7 @@ use JSON::MaybeXS; use List::SomeUtils qw(any); use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use Lintian::Relation; @@ -189,8 +190,13 @@ # Look only valid package.json files my $pac; - eval {$pac = decode_json($content);}; - return if $@ or not length $pac->{name}; + try { + $pac = decode_json($content); + die + unless length $pac->{name}; + } catch { + return; + } # Store node module name & version (classification) $self->hint('nodejs-module', $pac->{name},$pac->{version} // 'undef', diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Compiled.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Compiled.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Compiled.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Compiled.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,84 @@ +# languages/ocaml/byte-code/compiled -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Compiled; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +has provided_o => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my %provided_o; + + for my $item (@{$self->processable->installed->sorted_list}) { + + for my $count (keys %{$item->ar_info}) { + + my $member = $item->ar_info->{$count}{name}; + next + unless length $member; + + # dirname ends in a slash + my $virtual_path = $item->dirname . $member; + + # Note: a .o may be legitimately in several different .a + $provided_o{$virtual_path} = $item->name; + } + } + + return \%provided_o; + }); + +sub visit_installed_files { + my ($self, $item) = @_; + + my $no_extension = $item->basename; + $no_extension =~ s{ [.] [^.]+ $}{}x; + + # The .cmx counterpart: for each .cmx file, there must be a + # matching .o file, which can be there by itself, or embedded in a + # .a file in the same directory + # dirname ends with a slash + $self->hint('ocaml-dangling-cmx', $item->name) + if $item->name =~ m{ [.]cmx $}x + && !$item->parent_dir->child($no_extension . '.o') + && !exists $self->provided_o->{$item->dirname . $no_extension . '.o'}; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Interface.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Interface.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Interface.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Interface.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,63 @@ +# languages/ocaml/byte-code/interface -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Interface; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $LAST_ITEM => -1; + +sub visit_installed_files { + my ($self, $item) = @_; + + my $no_extension = $item->basename; + $no_extension =~ s{ [.] [^.]+ $}{}x; + + # for dune + my $interface_name = (split(/__/, $no_extension))[$LAST_ITEM]; + + # $somename.cmi should be shipped with $somename.mli or $somename.ml + $self->hint('ocaml-dangling-cmi', $item->name) + if $item->name =~ m{ [.]cmi $}x + && !$item->parent_dir->child($interface_name . '.mli') + && !$item->parent_dir->child(lc($interface_name) . '.mli') + && !$item->parent_dir->child($interface_name . '.ml') + && !$item->parent_dir->child(lc($interface_name) . '.ml'); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Library.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Library.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Library.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Library.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,58 @@ +# languages/ocaml/byte-code/library -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Library; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_installed_files { + my ($self, $item) = @_; + + my $no_extension = $item->basename; + $no_extension =~ s{ [.] [^.]+ $}{}x; + + # For each .cmxa file, there must be a matching .a file (#528367) + $self->hint('ocaml-dangling-cmxa', $item->name) + if $item->name =~ m{ [.]cmxa $}x + && !$item->parent_dir->child($no_extension . '.a'); + + # $somename.cmo should usually not be shipped with $somename.cma + $self->hint('ocaml-stray-cmo', $item->name) + if $item->name =~ m{ [.]cma $}x + && $item->parent_dir->child($no_extension . '.cmo'); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Package.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Package.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Package.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Package.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,125 @@ +# languages/ocaml/byte-code/misplaced/package -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Misplaced::Package; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use List::SomeUtils qw(first_value); + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $EMPTY => q{}; +const my $SLASH => q{/}; + +has development_files => (is => 'rw', default => sub { [] }); + +has is_dev_package => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + # is it a development package? + return 1 + if ( + $self->processable->name =~ m{ + (?: -dev + |\A camlp[45](?:-extra)? + |\A ocaml (?: + -nox + |-interp + |-compiler-libs + )? + )\Z}xsm + ); + + return 0; + }); + +sub visit_installed_files { + my ($self, $item) = @_; + + # .cma, .cmo and .cmxs are excluded because they can be plugins + push(@{$self->development_files}, $item->name) + if $item->name =~ m{ [.] cm (?: i | xa? ) $}x; + + return; +} + +sub installable { + my ($self) = @_; + + my $count = scalar @{$self->development_files}; + my $plural = ($count == 1) ? $EMPTY : 's'; + + my $prefix = longest_common_prefix(@{$self->development_files}); + + # strip trailing slash + $prefix =~ s{ / $}{}x + unless $prefix eq $SLASH; + + # non-dev packages should not ship .cmi, .cmx or .cmxa files + $self->hint('ocaml-dev-file-in-nondev-package', + "$count file$plural in $prefix") + if $count > 0 + && !$self->is_dev_package; + + return; +} + +sub longest_common_prefix { + my (@paths) = @_; + + my %prefixes; + + for my $path (@paths) { + + my $truncated = $path; + + # first operation drops the file name + while ($truncated =~ s{ / [^/]* $}{}x) { + ++$prefixes{$truncated}; + } + } + + my @by_descending_length = reverse sort keys %prefixes; + + my $common = first_value { $prefixes{$_} == @paths } @by_descending_length; + + $common ||= $SLASH; + + return $common; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Path.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Path.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Path.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Misplaced/Path.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,105 @@ +# languages/ocaml/byte-code/misplaced/path -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Misplaced::Path; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use List::SomeUtils qw(first_value); + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $EMPTY => q{}; +const my $SLASH => q{/}; + +has misplaced_files => (is => 'rw', default => sub { [] }); + +sub visit_installed_files { + my ($self, $item) = @_; + + # development files outside /usr/lib/ocaml (.cmi, .cmx, .cmxa) + return + if $item->name =~ m{^ usr/lib/ocaml/ }x; + + # .cma, .cmo and .cmxs are excluded because they can be plugins + push(@{$self->misplaced_files}, $item->name) + if $item->name =~ m{ [.] cm (?: i | xa? ) $}x; + + return; +} + +sub installable { + my ($self) = @_; + + my $count = scalar @{$self->misplaced_files}; + my $plural = ($count == 1) ? $EMPTY : 's'; + + my $prefix = longest_common_prefix(@{$self->misplaced_files}); + + # strip trailing slash + $prefix =~ s{ / $}{}x + unless $prefix eq $SLASH; + + $self->hint( + 'ocaml-dev-file-not-in-usr-lib-ocaml', + "$count file$plural in $prefix" + )if $count > 0; + + return; +} + +sub longest_common_prefix { + my (@paths) = @_; + + my %prefixes; + + for my $path (@paths) { + + my $truncated = $path; + + # first operation drops the file name + while ($truncated =~ s{ / [^/]* $}{}x) { + ++$prefixes{$truncated}; + } + } + + my @by_descending_length = reverse sort keys %prefixes; + + my $common = first_value { $prefixes{$_} == @paths } @by_descending_length; + + $common ||= $SLASH; + + return $common; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Plugin.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Plugin.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/ByteCode/Plugin.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/ByteCode/Plugin.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,56 @@ +# languages/ocaml/byte-code/plugin -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::ByteCode::Plugin; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_installed_files { + my ($self, $item) = @_; + + my $no_extension = $item->basename; + $no_extension =~ s{ [.] [^.]+ $}{}x; + + # For each .cmxs file, there must be a matching .cma or .cmo file + # (at least, in library packages) + $self->hint('ocaml-dangling-cmxs', $item->name) + if $item->name =~ m{ [.]cmxs $}x + && !$item->parent_dir->child($no_extension . '.cma') + && !$item->parent_dir->child($no_extension . '.cmo') + && $self->processable->name =~ /^lib/; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/Meta.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/Meta.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml/Meta.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml/Meta.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,67 @@ +# languages/ocaml/meta -- lintian check script -*- perl -*- +# +# Copyright © 2009 Stéphane Glondu +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Ocaml::Meta; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +has has_meta => (is => 'rw', default => 0); + +sub visit_installed_files { + my ($self, $item) = @_; + + return + unless $item->name =~ m{^ usr/lib/ocaml/ }x; + + # does the package provide a META file? + $self->has_meta(1) + if $item->name =~ m{ / META (?: [.] | $ ) }x; + + return; +} + +sub installable { + my ($self) = @_; + + my $prerequisites = $self->processable->relation('all'); + + # If there is a META file, ocaml-findlib should at least be suggested. + $self->hint('ocaml-meta-without-suggesting-findlib') + if $self->has_meta + && !$prerequisites->satisfies('ocaml-findlib'); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Ocaml.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Ocaml.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1,248 +0,0 @@ -# languages/ocaml -- lintian check script -*- perl -*- -# -# Copyright © 2009 Stéphane Glondu -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -package Lintian::Check::Languages::Ocaml; - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use File::Basename; -use Path::Tiny; - -use Moo; -use namespace::clean; - -with 'Lintian::Check'; - -const my $EMPTY => q{}; - -# The maximum number of *.cmi files to show individually. -const my $MAX_CMI => 3; - -has provided_o => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - my %provided_o; - - for my $item (@{$self->processable->installed->sorted_list}) { - - my $ar_info = $item->ar_info; - next - unless scalar keys %{$ar_info}; - - # ends in a slash - my $dirname = $item->dirname; - - for my $count (keys %{$ar_info}) { - - my $member = $ar_info->{$count}{name}; - # Note: a .o may be legitimately in several different .a - $provided_o{"$dirname$member"} = $item->name - if length $member; - } - } - - return \%provided_o; - }); - -has is_lib_package => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - # is it a library package? - return 1 - if $self->processable->name =~ /^lib/; - - return 0; - }); - -has is_dev_package => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - # is it a development package? - return 1 - if ( - $self->processable->name =~ m{ - (?: -dev - |\A camlp[45](?:-extra)? - |\A ocaml (?: - -nox - |-interp - |-compiler-libs - )? - )\Z}xsm - ); - - return 0; - }); - -# for libraries outside /usr/lib/ocaml -has outside_number => (is => 'rw', default => 0); -has outside_prefix => (is => 'rw'); - -# dangling .cmi files (we show only $MAX_CMI of them) -has cmi_number => (is => 'rw', default => 0); - -# dev files in nondev package -has dev_number => (is => 'rw', default => 0); -has dev_prefix => (is => 'rw'); - -# does the package provide a META file? -has has_meta => (is => 'rw', default => 0); - -sub visit_installed_files { - my ($self, $file) = @_; - - # For each .cmxa file, there must be a matching .a file (#528367) - $_ = $file; - if (s/\.cmxa$/.a/ && !$self->processable->installed->lookup($_)) { - $self->hint('ocaml-dangling-cmxa', $file); - } - - # For each .cmxs file, there must be a matching .cma or .cmo file - # (at least, in library packages) - if ($self->is_lib_package) { - $_ = $file; - if ( s/\.cmxs$/.cm/ - && !$self->processable->installed->lookup("${_}a") - && !$self->processable->installed->lookup("${_}o")) { - $self->hint('ocaml-dangling-cmxs', $file); - } - } - - # The .cmx counterpart: for each .cmx file, there must be a - # matching .o file, which can be there by itself, or embedded in a - # .a file in the same directory - $_ = $file; - if ( s/\.cmx$/.o/ - && !$self->processable->installed->lookup($_) - && !(exists $self->provided_o->{$_})) { - $self->hint('ocaml-dangling-cmx', $file); - } - - # $somename.cmi should be shipped with $somename.mli or $somename.ml - $_ = $file; - if ( $self->is_dev_package - && s/\.cmi$/.ml/ - && !$self->processable->installed->lookup("${_}i") - && !$self->processable->installed->lookup($_)) { - $self->cmi_number($self->cmi_number + 1); - if ($self->cmi_number <= $MAX_CMI) { - $self->hint('ocaml-dangling-cmi', $file); - } - } - - # non-dev packages should not ship .cmi, .cmx or .cmxa files - if ($file =~ m/\.cm(i|xa?)$/) { - $self->dev_number($self->dev_number + 1); - if (defined $self->dev_prefix) { - my $dev_prefix = $self->dev_prefix; - chop $dev_prefix while ($file !~ m{^$dev_prefix}); - $self->dev_prefix($dev_prefix); - } else { - $self->dev_prefix($file->name); - } - } - - # $somename.cmo should usually not be shipped with $somename.cma - $_ = $file; - if (s/\.cma$/.cmo/ && $self->processable->installed->lookup($_)) { - $self->hint('ocaml-stray-cmo', $file); - } - - # development files outside /usr/lib/ocaml (.cmi, .cmx, .cmxa) - # .cma, .cmo and .cmxs are excluded because they can be plugins - if ($file =~ m/\.cm(i|xa?)$/ && $file !~ m{^usr/lib/ocaml/}) { - $self->outside_number($self->outside_number + 1); - if (defined $self->outside_prefix) { - my $outside_prefix = $self->outside_prefix; - chop $outside_prefix while ($file !~ m{^$outside_prefix}); - $self->outside_prefix($outside_prefix); - } else { - $self->outside_prefix($file->name); - } - } - - # If there is a META file, ocaml-findlib should be at least suggested. - $self->has_meta(1) - if $file =~ m{^usr/lib/ocaml/(.+/)?META(\..*)?$}; - - return; -} - -sub installable { - my ($self) = @_; - - if ($self->is_dev_package) { - # summary about .cmi files - if ($self->cmi_number > $MAX_CMI) { - my $plural = ($self->cmi_number - $MAX_CMI == 1) ? $EMPTY : 's'; - $self->hint( - 'ocaml-dangling-cmi', - ($self->cmi_number - $MAX_CMI), - "more file$plural not shown" - ); - } - # summary about /usr/lib/ocaml - if ($self->outside_number) { - my $outside_number = $self->outside_number; - my $outside_prefix = dirname($self->outside_prefix); - my $plural = ($self->outside_number == 1) ? $EMPTY : 's'; - $self->hint('ocaml-dev-file-not-in-usr-lib-ocaml', - "$outside_number file$plural in $outside_prefix"); - } - if ($self->has_meta) { - my $depends = $self->processable->relation('all'); - $self->hint('ocaml-meta-without-suggesting-findlib') - unless $depends->satisfies('ocaml-findlib'); - } - } else { - # summary about dev files - if ($self->dev_number > 0) { - my $dev_number = $self->dev_number; - my $dev_prefix = dirname($self->dev_prefix); - my $plural = ($self->dev_number == 1) ? $EMPTY : 's'; - $self->hint( - 'ocaml-dev-file-in-nondev-package', - "$dev_number file$plural in $dev_prefix" - ); - } - } - - return; -} - -1; - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Perl/Core/Provides.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Perl/Core/Provides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Perl/Core/Provides.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Perl/Core/Provides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,84 @@ +# languages/perl/core/provides -- lintian check script (rewrite) -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2021 Felix Lechner +# +# Parts of the code were taken from the old check script, which +# was Copyright © 1998 Richard Braakman (also licensed under the +# GPL 2 or higher) +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Perl::Core::Provides; + +use v5.20; +use warnings; +use utf8; + +use Dpkg::Version qw(version_check); + +use Lintian::Relation::Version qw(versions_compare); + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub always { + my ($self) = @_; + + my $fields = $self->processable->fields; + + return + unless $fields->declares('Version'); + + my $version = $fields->unfolded_value('Version'); + + my $dversion = Dpkg::Version->new($version); + return + unless $dversion->is_valid; + + my ($epoch, $upstream, $debian) + = ($dversion->epoch, $dversion->version, $dversion->revision); + + my $PERL_CORE_PROVIDES + = $self->profile->load_data('fields/perl-provides', '\s+'); + + my $name = $fields->value('Package'); + + return + unless $PERL_CORE_PROVIDES->recognizes($name); + + my $core_version = $PERL_CORE_PROVIDES->value($name); + + my $no_revision = "$epoch:$upstream"; + return + unless version_check($no_revision); + + $self->hint('package-superseded-by-perl', "with $core_version") + if versions_compare($core_version, '>=', $no_revision); + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Perl/Perl4/Prerequisites.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Perl/Perl4/Prerequisites.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Perl/Perl4/Prerequisites.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Perl/Perl4/Prerequisites.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,7 @@ use File::Basename; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; use Lintian::Relation; use Moo; @@ -38,10 +39,6 @@ with 'Lintian::Check'; -const my $COLON => q{:}; -const my $LEFT_SQUARE_BRACKET => q{[}; -const my $RIGHT_SQUARE_BRACKET => q{]}; - # check for obsolete perl libraries const my $PERL4_PREREQUISITES => 'libperl4-corelibs-perl | perl (<< 5.12.3-7)'; @@ -99,16 +96,14 @@ my $module = "$1.pl"; - $self->hint( - 'script-uses-perl4-libs-without-dep', - $module, - $LEFT_SQUARE_BRACKET - . $item->name - . $COLON - . $position - . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $PERL4_PREREQUISITES)" - )unless $self->satisfies_perl4_prerequisites; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint( + 'script-uses-perl4-libs-without-dep',$pointer, + "(does not satisfy $PERL4_PREREQUISITES)",$module + ) unless $self->satisfies_perl4_prerequisites; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Php/Composer.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Php/Composer.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Languages/Php/Composer.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Languages/Php/Composer.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,92 @@ +# languages/php/composer -- lintian check script -*- perl -*- +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Languages::Php::Composer; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Relation; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + my $source_fields = $control->source_fields; + + for my $field ( + qw(Build-Depends Build-Depends-Indep + Build-Conflicts Build-Conflicts-Indep) + ) { + next + unless $source_fields->declares($field); + + my $position = $source_fields->position($field); + my $pointer = "(in source paragraph) [debian/control:$position]"; + + my $raw = $source_fields->value($field); + my $relation = Lintian::Relation->new->load($raw); + + my $condition = 'composer'; + + $self->hint('composer-prerequisite', $field, $pointer) + if $relation->satisfies($condition); + } + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field ( + qw(Pre-Depends Depends Recommends Suggests Breaks + Conflicts Provides Replaces Enhances) + ) { + next + unless $installable_fields->declares($field); + + my $position = $installable_fields->position($field); + my $pointer + = "(in section for $installable) [debian/control:$position]"; + + my $relation + = $self->processable->binary_relation($installable, $field); + + my $condition = 'composer'; + + $self->hint('composer-prerequisite', $field, $pointer) + if $relation->satisfies($condition); + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Exit.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Exit.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Exit.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Exit.pm 2022-01-11 17:11:33.000000000 +0100 @@ -44,12 +44,13 @@ unless $item->is_file; # shared library - my $objdump = $self->processable->objdump_info->{$item->name}; return - unless @{$objdump->{SONAME} // [] }; + unless @{$item->elf->{SONAME} // [] }; - my @symbol_names - = map { @{$_}[2] } @{$objdump->{SYMBOLS} // []}; + my @symbols = grep { $_->section eq '.text' || $_->section eq 'UND' } + @{$item->elf->{SYMBOLS} // []}; + + my @symbol_names = map { $_->name } @symbols; # If it has an INTERP section it might be an application with # a SONAME (hi openjdk-6, see #614305). Also see the comment @@ -57,7 +58,7 @@ $self->hint('exit-in-shared-library', $item->name) if (any { m/^_?exit$/ } @symbol_names) && (none { $_ eq 'fork' } @symbol_names) - && !length $objdump->{INTERP}; + && !length $item->elf->{INTERP}; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/FilePermissions.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/FilePermissions.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/FilePermissions.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/FilePermissions.pm 2022-01-11 17:11:33.000000000 +0100 @@ -42,9 +42,8 @@ unless $item->is_file; # shared library - my $objdump = $self->processable->objdump_info->{$item->name}; return - unless @{$objdump->{SONAME} // [] }; + unless @{$item->elf->{SONAME} // [] }; # Yes. But if the library has an INTERP section, it's # designed to do something useful when executed, so don't @@ -53,7 +52,7 @@ $self->hint('shared-library-is-executable', $item->name, $item->octal_permissions) if $item->is_executable - && !$objdump->{INTERP} + && !$item->elf->{INTERP} && $item->name !~ m{^lib.*/ld-[\d.]+\.so$}; $self->hint('odd-permissions-on-shared-library', diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Links.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Links.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Links.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Links.pm 2022-01-11 17:11:33.000000000 +0100 @@ -64,11 +64,10 @@ unless $item->is_file; # shared library - my $objdump = $self->processable->objdump_info->{$item->name}; return - unless @{$objdump->{SONAME} // [] }; + unless @{$item->elf->{SONAME} // [] }; - my $soname = $objdump->{SONAME}[0]; + my $soname = $item->elf->{SONAME}[0]; my @ldconfig_folders = @{$self->profile->architectures->ldconfig_folders}; return diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/MultiArch.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/MultiArch.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/MultiArch.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/MultiArch.pm 2022-01-11 17:11:33.000000000 +0100 @@ -48,10 +48,6 @@ unless $item->file_info =~ m{(?: shared [ ] object | pie [ ] executable )}x; - my $objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $objdump; - my @ldconfig_folders = @{$self->profile->architectures->ldconfig_folders}; return if none { $item->dirname eq $_ } @ldconfig_folders; @@ -66,7 +62,7 @@ $self->hint( 'shared-library-is-multi-arch-foreign', - sort +uniq @{$self->shared_libraries}) + (sort +uniq @{$self->shared_libraries})) if @{$self->shared_libraries} && $self->processable->fields->value('Multi-Arch') eq 'foreign'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Obsolete.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Obsolete.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Obsolete.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Obsolete.pm 2022-01-11 17:11:33.000000000 +0100 @@ -38,9 +38,7 @@ return unless $file->file_info =~ /^[^,]*\bELF\b/; - my $objdump = $self->processable->objdump_info->{$file->name}; - - my @needed = @{$objdump->{NEEDED} // []}; + my @needed = @{$file->elf->{NEEDED} // []}; my @obsolete = grep { /^libcblas\.so\.\d/ } @needed; $self->hint('linked-with-obsolete-library', $_, $file->name) for @obsolete; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Relocation.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Relocation.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Relocation.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Relocation.pm 2022-01-11 17:11:33.000000000 +0100 @@ -26,8 +26,6 @@ use warnings; use utf8; -use List::SomeUtils qw(any none); - use Moo; use namespace::clean; @@ -40,14 +38,13 @@ unless $item->is_file; # shared library - my $objdump = $self->processable->objdump_info->{$item->name}; return - unless @{$objdump->{SONAME} // [] }; + unless @{$item->elf->{SONAME} // [] }; # Now that we're sure this is really a shared library, report on # non-PIC problems. $self->hint('specific-address-in-shared-library', $item->name) - if $objdump->{TEXTREL}; + if $item->elf->{TEXTREL}; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Soname/Missing.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Soname/Missing.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Soname/Missing.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Soname/Missing.pm 2022-01-11 17:11:33.000000000 +0100 @@ -46,13 +46,9 @@ unless $item->file_info =~ m{(?: shared [ ] object | pie [ ] executable )}x; - my $objdump = $self->processable->objdump_info->{$item->name}; + # does not have SONAME return - unless defined $objdump; - - # do not have SONAME - return - if @{$objdump->{SONAME} // [] }; + if @{$item->elf->{SONAME} // [] }; my @ldconfig_folders = @{$self->profile->architectures->ldconfig_folders}; return @@ -61,7 +57,7 @@ # disregard executables $self->hint('sharedobject-in-library-directory-missing-soname',$item->name) if !$item->is_executable - || !defined $objdump->{DEBUG} + || !defined $item->elf->{DEBUG} || $item->name =~ / [.]so (?: [.] | $ ) /msx; return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Soname.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Soname.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Soname.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Soname.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,7 +28,6 @@ use utf8; use Const::Fast; -use File::Basename; use List::SomeUtils qw(any none uniq); use Moo; @@ -37,6 +36,7 @@ with 'Lintian::Check'; const my $SPACE => q{ }; +const my $SLASH => q{/}; has DEB_HOST_MULTIARCH => ( is => 'rw', @@ -61,7 +61,7 @@ if length $multiarch_component; my @duplicated; - for my $object_name (keys %{$self->processable->objdump_info}) { + for my $item (@{$self->processable->installed->sorted_list}) { # For the package naming check, filter out SONAMEs where all the # files are at paths other than /lib, /usr/lib and /usr/lib/. @@ -69,15 +69,13 @@ # which may have their own SONAMEs but which don't matter for the # purposes of this check. next - if none { dirname($object_name) eq $_ } @common_folders; + if none { $item->dirname eq $_ . $SLASH } @common_folders; # Also filter out nsswitch modules next - if basename($object_name) =~ m{^ libnss_[^.]+\.so(?:\.\d+) $}x; + if $item->basename =~ m{^ libnss_[^.]+\.so(?:\.\d+) $}x; - my $objdump = $self->processable->objdump_info->{$object_name}; - - push(@duplicated, @{$objdump->{SONAME} // []}); + push(@duplicated, @{$item->elf->{SONAME} // []}); } my @sonames = uniq @duplicated; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Stack.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Stack.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Stack.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Stack.pm 2022-01-11 17:11:33.000000000 +0100 @@ -38,17 +38,16 @@ unless $item->is_file; # shared library - my $objdump = $self->processable->objdump_info->{$item->name}; return - unless @{$objdump->{SONAME} // [] }; + unless @{$item->elf->{SONAME} // [] }; $self->hint('shared-library-lacks-stack-section',$item->name) if $self->processable->fields->declares('Architecture') - && !exists $objdump->{PH}{STACK}; + && !exists $item->elf->{PH}{STACK}; $self->hint('executable-stack-in-shared-library', $item->name) - if exists $objdump->{PH}{STACK} - && $objdump->{PH}{STACK}{flags} ne 'rw-'; + if exists $item->elf->{PH}{STACK} + && $item->elf->{PH}{STACK}{flags} ne 'rw-'; return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Trigger/Ldconfig.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Trigger/Ldconfig.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Shared/Trigger/Ldconfig.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Shared/Trigger/Ldconfig.pm 2022-01-11 17:11:33.000000000 +0100 @@ -33,22 +33,20 @@ with 'Lintian::Check'; -has soname_by_file => ( +has soname_by_filename => ( is => 'rw', lazy => 1, default => sub { my ($self) = @_; - my $objdump = $self->processable->objdump_info; + my %soname_by_filename; + for my $item (@{$self->processable->installed->sorted_list}) { - my %soname_by_file; - for my $name (keys %{$objdump}) { - - $soname_by_file{$name} = $objdump->{$name}{SONAME}[0] - if exists $objdump->{$name}{SONAME}; + $soname_by_filename{$item->name}= $item->elf->{SONAME}[0] + if exists $item->elf->{SONAME}; } - return \%soname_by_file; + return \%soname_by_filename; }); has must_call_ldconfig => (is => 'rw', default => sub { [] }); @@ -65,7 +63,7 @@ # hardware capabilities. # yes! so postinst must call ldconfig push(@{$self->must_call_ldconfig}, $resolved_name) - if exists $self->soname_by_file->{$resolved_name} + if exists $self->soname_by_filename->{$resolved_name} && $self->needs_ldconfig($item); return; @@ -89,7 +87,7 @@ && $self->processable->type ne 'udeb'; $self->hint('lacks-ldconfig-trigger', - sort +uniq @{$self->must_call_ldconfig}) + (sort +uniq @{$self->must_call_ldconfig})) if @{$self->must_call_ldconfig} && !$we_trigger_ldconfig && $self->processable->type ne 'udeb'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static/LinkTimeOptimization.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static/LinkTimeOptimization.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static/LinkTimeOptimization.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static/LinkTimeOptimization.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,75 @@ +# libraries/static/link-time-optimization -- lintian check script -*- perl -*- + +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Libraries::Static::LinkTimeOptimization; + +use v5.20; +use warnings; +use utf8; + +use List::SomeUtils qw(uniq); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_installed_files { + my ($self, $item) = @_; + + return + unless $item->is_file; + + # not sure if that captures everything GHC, or too much + return + if $item->name =~ m{^ usr/lib/ghc/ }x; + + return + unless $item->file_info =~ m{ \b current [ ] ar [ ] archive \b }x; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + for my $member_name (keys %{$item->elf_by_member}) { + + my $member_elf = $item->elf_by_member->{$member_name}; + + my @elf_sections = values %{$member_elf->{'SECTION-HEADERS'}}; + my @section_names = map { $_->name } @elf_sections; + + my @lto_section_names = grep { m{^ [.]gnu[.]lto }x } @section_names; + + $self->pointed_hint('static-link-time-optimization', + $pointer, $member_name) + if @lto_section_names; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static/NoCode.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static/NoCode.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static/NoCode.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static/NoCode.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,100 @@ +# libraries/static/no-code -- lintian check script -*- perl -*- + +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Libraries::Static::NoCode; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use List::SomeUtils qw(any uniq); +use Unicode::UTF8 qw(encode_utf8); + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +const my $SPACE => q{ }; + +sub visit_installed_files { + my ($self, $item) = @_; + + return + unless $item->is_file; + + # not sure if that captures everything GHC, or too much + return + if $item->name =~ m{^ usr/lib/ghc/ }x; + + return + unless $item->file_info =~ m{ \b current [ ] ar [ ] archive \b }x; + + my @codeful_members; + for my $member_name (keys %{$item->elf_by_member}) { + + my $member_elf = $item->elf_by_member->{$member_name}; + + my @elf_sections = values %{$member_elf->{'SECTION-HEADERS'}}; + my @sections_with_size = grep { $_->size > 0 } @elf_sections; + + my @names_with_size = map { $_->name } @sections_with_size; + + my @KNOWN_ARRAY_SECTIONS = qw{.preinit_array .init_array .fini_array}; + my $lc_array + = List::Compare->new(\@names_with_size, \@KNOWN_ARRAY_SECTIONS); + + my @have_array_sections = $lc_array->get_intersection; + +# adapted from https://github.com/rpm-software-management/rpmlint/blob/main/rpmlint/checks/BinariesCheck.py#L242-L249 + my $has_code = 0; + + $has_code = 1 + if any { m{^ [.]text }x } @names_with_size; + + $has_code = 1 + if any { m{^ [.]data }x } @names_with_size; + + $has_code = 1 + if @have_array_sections; + + push(@codeful_members, $member_name) + if $has_code; + } + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('no-code-sections', $pointer) + unless @codeful_members; + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Libraries/Static.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Libraries/Static.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,8 +28,8 @@ use utf8; use Const::Fast; +use List::Compare; use List::SomeUtils qw(any none uniq); -use Unicode::UTF8 qw(encode_utf8); use Moo; use namespace::clean; @@ -49,40 +49,43 @@ return unless $item->file_info =~ m{ \b current [ ] ar [ ] archive \b }x; - my $archive_objdump = $self->processable->objdump_info->{$item->name}; - return - unless defined $archive_objdump; - my @unstripped_members; - my %extra_sections_by_member; - for my $member_name (@{ $archive_objdump->{objects} }) { + my %stripped_sections_by_member; + + for my $member_name (keys %{$item->elf_by_member}) { - my $lookup = $item->name . "($member_name)"; - my $member_objdump = $self->processable->objdump_info->{$lookup}; + my $member_elf = $item->elf_by_member->{$member_name}; - die encode_utf8('object (' - . $item->name - . ": $member_name) in static lib is missing") - unless defined $member_objdump; + my @elf_sections = values %{$member_elf->{'SECTION-HEADERS'}}; + my @have_section_names = map { $_->name } @elf_sections; # These are the ones file(1) looks for. The ".zdebug_info" being the # compressed version of .debug_info. # - Technically, file(1) also looks for .symtab, but that is apparently # not strippable for static libs. Accordingly, it is omitted below. - my @DEBUG_SECTIONS = qw{.debug_info .zdebug_info}; + my @KNOWN_DEBUG_SECTION_NAMES = qw{.debug_info .zdebug_info}; + my $lc_debug = List::Compare->new(\@have_section_names, + \@KNOWN_DEBUG_SECTION_NAMES); - push(@unstripped_members, $member_name) - if any { exists $member_objdump->{SH}{$_} } @DEBUG_SECTIONS; + my @have_debug_sections = $lc_debug->get_intersection; - if (none { exists $member_objdump->{SH}{$_} } @DEBUG_SECTIONS) { + if (@have_debug_sections) { - my @EXTRA_SECTIONS = qw{.note .comment}; - my @not_needed - = grep { exists $member_objdump->{SH}{$_} } @EXTRA_SECTIONS; - - $extra_sections_by_member{$member_name} //= []; - push(@{$extra_sections_by_member{$member_name}}, @not_needed); + push(@unstripped_members, $member_name); + next; } + + my @KNOWN_STRIPPED_SECTION_NAMES = qw{.note .comment}; + my $lc_stripped = List::Compare->new(\@have_section_names, + \@KNOWN_STRIPPED_SECTION_NAMES); + + my @have_stripped_sections = $lc_stripped->get_intersection; + + $stripped_sections_by_member{$member_name} //= []; + push( + @{$stripped_sections_by_member{$member_name}}, + @have_stripped_sections + ); } $self->hint('unstripped-static-library', $item->name, @@ -94,12 +97,14 @@ # "libfoo_g.a" is usually a "debug" library, so ignore # unneeded sections in those. - for my $member (keys %extra_sections_by_member) { + for my $member (keys %stripped_sections_by_member) { - $self->hint('static-library-has-unneeded-sections', - $item->name, "($member)", - join($SPACE, sort +uniq @{$extra_sections_by_member{$member}})) - if @{$extra_sections_by_member{$member}} + $self->hint( + 'static-library-has-unneeded-sections', + $item->name, + "($member)", + join($SPACE, sort +uniq @{$stripped_sections_by_member{$member}})) + if @{$stripped_sections_by_member{$member}} && $item->name !~ m{ _g [.]a $}x; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/AncientVersion.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/AncientVersion.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/AncientVersion.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/AncientVersion.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,8 @@ use POSIX qw(strftime); use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -127,10 +129,13 @@ my $epoch = strftime('%Y-%m-%d', gmtime $OLDSTABLE_RELEASE_EPOCH); - $self->hint( + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint( 'maintainer-script-supports-ancient-package-version', - $old_version,"($date < $epoch)", - "[control/$item:$position]" + $pointer, $old_version,"($date < $epoch)", ); } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Diversion.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Diversion.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Diversion.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Diversion.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,8 @@ use List::SomeUtils qw(any none); use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -69,6 +71,10 @@ my $position = 1; while (my $possible_continuation = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + chomp $possible_continuation; # skip empty lines @@ -96,8 +102,7 @@ if ( $line =~ m{$LEADING_REGEX(?:/usr/sbin/)?dpkg-divert\s} && $line !~ /--(?:help|list|truename|version)/) { - $self->hint('package-uses-local-diversion', - "[control/$item:$position]") + $self->pointed_hint('package-uses-local-diversion',$pointer) if $line =~ /--local/; my $mode = $line =~ /--remove/ ? 'remove' : 'add'; @@ -261,9 +266,13 @@ # versions of the package. my $unquoted = unquote($divert, $self->expand_diversions); - my $pointer = "[control/$script:$position]"; - $self->hint('remove-of-unknown-diversion', $unquoted,$pointer); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($script); + $pointer->position($position); + + $self->pointed_hint('remove-of-unknown-diversion', $pointer, + $unquoted); } } } @@ -273,12 +282,14 @@ my $script = $self->added_diversions->{$divert}{script}; my $position = $self->added_diversions->{$divert}{position}; - my $pointer = "[control/$script:$position]"; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($script); + $pointer->position($position); my $divertrx = $divert; my $unquoted = unquote($divert, $self->expand_diversions); - $self->hint('orphaned-diversion', $unquoted, $pointer) + $self->pointed_hint('orphaned-diversion', $pointer, $unquoted) unless exists $self->added_diversions->{$divertrx}{removed}; # Handle man page diversions somewhat specially. We may @@ -299,13 +310,16 @@ } if ($self->expand_diversions) { - $self->hint('diversion-for-unknown-file', $unquoted, $pointer) + + $self->pointed_hint('diversion-for-unknown-file', $pointer, + $unquoted) unless ( any { /$divertrx/ } @{$self->processable->installed->sorted_list}); } else { - $self->hint('diversion-for-unknown-file', $unquoted, $pointer) + $self->pointed_hint('diversion-for-unknown-file', $pointer, + $unquoted) unless $self->processable->installed->lookup($unquoted); } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/DpkgStatoverride.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/DpkgStatoverride.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/DpkgStatoverride.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/DpkgStatoverride.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -66,6 +68,10 @@ my $position = 1; while (my $possible_continuation = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + chomp $possible_continuation; # skip empty lines @@ -96,8 +102,9 @@ if $line =~ /--list/; if ($line =~ /--add/) { - $self->hint('unconditional-use-of-dpkg-statoverride', - "[control/$item:$position]") + + $self->pointed_hint('unconditional-use-of-dpkg-statoverride', + $pointer) unless $saw_statoverride_list; } } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Empty.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Empty.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Empty.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Empty.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -102,7 +104,10 @@ ++$position; } - $self->hint('maintainer-script-empty', "control/$item") + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('maintainer-script-empty', $pointer) unless $has_code; return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Helper/Dpkg.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Helper/Dpkg.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Helper/Dpkg.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Helper/Dpkg.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,8 @@ use List::Compare; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -127,9 +129,23 @@ my @missing = $lc->get_Lonly; - $self->hint('missing-call-to-dpkg-maintscript-helper', - $command, "[control/$_]") - for @missing; + for my $name (@missing) { + + my $item = $self->processable->control->lookup($name); + + if (defined $item) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('missing-call-to-dpkg-maintscript-helper', + $pointer, $command); + + } else { + # file does not exist + $self->hint('missing-call-to-dpkg-maintscript-helper', + $command, "[$name]"); + } + } } return; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Killall.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Killall.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Killall.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Killall.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -57,6 +59,10 @@ my $position = 1; while (my $possible_continuation = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + chomp $possible_continuation; # skip empty lines @@ -81,7 +87,7 @@ my $line = $stashed . $no_comment; $stashed = $EMPTY; - $self->hint('killall-is-dangerous', "[control/$item:$position]") + $self->pointed_hint('killall-is-dangerous', $pointer) if $line =~ /^\s*killall(?:\s|\z)/; } continue { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Ldconfig.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Ldconfig.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Ldconfig.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Ldconfig.pm 2022-01-11 17:11:33.000000000 +0100 @@ -26,6 +26,8 @@ use warnings; use utf8; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -40,11 +42,14 @@ return unless $item->decoded_utf8 =~ /^ [^\#]* \b ldconfig \b /mx; - $self->hint('udeb-postinst-calls-ldconfig') + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('udeb-postinst-calls-ldconfig', $pointer) if $item->name eq 'postinst' && $self->processable->type eq 'udeb'; - $self->hint('maintscript-calls-ldconfig', $item->name) + $self->pointed_hint('maintscript-calls-ldconfig', $pointer) if $item->name ne 'postinst' || $self->processable->type ne 'udeb'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Mknod.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Mknod.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Mknod.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Mknod.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -57,6 +59,10 @@ my $position = 1; while (my $possible_continuation = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + chomp $possible_continuation; # skip empty lines @@ -81,7 +87,7 @@ my $line = $stashed . $no_comment; $stashed = $EMPTY; - $self->hint('mknod-in-maintainer-script', "[control/$item:$position]") + $self->pointed_hint('mknod-in-maintainer-script', $pointer) if $line =~ /^\s*mknod(?:\s|\z)/ && $line !~ /\sp\s/; } continue { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Systemctl.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Systemctl.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/Systemctl.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/Systemctl.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,8 @@ use warnings; use utf8; +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -52,9 +54,13 @@ next if $line =~ /^#/; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + # systemctl should not be called in maintainer scripts at all, # except for systemctl daemon-reload calls. - $self->hint('maintainer-script-calls-systemctl', "$item:$position") + $self->pointed_hint('maintainer-script-calls-systemctl', $pointer) if $line =~ /^(?:.+;)?\s*systemctl\b/ && $line !~ /daemon-reload/; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/TemporaryFiles.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/TemporaryFiles.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/MaintainerScripts/TemporaryFiles.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/MaintainerScripts/TemporaryFiles.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,8 @@ use Const::Fast; use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -57,6 +59,10 @@ my $position = 1; while (my $possible_continuation = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + chomp $possible_continuation; # skip empty lines @@ -85,10 +91,10 @@ my $indicator = $1; - $self->hint( + $self->pointed_hint( 'possibly-insecure-handling-of-tmp-files-in-maintainer-script', - $indicator, - "[control/$item:$position]" + $pointer, + $indicator ) if $line !~ /\bmks?temp\b/ && $line !~ /\btempfile\b/ diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Md5sums.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Md5sums.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Md5sums.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Md5sums.pm 2022-01-11 17:11:33.000000000 +0100 @@ -28,7 +28,6 @@ use List::Compare; use Path::Tiny; -use Try::Tiny; use Lintian::Util qw(read_md5sums drop_relative_prefix); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Pe.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Pe.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Pe.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Pe.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,6 +25,7 @@ use utf8; use Const::Fast; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use Moo; @@ -58,7 +59,7 @@ open(my $fd, '<', $file->unpacked_path) or die encode_utf8('Cannot open ' . $file->unpacked_path); - eval { + try { # offset to main header seek($fd, $MAIN_HEADER, 0) or die encode_utf8("seek: $!"); @@ -75,7 +76,10 @@ # get DLLCharacteristics value read($fd, $buf, 2) or die encode_utf8("read: $!"); - }; + + } catch { + die $@; + } my $characteristics = unpack('v', $buf); my %features = ( diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Scripts.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Scripts.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Scripts.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Scripts.pm 2022-01-11 17:11:33.000000000 +0100 @@ -33,6 +33,7 @@ use Unicode::UTF8 qw(encode_utf8); use Lintian::IPC::Run3 qw(safe_qx); +use Lintian::Pointer::Item; use Lintian::Relation; use Moo; @@ -45,13 +46,8 @@ const my $SLASH => q{/}; const my $ASTERISK => q{*}; const my $DOT => q{.}; -const my $COLON => q{:}; const my $DOUBLE_QUOTE => q{"}; -const my $LEFT_PARENTHESIS => q{(}; -const my $RIGHT_PARENTHESIS => q{)}; -const my $LEFT_SQUARE_BRACKET => q{[}; -const my $RIGHT_SQUARE_BRACKET => q{]}; -const my $NOT_EQUALS => q{!=}; +const my $NOT_EQUAL => q{!=}; const my $BAD_MAINTAINER_COMMAND_FIELDS => 5; const my $UNVERSIONED_INTERPRETER_FIELDS => 2; @@ -290,21 +286,24 @@ my $is_absolute = ($item->interpreter =~ m{^/} || $item->calls_env); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + # As a special-exception, Policy 10.4 states that Perl scripts must use # /usr/bin/perl directly and not via /usr/bin/env, etc. - $self->hint( + $self->pointed_hint( 'incorrect-path-for-interpreter', - '/usr/bin/env perl != /usr/bin/perl', - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET + $pointer,'/usr/bin/env perl', + $NOT_EQUAL, '/usr/bin/perl' ) if $item->calls_env && $item->interpreter eq 'perl' && $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint( + $self->pointed_hint( 'example-incorrect-path-for-interpreter', - '/usr/bin/env perl != /usr/bin/perl', - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET + $pointer,'/usr/bin/env perl', + $NOT_EQUAL, '/usr/bin/perl' ) if $item->calls_env && $item->interpreter eq 'perl' @@ -338,30 +337,29 @@ if ($item->interpreter eq $EMPTY) { - $self->hint('script-without-interpreter', $item->name) + $self->pointed_hint('script-without-interpreter', $pointer) if $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-script-without-interpreter', $item->name) + $self->pointed_hint('example-script-without-interpreter', $pointer) if $item->name =~ m{^usr/share/doc/[^/]+/examples/}; return; } # Either they use an absolute path or they use '/usr/bin/env interp'. - $self->hint('interpreter-not-absolute', $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('interpreter-not-absolute', $pointer, + $item->interpreter) if !$is_absolute && $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-interpreter-not-absolute', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('example-interpreter-not-absolute', + $pointer,$item->interpreter) if !$is_absolute && $item->name =~ m{^usr/share/doc/[^/]+/examples/}; my $bash_completion_regex= qr{^usr/share/bash-completion/completions/.*}; - $self->hint('script-not-executable', $item->name) + $self->pointed_hint('script-not-executable', $pointer) if (!$item->is_file || !$item->is_executable) && $item->name !~ m{^usr/(?:lib|share)/.*\.pm} && $item->name !~ m{^usr/(?:lib|share)/.*\.py} @@ -406,36 +404,30 @@ if (defined $interpreter_data) { my $expected = $interpreter_data->{folder} . $SLASH . $basename; - my $context - = $item->interpreter - . $SPACE - . $NOT_EQUALS - . $SPACE - . $expected - . $SPACE - . $LEFT_SQUARE_BRACKET - . $item->name - . $RIGHT_SQUARE_BRACKET; + my @context = ($item->interpreter, $NOT_EQUAL, $expected); - $self->hint('wrong-path-for-interpreter', $context) + $self->pointed_hint('wrong-path-for-interpreter', $pointer, @context) if $item->interpreter ne $expected && !$item->calls_env && $expected ne '/usr/bin/env perl' && $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-wrong-path-for-interpreter', $context) + $self->pointed_hint('example-wrong-path-for-interpreter', + $pointer, @context) if $item->interpreter ne $expected && !$item->calls_env && $expected ne '/usr/bin/env perl' && $item->name =~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('incorrect-path-for-interpreter', $context) + $self->pointed_hint('incorrect-path-for-interpreter', + $pointer, @context) if $item->interpreter ne $expected && !$item->calls_env && $expected eq '/usr/bin/env perl' && $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-incorrect-path-for-interpreter', $context) + $self->pointed_hint('example-incorrect-path-for-interpreter', + $pointer, @context) if $item->interpreter ne $expected && !$item->calls_env && $expected eq '/usr/bin/env perl' @@ -443,35 +435,31 @@ } elsif ($item->interpreter =~ m{^/usr/local/}) { - $self->hint('interpreter-in-usr-local', $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('interpreter-in-usr-local', $pointer, + $item->interpreter) if $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-interpreter-in-usr-local', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('example-interpreter-in-usr-local', + $pointer,$item->interpreter) if $item->name =~ m{^usr/share/doc/[^/]+/examples/}; } elsif ($item->interpreter eq '/bin/env') { - $self->hint('script-uses-bin-env', $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('script-uses-bin-env', $pointer,$item->interpreter) if $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-script-uses-bin-env', $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('example-script-uses-bin-env', $pointer, + $item->interpreter) if $item->name =~ m{^usr/share/doc/[^/]+/examples/}; } elsif ($item->interpreter eq 'nodejs') { - $self->hint('script-uses-deprecated-nodejs-location', - $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('script-uses-deprecated-nodejs-location', + $pointer,$item->interpreter) if $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-script-uses-deprecated-nodejs-location', - $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('example-script-uses-deprecated-nodejs-location', + $pointer,$item->interpreter) if $item->name =~ m{^usr/share/doc/[^/]+/examples/}; # Check whether we have correct dependendies on nodejs regardless. @@ -479,14 +467,12 @@ } elsif ($basename =~ /^php/) { - $self->hint('php-script-with-unusual-interpreter', - $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('php-script-with-unusual-interpreter', + $pointer,$item->interpreter) if $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-php-script-with-unusual-interpreter', - $item->name, - $LEFT_PARENTHESIS . $item->interpreter . $RIGHT_PARENTHESIS) + $self->pointed_hint('example-php-script-with-unusual-interpreter', + $pointer, $item->interpreter) if $item->name =~ m{^usr/share/doc/[^/]+/examples/}; # This allows us to still perform the dependencies checks @@ -512,13 +498,12 @@ push(@private_interpreters, grep { defined } @files); } - $self->hint('unusual-interpreter', $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('unusual-interpreter', $pointer,$item->interpreter) if (none { $_->is_file && $_->is_executable } @private_interpreters) && $item->name !~ m{^usr/share/doc/[^/]+/examples/}; - $self->hint('example-unusual-interpreter', $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET) + $self->pointed_hint('example-unusual-interpreter', $pointer, + $item->interpreter) if (none { $_->is_file && $_->is_executable } @private_interpreters) && $item->name =~ m{^usr/share/doc/[^/]+/examples/}; } @@ -543,21 +528,16 @@ if ($basename =~ /^php/) { - $self->hint( - 'php-script-but-no-php-cli-dep', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $self->pointed_hint('php-script-but-no-php-cli-dep', + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } elsif ($basename =~ /^(python\d|ruby|[mg]awk)$/) { - $self->hint(( + $self->pointed_hint(( "$basename-script-but-no-$basename-dep", + $pointer, $item->interpreter, - $LEFT_SQUARE_BRACKET - . $item->name - . $RIGHT_SQUARE_BRACKET, "(does not satisfy $depends)" )); @@ -582,12 +562,9 @@ } else { - $self->hint( - 'missing-dep-for-interpreter', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $self->pointed_hint('missing-dep-for-interpreter', + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } } @@ -610,21 +587,16 @@ my $shell_name = $1; - $self->hint( + $self->pointed_hint( "$shell_name-script-but-no-$shell_name-dep", - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } else { - $self->hint( - 'missing-dep-for-interpreter', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $self->pointed_hint('missing-dep-for-interpreter', + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } } @@ -637,21 +609,15 @@ unless ($self->all_prerequisites->satisfies($depends)) { if ($basename =~ /^(python|ruby)/) { - $self->hint( - "$1-script-but-no-$1-dep", - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $self->pointed_hint("$1-script-but-no-$1-dep", + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } else { - $self->hint( - 'missing-dep-for-interpreter', - $item->interpreter, - $LEFT_SQUARE_BRACKET . $item->name . $RIGHT_SQUARE_BRACKET, - "(does not satisfy $depends)" - ); + $self->pointed_hint('missing-dep-for-interpreter', + $pointer, $item->interpreter, + "(does not satisfy $depends)"); } } } @@ -665,9 +631,12 @@ return unless $item->is_maintainer_script; + my $rough_pointer = Lintian::Pointer::Item->new; + $rough_pointer->item($item); + if ($item->is_elf) { - $self->hint('elf-maintainer-script', "control/$item"); + $self->pointed_hint('elf-maintainer-script', $rough_pointer); return; } @@ -679,22 +648,23 @@ if ($interpreter eq $EMPTY) { - $self->hint('script-without-interpreter', "control/$item"); + $self->pointed_hint('script-without-interpreter', $rough_pointer); return; } # tag for statistics - $self->hint('maintainer-script-interpreter', - $interpreter, "[control/$item]"); + $self->pointed_hint('maintainer-script-interpreter', + $rough_pointer, $interpreter); - $self->hint('interpreter-not-absolute', $interpreter, "[control/$item]") + $self->pointed_hint('interpreter-not-absolute', $rough_pointer, + $interpreter) unless $interpreter =~ m{^/}; my $basename = basename($interpreter); if ($interpreter =~ m{^/usr/local/}) { - $self->hint('control-interpreter-in-usr-local', - $interpreter, "[control/$item]"); + $self->pointed_hint('control-interpreter-in-usr-local', + $rough_pointer, $interpreter); } elsif ($basename eq 'sh' || $basename eq 'bash' || $basename eq 'perl') { my $expected @@ -708,17 +678,18 @@ 'incorrect-path-for-interpreter' : 'wrong-path-for-interpreter'; - $self->hint($tag_name, $interpreter, $NOT_EQUALS, $expected, - "[control/$item]") - unless $interpreter eq $expected; + $self->pointed_hint( + $tag_name, $rough_pointer, $interpreter, + $NOT_EQUAL, $expected + )unless $interpreter eq $expected; } elsif ($item->name eq 'config') { - $self->hint('forbidden-config-interpreter', - $interpreter, "[control/$item]"); + $self->pointed_hint('forbidden-config-interpreter', + $rough_pointer, $interpreter); } elsif ($item->name eq 'postrm') { - $self->hint('forbidden-postrm-interpreter', - $interpreter, "[control/$item]"); + $self->pointed_hint('forbidden-postrm-interpreter', + $rough_pointer, $interpreter); } elsif ($self->INTERPRETERS->recognizes($basename)) { @@ -731,12 +702,13 @@ 'incorrect-path-for-interpreter' : 'wrong-path-for-interpreter'; - $self->hint($tag_name, $interpreter, $NOT_EQUALS, $expected, - "[control/$item]") - unless $interpreter eq $expected; + $self->pointed_hint( + $tag_name, $rough_pointer, $interpreter, + $NOT_EQUAL, $expected + )unless $interpreter eq $expected; - $self->hint('unusual-control-interpreter', $interpreter, - "[control/$item]"); + $self->pointed_hint('unusual-control-interpreter', $rough_pointer, + $interpreter); # Interpreters used by preinst scripts must be in # Pre-Depends. Interpreters used by postinst or prerm @@ -748,10 +720,10 @@ if ($item->name eq 'preinst') { - $self->hint( + $self->pointed_hint( 'control-interpreter-without-predepends', + $rough_pointer, $interpreter, - "[control/$item]", '(does not satisfy ' . $depends->to_string . ')' ) unless $self->processable->relation('Pre-Depends') @@ -759,10 +731,10 @@ } else { - $self->hint( + $self->pointed_hint( 'control-interpreter-without-depends', + $rough_pointer, $interpreter, - "[control/$item]", '(does not satisfy ' . $depends->to_string . ')' ) unless $self->processable->relation('strong') @@ -771,8 +743,8 @@ } } else { - $self->hint('unknown-control-interpreter', $interpreter, - "[control/$item]"); + $self->pointed_hint('unknown-control-interpreter', $rough_pointer, + $interpreter); # no use doing further checks if it's not a known interpreter return; @@ -798,6 +770,10 @@ my $position = 1; while (my $line = <$fd>) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + $saw_bange = 1 if $position == 1 && $item->is_shell_script @@ -844,8 +820,7 @@ if ($line =~ m{$LEADING_REGEX(?:/bin/)?udevadm\s} && $saw_sete) { - $self->hint('udevadm-called-without-guard', - "[control/$item:$position]") + $self->pointed_hint('udevadm-called-without-guard',$pointer) unless $saw_udevadm_guard || $line =~ m{\|\|} || $self->strong_prerequisites->satisfies('udev'); @@ -865,29 +840,28 @@ if (!$cat_string) { - $self->generic_check_bad_command($item->name, $line, + $self->generic_check_bad_command($item, $line, $position, 0,$in_automatic_section); $saw_debconf = 1 if $line =~ m{/usr/share/debconf/confmodule}; - $self->hint('read-in-maintainer-script', - "[control/$item:$position]") + $self->pointed_hint('read-in-maintainer-script',$pointer) if $line =~ /^\s*read(?:\s|\z)/ && !$saw_debconf; - $self->hint('multi-arch-same-package-calls-pycompile', - "[control/$item:$position]") + $self->pointed_hint('multi-arch-same-package-calls-pycompile', + $pointer) if $line =~ /^\s*py3?compile(?:\s|\z)/ &&$self->processable->fields->value('Multi-Arch') eq 'same'; - $self->hint('maintainer-script-modifies-inetd-conf', - "[control/$item:$position]") + $self->pointed_hint('maintainer-script-modifies-inetd-conf', + $pointer) if $line =~ m{>\s*/etc/inetd\.conf(?:\s|\Z)} && !$self->processable->relation('Provides') ->satisfies('inet-superserver'); - $self->hint('maintainer-script-modifies-inetd-conf', - "[control/$item:$position]") + $self->pointed_hint('maintainer-script-modifies-inetd-conf', + $pointer) if $line=~ m{^\s*(?:cp|mv)\s+(?:.*\s)?/etc/inetd\.conf\s*$} && !$self->processable->relation('Provides') ->satisfies('inet-superserver'); @@ -913,12 +887,10 @@ ) { my $command = $1; - $self->hint( + $self->pointed_hint( 'command-with-path-in-maintainer-script', - $command, - "[control/$item:$position]", - '(in backticks)' - )unless $in_automatic_section; + $pointer, $command,'(in backticks)') + unless $in_automatic_section; } } @@ -931,9 +903,9 @@ ){ my $command = $1; - $self->hint('command-with-path-in-maintainer-script', - $command, "[control/$item:$position]", - '(in test syntax)') + $self->pointed_hint( + 'command-with-path-in-maintainer-script', + $pointer, $command,'(in test syntax)') unless $in_automatic_section; } @@ -944,8 +916,9 @@ =~ m{$LEADING_REGEX(/(?:usr/)?s?bin/[\w.+-]+)(?:\s|;|$)}){ my $command = $1; - $self->hint('command-with-path-in-maintainer-script', - $command, "[control/$item:$position]",'(plain script)') + $self->pointed_hint( + 'command-with-path-in-maintainer-script', + $pointer, $command, '(plain script)') unless $in_automatic_section; } } @@ -969,36 +942,29 @@ my $first_alternative = $requirement; $first_alternative =~ s/[ \(].*//; - $self->hint( + $self->pointed_hint( "maintainer-script-needs-depends-on-$first_alternative", - $command, - "[control/$item:$position]", - "(does not satisfy $requirement)" - ) + $pointer, $command,"(does not satisfy $requirement)") unless $self->processable->relation('strong') ->satisfies($requirement) || $self->processable->name eq $first_alternative || $item->name eq 'postrm'; } - $self->generic_check_bad_command($item->name, $line, $position, 1, + $self->generic_check_bad_command($item, $line, $position, 1, $in_automatic_section); if ($line =~ m{$LEADING_REGEX(?:/usr/sbin/)?update-inetd\s}) { - $self->hint( + $self->pointed_hint( 'maintainer-script-has-invalid-update-inetd-options', - '(--pattern with --add)', - "[control/$item:$position]" - ) + $pointer, '(--pattern with --add)') if $line =~ /--pattern/ && $line =~ /--add/; - $self->hint( + $self->pointed_hint( 'maintainer-script-has-invalid-update-inetd-options', - '(--group without --add)', - "[control/$item:$position]" - ) + $pointer, '(--group without --add)') if $line =~ /--group/ && $line !~ /--add/; } @@ -1009,10 +975,10 @@ close $fd; - $self->hint('maintainer-script-without-set-e', "control/$item") + $self->pointed_hint('maintainer-script-without-set-e', $rough_pointer) if $item->is_shell_script && !$saw_sete && $saw_bange; - $self->hint('maintainer-script-ignores-errors', "control/$item") + $self->pointed_hint('maintainer-script-ignores-errors', $rough_pointer) if $item->is_shell_script && !$saw_sete && !$saw_bange; return; @@ -1032,7 +998,7 @@ && $command_data->{ignore_automatic_sections}; next - unless $script =~ $command_data->{script_include_regex}; + unless $script->name =~ $command_data->{script_include_regex}; next unless $find_in_cat_string == $command_data->{in_cat_string}; @@ -1044,8 +1010,12 @@ # trim both ends $bad_command =~ s/^\s+|\s+$//g; - $self->hint($tag_name,$DOUBLE_QUOTE . $bad_command . $DOUBLE_QUOTE, - "[control/$script:$position]") + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($script); + $pointer->position($position); + + $self->pointed_hint($tag_name, $pointer, + $DOUBLE_QUOTE . $bad_command . $DOUBLE_QUOTE) unless $self->processable->name =~ $command_data->{package_exclude_regex}; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Shell/NonPosix/BashCentric.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Shell/NonPosix/BashCentric.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Shell/NonPosix/BashCentric.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Shell/NonPosix/BashCentric.pm 2022-01-11 17:11:33.000000000 +0100 @@ -4,6 +4,7 @@ # Copyright © 2002 Josip Rodin # Copyright © 2016-2019 Chris Lamb # Copyright © 2021 Felix Lechner +# Copyright © 2021 Rafael Laboissière # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -33,6 +34,8 @@ use List::SomeUtils qw(uniq); use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -40,9 +43,6 @@ const my $EMPTY => q{}; const my $SLASH => q{/}; -const my $COLON => q{:}; -const my $LEFT_SQUARE_BRACKET => q{[}; -const my $RIGHT_SQUARE_BRACKET => q{]}; # When detecting commands inside shell scripts, use this regex to match the # beginning of the command rather than checking whether the command is at the @@ -125,7 +125,6 @@ $LEADING_REGEX . qr/export\s+-[^p]/, # export only takes -p as an option $LEADING_REGEX . qr/ulimit(\s|\Z)/, $LEADING_REGEX . qr/shopt(\s|\Z)/, - $LEADING_REGEX . qr/type\s/, $LEADING_REGEX . qr/time\s/, $LEADING_REGEX . qr/dirs(\s|\Z)/, qr/(?:^|\s+)[<>]\(.*?\)/, # <() process substitution @@ -146,7 +145,7 @@ return unless $basename eq 'sh'; - $self->check_bash_centric($item, 'bash-term-in-posix-shell', $item->name); + $self->check_bash_centric($item, 'bash-term-in-posix-shell'); return; } @@ -162,14 +161,13 @@ return unless $basename eq 'sh'; - $self->check_bash_centric($item, 'possible-bashism-in-maintainer-script', - "control/$item"); + $self->check_bash_centric($item, 'possible-bashism-in-maintainer-script'); return; } sub check_bash_centric { - my ($self, $item, $tag_name, $label) = @_; + my ($self, $item, $tag_name) = @_; return unless $item->is_open_ok; @@ -206,12 +204,13 @@ my $line = $stashed . $no_comment; $stashed = $EMPTY; - my $pointer - = $LEFT_SQUARE_BRACKET - . $label - . $COLON - . $position - . $RIGHT_SQUARE_BRACKET; + # see Bug#999756 and tclsh(1) + last + if $line =~ m{^ exec \s }x; + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); my @matches = uniq +$self->check_line($line); @@ -221,7 +220,7 @@ $printable = '{hex:' . sprintf('%vX', $match) . '}' if $match =~ /\P{XPosixPrint}/; - $self->hint($tag_name, $pointer, $printable); + $self->pointed_hint($tag_name, $pointer, $printable); } } continue { diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Substvars/Libc.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Substvars/Libc.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Substvars/Libc.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Substvars/Libc.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,88 @@ +# substvars/libc -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Substvars::Libc; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +use Lintian::Pointer::Item; +use Lintian::Relation; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +# The list of libc packages, used for checking for a hard-coded dependency +# rather than using ${shlibs:Depends}. +const my @LIBCS => qw(libc6 libc6.1 libc0.1 libc0.3); + +my $LIBC_RELATION = Lintian::Relation->new->load(join(' | ', @LIBCS)); + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + my @prerequisite_fields = qw(Pre-Depends Depends Recommends Suggests); + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + for my $field (@prerequisite_fields) { + + next + unless $control->installable_fields($installable) + ->declares($field); + + my $relation + = $self->processable->binary_relation($installable,$field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint( + 'package-depends-on-hardcoded-libc', + $pointer,"(in section for $installable)", + $field, $relation->to_string + ) + if $relation->satisfies($LIBC_RELATION) + && $self->processable->name !~ /^e?glibc$/; + } + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Substvars/Misc/PreDepends.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Substvars/Misc/PreDepends.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Substvars/Misc/PreDepends.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Substvars/Misc/PreDepends.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,67 @@ +# substvars/misc/pre-depends -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Substvars::Misc::PreDepends; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub source { + my ($self) = @_; + + my $control = $self->processable->debian_control; + + for my $installable ($control->installables) { + my $installable_fields = $control->installable_fields($installable); + + my $field = 'Depends'; + + my $depends= $control->installable_fields($installable)->value($field); + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item( + $self->processable->patched->resolve_path('debian/control')); + $pointer->position($installable_fields->position($field)); + + $self->pointed_hint('depends-on-misc-pre-depends', $pointer,$depends, + "(in section for $installable)") + if $depends =~ m/\$\{misc:Pre-Depends\}/; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Systemd/Native/Prerequisites.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Systemd/Native/Prerequisites.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Systemd/Native/Prerequisites.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Systemd/Native/Prerequisites.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,8 @@ use List::SomeUtils qw(any none); use Unicode::UTF8 qw(encode_utf8); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -95,11 +97,12 @@ my $line = $stashed . $no_comment; $stashed = $EMPTY; - $self->hint( - 'skip-systemd-native-flag-missing-pre-depends', - "[control/$item:$position]", - "(does not satisfy $SYSTEMD_NATIVE_PREREQUISITES)" - ) + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('skip-systemd-native-flag-missing-pre-depends', + $pointer,"(does not satisfy $SYSTEMD_NATIVE_PREREQUISITES)") if $line =~ /invoke-rc.d\b.*--skip-systemd-native\b/ && !$self->satisfies_systemd_native_prerequisites; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Systemd.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Systemd.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Systemd.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Systemd.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,10 +30,13 @@ use utf8; use Const::Fast; +use Data::Validate::URI qw(is_uri); use List::Compare; use List::SomeUtils qw(any none); use Text::ParseWords qw(shellwords); +use Lintian::Pointer::Item; + use Moo; use namespace::clean; @@ -113,6 +116,9 @@ sub visit_installed_files { my ($self, $item) = @_; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + if ($item->name =~ m{/systemd/system/.*\.service$}) { $self->check_systemd_service_file($item); @@ -127,7 +133,8 @@ for my $alias (@aliases) { - $self->hint('systemd-service-alias-without-extension', $item->name) + $self->pointed_hint('systemd-service-alias-without-extension', + $pointer) if $alias !~ m/\.service$/; # maybe issue a tag for duplicates? @@ -151,7 +158,7 @@ unless ($item->is_file) { - $self->hint('init-script-is-not-a-file', $item->name); + $self->pointed_hint('init-script-is-not-a-file', $pointer); return; } @@ -171,8 +178,8 @@ my @values = $self->extract_service_file_values($item,'Socket','ListenStream'); - $self->hint('systemd-service-file-refers-to-var-run', - $item, 'ListenStream', $_) + $self->pointed_hint('systemd-service-file-refers-to-var-run', + $pointer, 'ListenStream', $_) for grep { m{^/var/run/} } @values; } @@ -197,18 +204,22 @@ for my $init_file (@init_files) { + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($init_file); + # rcS scripts are particularly bad; always tag - $self->hint('missing-systemd-service-for-init.d-rcS-script', - $init_file->name, $service_name) + $self->pointed_hint( + 'missing-systemd-service-for-init.d-rcS-script', + $pointer, $service_name) if $self->is_rcs_script_by_name->{$init_file->name}; - $self->hint('omitted-systemd-service-for-init.d-script', - $init_file->name, $service_name) + $self->pointed_hint('omitted-systemd-service-for-init.d-script', + $pointer, $service_name) if @{$self->service_names} && !$self->is_rcs_script_by_name->{$init_file->name}; - $self->hint('missing-systemd-service-for-init.d-script', - $init_file->name, $service_name) + $self->pointed_hint('missing-systemd-service-for-init.d-script', + $pointer, $service_name) if !@{$self->service_names} && !$self->is_rcs_script_by_name->{$init_file->name}; } @@ -216,8 +227,14 @@ if (!@{$self->timer_files}) { - $self->hint('missing-systemd-timer-for-cron-script', $_->name) - for @{$self->cron_scripts}; + for my $cron_script (@{$self->cron_scripts}) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($cron_script); + + $self->pointed_hint('missing-systemd-timer-for-cron-script', + $pointer); + } } return; @@ -258,7 +275,11 @@ ++$position; } - $self->hint('init.d-script-does-not-source-init-functions', $item) + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + + $self->pointed_hint('init.d-script-does-not-source-init-functions', + $pointer) unless $lsb_source_seen; return $is_rcs_script; @@ -267,30 +288,36 @@ sub check_systemd_service_file { my ($self, $item) = @_; + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + # ambivalent about /lib or /usr/lib - $self->hint('systemd-service-in-odd-location', $item) + $self->pointed_hint('systemd-service-in-odd-location', $pointer) if $item =~ m{^etc/systemd/system/}; unless ($item->is_open_ok || ($item->is_symlink && $item->link eq '/dev/null')) { - $self->hint('service-file-is-not-a-file', $item); + $self->pointed_hint('service-file-is-not-a-file', $pointer); return 0; } my @values = $self->extract_service_file_values($item, 'Unit', 'After'); my @obsolete = grep { /^(?:syslog|dbus)\.target$/ } @values; - $self->hint('systemd-service-file-refers-to-obsolete-target',$item, $_) + $self->pointed_hint('systemd-service-file-refers-to-obsolete-target', + $pointer, $_) for @obsolete; - $self->hint('systemd-service-file-refers-to-obsolete-bindto', $item) + $self->pointed_hint('systemd-service-file-refers-to-obsolete-bindto', + $pointer) if $self->extract_service_file_values($item, 'Unit', 'BindTo'); for my $key ( qw(ExecStart ExecStartPre ExecStartPost ExecReload ExecStop ExecStopPost) ) { - $self->hint('systemd-service-file-wraps-init-script', $item, $key) + $self->pointed_hint('systemd-service-file-wraps-init-script', + $pointer, $key) if any { m{^/etc/init\.d/} } $self->extract_service_file_values($item, 'Service', $key); } @@ -318,16 +345,41 @@ for my $target (@wanted_by) { - $self->hint( + $self->pointed_hint( 'systemd-service-file-refers-to-unusual-wantedby-target', - $item, $target) + $pointer, $target) unless (any { $target eq $_ } @WANTEDBY_WHITELIST) || $self->processable->name eq 'systemd'; } - $self->hint('systemd-service-file-missing-documentation-key', $item) - unless $self->extract_service_file_values($item, 'Unit', - 'Documentation'); + my @documentation + = $self->extract_service_file_values($item, 'Unit','Documentation'); + + $self->pointed_hint('systemd-service-file-missing-documentation-key', + $pointer) + unless @documentation; + + for my $documentation (@documentation) { + + my @uris = split(m{\s+}, $documentation); + + my @invalid = grep { !is_uri($_) } @uris; + + $self->pointed_hint('invalid-systemd-documentation',$pointer, $_) + for @invalid; + } + + my @kill_modes + = $self->extract_service_file_values($item, 'Service','KillMode'); + + for my $kill_mode (@kill_modes) { + + # trim both ends + $kill_mode =~ s/^\s+|\s+$//g; + + $self->pointed_hint('kill-mode-none',$pointer, $_) + if $kill_mode eq 'none'; + } if ( !@wanted_by && !$is_oneshot @@ -335,7 +387,8 @@ && $item =~ m{^(?:usr/)?lib/systemd/[^\/]+/[^\/]+\.service$} && $item !~ m{@\.service$}) { - $self->hint('systemd-service-file-missing-install-key', $item) + $self->pointed_hint('systemd-service-file-missing-install-key', + $pointer) unless $self->extract_service_file_values($item, 'Install', 'RequiredBy') || $self->extract_service_file_values($item, 'Install', 'Also'); @@ -344,8 +397,8 @@ my @pidfile = $self->extract_service_file_values($item,'Service','PIDFile'); for my $x (@pidfile) { - $self->hint('systemd-service-file-refers-to-var-run', - $item, 'PIDFile', $x) + $self->pointed_hint('systemd-service-file-refers-to-var-run', + $pointer, 'PIDFile', $x) if $x =~ m{^/var/run/}; } @@ -353,7 +406,8 @@ = any { $self->extract_service_file_values($item, 'Service', $_) } @HARDENING_FLAGS; - $self->hint('systemd-service-file-missing-hardening-features', $item) + $self->pointed_hint('systemd-service-file-missing-hardening-features', + $pointer) unless $seen_hardening || $is_oneshot || any { 'sleep.target' eq $_ } @wanted_by; @@ -368,7 +422,8 @@ my @conflicts = $self->extract_service_file_values($item, 'Unit','Conflicts'); - $self->hint('systemd-service-file-shutdown-problems', $item) + $self->pointed_hint('systemd-service-file-shutdown-problems', + $pointer) if (none { $_ eq 'shutdown.target' } @before) && (any { $_ eq 'shutdown.target' } @conflicts); } @@ -382,8 +437,8 @@ my $value = $bad_users{$key}; - $self->hint('systemd-service-file-uses-nobody-or-nogroup', - $item, "$key=$value") + $self->pointed_hint('systemd-service-file-uses-nobody-or-nogroup', + $pointer, "$key=$value") if any { $_ eq $value } $self->extract_service_file_values($item, 'Service',$key); } @@ -391,9 +446,9 @@ for my $key (qw(StandardError StandardOutput)) { for my $value (qw(syslog syslog-console)) { - $self->hint( + $self->pointed_hint( 'systemd-service-file-uses-deprecated-syslog-facility', - $item, "$key=$value") + $pointer, "$key=$value") if any { $_ eq $value } $self->extract_service_file_values($item, 'Service',$key); } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check/Template/DhMake/Control/Vcs.pm lintian-2.114.0ubuntu1/lib/Lintian/Check/Template/DhMake/Control/Vcs.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check/Template/DhMake/Control/Vcs.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check/Template/DhMake/Control/Vcs.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,80 @@ +# template/dh-make/control/vcs -- lintian check script -*- perl -*- +# +# Copyright © 2004 Marc Brockschmidt +# Copyright © 2020 Chris Lamb +# Copyright © 2020-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Check::Template::DhMake::Control::Vcs; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Pointer::Item; + +use Moo; +use namespace::clean; + +with 'Lintian::Check'; + +sub visit_patched_files { + my ($self, $item) = @_; + + return + unless $item->name eq 'debian/control'; + + my @lines = split(/\n/, $item->decoded_utf8); + + my $line; + my $position = 1; + while (defined($line = shift @lines)) { + + $line =~ s{\s*$}{}; + + if ( + $line =~ m{\A \# \s* Vcs-(?:Git|Browser): \s* + (?:git|http)://git\.debian\.org/ + (?:\?p=)?collab-maint/\.git}smx + ) { + + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($item); + $pointer->position($position); + + $self->pointed_hint('control-file-contains-dh-make-vcs-comment', + $pointer, $line); + + # once per source + last; + } + + } continue { + ++$position; + } + + return; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Check.pm lintian-2.114.0ubuntu1/lib/Lintian/Check.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Check.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Check.pm 2022-01-11 17:11:33.000000000 +0100 @@ -162,20 +162,6 @@ # try global name space $tag ||= $self->profile->get_tag($tagname); - return $tag; -} - -=item hint - -Tag the processable associated with this check - -=cut - -sub hint { - my ($self, $tagname, @context) = @_; - - my $tag = $self->find_tag($tagname); - unless (defined $tag) { warn encode_utf8( @@ -193,6 +179,35 @@ return undef; } + return $tag; +} + +=item pointed_hint + +=cut + +sub pointed_hint { + my ($self, $tagname, $pointer, @context) = @_; + + my $tag = $self->find_tag($tagname); + return undef + unless defined $tag; + + # pull name from tag; could be name-spaced + return $self->processable->pointed_hint($tag->name, $pointer, @context); +} + +=item hint + +=cut + +sub hint { + my ($self, $tagname, @context) = @_; + + my $tag = $self->find_tag($tagname); + return undef + unless defined $tag; + # pull name from tag; could be name-spaced return $self->processable->hint($tag->name, @context); } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Architectures.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Architectures.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Architectures.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Architectures.pm 2022-01-11 17:11:33.000000000 +0100 @@ -64,6 +64,8 @@ =over 4 +=item title + =item location =item preamble @@ -76,6 +78,11 @@ =cut +has title => ( + is => 'rw', + default => 'DEB_HOST_* Variables from Dpkg' +); + has location => ( is => 'rw', default => 'architectures/host.json' @@ -381,7 +388,7 @@ =cut sub refresh { - my ($self, $basedir) = @_; + my ($self, $archive, $basedir) = @_; local $ENV{LC_ALL} = 'C'; delete local $ENV{DEB_HOST_ARCH}; @@ -413,7 +420,7 @@ } my %preamble; - $preamble{title} = 'DEB_HOST_* Variables From Dpkg'; + $preamble{title} = $self->title; $preamble{'dpkg-version'} = $dpkg_version; $preamble{'last-update'} = gmtime->datetime . 'Z'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Buildflags/Hardening.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Buildflags/Hardening.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Buildflags/Hardening.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Buildflags/Hardening.pm 2022-01-11 17:11:33.000000000 +0100 @@ -57,6 +57,8 @@ =over 4 +=item title + =item location =item preamble @@ -65,6 +67,11 @@ =cut +has title => ( + is => 'rw', + default => 'Hardening Flags from Dpkg' +); + has location => ( is => 'rw', default => 'buildflags/hardening.json' @@ -100,7 +107,7 @@ =cut sub refresh { - my ($self, $basedir) = @_; + my ($self, $archive, $basedir) = @_; # find all recommended hardening features local $ENV{LC_ALL} = 'C'; @@ -134,7 +141,7 @@ } my %preamble; - $preamble{title} = 'Hardening Flags From Dpkg'; + $preamble{title} = $self->title; $preamble{'dpkg-version'} = $dpkg_version; $preamble{'last-update'} = gmtime->datetime . 'Z'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Addons.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Addons.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Addons.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Addons.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,243 @@ +# -*- perl -*- +# +# Copyright © 2008 by Raphael Geissert +# Copyright © 2017-2018 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Data::Debhelper::Addons; + +use v5.20; +use warnings; +use utf8; + +use Carp qw(croak); +use Const::Fast; +use List::SomeUtils qw(first_value any uniq); +use JSON::MaybeXS; +use Path::Tiny; +use PerlIO::gzip; +use Time::Piece; +use Unicode::UTF8 qw(encode_utf8); + +use Moo; +use namespace::clean; + +const my $EMPTY => q{}; +const my $SPACE => q{ }; +const my $SLASH => q{/}; + +const my $WAIT_STATUS_SHIFT => 8; + +=head1 NAME + +Lintian::Data::Debhelper::Addons - Lintian interface for debhelper addons. + +=head1 SYNOPSIS + + use Lintian::Data::Debhelper::Addons; + +=head1 DESCRIPTION + +This module provides a way to load data files for debhelper. + +=head1 INSTANCE METHODS + +=over 4 + +=item title + +=item location + +=item preamble + +=item installable_names_by_add_on + +=cut + +has title => ( + is => 'rw', + default => 'Debhelper Add-ons' +); + +has location => ( + is => 'rw', + default => 'debhelper/add_ons.json' +); + +has preamble => (is => 'rw'); +has installable_names_by_add_on => (is => 'rw', default => sub { {} }); + +=item all + +=cut + +sub all { + my ($self) = @_; + + return keys %{$self->installable_names_by_add_on}; +} + +=item installed_by + +=cut + +sub installed_by { + my ($self, $name) = @_; + + return () + unless exists $self->installable_names_by_add_on->{$name}; + + my @installed_by = @{$self->installable_names_by_add_on->{$name} // []}; + + push(@installed_by, 'debhelper-compat') + if any { $_ eq 'debhelper' } @installed_by; + + return @installed_by; +} + +=item load + +=cut + +sub load { + my ($self, $search_space, $our_vendor) = @_; + + my @candidates = map { $_ . $SLASH . $self->location } @{$search_space}; + my $path = first_value { -e } @candidates; + + croak encode_utf8('Unknown data file: ' . $self->location) + unless length $path; + + my $json = path($path)->slurp; + my $data = decode_json($json); + + $self->preamble($data->{preamble}); + + my %add_ons = %{$data->{add_ons} // {}}; + my %installable_names_by_add_on; + + for my $name (keys %add_ons) { + + my @installable_names; + push(@installable_names, @{$add_ons{$name}{installed_by}}); + + $installable_names_by_add_on{$name} = \@installable_names; + } + + $self->installable_names_by_add_on(\%installable_names_by_add_on); + + return; +} + +=item refresh + +=cut + +sub refresh { + my ($self, $archive, $basedir) = @_; + + # neutral sort order + local $ENV{LC_ALL} = 'C'; + + my $port = 'amd64'; + + my %add_ons; + + for my $installable_architecture ('all', $port) { + + my $local_path + = $archive->contents_gz('sid', 'main', $installable_architecture); + + open(my $fd, '<:gzip', $local_path) + or die encode_utf8("Cannot open $local_path."); + + while (my $line = <$fd>) { + + chomp $line; + + my ($path, $finder) = split($SPACE, $line, 2); + next + unless length $path + && length $finder; + + if ($path + =~ m{^ usr/share/perl5/Debian/Debhelper/Sequence/ (\S+) [.]pm $}x + ) { + + my $name = $1; + + my @locations = split(m{,}, $finder); + for my $location (@locations) { + + my ($section, $installable)= split(m{/}, $location, 2); + + $add_ons{$name}{installed_by} //= []; + push(@{$add_ons{$name}{installed_by}}, $installable); + } + + next; + } + } + + close $fd; + } + + my %preamble; + $preamble{title} = $self->title; + $preamble{last_update} = gmtime->datetime . 'Z'; + + my %all; + $all{preamble} = \%preamble; + $all{add_ons} = \%add_ons; + + # convert to UTF-8 prior to encoding in JSON + my $encoder = JSON->new; + $encoder->canonical; + $encoder->utf8; + $encoder->pretty; + + my $json = $encoder->encode(\%all); + + my $datapath = "$basedir/" . $self->location; + my $parentdir = path($datapath)->parent->stringify; + path($parentdir)->mkpath + unless -e $parentdir; + + # already in UTF-8 + path($datapath)->spew($json); + + return 1; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Commands.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Commands.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Commands.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Commands.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,336 @@ +# -*- perl -*- +# +# Copyright © 2008 by Raphael Geissert +# Copyright © 2017-2018 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Data::Debhelper::Commands; + +use v5.20; +use warnings; +use utf8; + +use Carp qw(croak); +use Const::Fast; +use File::Basename; +use IPC::Run3; +use List::SomeUtils qw(first_value any uniq); +use JSON::MaybeXS; +use Path::Tiny; +use PerlIO::gzip; +use Time::Piece; +use Unicode::UTF8 qw(encode_utf8); + +use Lintian::Deb822::File; + +use Moo; +use namespace::clean; + +const my $EMPTY => q{}; +const my $SPACE => q{ }; +const my $SLASH => q{/}; + +const my $WAIT_STATUS_SHIFT => 8; + +=head1 NAME + +Lintian::Data::Debhelper::Commands - Lintian interface for debhelper commands. + +=head1 SYNOPSIS + + use Lintian::Data::Debhelper::Commands; + +=head1 DESCRIPTION + +This module provides a way to load data files for debhelper. + +=head1 INSTANCE METHODS + +=over 4 + +=item title + +=item location + +=item preamble + +=item installable_names_by_command + +=item maint_commands + +=item misc_depends_commands + +=cut + +has title => ( + is => 'rw', + default => 'Debhelper Commands' +); + +has location => ( + is => 'rw', + default => 'debhelper/commands.json' +); + +has preamble => (is => 'rw'); +has installable_names_by_command => (is => 'rw', default => sub { {} }); +has maint_commands => (is => 'rw', default => sub { [] }); +has misc_depends_commands => (is => 'rw', default => sub { [] }); + +=item all + +=cut + +sub all { + my ($self) = @_; + + return keys %{$self->installable_names_by_command}; +} + +=item installed_by + +=cut + +sub installed_by { + my ($self, $name) = @_; + + return () + unless exists $self->installable_names_by_command->{$name}; + + my @installed_by = @{$self->installable_names_by_command->{$name} // []}; + + push(@installed_by, 'debhelper-compat') + if any { $_ eq 'debhelper' } @installed_by; + + return @installed_by; +} + +=item load + +=cut + +sub load { + my ($self, $search_space, $our_vendor) = @_; + + my @candidates = map { $_ . $SLASH . $self->location } @{$search_space}; + my $path = first_value { -e } @candidates; + + croak encode_utf8('Unknown data file: ' . $self->location) + unless length $path; + + my $json = path($path)->slurp; + my $data = decode_json($json); + + $self->preamble($data->{preamble}); + + my %commands = %{$data->{commands} // {}}; + + my %installable_names_by_command; + my @maint_commands; + my @misc_depends_commands; + + for my $name (keys %commands) { + + my @installable_names; + push(@installable_names, @{$commands{$name}{installed_by}}); + + $installable_names_by_command{$name} = \@installable_names; + + push(@maint_commands, $name) + if $commands{$name}{uses_autoscript}; + + push(@misc_depends_commands, $name) + if $commands{$name}{uses_misc_depends} + && $name ne 'dh_gencontrol'; + } + + $self->installable_names_by_command(\%installable_names_by_command); + $self->maint_commands(\@maint_commands); + $self->misc_depends_commands(\@misc_depends_commands); + + return; +} + +=item refresh + +=cut + +sub refresh { + my ($self, $archive, $basedir) = @_; + + # neutral sort order + local $ENV{LC_ALL} = 'C'; + + my $port = 'amd64'; + + my %commands; + + for my $installable_architecture ('all', $port) { + + my $local_path + = $archive->contents_gz('sid', 'main', $installable_architecture); + + open(my $fd, '<:gzip', $local_path) + or die encode_utf8("Cannot open $local_path."); + + while (my $line = <$fd>) { + + chomp $line; + + my ($path, $finder) = split($SPACE, $line, 2); + next + unless length $path + && length $finder; + + if ($path =~ m{^ usr/bin/ (dh_ \S+) $}x) { + + my $name = $1; + + my @locations = split(m{,}, $finder); + for my $location (@locations) { + + my ($section, $installable)= split(m{/}, $location, 2); + + $commands{$name}{installed_by} //= []; + push(@{$commands{$name}{installed_by}}, $installable); + } + + next; + } + } + + close $fd; + } + + my $deb822_by_installable_name + = $archive->deb822_packages_by_installable_name('sid', 'main', $port); + + my $work_folder + = Path::Tiny->tempdir( + TEMPLATE => 'refresh-debhelper-add-ons-XXXXXXXXXX'); + + my @uses_autoscript; + my @uses_misc_depends; + + my @installable_names= uniq map { @{$_->{installed_by}} }values %commands; + + for my $installable_name (sort @installable_names) { + + next + unless exists $deb822_by_installable_name->{$installable_name}; + + my $deb822 = $deb822_by_installable_name->{$installable_name}; + + my $pool_path = $deb822->value('Filename'); + + my $deb_filename = basename($pool_path); + my $deb_local_path = "$work_folder/$deb_filename"; + my $deb_url = $archive->mirror_base . $SLASH . $pool_path; + + my $stderr; + run3( + [qw{wget --quiet}, "--output-document=$deb_local_path", $deb_url], + undef, \$stderr + ); + my $status = ($? >> $WAIT_STATUS_SHIFT); + + # stderr already in UTF-8 + die $stderr + if $status; + + my $extract_folder = "$work_folder/pool/$pool_path"; + path($extract_folder)->mkpath; + + run3([qw{dpkg-deb --extract}, $deb_local_path, $extract_folder], + undef, \$stderr); + $status = ($? >> $WAIT_STATUS_SHIFT); + + # stderr already in UTF-8 + die $stderr + if $status; + + unlink($deb_local_path) + or die encode_utf8("Cannot delete $deb_local_path"); + + my $autoscript_rule = File::Find::Rule->file; + $autoscript_rule->name(qr{^dh_}); + $autoscript_rule->grep(qr{autoscript}); + my @autoscript_matches + = $autoscript_rule->in("$extract_folder/usr/bin"); + + push(@uses_autoscript, map { basename($_) } @autoscript_matches); + + my $misc_depends_rule = File::Find::Rule->file; + $misc_depends_rule->name(qr{^dh_}); + $misc_depends_rule->grep(qr{misc:Depends}); + my @misc_depends_matches + = $misc_depends_rule->in("$extract_folder/usr/bin"); + + push(@uses_misc_depends, map { basename($_) } @misc_depends_matches); + + path("$work_folder/pool")->remove_tree; + } + + $commands{$_}{uses_autoscript} = 1 for @uses_autoscript; + + $commands{$_}{uses_misc_depends} = 1 for @uses_misc_depends; + + my %preamble; + $preamble{title} = $self->title; + $preamble{last_update} = gmtime->datetime . 'Z'; + + my %all; + $all{preamble} = \%preamble; + $all{commands} = \%commands; + + # convert to UTF-8 prior to encoding in JSON + my $encoder = JSON->new; + $encoder->canonical; + $encoder->utf8; + $encoder->pretty; + + my $json = $encoder->encode(\%all); + + my $datapath = "$basedir/" . $self->location; + my $parentdir = path($datapath)->parent->stringify; + path($parentdir)->mkpath + unless -e $parentdir; + + # already in UTF-8 + path($datapath)->spew($json); + + return 1; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Levels.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Levels.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Debhelper/Levels.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Debhelper/Levels.pm 2022-01-11 17:11:33.000000000 +0100 @@ -45,6 +45,8 @@ =over 4 +=item title + =item location =item separator @@ -53,6 +55,11 @@ =cut +has title => ( + is => 'rw', + default => 'Debhelper Levels' +); + has location => ( is => 'rw', default => 'debhelper/compat-level' diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Fonts.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Fonts.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Fonts.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Fonts.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,249 @@ +# -*- perl -*- +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Data::Fonts; + +use v5.20; +use warnings; +use utf8; + +use Carp qw(croak); +use Const::Fast; +use File::Basename; +use JSON::MaybeXS; +use List::SomeUtils qw(first_value uniq); +use Path::Tiny; +use PerlIO::gzip; +use Time::Piece; +use Unicode::UTF8 qw(encode_utf8); + +use Moo; +use namespace::clean; + +with 'Lintian::Data'; + +const my $EMPTY => q{}; +const my $SPACE => q{ }; +const my $SLASH => q{/}; + +const my $NEWLINE => qq{\n}; + +=head1 NAME + +Lintian::Data::Fonts - Lintian interface for fonts. + +=head1 SYNOPSIS + + use Lintian::Data::Fonts; + +=head1 DESCRIPTION + +This module provides a way to load data files for fonts. + +=head1 INSTANCE METHODS + +=over 4 + +=item title + +=item location + +=item preamble + +=item installable_names_by_font + +=cut + +has title => ( + is => 'rw', + default => 'Fonts Available for Installation' +); + +has location => ( + is => 'rw', + default => 'fonts.json' +); + +has preamble => (is => 'rw'); +has installable_names_by_font => (is => 'rw', default => sub { {} }); + +=item all + +=cut + +sub all { + my ($self) = @_; + + return keys %{$self->installable_names_by_font}; +} + +=item installed_by + +=cut + +sub installed_by { + my ($self, $name) = @_; + + my $lowercase = lc $name; + + return () + unless exists $self->installable_names_by_font->{$lowercase}; + + my @installed_by = @{$self->installable_names_by_font->{$lowercase} // []}; + + return @installed_by; +} + +=item load + +=cut + +sub load { + my ($self, $search_space, $our_vendor) = @_; + + my @candidates = map { $_ . $SLASH . $self->location } @{$search_space}; + my $path = first_value { -e } @candidates; + + croak encode_utf8('Unknown data file: ' . $self->location) + unless length $path; + + my $json = path($path)->slurp; + my $data = decode_json($json); + + $self->preamble($data->{preamble}); + + my %fonts = %{$data->{fonts} // {}}; + my %installable_names_by_font; + + for my $name (keys %fonts) { + + my @installable_names; + push(@installable_names, @{$fonts{$name}{installed_by}}); + + $installable_names_by_font{$name} = \@installable_names; + } + + $self->installable_names_by_font(\%installable_names_by_font); + + return; +} + +=item refresh + +=cut + +sub refresh { + my ($self, $archive, $basedir) = @_; + + # neutral sort order + local $ENV{LC_ALL} = 'C'; + + my $port = 'amd64'; + + my %fonts; + + for my $installable_architecture ('all', $port) { + + my $local_path + = $archive->contents_gz('sid', 'main', $installable_architecture); + + open(my $fd, '<:gzip', $local_path) + or die encode_utf8("Cannot open $local_path."); + + while (my $line = <$fd>) { + + chomp $line; + + my ($path, $finder) = split($SPACE, $line, 2); + next + unless length $path + && length $finder; + + if ($path =~ m{ [.] (?:[to]tf|pfb) $}ix) { + + my @locations = split(m{,}, $finder); + for my $location (@locations) { + + my ($section, $installable_name) + = split(m{/}, $location, 2); + + # Record only packages starting with ttf-, otf-, t1-, xfonts- or fonts- + next + unless $installable_name + =~ m{^ (?: [to]tf | t1 | x?fonts ) - }x; + + my $basename = basename($path); + my $lowercase = lc $basename; + + $fonts{$lowercase}{installed_by} //= []; + push(@{$fonts{$lowercase}{installed_by}}, + $installable_name); + } + + next; + } + } + + close $fd; + } + + my %preamble; + $preamble{title} = $self->title; + $preamble{last_update} = gmtime->datetime . 'Z'; + + my %all; + $all{preamble} = \%preamble; + $all{fonts} = \%fonts; + + # convert to UTF-8 prior to encoding in JSON + my $encoder = JSON->new; + $encoder->canonical; + $encoder->utf8; + $encoder->pretty; + + my $json = $encoder->encode(\%all); + + my $datapath = "$basedir/" . $self->location; + my $parentdir = path($datapath)->parent->stringify; + path($parentdir)->mkpath + unless -e $parentdir; + + # already in UTF-8 + path($datapath)->spew($json); + + return; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Manual/References.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Manual/References.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Manual/References.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Manual/References.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,6 +30,11 @@ with 'Lintian::Data'; +const my $EMPTY => q{}; +const my $SPACE => q{ }; +const my $LEFT_PARENTHESIS => q{(}; +const my $RIGHT_PARENTHESIS => q{)}; + const my $THREE_PARTS => 3; =head1 NAME @@ -49,6 +54,8 @@ =over 4 +=item title + =item location =item separator @@ -57,6 +64,11 @@ =cut +has title => ( + is => 'rw', + default => 'Manual References' +); + has location => ( is => 'rw', default => 'output/manual-references' @@ -89,6 +101,104 @@ }; }); +=item markdown_citation + +=cut + +sub markdown_citation { + my ($self, $citation) = @_; + + my $markdown; + + if ($citation =~ /^([\w-]+)\s+(.+)$/) { + $markdown = $self->markdown_from_manuals($1, $2); + + } elsif ($citation =~ /^([\w.-]+)\((\d\w*)\)$/) { + my ($name, $section) = ($1, $2); + my $url + ="https://manpages.debian.org/cgi-bin/man.cgi?query=$name&sektion=$section"; + my $hyperlink = markdown_hyperlink($citation, $url); + $markdown = "the $hyperlink manual page"; + + } elsif ($citation =~ m{^(ftp|https?)://}) { + $markdown = markdown_hyperlink(undef, $citation); + + } elsif ($citation =~ m{^/}) { + $markdown = markdown_hyperlink($citation, "file://$citation"); + + } elsif ($citation =~ m{^(?:Bug)?#(\d+)$}) { + my $bugnumber = $1; + $markdown + = markdown_hyperlink($citation,"https://bugs.debian.org/$bugnumber"); + } + + return $markdown // $citation; +} + +=item markdown_from_manuals + +=cut + +sub markdown_from_manuals { + my ($self, $volume, $section) = @_; + + return $EMPTY + unless $self->recognizes($volume); + + my $entry = $self->value($volume); + + # start with the citation to the overall manual. + my $title = $entry->{$EMPTY}{title}; + my $url = $entry->{$EMPTY}{url}; + + my $markdown = markdown_hyperlink($title, $url); + + return $markdown + unless length $section; + + # Add the section information, if present, and a direct link to that + # section of the manual where possible. + if ($section =~ /^[A-Z]+$/) { + $markdown .= " appendix $section"; + + } elsif ($section =~ /^\d+$/) { + $markdown .= " chapter $section"; + + } elsif ($section =~ /^[A-Z\d.]+$/) { + $markdown .= " section $section"; + } + + return $markdown + unless exists $entry->{$section}; + + my $section_title = $entry->{$section}{title}; + my $section_url = $entry->{$section}{url}; + + $markdown + .= $SPACE + . $LEFT_PARENTHESIS + . markdown_hyperlink($section_title, $section_url) + . $RIGHT_PARENTHESIS; + + return $markdown; +} + +=item markdown_hyperlink + +=cut + +sub markdown_hyperlink { + my ($text, $url) = @_; + + return $text + unless length $url; + + return "<$url>" + unless length $text; + + return "[$text]($url)"; +} + =back =head1 AUTHOR diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data/Policy/Releases.pm lintian-2.114.0ubuntu1/lib/Lintian/Data/Policy/Releases.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data/Policy/Releases.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data/Policy/Releases.pm 2022-01-11 17:11:33.000000000 +0100 @@ -33,6 +33,7 @@ use List::SomeUtils qw(minmax); use List::UtilsBy qw(rev_nsort_by); use Path::Tiny; +use Time::Moment; use Time::Piece; use Unicode::UTF8 qw(decode_utf8 encode_utf8); @@ -59,6 +60,8 @@ =over 4 +=item title + =item location =item preamble @@ -71,6 +74,11 @@ =cut +has title => ( + is => 'rw', + default => 'Debian Policy Releases' +); + has location => ( is => 'rw', default => 'debian-policy/releases.json' @@ -192,7 +200,7 @@ =cut sub refresh { - my ($self, $basedir) = @_; + my ($self, $archive, $basedir) = @_; my $changelog_url = 'https://salsa.debian.org/dbnpolicy/policy/-/raw/master/debian/changelog?inline=false'; @@ -244,7 +252,7 @@ my @sorted = rev_nsort_by { $_->{epoch} } @releases; my %preamble; - $preamble{title} = 'Debian Policy Releases'; + $preamble{title} = $self->title; $preamble{'last-update'} = gmtime->datetime . 'Z'; my %all; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Data.pm lintian-2.114.0ubuntu1/lib/Lintian/Data.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Data.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Data.pm 2022-01-11 17:11:33.000000000 +0100 @@ -149,6 +149,28 @@ return 0; } +=item resembles (KEY) + +Returns true if the data file contains a key that is a case-insensitive match +to KEY, and false otherwise. + +=cut + +sub resembles { + my ($self, $key) = @_; + + return 0 + unless length $key; + + return 1 + if $self->recognizes($key); + + return 1 + if any { m{^\Q$key\E$}i } keys %{$self->dataset}; + + return 0; +} + =item value (KEY) Returns the value attached to KEY if it was listed in the data diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Deb822/File.pm lintian-2.114.0ubuntu1/lib/Lintian/Deb822/File.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Deb822/File.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Deb822/File.pm 2022-01-11 17:11:33.000000000 +0100 @@ -24,6 +24,7 @@ use Const::Fast; use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use Lintian::Deb822::Parser qw(parse_dpkg_control_string); @@ -120,15 +121,13 @@ my (@paragraphs, @positions); - eval { + try { @paragraphs= parse_dpkg_control_string($contents, $flags,\@positions); - }; - if (length $@) { - chomp $@; - $@ =~ s/^syntax error at //; - die encode_utf8("syntax error in $@\n") - if length $@; + } catch { + # ignore syntax errors here + die map { encode_utf8($_) } $@ + unless $@ =~ /syntax error/; } my $index = 0; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Deb822/Parser.pm lintian-2.114.0ubuntu1/lib/Lintian/Deb822/Parser.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Deb822/Parser.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Deb822/Parser.pm 2022-01-11 17:11:33.000000000 +0100 @@ -56,19 +56,14 @@ =head1 SYNOPSIS use Lintian::Deb822::Parser qw(read_dpkg_control); - - my (@paragraphs); - eval { @paragraphs = read_dpkg_control('some/debian/ctrl/file'); }; - if ($@) { - # syntax error etc. - die encode_utf8("ctrl/file: $@"); - } - - foreach my $para (@paragraphs) { - my $value = $para->{'some-field'}; - if (defined $value) { - # ... - } + + my @paragraphs; + try { + @paragraphs = read_dpkg_control('some/debian/ctrl/file'); + + } catch { + # syntax error etc. + die encode_utf8("ctrl/file: $@"); } =head1 DESCRIPTION diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Debian/Control.pm lintian-2.114.0ubuntu1/lib/Lintian/Debian/Control.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Debian/Control.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Debian/Control.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,6 +25,7 @@ use utf8; use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); use Lintian::Deb822::File; @@ -95,9 +96,10 @@ my $deb822 = Lintian::Deb822::File->new; my @sections; - eval {@sections = $deb822->parse_string($contents);}; + try { + @sections = $deb822->parse_string($contents); - if (length $@) { + } catch { # If it is a syntax error, ignore it (we emit # syntax-error-in-control-file in this case via # control-file). diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Group.pm lintian-2.114.0ubuntu1/lib/Lintian/Group.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Group.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Group.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,6 +31,7 @@ use List::Compare; use List::SomeUtils qw(any none uniq firstval); use POSIX qw(ENOENT); +use Syntax::Keyword::Try; use Time::HiRes qw(gettimeofday tv_interval); use Time::Piece; use Unicode::UTF8 qw(encode_utf8); @@ -200,9 +201,13 @@ say {*STDERR} encode_utf8('Loading overrides file (if any) ...') if $option->{debug}; - eval {$declared_overrides = $processable->overrides;}; - if (my $err = $@) { - die encode_utf8($err) if not ref $err or $err->errno != ENOENT; + try { + $declared_overrides = $processable->overrides; + + } catch { + my $err = $@; + die encode_utf8($err) + if !ref $err || $err->errno != ENOENT; } my %alias = %{$self->profile->known_aliases}; @@ -295,12 +300,11 @@ $check->group($self); $check->profile($self->profile); - eval { $check->run }; - my $err = $@; - my $raw_res = tv_interval($timer); + try { + $check->run - if ($err) { - my $message = $err; + } catch { + my $message = $@; $message .= "warning: cannot run $name check on package $procid\n"; $message .= "skipping check of $procid\n"; @@ -311,7 +315,9 @@ next; } + my $raw_res = tv_interval($timer); my $tres = sprintf('%.3fs', $raw_res); + say {*STDERR} encode_utf8("Check $name for $procid done ($tres)") if $option->{debug}; say {*STDERR} encode_utf8("$procid,check/$name,$raw_res") diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Hint/Bearer.pm lintian-2.114.0ubuntu1/lib/Lintian/Hint/Bearer.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Hint/Bearer.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Hint/Bearer.pm 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright © 2019 Felix Lechner +# Copyright © 2019-2021 Felix Lechner # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -31,6 +31,8 @@ use namespace::clean; const my $SPACE => q{ }; +const my $LEFT_SQUARE_BRACKET => q{[}; +const my $RIGHT_SQUARE_BRACKET => q{]}; =head1 NAME @@ -59,6 +61,21 @@ has profile => (is => 'rw'); has context_tracker => (is => 'rw', default => sub { {} }); +=item pointed_hint (ARGS) + +Store found tags for later processing. + +=cut + +sub pointed_hint { + my ($self, $tagname, $pointer, @context) = @_; + + $self->hint($tagname, @context, + $LEFT_SQUARE_BRACKET . $pointer->to_string . $RIGHT_SQUARE_BRACKET); + + return; +} + =item hint (ARGS) Store found tags for later processing. @@ -68,9 +85,6 @@ sub hint { my ($self, $tagname, @context_components) = @_; - # trim both ends of each item - s/^\s+|\s+$//g for @context_components; - my $tag = $self->profile->get_tag($tagname); unless (defined $tag) { @@ -82,7 +96,12 @@ return unless $self->profile->tag_is_enabled($tagname); - my $context_string = join($SPACE, @context_components); + my @meaningful = grep { length } @context_components; + + # trim both ends of each item + s/^\s+|\s+$//g for @meaningful; + + my $context_string = join($SPACE, @meaningful); if (exists $self->context_tracker->{$tagname}{$context_string}) { my $checkname = $tag->check; @@ -97,7 +116,7 @@ my $hint = Lintian::Hint::Standard->new; $hint->tag($tag); - $hint->arguments(\@context_components); + $hint->arguments(\@meaningful); push(@{$self->hints}, $hint); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Hint.pm lintian-2.114.0ubuntu1/lib/Lintian/Hint.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Hint.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Hint.pm 2022-01-11 17:11:33.000000000 +0100 @@ -53,7 +53,6 @@ =item tag =item override =item screen -=item processable =item context @@ -65,7 +64,6 @@ has tag => (is => 'rw'); has override => (is => 'rw'); has screen => (is => 'rw'); -has processable => (is => 'rw'); sub context { my ($self) = @_; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Ar.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Ar.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Ar.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Ar.pm 2022-01-11 17:11:33.000000000 +0100 @@ -59,7 +59,8 @@ my $savedir = getcwd; chdir($self->basedir) - or die encode_utf8('Cannot change to directory ' . $self->basedir); + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); my $errors = $EMPTY; @@ -99,7 +100,8 @@ } chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); return $errors; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Elf.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Elf.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Elf.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Elf.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,704 @@ +# -*- perl -*- Lintian::Index::Elf +# +# Copyright © 1998 Christian Schwarz +# Copyright © 2008 Adam D. Barratt +# Copyright © 2017-2018 Chris Lamb +# Copyright © 2020 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Index::Elf; + +use v5.20; +use warnings; +use utf8; + +use bignum qw(hex); + +use Const::Fast; +use Cwd; +use IPC::Run3; +use Unicode::UTF8 qw(encode_utf8 valid_utf8 decode_utf8); + +use Lintian::Inspect::Elf::Section; +use Lintian::Inspect::Elf::Symbol; + +use Moo::Role; +use namespace::clean; + +const my $EMPTY => q{}; +const my $SPACE => q{ }; +const my $HYPHEN => q{-}; +const my $NEWLINE => qq{\n}; + +const my $LINES_PER_FILE => 3; + +=head1 NAME + +Lintian::Index::Elf - binary symbol information. + +=head1 SYNOPSIS + + use Lintian::Index; + +=head1 DESCRIPTION + +Lintian::Index::Elf binary symbol information. + +=head1 INSTANCE METHODS + +=over 4 + +=item add_elf + +=cut + +sub add_elf { + my ($self) = @_; + + my $savedir = getcwd; + chdir($self->basedir) + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); + + my $errors = $EMPTY; + + my @files = grep { $_->is_file } @{$self->sorted_list}; + + # must be ELF or static library + my @with_objects = grep { + $_->file_info =~ /\bELF\b/ + || ( $_->file_info =~ /\bcurrent ar archive\b/ + && $_->name =~ /\.a$/) + } @files; + + for my $file (@with_objects) { + + local $SIG{__WARN__}= sub { + warn encode_utf8($self->identifier + . ': Warning while running readelf on' + . $file->name + . ": $_[0]"); + }; + + my @command = (qw{readelf --all --wide}, $file->name); + my $combined_bytes; + + run3(\@command, \undef, \$combined_bytes, \$combined_bytes); + + next + unless length $combined_bytes; + + my $combined_output; + + if (valid_utf8($combined_bytes)) { + $combined_output = decode_utf8($combined_bytes); + + } else { + $combined_output = $combined_bytes; + $errors .= "Output from '@command' is not valid UTF-8" . $NEWLINE; + } + + # each object file in an archive gets its own File section + my @per_files = split(/^(File): (.*)$/m, $combined_output); + shift @per_files while @per_files && $per_files[0] ne 'File'; + + @per_files = ($combined_output) + unless @per_files; + + # Special case - readelf will not prefix the output with "File: + # $name" if it only gets one ELF file argument, so act as if it did... + # (but it does "the right thing" if passed a static lib >.>) + # + # - In fact, if readelf always emitted that File: header, we could + # simply use xargs directly on readelf and just parse its output + # in the loop below. + if (@per_files == 1) { + unshift(@per_files, $file->name); + unshift(@per_files, 'File'); + } + + unless (@per_files % $LINES_PER_FILE == 0) { + + $errors + .= "Parsed data from readelf is not a multiple of $LINES_PER_FILE for $file" + . $NEWLINE; + next; + } + + while (defined(my $fixed = shift @per_files)) { + + my $recorded_name = shift @per_files; + my $per_file = shift @per_files; + + unless ($fixed eq 'File') { + $errors .= "Unknown output from readelf for $file" . $NEWLINE; + next; + } + + unless (length $recorded_name) { + $errors .= "No file name from readelf for $file" . $NEWLINE; + next; + } + + my ($container, $member) = ($recorded_name =~ /^(.*)\(([^)]+)\)$/); + + $container = $recorded_name + unless defined $container && defined $member; + + unless ($container eq $file->name) { + $errors + .= "Container not same as file name ($container vs $file)" + . $NEWLINE; + next; + } + + # ignore empty archives, such as in musl-dev_1.2.1-1_amd64.deb + next + unless length $per_file; + + my $object_name; + if ($recorded_name =~ m{^(?:.+)\(([^/\)]+)\)$}){ + + # object file in a static lib. + $object_name = $1; + } + + parse_per_file($file, $object_name, $per_file); + } + } + + chdir($savedir) + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); + + return $errors; +} + +=item parse_per_file + +=cut + +sub parse_per_file { + my ($file, $object_name, $from_readelf) = @_; + + my %by_object; + + if (length $object_name) { + + # object file in a static lib. + $file->elf_by_member->{$object_name} = \%by_object; + + } else { + $file->elf(\%by_object); + } + + $by_object{READELF} = $from_readelf; + + # sometimes there are three blank lines; seen on armhf + my @paragraphs = split(/\n{2,}/, $from_readelf); + + for my $paragraph (@paragraphs) { + + my ($first, $bulk) = split(m{\n}, $paragraph, 2); + + if ($first =~ /^ELF Header:/) { + elf_header($bulk, \%by_object); + next; + } + + if ($first =~ /^Program Headers:/) { + program_headers($bulk, \%by_object); + next; + } + + if ($first =~ /^Dynamic section at offset .*:/) { + dynamic_section($bulk, \%by_object); + next; + } + + if ($first =~ /^Section Headers:/) { + section_headers($bulk, \%by_object); + next; + } + + if ($first =~ /^Symbol table '.dynsym'/) { + symbol_table($bulk, \%by_object); + next; + } + + if ($first =~ /^Version symbols section /) { + version_symbols($bulk, \%by_object); + next; + } + + if ($first =~ /^There is no dynamic section in this file/) { + # a dynamic section was declared but it's empty. + $by_object{'BAD-DYNAMIC-TABLE'} = 1 + if exists $by_object{PH}{DYNAMIC}; + next; + } + } + + my %section_name_by_number; + for my $name (keys %{$by_object{SH} // {}}) { + + my $number = $by_object{SH}{$name}{number}; + $section_name_by_number{$number} = $name; + } + + for my $symbol_number (keys %{$by_object{'DYNAMIC-SYMBOLS'}}) { + + my $symbol_name + = $by_object{'DYNAMIC-SYMBOLS'}{$symbol_number}{symbol_name}; + my $section_number + = $by_object{'DYNAMIC-SYMBOLS'}{$symbol_number}{section_number}; + + my $symbol_version; + + if ($symbol_name =~ m{^ (.*) @ (.*) \s [(] .* [)] $}x) { + + $symbol_name = $1; + $symbol_version = $2; + + } else { + $symbol_version = $by_object{'SYMBOL-VERSIONS'}{$symbol_number} + // $EMPTY; + + if ( $symbol_version eq '*local*' + || $symbol_version eq '*global*'){ + + if ($section_number eq 'UND') { + $symbol_version = $EMPTY; + + } else { + $symbol_version = 'Base'; + } + + } elsif ($symbol_version eq '()') { + $symbol_version = '(Base)'; + } + } + + # happens once or twice for regular binaries + next + unless length $symbol_name; + + # look up numbered section + my $section_name = $section_name_by_number{$section_number} + // $section_number; + + my $symbol = Lintian::Inspect::Elf::Symbol->new; + $symbol->section($section_name); + $symbol->version($symbol_version); + $symbol->name($symbol_name); + + push(@{ $by_object{SYMBOLS} }, $symbol); + } + + return; +} + +=item elf_header + +=cut + +sub elf_header { + my ($text, $by_object) = @_; + + my @lines = split(m{\n}, $text); + + for my $line (@lines) { + + next + if divert_error('ELF header', $line, $by_object); + + my ($field, $value) = split(/:/, $line, 2); + + # trim both ends + $field =~ s/^\s+|\s+$//g; + $value =~ s/^\s+|\s+$//g; + + next + unless length $field && length $value; + + $by_object->{'ELF-HEADER'}{$field} = $value; + } + + return; +} + +=item program_headers + +=cut + +sub program_headers { + my ($text, $by_object) = @_; + + my @lines = split(m{\n}, $text); + + while (defined(my $line = shift @lines)) { + + next + if divert_error('program headers', $line, $by_object); + + if ($line =~ m{^ \s* (\S+) \s* (?:(?:\S+\s+){4}) \S+ \s (...) }x) { + + my $header = $1; + my $flags = $2; + + $header =~ s/^GNU_//g; + + next + if $header eq 'Type'; + + my $newflags = $EMPTY; + $newflags .= ($flags =~ /R/) ? 'r' : $HYPHEN; + $newflags .= ($flags =~ /W/) ? 'w' : $HYPHEN; + $newflags .= ($flags =~ /E/) ? 'x' : $HYPHEN; + + $by_object->{PH}{$header}{flags} = $newflags; + + if ($header eq 'INTERP' && @lines) { + # Check if the next line is the "requesting an interpreter" + # (readelf appears to always emit on the next line if at all) + my $next_line = $lines[0]; + + if ($next_line + =~ m{ [[] Requesting \s program \s interpreter: \s ([^\]]+) []] }x + ){ + + my $interpreter = $1; + + $by_object->{INTERP} = $interpreter; + + # discard line + shift @lines; + } + } + } + } + + return; +} + +=item dynamic_section + +=cut + +sub dynamic_section { + my ($text, $by_object) = @_; + + my @lines = split(m{\n}, $text); + + while (defined(my $line = shift @lines)) { + + next + if divert_error('dynamic section', $line, $by_object); + + if ($line + =~ m{^ \s* 0x (?:[0-9A-F]+) \s+ [(] (.*?) [)] \s+ ([\x21-\x7f][\x20-\x7f]*) \Z}ix + ) { + + my $type = $1; + my $remainder = $2; + + my $keep = 0; + + if ($type eq 'RPATH' || $type eq 'RUNPATH') { + $remainder =~ s{^ .* [[] }{}x; + $remainder =~ s{ []] \s* $}{}x; + $keep = 1; + + } elsif ($type eq 'TEXTREL' || $type eq 'DEBUG') { + $keep = 1; + + } elsif ($type eq 'FLAGS_1') { + # Will contain "NOW" if the binary was built with -Wl,-z,now + $remainder =~ s/^Flags:\s*//i; + $keep = 1; + + } elsif (($type eq 'FLAGS' && $remainder =~ m/\bBIND_NOW\b/) + || $type eq 'BIND_NOW') { + + # Variants of bindnow + $type = 'FLAGS_1'; + $remainder = 'NOW'; + $keep = 1; + } + + $keep = 1 + if $remainder + =~ s{^ (?: Shared \s library | Library \s soname ) : \s [[] (.*) []] }{$1}x; + + next + unless $keep; + + # Here we just need RPATH and NEEDS, so ignore the rest for now + if ($type eq 'RPATH' || $type eq 'RUNPATH') { + + # RPATH is like PATH + my @components = split(/:/, $remainder); + $by_object->{$type}{$_} = 1 for @components; + + } elsif ($type eq 'NEEDED' || $type eq 'SONAME') { + push(@{ $by_object->{$type} }, $remainder); + + } elsif ($type eq 'TEXTREL' || $type eq 'DEBUG') { + $by_object->{$type} = 1; + + } elsif ($type eq 'FLAGS_1') { + + my @flags = split(/\s+/, $remainder); + $by_object->{$type}{$_} = 1 for @flags; + } + } + } + + return; +} + +=item section_headers + +=cut + +sub section_headers { + my ($text, $by_object) = @_; + + const my $TOTAL_FIELDS => 11; + + my @lines = split(m{\n}, $text); + + die 'No column labels.' + unless @lines; + + my $first = shift @lines; + + my %labels_by_column; + + my $column = 1; + for my $label (split($SPACE, $first)) { + + $label =~ s{^ [[] }{}x; + $label =~ s{ []] $}{}x; + + $labels_by_column{$column} = $label; + + } continue { + ++$column; + } + + die 'Not enough column labels.' + if keys %labels_by_column != $TOTAL_FIELDS; + + my $row = 1; + while (defined(my $line = shift @lines)) { + + next + if divert_error('section headers', $line, $by_object); + + last + if $line =~ /^Key to Flags:/; + + my %section_header; + + my @matches = ( + $line =~ m{^ \s* + [[] \s* (\S+) []] \s # Nr + (\S+)? \s+ # Name + (\S+) \s+ # Type + ([0-9a-f]+) \s # Address/Addr + ([0-9a-f]+) \s # Off + ([0-9a-f]+) \s # Size + (\S+) \s+ # ES + (\S+)? \s+ # Flg + (\S+) \s+ # Lk + (\S+) \s+ # Inf + (\S+) # Al + $}x + ); + + if (@matches != $TOTAL_FIELDS) { + + warn "Parse error in readelf section headers [row $row]: $line"; + next; + } + + for my $column (keys %labels_by_column) { + + my $label = $labels_by_column{$column}; + my $value = $matches[$column -1] // $EMPTY; + + $section_header{$label} = $value; + } + + # http://sco.com/developers/gabi/latest/ch4.sheader.html + my $section = Lintian::Inspect::Elf::Section->new; + $section->number($section_header{Nr}); + $section->name($section_header{Name}); + $section->type($section_header{Type}); + + # readelf uses both + $section->address( + hex($section_header{Address} // $section_header{Addr})); + $section->offset(hex($section_header{Off})); + $section->size(hex($section_header{Size})); + $section->entry_size(hex($section_header{ES})); + $section->flags($section_header{Flg}); + $section->index_link(hex($section_header{Lk})); + $section->index_info(hex($section_header{Inf})); + $section->alignment(hex($section_header{Al})); + + die 'No section number.' + unless length $section->number; + + $by_object->{'SECTION-HEADERS'}{$section->number} = $section; + + } continue { + ++$row; + } + + return; +} + +=item symbol_table + +=cut + +sub symbol_table { + my ($text, $by_object) = @_; + + # We (sometimes) need to read the "Version symbols section" first to + # use this data and readelf tends to print after this section, so + # save for later. + + my @lines = split(m{\n}, $text); + + while (defined(my $line = shift @lines)) { + + next + if divert_error('symbol table', $line, $by_object); + + if ($line + =~ m{^ \s* (\d+) : \s* [0-9a-f]+ \s+ \d+ \s+ (?:(?:\S+\s+){3}) (?: [[] .* []] \s+)? (\S+) \s+ (.*) \Z}x + ) { + + my $symbol_number = $1; + my $section_number = $2; + my $symbol_name = $3; + + $by_object->{'DYNAMIC-SYMBOLS'}{$symbol_number}{section_number} + = $section_number; + $by_object->{'DYNAMIC-SYMBOLS'}{$symbol_number}{symbol_name} + = $symbol_name; + } + } + + return; +} + +=item version_symbols + +=cut + +sub version_symbols { + my ($text, $by_object) = @_; + + my @lines = split(m{\n}, $text); + + while (defined(my $line = shift @lines)) { + + next + if divert_error('version symbols', $line, $by_object); + + if ($line + =~ m{^ \s* [0-9a-f]+ : \s* \S+ \s* (?: [(] \S+ [)] )? (?: \s | \Z ) }xi + ){ + + while ($line + =~ m{ ([0-9a-f]+ h?) \s* (?: [(] (\S+) [)] )? (?: \s | \Z ) }cgix + ) { + + my $symbol_number = $1; + my $symbol_version = $2; + + # for libfuse2_2.9.9-3_amd64.deb + next + unless length $symbol_version; + + $symbol_version = "($symbol_version)" + if $symbol_number =~ m{ h $}x; + + $by_object->{'SYMBOL-VERSIONS'}{$symbol_number} + = $symbol_version; + } + } + } + + return; +} + +=item divert_error + +=cut + +sub divert_error { + my ($section, $line, $by_object) = @_; + + return 0 + unless $line =~ s{^ readelf: \s+ }{}x; + + if ($line =~ s{^ Error: \s+ }{}x) { + + my $message = "In $section: $line"; + + $by_object->{ERRORS} //= []; + push(@{$by_object->{ERRORS}}, $message); + + return 1; + } + + if ($line =~ s{^ Warning: \s+ }{}x) { + + my $message = "In $section: $line"; + + $by_object->{WARNINGS} //= []; + push(@{$by_object->{WARNINGS}}, $message); + + return 1; + } + + return 0; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for +Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/FileInfo.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/FileInfo.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/FileInfo.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/FileInfo.pm 2022-01-11 17:11:33.000000000 +0100 @@ -64,7 +64,8 @@ my $savedir = getcwd; chdir($self->basedir) - or die 'Cannot change to directory ' . $self->basedir; + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); my $errors = $EMPTY; @@ -155,7 +156,8 @@ $_->file_info('data') for @not_gzip; chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); return $errors; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Item.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Item.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Item.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Item.pm 2022-01-11 17:11:33.000000000 +0100 @@ -29,6 +29,7 @@ use Date::Parse qw(str2time); use List::SomeUtils qw(all); use Path::Tiny; +use Syntax::Keyword::Try; use Text::Balanced qw(extract_delimited); use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); @@ -166,7 +167,8 @@ my ($initial, $size, $date, $time, $remainder) = split(/\s+(\d+)\s+($datepattern)\s+($timepattern)\s+/, $line,2); - die encode_utf8("Cannot parse tar output: $line") + die encode_utf8( + $self->index->identifier . ": Cannot parse tar output: $line") unless all { defined } ($initial, $size, $date, $time, $remainder); $self->size($size); @@ -174,21 +176,23 @@ $self->time($time); my ($permissions, $ownership) = split(/\s+/, $initial, 2); - die encode_utf8( - "Cannot parse permissions and ownership in tar output: $line") + die encode_utf8($self->index->identifier + .": Cannot parse permissions and ownership in tar output: $line") unless all { defined } ($permissions, $ownership); $self->perm($permissions); my ($owner, $group) = split(qr{/}, $ownership, 2); - die encode_utf8("Cannot parse owner and group in tar output: $line") + die encode_utf8($self->index->identifier + . ": Cannot parse owner and group in tar output: $line") unless all { defined } ($owner, $group); $self->owner($owner); $self->group($group); my ($name, $extra) = get_quoted_filename($remainder, $EMPTY); - die encode_utf8("Cannot parse file name in tar output: $line") + die encode_utf8($self->index->identifier + . ": Cannot parse file name in tar output: $line") unless all { defined } ($name, $extra); # strip relative prefix @@ -211,8 +215,8 @@ if ($self->perm =~ /^l/) { my ($linktarget, undef) = get_quoted_filename($extra, $symlinkpattern); - die encode_utf8( - "Cannot parse symbolic link target in tar output: $line") + die encode_utf8($self->index->identifier + .": Cannot parse symbolic link target in tar output: $line") unless defined $linktarget; # do not remove multiple slashes from symlink targets @@ -227,7 +231,8 @@ if ($self->perm =~ /^h/) { my ($linktarget, undef)= get_quoted_filename($extra, $hardlinkpattern); - die encode_utf8("Cannot parse hard link target in tar output: $line") + die encode_utf8($self->index->identifier + . ": Cannot parse hard link target in tar output: $line") unless defined $linktarget; # strip relative prefix @@ -316,12 +321,20 @@ my ($self, $count) = @_; return $EMPTY + if length $self->link; + + return $EMPTY if $self->size < $count; + return $EMPTY + unless $self->is_open_ok; + my $magic; open(my $fd, '<', $self->unpacked_path); - die encode_utf8("Could not read $count bytes from " . $self->name) + die encode_utf8($self->index->identifier + . ": Could not read $count bytes from " + . $self->name) unless read($fd, $magic, $count) == $count; close $fd; @@ -561,11 +574,11 @@ sub children { my ($self) = @_; - my @names = values %{$self->childnames}; - croak encode_utf8('No index in ' . $self->name) unless defined $self->index; + my @names = values %{$self->childnames}; + return map { $self->index->lookup($_) } @names; } @@ -626,16 +639,16 @@ sub child { my ($self, $basename) = @_; - croak encode_utf8('Basename is required') + croak encode_utf8('No index in ' . $self->name) + unless defined $self->index; + + croak encode_utf8($self->index->identifier . ': Basename is required') unless length $basename; my $childname = $self->childnames->{$basename}; return undef unless $childname; - croak encode_utf8('No index in ' . $self->name) - unless defined $self->index; - return $self->index->lookup($childname); } @@ -731,7 +744,7 @@ my $name = $self->name; my $link = $self->link; - croak encode_utf8("$name is not a link") + croak encode_utf8($self->index->identifier . ": $name is not a link") unless length $link; my $dir = $self->dirname; @@ -850,7 +863,7 @@ my $basedir = $self->index->basedir; - croak encode_utf8('No base directory') + croak encode_utf8($self->index->identifier . ': No base directory') unless length $basedir; my $unpacked = path($basedir)->child($self->name)->stringify; @@ -883,10 +896,14 @@ return 0 if $path_info & ACCESS_INFO; - eval {$self->_check_open;}; + try { + $self->_check_open; - return 0 - if $@; + } catch { + return 0; + + # perlcritic 1.140-1 requires the semicolon on the next line + }; return 1; } @@ -908,8 +925,8 @@ # NB: We are deliberately vague here to avoid suggesting # whether $path exists. In some cases (e.g. lintian.d.o) # the output is readily available to wider public. - confess encode_utf8( - 'Attempt to access through broken or unsafe symlink: ' + confess encode_utf8($self->index->identifier + .': Attempt to access through broken or unsafe symlink: ' . $self->name); } @@ -928,8 +945,9 @@ # Leave "_path_access" here as _check_access marks it either as # "UNSAFE_PATH" or "FS_PATH_IS_OK" - confess encode_utf8( - 'Opening of irregular file not supported: ' . $self->name) + confess encode_utf8($self->index->identifier + .': Opening of irregular file not supported: ' + . $self->name) unless $self->is_file || ($self->is_symlink && -e $self->unpacked_path); $self->path_info($self->path_info | OPEN_IS_OK); @@ -976,7 +994,9 @@ $reference = $self->parent_dir; } - croak encode_utf8('No parent reference for link in ' . $self->name) + croak encode_utf8($self->index->identifier + . ': No parent reference for link in ' + . $self->name) unless defined $reference; # follow link @@ -1034,14 +1054,15 @@ sub resolve_path { my ($self, $request, $maxlinks) = @_; - croak encode_utf8('Can only resolve string arguments') + croak encode_utf8('No index in ' . $self->name) + unless defined $self->index; + + croak encode_utf8( + $self->index->identifier . ': Can only resolve string arguments') if defined $request && ref($request) ne $EMPTY; $request //= $EMPTY; - croak encode_utf8('No index in ' . $self->name) - unless defined $self->index; - if (length $self->link) { # follow the link my $dereferenced = $self->follow($maxlinks); @@ -1102,7 +1123,8 @@ return $child->resolve_path($request, $maxlinks); } - croak encode_utf8("Cannot parse path resolution request: $request") + croak encode_utf8($self->index->identifier + . ": Cannot parse path resolution request: $request") if length $request; # nothing else to resolve @@ -1210,7 +1232,9 @@ =item strings -=item objdump +=item elf + +=item elf_by_member =item C @@ -1335,11 +1359,14 @@ coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, default => $EMPTY ); -has objdump => ( +has elf => ( is => 'rw', - coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, - default => $EMPTY -); + coerce => sub { my ($hashref) = @_; return ($hashref // {}); }, + default => sub { {} }); +has elf_by_member => ( + is => 'rw', + coerce => sub { my ($hashref) = @_; return ($hashref // {}); }, + default => sub { {} }); has ar_info => ( is => 'rw', coerce => sub { my ($hashref) = @_; return ($hashref // {}); }, diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Java.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Java.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Java.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Java.pm 2022-01-11 17:11:33.000000000 +0100 @@ -63,7 +63,8 @@ my $savedir = getcwd; chdir($self->basedir) - or die encode_utf8('Cannot change to directory ' . $self->basedir); + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); my $errors = $EMPTY; @@ -124,7 +125,8 @@ $_->java_info($java_info{$_->name}) for @java_files; chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); return $errors; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Md5sums.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Md5sums.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Md5sums.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Md5sums.pm 2022-01-11 17:11:33.000000000 +0100 @@ -62,7 +62,8 @@ my $savedir = getcwd; chdir($self->basedir) - or die encode_utf8('Cannot change to directory ' . $self->basedir); + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); my $errors = $EMPTY; @@ -97,7 +98,8 @@ $_->md5sum($md5sums{$_->name}) for @files; chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); return $errors; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index/Objdump.pm lintian-2.114.0ubuntu1/lib/Lintian/Index/Objdump.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index/Objdump.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index/Objdump.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1,437 +0,0 @@ -# -*- perl -*- Lintian::Index::Objdump -# -# Copyright © 1998 Christian Schwarz -# Copyright © 2008 Adam D. Barratt -# Copyright © 2017-2018 Chris Lamb -# Copyright © 2020 Felix Lechner -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# this program. If not, see . - -package Lintian::Index::Objdump; - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use Cwd; -use IPC::Run3; -use Path::Tiny; -use Unicode::UTF8 qw(encode_utf8 valid_utf8 decode_utf8); - -use Moo::Role; -use namespace::clean; - -const my $EMPTY => q{}; -const my $SPACE => q{ }; -const my $INDENT => $SPACE x 4; -const my $HYPHEN => q{-}; -const my $NEWLINE => qq{\n}; - -const my $LINES_PER_FILE => 3; - -=head1 NAME - -Lintian::Index::Objdump - binary symbol information. - -=head1 SYNOPSIS - - use Lintian::Index; - -=head1 DESCRIPTION - -Lintian::Index::Objdump binary symbol information. - -=head1 INSTANCE METHODS - -=over 4 - -=item add_objdump - -=cut - -sub add_objdump { - my ($self) = @_; - - my $savedir = getcwd; - chdir($self->basedir) - or die encode_utf8('Cannot change to directory ' . $self->basedir); - - my $errors = $EMPTY; - - my @files = grep { $_->is_file } @{$self->sorted_list}; - - # must be ELF or static library - my @with_objects = grep { - $_->file_info =~ /\bELF\b/ - || ( $_->file_info =~ /\bcurrent ar archive\b/ - && $_->name =~ /\.a$/) - } @files; - - for my $file (@with_objects) { - - my @command = ( - qw{readelf --wide --segments --dynamic --section-details --symbols --version-info}, - $file->name - ); - my $combined_bytes; - - run3(\@command, \undef, \$combined_bytes, \$combined_bytes); - - next - unless length $combined_bytes; - - my $combined_output; - - if (valid_utf8($combined_bytes)) { - $combined_output = decode_utf8($combined_bytes); - - } else { - $combined_output = $combined_bytes; - $errors .= "Output from '@command' is not valid UTF-8" . $NEWLINE; - } - - # each object file in an archive gets its own File section - my @per_files = split(/^(File): (.*)$/m, $combined_output); - shift @per_files while @per_files && $per_files[0] ne 'File'; - - @per_files = ($combined_output) - unless @per_files; - - # Special case - readelf will not prefix the output with "File: - # $name" if it only gets one ELF file argument, so act as if it did... - # (but it does "the right thing" if passed a static lib >.>) - # - # - In fact, if readelf always emitted that File: header, we could - # simply use xargs directly on readelf and just parse its output - # in the loop below. - if (@per_files == 1) { - unshift(@per_files, $file->name); - unshift(@per_files, 'File'); - } - - unless (@per_files % $LINES_PER_FILE == 0) { - - $errors - .= "Parsed data from readelf is not a multiple of $LINES_PER_FILE for $file" - . $NEWLINE; - next; - } - - my $parsed; - while (defined(my $fixed = shift @per_files)) { - - my $recorded_name = shift @per_files; - my $per_file = shift @per_files; - - unless ($fixed eq 'File') { - $errors .= "Unknown output from readelf for $file" . $NEWLINE; - next; - } - - unless (length $recorded_name) { - $errors .= "No file name from readelf for $file" . $NEWLINE; - next; - } - - my ($container, $member) = ($recorded_name =~ /^(.*)\(([^)]+)\)$/); - - $container = $recorded_name - unless defined $container && defined $member; - - unless ($container eq $file->name) { - $errors - .= "Container not same as file name ($container vs $file)" - . $NEWLINE; - next; - } - - # ignore empty archives, such as in musl-dev_1.2.1-1_amd64.deb - next - unless length $per_file; - - $parsed .= parse_per_file($per_file, $recorded_name); - } - - $file->objdump($parsed); - } - - chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); - - return $errors; -} - -=item parse_per_file - -=cut - -sub parse_per_file { - my ($from_readelf, $filename) = @_; - - my @sections; - my @symbol_versions; - my @dynamic_symbols; - my %program_headers; - my $truncated = 0; - my $elf_section = $EMPTY; - my $static_lib_issues = 0; - - my $parsed = "Filename: $filename" . $NEWLINE; - - my @lines = split(/\n/, $from_readelf); - while (defined(my $line = shift @lines)) { - - if ($line - =~ /^readelf: Error: Reading (0x)?[0-9a-fA-F]+ bytes extends past end of file for section headers/ - || $line - =~ /^readelf: Error: Unable to read in 0x[0-9a-fA-F]+ bytes of/ - || $line - =~ /^readelf: Error: .*: Failed to read .*(?:magic number|file header)/ - ) { - # Various errors for corrupt / broken files. Note, readelf may spit out - # multiple errors per file, hence the "unless". - $parsed .= 'Broken: yes' . $NEWLINE - unless $truncated++; - - next; - - } elsif ($line =~ /^readelf: Error: Not an ELF file/) { - # Some upstreams like to create valid ar archives with the ".a" - # extensions and fill them with poems rather than object files. - # - # Possibly a reference to afl... - $static_lib_issues++ - if $filename =~ m{\([^/\\)]++\)$}; - - next; - - } elsif ($line =~ /^Elf file type is (\S+)/) { - $parsed .= "Elf-Type: $1" . $NEWLINE; - next; - - } elsif ($line =~ /^Program Headers:/) { - $elf_section = 'PH'; - $parsed .= 'Program-Headers:' . $NEWLINE; - - } elsif ($line =~ /^Section Headers:/) { - $elf_section = 'SH'; - $parsed .= 'Section-Headers:' . $NEWLINE; - - } elsif ($line =~ /^Dynamic section at offset .*:/) { - $elf_section = 'DS'; - $parsed .= 'Dynamic-Section:' . $NEWLINE; - - } elsif ($line =~ /^Version symbols section /) { - $elf_section = 'VS'; - - } elsif ($line =~ /^Symbol table '.dynsym'/) { - $elf_section = 'DS'; - - } elsif ($line =~ /^Symbol table/) { - $elf_section = $EMPTY; - - } elsif ($line =~ /^\s*$/) { - $elf_section = $EMPTY; - - } elsif ($line =~ /^\s*(\S+)\s*(?:(?:\S+\s+){4})\S+\s(...)/ - and $elf_section eq 'PH') { - - my $header = $1; - my $flags = $2; - - $header =~ s/^GNU_//g; - - next - if $header eq 'Type'; - - my $extra = $EMPTY; - - my $newflags = $EMPTY; - $newflags .= ($flags =~ /R/) ? 'r' : $HYPHEN; - $newflags .= ($flags =~ /W/) ? 'w' : $HYPHEN; - $newflags .= ($flags =~ /E/) ? 'x' : $HYPHEN; - - $program_headers{$header} = $newflags; - - if ($header eq 'INTERP' && @lines) { - # Check if the next line is the "requesting an interpreter" - # (readelf appears to always emit on the next line if at all) - my $next_line = $lines[0]; - - if ($next_line - =~ m{\[Requesting program interpreter:\s([^\]]+)\]}){ - - $extra .= " interp=$1"; - - # discard line - shift @lines; - } - } - - $parsed .= " $header flags=${newflags}$extra" . $NEWLINE; - - next; - - } elsif ($line =~ /^\s*\[\s*(\d+)\] (\S+)(?:\s|\Z)/ - && $elf_section eq 'SH') { - - my $section = $2; - $sections[$1] = $section; - - # We need sections as well (e.g. for incomplete stripping) - $parsed .= $SPACE . $section . $NEWLINE - if $section =~ /^(?:\.comment$|\.note$|\.z?debug_)/; - - } elsif ($line - =~ /^\s*0x(?:[0-9A-F]+)\s+\((.*?)\)\s+([\x21-\x7f][\x20-\x7f]*)\Z/i - && $elf_section eq 'DS') { - - my $type = $1; - my $value = $2; - - my $keep = 0; - - if ($type eq 'RPATH' or $type eq 'RUNPATH') { - $value =~ s/^.*\[//; - $value =~ s/\]\s*$//; - $keep = 1; - - } elsif ($type eq 'TEXTREL' or $type eq 'DEBUG') { - $keep = 1; - - } elsif ($type eq 'FLAGS_1') { - # Will contain "NOW" if the binary was built with -Wl,-z,now - $value =~ s/^Flags:\s*//i; - $keep = 1; - - } elsif (($type eq 'FLAGS' and $value =~ m/\bBIND_NOW\b/) - or $type eq 'BIND_NOW') { - - # Variants of bindnow - $type = 'FLAGS_1'; - $value = 'NOW'; - $keep = 1; - } - - $keep = 1 - if $value =~ s/^(?:Shared library|Library soname): \[(.*)\]/$1/; - - $parsed .= " $type $value" . $NEWLINE - if $keep; - - } elsif ( - $line =~ /^\s*[0-9a-f]+: \s* \S+ \s* (?:\(\S+\))? (?:\s|\Z)/xi - && $elf_section eq 'VS') { - - while ($line =~ /([0-9a-f]+h?)\s*(?:\((\S+)\))?(?:\s|\Z)/gci) { - my $version_number = $1; - my $version_string = $2; - - # for libfuse2_2.9.9-3_amd64.deb - next - unless defined $version_string; - - $version_string = "($version_string)" - if $version_number =~ /h$/; - - push(@symbol_versions, $version_string); - } - - } elsif ($line - =~ /^\s*(\d+):\s*[0-9a-f]+\s+\d+\s+(?:(?:\S+\s+){3})(?:\[.*\]\s+)?(\S+)\s+(.*)\Z/ - && $elf_section eq 'DS') { - - # We (sometimes) need to read the "Version symbols section" first to - # use this data and readelf tends to print after this section, so - # save for later. - push(@dynamic_symbols, [$1, $2, $3]); - - } elsif ($line =~ /^There is no dynamic section in this file/ - && exists $program_headers{DYNAMIC}) { - - # The headers declare a dynamic section but it's - # empty. - $parsed .= 'Bad-Dynamic-Table: Yes' . $NEWLINE; - } - } - - $parsed .= 'Dynamic-Symbols:' . $NEWLINE - if @dynamic_symbols; - - for my $dynamic_symbol (@dynamic_symbols) { - - my ($symbol_number, $section, $symbol_name) = @{$dynamic_symbol}; - my $symbol_version; - - if ($symbol_name =~ /^(.*)@(.*) \(.*\)$/) { - $symbol_name = $1; - $symbol_version = $2; - - } else { - $symbol_version = $symbol_versions[$symbol_number] // $EMPTY; - - if ($symbol_version eq '*local*' || $symbol_version eq '*global*'){ - if ($section eq 'UND') { - $symbol_version = $INDENT; - } else { - $symbol_version = 'Base'; - } - - } elsif ($symbol_version eq '()') { - $symbol_version = '(Base)'; - } - } - - # happens once or twice for regular binaries - next - unless length $symbol_name; - - # look up numbered section - $section = $sections[$section] // $section - if $section =~ /^\d+$/; - - # We only care about undefined symbols and symbols in - # the .text segment. - next - unless $section eq 'UND' || $section eq '.text'; - - $parsed .= " $section $symbol_version $symbol_name" . $NEWLINE; - } - - $parsed .= $NEWLINE; - - return $parsed; -} - -=back - -=head1 AUTHOR - -Originally written by Felix Lechner for -Lintian. - -=head1 SEE ALSO - -lintian(1) - -=cut - -1; - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Index.pm lintian-2.114.0ubuntu1/lib/Lintian/Index.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Index.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Index.pm 2022-01-11 17:11:33.000000000 +0100 @@ -40,10 +40,10 @@ with 'Lintian::Index::Ar', + 'Lintian::Index::Elf', 'Lintian::Index::FileInfo', 'Lintian::Index::Java', 'Lintian::Index::Md5sums', - 'Lintian::Index::Objdump', 'Lintian::Index::Strings'; const my $EMPTY => q{}; @@ -85,6 +85,8 @@ =over 4 +=item identifier + =item catalog Returns a reference to a hash with elements catalogued by path names. @@ -97,6 +99,8 @@ =cut +has identifier => (is => 'rw', default => 'unnamed'); + has catalog => ( is => 'rw', default => sub { @@ -167,7 +171,7 @@ # get root dir by default $name //= $EMPTY; - croak encode_utf8('Name is not a string') + croak encode_utf8($self->identifier . ': Name is not a string') unless ref $name eq $EMPTY; my $found = $self->catalog->{$name}; @@ -197,7 +201,8 @@ my $savedir = getcwd; chdir($self->basedir) - or die encode_utf8('Cannot change to directory ' . $self->basedir); + or die encode_utf8( + $self->identifier . ': Cannot change to directory ' . $self->basedir); # get times in UTC my @index_command @@ -208,7 +213,8 @@ run3(\@index_command, \undef, \$index_output, \$index_errors); chdir($savedir) - or die encode_utf8("Cannot change to directory $savedir"); + or die encode_utf8( + $self->identifier . ": Cannot change to directory $savedir"); # allow processing of file names with non UTF-8 bytes $index_errors = decode_utf8($index_errors) @@ -225,8 +231,8 @@ $index_output =~ s/\0$//; my @lines = split(/\0/, $index_output, $NO_LIMIT); - die encode_utf8( - "Did not get a multiple of $LINES_PER_FILE lines from find.") + die encode_utf8($self->identifier + . ": Did not get a multiple of $LINES_PER_FILE lines from find.") unless @lines % $LINES_PER_FILE == 0; while (defined(my $first = shift @lines)) { @@ -310,8 +316,9 @@ my $entry = Lintian::Index::Item->new; $entry->init_from_tar_output($line); - die encode_utf8( - 'Numerical index lists extra files for file name '. $entry->name) + die encode_utf8($self->identifier + . ': Numerical index lists extra files for file name ' + . $entry->name) unless exists $catalog{$entry->name}; # keep numerical uid and gid @@ -386,11 +393,12 @@ } # disallow absolute names - die encode_utf8('Index contains absolute path names') + die encode_utf8($self->identifier . ': Index contains absolute path names') if any { $_->name =~ m{^/}s } values %all; # disallow absolute hardlink targets - die encode_utf8('Index contains absolute hardlink targets') + die encode_utf8( + $self->identifier . ': Index contains absolute hardlink targets') if any { $_->link =~ m{^/}s } grep { $_->is_hardlink } values %all; # add entries for missing directories @@ -469,7 +477,7 @@ } # ensure root is not its own child; may create leaks like #695866 - die encode_utf8('Root directory is its own parent') + die encode_utf8($self->identifier . ': Root directory is its own parent') if defined $all{$EMPTY} && defined $all{$EMPTY}->parent_dir; # find all hard links @@ -536,8 +544,8 @@ $errors .= $self->add_fileinfo; $errors .= $self->add_ar; + $errors .= $self->add_elf; $errors .= $self->add_java; - $errors .= $self->add_objdump; $errors .= $self->add_strings; return $errors; @@ -550,12 +558,13 @@ sub merge_in { my ($self, $other) = @_; - die encode_utf8('Need same base directory (' + die encode_utf8($self->identifier + . ': Need same base directory (' . $self->basedir . ' vs ' . $other->basedir . ')') unless $self->basedir eq $other->basedir; - die encode_utf8('Need same anchoring status') + die encode_utf8($self->identifier . ': Need same anchoring status') unless $self->anchored == $other->anchored; # associate all new items with this index @@ -608,7 +617,7 @@ if $new_basedir eq $SLASH; my $segment = path($self->basedir)->basename; - die encode_utf8('Common path segment has no length') + die encode_utf8($self->identifier . ': Common path segment has no length') unless length $segment; my $prefix; @@ -677,15 +686,15 @@ my @childnames = keys %{$self->catalog->{$EMPTY}->childnames}; - die encode_utf8('Not exactly one top-level child') + die encode_utf8($self->identifier . ': Not exactly one top-level child') unless @childnames == 1; my $segment = $childnames[0]; - die encode_utf8('Common path segment has no length') + die encode_utf8($self->identifier . ': Common path segment has no length') unless length $segment; my $new_root = $self->lookup($segment . $SLASH); - die encode_utf8('New root is not a directory') + die encode_utf8($self->identifier . ': New root is not a directory') unless $new_root->is_dir; my $prefix; @@ -747,15 +756,16 @@ my $errors = $EMPTY; my $obsolete = path($self->basedir)->basename; - die encode_utf8('Base directory has no name') + die encode_utf8($self->identifier . ': Base directory has no name') unless length $obsolete; my $parent_dir = path($self->basedir)->parent->stringify; - die encode_utf8('Base directory has no parent') + die encode_utf8($self->identifier . ': Base directory has no parent') if $parent_dir eq $SLASH; my $grandparent_dir = path($parent_dir)->parent->stringify; - die encode_utf8('Will not do anything in file system root') + die encode_utf8( + $self->identifier . ': Will not do anything in file system root') if $grandparent_dir eq $SLASH; # destroyed when object is lost diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Inspect/Elf/Section.pm lintian-2.114.0ubuntu1/lib/Lintian/Inspect/Elf/Section.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Inspect/Elf/Section.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Inspect/Elf/Section.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,156 @@ +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Inspect::Elf::Section; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +const my $EMPTY => q{}; + +use Moo; +use namespace::clean; + +=head1 NAME + +Lintian::Inspect::Elf::Section -- ELF Sections + +=head1 SYNOPSIS + + use Lintian::Inspect::Elf::Section; + +=head1 DESCRIPTION + +A class for storing ELF section data + +=head1 INSTANCE METHODS + +=over 4 + +=item number + +=item name + +=item type + +=item address + +=item offset + +=item size + +=item entry_size + +=item flags + +=item index_link + +=item index_info + +=item alignment + +=cut + +has number => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has name => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); + +has type => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); + +has address => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has offset => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has size => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has entry_size => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has flags => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); + +has index_link => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has index_info => ( + is => 'rw', + coerce => sub { my ($number) = @_; return ($number // 0); }, + default => 0 +); + +has alignment => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Inspect/Elf/Symbol.pm lintian-2.114.0ubuntu1/lib/Lintian/Inspect/Elf/Symbol.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Inspect/Elf/Symbol.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Inspect/Elf/Symbol.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,90 @@ +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Inspect::Elf::Symbol; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; + +const my $EMPTY => q{}; + +use Moo; +use namespace::clean; + +=head1 NAME + +Lintian::Inspect::Elf::Symbol -- ELF Symbols + +=head1 SYNOPSIS + + use Lintian::Inspect::Elf::Symbol; + +=head1 DESCRIPTION + +A class for storing ELF symbol data + +=head1 INSTANCE METHODS + +=over 4 + +=item name + +=item version + +=item section + +=cut + +has name => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); +has version => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); +has section => ( + is => 'rw', + coerce => sub { my ($text) = @_; return ($text // $EMPTY); }, + default => $EMPTY +); + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/IO/Select.pm lintian-2.114.0ubuntu1/lib/Lintian/IO/Select.pm --- lintian-2.111.0ubuntu2/lib/Lintian/IO/Select.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/IO/Select.pm 2022-01-11 17:11:33.000000000 +0100 @@ -41,6 +41,7 @@ use IPC::Open3; use IO::Select; use Symbol; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); # read up to 40kB at a time. this happens to be 4096 "tar records" @@ -89,13 +90,14 @@ my @produce_command = @{$command}; my $produce_pid; - eval{ + try { $produce_pid = open3( $produce_stdin, $produce_stdout, $produce_stderr, @produce_command ); - }; - die map { encode_utf8($_) } $@ if $@; + } catch { + die map { encode_utf8($_) } $@; + } close $produce_stdin; @@ -113,13 +115,14 @@ ); my $extract_pid; - eval{ + try { $extract_pid = open3( $extract_stdin, $extract_stdout, $extract_stderr, @extract_command ); - }; - die map { encode_utf8($_) } $@ if $@; + } catch { + die map { encode_utf8($_) } $@; + } push(@pids, $extract_pid); @@ -135,11 +138,12 @@ my @named_command = ('tar', @index_options); my $named_pid; - eval{ + try { $named_pid = open3($named_stdin, $named_stdout, $named_stderr, @named_command); - }; - die map { encode_utf8($_) } $@ if $@; + } catch { + die map { encode_utf8($_) } $@; + } push(@pids, $named_pid); @@ -152,13 +156,14 @@ my @numeric_command = ('tar', '--numeric-owner', @index_options); my $numeric_pid; - eval{ + try { $numeric_pid = open3( $numeric_stdin, $numeric_stdout, $numeric_stderr, @numeric_command ); - }; - die map { encode_utf8($_) } $@ if $@; + } catch { + die map { encode_utf8($_) } $@; + } push(@pids, $numeric_pid); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Output/EWI.pm lintian-2.114.0ubuntu1/lib/Lintian/Output/EWI.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Output/EWI.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Output/EWI.pm 2022-01-11 17:11:33.000000000 +0100 @@ -25,6 +25,7 @@ use Const::Fast; use HTML::HTML5::Entities; +use List::Compare; use Term::ANSIColor (); use Text::Wrap; use Unicode::UTF8 qw(encode_utf8); @@ -37,6 +38,7 @@ # for tty hyperlinks const my $OSC_HYPERLINK => qq{\033]8;;}; const my $OSC_DONE => qq{\033\\}; +const my $BEL => qq{\a}; const my $EMPTY => q{}; const my $SPACE => q{ }; @@ -110,62 +112,115 @@ =item issue_hints -Print all hints passed in array. A separate arguments with processables -is necessary to report in case no hints were found. - =cut sub issue_hints { my ($self, $groups, $option) = @_; - my @processables = map { $_->get_processables } @{$groups // []}; + my %sorter; + for my $group (@{$groups // []}) { - my @pending; - for my $processable (@processables) { + for my $processable ($group->get_processables) { - # get hints - my @hints = @{$processable->hints}; + my $type = $processable->type; + my $type_priority = $TYPE_PRIORITY{$type}; - # associate hints with processable - $_->processable($processable) for @hints; + for my $hint (@{$processable->hints}) { + + my $tag = $hint->tag; + my $override_status = defined $hint->override; + my $code_priority = $CODE_PRIORITY{$tag->code}; + + my %for_output; + $for_output{hint} = $hint; + $for_output{processable} = $processable; + + push( + @{ + $sorter{$override_status}{$code_priority}{$tag->name} + {$type_priority}{$processable->name}{$hint->context} + }, + \%for_output + ); + } + } + } - # remove circular references - $processable->hints([]); + for my $override_status (sort keys %sorter) { - push(@pending, @hints); - } + my %by_code_priority = %{$sorter{$override_status}}; + + for my $code_priority (sort { $a <=> $b } keys %by_code_priority) { + + my %by_tag_name = %{$by_code_priority{$code_priority}}; + + for my $tag_name (sort keys %by_tag_name) { + + my %by_type_priority = %{$by_tag_name{$tag_name}}; + + for + my $type_priority (sort { $a <=> $b }keys %by_type_priority){ + + my %by_processable_name + = %{$by_type_priority{$type_priority}}; + + for my $processable_name (sort keys %by_processable_name) { + + my %by_context + = %{$by_processable_name{$processable_name}}; - my @sorted = sort { - defined $a->override <=> defined $b->override - || $CODE_PRIORITY{$a->tag->code} <=> $CODE_PRIORITY{$b->tag->code} - || $a->tag->name cmp $b->tag->name - || $TYPE_PRIORITY{$a->processable->type} - <=> $TYPE_PRIORITY{$b->processable->type} - || $a->processable->name cmp $b->processable->name - || $a->context cmp $b->context - } @pending; + for my $context (sort keys %by_context) { - $self->print_hint($_, $option) for @sorted; + my $for_output + = $sorter{$override_status}{$code_priority} + {$tag_name}{$type_priority}{$processable_name} + {$context}; + + for my $each (@{$for_output}) { + + my $hint = $each->{hint}; + my $processable = $each->{processable}; + + $self->print_hint($hint, $processable,$option); + } + } + } + } + } + } + } return; } -=item C - -Print a hint. The first two arguments are hash reference with the -information about the package and the hint, $context is the context -information for the hint (if any) as an array reference, and $override -is either undef if the hint is not overridden or a hash with -override info for this hint. +=item C =cut sub print_hint { - my ($self, $hint, $option) = @_; + my ($self, $hint, $processable, $option) = @_; my $tag = $hint->tag; my $tag_name = $tag->name; + my @want_references = @{$option->{'display-source'} // []}; + my @have_references = @{$tag->see_also}; + + # keep only the first word + s{^ ([\w-]+) \s }{$1}x for @have_references; + + # drop anything in parentheses at the end + s{ [(] \S+ [)] $}{}x for @have_references; + + # check if hint refers to the selected references + my $reference_lc= List::Compare->new(\@have_references, \@want_references); + + my @found_references = $reference_lc->get_intersection; + + return + if @want_references + && !@found_references; + my $information = $hint->context; $information = $SPACE . $self->_quote_print($information) unless $information eq $EMPTY; @@ -175,7 +230,7 @@ my $limit = $option->{'tag-display-limit'}; if ($limit) { - my $processable_id = $hint->processable->identifier; + my $processable_id = $processable->identifier; my $emitted_count = $self->tag_count_by_processable->{$processable_id}{$tag_name}++; @@ -222,13 +277,13 @@ if defined $hint->screen; my $type = $EMPTY; - $type = $SPACE . $hint->processable->type - unless $hint->processable->type eq 'binary'; + $type = $SPACE . $processable->type + unless $processable->type eq 'binary'; say encode_utf8($code . $COLON . $SPACE - . $hint->processable->name + . $processable->name . $type . $COLON . $SPACE @@ -267,8 +322,8 @@ sub osc_hyperlink { my ($self, $text, $target) = @_; - my $start = $OSC_HYPERLINK . $target . $OSC_DONE; - my $end = $OSC_HYPERLINK . $OSC_DONE; + my $start = $OSC_HYPERLINK . $target . $BEL; + my $end = $OSC_HYPERLINK . $BEL; return $start . $text . $end; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Output/Universal.pm lintian-2.114.0ubuntu1/lib/Lintian/Output/Universal.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Output/Universal.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Output/Universal.pm 2022-01-11 17:11:33.000000000 +0100 @@ -32,8 +32,8 @@ const my $SPACE => q{ }; const my $COLON => q{:}; -const my $LPARENS => q{(}; -const my $RPARENS => q{)}; +const my $LEFT_PARENTHESIS => q{(}; +const my $RIGHT_PARENTHESIS => q{)}; =head1 NAME @@ -61,64 +61,37 @@ sub issue_hints { my ($self, $groups) = @_; - my @processables = map { $_->get_processables } @{$groups // []}; + for my $group (@{$groups // []}) { - my @pending; - for my $processable (@processables) { + my @by_group; + for my $processable ($group->get_processables) { - # get hints - my @hints = @{$processable->hints}; + for my $hint (@{$processable->hints}) { - # associate hints with processable - $_->processable($processable) for @hints; + my $tag = $hint->tag; - # remove circular references - $processable->hints([]); + my $line + = $processable->name + . $SPACE + . $LEFT_PARENTHESIS + . $processable->type + . $RIGHT_PARENTHESIS + . $COLON + . $SPACE + . $tag->name; - push(@pending, @hints); - } - - my %hintlist; - - for my $hint (@pending) { - $hintlist{$hint->processable} //= []; - push(@{$hintlist{$hint->processable}}, $hint); - } - - my @lines; - - for my $processable (@processables) { - - my $object = 'package'; - $object = 'file' - if $processable->type eq 'changes'; + $line .= $SPACE . $hint->context + if length $hint->context; - my @subset = @{$hintlist{$processable} // []}; - - for my $hint (@subset) { - - my $details = $hint->context; - - my $line - = $processable->name - . $SPACE - . $LPARENS - . $processable->type - . $RPARENS - . $COLON - . $SPACE - . $hint->tag->name; - $line .= $SPACE . $details - if length $details; - - push(@lines, $line); + push(@by_group, $line); + } } - } - my @sorted - = reverse sort { order($a) cmp order($b) } @lines; + my @sorted + = reverse sort { order($a) cmp order($b) } @by_group; - say encode_utf8($_) for @sorted; + say encode_utf8($_) for @sorted; + } return; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Pointer/Item.pm lintian-2.114.0ubuntu1/lib/Lintian/Pointer/Item.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Pointer/Item.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Pointer/Item.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,96 @@ +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Pointer::Item; + +use v5.20; +use warnings; +use utf8; + +use Carp qw(croak); +use Const::Fast; +use Unicode::UTF8 qw(encode_utf8); + +use Moo; +use namespace::clean; + +const my $EMPTY => q{}; +const my $COLON => q{:}; + +=head1 NAME + +Lintian::Pointer::Item -- Facilities for pointing into specific index items + +=head1 SYNOPSIS + +use Lintian::Pointer::Item; + +=head1 DESCRIPTION + +A class for item pointers + +=head1 INSTANCE METHODS + +=over 4 + +=item item + +=item position + +=cut + +has item => (is => 'rw'); +has position => (is => 'rw', default => $EMPTY); + +=item to_string + +=cut + +sub to_string { + my ($self) = @_; + + croak encode_utf8('No item') + unless defined $self->item; + + my $text = $self->item->name; + + $text .= $COLON . $self->position + if length $self->position; + + return $text; +} + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Pool.pm lintian-2.114.0ubuntu1/lib/Lintian/Pool.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Pool.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Pool.pm 2022-01-11 17:11:33.000000000 +0100 @@ -155,6 +155,7 @@ return; } + my %reported_count; my %override_count; my %ignored_overrides; my $unused_overrides = 0; @@ -168,85 +169,60 @@ my $success= $group->process(\%ignored_overrides, $option); - # associate all hints with processable for my $processable ($group->get_processables){ - $_->processable($processable) for @{$processable->hints}; - } - my @hints = map { @{$_->hints} } $group->get_processables; + my @hints = @{$processable->hints}; - # remove circular references - $_->hints([]) for $group->get_processables; + # remove circular references + $processable->hints([]); - my @reported = grep { !$_->override } @hints; - my @reported_trusted = grep { !$_->tag->experimental } @reported; - my @reported_experimental = grep { $_->tag->experimental } @reported; + my @reported = grep { !$_->override } @hints; + my @reported_trusted = grep { !$_->tag->experimental } @reported; + my @reported_experimental + = grep { $_->tag->experimental } @reported; + + my @override = grep { $_->override } @hints; + my @override_trusted = grep { !$_->tag->experimental } @override; + my @override_experimental + = grep { $_->tag->experimental } @override; + + $unused_overrides+= scalar grep { + $_->tag->name eq 'mismatched-override' + || $_->tag->name eq 'unused-override' + } @hints; + + $reported_count{$_->tag->visibility}++ for @reported_trusted; + $reported_count{experimental} += scalar @reported_experimental; + $reported_count{override} += scalar @override; - my @override = grep { $_->override } @hints; - my @override_trusted = grep { !$_->tag->experimental } @override; - my @override_experimental = grep { $_->tag->experimental } @override; + unless ($option->{'no-override'} || $option->{'show-overrides'}) { - $unused_overrides+= scalar grep { - $_->tag->name eq 'mismatched-override' - || $_->tag->name eq 'unused-override' - } @hints; + $override_count{$_->tag->visibility}++ for @override_trusted; + $override_count{experimental} += scalar @override_experimental; + } - my %reported_count; - $reported_count{$_->tag->visibility}++ for @reported_trusted; - $reported_count{experimental} += scalar @reported_experimental; - $reported_count{override} += scalar @override; + # discard disabled tags + @hints= grep { $PROFILE->tag_is_enabled($_->tag->name) } @hints; - unless ($option->{'no-override'} || $option->{'show-overrides'}) { + # discard experimental tags + @hints = grep { !$_->tag->experimental } @hints + unless $option->{'display-experimental'}; + + # discard overridden tags + @hints = grep { !defined $_->override } @hints + unless $option->{'show-overrides'}; + + # discard outside the selected display level + @hints + = grep { $PROFILE->display_level_for_tag($_->tag->name) }@hints; - $override_count{$_->tag->visibility}++ for @override_trusted; - $override_count{experimental} += scalar @override_experimental; + # put hints back into their respective processables + $processable->hints(\@hints); } ${$exit_code_ref} = 2 if $success && any { $reported_count{$_} } @{$option->{'fail-on'}}; - # discard disabled tags - @hints= grep { $PROFILE->tag_is_enabled($_->tag->name) } @hints; - - # discard experimental tags - @hints = grep { !$_->tag->experimental } @hints - unless $option->{'display-experimental'}; - - # discard overridden tags - @hints = grep { !defined $_->override } @hints - unless $option->{'show-overrides'}; - - # discard outside the selected display level - @hints= grep { $PROFILE->display_level_for_tag($_->tag->name) }@hints; - - my $reference_limit = $option->{'display-source'} // []; - if (@{$reference_limit}) { - - my @topic_hints; - for my $hint (@hints) { - my @references = split(/,/, $hint->tag->references); - - # retain the first word - s/^([\w-]+)\s.*/$1/ for @references; - - # remove anything in parentheses at the end - s/\(\S+\)$// for @references; - - # check if hint refers to the selected references - my $referencelc - = List::Compare->new(\@references, $reference_limit); - next - unless $referencelc->get_intersection; - - push(@topic_hints, $hint); - } - - @hints = @topic_hints; - } - - # put hints back into their respective processables - push(@{$_->processable->hints}, $_) for @hints; - # interruptions can leave processes behind (manpages); wait and reap if (${$exit_code_ref} == 1) { 1 while waitpid($ANY_CHILD, WNOHANG) > 0; @@ -416,26 +392,6 @@ return scalar keys %{$self->groups} == 0; } -=item DEMOLISH - -Removes the lab and everything in it. Any reference to an entry -returned from this lab will immediately become invalid. - -=cut - -sub DEMOLISH { - my ($self, $in_global_destruction) = @_; - - # change back to where we were; otherwise removal may fail - chdir($self->savedir) - or die encode_utf8('Cannot change to directory ' . $self->savedir); - - path($self->basedir)->remove_tree - if length $self->basedir && -d $self->basedir; - - return; -} - =back =head1 AUTHOR diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Buildinfo/Overrides.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Buildinfo/Overrides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Buildinfo/Overrides.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Buildinfo/Overrides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,90 @@ +# -*- perl -*- Lintian::Processable::Buildinfo::Overrides +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Processable::Buildinfo::Overrides; + +use v5.20; +use warnings; +use utf8; + +use Moo::Role; +use namespace::clean; + +=head1 NAME + +Lintian::Processable::Buildinfo::Overrides - access to override data + +=head1 SYNOPSIS + + use Lintian::Processable; + +=head1 DESCRIPTION + +Lintian::Processable::Buildinfo::Overrides provides an interface for overrides. + +=head1 INSTANCE METHODS + +=over 4 + +=item override_file + +=cut + +has override_file => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + return undef; + }); + +=item overrides + +=cut + +has overrides => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my %override_data; + + return \%override_data; + }); + +1; + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for +Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Buildinfo.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Buildinfo.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Buildinfo.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Buildinfo.pm 2022-01-11 17:11:33.000000000 +0100 @@ -30,8 +30,10 @@ use Moo; use namespace::clean; -with 'Lintian::Processable::Fields::Files', 'Lintian::Processable::Overrides', - 'Lintian::Processable'; +with + 'Lintian::Processable', + 'Lintian::Processable::Fields::Files', + 'Lintian::Processable::Buildinfo::Overrides'; =for Pod::Coverage BUILDARGS diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changelog/Version.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changelog/Version.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changelog/Version.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changelog/Version.pm 2022-01-11 17:11:33.000000000 +0100 @@ -24,7 +24,7 @@ use warnings; use utf8; -use Try::Tiny; +use Syntax::Keyword::Try; use Lintian::Inspect::Changelog::Version; @@ -78,7 +78,9 @@ my $version = Lintian::Inspect::Changelog::Version->new; try { $version->assign($versionstring, $self->native); - }; + + } catch { + } return $version; }); diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changes/Overrides.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changes/Overrides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changes/Overrides.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changes/Overrides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,90 @@ +# -*- perl -*- Lintian::Processable::Changes::Overrides +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Processable::Changes::Overrides; + +use v5.20; +use warnings; +use utf8; + +use Moo::Role; +use namespace::clean; + +=head1 NAME + +Lintian::Processable::Changes::Overrides - access to override data + +=head1 SYNOPSIS + + use Lintian::Processable; + +=head1 DESCRIPTION + +Lintian::Processable::Changes::Overrides provides an interface for overrides. + +=head1 INSTANCE METHODS + +=over 4 + +=item override_file + +=cut + +has override_file => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + return undef; + }); + +=item overrides + +=cut + +has overrides => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my %override_data; + + return \%override_data; + }); + +1; + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for +Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changes.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changes.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Changes.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Changes.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,8 +31,10 @@ use Moo; use namespace::clean; -with 'Lintian::Processable::Fields::Files', 'Lintian::Processable::Overrides', - 'Lintian::Processable'; +with + 'Lintian::Processable', + 'Lintian::Processable::Fields::Files', + 'Lintian::Processable::Changes::Overrides'; =for Pod::Coverage BUILDARGS diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Control.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Control.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Control.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Control.pm 2022-01-11 17:11:33.000000000 +0100 @@ -60,6 +60,7 @@ my ($self) = @_; my $index = Lintian::Index->new; + $index->identifier($self->path . ' (control)'); $index->basedir($self->basedir . $SLASH . 'control'); # control files are not installed relative to the system root diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installable/Overrides.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installable/Overrides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installable/Overrides.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installable/Overrides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,129 @@ +# -*- perl -*- Lintian::Processable::Installable::Overrides +# +# Copyright © 2019-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Processable::Installable::Overrides; + +use v5.20; +use warnings; +use utf8; + +use Const::Fast; +use PerlIO::gzip; +use List::SomeUtils qw(first_value); +use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); + +use Moo::Role; +use namespace::clean; + +with 'Lintian::Processable::Overrides'; + +const my $EMPTY => q{}; + +=head1 NAME + +Lintian::Processable::Installable::Overrides - access to override data + +=head1 SYNOPSIS + + use Lintian::Processable; + +=head1 DESCRIPTION + +Lintian::Processable::Installable::Overrides provides an interface for overrides. + +=head1 INSTANCE METHODS + +=over 4 + +=item override_file + +=cut + +has override_file => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my $unzipped = 'usr/share/lintian/overrides/' . $self->name; + + my @candidates = map { $unzipped . $_ } ($EMPTY, '.gz'); + + # pick the first + my $override_item= first_value { defined } + map { $self->installed->lookup($_) } @candidates; + + return $override_item; + }); + +=item overrides + +=cut + +has overrides => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + return {} + unless defined $self->override_file; + + my $contents = $EMPTY; + + if ($self->override_file->name =~ m{ [.]gz $}x) { + + my $local_path = $self->override_file->unpacked_path; + + open(my $fd, '<:gzip', $local_path) + or die encode_utf8("Cannot open $local_path."); + + local $/ = undef; + my $bytes = <$fd>; + + $contents = decode_utf8($bytes) + if valid_utf8($bytes); + + close $fd; + + } else { + $contents = $self->override_file->decoded_utf8; + } + + return $self->parse_overrides($contents); + }); + +1; + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for +Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installable.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installable.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installable.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installable.pm 2022-01-11 17:11:33.000000000 +0100 @@ -33,18 +33,17 @@ use namespace::clean; with - 'Lintian::Processable::Installable::Class', - 'Lintian::Processable::Installable::Relation', + 'Lintian::Processable', 'Lintian::Processable::Changelog', 'Lintian::Processable::Control', 'Lintian::Processable::Control::Conffiles', 'Lintian::Processable::Installed', 'Lintian::Processable::IsNonFree', 'Lintian::Processable::Hardening', - 'Lintian::Processable::Objdump', 'Lintian::Processable::NotJustDocs', - 'Lintian::Processable::Overrides', - 'Lintian::Processable'; + 'Lintian::Processable::Installable::Class', + 'Lintian::Processable::Installable::Overrides', + 'Lintian::Processable::Installable::Relation'; # read up to 40kB at a time. this happens to be 4096 "tar records" # (with a block-size of 512 and a block factor of 20, which appear to diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installed.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installed.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Installed.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Installed.pm 2022-01-11 17:11:33.000000000 +0100 @@ -63,6 +63,7 @@ my ($self) = @_; my $index = Lintian::Index->new; + $index->identifier($self->path . ' (installed)'); $index->basedir($self->basedir . $SLASH . 'unpacked'); # binary packages are anchored to the system root diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Objdump.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Objdump.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Objdump.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Objdump.pm 1970-01-01 01:00:00.000000000 +0100 @@ -1,203 +0,0 @@ -# -*- perl -*- Lintian::Processable::Objdump -# -# Copyright © 2019 Felix Lechner -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the Free -# Software Foundation; either version 2 of the License, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, but WITHOUT -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for -# more details. -# -# You should have received a copy of the GNU General Public License along with -# this program. If not, see . - -package Lintian::Processable::Objdump; - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use List::SomeUtils qw(uniq); -use Path::Tiny; - -use Lintian::Deb822::Parser qw(parse_dpkg_control_string); - -use Moo::Role; -use namespace::clean; - -const my $EMPTY => q{}; - -=head1 NAME - -Lintian::Processable::Objdump - access to collected binary object data - -=head1 SYNOPSIS - - use Lintian::Processable; - -=head1 DESCRIPTION - -Lintian::Processable::Objdump provides an interface to collected binary object data. - -=head1 INSTANCE METHODS - -=over 4 - -=item objdump_info - -Returns a hashref mapping a FILE to the data collected by objdump-info -or C if no data is available for that FILE. Data is generally -only collected for ELF files. - -=cut - -has objdump_info => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - my @objdump = map { $_->objdump } @{$self->installed->sorted_list}; - my $concatenated = join($EMPTY, @objdump); - - my @paragraphs = parse_dpkg_control_string($concatenated); - - my %objdump_info; - local $_ = undef; - - for my $paragraph (@paragraphs) { - - my %info; - - $info{'ERRORS'} = 1 - if lc($paragraph->{'Broken'}//'no') eq 'yes'; - - $info{'BAD-DYNAMIC-TABLE'} = 1 - if lc($paragraph->{'Bad-Dynamic-Table'}//'no') eq 'yes'; - - $info{'ELF-TYPE'} = $paragraph->{'Elf-Type'} - if defined $paragraph->{'Elf-Type'}; - - for my $symd (split m/\s*\n\s*/, - $paragraph->{'Dynamic-Symbols'}//$EMPTY){ - next - unless length $symd; - - if ($symd =~ m/^\s*(\S+)\s+(?:(\S+)\s+)?(\S+)$/){ - # $ver is not always there - my ($sec, $ver, $sym) = ($1, $2, $3); - $ver //= $EMPTY; - push @{ $info{'SYMBOLS'} }, [$sec, $ver, $sym]; - } - } - - for my $section (split m/\s*\n\s*/, - $paragraph->{'Section-Headers'}//$EMPTY){ - next - unless length $section; - # NB: helpers/coll/objdump-info-helper discards most - # sections. If you are missing a section name for a - # check, please update helpers/coll/objdump-info-helper to - # retrain the section name you need. - - # trim both ends - $section =~ s/^\s+|\s+$//g; - - $info{'SH'}{$section} = 1; - } - - for my $data (split m/\s*\n\s*/, - $paragraph->{'Program-Headers'}//$EMPTY){ - next - unless length $data; - - my ($header, @vals) = split m/\s++/, $data; - - for my $extra (@vals) { - - my ($opt, $val) = split m/=/, $extra; - if ($opt eq 'interp' and $header eq 'INTERP') { - $info{'INTERP'} = $val; - - } else { - $info{'PH'}{$header}{$opt} = $val; - } - } - } - - for my $data (split m/\s*\n\s*/, - $paragraph->{'Dynamic-Section'}//$EMPTY){ - next - unless length $data; - - # Here we just need RPATH and NEEDS, so ignore the rest for now - my ($header, $val) = split(m/\s++/, $data, 2); - if ($header eq 'RPATH' or $header eq 'RUNPATH') { - # RPATH is like PATH - for my $rpathcomponent (split(/:/, $val // $EMPTY)) { - $info{$header}{$rpathcomponent} = 1; - } - - } elsif ($header eq 'NEEDED' or $header eq 'SONAME') { - push @{ $info{$header} }, $val; - - } elsif ($header eq 'TEXTREL' or $header eq 'DEBUG') { - $info{$header} = 1; - - } elsif ($header eq 'FLAGS_1') { - for my $flag (split(m/\s++/, $val)) { - $info{$header}{$flag} = 1; - } - } - } - - if ($paragraph->{'Filename'} =~ m{^(.+)\(([^/\)]+)\)$}) { - - # object file in a static lib. - my $archive = $1; - my $object = $2; - - $objdump_info{$archive} //= { - 'filename' => $archive, - 'objects' => [], - }; - - push(@{ $objdump_info{$archive}->{'objects'} }, $object); - } - - $objdump_info{$paragraph->{'Filename'}} = \%info; - } - - # make object lists unique - $objdump_info{$_}->{'objects'} - = [uniq @{ $objdump_info{$_}->{'objects'} }] - for keys %objdump_info; - - return \%objdump_info; - }); - -=back - -=head1 AUTHOR - -Originally written by Felix Lechner for -Lintian. - -=head1 SEE ALSO - -lintian(1) - -=cut - -1; - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Orig.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Orig.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Orig.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Orig.pm 2022-01-11 17:11:33.000000000 +0100 @@ -71,6 +71,7 @@ my ($self) = @_; my $index = Lintian::Index->new; + $index->identifier($self->path . ' (orig)'); $index->basedir($self->basedir . $SLASH . 'orig'); return $index diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Overrides.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Overrides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Overrides.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Overrides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,6 @@ -# -*- perl -*- Lintian::Processable::Overrides -- access to override data +# -*- perl -*- Lintian::Processable::Overrides # -# Copyright © 2019 Felix Lechner +# Copyright © 2019-2021 Felix Lechner # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the Free @@ -22,10 +22,9 @@ use utf8; use Const::Fast; -use IPC::Run3; -use List::SomeUtils qw(none true first_value); -use Path::Tiny; -use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); +use List::SomeUtils qw(none true); + +use Lintian::Pointer::Item; use Moo::Role; use namespace::clean; @@ -45,271 +44,219 @@ =head1 DESCRIPTION -Lintian::Processable::Overrides provides an interface to package data for overrides. +Lintian::Processable::Overrides provides an interface to overrides. =head1 INSTANCE METHODS =over 4 -=item overrides +=item parse_overrides =cut -has overrides => ( - is => 'rw', - lazy => 1, - default => sub { - my ($self) = @_; - - my $index; - - # pick the first - my @candidates; - if ($self->type eq 'source') { - - $index = $self->patched; - - # prefer source/lintian-overrides to source.lintian-overrides - @candidates = ( - 'debian/source/lintian-overrides', - 'debian/source.lintian-overrides' - ); +sub parse_overrides { + my ($self, $contents) = @_; - } elsif ($self->type eq 'binary' || $self->type eq 'udeb') { - $index = $self->installed; + $contents //= $EMPTY; - @candidates = ('usr/share/lintian/overrides/' . $self->name); + my %override_data; - } else { - return {}; - } - - @candidates = map { ($_, "$_.gz") } @candidates; - my $override_item - = first_value { defined } map { $index->lookup($_) } @candidates; - - return {} - unless defined $override_item; + my @comments; + my %previous; - my $contents; - if ($override_item->name =~ /\.gz$/) { + my @lines = split(/\n/, $contents); - my @command - = (qw{gzip --decompress --stdout}, $override_item->name); - my $stdout; - my $stderr; + my $position = 1; + for my $line (@lines) { - run3(\@command, \undef, \$stdout, \$stderr); + my $pointer = Lintian::Pointer::Item->new; + $pointer->item($self->override_file); + $pointer->position($position); - $stdout = decode_utf8($stdout) - if length $stdout; - $stderr = decode_utf8($stderr) - if length $stderr; + my $remaining = $line; - die encode_utf8("gunzip $override_item failed: $stderr") - if length $stderr; + # trim both ends + $remaining =~ s/^\s+|\s+$//g; - $contents = $stdout; - - } else { - $contents = $override_item->decoded_utf8; + if ($remaining eq $EMPTY) { + # Throw away comments, as they are not attached to a tag + # also throw away the option of "carrying over" the last + # comment + @comments = (); + %previous = (); + next; } - return {} - unless length $contents; - - my %override_data; - my @comments; - my %previous; - - my $position = 1; - - my @lines = split(/\n/, $contents); - for my $line (@lines) { + if ($remaining =~ /^#/) { + $remaining =~ s/^# ?//; + push(@comments, $remaining); + next; + } - my $remaining = $line; + # reduce white space + $remaining =~ s/\s+/ /g; - # trim both ends - $remaining =~ s/^\s+|\s+$//g; + # [[pkg-name] [arch-list] [pkg-type]:] [context] + my $require_colon = 0; + my @architectures; + + # strip package name, if present; require name + # parsing overrides is ambiguous (see #699628) + my $package = $self->name; + if ($remaining =~ s/^\Q$package\E(?=\s|:)//) { + + # both spaces or colon were unmatched lookhead + $remaining =~ s/^\s+//; + $require_colon = 1; + } - if ($remaining eq $EMPTY) { - # Throw away comments, as they are not attached to a tag - # also throw away the option of "carrying over" the last - # comment - @comments = (); - %previous = (); - next; - } + # remove architecture list + if ($remaining =~ s/^\[([^\]]*)\](?=\s|:)//) { + @architectures = split($SPACE, $1); + + # both spaces or colon were unmatched lookhead + $remaining =~ s/^\s+//; + $require_colon = 1; + } - if ($remaining =~ /^#/) { - $remaining =~ s/^# ?//; - push(@comments, $remaining); - next; - } + # remove package type + my $type = $self->type; + if ($remaining =~ s/^\Q$type\E(?=\s|:)//) { + + # both spaces or colon were unmatched lookhead + $remaining =~ s/^\s+//; + $require_colon = 1; + } - # reduce white space - $remaining =~ s/\s+/ /g; + # require and remove colon when any package details are present + if ($require_colon && $remaining !~ s/^\s*:\s*//) { + $self->pointed_hint('malformed-override', $pointer, + 'Expected a colon'); + next; + } - # [[pkg-name] [arch-list] [pkg-type]:] [context] - my $require_colon = 0; - my @architectures; - - # strip package name, if present; require name - # parsing overrides is ambiguous (see #699628) - my $package = $self->name; - if ($remaining =~ s/^\Q$package\E(?=\s|:)//) { - - # both spaces or colon were unmatched lookhead - $remaining =~ s/^\s+//; - $require_colon = 1; - } + my $hint = $remaining; - # remove architecture list - if ($remaining =~ s/^\[([^\]]*)\](?=\s|:)//) { - @architectures = split($SPACE, $1); - - # both spaces or colon were unmatched lookhead - $remaining =~ s/^\s+//; - $require_colon = 1; - } + if (@architectures && $self->architecture eq 'all') { + $self->pointed_hint('malformed-override', $pointer, + 'Architecture list for arch:all package'); + next; + } - # remove package type - my $type = $self->type; - if ($remaining =~ s/^\Q$type\E(?=\s|:)//) { - - # both spaces or colon were unmatched lookhead - $remaining =~ s/^\s+//; - $require_colon = 1; - } + my @invalid + = grep { !$self->profile->architectures->valid_restriction($_) } + @architectures; + $self->pointed_hint('malformed-override', $pointer, + "Unknown architecture wildcard $_") + for @invalid; + + next + if @invalid; + + # count negations + my $negations = true { /^!/ } @architectures; + + # confirm it is either all or none + unless ($negations == @architectures || $negations == 0) { + $self->pointed_hint('malformed-override', $pointer, + 'Inconsistent architecture negation'); + next; + } - # require and remove colon when any package details are present - if ($require_colon && $remaining !~ s/^\s*:\s*//) { - $self->hint('malformed-override', - "Expected a colon in line $position"); - next; - } + # strip negations if present + s/^!// for @architectures; - my $hint = $remaining; + # proceed when none specified + next + if @architectures + && ( + $negations xor none { + $self->profile->architectures->restriction_matches($_, + $self->architecture) + } + @architectures + ); + + my ($tagname, $context) = split($SPACE, $hint, 2); + + $self->pointed_hint('malformed-override', $pointer, + "Cannot parse line: $line") + unless length $tagname; + + $context //= $EMPTY; + + if (($previous{tag} // $EMPTY) eq $tagname + && !scalar @comments){ + # There are no new comments, no "empty line" in between and + # this tag is the same as the last, so we "carry over" the + # comment from the previous override (if any). + # + # Since L::T::Override is (supposed to be) immutable, the new + # override can share the reference with the previous one. + push(@comments, @{$previous{comments}}); + } - if (@architectures && $self->architecture eq 'all') { - $self->hint('malformed-override', - "Architecture list for arch:all package in line $position" - ); - next; - } + my %current; + $current{tag} = $tagname; - my @invalid - = grep { !$self->profile->architectures->valid_restriction($_) } - @architectures; - $self->hint('malformed-override', - "Unknown architecture wildcard $_ in line $position") - for @invalid; - - next - if @invalid; - - # count negations - my $negations = true { /^!/ } @architectures; - - # confirm it is either all or none - unless ($negations == @architectures || $negations == 0) { - $self->hint('malformed-override', - "Inconsistent architecture negation in line $position"); - next; - } + # record line number + $current{line} = $position; - # strip negations if present - s/^!// for @architectures; + $current{context} = $context; - # proceed when none specified - next - if @architectures - && ( - $negations xor none { - $self->profile->architectures->restriction_matches($_, - $self->architecture) - } - @architectures - ); - - my ($tagname, $context) = split($SPACE, $hint, 2); - - $self->hint('malformed-override', - "Cannot parse line $position: $line") - unless length $tagname; - - $context //= $EMPTY; - - if (($previous{tag} // $EMPTY) eq $tagname - && !scalar @comments){ - # There are no new comments, no "empty line" in between and - # this tag is the same as the last, so we "carry over" the - # comment from the previous override (if any). - # - # Since L::T::Override is (supposed to be) immutable, the new - # override can share the reference with the previous one. - push(@comments, @{$previous{comments}}); + if ($context =~ m/\*/) { + # It is a pattern, pre-compute it + my $pattern = $context; + my $end = $EMPTY; # Trailing "match anything" (if any) + my $pat = $EMPTY; # The rest of the pattern + # Split does not help us if $pattern ends with * + # so we deal with that now + if ($pattern =~ s/\Q*\E+\z//){ + $end = $DOT . $ASTERISK; + } + + # Are there any * left (after the above)? + if ($pattern =~ m/\Q*\E/) { + # this works even if $text starts with a *, since + # that is split as $EMPTY, + my @pargs = split(m/\Q*\E++/, $pattern); + $pat = join($DOT . $ASTERISK, map { quotemeta } @pargs); + } else { + $pat = $pattern; } - my %current; - $current{tag} = $tagname; - - # record line number - $current{line} = $position; + $current{pattern} = qr/$pat$end/; + } - $current{context} = $context; + $current{comments} = []; + push(@{$current{comments}}, @comments); + @comments = (); - if ($context =~ m/\*/) { - # It is a pattern, pre-compute it - my $pattern = $context; - my $end = $EMPTY; # Trailing "match anything" (if any) - my $pat = $EMPTY; # The rest of the pattern - # Split does not help us if $pattern ends with * - # so we deal with that now - if ($pattern =~ s/\Q*\E+\z//){ - $end = $DOT . $ASTERISK; - } - - # Are there any * left (after the above)? - if ($pattern =~ m/\Q*\E/) { - # this works even if $text starts with a *, since - # that is split as $EMPTY, - my @pargs = split(m/\Q*\E++/, $pattern); - $pat = join($DOT . $ASTERISK, map { quotemeta } @pargs); - } else { - $pat = $pattern; - } + $override_data{$tagname} //= {}; - $current{pattern} = qr/$pat$end/; - } - - $current{comments} = []; - push(@{$current{comments}}, @comments); - @comments = (); + if (exists $override_data{$tagname}{$context}) { - $override_data{$tagname} //= {}; + my @same_context + = ($override_data{$tagname}{$context}{line}, $current{line}); - if (exists $override_data{$tagname}{$context}) { + my $lines = join($SPACE, sort @same_context); - my @same_context - = ($override_data{$tagname}{$context}{line}, $current{line}); + $self->pointed_hint('duplicate-override-context', $pointer, + $tagname, "(lines $lines)"); - $self->hint('duplicate-override-context', $tagname, 'lines', - sort @same_context); - - next; - } + next; + } - $override_data{$tagname}{$context} = \%current; + $override_data{$tagname}{$context} = \%current; - %previous = %current; + %previous = %current; - } continue { - $position++; - } + } continue { + $position++; + } - return \%override_data; - }); + return \%override_data; +} 1; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Patched.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Patched.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Patched.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Patched.pm 2022-01-11 17:11:33.000000000 +0100 @@ -72,6 +72,7 @@ my ($self) = @_; my $index = Lintian::Index->new; + $index->identifier($self->path . ' (patched)'); $index->basedir($self->basedir . $SLASH . 'unpacked'); # source packages can be unpacked anywhere; no anchored roots diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Source/Overrides.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Source/Overrides.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Source/Overrides.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Source/Overrides.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,105 @@ +# -*- perl -*- Lintian::Processable::Source::Overrides +# +# Copyright © 2019-2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Processable::Source::Overrides; + +use v5.20; +use warnings; +use utf8; + +use List::SomeUtils qw(first_value); + +use Moo::Role; +use namespace::clean; + +with 'Lintian::Processable::Overrides'; + +=head1 NAME + +Lintian::Processable::Source::Overrides - access to override data + +=head1 SYNOPSIS + + use Lintian::Processable; + +=head1 DESCRIPTION + +Lintian::Processable::Source::Overrides provides an interface to overrides. + +=head1 INSTANCE METHODS + +=over 4 + +=item override_file + +=cut + +has override_file => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + # prefer source/lintian-overrides to source.lintian-overrides + my @candidates = ('debian/source/lintian-overrides', + 'debian/source.lintian-overrides'); + + # pick the first + my $override_item= first_value { defined } + map { $self->patched->lookup($_) } @candidates; + + return $override_item; + }); + +=item overrides + +=cut + +has overrides => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + return {} + unless defined $self->override_file; + + my $contents = $self->override_file->decoded_utf8; + + return $self->parse_overrides($contents); + }); + +1; + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for +Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Processable/Source.pm lintian-2.114.0ubuntu1/lib/Lintian/Processable/Source.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Processable/Source.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Processable/Source.pm 2022-01-11 17:11:33.000000000 +0100 @@ -31,7 +31,8 @@ use Moo; use namespace::clean; -with 'Lintian::Processable', +with + 'Lintian::Processable', 'Lintian::Processable::Diffstat', 'Lintian::Processable::Changelog', 'Lintian::Processable::Changelog::Version', @@ -39,10 +40,10 @@ 'Lintian::Processable::Fields::Files', 'Lintian::Processable::IsNonFree', 'Lintian::Processable::Orig', - 'Lintian::Processable::Overrides', 'Lintian::Processable::Patched', 'Lintian::Processable::Source::Components', 'Lintian::Processable::Source::Format', + 'Lintian::Processable::Source::Overrides', 'Lintian::Processable::Source::Relation', 'Lintian::Processable::Source::Repacked'; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Profile/Debhelper/Addons.pm lintian-2.114.0ubuntu1/lib/Lintian/Profile/Debhelper/Addons.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Profile/Debhelper/Addons.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Profile/Debhelper/Addons.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,79 @@ +# -*- perl -*- +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Profile::Debhelper::Addons; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Data::Debhelper::Addons; + +use Moo::Role; +use namespace::clean; + +=head1 NAME + +Lintian::Profile::Debhelper::Addons - Lintian interface to Debhelper addons + +=head1 SYNOPSIS + + my $profile = Lintian::Profile->new; + +=head1 DESCRIPTION + +Lintian::Profile::Debhelper::Addons provides an interface to Debhelper addons. + +=head1 INSTANCE METHODS + +=over 4 + +=item debhelper_addons + +=cut + +has debhelper_addons => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my $addons = Lintian::Data::Debhelper::Addons->new; + $addons->load($self->data_paths, $self->our_vendor); + + return $addons; + }); + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Profile/Debhelper/Commands.pm lintian-2.114.0ubuntu1/lib/Lintian/Profile/Debhelper/Commands.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Profile/Debhelper/Commands.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Profile/Debhelper/Commands.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,79 @@ +# -*- perl -*- +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Profile::Debhelper::Commands; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Data::Debhelper::Commands; + +use Moo::Role; +use namespace::clean; + +=head1 NAME + +Lintian::Profile::Debhelper::Commands - Lintian interface to Debhelper commands + +=head1 SYNOPSIS + + my $profile = Lintian::Profile->new; + +=head1 DESCRIPTION + +Lintian::Profile::Debhelper::Commands provides an interface to Debhelper commands. + +=head1 INSTANCE METHODS + +=over 4 + +=item debhelper_commands + +=cut + +has debhelper_commands => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my $commands = Lintian::Data::Debhelper::Commands->new; + $commands->load($self->data_paths, $self->our_vendor); + + return $commands; + }); + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Profile/Fonts.pm lintian-2.114.0ubuntu1/lib/Lintian/Profile/Fonts.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Profile/Fonts.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Profile/Fonts.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,79 @@ +# -*- perl -*- +# +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for +# more details. +# +# You should have received a copy of the GNU General Public License along with +# this program. If not, see . + +package Lintian::Profile::Fonts; + +use v5.20; +use warnings; +use utf8; + +use Lintian::Data::Fonts; + +use Moo::Role; +use namespace::clean; + +=head1 NAME + +Lintian::Profile::Fonts - Lintian interface to fonts + +=head1 SYNOPSIS + + my $profile = Lintian::Profile->new; + +=head1 DESCRIPTION + +Lintian::Profile::Fonts provides an interface to fonts. + +=head1 INSTANCE METHODS + +=over 4 + +=item fonts + +=cut + +has fonts => ( + is => 'rw', + lazy => 1, + default => sub { + my ($self) = @_; + + my $fonts = Lintian::Data::Fonts->new; + $fonts->load($self->data_paths, $self->our_vendor); + + return $fonts; + }); + +=back + +=head1 AUTHOR + +Originally written by Felix Lechner for Lintian. + +=head1 SEE ALSO + +lintian(1) + +=cut + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Profile.pm lintian-2.114.0ubuntu1/lib/Lintian/Profile.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Profile.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Profile.pm 2022-01-11 17:11:33.000000000 +0100 @@ -45,7 +45,10 @@ use namespace::clean; with 'Lintian::Profile::Architectures', + 'Lintian::Profile::Debhelper::Addons', + 'Lintian::Profile::Debhelper::Commands', 'Lintian::Profile::Debhelper::Levels', + 'Lintian::Profile::Fonts', 'Lintian::Profile::Hardening::Buildflags', 'Lintian::Profile::Manual::References', 'Lintian::Profile::Policy::Releases'; @@ -306,8 +309,7 @@ for my $tagpath (@tagpaths) { my $tag = Lintian::Tag->new; - $tag->profile($self); - $tag->load($tagpath); + $tag->load($self, $tagpath); die encode_utf8("Tag in $tagpath is not associated with a check") unless length $tag->check; diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Reporting/Util.pm lintian-2.114.0ubuntu1/lib/Lintian/Reporting/Util.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Reporting/Util.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Reporting/Util.pm 2022-01-11 17:11:33.000000000 +0100 @@ -55,6 +55,7 @@ use File::Temp qw(tempfile); use List::Util qw(shuffle); use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(encode_utf8); use YAML::XS (); @@ -84,15 +85,18 @@ my $yaml = path($state_file)->slurp; - eval {$state = YAML::XS::Load($yaml);}; - # Not sure what Load does in case of issues; perldoc YAML says - # very little about it. Based on YAML::Error, I guess it will - # write stuff to STDERR and use die/croak, but it remains a - # guess. - if (my $err = $@) { + try { + $state = YAML::XS::Load($yaml); + + } catch { + # Not sure what Load does in case of issues; perldoc YAML says + # very little about it. Based on YAML::Error, I guess it will + # write stuff to STDERR and use die/croak, but it remains a + # guess. die encode_utf8( - "$state_file was invalid; please fix or remove it.\n$err"); + "$state_file was invalid; please fix or remove it.\n$@"); } + $state //= {}; if (ref($state) ne 'HASH') { @@ -118,7 +122,7 @@ # atomic replacement of the state file; not a substitute for # proper locking, but it will at least ensure that the file # is in a consistent state. - eval { + try { print {$tmp_fd} encode_utf8(YAML::XS::Dump($state)); close($tmp_fd) or die encode_utf8("close $tmp_path: $!"); @@ -129,15 +133,19 @@ rename($tmp_path, $state_file) or die encode_utf8("rename $tmp_path -> $state_file: $!"); - }; - if (my $err = $@) { + + } catch { + my $err = $@; if (-e $tmp_path) { # Ignore error as we have a more important one unlink($tmp_path) or warn encode_utf8("Cannot unlink $tmp_path"); } die encode_utf8($err); - } + + # perlcritic 1.140-1 requires the semicolon on the next line + }; + return 1; } diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm lintian-2.114.0ubuntu1/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,47 @@ +# Copyright © 2021 Felix Lechner +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +package Lintian::Screen::Coq::Cmxs::Prerequisites; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $context) = @_; + + return 1 + if $context =~ m{ [.]cmxs $}x + && ( $processable->type eq 'binary' + || $processable->type eq 'udeb'); + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/lib/Lintian/Tag.pm lintian-2.114.0ubuntu1/lib/Lintian/Tag.pm --- lintian-2.111.0ubuntu2/lib/Lintian/Tag.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Lintian/Tag.pm 2022-01-11 17:11:33.000000000 +0100 @@ -36,10 +36,7 @@ use namespace::clean; const my $EMPTY => q{}; -const my $SPACE => q{ }; const my $SLASH => q{/}; -const my $LEFT_PARENTHESIS => q{(}; -const my $RIGHT_PARENTHESIS => q{)}; # Ordered lists of visibilities, used for display level parsing. our @VISIBILITIES= qw(classification pedantic info warning error); @@ -150,8 +147,6 @@ coerce => sub { my ($arrayref) = @_; return ($arrayref // []); }, default => sub { [] }); -has profile => (is => 'rw'); - =item load(PATH) Loads a tag description from PATH. @@ -159,7 +154,10 @@ =cut sub load { - my ($self, $tagpath) = @_; + my ($self, $profile, $tagpath) = @_; + + croak encode_utf8('No profile') + unless defined $profile; croak encode_utf8("Cannot read tag file from $tagpath") unless -r $tagpath; @@ -188,7 +186,9 @@ @see_also = $fields->trimmed_list('Ref', qr{,}) unless @see_also; - my @markdown = map { $self->markdown_citation($_) } @see_also; + my $manuals = $profile->manual_references; + + my @markdown = map { $manuals->markdown_citation($_) } @see_also; $self->see_also(\@markdown); $self->renamed_from([$fields->trimmed_list('Renamed-From')]); @@ -208,7 +208,7 @@ my @candidates = map { ("$_/lib/Lintian/Screen/$relative.pm", "$_/screens/relative.pm") - } @{$self->profile->safe_include_dirs}; + } @{$profile->safe_include_dirs}; my $absolute = first_value { -e } @candidates; require $absolute; @@ -227,7 +227,7 @@ my @see_also_screen = $section->trimmed_list('See-Also', qr{,}); my @markdown_screen - = map { $self->markdown_citation($_) } @see_also_screen; + = map { $manuals->markdown_citation($_) } @see_also_screen; $screen->see_also(\@markdown_screen); push(@screens, $screen); @@ -263,109 +263,6 @@ return $CODES{$self->visibility}; } -=item markdown_citation - -=cut - -sub markdown_citation { - my ($self, $citation) = @_; - - my $markdown; - - if ($citation =~ /^([\w-]+)\s+(.+)$/) { - $markdown = $self->markdown_from_manuals($1, $2); - - } elsif ($citation =~ /^([\w.-]+)\((\d\w*)\)$/) { - my ($name, $section) = ($1, $2); - my $url - ="https://manpages.debian.org/cgi-bin/man.cgi?query=$name&sektion=$section"; - my $hyperlink = markdown_hyperlink($citation, $url); - $markdown = "the $hyperlink manual page"; - - } elsif ($citation =~ m{^(ftp|https?)://}) { - $markdown = markdown_hyperlink(undef, $citation); - - } elsif ($citation =~ m{^/}) { - $markdown = markdown_hyperlink($citation, "file://$citation"); - - } elsif ($citation =~ m{^(?:Bug)?#(\d+)$}) { - my $bugnumber = $1; - $markdown - = markdown_hyperlink($citation,"https://bugs.debian.org/$bugnumber"); - } - - return $markdown // $citation; -} - -=item markdown_from_manuals - -=cut - -sub markdown_from_manuals { - my ($self, $volume, $section) = @_; - - croak encode_utf8('No profile') - unless defined $self->profile; - - my $MANUALS = $self->profile->manual_references; - - return $EMPTY - unless $MANUALS->recognizes($volume); - - my $entry = $MANUALS->value($volume); - - # start with the citation to the overall manual. - my $title = $entry->{$EMPTY}{title}; - my $url = $entry->{$EMPTY}{url}; - - my $markdown = markdown_hyperlink($title, $url); - - return $markdown - unless length $section; - - # Add the section information, if present, and a direct link to that - # section of the manual where possible. - if ($section =~ /^[A-Z]+$/) { - $markdown .= " appendix $section"; - - } elsif ($section =~ /^\d+$/) { - $markdown .= " chapter $section"; - - } elsif ($section =~ /^[A-Z\d.]+$/) { - $markdown .= " section $section"; - } - - return $markdown - unless exists $entry->{$section}; - - my $section_title = $entry->{$section}{title}; - my $section_url = $entry->{$section}{url}; - - $markdown - .= $SPACE - . $LEFT_PARENTHESIS - . markdown_hyperlink($section_title, $section_url) - . $RIGHT_PARENTHESIS; - - return $markdown; -} - -=item markdown_hyperlink - -=cut - -sub markdown_hyperlink { - my ($text, $url) = @_; - - return $text - unless length $url; - - return "<$url>" - unless length $text; - - return "[$text]($url)"; -} - =back =head1 AUTHOR diff -Nru lintian-2.111.0ubuntu2/lib/Test/Lintian/Prepare.pm lintian-2.114.0ubuntu1/lib/Test/Lintian/Prepare.pm --- lintian-2.111.0ubuntu2/lib/Test/Lintian/Prepare.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Test/Lintian/Prepare.pm 2022-01-11 17:11:33.000000000 +0100 @@ -57,7 +57,6 @@ use List::Util qw(max); use Path::Tiny; use Text::Template; -use Try::Tiny; use Unicode::UTF8 qw(encode_utf8); use Lintian::Deb822::Section; diff -Nru lintian-2.111.0ubuntu2/lib/Test/Lintian/Run.pm lintian-2.114.0ubuntu1/lib/Test/Lintian/Run.pm --- lintian-2.111.0ubuntu2/lib/Test/Lintian/Run.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Test/Lintian/Run.pm 2022-01-11 17:11:33.000000000 +0100 @@ -63,9 +63,9 @@ use List::Compare; use List::Util qw(max min any all); use Path::Tiny; +use Syntax::Keyword::Try; use Test::More; use Text::Diff; -use Try::Tiny; use Unicode::UTF8 qw(encode_utf8 decode_utf8); use Lintian::Deb822::File; @@ -120,10 +120,10 @@ # call runner runner($runpath, $logpath) - }catch { + } catch { # catch any error - $error = $_; - }; + $error = $@; + } }; my $log = decode_utf8($log_bytes); diff -Nru lintian-2.111.0ubuntu2/lib/Test/Lintian.pm lintian-2.114.0ubuntu1/lib/Test/Lintian.pm --- lintian-2.111.0ubuntu2/lib/Test/Lintian.pm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/lib/Test/Lintian.pm 2022-01-11 17:11:33.000000000 +0100 @@ -74,6 +74,7 @@ use File::Find (); use List::SomeUtils qw{any}; use Path::Tiny; +use Syntax::Keyword::Try; use Unicode::UTF8 qw(valid_utf8 decode_utf8 encode_utf8); use Lintian::Spelling qw(check_spelling); @@ -167,14 +168,20 @@ "File $desc_file does not use a national encoding."); next unless valid_utf8($bytes); + my $contents = decode_utf8($bytes); - eval {($header, @tagpara) = parse_dpkg_control_string($contents);}; - if (my $err = $@) { + + try { + ($header, @tagpara) = parse_dpkg_control_string($contents); + + } catch { + my $err = $@; $err =~ s/ at .*? line \d+\s*\n//; $builder->ok(0, "Cannot parse $desc_file"); $builder->diag("Error: $err"); next; } + my $content_type = 'Check'; my $cname = $header->{'Check-Script'}//$EMPTY; my $ctype = $header->{'Type'} // $EMPTY; @@ -310,13 +317,16 @@ sub test_load_profiles { my ($dir, @inc) = @_; + my $builder = $CLASS->builder; my $absdir = realpath $dir; my $sre; my %opt = ('no_chdir' => 1,); + if (not defined $absdir) { die encode_utf8("$dir cannot be resolved: $!"); } + $absdir = "$absdir/profiles"; $sre = qr{\Q$absdir\E/}; @@ -331,11 +341,15 @@ my $profile = Lintian::Profile->new; - eval {$profile->load($profname, \@inc, 0);}; - my $err = $@; + try { + $profile->load($profname, \@inc, 0); + + } catch { + $builder->diag("Load error: $@\n"); + $profile = 0; + } - $builder->ok($profile, "$profname is loadable.") - or $builder->diag("Load error: $err\n"); + $builder->ok($profile, "$profname is loadable."); }; File::Find::find(\%opt, $absdir); @@ -410,18 +424,18 @@ foreach my $checkname (@checknames) { my $path = $profile->check_path_by_name->{$checkname}; - eval { require $path; }; - if ( - !$builder->is_eq( - $@//$EMPTY, $EMPTY, "Check $checkname can be loaded" - ) - ){ + try { + require $path; + + } catch { $builder->skip( "Cannot check if $checkname has entry points due to load error" ); next; } + $builder->ok(1, "Check $checkname can be loaded"); + my $module = $profile->check_module_by_name->{$checkname}; $builder->diag( diff -Nru lintian-2.111.0ubuntu2/private/build-test-packages lintian-2.114.0ubuntu1/private/build-test-packages --- lintian-2.111.0ubuntu2/private/build-test-packages 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/build-test-packages 1970-01-01 01:00:00.000000000 +0100 @@ -1,507 +0,0 @@ -#!/usr/bin/perl - -# Copyright © 1998 Richard Braakman -# Copyright © 2008 Frank Lichtenheld -# Copyright © 2008, 2009 Russ Allbery -# Copyright © 2014 Niels Thykier -# Copyright © 2020 Felix Lechner -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -# The harness for Lintian's test suite. For detailed information on -# the test suite layout and naming conventions, see t/tests/README. -# For more information about running tests, see -# doc/tutorial/Lintian/Tutorial/TestSuite.pod - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use Cwd qw(realpath); -use File::Basename qw(dirname); - -# neither Path::This nor lib::relative are in Debian -use constant THISFILE => realpath __FILE__; -use constant THISDIR => dirname realpath __FILE__; - -# use Lintian modules that belong to this program -use lib THISDIR . '/../lib'; - -use Cwd qw(getcwd); -use Capture::Tiny qw(capture_merged); -use File::Copy; -use File::Find::Rule; -use File::stat; -use Getopt::Long; -use IPC::Run3; -use List::Compare; -use MCE::Loop; -use Path::Tiny; -use Time::Duration; -use Time::Moment; -use Time::Piece; -use Try::Tiny; -use Unicode::UTF8 qw(encode_utf8 decode_utf8); - -use Lintian::IPC::Run3 qw(safe_qx); - -use Test::Lintian::Build qw(build_subject); -use Test::Lintian::ConfigFile qw(read_config); -use Test::Lintian::Helper - qw(rfc822date cache_dpkg_architecture_values get_latest_policy get_recommended_debhelper_version); -use Test::Lintian::Hooks qw(sed_hook sort_lines calibrate); -use Test::Lintian::Prepare qw(prepare); - -const my $EMPTY => q{}; -const my $SPACE => q{ }; -const my $INDENT => $SPACE x 4; -const my $NEWLINE => qq{\n}; -const my $SLASH => q{/}; -const my $COLON => q{:}; -const my $ARROW => q{>>>}; -const my $YES => q{yes}; -const my $NO => q{no}; - -const my $WIDELY_READABLE => oct(22); - -my $processing_start = Time::Moment->from_string(gmtime->datetime . 'Z'); - -# whitelist the environment we permit to avoid things that mess up -# tests, like CFLAGS, DH_OPTIONS, DH_COMPAT, DEB_HOST_ARCH -# TODO: MAKEFLAGS - some of the tests don't cope too well with it -my %PRESERVE_ENV = map { $_ => 1 } qw( - NO_PKG_MANGLE - PATH - TMPDIR - CCACHE_DIR -); - -my @disallowed = grep { !exists $PRESERVE_ENV{$_} } keys %ENV; - -delete $ENV{$_} for @disallowed; - -# Standard pipeline installs ccache; causes write permission errors on Salsa -# https://salsa.debian.org/salsa-ci-team/pipeline/-/issues/164 -$ENV{CCACHE_DISABLE} = 1; - -# Ubuntu auto-builders run pkg-mangle which messes up test packages -$ENV{NO_PKG_MANGLE} //= 'true'; - -$ENV{LINTIAN_BASE} = realpath(THISDIR . '/..') - // die encode_utf8('Cannot resolve LINTIAN_BASE'); - -# options -my $debug; -my $dump_logs = 1; -my $force_rebuild; -my $numjobs; -my $outpath; -my $verbose = 0; - -Getopt::Long::Configure('bundling'); -unless ( - Getopt::Long::GetOptions( - 'B|force-rebuild' => \$force_rebuild, - 'd|debug+' => \$debug, - 'j|jobs:i' => \$numjobs, - 'L|dump-logs!' => \$dump_logs, - 'v|verbose' => \$verbose, - 'w|work-dir:s' => \$outpath, - 'h|help' => sub {usage(); exit;}, - ) -) { - usage(); - die; -} - -# check number of arguments -die encode_utf8('Please use -h for usage information.') - if @ARGV > 1; - -# get arguments -my ($testset) = @ARGV; - -# default test set -$testset ||= 't'; - -# check test set directory -die encode_utf8("Cannot find testset directory $testset") - unless -d $testset; - -# make sure testset is an absolute path -$testset = path($testset)->absolute->stringify; - -# calculate a default test work directory if none given -$outpath ||= path($testset)->parent->stringify . '/debian/test-out'; - -# create test work directory unless it exists -path($outpath)->mkpath - unless -e $outpath; - -# make sure test work path is a directory -die encode_utf8("Test work directory $outpath is not a directory") - unless -d $outpath; - -say encode_utf8($EMPTY); - -# tie verbosity to debug -$verbose = 1 + $debug if $debug; - -# can be 0 without value ("-j"), or undef if option was not specified at all -$numjobs ||= default_parallel(); -say encode_utf8("Running up to $numjobs tests concurrently") - if $numjobs > 1 && $verbose >= 2; - -$ENV{'DUMP_LOGS'} = $dump_logs//$NO ? $YES : $NO; - -# Disable translation support in dpkg as it is a considerable -# unnecessary overhead. -$ENV{'DPKG_NLS'} = 0; - -my $helperpath = "$testset/../bin"; -if (-d $helperpath) { - my $helpers = path($helperpath)->absolute->stringify - // die encode_utf8("Cannot resolve $helperpath: $!"); - $ENV{'PATH'} = "$helpers:$ENV{'PATH'}"; -} - -# get architecture -cache_dpkg_architecture_values(); -say encode_utf8("Host architecture is $ENV{'DEB_HOST_ARCH'}."); - -# get latest policy version and date -($ENV{'POLICY_VERSION'}, $ENV{'POLICY_EPOCH'}) = get_latest_policy(); -say encode_utf8("Latest policy version is $ENV{'POLICY_VERSION'} from " - . rfc822date($ENV{'POLICY_EPOCH'})); - -# get current debhelper compat level; do not name DH_COMPAT; causes conflict -$ENV{'DEFAULT_DEBHELPER_COMPAT'} = get_recommended_debhelper_version(); -say encode_utf8( -"Using compat level $ENV{'DEFAULT_DEBHELPER_COMPAT'} as a default for packages built with debhelper." -); - -say encode_utf8($EMPTY); - -# print environment -my @vars = sort keys %ENV; -say encode_utf8('Environment:') if @vars; -for my $var (@vars) { say encode_utf8($INDENT . "$var=$ENV{$var}") } - -say encode_utf8($EMPTY); - -my $status = 0; - -my $recipe_root = "$testset/recipes"; - -# find build specifications -my @recipes = map { path($_)->parent->stringify } - sort File::Find::Rule->relative->name('build-spec')->in($recipe_root); - -# prepare output directories -say encode_utf8( - 'Preparing the sources for '. scalar @recipes. ' test packages.') - if @recipes; - -# for filled templates -my $source_root = "$outpath/package-sources"; - -# for built test packages -my $build_root = "$outpath/packages"; - -my @source_paths - = map { path($_)->absolute($source_root)->stringify } @recipes; -my @build_paths = map { path($_)->absolute($build_root)->stringify } @recipes; - -# remove obsolete package sources -my @found_sources = map { path($_)->parent->absolute->stringify; } - File::Find::Rule->file->name('fill-values')->in($source_root); -my $sourcelc = List::Compare->new(\@found_sources, \@source_paths); -my @obsolete_sources = $sourcelc->get_Lonly; -path($_)->remove_tree for @obsolete_sources; - -# remove obsolete built packages -my @found_builds = map { path($_)->parent->absolute->stringify; } - File::Find::Rule->file->name('source-files.sha1sums')->in($build_root); -my $packagelc= List::Compare->new(\@found_builds, \@build_paths); -my @obsolete_builds = $packagelc->get_Lonly; -path($_)->remove_tree for @obsolete_builds; - -# remove empty directories -for my $folder (@obsolete_sources, @obsolete_builds) { - my $candidate = path($folder)->parent; - while ($candidate->exists && !$candidate->children) { - rmdir $candidate->stringify; - $candidate = $candidate->parent; - } -} - -$ENV{PERL_PATH_TINY_NO_FLOCK} =1; - -$SIG{INT} = sub { MCE::Loop->finish; die encode_utf8("Caught a sigint $!") }; -my $mce_loop = MCE::Loop->init( - max_workers => $numjobs, - chunk_size => 1, - flush_stdout => 1, - flush_stderr => 1, -); - -my %failedprep = mce_loop { - my ($mce, $chunk_ref, $chunk_id) = @_; - - prepare_build($mce, $_); -} -@recipes; - -if (%failedprep) { - say encode_utf8($EMPTY); - say encode_utf8('Failed preparation tasks:'); - for my $recipe (sort keys %failedprep) { - say encode_utf8($EMPTY); - say encode_utf8($ARROW - . $SPACE - . path("$recipe_root/$recipe")->relative->stringify - . $COLON); - print encode_utf8($failedprep{$recipe}); - } - - MCE::Loop->finish; - exit 1; - -} else { - say encode_utf8('Package sources are ready.'); -} - -say encode_utf8($EMPTY); - -my %failedbuilds = mce_loop { - my ($mce, $chunk_ref, $chunk_id) = @_; - - build_package($mce, $_, $chunk_id, scalar @recipes); -} -@recipes; - -$SIG{INT} = 'DEFAULT'; -MCE::Loop->finish; - -if (%failedbuilds) { - say encode_utf8($EMPTY); - say encode_utf8('Failed build tasks:'); - for my $recipe (sort keys %failedbuilds) { - say encode_utf8($EMPTY); - say encode_utf8($ARROW - . $SPACE - . path("$recipe_root/$recipe")->relative->stringify - . $COLON); - print encode_utf8($failedbuilds{$recipe}); - } - - exit 1; -} else { - say encode_utf8('All test packages are up to date.'); -} - -say encode_utf8($EMPTY); - -my $processing_end = Time::Moment->from_string(gmtime->datetime . 'Z'); -my $duration = duration($processing_start->delta_seconds($processing_end)); -say encode_utf8("Building the test packages took $duration."); - -say encode_utf8($EMPTY); - -exit 0; - -# program is done - -sub prepare_build { - my ($mce, $recipe) = @_; - - # label process - $0 = "Lintian prepare test: $recipe"; - - # destination - my $source_path = "$source_root/$recipe"; - - my $error; - - # capture output - my $log_bytes =capture_merged { - - try { - - # remove destination - path($source_path)->remove_tree - if -e $source_path; - - # prepare - prepare("$recipe_root/$recipe/build-spec", - $source_path, $testset, $force_rebuild); - - }catch { - # catch any error - $error = $_; - }; - }; - - my $log = decode_utf8($log_bytes); - - # save log; - my $logfile = "$source_path.log"; - path($logfile)->spew_utf8($log) if $log; - - $mce->gather($recipe, $error) - if length $error; - - return; -} - -sub build_package { - my ($mce, $recipe, $position, $total) = @_; - - # set a predictable locale - $ENV{'LC_ALL'} = 'C'; - - # many tests create files via debian/rules - umask $WIDELY_READABLE; - - # get destination - my $source_path = "$source_root/$recipe"; - my $build_path = "$build_root/$recipe"; - - my $savedir = getcwd; - chdir $source_path - or die encode_utf8("Cannot change to directory $source_path"); - - my $sha1sums_bytes; - run3('find . -type f -print0 | sort -z | xargs -0 sha1sum', - \undef, \$sha1sums_bytes); - - chdir $savedir - or die encode_utf8("Cannot change to directory $savedir"); - - my $sha1sums = decode_utf8($sha1sums_bytes); - - my $checksum_path = "$build_path/source-files.sha1sums"; - if (-r $checksum_path) { - my $previous = path($checksum_path)->slurp_utf8; - - # only rebuild if needed - # also need to look for build subject - return - if $sha1sums eq $previous; - } - - $0 = "Lintian build test: $recipe [$position/$total]"; - say encode_utf8('Building in ' - . path($build_path)->relative->stringify - . " [$position/$total]"); - - path($build_path)->remove_tree - if -e $build_path; - path($build_path)->mkpath; - - # read dynamic file names - my $runfiles = "$source_path/files"; - my $files = read_config($runfiles); - - my $error; - - my $log_bytes = capture_merged { - - try { - # call runner - build_subject($source_path, $build_path); - }catch { - # catch any error - $error = $_; - }; - }; - - my $log = decode_utf8($log_bytes); - - # delete old runner log - my $betterlogpath= $build_path . $SLASH . $files->unfolded_value('Log'); - if (-e $betterlogpath) { - unlink $betterlogpath - or die encode_utf8("Cannot unlink $betterlogpath"); - } - - # move the early log for directory preparation to position of runner log - my $earlylogpath = "$source_path.log"; - move($earlylogpath, $betterlogpath) if -e $earlylogpath; - - # append runner log to population log - path($betterlogpath)->append_utf8($log) if length $log; - - # add error if there was one - path($betterlogpath)->append_utf8($error) if length $error; - - path($checksum_path)->spew_utf8($sha1sums) - unless length $error; - - $mce->gather(path($build_path)->relative->stringify, $error) - if length $error; - - return; -} - -=item default_parallel - -=cut - -# Return the default number of parallelization to be used -sub default_parallel { - # check cpuinfo for the number of cores... - my $cpus = decode_utf8(safe_qx('nproc')); - if ($cpus =~ m/^\d+$/) { - # Running up to twice the number of cores usually gets the most out - # of the CPUs and disks but it might be too aggressive to be the - # default for -j. Only use +1 then. - return $cpus + 1; - } - - # No decent number of jobs? Just use 2 as a default - return 2; -} - -sub usage { - my $message =<<"END"; --Usage: $0 [options] [-j []] [] - - -d Display additional debugging information - --dump-logs Print build log to STDOUT, if a build fails. - -j [] Run up to jobs in parallel. - If -j is passed without specifying , the number - of jobs started is +1. - -v Be more verbose - --help, -h Print this help and exit - - The optional 3rd parameter causes runtests to only run tests that match - the particular selection. This parameter can be a list of selectors: - what:[,] -END - - print encode_utf8($message); - - return; -} - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/build-test-packages-if-needed lintian-2.114.0ubuntu1/private/build-test-packages-if-needed --- lintian-2.111.0ubuntu2/private/build-test-packages-if-needed 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/build-test-packages-if-needed 1970-01-01 01:00:00.000000000 +0100 @@ -1,95 +0,0 @@ -#!/bin/sh -# -# Copyright © 2019 Chris Lamb /dev/null | \ - grep MD5Sum: | cut -d' ' -f2 | cut -d_ -f1-2; - dpkg -l | awk '{ print $2 "_" $3 }' - ) | sort -} - -CHECKSUM="$(Checksum_input | sha1sum | cut -d ' ' -f1)" -CACHE_FILENAME="${CACHE_DIR}/${PIPELINE}-${CHECKSUM}.tar.xz" - -echo "Cache filename: ${CACHE_FILENAME}" - -# get some debug output -apt-cache --quiet policy -apt-cache --quiet policy debhelper - -# get prequisites early, otherwise tar fails for lack of xz-utils -env DEBIAN_FRONTEND=noninteractive apt-get --quiet --yes --option dir::cache::archives="${CACHE_DIR}" --option Debug::pkgProblemResolver=yes build-dep . - -mkdir -p .cache - -echo "I: Showing artifacts in .cache" >&2 -ls -al .cache >&2 - -echo "I: Looking for ${CACHE_FILENAME}" >&2 - -if [ -f "${CACHE_FILENAME}" ] -then - echo "I: Extracting ${CACHE_FILENAME}" >&2 - rm -rf debian/test-out/packages - tar xfJ "${CACHE_FILENAME}" -fi - -private/build-test-packages - -echo "I: Removing obsolete test package artifacts from .cache" >&2 -find .cache \ - -maxdepth 1 \ - -type f \ - -regextype posix-egrep \ - -regex "^\.cache/${PIPELINE}-[[:xdigit:]]{40}\.tar\.xz\$" \ - -print \ - -delete - -echo "I: Removing old-style artifacts (no pipeline in name) from .cache" >&2 -find .cache \ - -maxdepth 1 \ - -type f \ - -regextype posix-egrep \ - -regex '^\.cache/[[:xdigit:]]{40}\.tar\.xz$' \ - -print \ - -delete - -echo "I: Creating ${CACHE_FILENAME}" >&2 -mkdir -p "$(dirname "${CACHE_FILENAME}")" -tar cfJ "${CACHE_FILENAME}" debian/test-out/packages - -cp -v "${CACHE_FILENAME}" test-packages.tar.xz - -echo "I: Showing artifacts in .cache" >&2 -ls -al .cache >&2 diff -Nru lintian-2.111.0ubuntu2/private/gitlab-ci-pipeline lintian-2.114.0ubuntu1/private/gitlab-ci-pipeline --- lintian-2.111.0ubuntu2/private/gitlab-ci-pipeline 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/gitlab-ci-pipeline 1970-01-01 01:00:00.000000000 +0100 @@ -1,96 +0,0 @@ -#!/bin/bash -# ^^^ bash provides 'time', and is also the standard in .gitlab-ci.yml -# -# Copyright © 2019 Chris Lamb -# Copyright © 2020 Felix Lechner -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -set -eux - -CACHE_DIR="${1}" -PIPELINE="${2}" - -Checksum_input () { - # Local files that, if changed, should result in a rebuild of the test - # packages. - find \ - private/build-test-packages \ - lib/Test/ \ - -type f -print0 | sort -z | xargs -0 sha1sum - - # Rebuild if any build-dependency or installed package changes - ( - apt-get --quiet --yes --print-uris build-dep . 2>/dev/null | \ - grep MD5Sum: | cut -d' ' -f2 | cut -d_ -f1-2; - dpkg -l | awk '{ print $2 "_" $3 }' - ) | sort -} - -# for apt and friends -export DEBIAN_FRONTEND="noninteractive" - -# update package info -apt-get --quiet update - -if [ "${PIPELINE}" == "stable" ] ; then - - # get the release code name - source /etc/os-release - - # ignore status when backports repo is not set up, i.e. unstable or new releases - apt-get --quiet --yes --target-release "${VERSION_CODENAME}-backports" --option dir::cache::archives="${CACHE_DIR}" install debhelper || true - -fi - -# get prequisites early, otherwise tar fails for lack of xz-utils -apt-get --quiet --yes --option dir::cache::archives="${CACHE_DIR}" --option Debug::pkgProblemResolver=yes build-dep . - -mkdir -p "${CACHE_DIR}" -echo "I: Showing artifacts in ${CACHE_DIR}" >&2 -ls -al "${CACHE_DIR}" >&2 - -CHECKSUM="$(Checksum_input | sha1sum | cut -d ' ' -f1)" -CACHE_FILENAME="${CACHE_DIR}/${PIPELINE}-${CHECKSUM}.tar.xz" -echo "I: Looking for ${CACHE_FILENAME}" >&2 - -if [ -f "${CACHE_FILENAME}" ] -then - echo "I: Extracting ${CACHE_FILENAME}" >&2 - rm -rf debian/test-out/packages - tar xfJ "${CACHE_FILENAME}" -fi - -time private/build-test-packages - -echo "I: Removing obsolete test package artifacts for ${PIPELINE} pipeline from ${CACHE_DIR}" >&2 -find "${CACHE_DIR}" \ - -maxdepth 1 \ - -type f \ - -regextype posix-egrep \ - -regex "^${CACHE_DIR}/${PIPELINE}-[[:xdigit:]]{40}\.tar\.xz\$" \ - -print \ - -delete - -echo "I: Creating ${CACHE_FILENAME}" >&2 -mkdir -p "$(dirname "${CACHE_FILENAME}")" -tar cfJ "${CACHE_FILENAME}" debian/test-out/packages - -echo "I: Showing artifacts in ${CACHE_DIR}" >&2 -ls -al "${CACHE_DIR}" >&2 - -time private/runtests diff -Nru lintian-2.111.0ubuntu2/private/refresh-archs lintian-2.114.0ubuntu1/private/refresh-archs --- lintian-2.111.0ubuntu2/private/refresh-archs 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/refresh-archs 1970-01-01 01:00:00.000000000 +0100 @@ -1,64 +0,0 @@ -#!/usr/bin/perl -# -# Copyright © 2020 Felix Lechner -# -# This program is free software. It is distributed under the terms of -# the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any -# later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -use v5.20; -use warnings; -use utf8; - -use Cwd qw(realpath); -use File::Basename qw(dirname); - -# neither Path::This nor lib::relative are in Debian -use constant THISFILE => realpath __FILE__; -use constant THISDIR => dirname realpath __FILE__; - -# use Lintian modules that belong to this program -use lib THISDIR . '/../lib'; - -use Const::Fast; -use Time::Moment; -use Unicode::UTF8 qw(encode_utf8); - -use Lintian::Profile; - -const my $EMPTY => q{}; - -$ENV{LINTIAN_BASE} = realpath(THISDIR . '/..') - // die encode_utf8('Cannot resolve LINTIAN_BASE'); - -my $basedir = 'data'; - -die encode_utf8("Basedir does not exist at $basedir\n") - unless -e $basedir; - -my $profile = Lintian::Profile->new; -$profile->load; - -say encode_utf8('Working on the DEB_HOST_* variables from dpkg.'); -$profile->architectures->refresh($basedir); - -say encode_utf8('Working on the build flags recommended for hardening.'); -$profile->hardening_buildflags->refresh($basedir); - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/refresh-data lintian-2.114.0ubuntu1/private/refresh-data --- lintian-2.111.0ubuntu2/private/refresh-data 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/private/refresh-data 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,101 @@ +#!/usr/bin/perl +# +# Copyright © 2008 by Raphael Geissert +# Copyright © 2017-2018 Chris Lamb +# Copyright © 2021 Felix Lechner +# +# This program is free software. It is distributed under the terms of +# the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any +# later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +use v5.20; +use warnings; +use utf8; + +use Cwd qw(realpath); +use File::Basename qw(dirname); + +# neither Path::This nor lib::relative are in Debian +use constant THISFILE => realpath __FILE__; +use constant THISDIR => dirname realpath __FILE__; + +# use Lintian modules that belong to this program +use lib THISDIR . '/../lib'; + +use Const::Fast; +use Syntax::Keyword::Try; +use Unicode::UTF8 qw(encode_utf8); + +use Lintian::Archive; +use Lintian::Profile; + +const my $EMPTY => q{}; + +$ENV{LINTIAN_BASE} = realpath(THISDIR . '/..') + // die encode_utf8('Cannot resolve LINTIAN_BASE'); + +my $basedir = 'data'; + +die encode_utf8("Basedir does not exist at $basedir\n") + unless -e $basedir; + +my $profile = Lintian::Profile->new; +$profile->load; + +my @parts = ( + $profile->architectures, $profile->debhelper_addons, + $profile->debhelper_commands, $profile->fonts, + $profile->hardening_buildflags,$profile->policy_releases, +); + +my $archive = Lintian::Archive->new; + +my $errors = 0; + +my $count; +for my $part (@parts) { + + next + unless $part->can('refresh'); + + my $title = $part->title; + + say "Refreshing $title..."; + + try { + $part->refresh($archive, $basedir); + + } catch { + ++$errors; + warn encode_utf8("Cannot refresh $title: $@"); + } + +} continue { + ++$count; +} + +if ($errors) { + say $EMPTY; + warn encode_utf8( + "WARNING: $errors data source(s) failed to refresh (out of $count)."); +} + +exit; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/refresh-debhelper-data lintian-2.114.0ubuntu1/private/refresh-debhelper-data --- lintian-2.111.0ubuntu2/private/refresh-debhelper-data 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/refresh-debhelper-data 1970-01-01 01:00:00.000000000 +0100 @@ -1,182 +0,0 @@ -#!/bin/sh - -# Copyright © 2008 by Raphael Geissert -# Copyright © 2017-2018 Chris Lamb -# -# This file is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . - -set -e - -if [ -z "$1" ]; then - printf "Usage: %s path/to/lintian/data [Contents-arch.(gz|bz2|)]\n" \ - "$(basename "$0")" - cat <&2 - exit 1 -} - -[ ! -z "$contents" -a ! -f "$contents" ] && { - printf "%s is not a file, aborting" "$contents" >&2 - exit 1 -} - -[ -z "$contents" ] || offline=1 - -readonly workdir="$(mktemp -d)" - -cleanup () { - [ ! -d "$workdir" ] || rm -rf "$workdir" -}; trap cleanup EXIT - -create_data_file() { - local file="$1" basename - cat > "$file" <> "$file" <> "$file" - LC_ALL=C sort -u >> "$file" -} - - -if [ $offline -eq 1 ]; then - known_commands="$lintian_data/debhelper/dh_commands" - [ -f "$known_commands" ] || exit 1 - new_commands="$workdir/new" - - case "$contents" in - *.gz) - command="zgrep" - ;; - *.bz2) - command="bzgrep" - ;; - *) - command="grep" - ;; - esac - which "$command" 2>&1 1>/dev/null || exit 2 - - $command -E "$dh_regex" "$contents" \ - | perl -p -w -E 's#'"$dh_command_perl_regex"'#$1=$2#g;' \ - | sort > "$new_commands" - cmp -s "$known_commands" "$new_commands" - exit -else - mirror="${DEB_MIRROR:=https://deb.debian.org/debian}" - WGET_ARGS="${WGET_ARGS:=-nv}" - wget() { - echo wget "$mirror"/"$1" - /usr/bin/wget $WGET_ARGS "$mirror"/"$1" - } - mkdir -p "$lintian_data/debhelper" - - cd "$workdir" - wget dists/sid/main/Contents-i386.gz - zgrep -E "$dh_regex" Contents-i386.gz > dh_entries - cat dh_entries \ - | perl -n -w -E 's#'"$dh_command_perl_regex"'#$1=$2# and print' \ - | sed 's/=debhelper$/=debhelper | debhelper-compat/' \ - > dh_commands - cat dh_entries \ - | perl -n -w -E 's#'"$dh_addon_perl_regex"'#$1=$2# and print' \ - | sed 's/=debhelper$/=debhelper | debhelper-compat/' \ - > dh_addons - cat dh_commands \ - | cut -d '|' -f 1 | sed 's/\s*$//' \ - | cut -d '=' -f 2 | sort -u > dh_packages - - for f in commands packages; do - rf="$lintian_data/debhelper/dh_$f" - [ ! -f "$rf" ] || - mv "$rf" "${rf}.old" - create_data_file "$rf" < "dh_$f" - done - - for f in addons; do - rf="$lintian_data/common/dh_$f" - [ ! -f "$rf" ] || - mv "$rf" "${rf}.old" - create_data_file "$rf" < "dh_$f" - done - - wget dists/sid/main/binary-i386/Packages.gz - gunzip Packages.gz - for package in $(cat dh_packages); do - fn="$(grep-dctrl -n -P -X "$package" -sFilename Packages)" - wget "$fn" - file="$(basename "$fn")" - dpkg-deb -x "$file" "$(mktemp -d -p .)" - rm -f "$file" - find */ | grep -Ev '^[^/]+/usr/bin/dh_.+$' \ - | xargs rm >/dev/null 2>&1 || true - find */ -type l -print | xargs rm >/dev/null 2>&1 || true - done - - grep -lr autoscript */ \ - | sed 's,.*/usr/bin/,,g' > maint_commands - grep -lr misc:Depends */ \ - | sed 's,.*/usr/bin/,,g' | grep -v dh_gencontrol \ - > miscDepends_commands - - for f in maint miscDepends; do - rf="$lintian_data/debhelper/${f}_commands" - [ ! -f "$rf" ] || - mv "$rf" "${rf}.old" - create_data_file "$rf" < "${f}_commands" - done -fi - -# Local Variables: -# indent-tabs-mode: nil -# End: -# vim: syntax=sh sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/refresh-fonts-data lintian-2.114.0ubuntu1/private/refresh-fonts-data --- lintian-2.111.0ubuntu2/private/refresh-fonts-data 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/refresh-fonts-data 1970-01-01 01:00:00.000000000 +0100 @@ -1,93 +0,0 @@ -#!/bin/sh -# refresh-fonts-data -- Refresh data about font packages in Debian - -# Copyright © 2008, 2009 Raphael Geissert -# Copyright © 2017 Chris Lamb -# -# This file is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 2 of the License, or -# (at your option) any later version. -# -# This file is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this file. If not, see . - -set -e - -if [ -z "$1" ]; then - printf "Usage: %s []\n" "$(basename "$0")" - cat < is specified, it should be the path to the Contents file -from the current unstable distribution. It will be used to find all -font files already packaged for Debian and update the list of known -font files and the packages that contain them. should -be the path to the root of the Lintian data directory to update. - -If the Contents file is not specified, the script will download the -following files from a mirror. The mirror can be specified with the -DEB_MIRROR environment variable. If it is not set, the default is -http://deb.debian.org/debian. - -* Contents-i386.gz - -Any necessary special parameters for wget can be set via the -environment variable WGET_ARGS. The default arguments are -nv. - -INFO - exit -fi - -readonly lintian_data="$(readlink -f "$1")" -if [ -n "$2" ] ; then - contents="$(readlink -f "$2")" -fi - -[ -d "$lintian_data" ] || { - printf "%s is not a directory, aborting" "$lintian_data" >&2 - exit 1 -} - -readonly workdir="$(mktemp -d)" - -cleanup () { - [ ! -d "$workdir" ] || rm -rf "$workdir" -}; trap cleanup EXIT - -mirror="${DEB_MIRROR:=http://deb.debian.org/debian}" -WGET_ARGS="${WGET_ARGS:=-nv}" -wget() { - echo wget "$mirror"/"$1" - /usr/bin/wget $WGET_ARGS -O "$workdir/$(basename "$1")" "$mirror"/"$1" -} -mkdir -p "$lintian_data/files" - -cat > "$workdir/fonts" <> "$workdir/fonts" -# Fonts in xfonts-tipa are really shipped by tipa. -sed -i 's/ xfonts-tipa$/ tipa/g' "$workdir/fonts" -mv "$workdir/fonts" "$lintian_data/files/fonts" - -# Local Variables: -# indent-tabs-mode: nil -# End: -# vim: syntax=sh sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/refresh-policy-releases lintian-2.114.0ubuntu1/private/refresh-policy-releases --- lintian-2.111.0ubuntu2/private/refresh-policy-releases 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/refresh-policy-releases 1970-01-01 01:00:00.000000000 +0100 @@ -1,85 +0,0 @@ -#!/usr/bin/perl -# -# Copyright © 2020 Felix Lechner -# -# This program is free software. It is distributed under the terms of -# the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any -# later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -use v5.20; -use warnings; -use utf8; - -use Cwd qw(realpath); -use File::Basename qw(dirname); - -# neither Path::This nor lib::relative are in Debian -use constant THISFILE => realpath __FILE__; -use constant THISDIR => dirname realpath __FILE__; - -# use Lintian modules that belong to this program -use lib THISDIR . '/../lib'; - -use Const::Fast; -use Time::Moment; -use Unicode::UTF8 qw(encode_utf8); - -use Lintian::Profile; - -const my $EMPTY => q{}; - -$ENV{LINTIAN_BASE} = realpath(THISDIR . '/..') - // die encode_utf8('Cannot resolve LINTIAN_BASE'); - -my $basedir = 'data'; - -die encode_utf8("Basedir does not exist at $basedir\n") - unless -e $basedir; - -my $profile = Lintian::Profile->new; -$profile->load; - -my $releases = $profile->policy_releases; -$releases->refresh($basedir); - -# let profile reload from data search path -undef $profile; -undef $releases; - -my $validate_profile = Lintian::Profile->new; -$validate_profile->load; - -my $validate_releases = $validate_profile->policy_releases; -my $preamble = $validate_releases->preamble; - -say encode_utf8('Data file: ' . $validate_releases->location); -say encode_utf8('Last updated: ' . $preamble->{'last-update'}); - -say encode_utf8($EMPTY); - -for my $version (@{$validate_releases->ordered_versions}) { - - my $epoch = $validate_releases->epoch($version); - my $timestamp = Time::Moment->from_epoch($epoch)->strftime('%c'); - my $author = $validate_releases->author($version); - - say encode_utf8("Policy $version is from $timestamp (Author: $author)"); -} - -# Local Variables: -# indent-tabs-mode: nil -# cperl-indent-level: 4 -# End: -# vim: syntax=perl sw=4 sts=4 sr et diff -Nru lintian-2.111.0ubuntu2/private/runtests lintian-2.114.0ubuntu1/private/runtests --- lintian-2.111.0ubuntu2/private/runtests 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/runtests 2022-01-11 17:11:33.000000000 +0100 @@ -59,6 +59,7 @@ use IO::Prompt::Tiny qw(prompt); use MCE::Loop; use Path::Tiny; +use Syntax::Keyword::Try; use TAP::Formatter::Console; use TAP::Formatter::File; use TAP::Harness; @@ -67,7 +68,6 @@ use Time::Duration; use Time::Moment; use Time::Piece; -use Try::Tiny; use Unicode::UTF8 qw(encode_utf8 decode_utf8); use Lintian::IPC::Run3 qw(safe_qx); @@ -711,10 +711,10 @@ prepare("$recipe_root/$recipe/build-spec", $source_path, $testset, $force_rebuild); - }catch { + } catch { # catch any error - $error = $_; - }; + $error = $@; + } }; my $log = decode_utf8($log_bytes); @@ -785,10 +785,11 @@ try { # call runner build_subject($source_path, $build_path); - }catch { + + } catch { # catch any error - $error = $_; - }; + $error = $@; + } }; my $log = decode_utf8($log_bytes); @@ -855,8 +856,8 @@ }catch { # catch any error - $error = $_; - }; + $error = $@; + } }; my $log = decode_utf8($log_bytes); diff -Nru lintian-2.111.0ubuntu2/private/split-desc lintian-2.114.0ubuntu1/private/split-desc --- lintian-2.111.0ubuntu2/private/split-desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/private/split-desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,110 +0,0 @@ -#!/usr/bin/perl - -use v5.20; -use warnings; -use utf8; - -use Const::Fast; -use List::SomeUtils qw(any); -use Path::Tiny; -use Unicode::UTF8 qw(encode_utf8); - -const my $EMPTY => q{}; - -die encode_utf8('Please specify exactly one argument') - unless @ARGV == 1; - -my $path = $ARGV[0]; - -#print encode_utf8("Splitting $path\n"); - -my $contents = path($path)->slurp; - -#print encode_utf8($contents); - -my @testlabels = qw( - Check - Default-Lintian-Options - Lintian-Command-Line - Match-Strategy - Options - Output-Format - Profile - References - Test-Against - Test-Architectures - Test-Conflicts - Test-Depends - Todo -); - -my $build = $EMPTY; -my $eval = $EMPTY; -my $comments = $EMPTY; - -while ($contents =~ s/\n(\#[^\n]*\n)/\n/) { - $comments .= $1; -} - -while ($contents =~ s/^([^:]+\:[^\n]*\n(?: [^\n]+\n)*)//) { - - my $field = $1; - - my ($label) = ($field =~ /^([^:]+)\:/); - # print encode_utf8("Found $label\n"); - - if ($label eq 'Testname') { - $eval .= $field; - $build .= $field; - next; - } - - if (any {/^$label$/} @testlabels) { - $eval .= $field; - - } else { - $build .= $field; - } -} - -die encode_utf8('Unknown data at the end') - if length $contents; - -path($path)->remove; - -my $parent = path($path)->parent->stringify; - -my $temppath = $parent . ' (new)'; -path($parent)->move($temppath); -path($parent)->mkpath; - -my $buildpath = path($parent)->child('build-spec')->stringify; -my $evalpath = path($parent)->child('eval')->stringify; - -path($parent)->mkpath; -path($temppath)->move($buildpath); -path($evalpath)->mkpath; - -my $fillvalues = path($buildpath)->child('fill-values')->stringify; -my $desc = path($evalpath)->child('desc'); - -path($fillvalues)->spew($build); -path($desc)->spew($eval); - -path($fillvalues)->append($comments); -path($desc)->append($comments); - -my @move - = qw(hints literal skip post-test test-calibration tag-list suppress lintian-include-dir); - -for my $transfer (@move) { - - my $sourcepath = path($buildpath)->child($transfer)->stringify; - my $destpath = path($evalpath)->child($transfer)->stringify; - - path($sourcepath)->move($destpath) - if -e $sourcepath; -} - -#print encode_utf8("Build:\n$build\n"); -#print encode_utf8("Eval:\n$eval\n"); diff -Nru lintian-2.111.0ubuntu2/profiles/debian/ftp-master-auto-reject.profile lintian-2.114.0ubuntu1/profiles/debian/ftp-master-auto-reject.profile --- lintian-2.111.0ubuntu2/profiles/debian/ftp-master-auto-reject.profile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/profiles/debian/ftp-master-auto-reject.profile 2022-01-11 17:11:33.000000000 +0100 @@ -14,7 +14,7 @@ binary-in-etc binary-with-bad-dynamic-table bogus-mail-host - build-info-in-binary-control-file-section + build-prerequisite-in-installable-section changelog-distribution-does-not-match-changes-file conflicting-negation-in-source-relation control-file-has-bad-owner @@ -124,7 +124,7 @@ bad-version-number binary-in-etc bogus-mail-host - build-info-in-binary-control-file-section + build-prerequisite-in-installable-section changelog-distribution-does-not-match-changes-file conflicting-negation-in-source-relation control-file-has-bad-owner diff -Nru lintian-2.111.0ubuntu2/profiles/debian/main.profile lintian-2.114.0ubuntu1/profiles/debian/main.profile --- lintian-2.111.0ubuntu2/profiles/debian/main.profile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/profiles/debian/main.profile 2022-01-11 17:11:33.000000000 +0100 @@ -6,6 +6,8 @@ appstream-metadata apt archive/file/name/length + archive/liberty/mismatch + archive/non-free/autobuild binaries binaries/architecture binaries/architecture/other @@ -39,11 +41,29 @@ cruft deb-format debhelper + debhelper/temporary debian/changelog - debian/control + debian/control/field/adopted + debian/control/field/architecture/multiline + debian/control/field/build-profiles + debian/control/field/built-using + debian/control/field/description/duplicate + debian/control/field/doubled-up + debian/control/field/empty + debian/control/field/misplaced + debian/control/field/redundant + debian/control/field/relation + debian/control/field/rules-requires-root + debian/control/field/section + debian/control/field/spacing + debian/control/link + debian/control/prerequisite/circular + debian/control/prerequisite/development + debian/control/prerequisite/redundant debian/copyright debian/copyright/apache-notice debian/copyright/dep5 + debian/copyright/dep5/components debian/debconf debian/desktop-entries debian/filenames @@ -51,6 +71,7 @@ debian/line-separators debian/lintian-overrides debian/lintian-overrides/comments + debian/maintscript debian/manual-pages debian/not-installed debian/patches @@ -74,13 +95,17 @@ debian/version-substvars debian/watch debian/watch/standard + debug/automatic + debug/obsolete desktop/dbus desktop/gnome desktop/gnome/gir + desktop/gnome/gir/substvars desktop/icons desktop/x11 desktop/x11/font/update dh-make + dh-make/template documentation documentation/doxygen documentation/examples @@ -130,6 +155,12 @@ fields/urgency fields/vcs fields/version + fields/version/derivative + fields/version/repack/count + fields/version/repack/native + fields/version/repack/period + fields/version/repack/tilde + fields/version/repack/typo files/architecture files/banned files/banned/compiled-help @@ -184,6 +215,7 @@ files/special files/symbolic-links files/symbolic-links/broken + files/unicode/trojan files/unwanted files/usr-merge files/vcs @@ -202,17 +234,27 @@ init-d init-d/maintainer-script languages/fortran/gfortran + languages/golang/built-using + languages/golang/import-path languages/java languages/java/bytecode languages/javascript/embedded languages/javascript/nodejs - languages/ocaml + languages/ocaml/byte-code/compiled + languages/ocaml/byte-code/interface + languages/ocaml/byte-code/library + languages/ocaml/byte-code/misplaced/package + languages/ocaml/byte-code/misplaced/path + languages/ocaml/byte-code/plugin languages/ocaml/custom-executable + languages/ocaml/meta languages/perl + languages/perl/core/provides languages/perl/perl4/prerequisites languages/perl/perl5 languages/perl/yapp languages/php + languages/php/composer languages/php/embedded languages/php/pear languages/php/pear/embedded @@ -241,7 +283,9 @@ libraries/shared/stack libraries/shared/trigger/ldconfig libraries/static + libraries/static/link-time-optimization libraries/static/name + libraries/static/no-code linda lintian mailcap @@ -271,6 +315,8 @@ shell/bash/completion shell/csh shell/non-posix/bash-centric + substvars/libc + substvars/misc/pre-depends systemd systemd/native/prerequisites systemd/tmpfiles @@ -280,6 +326,7 @@ team/pkg-perl/testsuite team/pkg-perl/vcs team/pkg-perl/xs-abi + template/dh-make/control/vcs testsuite triggers udev diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,31 @@ +Source: [% $source %] +Priority: optional +Section: contrib/[% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: all +Section: contrib/dveel +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (typo) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package has a typo in its section fields. + +Package: [% $source %]-main +Architecture: all +Section: [% $section %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (main) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package can go to main. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-section-general +Description: Test for general section/area issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-section-general +Check: archive/liberty/mismatch diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/fields-section-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-section-general (source): archive-liberty-mismatch (in section for fields-section-general-main) main vs contrib [debian/control:23] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman Tue, 7 Jul 1998 16:27:56 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,49 @@ +#!/usr/bin/make -f + +# Copyright (C) 1998 Richard Braakman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/tmp/DEBIAN/control lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/tmp/DEBIAN/control --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/tmp/DEBIAN/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/debian/tmp/DEBIAN/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: archive/liberty/mismatch diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +relations (source): archive-liberty-mismatch (in section for relations-multiple-libs) non-free vs main [debian/control:36] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/liberty/mismatch/legacy-relations/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: non-free/[% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +XS-Autobuild: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-source-upload-to-non-free-without-autobuild +Description: Check for source-only uploads to non-free without autobuild diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Testname: control-file-source-upload-to-non-free-without-autobuild +Check: archive/non-free/autobuild +Test-Against: + source-only-upload-to-non-free-without-autobuild diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/control-file-source-upload-to-non-free-without-autobuild/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Testname: source-only-upload-to-non-free-without-autobuild +Skeleton: upload-native +Section: non-free/devel +Upload-Type: source +Description: This source-only upload to non-free will never appear in the archive diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: source-only-upload-to-non-free-without-autobuild +Check: archive/non-free/autobuild diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/archive/non-free/autobuild/source-only-upload-to-non-free-without-autobuild/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +source-only-upload-to-non-free-without-autobuild (source): source-only-upload-to-non-free-without-autobuild (in the source paragraph) XS-Autobuild [debian/control] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/binaries-from-other-arch/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/binaries-from-other-arch/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/binaries-from-other-arch/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/binaries-from-other-arch/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,4 @@ -binaries-from-other-arch (binary): apparently-corrupted-elf-binary usr/lib/foo/binaries-from-other-arch/guile/2.2/fake-guile-object.go -binaries-from-other-arch (binary): apparently-corrupted-elf-binary usr/bin/elfobject +binaries-from-other-arch (binary): elf-error In ELF header: Section headers are not available! [usr/lib/foo/binaries-from-other-arch/guile/2.2/fake-guile-object.go] +binaries-from-other-arch (binary): elf-error In ELF header: Section headers are not available! [usr/bin/elfobject] +binaries-from-other-arch (binary): elf-error In ELF header: Reading 1080 bytes extends past end of file for section headers [usr/lib/foo/binaries-from-other-arch/guile/2.2/fake-guile-object.go] +binaries-from-other-arch (binary): elf-error In ELF header: Reading 1080 bytes extends past end of file for section headers [usr/bin/elfobject] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/legacy-debug/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/legacy-debug/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/legacy-debug/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/legacy-debug/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,8 @@ Skeleton: upload-native Testname: legacy-debug Source: debug -Default-Build-Depends: debhelper (>= 9.20151004~) +Default-Build-Depends: + debhelper (>= 9.20151004~), + binutils (>= 2.37.50.20211102) Dh-Compat-Level: 7 Description: Legacy test "debug" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/legacy-debug/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/legacy-debug/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/corrupted/legacy-debug/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/corrupted/legacy-debug/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,4 @@ libhello0-dbg (binary): binary-with-bad-dynamic-table usr/lib/libhello.so.dbg +hello-dbg (binary): elf-error In program headers: Unable to find program interpreter name [usr/lib/debug/usr/bin/hello] hello (binary): binary-with-bad-dynamic-table usr/bin/hello.dbg +hello (binary): elf-error In program headers: Unable to find program interpreter name [usr/bin/hello.dbg] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/hardening/binaries-hardening/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/hardening/binaries-hardening/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/hardening/binaries-hardening/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/hardening/binaries-hardening/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -binaries-hardening (binary): hardening-no-relro usr/bin/weak -binaries-hardening (binary): hardening-no-pie usr/bin/weak -binaries-hardening (binary): hardening-no-fortify-functions usr/bin/weak -binaries-hardening (binary): hardening-no-bindnow usr/bin/weak +binaries-hardening (binary): hardening-no-relro [usr/bin/weak] +binaries-hardening (binary): hardening-no-pie [usr/bin/weak] +binaries-hardening (binary): hardening-no-fortify-functions [usr/bin/weak] +binaries-hardening (binary): hardening-no-bindnow [usr/bin/weak] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/hardening/wrong-binary-architecture/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/hardening/wrong-binary-architecture/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/hardening/wrong-binary-architecture/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/hardening/wrong-binary-architecture/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -wrong-binary-architecture (binary): hardening-no-bindnow usr/bin/foreign-binary +wrong-binary-architecture (binary): hardening-no-bindnow [usr/bin/foreign-binary] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/obsolete/crypt/binaries-obsolete-des/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/obsolete/crypt/binaries-obsolete-des/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/obsolete/crypt/binaries-obsolete-des/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/obsolete/crypt/binaries-obsolete-des/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ -binaries-obsolete-des (binary): obsolete-des-encryption usr/bin/uses-setkey_r setkey_r -binaries-obsolete-des (binary): obsolete-des-encryption usr/bin/uses-setkey setkey -binaries-obsolete-des (binary): obsolete-des-encryption usr/bin/uses-encrypt_r encrypt_r -binaries-obsolete-des (binary): obsolete-des-encryption usr/bin/uses-encrypt encrypt -binaries-obsolete-des (binary): obsolete-crypt-alias usr/bin/uses-fcrypt fcrypt +binaries-obsolete-des (binary): obsolete-des-encryption setkey_r [usr/bin/uses-setkey_r] +binaries-obsolete-des (binary): obsolete-des-encryption setkey [usr/bin/uses-setkey] +binaries-obsolete-des (binary): obsolete-des-encryption encrypt_r [usr/bin/uses-encrypt_r] +binaries-obsolete-des (binary): obsolete-des-encryption encrypt [usr/bin/uses-encrypt] +binaries-obsolete-des (binary): obsolete-crypt-alias fcrypt [usr/bin/uses-fcrypt] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -2,4 +2,4 @@ Testname: binaries-missing-depends-on-numpy-abi Description: Test for missing dependency on python3-numpy-abiN Package-Architecture: any -Extra-Build-Depends: python3-all-dev, python3-numpy, dh-python +Extra-Build-Depends: python3-all-dev, python3-numpy, dh-python, python3-setuptools diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/basic.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/basic.c 2022-01-11 17:11:33.000000000 +0100 @@ -3,6 +3,8 @@ #include #include +#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION + static void hardening_trigger(char *p, int i, void (*f)(char *)) { diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/setup.py lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/setup.py --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/setup.py 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/prerequisites/numpy/binaries-missing-depends-on-numpy-abi/build-spec/orig/setup.py 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,9 @@ -import distutils.core +import setuptools +import numpy -distutils.core.setup( - ext_modules=[distutils.core.Extension('basic', ['basic.c'])] +setuptools.setup( + ext_modules=[ + setuptools.Extension('basic', ['basic.c'], + include_dirs=[numpy.get_include()]), + ], ) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/binaries-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/binaries-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/binaries-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/binaries-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -binaries-general (binary): custom-library-search-path usr/share/foo/basic RUNPATH usr/local/lib/ -binaries-general (binary): custom-library-search-path usr/lib/foo/basicshippedrpath RUNPATH usr/share/foo/ -binaries-general (binary): custom-library-search-path usr/lib/foo/basiclibrpath RUNPATH usr/lib/ +binaries-general (binary): custom-library-search-path RUNPATH /usr/share/foo [usr/lib/foo/basicshippedrpath] +binaries-general (binary): custom-library-search-path RUNPATH /usr/local/lib [usr/share/foo/basic] +binaries-general (binary): custom-library-search-path RUNPATH /usr/lib [usr/lib/foo/basiclibrpath] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +override_dh_strip: + dh_strip -X usr/lib/debug -X unstripped -X ocaml + +override_dh_dwz: + # Can error with "deadbeefdeadbeef.debug: Found compressed .debug_info section, not attempting dwz compression" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: quoted +Description: RPATH in double quotes +Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/basic.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#include +#include + +int +main(int argc, char *argv[]) +{ + char t[10]; + printf("Hello world!\n"); + /* forces a stack protector */ + (void) strcpy(t,argv[0]); + return (int) t[0]; +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/getbuildid lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/getbuildid --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/getbuildid 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/getbuildid 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +#!/bin/sh +# get build-id of binary + +set -e + +usage() { + echo "Usage: getbuildid [flag] file"; + echo " print build-id of an object file" + echo "flags:" + echo " -f : full build-id (default)." + echo " -s : short build-id aka the first two characters." +} + +if test $# -lt 1; then usage; exit 77; fi +if test $# -gt 3; then usage; exit 77; fi + +if test $# -eq 1; then + LC_ALL=C readelf -n "$1" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]*\).*/\1/g' +else + case "x$1" in + 'x-f') + LC_ALL=C readelf -n "$2" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]*\).*/\1/g' ;; + 'x-s') + LC_ALL=C readelf -n "$2" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]\{2\}\).*/\1/g' ;; + *) + exit 2; + esac +fi + +exit 0; diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,64 @@ +# turn off PIE in CC in case we have a PIEful toolchain: +ifneq ($(findstring -no-pie,$(shell gcc -no-pie 2>&1)),) + CC := gcc +else + CC := gcc -fno-pie -no-pie +endif + +NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) +NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) +COMPILE:= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +COMPILE_NOPIE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) +# extract from readelf +GETBUILDID:=./getbuildid + +all: + # rpath not matching any of the exceptions to the rpath checks + # - with profiling enabled. + $(COMPILE_NOPIE) -o basic basic.c -pg -Wl,--rpath,\"/usr/local/lib\" + # rpath shipped in the package, but one of {/usr}?/lib + $(COMPILE) -o basiclibrpath basic.c -Wl,--rpath,\"/usr/lib\" + # non-special rpath shipped in the package + $(COMPILE) -o basicshippedrpath basic.c -Wl,--rpath,\"/usr/share/foo\" + # special rpath shipped in the package, multiple paths + $(COMPILE) -o basicshippedrpathmore basic.c -Wl,--rpath,\"/usr/lib/binaries-general\":\"/usr/lib/binaries-general/bar\" + # static version of basic for debugging checks + $(COMPILE_NOPIE) -static -o basic.static basic.c + # static executable to trigger ocaml check + $(COMPILE_NOPIE) -o ocaml-exec ocaml.c + # version with debug + $(COMPILE) -o basicdebug -g3 -Wl,--build-id basic.c + +install: + # according to local debian rules /usr/lib/debug is unstripped + install -d $(DESTDIR)/usr/share/foo/ + install -d $(DESTDIR)/usr/lib/debug/usr/share/foo/ + install -d $(DESTDIR)/usr/lib/foo/ + install -d $(DESTDIR)/usr/bin + + install -m 755 -c basic $(DESTDIR)/usr/share/foo/basic + objcopy --only-keep-debug basic $(DESTDIR)/usr/lib/debug/usr/share/foo/basic + strip -s $(DESTDIR)/usr/lib/debug/usr/share/foo/basic + install -m 755 -c basiclibrpath $(DESTDIR)/usr/lib/foo/basiclibrpath + install -m 755 -c basicshippedrpath $(DESTDIR)/usr/lib/foo/basicshippedrpath + install -m 755 -c ocaml-exec $(DESTDIR)/usr/lib/foo/ocaml-exec + install -m 744 -c basicshippedrpathmore $(DESTDIR)/usr/lib/foo/basicshippedrpathmore + objcopy --only-keep-debug basic $(DESTDIR)/usr/lib/debug/basic + install -d "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug` + install -m 755 -c basicdebug $(DESTDIR)/usr/share/foo/basicdebug + # force fake buildid in order to have tag matching ok (deadbeefdeadbeef) + install -d "$(DESTDIR)/usr/lib/debug/.build-id/de" + objcopy --compress-debug-sections basicdebug \ + "$(DESTDIR)/usr/lib/debug/.build-id/de/deadbeefdeadbeef.debug" + install -d "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug` + objcopy --compress-debug-sections --only-keep-debug basicdebug \ + "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug`"/"`$(GETBUILDID) -f basicdebug`.debug + install -m 755 -c basic.static $(DESTDIR)/usr/lib/debug/ + # according to local debian rules unstripped in name avoid dh_strip to do the work + install -m 755 basicdebug $(DESTDIR)/usr/bin/unstripped + install -m 755 basic.static $(DESTDIR)/usr/bin/static + +clean distclean: + rm -f basic + +check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/ocaml.c lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/ocaml.c --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/ocaml.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/build-spec/orig/ocaml.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +#include + +int +main(int argc, char **argv) +{ + if (argc > 2) { + puts("Caml1999X000"); + } + puts("\n"); + return 0; +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: quoted +Check: binaries/rpath diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +quoted (binary): relative-library-search-path RUNPATH "/usr/share/foo" [usr/lib/foo/basicshippedrpath] +quoted (binary): relative-library-search-path RUNPATH "/usr/local/lib" [usr/share/foo/basic] +quoted (binary): relative-library-search-path RUNPATH "/usr/lib/binaries-general/bar" [usr/lib/foo/basicshippedrpathmore] +quoted (binary): relative-library-search-path RUNPATH "/usr/lib/binaries-general" [usr/lib/foo/basicshippedrpathmore] +quoted (binary): relative-library-search-path RUNPATH "/usr/lib" [usr/lib/foo/basiclibrpath] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/quoted/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/quoted/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +/: hardening-.*/ d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS=hardening=+all + +%: + dh $@ + +override_dh_strip: + dh_strip -X usr/lib/debug -X unstripped -X ocaml + +override_dh_dwz: + # Can error with "deadbeefdeadbeef.debug: Found compressed .debug_info section, not attempting dwz compression" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: relative +Description: Relative RPATH +Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/basic.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#include +#include + +int +main(int argc, char *argv[]) +{ + char t[10]; + printf("Hello world!\n"); + /* forces a stack protector */ + (void) strcpy(t,argv[0]); + return (int) t[0]; +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/getbuildid lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/getbuildid --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/getbuildid 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/getbuildid 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +#!/bin/sh +# get build-id of binary + +set -e + +usage() { + echo "Usage: getbuildid [flag] file"; + echo " print build-id of an object file" + echo "flags:" + echo " -f : full build-id (default)." + echo " -s : short build-id aka the first two characters." +} + +if test $# -lt 1; then usage; exit 77; fi +if test $# -gt 3; then usage; exit 77; fi + +if test $# -eq 1; then + LC_ALL=C readelf -n "$1" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]*\).*/\1/g' +else + case "x$1" in + 'x-f') + LC_ALL=C readelf -n "$2" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]*\).*/\1/g' ;; + 'x-s') + LC_ALL=C readelf -n "$2" | grep -i 'Build Id:' | sed 's/.*:[[:blank:]]*\([[:digit:]|abcdef]\{2\}\).*/\1/g' ;; + *) + exit 2; + esac +fi + +exit 0; diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,64 @@ +# turn off PIE in CC in case we have a PIEful toolchain: +ifneq ($(findstring -no-pie,$(shell gcc -no-pie 2>&1)),) + CC := gcc +else + CC := gcc -fno-pie -no-pie +endif + +NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) +NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) +COMPILE:= $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) +COMPILE_NOPIE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) +# extract from readelf +GETBUILDID:=./getbuildid + +all: + # rpath not matching any of the exceptions to the rpath checks + # - with profiling enabled. + $(COMPILE_NOPIE) -o basic basic.c -pg -Wl,--rpath,usr/local/lib + # rpath shipped in the package, but one of {/usr}?/lib + $(COMPILE) -o basiclibrpath basic.c -Wl,--rpath,usr/lib + # non-special rpath shipped in the package + $(COMPILE) -o basicshippedrpath basic.c -Wl,--rpath,usr/share/foo + # special rpath shipped in the package, multiple paths + $(COMPILE) -o basicshippedrpathmore basic.c -Wl,--rpath,usr/lib/binaries-general:usr/lib/binaries-general/bar + # static version of basic for debugging checks + $(COMPILE_NOPIE) -static -o basic.static basic.c + # static executable to trigger ocaml check + $(COMPILE_NOPIE) -o ocaml-exec ocaml.c + # version with debug + $(COMPILE) -o basicdebug -g3 -Wl,--build-id basic.c + +install: + # according to local debian rules /usr/lib/debug is unstripped + install -d $(DESTDIR)/usr/share/foo/ + install -d $(DESTDIR)/usr/lib/debug/usr/share/foo/ + install -d $(DESTDIR)/usr/lib/foo/ + install -d $(DESTDIR)/usr/bin + + install -m 755 -c basic $(DESTDIR)/usr/share/foo/basic + objcopy --only-keep-debug basic $(DESTDIR)/usr/lib/debug/usr/share/foo/basic + strip -s $(DESTDIR)/usr/lib/debug/usr/share/foo/basic + install -m 755 -c basiclibrpath $(DESTDIR)/usr/lib/foo/basiclibrpath + install -m 755 -c basicshippedrpath $(DESTDIR)/usr/lib/foo/basicshippedrpath + install -m 755 -c ocaml-exec $(DESTDIR)/usr/lib/foo/ocaml-exec + install -m 744 -c basicshippedrpathmore $(DESTDIR)/usr/lib/foo/basicshippedrpathmore + objcopy --only-keep-debug basic $(DESTDIR)/usr/lib/debug/basic + install -d "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug` + install -m 755 -c basicdebug $(DESTDIR)/usr/share/foo/basicdebug + # force fake buildid in order to have tag matching ok (deadbeefdeadbeef) + install -d "$(DESTDIR)/usr/lib/debug/.build-id/de" + objcopy --compress-debug-sections basicdebug \ + "$(DESTDIR)/usr/lib/debug/.build-id/de/deadbeefdeadbeef.debug" + install -d "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug` + objcopy --compress-debug-sections --only-keep-debug basicdebug \ + "$(DESTDIR)/usr/lib/debug/.build-id/"`$(GETBUILDID) -s basicdebug`"/"`$(GETBUILDID) -f basicdebug`.debug + install -m 755 -c basic.static $(DESTDIR)/usr/lib/debug/ + # according to local debian rules unstripped in name avoid dh_strip to do the work + install -m 755 basicdebug $(DESTDIR)/usr/bin/unstripped + install -m 755 basic.static $(DESTDIR)/usr/bin/static + +clean distclean: + rm -f basic + +check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/ocaml.c lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/ocaml.c --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/build-spec/orig/ocaml.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/build-spec/orig/ocaml.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +#include + +int +main(int argc, char **argv) +{ + if (argc > 2) { + puts("Caml1999X000"); + } + puts("\n"); + return 0; +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: relative +Check: binaries/rpath diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +relative (binary): relative-library-search-path RUNPATH usr/share/foo [usr/lib/foo/basicshippedrpath] +relative (binary): relative-library-search-path RUNPATH usr/local/lib [usr/share/foo/basic] +relative (binary): relative-library-search-path RUNPATH usr/lib/binaries-general/bar [usr/lib/foo/basicshippedrpathmore] +relative (binary): relative-library-search-path RUNPATH usr/lib/binaries-general [usr/lib/foo/basicshippedrpathmore] +relative (binary): relative-library-search-path RUNPATH usr/lib [usr/lib/foo/basiclibrpath] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/binaries/rpath/relative/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/binaries/rpath/relative/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +/: hardening-.*/ d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/build-systems/debhelper/maintainer-script/token/legacy-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/build-systems/debhelper/maintainer-script/token/legacy-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/build-systems/debhelper/maintainer-script/token/legacy-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/build-systems/debhelper/maintainer-script/token/legacy-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -scripts (binary): maintainer-script-has-unexpanded-debhelper-token #DEBHELPER# [control/preinst:13] +scripts (binary): maintainer-script-has-unexpanded-debhelper-token #DEBHELPER# [preinst:13] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/build-systems/debhelper/maintainer-script/token/scripts-maintainer-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/build-systems/debhelper/maintainer-script/token/scripts-maintainer-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/build-systems/debhelper/maintainer-script/token/scripts-maintainer-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/build-systems/debhelper/maintainer-script/token/scripts-maintainer-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -scripts-maintainer-general (binary): maintainer-script-has-unexpanded-debhelper-token #DEBHELPER# [control/postinst:259] +scripts-maintainer-general (binary): maintainer-script-has-unexpanded-debhelper-token #DEBHELPER# [postinst:259] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/compat-level-not-a-number/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/compat-level-not-a-number/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/compat-level-not-a-number/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/compat-level-not-a-number/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,6 @@ -compat-level-not-a-number (source): uses-debhelper-compat-file +compat-level-not-a-number (source): uses-debhelper-compat-file [debian/compat] compat-level-not-a-number (source): package-uses-old-debhelper-compat-version 11 -compat-level-not-a-number (source): declares-possibly-conflicting-debhelper-compat-versions compat=13 other=11a -compat-level-not-a-number (source): debian-build-system dh +compat-level-not-a-number (source): declares-possibly-conflicting-debhelper-compat-versions 13 vs elsewhere 11a [debian/compat] +compat-level-not-a-number (source): debian-build-system dh [debian/rules] compat-level-not-a-number (source): debhelper-compatibility-level-not-a-number 11a compat-level-not-a-number (source): debhelper-compat-level 11 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-arch-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-arch-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-arch-depends/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-arch-depends/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-arch-depends (source): uses-debhelper-compat-file -debhelper-arch-depends (source): debian-build-system dh +debhelper-arch-depends (source): uses-debhelper-compat-file [debian/compat] +debhelper-arch-depends (source): debian-build-system dh [debian/rules] debhelper-arch-depends (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ debhelper-autoreconf-build-depends (source): useless-autoreconf-build-depends dh-autoreconf debhelper-autoreconf-build-depends (source): useless-autoreconf-build-depends autotools-dev debhelper-autoreconf-build-depends (source): package-uses-old-debhelper-compat-version 10 -debhelper-autoreconf-build-depends (source): debian-build-system dh +debhelper-autoreconf-build-depends (source): debian-build-system dh [debian/rules] debhelper-autoreconf-build-depends (source): debhelper-compat-level 10 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-autoreconf-build-depends-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ debhelper-autoreconf-build-depends-unrel (source): package-uses-old-debhelper-compat-version 10 -debhelper-autoreconf-build-depends-unrel (source): debian-build-system dh -debhelper-autoreconf-build-depends-unrel (source): debhelper-tools-from-autotools-dev-are-deprecated dh_autotools-dev_updateconfig (line 8) +debhelper-autoreconf-build-depends-unrel (source): debian-build-system dh [debian/rules] +debhelper-autoreconf-build-depends-unrel (source): debhelper-tools-from-autotools-dev-are-deprecated dh_autotools-dev_updateconfig [debian/rules:8] debhelper-autoreconf-build-depends-unrel (source): debhelper-compat-level 10 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-brace-expansion/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-brace-expansion/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-brace-expansion/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-brace-expansion/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,8 +1,8 @@ -debhelper-brace-expansion (source): debian-build-system dh -debhelper-brace-expansion (source): debhelper-compat-virtual-relation 13 +debhelper-brace-expansion (source): debian-build-system dh [debian/rules] +debhelper-brace-expansion (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-brace-expansion (source): debhelper-compat-level 13 -debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file debian/debhelper-brace-problem-5.install {,foo,} (line 1) -debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file debian/debhelper-brace-problem-4.install {,,foo} (line 1) -debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file debian/debhelper-brace-problem-3.install {foo,} (line 1) -debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file debian/debhelper-brace-problem-2.install {foo,bar} (line 1) -debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file debian/debhelper-brace-problem-1.install {,foo} (line 1) +debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file {foo,} [debian/debhelper-brace-problem-3.install:1] +debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file {foo,bar} [debian/debhelper-brace-problem-2.install:1] +debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file {,foo} [debian/debhelper-brace-problem-1.install:1] +debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file {,foo,} [debian/debhelper-brace-problem-5.install:1] +debhelper-brace-expansion (source): brace-expansion-in-debhelper-config-file {,,foo} [debian/debhelper-brace-problem-4.install:1] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-experimental/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-experimental/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-experimental/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-experimental/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ debhelper-compat-experimental (source): package-uses-experimental-debhelper-compat-version 13 debhelper-compat-experimental (source): no-versioned-debhelper-prerequisite 13 -debhelper-compat-experimental (source): debian-build-system dh +debhelper-compat-experimental (source): debian-build-system dh [debian/rules] debhelper-compat-experimental (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-missing/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-missing/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ debhelper-compat-missing (source): package-uses-deprecated-debhelper-compat-version 1 -debhelper-compat-missing (source): debian-build-system dh +debhelper-compat-missing (source): debian-build-system dh [debian/rules] debhelper-compat-missing (source): debhelper-compat-file-is-missing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-multiple/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-multiple/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-multiple/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-multiple/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ -debhelper-compat-multiple (source): uses-debhelper-compat-file +debhelper-compat-multiple (source): uses-debhelper-compat-file [debian/compat] debhelper-compat-multiple (source): package-uses-old-debhelper-compat-version 11 -debhelper-compat-multiple (source): debian-build-system dh +debhelper-compat-multiple (source): debian-build-system dh [debian/rules] debhelper-compat-multiple (source): debhelper-compat-level 11 -debhelper-compat-multiple (source): debhelper-compat-file-contains-multiple-levels (line 3) +debhelper-compat-multiple (source): debhelper-compat-file-contains-multiple-levels [debian/compat:3] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-multiple-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-multiple-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-multiple-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-multiple-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-compat-multiple-unrel (source): uses-debhelper-compat-file +debhelper-compat-multiple-unrel (source): uses-debhelper-compat-file [debian/compat] debhelper-compat-multiple-unrel (source): package-uses-old-debhelper-compat-version 11 -debhelper-compat-multiple-unrel (source): debian-build-system dh +debhelper-compat-multiple-unrel (source): debian-build-system dh [debian/rules] debhelper-compat-multiple-unrel (source): debhelper-compat-level 11 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-old/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-old/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-old/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-old/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ debhelper-compat-old (source): package-uses-old-debhelper-compat-version 8 -debhelper-compat-old (source): debian-build-system dh +debhelper-compat-old (source): debian-build-system dh [debian/rules] debhelper-compat-old (source): debhelper-compat-level 8 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-virtual-relation/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-virtual-relation/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-virtual-relation/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-virtual-relation/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ debhelper-compat-virtual-relation (source): package-uses-old-debhelper-compat-version 11 -debhelper-compat-virtual-relation (source): debian-build-system dh -debhelper-compat-virtual-relation (source): debhelper-compat-virtual-relation 11 +debhelper-compat-virtual-relation (source): debian-build-system dh [debian/rules] +debhelper-compat-virtual-relation (source): debhelper-compat-virtual-relation 11 [debian/control] debhelper-compat-virtual-relation (source): debhelper-compat-level 11 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-virtual-relation-both/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-virtual-relation-both/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-virtual-relation-both/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-virtual-relation-both/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ debhelper-compat-virtual-relation-both (source): package-uses-old-debhelper-compat-version 10 -debhelper-compat-virtual-relation-both (source): debian-build-system dh -debhelper-compat-virtual-relation-both (source): debhelper-compat-virtual-relation 10 +debhelper-compat-virtual-relation-both (source): debian-build-system dh [debian/rules] +debhelper-compat-virtual-relation-both (source): debhelper-compat-virtual-relation 10 [debian/control] debhelper-compat-virtual-relation-both (source): debhelper-compat-level 10 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-whitespace/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-whitespace/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-compat-whitespace/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-compat-whitespace/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-compat-whitespace (source): uses-debhelper-compat-file -debhelper-compat-whitespace (source): debian-build-system dh +debhelper-compat-whitespace (source): uses-debhelper-compat-file [debian/compat] +debhelper-compat-whitespace (source): debian-build-system dh [debian/rules] debhelper-compat-whitespace (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-deprecated/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-deprecated/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-deprecated/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-deprecated/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,6 @@ -debhelper-deprecated (source): uses-debhelper-compat-file -debhelper-deprecated (source): missing-build-dependency-for-dh-addon autotools_dev => autotools-dev -debhelper-deprecated (source): dh_installmanpages-is-obsolete line 24 -debhelper-deprecated (source): debian-build-system dh -debhelper-deprecated (source): debhelper-tools-from-autotools-dev-are-deprecated dh ... --with autotools-dev (line 46) +debhelper-deprecated (source): uses-debhelper-compat-file [debian/compat] +debhelper-deprecated (source): missing-build-dependency-for-dh-addon autotools_dev => autotools-dev [debian/rules] +debhelper-deprecated (source): dh_installmanpages-is-obsolete [debian/rules:24] +debhelper-deprecated (source): debian-build-system dh [debian/rules] +debhelper-deprecated (source): debhelper-tools-from-autotools-dev-are-deprecated dh ... --with autotools-dev [debian/rules:46] debhelper-deprecated (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-clean-k-deprecated/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-clean-k-deprecated/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-clean-k-deprecated/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-clean-k-deprecated/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ debhelper-dh-clean-k-deprecated (source): package-uses-old-debhelper-compat-version 11 -debhelper-dh-clean-k-deprecated (source): dh-clean-k-is-deprecated -debhelper-dh-clean-k-deprecated (source): debian-build-system debhelper -debhelper-dh-clean-k-deprecated (source): debhelper-compat-virtual-relation 11 +debhelper-dh-clean-k-deprecated (source): dh-clean-k-is-deprecated [debian/rules] +debhelper-dh-clean-k-deprecated (source): debian-build-system debhelper [debian/rules] +debhelper-dh-clean-k-deprecated (source): debhelper-compat-virtual-relation 11 [debian/control] debhelper-dh-clean-k-deprecated (source): debhelper-compat-level 11 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-compat/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-compat/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-compat/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-compat/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ -debhelper-dh-compat (source): uses-debhelper-compat-file +debhelper-dh-compat (source): uses-debhelper-compat-file [debian/compat] debhelper-dh-compat (source): package-uses-old-debhelper-compat-version 8 -debhelper-dh-compat (source): declares-possibly-conflicting-debhelper-compat-versions compat=13 other=8 -debhelper-dh-compat (source): debian-build-system dh +debhelper-dh-compat (source): declares-possibly-conflicting-debhelper-compat-versions 13 vs elsewhere 8 [debian/compat] +debhelper-dh-compat (source): debian-build-system dh [debian/rules] debhelper-dh-compat (source): debhelper-compat-level 8 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-exec/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-exec/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-exec/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-exec/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,12 +1,12 @@ -debhelper-dh-exec (source): package-uses-dh-exec-but-lacks-build-depends +debhelper-dh-exec (source): package-uses-dh-exec-but-lacks-build-depends [debian/rules] debhelper-dh-exec (source): package-uses-deprecated-debhelper-compat-version 9 -debhelper-dh-exec (source): dh-exec-useless-usage debian/install:6 "usr/lib/${DEB_HOST_MULTIARCH}/some-package/*.so" -debhelper-dh-exec (source): dh-exec-useless-usage debian/install:4 "usr/lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}/" -debhelper-dh-exec (source): dh-exec-useless-usage debian/install:3 "usr/lib/${DEB_HOST_MULTIARCH}" -debhelper-dh-exec (source): dh-exec-subst-unknown-variable debian/manpages:5 DEB_BUILD_WHATEVER -debhelper-dh-exec (source): dh-exec-script-without-dh-exec-features debian/mime -debhelper-dh-exec (source): dh-exec-private-helper debian/manpages -debhelper-dh-exec (source): dh-exec-install-not-allowed-here debian/links -debhelper-dh-exec (source): debian-build-system dh -debhelper-dh-exec (source): debhelper-compat-virtual-relation 9 +debhelper-dh-exec (source): dh-exec-useless-usage usr/lib/${DEB_HOST_MULTIARCH}/some-package/*.so [debian/install:6] +debhelper-dh-exec (source): dh-exec-useless-usage usr/lib/${DEB_HOST_MULTIARCH} [debian/install:3] +debhelper-dh-exec (source): dh-exec-useless-usage usr/lib/${DEB_HOST_MULTIARCH} /usr/lib/${DEB_HOST_MULTIARCH}/ [debian/install:4] +debhelper-dh-exec (source): dh-exec-subst-unknown-variable DEB_BUILD_WHATEVER [debian/manpages:5] +debhelper-dh-exec (source): dh-exec-script-without-dh-exec-features [debian/mime] +debhelper-dh-exec (source): dh-exec-private-helper [debian/manpages] +debhelper-dh-exec (source): dh-exec-install-not-allowed-here [debian/links] +debhelper-dh-exec (source): debian-build-system dh [debian/rules] +debhelper-dh-exec (source): debhelper-compat-virtual-relation 9 [debian/control] debhelper-dh-exec (source): debhelper-compat-level 9 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-python-helpers/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-python-helpers/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-python-helpers/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-python-helpers/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ debhelper-dh-python-helpers (source): python3-depends-but-no-python3-helper python3-cheshire debhelper-dh-python-helpers (source): python-depends-but-no-python-helper python-cheshire -debhelper-dh-python-helpers (source): debian-build-system dh -debhelper-dh-python-helpers (source): debhelper-compat-virtual-relation 13 +debhelper-dh-python-helpers (source): debian-build-system dh [debian/rules] +debhelper-dh-python-helpers (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-python-helpers (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-dh-quilt-addon-but-quilt-source-format (source): dh-quilt-addon-but-quilt-source-format dh ... --with quilt (line 4) -debhelper-dh-quilt-addon-but-quilt-source-format (source): debian-build-system dh -debhelper-dh-quilt-addon-but-quilt-source-format (source): debhelper-compat-virtual-relation 13 +debhelper-dh-quilt-addon-but-quilt-source-format (source): dh-quilt-addon-but-quilt-source-format dh ... --with quilt [debian/rules:4] +debhelper-dh-quilt-addon-but-quilt-source-format (source): debian-build-system dh [debian/rules] +debhelper-dh-quilt-addon-but-quilt-source-format (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-quilt-addon-but-quilt-source-format (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-quilt-addon-but-quilt-source-format-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-dh-quilt-addon-but-quilt-source-format-unrel (source): debian-build-system dh -debhelper-dh-quilt-addon-but-quilt-source-format-unrel (source): debhelper-compat-virtual-relation 13 +debhelper-dh-quilt-addon-but-quilt-source-format-unrel (source): debian-build-system dh [debian/rules] +debhelper-dh-quilt-addon-but-quilt-source-format-unrel (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-quilt-addon-but-quilt-source-format-unrel (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-runit-but-lacks-breaks-substvar/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-runit-but-lacks-breaks-substvar/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-runit-but-lacks-breaks-substvar/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-runit-but-lacks-breaks-substvar/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-dh-runit-but-lacks-breaks-substvar (source): package-uses-dh-runit-but-lacks-breaks-substvar debhelper-dh-runit-but-lacks-breaks-substvar-missing -debhelper-dh-runit-but-lacks-breaks-substvar (source): debian-build-system dh -debhelper-dh-runit-but-lacks-breaks-substvar (source): debhelper-compat-virtual-relation 13 +debhelper-dh-runit-but-lacks-breaks-substvar (source): package-uses-dh-runit-but-lacks-breaks-substvar debhelper-dh-runit-but-lacks-breaks-substvar-missing [debian/rules] +debhelper-dh-runit-but-lacks-breaks-substvar (source): debian-build-system dh [debian/rules] +debhelper-dh-runit-but-lacks-breaks-substvar (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-runit-but-lacks-breaks-substvar (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-unnecessary-arguments/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-unnecessary-arguments/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-unnecessary-arguments/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-unnecessary-arguments/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,6 @@ debhelper-dh-unnecessary-arguments (source): package-uses-old-debhelper-compat-version 10 -debhelper-dh-unnecessary-arguments (source): debian-rules-uses-unnecessary-dh-argument dh ... --with=systemd (line 4) -debhelper-dh-unnecessary-arguments (source): debian-rules-uses-unnecessary-dh-argument dh ... --parallel (line 4) -debhelper-dh-unnecessary-arguments (source): debian-build-system dh -debhelper-dh-unnecessary-arguments (source): debhelper-compat-virtual-relation 10 +debhelper-dh-unnecessary-arguments (source): debian-rules-uses-unnecessary-dh-argument dh ... --with=systemd [debian/rules:4] +debhelper-dh-unnecessary-arguments (source): debian-rules-uses-unnecessary-dh-argument dh ... --parallel [debian/rules:4] +debhelper-dh-unnecessary-arguments (source): debian-build-system dh [debian/rules] +debhelper-dh-unnecessary-arguments (source): debhelper-compat-virtual-relation 10 [debian/control] debhelper-dh-unnecessary-arguments (source): debhelper-compat-level 10 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-dh-with-python3 (source): missing-build-dependency-for-dh-addon python3 => dh-python -debhelper-dh-with-python3 (source): debian-build-system dh -debhelper-dh-with-python3 (source): debhelper-compat-virtual-relation 13 +debhelper-dh-with-python3 (source): missing-build-dependency-for-dh-addon python3 => dh-python [debian/rules] +debhelper-dh-with-python3 (source): debian-build-system dh [debian/rules] +debhelper-dh-with-python3 (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-with-python3 (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-dh-with-python3-unrel (source): debian-build-system dh -debhelper-dh-with-python3-unrel (source): debhelper-compat-virtual-relation 13 +debhelper-dh-with-python3-unrel (source): debian-build-system dh [debian/rules] +debhelper-dh-with-python3-unrel (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-with-python3-unrel (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel2/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel2/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel2/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-python3-unrel2/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-dh-with-python3-unrel2 (source): debian-build-system dh -debhelper-dh-with-python3-unrel2 (source): debhelper-compat-virtual-relation 13 +debhelper-dh-with-python3-unrel2 (source): debian-build-system dh [debian/rules] +debhelper-dh-with-python3-unrel2 (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-with-python3-unrel2 (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-quilt/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-quilt/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-dh-with-quilt/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-dh-with-quilt/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-dh-with-quilt (source): missing-build-dependency-for-dh-addon quilt => quilt -debhelper-dh-with-quilt (source): debian-build-system dh -debhelper-dh-with-quilt (source): debhelper-compat-virtual-relation 13 +debhelper-dh-with-quilt (source): missing-build-dependency-for-dh-addon quilt => quilt [debian/rules] +debhelper-dh-with-quilt (source): debian-build-system dh [debian/rules] +debhelper-dh-with-quilt (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-dh-with-quilt (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-excessive-overrides/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-excessive-overrides/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-excessive-overrides/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-excessive-overrides/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,5 @@ +debhelper-excessive-overrides (source): typo-in-debhelper-override-target override_dh_gconf => override_dh_icons [debian/rules:12] debhelper-excessive-overrides (source): excessive-debhelper-overrides 21 -debhelper-excessive-overrides (source): debian-build-system dh -debhelper-excessive-overrides (source): debhelper-compat-virtual-relation 13 +debhelper-excessive-overrides (source): debian-build-system dh [debian/rules] +debhelper-excessive-overrides (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-excessive-overrides (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-executable-files/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-executable-files/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-executable-files/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-executable-files/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ debhelper-executable-files (source): package-uses-deprecated-debhelper-compat-version 8 -debhelper-executable-files (source): package-file-is-executable debian/manpages -debhelper-executable-files (source): package-file-is-executable debian/copyright -debhelper-executable-files (source): package-file-is-executable debian/control -debhelper-executable-files (source): package-file-is-executable debian/changelog -debhelper-executable-files (source): debian-build-system dh +debhelper-executable-files (source): package-file-is-executable [debian/manpages] +debhelper-executable-files (source): package-file-is-executable [debian/copyright] +debhelper-executable-files (source): package-file-is-executable [debian/control] +debhelper-executable-files (source): package-file-is-executable [debian/changelog] +debhelper-executable-files (source): debian-build-system dh [debian/rules] debhelper-executable-files (source): debhelper-compat-level 8 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-executable-files-compat-9/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-executable-files-compat-9/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-executable-files-compat-9/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-executable-files-compat-9/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-executable-files-compat-9 (source): executable-debhelper-file-without-being-executable debian/manpages -debhelper-executable-files-compat-9 (source): debian-build-system dh -debhelper-executable-files-compat-9 (source): debhelper-compat-virtual-relation 13 +debhelper-executable-files-compat-9 (source): executable-debhelper-file-without-being-executable [debian/manpages] +debhelper-executable-files-compat-9 (source): debian-build-system dh [debian/rules] +debhelper-executable-files-compat-9 (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-executable-files-compat-9 (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.debhelper.log lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.debhelper.log --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.debhelper.log 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.debhelper.log 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -debhelper log file for package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.postinst.debhelper lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.postinst.debhelper --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.postinst.debhelper 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/package.postinst.debhelper 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Internal debhelper file for package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -%: - dh $@ - -clean: - # No such thing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: debhelper-internal-files -Description: Test for spotting unremoved debhelper temp files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: debhelper-internal-files -Check: debhelper diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-internal-files/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-internal-files/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -debhelper-internal-files (source): temporary-debhelper-file package.postinst.debhelper -debhelper-internal-files (source): temporary-debhelper-file package.debhelper.log -debhelper-internal-files (source): debian-build-system dh -debhelper-internal-files (source): debhelper-compat-virtual-relation 13 -debhelper-internal-files (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-lacks-versioned-deps/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-lacks-versioned-deps/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-lacks-versioned-deps/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-lacks-versioned-deps/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ debhelper-lacks-versioned-deps (source): package-uses-deprecated-debhelper-compat-version 9 debhelper-lacks-versioned-deps (source): no-versioned-debhelper-prerequisite 9 -debhelper-lacks-versioned-deps (source): debian-build-system dh +debhelper-lacks-versioned-deps (source): debian-build-system dh [debian/rules] debhelper-lacks-versioned-deps (source): debhelper-compat-level 9 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-misc-depends-fp/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-misc-depends-fp/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-misc-depends-fp/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-misc-depends-fp/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-misc-depends-fp (source): debian-build-system dh -debhelper-misc-depends-fp (source): debhelper-compat-virtual-relation 13 +debhelper-misc-depends-fp (source): debian-build-system dh [debian/rules] +debhelper-misc-depends-fp (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-misc-depends-fp (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-no-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-no-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-no-depends/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-no-depends/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,13 +1,13 @@ debhelper-no-depends (source): weak-dependency-on-misc-depends debhelper-suggests debhelper-no-depends (source): package-uses-deprecated-debhelper-compat-version 9 -debhelper-no-depends (source): package-uses-debhelper-but-lacks-build-depends +debhelper-no-depends (source): package-uses-debhelper-but-lacks-build-depends [debian/rules] debhelper-no-depends (source): no-versioned-debhelper-prerequisite 9 -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_strip_nondeterminism => dh-strip-nondeterminism -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_scour => scour -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_lisp => dh-lisp -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_gstscancodecs => libgstreamer1.0-dev -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_dpatch_patch => dpatch -debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_clideps => cli-common-dev -debhelper-no-depends (source): debian-build-system dh +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_strip_nondeterminism => dh-strip-nondeterminism [debian/rules] +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_scour => scour [debian/rules] +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_lisp => dh-lisp [debian/rules] +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_gstscancodecs => libgstreamer1.0-dev [debian/rules] +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_dpatch_patch => dpatch [debian/rules] +debhelper-no-depends (source): missing-build-dependency-for-dh_-command dh_clideps => cli-common-dev [debian/rules] +debhelper-no-depends (source): debian-build-system dh [debian/rules] debhelper-no-depends (source): debhelper-compat-level 9 debhelper-no-depends (source): debhelper-but-no-misc-depends debhelper-no-depends diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-override-typos/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-override-typos/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-override-typos/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-override-typos/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,19 +1,19 @@ -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_testdirs -> override_dh_testdir (line 18) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_perls -> override_dh_perl (line 13) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_perls -> override_dh_perl (line 12) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_nump -> override_dh_numpy3 (line 7) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installxmlcatalog -> override_dh_installxmlcatalogs (line 15) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installdebs -> override_dh_installdeb (line 15) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installcrons -> override_dh_installcron (line 9) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_examples -> override_dh_installexamples (line 14) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_examples -> override_dh_installexamples (line 10) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_changelogs -> override_dh_installchangelogs (line 11) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_instakk -> override_dh_install (line 8) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_instakk -> override_dh_install (line 14) -debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_build -> override_dh_auto_build (line 22) -debhelper-override-typos (source): typo-in-debhelper-override-target override dh_install -> override_dh_install (line 25) -debhelper-override-typos (source): typo-in-debhelper-override-target execute_before_dh_nope -> execute_before_dh_gnome (line 28) -debhelper-override-typos (source): typo-in-debhelper-override-target execute_after_dh_nope -> execute_after_dh_gnome (line 27) -debhelper-override-typos (source): debian-build-system dh -debhelper-override-typos (source): debhelper-compat-virtual-relation 13 +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_testdirs => override_dh_testdir [debian/rules:18] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_perls => override_dh_perl [debian/rules:13] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_perls => override_dh_perl [debian/rules:12] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_nump => override_dh_numpy3 [debian/rules:7] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installxmlcatalog => override_dh_installxmlcatalogs [debian/rules:15] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installdebs => override_dh_installdeb [debian/rules:15] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_installcrons => override_dh_installcron [debian/rules:9] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_examples => override_dh_installexamples [debian/rules:14] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_examples => override_dh_installexamples [debian/rules:10] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_install_changelogs => override_dh_installchangelogs [debian/rules:11] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_instakk => override_dh_install [debian/rules:8] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_instakk => override_dh_install [debian/rules:14] +debhelper-override-typos (source): typo-in-debhelper-override-target override_dh_build => override_dh_auto_build [debian/rules:22] +debhelper-override-typos (source): typo-in-debhelper-override-target override dh_install => override_dh_install [debian/rules:25] +debhelper-override-typos (source): typo-in-debhelper-override-target execute_before_dh_nope => execute_before_dh_gnome [debian/rules:28] +debhelper-override-typos (source): typo-in-debhelper-override-target execute_after_dh_nope => execute_after_dh_gnome [debian/rules:27] +debhelper-override-typos (source): debian-build-system dh [debian/rules] +debhelper-override-typos (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-override-typos (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-does-not-use-debhelper-or-cdbs/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-does-not-use-debhelper-or-cdbs/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-does-not-use-debhelper-or-cdbs/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-does-not-use-debhelper-or-cdbs/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -debhelper-package-does-not-use-debhelper-or-cdbs (source): package-does-not-use-debhelper-or-cdbs -debhelper-package-does-not-use-debhelper-or-cdbs (source): debian-build-system other +debhelper-package-does-not-use-debhelper-or-cdbs (source): package-does-not-use-debhelper-or-cdbs [debian/rules] +debhelper-package-does-not-use-debhelper-or-cdbs (source): debian-build-system other [debian/rules] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-minus/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-minus/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-minus/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-minus/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-package-uses-debhelper-with-prefix-minus (source): debian-build-system dh -debhelper-package-uses-debhelper-with-prefix-minus (source): debhelper-compat-virtual-relation 13 +debhelper-package-uses-debhelper-with-prefix-minus (source): debian-build-system dh [debian/rules] +debhelper-package-uses-debhelper-with-prefix-minus (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-package-uses-debhelper-with-prefix-minus (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-plus/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-plus/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-plus/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-package-uses-debhelper-with-prefix-plus/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-package-uses-debhelper-with-prefix-plus (source): debian-build-system dh -debhelper-package-uses-debhelper-with-prefix-plus (source): debhelper-compat-virtual-relation 13 +debhelper-package-uses-debhelper-with-prefix-plus (source): debian-build-system dh [debian/rules] +debhelper-package-uses-debhelper-with-prefix-plus (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-package-uses-debhelper-with-prefix-plus (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-script-token/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-script-token/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-script-token/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-script-token/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-script-token (source): maintainer-script-lacks-debhelper-token debian/postinst -debhelper-script-token (source): debian-build-system dh -debhelper-script-token (source): debhelper-compat-virtual-relation 13 +debhelper-script-token (source): maintainer-script-lacks-debhelper-token [debian/postinst] +debhelper-script-token (source): debian-build-system dh [debian/rules] +debhelper-script-token (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-script-token (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-script-token-unneeded/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-script-token-unneeded/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-script-token-unneeded/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-script-token-unneeded/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -debhelper-script-token-unneeded (source): debian-build-system debhelper -debhelper-script-token-unneeded (source): debhelper-compat-virtual-relation 13 +debhelper-script-token-unneeded (source): debian-build-system debhelper [debian/rules] +debhelper-script-token-unneeded (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-script-token-unneeded (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-unused-cdbs/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-unused-cdbs/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/debhelper-unused-cdbs/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/debhelper-unused-cdbs/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -debhelper-unused-cdbs (source): unused-build-dependency-on-cdbs -debhelper-unused-cdbs (source): debian-build-system dh -debhelper-unused-cdbs (source): debhelper-compat-virtual-relation 13 +debhelper-unused-cdbs (source): unused-build-dependency-on-cdbs [debian/rules] +debhelper-unused-cdbs (source): debian-build-system dh [debian/rules] +debhelper-unused-cdbs (source): debhelper-compat-virtual-relation 13 [debian/control] debhelper-unused-cdbs (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-debconf/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-debconf/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-debconf/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-debconf/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ -debconf (source): uses-debhelper-compat-file +debconf (source): uses-debhelper-compat-file [debian/compat] debconf (source): no-versioned-debhelper-prerequisite 13 -debconf (source): maintainer-script-lacks-debhelper-token debian/debconf-test.postinst -debconf (source): debian-build-system debhelper +debconf (source): maintainer-script-lacks-debhelper-token [debian/debconf-test.postinst] +debconf (source): debian-build-system debhelper [debian/rules] debconf (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-fields/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-fields/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-fields/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-fields/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,8 +1,8 @@ -fields (source): uses-debhelper-compat-file -fields (source): package-uses-debhelper-but-lacks-build-depends +fields (source): uses-debhelper-compat-file [debian/compat] +fields (source): package-uses-debhelper-but-lacks-build-depends [debian/rules] fields (source): no-versioned-debhelper-prerequisite 13 -fields (source): missing-build-dependency-for-dh_-command dh_md5sums => debhelper | debhelper-compat -fields (source): debian-build-system debhelper +fields (source): missing-build-dependency-for-dh_-command dh_md5sums => debhelper | debhelper-compat [debian/rules] +fields (source): debian-build-system debhelper [debian/rules] fields (source): debhelper-compat-level 13 fields (source): debhelper-but-no-misc-depends fields fields (source): debhelper-but-no-misc-depends another-version diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-libbaz/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-libbaz/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-libbaz/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-libbaz/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,10 +1,10 @@ -libbaz (source): uses-debhelper-compat-file +libbaz (source): uses-debhelper-compat-file [debian/compat] libbaz (source): no-versioned-debhelper-prerequisite 13 -libbaz (source): maintainer-script-lacks-debhelper-token debian/lib.prerm -libbaz (source): maintainer-script-lacks-debhelper-token debian/lib.postinst -libbaz (source): maintainer-script-lacks-debhelper-token debian/dev.prerm -libbaz (source): maintainer-script-lacks-debhelper-token debian/dev.postinst -libbaz (source): debian-build-system debhelper +libbaz (source): maintainer-script-lacks-debhelper-token [debian/lib.prerm] +libbaz (source): maintainer-script-lacks-debhelper-token [debian/lib.postinst] +libbaz (source): maintainer-script-lacks-debhelper-token [debian/dev.prerm] +libbaz (source): maintainer-script-lacks-debhelper-token [debian/dev.postinst] +libbaz (source): debian-build-system debhelper [debian/rules] libbaz (source): debhelper-compat-level 13 libbaz (source): debhelper-but-no-misc-depends libbaz2-dev libbaz (source): debhelper-but-no-misc-depends libbaz2-dbg diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-maintainer-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-maintainer-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-maintainer-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-maintainer-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -maintainer-scripts (source): debian-build-system debhelper -maintainer-scripts (source): debhelper-compat-virtual-relation 13 +maintainer-scripts (source): debian-build-system debhelper [debian/rules] +maintainer-scripts (source): debhelper-compat-virtual-relation 13 [debian/control] maintainer-scripts (source): debhelper-compat-level 13 maintainer-scripts (source): debhelper-but-no-misc-depends maintainer-scripts diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/legacy-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/legacy-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ scripts (source): package-uses-deprecated-debhelper-compat-version 1 -scripts (source): package-uses-debhelper-but-lacks-build-depends +scripts (source): package-uses-debhelper-but-lacks-build-depends [debian/rules] scripts (source): no-versioned-debhelper-prerequisite 1 -scripts (source): missing-build-dependency-for-dh_-command dh_testroot => debhelper | debhelper-compat -scripts (source): debian-build-system debhelper +scripts (source): missing-build-dependency-for-dh_-command dh_testroot => debhelper | debhelper-compat [debian/rules] +scripts (source): debian-build-system debhelper [debian/rules] scripts (source): debhelper-compat-file-is-missing scripts (source): debhelper-but-no-misc-depends scripts diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -rm_conffile /etc/correct.conf 0.2~ foo -rm_conffile /etc/incorrect.conf 0.2~ foo -- "$@" -rm_conffile /etc/incorrect.conf 0.2~ foo -- "${@}" -rm_conffile /etc/incorrect.conf 0.2~ foo -- "$@" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: maintscript-includes-maint-script-parameters -Dh-Compat-Level: 11 -Description: Check dh_installdeb .maintscript files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: maintscript-includes-maint-script-parameters -Check: debhelper diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/maintscript-includes-maint-script-parameters/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -maintscript-includes-maint-script-parameters (source): package-uses-old-debhelper-compat-version 11 -maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters maintscript (line 4) -maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters maintscript (line 3) -maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters maintscript (line 2) -maintscript-includes-maint-script-parameters (source): debian-build-system dh -maintscript-includes-maint-script-parameters (source): debhelper-compat-virtual-relation 11 -maintscript-includes-maint-script-parameters (source): debhelper-compat-level 11 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/oeverride-typo/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/oeverride-typo/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/oeverride-typo/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/oeverride-typo/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -oeverride-typo (source): typo-in-debhelper-override-target oeverride_dh_missing -> override_dh_missing (line 7) -oeverride-typo (source): debian-build-system dh -oeverride-typo (source): debhelper-compat-virtual-relation 13 +oeverride-typo (source): typo-in-debhelper-override-target oeverride_dh_missing => override_dh_missing [debian/rules:7] +oeverride-typo (source): debian-build-system dh [debian/rules] +oeverride-typo (source): debhelper-compat-virtual-relation 13 [debian/control] oeverride-typo (source): debhelper-compat-level 13 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/rules-uses-deprecated-systemd-override/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/rules-uses-deprecated-systemd-override/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/rules-uses-deprecated-systemd-override/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/rules-uses-deprecated-systemd-override/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,6 @@ rules-uses-deprecated-systemd-override (source): package-uses-old-debhelper-compat-version 12 -rules-uses-deprecated-systemd-override (source): debian-rules-uses-deprecated-systemd-override override_dh_systemd_start-arch (line 12) -rules-uses-deprecated-systemd-override (source): debian-rules-uses-deprecated-systemd-override override_dh_systemd_enable (line 6) -rules-uses-deprecated-systemd-override (source): debian-build-system dh -rules-uses-deprecated-systemd-override (source): debhelper-compat-virtual-relation 12 +rules-uses-deprecated-systemd-override (source): debian-rules-uses-deprecated-systemd-override override_dh_systemd_start-arch [debian/rules:12] +rules-uses-deprecated-systemd-override (source): debian-rules-uses-deprecated-systemd-override override_dh_systemd_enable [debian/rules:6] +rules-uses-deprecated-systemd-override (source): debian-build-system dh [debian/rules] +rules-uses-deprecated-systemd-override (source): debhelper-compat-virtual-relation 12 [debian/control] rules-uses-deprecated-systemd-override (source): debhelper-compat-level 12 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.debhelper.log lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.debhelper.log --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.debhelper.log 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.debhelper.log 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +debhelper log file for package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.postinst.debhelper lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.postinst.debhelper --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.postinst.debhelper 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/package.postinst.debhelper 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +Internal debhelper file for package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +%: + dh $@ + +clean: + # No such thing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: debhelper-internal-files +Description: Test for spotting unremoved debhelper temp files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: debhelper-internal-files +Check: debhelper/temporary diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debhelper/temporary/debhelper-internal-files/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +debhelper-internal-files (source): temporary-debhelper-file [debian/package.postinst.debhelper] +debhelper-internal-files (source): temporary-debhelper-file [debian/package.debhelper.log] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-native -Testname: binaries-golang -Extra-Build-Depends: golang-go (>= 2:1.1.1-4) -Description: Misc errors related to golang binaries -Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/basic.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -#include - -int -main(void) -{ - char t[10]; - printf("Hello world!\n"); - /* Bad choice for reading from stdin, but it forces a stack - protector, so meh. - */ - gets (t); -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) -NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) -COMPILE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) - -all: - # static version - $(COMPILE) -static -o basic.static basic.c - -install: - install -d $(DESTDIR)/usr/lib/foo/ - install -m 755 basic.static $(DESTDIR)/usr/lib/foo/static - -clean distclean: - rm -f basic - -check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: binaries-golang -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-golang/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-golang/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -binaries-golang (source): rules-does-not-require-root -binaries-golang (source): missing-xs-go-import-path-for-golang-package -binaries-golang (source): missing-built-using-field-for-golang-package binaries-golang diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/compat.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: libs -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: libbasic2 -Architecture: [% $package_architecture %] -Pre-Depends: ${misc:Pre-Depends}, multiarch-support -Depends: ${misc:Depends}, ${shlibs:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - Note there is an explicitly pre-depends on multiarch-support, since - older versions of debhelper might not use it yet. dpkg-dev will - remove the duplicate entry (if any). diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/libbasic2.symbols lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/libbasic2.symbols --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/libbasic2.symbols 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/libbasic2.symbols 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -libbasic.so.2 libbasic2 #MINVER# - lib_interface@Base 1.0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,23 +0,0 @@ -#!/usr/bin/make -f - -# Since dpkg in stable (Squeeze) does not support MULTIARCH we cannot use -# dpkg-architecture -qDEB_HOST_MULTIARCH -# Therefore this test is hardcoded to x86 and amd64 - -ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH) - -ifeq (i386,$(ARCH)) - TRIPLET = i386-linux-gnu -else - TRIPLET = x86_64-linux-gnu -endif - -export DEB_BUILD_MAINT_OPTIONS=hardening=+all - -%: - dh $@ - -override_dh_makeshlibs: - # dpkg-dev uses ld.so.conf so if we do not pass the lib directly - # this will fail on all x86 machines without with libc6 < 2.13-5 - dh_makeshlibs -- -edebian/libbasic2/usr/lib/$(TRIPLET)/libbasic.so.2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -Skeleton: upload-native -Testname: binaries-multiarch -Description: Test of a correct multiarch package -Package-Architecture: any -Default-Build-Depends: debhelper (>= 9.20151004~) -Dh-Compat-Level: 9 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/basic.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -#include -#include - -static void -hardening_trigger(char *p, int i, void (*f)(char *)) -{ - char test[10]; - memcpy(test, p, i); - f(test); - printf("%s", test); -} - -int -lib_interface(void) -{ - printf("Hello world!\n"); - hardening_trigger(NULL, 0, NULL); - return 0; -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ - -# Since dpkg in stable (Squeeze) does not support MULTIARCH we cannot use -# dpkg-architecture -qDEB_HOST_MULTIARCH -# Therefore this test is hardcoded to x86 and amd64 - -ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH) - -ifeq (i386,$(ARCH)) - TRIPLET = i386-linux-gnu -else - TRIPLET = x86_64-linux-gnu -endif - - -all: - gcc $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -fPIC -shared -Wl,-z,defs -Wl,-soname,libbasic.so.2 -o libbasic.so.2 basic.c - -install: - # install it under the correct triplet directory - install -d $(DESTDIR)/usr/lib/$(TRIPLET) - install -m 644 -c -s libbasic.so.2 $(DESTDIR)/usr/lib/$(TRIPLET)/libbasic.so.2 - -clean distclean: - rm -f libbasic.so.2 - -check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Testname: binaries-multiarch -Test-Architectures: i386 amd64 -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -binaries-multiarch (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/binaries-multiarch/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/binaries-multiarch/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -s/i386-linux-gnu/x86_64-linux-gnu/ -s/is for i386/is for amd64/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -Source: [% $source %] -Section: [% $section %] -Priority: optional -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-dbg -Section: debug -Architecture: all -Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} -Description: Manual dbg package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It - may be an empty package. - -Package: [% $source %]-dbgsym -Section: debug -Architecture: all -Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} -Description: Manual dbgsym package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - even be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: changes-files-package-builds-dbg-and-dbgsym-variants -Package-Architecture: any -Description: Package builds -dbg and -dbgsym diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: changes-files-package-builds-dbg-and-dbgsym-variants -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -changes-files-package-builds-dbg-and-dbgsym-variants (source): rules-does-not-require-root -changes-files-package-builds-dbg-and-dbgsym-variants (source): debian-control-has-obsolete-dbg-package changes-files-package-builds-dbg-and-dbgsym-variants-dbg -changes-files-package-builds-dbg-and-dbgsym-variants (source): debian-control-has-dbgsym-package changes-files-package-builds-dbg-and-dbgsym-variants-dbgsym diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/compat.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %], debhelper -Build-Depends-Indep: foobar, foo, foobar -Build-Conflicts: bar, - baz, - bar [i386] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends}, ${misc:Depends} -Recommends: foo (>> 1.0) | bar, foo -Suggests: baz (= 1.0), baz, baz (>= 2.0) -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-native -Testname: control-file-duplicate -Package-Architecture: all -Description: Pedantic test for duplicate relations -Default-Build-Depends: debhelper (>= [% $dh_compat_level %]~) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-duplicate -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-duplicate/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-duplicate/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -control-file-duplicate (source): rules-does-not-require-root -control-file-duplicate (source): redundant-control-relation in source Build-conflicts: bar, bar [i386] -control-file-duplicate (source): redundant-control-relation in source Build-Depends: debhelper, debhelper (>= 13~) -control-file-duplicate (source): redundant-control-relation in source Build-Depends-Indep: foobar, foobar -control-file-duplicate (source): redundant-control-relation in control-file-duplicate Suggests: baz, baz (= 1.0), baz (>= 2.0) -control-file-duplicate (source): redundant-control-relation in control-file-duplicate Depends: ${misc:Depends}, ${misc:Depends} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,118 +0,0 @@ -Source: [% $source %] -Priority: optional -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %], - fiddle [amd64 powerpc mips mipsel hppa s390], - faddle - (>> - 2) [ - sparc i386 amd64 - ] -Build-Depends-Indep: perl (> 5.8) -Rules-Requires-Root: no -XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk -#Vcs-Git: git://git.debian.org/collab-maint/.git -#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary - -Package: [% $source %] -Section: [% $section %] -Maintainer: [% $author %] -Build-Conflicts: foo -Architecture: all -Pre-depends: ${misc:Pre-depends}, multiarch-support -Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} -Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo -Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-1 -Section: [% $section %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Breaks: libsqlite3-0 (< 3.6.12) -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-2 -Section: [% $section %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (two) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-3 -Section: [% $section %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), - baz (<< 2), - fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} -Description: [% $description %] (three) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-4 -Section: [% $section %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, foo | - bar (>= 1), baz -Description: [% $description %] (four) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-5 -Section: [% $section %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-dbgsym -Section: debug -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Description: dbg-sym - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-dbg -Section: debug -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Description: debug - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-udeb -Section: debian-installer -Package-Type: udeb -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (udeb) - udeb tests. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!/usr/bin/make -f -%: - dh $@ - -override_dh_gencontrol: - echo 'pv:gcc=4.3' >> debian/substvars - echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars - dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-general -Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Testname: control-file-general -See-Also: Debian Bug#30020, Debian Bug#409099, Debian Bug#516706, - Debian Bug#533202, Debian Bug#557971, Debian Bug#573399, Debian Bug#580494, - Debian Bug#657110 -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,20 +0,0 @@ -control-file-general (source): xs-vcs-field-in-debian-control XS-Vcs-Svn -control-file-general (source): stronger-dependency-implies-weaker control-file-general Recommends -> Suggests match${lintian:Match} -control-file-general (source): stronger-dependency-implies-weaker control-file-general Recommends -> Suggests bar | baz -control-file-general (source): stronger-dependency-implies-weaker control-file-general Depends -> Suggests bar | baz -control-file-general (source): stronger-dependency-implies-weaker control-file-general Depends -> Recommends foo -control-file-general (source): rules-does-not-require-root -control-file-general (source): package-depends-on-itself control-file-general Depends -control-file-general (source): obsolete-relation-form-in-source in source Build-Depends-Indep: perl (> 5.8) -control-file-general (source): obsolete-relation-form-in-source in control-file-general-1 Breaks: libsqlite3-0 (< 3.6.12) -control-file-general (source): missing-separator-between-items in control-file-general Depends field between '${shlibs:Depends}' and '${some:Depends}' -control-file-general (source): duplicate-short-description control-file-general control-file-general-1 -control-file-general (source): duplicate-long-description control-file-general control-file-general-1 control-file-general-2 control-file-general-3 control-file-general-4 control-file-general-5 control-file-general-dbg control-file-general-dbgsym -control-file-general (source): debian-control-repeats-field-name-in-value line 91 -control-file-general (source): debian-control-repeats-field-name-in-value line 81 -control-file-general (source): debian-control-repeats-field-name-in-value line 101 -control-file-general (source): debian-control-has-obsolete-dbg-package control-file-general-dbg -control-file-general (source): debian-control-has-dbgsym-package control-file-general-dbgsym -control-file-general (source): control-file-contains-dh_make-vcs-comment -control-file-general (source): build-info-in-binary-control-file-section Package control-file-general -control-file-general (source): binary-control-field-duplicates-source field "Maintainer" in package control-file-general diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -Source: [% $source %] -Section: introspection -Priority: optional -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: gir1.1-missing-gir-depends-2.2 -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package should be tagged by Lintian. - -Package: gir1.1-gir-depends-present-2.2 -Architecture: [% $package_architecture %] -Depends: ${misc:Depends}, ${gir:Depends} -Description: [% $description %]: False - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package should not be tagged by Lintian. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-gobject-introspection-package-missing-gir-depends -Description: Check for missing binary dependencies on ${gir:Depends} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-gobject-introspection-package-missing-gir-depends -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-gobject-introspection-package-missing-gir-depends/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -control-file-gobject-introspection-package-missing-gir-depends (source): rules-does-not-require-root -control-file-gobject-introspection-package-missing-gir-depends (source): gobject-introspection-package-missing-depends-on-gir-depends gir1.1-missing-gir-depends-2.2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -static /usr/lib/foo/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -Source: [% $source %] -Section: net -Priority: optional -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Rules-Requires-Root: [% $rules_requires_root %] -Build-Depends: [% $build_depends %], - golang-go (>= 2:1.1.1-4) - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -Built-Using: ${misc:Built-Using} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-dev -Architecture: all -Depends: ${misc:Depends} -Built-Using: ${misc:Built-Using} -Description: [% $description %] (dev) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package contains the source. - -Package: [% $source %]-clean-dev -Architecture: all -Depends: ${misc:Depends} -Description: [% $description %] (clean dev) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package contains the source, without a built-using tag. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: control-file-golang-built-using -Description: False-positive test for Built-Using field -Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/basic.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -#include - -int -main(void) -{ - char t[10]; - printf("Hello world!\n"); - /* Bad choice for reading from stdin, but it forces a stack - protector, so meh. - */ - gets (t); -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) -NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) -COMPILE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) - -all: - # static version - $(COMPILE) -static -o static basic.c - -clean distclean: - rm -f basic - -check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Testname: control-file-golang-built-using -Test-Against: - missing-built-using-field-for-golang-package -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-built-using/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-built-using/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -control-file-golang-built-using (source): rules-does-not-require-root -control-file-golang-built-using (source): missing-xs-go-import-path-for-golang-package -control-file-golang-built-using (source): built-using-field-on-arch-all-package control-file-golang-built-using-dev diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -static usr/lib/foo/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -Source: [% $source %] -Section: net -Priority: optional -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Rules-Requires-Root: [% $rules_requires_root %] -Build-Depends: [% $build_depends %], - golang-go (>= 2:1.1.1-4) -XS-Go-Import-Path: github.com/Debian/lintian-test-package - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -Built-Using: ${misc:Built-Using} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-dev -Architecture: all -Depends: ${misc:Depends} -Description: [% $description %] (dev) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package contains the source. - -Package: [% $source %]-clean-dev -Architecture: all -Depends: ${misc:Depends} -Description: [% $description %] (clean dev) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package contains the source, without a built-using tag. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: control-file-golang-xs-go-import-path -Description: False-positive test for XS-Go-Import field -Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/basic.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -#include - -int -main(void) -{ - char t[10]; - printf("Hello world!\n"); - /* Bad choice for reading from stdin, but it forces a stack - protector, so meh. - */ - gets (t); -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) -NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) -COMPILE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) - -all: - # static version - $(COMPILE) -static -o static basic.c - -clean distclean: - rm -f basic - -check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Testname: control-file-golang-xs-go-import-path -Test-Against: missing-xs-go-import-path-for-golang-package -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-golang-xs-go-import-path/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -control-file-golang-xs-go-import-path (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Pre-Depends: libc0.1 -Depends: ${shlibs:Depends}, ${misc:Depends}, libc6 -Recommends: libc6.1 -Suggests: libc0.3 -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-hardcoded-libc -Description: Test hard-coded dependencies on libc diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Testname: control-file-hardcoded-libc -See-Also: Debian Bug#512196 -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-hardcoded-libc/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -control-file-hardcoded-libc (source): rules-does-not-require-root -control-file-hardcoded-libc (source): package-depends-on-hardcoded-libc control-file-hardcoded-libc Suggests -control-file-hardcoded-libc (source): package-depends-on-hardcoded-libc control-file-hardcoded-libc Recommends -control-file-hardcoded-libc (source): package-depends-on-hardcoded-libc control-file-hardcoded-libc Pre-Depends -control-file-hardcoded-libc (source): package-depends-on-hardcoded-libc control-file-hardcoded-libc Depends diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,43 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: http://lintian.debian.org/ - -Package: [% $source %]-broken -Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 - any-ppc64 any-ppc64el any-sparc64 -Depends: ${misc:Depends} -Description: [% $description %] (multiline architecture, broken) - This is a (broken) test package designed to exercise some feature or - tag of Lintian. It is part of the Lintian test suite and may do very - odd things. It should not be installed like a regular package. It - may be an empty package. - . - The Architecture (multi-)line example above is taken from - https://bugs.debian.org/780473 - -Package: [% $source %]-fine-any-something -Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 any-ppc64 any-ppc64el any-sparc64 -Depends: ${misc:Depends} -Description: [% $description %] (any-something, fine) - This is a (non-broken) test package designed to exercise some feature - or tag of Lintian. It is part of the Lintian test suite and may do - very odd things. It should not be installed like a regular package. - It may be an empty package. - . - This "any-something" package should not show up. - -Package: [% $source %]-fine-all -Architecture: all -Depends: ${misc:Depends} -Description: [% $description %] (all, fine) - This is a (non-broken) test package designed to exercise some feature - or tag of Lintian. It is part of the Lintian test suite and may do - very odd things. It should not be installed like a regular package. - It may be an empty package. - . - This "all" package should not show up. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-important-space -Description: Important tests for control file spacing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-important-space -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-important-space/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-important-space/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -control-file-important-space (source): rules-does-not-require-root -control-file-important-space (source): multiline-architecture-field control-file-important-space-broken diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,115 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: libcontrol-file-foo1 -Section: libs -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (shared lib 1) - First shared library. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file-bar7ldbl -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (shared lib 2) - Second shared library. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file-dev -Section: libdevel -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends}, - libcontrol-file-foo1 (= ${binary:Version}), - libcontrol-file-bar7ldbl, libcontrol-file-baz9-4 (>= ${binary:Version}), - libfoo4, libcontrol-file-doc, libcontrol-file4-dev -Description: [% $description %] (dev package) - Dev package. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file-baz9-4 -Section: libs -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (shared lib 3) - Third shared library. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file-doc -Section: doc -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (doc package) - Doc package. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file4-dev -Section: libdevel -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends}, - libcontrol-file-foo1 (<= ${source:Upstream-Version}-99) - | libcontrol-file-baz9-4 (<= ${source:Upstream-Version}-99), - libcontrol-file-foo1 (>= ${binary:Version}) - | libcontrol-file-baz9-4 (>= ${binary:Version}) -Description: [% $description %] (dev package with version) - Dev package containing a number. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-file-all-dev -Section: libdevel -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, libcontrol-file-doc, - libcontrol-file-foo1 (>= ${source:Upstream-Version}), - libcontrol-file-foo1 (<= ${source:Version}.1~), - libcontrol-file-baz9-4 (>= ${source:Version}) -Description: [% $description %] (arch: all dev package) - Architecture-independent development package. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libcontrol-baz-dev -Section: libdevel -Architecture: [% $package_architecture %] -Depends: - libcontrol-file-baz9-4 (= ${binary:Version}), - ${misc:Depends}, - ${shlibs:Depends} -Description: [% $description %] (dev whitespace) - Test proper parsing of leading whitespace in Depends - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-library-dev -Description: Check control file handling of library dev packages diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-library-dev -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-library-dev/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-library-dev/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -control-file-library-dev (source): weak-library-dev-dependency libcontrol-file-dev on libcontrol-file-baz9-4 (>= ${binary:Version}) -control-file-library-dev (source): weak-library-dev-dependency libcontrol-file-dev on libcontrol-file-bar7ldbl -control-file-library-dev (source): weak-library-dev-dependency libcontrol-file-all-dev on libcontrol-file-baz9-4 (>= ${source:Version}) -control-file-library-dev (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -Source: control-file-missing-separator -Section: devel -Priority: optional -Maintainer: [% $author %] -Build-Depends: [% $build_depends %], - fiddle [amd64 powerpc - mips mipsel - hppa - s390], - faddle - (>> - 2) [ - sparc i386 amd64 - ] -Standards-Version: [% $standards_version %] - -Package: control-file-missing-separator -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1) - baz (<< 2), - fizz (= 2.0) -Suggests: p1 - p2 - p3 - p4 - p5 -Description: Test for missing separators in control files - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: source-native -Testname: control-file-missing-separator -Version: 1 -Description: Test for missing separators in control files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-missing-separator -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-missing-separator/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-missing-separator/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -control-file-missing-separator (source): silent-on-rules-requiring-root -control-file-missing-separator (source): missing-separator-between-items in control-file-missing-separator Suggests field between 'p1' and 'p2' -control-file-missing-separator (source): missing-separator-between-items in control-file-missing-separator Depends field between 'foo (>= 1)' and 'baz (<< 2)' diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: https://lintian.debian.org/ - -Package: [% $source %]-udeb -Section: debian-installer -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -XC-Package-Type: udeb -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-pedantic -Description: Pedantic tests for control file issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-pedantic -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -control-file-pedantic (source): xc-package-type-in-debian-control line 14 -control-file-pedantic (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority:optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: https://lintian.debian.org/ - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-pedantic-space -Description: Pedantic tests for control file spacing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-pedantic-space -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-pedantic-space/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-pedantic-space/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -control-file-pedantic-space (source): rules-does-not-require-root -control-file-pedantic-space (source): debian-control-has-unusual-field-spacing line 3 -control-file-pedantic-space (source): debian-control-has-unusual-field-spacing line 2 -control-file-pedantic-space (source): debian-control-has-unusual-field-spacing line 1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: binary-targets -Homepage: https://lintian.debian.org/ - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -%: - dh $@ - -override_dh_builddeb: - dh_builddeb -- -Zgzip diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-rules-requires-root-binary-targets -Description: Test for "Rules-Requires-Root: binary-targets" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-rules-requires-root-binary-targets -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-binary-targets/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -control-file-rules-requires-root-binary-targets (source): rules-requires-root-explicitly diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: https://lintian.debian.org/ - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -%: - dh $@ - -override_dh_builddeb: - dh_builddeb -- -Zgzip diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-rules-requires-root-no -Description: Test for "Rules-Requires-Root: no" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-rules-requires-root-no -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-rules-requires-root-no/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -control-file-rules-requires-root-no (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: non-free/[% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -XS-Autobuild: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-source-upload-to-non-free-without-autobuild -Description: Check for source-only uploads to non-free without autobuild diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Testname: control-file-source-upload-to-non-free-without-autobuild -Test-Against: - source-only-upload-to-non-free-without-autobuild -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-source-upload-to-non-free-without-autobuild/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -control-file-source-upload-to-non-free-without-autobuild (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Suggests: [% $source %] -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-suggests-itself -Description: Test a package Suggesting itself diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-suggests-itself -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-suggests-itself/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-suggests-itself/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -control-file-suggests-itself (source): rules-does-not-require-root -control-file-suggests-itself (source): package-depends-on-itself control-file-suggests-itself Suggests diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-file-symlink -Description: Test if debian/control is a symlink diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/build-spec/pre-build lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/build-spec/pre-build --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/build-spec/pre-build 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/build-spec/pre-build 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#!/bin/sh - -ROOT_DIR="$1" - -mv "${ROOT_DIR}/debian/control" "${ROOT_DIR}/debian/control.real" -ln -s control.real "${ROOT_DIR}/debian/control" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-file-symlink -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-file-symlink/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-file-symlink/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -control-file-symlink (source): rules-does-not-require-root -control-file-symlink (source): debian-control-file-is-a-symlink diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Uploaders: - Wrapped Onto New Line -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: binary-targets -Homepage: https://lintian.debian.org/ -Vcs-Browser: -# The following line contains "Vcs-Git: \n" -Vcs-Git: - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Suggests: -# The following line contains "Provides: \n" -Provides: -Recommends: ${false:Positive} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: control-has-empty-field -Description: Check for empty fields diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: control-has-empty-field -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/control-has-empty-field/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/control-has-empty-field/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -control-has-empty-field (source): rules-requires-root-explicitly -control-has-empty-field (source): debian-control-has-empty-field field "Vcs-Git" in source paragraph -control-has-empty-field (source): debian-control-has-empty-field field "Vcs-Browser" in source paragraph -control-has-empty-field (source): debian-control-has-empty-field field "Suggests" in package control-has-empty-field -control-has-empty-field (source): debian-control-has-empty-field field "Provides" in package control-has-empty-field diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/compat.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -#!/usr/bin/make -f - -%: - dh $@ - -override_dh_builddeb: - dh_builddeb -- -Zgzip diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-native -Testname: debhelper-compat-old -Description: Test for old debian/compat file -Dh-Compat-Level: 8 -Default-Build-Depends: debhelper (>= [% $dh_compat_level %]~) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Testname: debhelper-compat-old -Options: --include-dir ./lintian-include-dir -Profile: lintian-test -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -debhelper-compat-old (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/profiles/lintian-test/main.profile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/profiles/lintian-test/main.profile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/profiles/lintian-test/main.profile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/profiles/lintian-test/main.profile 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Profile: lintian-test/main -Extends: debian/main diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/vendors/lintian-test/main/data/debhelper/compat-level lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/vendors/lintian-test/main/data/debhelper/compat-level --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/vendors/lintian-test/main/data/debhelper/compat-level 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/debhelper-compat-old/eval/lintian-include-dir/vendors/lintian-test/main/data/debhelper/compat-level 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -@include-parent -deprecated=1 -recommended=100 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: [% $homepage %] - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends}, ${misc:Pre-Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: depends-on-misc-pre-depends -Description: Check for packages Depending on ${misc:Pre-Depends} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: depends-on-misc-pre-depends -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/depends-on-misc-pre-depends/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -depends-on-misc-pre-depends (source): rules-does-not-require-root -depends-on-misc-pre-depends (source): depends-on-misc-pre-depends depends-on-misc-pre-depends diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/adopted +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): adopted-extended-field (in section for source) XS-Vcs-Svn [debian/control:14] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control-file-golang-xs-go-import-path.install 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +static usr/lib/foo/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,41 @@ +Source: [% $source %] +Section: net +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Rules-Requires-Root: [% $rules_requires_root %] +Build-Depends: [% $build_depends %], + golang-go (>= 2:1.1.1-4) +XS-Go-Import-Path: github.com/Debian/lintian-test-package + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Built-Using: ${misc:Built-Using} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dev +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] (dev) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package contains the source. + +Package: [% $source %]-clean-dev +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] (clean dev) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package contains the source, without a built-using tag. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: control-file-golang-xs-go-import-path +Description: False-positive test for XS-Go-Import field +Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/basic.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#include + +int +main(void) +{ + char t[10]; + printf("Hello world!\n"); + /* Bad choice for reading from stdin, but it forces a stack + protector, so meh. + */ + gets (t); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) +NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) +COMPILE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) + +all: + # static version + $(COMPILE) -static -o static basic.c + +clean distclean: + rm -f basic + +check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-golang-xs-go-import-path +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-golang-xs-go-import-path/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-golang-xs-go-import-path (source): adopted-extended-field (in section for source) XS-Go-Import-Path [debian/control:9] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,19 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: https://lintian.debian.org/ + +Package: [% $source %]-udeb +Section: debian-installer +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +XC-Package-Type: udeb +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-pedantic +Description: Pedantic tests for control file issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-pedantic +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-pedantic/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-pedantic (source): adopted-extended-field (in section for control-file-pedantic-udeb) XC-Package-Type [debian/control:14] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: non-free/[% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +XS-Autobuild: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-source-upload-to-non-free-without-autobuild +Description: Check for source-only uploads to non-free without autobuild diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-source-upload-to-non-free-without-autobuild +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/control-file-source-upload-to-non-free-without-autobuild/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-source-upload-to-non-free-without-autobuild (source): adopted-extended-field (in section for source) XS-Autobuild [debian/control:8] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,47 @@ +binary ([% $version %]) [% $distribution %]; urgency=low + + * I'm doing an comaintainer-upload, acknowledging a NMU, but with a version + number which suggests I'm doing a NMU myself. + + Lintian-maintainers: Please don't update this changelog, otherwise you'll + probably break the checks/nmu checks. + + -- Jeroen van Wolffelaar Sun, 18 Apr 2004 01:49:42 +0200 + +binary (4-1) unstable; urgency=low + + * Weird version number for the new check for accidents with native + packaging. + * Date was fixed by BR and this test was put on changelog-file-strange-date + due to dpkg bug, see #794674. + + -- Marc 'HE' Brockschmidt Thu, 15 Apr 2004 23:33:51 +0200 + +binary (4) unstable; urgency=low + + * Add big file to /usr/share to trigger the big-usr-share check + + -- Jeroen van Wolffelaar Fri, 27 Feb 2004 10:15:59 +0100 + +binary (3) unstable; urgency=unlimited + + * Add some bogus menu entries using su-to-root in a bogus way + + -- Jeroen van Wolffelaar Thu, 12 Feb 2004 20:11:22 +0100 + +binary (2) unstable; urgency=low + + * Added an INSTALL document which policy 6.3 suggests not to do + + -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 + +binary (1) unstable; urgency=low + + * hello.c added + * hello-static is same as hello, but compiled statically + * added a menu entry which lacks a Section + * added a postinst + * postinst calls suidregister which is no longer policy compliant + + -- Sean 'Shaleh' Perry Wed, 10 Jan 2001 08:55:34 -0800 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/conffiles lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/conffiles --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/conffiles 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/conffiles 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +/etc/menu-methods/lintian diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,42 @@ +Source: binary +Section: misc +Priority: optional +Maintainer: Lintian Maintainers +Uploaders: Co-maintainer one , Jeroen van Wolffelaar , Co-maintainer three +Standards-Version: 3.2.1 +Homepage: http://lintian.debian.org/ +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +XS-Vcs-Browser: http://svn.wolffelaar.nl/lintian/trunk +XS-Dm-Upload-Allowed: yes + +Package: binary +Architecture: any +Pre-Depends: ${shlibs:Depends}, xorg, binary-data (= ${source:Version}), libssl0.9.8 +Homepage: +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +Description: test handling of binary files + Regression test for lintian's handling of binary files for debian. This + is checked for picky spelling errors. + . + This package list [ subversion | gconf ] should not be flagged as a spelling + mistake. The spelling correction for dont should be correct. + . + Homepage: http://lintian.debian.org/ + +Package: binary-data +Architecture: all +Depends: binary (= ${source:Version}), libssl-not-openssl, + libssl0.9.8 | or-something-else +Description: test handling of binary relationships + Regression test for lintian's checking of package relationships between + arch:any and arch:all packages. + . + This mention of subversion should be flagged as a spelling mistake. + +#Package: binary-comment +#Architecture: space-almonds +#Depends: * +#Depends: * +#Description: test comment support +# Yes, comments are actually allowed in debian/control, so none of the +# above should produce errors. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,15 @@ +hello.c is released under public domain. This is distributed in the hope that +it will be useful, but without any warranty; without even the implied warranty +of merchantability or fitness for a particular purpose. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +Test for old FSF address: + +Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +Test for deprecated nätionäl äncoding. + +Improper capitalization of linux or debian isn't caught here. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/doc-base lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/doc-base --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/doc-base 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/doc-base 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,41 @@ +Document: binary!docs +Title: Broken debian binary doc-base control file +Author: Russ Allbery +Abstract: This control file exercises various tests of doc-base control + files, including several things that aren't tested yet. The third and + fourth one has trailing whitespace. + . + This section has a speling error and bad ® character. + . + The above separator was fine. +Section: Non/Existant +Unknown: Some field + + + +Format: debiandoc-sgML +Files: /usr/share/doc/binary/binary.sgml.gz +Unknown: Some field + +Format: ESP +Index: /usr/share/doc/binary/binary.txt + +Index: /usr/share/doc/binary/html/index.html + /usr/share/doc/binary/html/ch1.html + /usr/share/doc/binary/html/ch4.html + + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch?.h*l + /usr/share/doc/binary/hml/*.html + +Format: inFO +Files: /usr/share/info/binary.info.gz + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch5.html + /usr/share/doc/binary/html/ch6.html + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/goodbye.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/goodbye.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/goodbye.desktop 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/goodbye.desktop 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,13 @@ +[Desktop Entry] +Name:Goodbye +# Name=Goodbye +Comment=Say hello! +SpecialTag=This doesn't exist! +Exec=goodbye +icon=hello +Terminal=true +Type=Application +Categories=WeirdStuff;Screensaver; +Encoding=ISO-10646-1 +[Other Entry] +Name=Goodbye diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/hello.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/hello.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/hello.desktop 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/hello.desktop 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +# some random comment + +# [Foo Bar] +[KDE Desktop Entry] +Name=Hello +Name[en_US]=Hello +Comment=Say hello! +Exec=kdesu hello +Icon=hello +Terminal=true +Type=Application +Categories=GNOME;GTK;System;Applet;X-Foo;Settings; +Encoding=UTF-8 +OnlyShowIn=GNOME; diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,26 @@ +?package(binary):needs=text title="Hello World" command="/usr/bin/hello" +?package(binary):needs=text section="Applications/System" title="Run cfdisk (0)" command="/usr/bin/su-to-root cfdisk" +?package(binary):needs="text" section="Applications/System/Hardware" title="Run cfdisk (1)" command="sux -p cfdisk" +?package(binary):needs="x11" section="Window Managers" title="Run xfdisk" command="/usr/sbin/su-to-root -c xfdisk" +?package(binary):needs="wm" section="Applications/System/Administration" title="Run fdisk-wm" command="su-to-root -c hello" +?package(binary):section="Apps/Games" title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Apps/System" title="I'm not here!" command="/imnothere" +?package(binary,other-binary):\ + needs="text"\ + section="Applications/Shells"\ + title="more than one required"\ + command="other-bin -s omething" +?package(binary):needs="wmmodule" section="WindowManagers/Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="wmmodule" section="FVWM Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="text" section="Applications/System/Administration" title="I'm not in /usr/bin!" command="iminusrbin" +?package(binary):needs="text"\ + section="Applications/System/Administration"\ + title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Applications/System/Administration"\ + title="Run cfdisk (0)" command="cfdisk" +?package(binary):needs="text" section="Applications/System/Administration" title="Hello World" command="/usr/bin/hello" +?package(binary):needs="wm" section="FVWM Modules" title="Fake Module" command="hello" +?package(binary):needs="fvwmmodule" section="Window Maker" title="Fake Module"\ + command="hello" +?package(binary):needs="x11" section="Applications/System/Hardware" title="Run xfdisk" command="su-to-root -c 'xfdisk -f'" +?package(binary):needs="text" section="Applications/System/Administration" title="foo" command="sh /path/to/foo" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu-method lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu-method --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu-method 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/menu-method 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,22 @@ +#!/usr/bin/install-menu + +# -*- mode: shell-script; -*- +#I need menu-1! +# + +!include notmenu.h + +compat="menu-2" + +outputencoding="UTF-8"; +outputlanguage="C"; + +x11 = AppEntry("false"); +text = AppEntry("true"); + +startmenu = ""; +endmenu = ""; +submenutitle = ""; +rootprefix = "/var/lib/lintian/menu"; +userprefix = ".local/share/lintian/menu"; + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/NEWS.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/NEWS.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/NEWS.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/NEWS.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +binary (4-1.1) UNRELEASED; urgency=high + + This is a Debian NEWS entry that isn't encoded properly in UTF-8: ü. + It also has a usefull speling error. + + -- Russ Allbery Sun, 14 Oct 2007 17:11:36 -0700 + +binary (1) unstable; urgency=low + + This is another entry but this one isn't syntactically valid. + + -- Russ Allbery 2007-10-14 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#! /bin/bash -e + +if [ $1 eq 'configure' ] +then + suidregister hello-static root root 4755 +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/README.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +this is a binary package to test lintian's handling of bins. +Check handling of D-Bus and dbus (neither of which should produce +warnings). + + -- Russ Allbery , Wed, 6 Feb 2008 18:35:11 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,92 @@ +#!/usr/bin/make -f + +tmp=debian/tmp + +# This reference to $(PWD) should not cause an error but the one below +# should. +build-arch: + make + echo $(PWD) + +build: build-arch + +clean: + make -i clean + [ ! -f debian/files ] || rm -f debian/files + [ ! -f debian/substvars ] || rm -f debian/substvars + [ ! -d debian/tmp ] || rm -rf debian/tmp + [ ! -d debian/binary ] || rm -rf debian/binary + [ ! -d debian/binary-data ] || rm -rf debian/binary-data + +binary-arch: build + install -d $(tmp)/usr/bin + install -d $(tmp)/boot/hello + install -m 755 hello $(tmp)/usr/bin + touch $(tmp)/usr/bin/iminusrbin + chmod 755 $(tmp)/usr/bin/iminusrbin + install -m 755 hello-static $(tmp)/usr/bin + strip $(tmp)/usr/bin/hello-static + install -m 755 hello-static $(tmp)/usr/bin/hello.static + strip --remove-section=.comment --remove-section=.note $(tmp)/usr/bin/hello.static + ln $(tmp)/usr/bin/hello.static $(tmp)/usr/bin/static-hello + install -m 755 hello-static $(tmp)/boot/hello + strip --remove-section=.comment --remove-section=.note $(tmp)/boot/hello/hello-static + install -d $(tmp)/usr/share/doc/binary + install -m 644 INSTALL $(tmp)/usr/share/doc/binary + install -d $(tmp)/usr/share/doc/binary/html + echo '' > $(tmp)/usr/share/doc/binary/html/index.html + echo '' > $(tmp)/usr/share/doc/binary/html/ch1.html + ln -s ../html/./ch1.html $(tmp)/usr/share/doc/binary/html/ch2.html + ln -s /usr/share/doc/binary/htm/ch1.html $(tmp)/usr/share/doc/binary/html/ch3.html + echo '' > $(tmp)/usr/share/doc/binary/html/ch5.html + ln $(tmp)/usr/share/doc/binary/html/ch5.html \ + $(tmp)/usr/share/doc/binary/html/ch6.html + install -d $(tmp)/usr/share/menu + install -d $(tmp)/usr/lib/menu + install -d $(tmp)/usr/share/binary + install -m 644 debian/menu $(tmp)/usr/share/menu/binary + install -m 644 debian/menu $(tmp)/usr/lib/menu/binary + install -d $(tmp)/etc/menu-methods + install -m 755 debian/menu-method $(tmp)/etc/menu-methods/lintian + install -d $(tmp)/usr/share/doc-base + install -m 644 debian/doc-base $(tmp)/usr/share/doc-base/binary + touch '$(tmp)/usr/share/doc-base/space ' + install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary + install -m 644 debian/NEWS.Debian $(tmp)/usr/share/doc/binary + gzip -n -9 $(tmp)/usr/share/doc/binary/NEWS.Debian + install -m 644 debian/copyright $(tmp)/usr/share/doc/binary + install -m 644 debian/changelog $(tmp)/usr/share/doc/binary + #gzip -n -9 $(tmp)/usr/share/doc/binary/changelog + install -d $(tmp)/DEBIAN + install -m 755 debian/postinst $(tmp)/DEBIAN + install -m 644 debian/conffiles $(tmp)/DEBIAN + + install -d $(tmp)/usr/share/applications + install -m 644 debian/hello.desktop \ + $(tmp)/usr/share/applications/hello.desktop + install -m 755 debian/goodbye.desktop \ + $(tmp)/usr/share/applications/goodbye.desktop + + # should be ok... + echo boe > $(tmp)/usr/bar + ln $(tmp)/usr/bar $(tmp)/usr/foo + # but this isn't + echo boe > $(tmp)/usr/bar2 + ln $(tmp)/usr/bar2 $(tmp)/usr/share/baz + + dd if=/dev/zero of=$(tmp)/usr/share/binary/largefile bs=1024 count=4000 + + install -d debian/binary-data/DEBIAN + install -d debian/binary-data/usr/share/doc + ln -s binary debian/binary-data/usr/share/doc/binary-data + + dpkg-shlibdeps $(tmp)/usr/bin/hello + dpkg-gencontrol -pbinary -isp + dpkg-gencontrol -pbinary-data -Pdebian/binary-data -isp + + dpkg --build debian/tmp .. + dpkg --build debian/binary-data .. + +binary: binary-arch + +.PHONY: build-arch build binary-arch binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/templates lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/templates --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/templates 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/debian/templates 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,16 @@ +# The debconf templates defined here are the sort that you'd use if +# providing a wordlist and an ispell dictionary for the language +# "perl". This shouldn't trigger warnings about not using debconf-po. + +Template: shared/packages-ispell +Type: text +Description: + +Template: shared/packages-wordlist +Type: text +Description: + +Template: miscfiles/languages +Type: text +Default: perl (Pathologically Eclectic Rubbish Lister) +Description: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-non-native +Testname: legacy-binary +Source: binary +Version: 4-1.1 +Description: Legacy test "binary" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/hello.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/hello.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/hello.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/hello.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#include +#include + +int main(int argc, char *argv[]) { + + printf("Hello, World!\n"); + exit(0); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/INSTALL lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/INSTALL --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/INSTALL 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/INSTALL 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,176 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +all: hello hello-static + +hello: hello.c + gcc hello.c -o hello + +hello-static: hello.c + gcc -static hello.c -o hello-static + +clean: + rm -f hello hello-static + +distclean: clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-binary +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +binary (source): adopted-extended-field (in section for source) XS-Vcs-Browser [debian/control:9] +binary (source): adopted-extended-field (in section for source) XS-Dm-Upload-Allowed [debian/control:10] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-binary/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +s/arch-dep-package-has-big-usr-share .*kB .*%/arch-dep-package-has-big-usr-share/ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,31 @@ +foo++ ([% $version %]) [% $distribution %]; urgency=low + + * Add a fake README.Debian to trigger a warning. + * This should trigger + debian-changelog-file-contains-debmake-default-email-address. + + -- Marc 'HE' Brockschmidt Wed, 14 Apr 2003 01:35:47 +0200 + +foo++ (4) unstable; urgency=low + + * This changelog now includes a ISO-8859-1 character: 'ä' + + -- Frank Lichtenheld Fri, 5 Mar 2004 13:41:39 +0100 + +foo++ (3) unstable; urgency=low + + * Set maintainers + uploaders incorrectly + + -- Jeroen van Wolffelaar Fri, 5 Mar 2004 04:20:24 +0100 + +foo++ (2) unstable; urgency=low + + * Added a foo++-helper package to try and catch even more ++ bugs. + + -- Sean 'Shaleh' Perry Sat, 10 Feb 2001 23:16:17 -0800 + +foo++ (1) unstable; urgency=low + + * Initial version + + -- Sean 'Shaleh' Perry Thu, 16 Nov 2000 09:11:40 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +Source: foo++ +Section: misc +Priority: optional +Maintainer: Lintian Maintainer +Uploaders: Marc 'HE' Brockschmidt , Jeroen van Wolffelaar, + Frank , Yama@gotchi, Josip, + I am afraid of spam and think this helps +Standards-Version: 3.1.1 +XS-Dm-Upload-Allowed: no + +Package: foo++ +Architecture: all +Build-Depends: test +Depends: test, libssl0.9.7 +Description: see how lintian reacts to plus signs in the package name + Regression test to see if lintian tests work on a package with plus signs in + its name. + . + This description also uses some UTF8 high bytes chars: ÄÖÜß + +Package: foo++-helper +Architecture: all +Depends: test, foo++ +Description: see how lintian reacts to plus signs in the package name + Regression test to see if lintian tests work on a package with plus signs in + its name. This has /usr/share/doc links to foo++ to trigger even more checks. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +A reference to /usr/share/common-licenses/GPL to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +However, there is also a reference to /usr/share/common-licenses/LGPL, so +who knows what bits actually depend on libssl. + +Copr. 2007 Somebody. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/README.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +foo++ for Debian +---------------- + +This should trigger a warning, as i use a fake mail address. + + -- Marc 'HE' Brockschmidt , Wed, 14 Apr 2004 01:44:18 +0200 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,36 @@ +#!/usr/bin/make -f + +foo=foo++ +helper=foo++-helper + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/$(foo)/DEBIAN + install -d debian/$(foo)/usr/share/doc/$(foo) + install -m 644 debian/changelog \ + debian/$(foo)/usr/share/doc/$(foo)/changelog + gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/changelog + install -m 644 debian/README.Debian \ + debian/$(foo)/usr/share/doc/$(foo)/README.Debian + gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/README.Debian + dpkg-gencontrol -isp -p$(foo) -Pdebian/$(foo) + dpkg --build debian/$(foo) .. + + install -d debian/$(helper)/DEBIAN + install -d debian/$(helper)/usr/share/doc/ + ln -sf $(foo) debian/$(helper)/usr/share/doc/$(helper) + dpkg-gencontrol -isp -p$(helper) -Pdebian/$(helper) + dpkg --build debian/$(helper) .. + +binary: binary-arch binary-indep + +clean: + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/watch lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/watch --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/watch 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/debian/watch 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +# A comment \ +version=0 + +# uscan does not interpret the backslash above, it is just part of the comment + +http://domain.tld/file-(.*)\.tar\.gz diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-foo++ +Source: foo++ +Version: 5 +Description: Legacy test "foo++" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-foo++ +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +foo++ (source): adopted-extended-field (in section for source) XS-Dm-Upload-Allowed [debian/control:9] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/legacy-foo++/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +XS-Testsuite: autopkgtest, golf + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +Tests: test-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/test-1 lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/test-1 --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/test-1 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/debian/tests/test-1 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +#!/bin/sh +exit 0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: testsuite-unknown-suite +Description: Tests for unknown suite in the control being non-file diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: testsuite-unknown-suite +Check: debian/control/field/adopted diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/adopted/testsuite-unknown-suite/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +testsuite-unknown-suite (source): adopted-extended-field (in section for source) XS-Testsuite [debian/control:8] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,43 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: http://lintian.debian.org/ + +Package: [% $source %]-broken +Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 + any-ppc64 any-ppc64el any-sparc64 +Depends: ${misc:Depends} +Description: [% $description %] (multiline architecture, broken) + This is a (broken) test package designed to exercise some feature or + tag of Lintian. It is part of the Lintian test suite and may do very + odd things. It should not be installed like a regular package. It + may be an empty package. + . + The Architecture (multi-)line example above is taken from + https://bugs.debian.org/780473 + +Package: [% $source %]-fine-any-something +Architecture: any-amd64 any-arm64 any-mips64 any-mips64el any-ia64 any-ppc64 any-ppc64el any-sparc64 +Depends: ${misc:Depends} +Description: [% $description %] (any-something, fine) + This is a (non-broken) test package designed to exercise some feature + or tag of Lintian. It is part of the Lintian test suite and may do + very odd things. It should not be installed like a regular package. + It may be an empty package. + . + This "any-something" package should not show up. + +Package: [% $source %]-fine-all +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] (all, fine) + This is a (non-broken) test package designed to exercise some feature + or tag of Lintian. It is part of the Lintian test suite and may do + very odd things. It should not be installed like a regular package. + It may be an empty package. + . + This "all" package should not show up. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-important-space +Description: Important tests for control file spacing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-important-space +Check: debian/control/field/architecture/multiline diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/architecture/multiline/control-file-important-space/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-important-space (source): multiline-architecture-field Architecture (in section for control-file-important-space-broken) [debian/control:11] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,33 @@ +Source: [% $source %] +Priority: optional +Section: devel +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + big , bpfail1 , + bpcomplicated +Rules-Requires-Root: no + +Package: [% $source %]-wrong-syntax +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Build-Profiles: +Description: [% $description %] (wrong syntax) + Check the syntax of the Build-Profiles field + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-unknown-profile +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Build-Profiles: +Description: [% $description %] (unknown profile) + Check for unknown profile names + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-build-profiles-general +Description: General tests for build profiles diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Testname: fields-build-profiles-general +Check: debian/control/field/build-profiles +See-Also: + Debian Bug#540594, + Debian Bug#551793 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/build-profiles/fields-build-profiles-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +fields-build-profiles-general (source): invalid-restriction-formula-in-build-profiles-field (in section for fields-build-profiles-general-wrong-syntax) [debian/control:14] +fields-build-profiles-general (source): invalid-profile-name-in-build-profiles-field unknown (in section for fields-build-profiles-general-unknown-profile) [debian/control:26] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control-file-golang-built-using.install 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +static /usr/lib/foo/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,41 @@ +Source: [% $source %] +Section: net +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Rules-Requires-Root: [% $rules_requires_root %] +Build-Depends: [% $build_depends %], + golang-go (>= 2:1.1.1-4) + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Built-Using: ${misc:Built-Using} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dev +Architecture: all +Depends: ${misc:Depends} +Built-Using: ${misc:Built-Using} +Description: [% $description %] (dev) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package contains the source. + +Package: [% $source %]-clean-dev +Architecture: all +Depends: ${misc:Depends} +Description: [% $description %] (clean dev) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package contains the source, without a built-using tag. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: control-file-golang-built-using +Description: False-positive test for Built-Using field +Package-Architecture: any diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/basic.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/basic.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/basic.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/basic.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +#include + +int +main(void) +{ + char t[10]; + printf("Hello world!\n"); + /* Bad choice for reading from stdin, but it forces a stack + protector, so meh. + */ + gets (t); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +NOPIE_CFLAGS = $(filter-out -fPIE,$(CFLAGS)) +NOPIE_LDFLAGS = $(filter-out -fPIE -pie,$(LDFLAGS)) +COMPILE:= $(CC) $(NOPIE_CFLAGS) $(CPPFLAGS) $(NOPIE_LDFLAGS) + +all: + # static version + $(COMPILE) -static -o static basic.c + +clean distclean: + rm -f basic + +check test: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-golang-built-using +Check: debian/control/field/built-using diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/built-using/control-file-golang-built-using/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-golang-built-using (source): built-using-field-on-arch-all-package (in section for control-file-golang-built-using-dev) Built-Using ${misc:Built-Using} [debian/control:23] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/description/duplicate +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/description/duplicate/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +control-file-general (source): duplicate-short-description control-file-general control-file-general-1 +control-file-general (source): duplicate-long-description control-file-general control-file-general-1 control-file-general-2 control-file-general-3 control-file-general-4 control-file-general-5 control-file-general-dbg control-file-general-dbgsym diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/doubled-up +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/doubled-up/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +control-file-general (source): debian-control-repeats-field-name-in-value (in section for control-file-general-dbgsym) Description [debian/control:91] +control-file-general (source): debian-control-repeats-field-name-in-value (in section for control-file-general-dbg) Description [debian/control:101] +control-file-general (source): debian-control-repeats-field-name-in-value (in section for control-file-general-5) Description [debian/control:81] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,26 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Uploaders: + Wrapped Onto New Line +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: binary-targets +Homepage: https://lintian.debian.org/ +Vcs-Browser: +# The following line contains "Vcs-Git: \n" +Vcs-Git: + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: +# The following line contains "Provides: \n" +Provides: +Recommends: ${false:Positive} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-has-empty-field +Description: Check for empty fields diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-has-empty-field +Check: debian/control/field/empty diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/empty/control-has-empty-field/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +control-has-empty-field (source): debian-control-has-empty-field (in source paragraph) Vcs-Git [debian/control:13] +control-has-empty-field (source): debian-control-has-empty-field (in source paragraph) Vcs-Browser [debian/control:11] +control-has-empty-field (source): debian-control-has-empty-field (in section for control-has-empty-field) Suggests [debian/control:18] +control-has-empty-field (source): debian-control-has-empty-field (in section for control-has-empty-field) Provides [debian/control:20] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/misplaced +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): build-prerequisite-in-installable-section Build-Conflicts (in section for control-file-general) [debian/control:21] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,31 @@ +foo++ ([% $version %]) [% $distribution %]; urgency=low + + * Add a fake README.Debian to trigger a warning. + * This should trigger + debian-changelog-file-contains-debmake-default-email-address. + + -- Marc 'HE' Brockschmidt Wed, 14 Apr 2003 01:35:47 +0200 + +foo++ (4) unstable; urgency=low + + * This changelog now includes a ISO-8859-1 character: 'ä' + + -- Frank Lichtenheld Fri, 5 Mar 2004 13:41:39 +0100 + +foo++ (3) unstable; urgency=low + + * Set maintainers + uploaders incorrectly + + -- Jeroen van Wolffelaar Fri, 5 Mar 2004 04:20:24 +0100 + +foo++ (2) unstable; urgency=low + + * Added a foo++-helper package to try and catch even more ++ bugs. + + -- Sean 'Shaleh' Perry Sat, 10 Feb 2001 23:16:17 -0800 + +foo++ (1) unstable; urgency=low + + * Initial version + + -- Sean 'Shaleh' Perry Thu, 16 Nov 2000 09:11:40 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +Source: foo++ +Section: misc +Priority: optional +Maintainer: Lintian Maintainer +Uploaders: Marc 'HE' Brockschmidt , Jeroen van Wolffelaar, + Frank , Yama@gotchi, Josip, + I am afraid of spam and think this helps +Standards-Version: 3.1.1 +XS-Dm-Upload-Allowed: no + +Package: foo++ +Architecture: all +Build-Depends: test +Depends: test, libssl0.9.7 +Description: see how lintian reacts to plus signs in the package name + Regression test to see if lintian tests work on a package with plus signs in + its name. + . + This description also uses some UTF8 high bytes chars: ÄÖÜß + +Package: foo++-helper +Architecture: all +Depends: test, foo++ +Description: see how lintian reacts to plus signs in the package name + Regression test to see if lintian tests work on a package with plus signs in + its name. This has /usr/share/doc links to foo++ to trigger even more checks. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +A reference to /usr/share/common-licenses/GPL to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +However, there is also a reference to /usr/share/common-licenses/LGPL, so +who knows what bits actually depend on libssl. + +Copr. 2007 Somebody. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/README.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +foo++ for Debian +---------------- + +This should trigger a warning, as i use a fake mail address. + + -- Marc 'HE' Brockschmidt , Wed, 14 Apr 2004 01:44:18 +0200 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,36 @@ +#!/usr/bin/make -f + +foo=foo++ +helper=foo++-helper + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/$(foo)/DEBIAN + install -d debian/$(foo)/usr/share/doc/$(foo) + install -m 644 debian/changelog \ + debian/$(foo)/usr/share/doc/$(foo)/changelog + gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/changelog + install -m 644 debian/README.Debian \ + debian/$(foo)/usr/share/doc/$(foo)/README.Debian + gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/README.Debian + dpkg-gencontrol -isp -p$(foo) -Pdebian/$(foo) + dpkg --build debian/$(foo) .. + + install -d debian/$(helper)/DEBIAN + install -d debian/$(helper)/usr/share/doc/ + ln -sf $(foo) debian/$(helper)/usr/share/doc/$(helper) + dpkg-gencontrol -isp -p$(helper) -Pdebian/$(helper) + dpkg --build debian/$(helper) .. + +binary: binary-arch binary-indep + +clean: + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/watch lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/watch --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/watch 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/debian/watch 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +# A comment \ +version=0 + +# uscan does not interpret the backslash above, it is just part of the comment + +http://domain.tld/file-(.*)\.tar\.gz diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-foo++ +Source: foo++ +Version: 5 +Description: Legacy test "foo++" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-foo++ +Check: debian/control/field/misplaced diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +foo++ (source): build-prerequisite-in-installable-section Build-Depends (in section for foo++) [debian/control:13] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/misplaced/legacy-foo++/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/redundant +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): installable-field-mirrors-source (in section for control-file-general) Maintainer [debian/control:20] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,47 @@ +binary ([% $version %]) [% $distribution %]; urgency=low + + * I'm doing an comaintainer-upload, acknowledging a NMU, but with a version + number which suggests I'm doing a NMU myself. + + Lintian-maintainers: Please don't update this changelog, otherwise you'll + probably break the checks/nmu checks. + + -- Jeroen van Wolffelaar Sun, 18 Apr 2004 01:49:42 +0200 + +binary (4-1) unstable; urgency=low + + * Weird version number for the new check for accidents with native + packaging. + * Date was fixed by BR and this test was put on changelog-file-strange-date + due to dpkg bug, see #794674. + + -- Marc 'HE' Brockschmidt Thu, 15 Apr 2004 23:33:51 +0200 + +binary (4) unstable; urgency=low + + * Add big file to /usr/share to trigger the big-usr-share check + + -- Jeroen van Wolffelaar Fri, 27 Feb 2004 10:15:59 +0100 + +binary (3) unstable; urgency=unlimited + + * Add some bogus menu entries using su-to-root in a bogus way + + -- Jeroen van Wolffelaar Thu, 12 Feb 2004 20:11:22 +0100 + +binary (2) unstable; urgency=low + + * Added an INSTALL document which policy 6.3 suggests not to do + + -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 + +binary (1) unstable; urgency=low + + * hello.c added + * hello-static is same as hello, but compiled statically + * added a menu entry which lacks a Section + * added a postinst + * postinst calls suidregister which is no longer policy compliant + + -- Sean 'Shaleh' Perry Wed, 10 Jan 2001 08:55:34 -0800 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/conffiles lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/conffiles --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/conffiles 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/conffiles 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +/etc/menu-methods/lintian diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,42 @@ +Source: binary +Section: misc +Priority: optional +Maintainer: Lintian Maintainers +Uploaders: Co-maintainer one , Jeroen van Wolffelaar , Co-maintainer three +Standards-Version: 3.2.1 +Homepage: http://lintian.debian.org/ +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +XS-Vcs-Browser: http://svn.wolffelaar.nl/lintian/trunk +XS-Dm-Upload-Allowed: yes + +Package: binary +Architecture: any +Pre-Depends: ${shlibs:Depends}, xorg, binary-data (= ${source:Version}), libssl0.9.8 +Homepage: +Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk +Description: test handling of binary files + Regression test for lintian's handling of binary files for debian. This + is checked for picky spelling errors. + . + This package list [ subversion | gconf ] should not be flagged as a spelling + mistake. The spelling correction for dont should be correct. + . + Homepage: http://lintian.debian.org/ + +Package: binary-data +Architecture: all +Depends: binary (= ${source:Version}), libssl-not-openssl, + libssl0.9.8 | or-something-else +Description: test handling of binary relationships + Regression test for lintian's checking of package relationships between + arch:any and arch:all packages. + . + This mention of subversion should be flagged as a spelling mistake. + +#Package: binary-comment +#Architecture: space-almonds +#Depends: * +#Depends: * +#Description: test comment support +# Yes, comments are actually allowed in debian/control, so none of the +# above should produce errors. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,15 @@ +hello.c is released under public domain. This is distributed in the hope that +it will be useful, but without any warranty; without even the implied warranty +of merchantability or fitness for a particular purpose. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +Test for old FSF address: + +Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. + +Test for deprecated nätionäl äncoding. + +Improper capitalization of linux or debian isn't caught here. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/doc-base lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/doc-base --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/doc-base 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/doc-base 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,41 @@ +Document: binary!docs +Title: Broken debian binary doc-base control file +Author: Russ Allbery +Abstract: This control file exercises various tests of doc-base control + files, including several things that aren't tested yet. The third and + fourth one has trailing whitespace. + . + This section has a speling error and bad ® character. + . + The above separator was fine. +Section: Non/Existant +Unknown: Some field + + + +Format: debiandoc-sgML +Files: /usr/share/doc/binary/binary.sgml.gz +Unknown: Some field + +Format: ESP +Index: /usr/share/doc/binary/binary.txt + +Index: /usr/share/doc/binary/html/index.html + /usr/share/doc/binary/html/ch1.html + /usr/share/doc/binary/html/ch4.html + + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch?.h*l + /usr/share/doc/binary/hml/*.html + +Format: inFO +Files: /usr/share/info/binary.info.gz + +Format: HTML +Index: /usr/share/doc/binary/html/index.html +Files: /usr/share/doc/binary/html/ch5.html + /usr/share/doc/binary/html/ch6.html + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/goodbye.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/goodbye.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/goodbye.desktop 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/goodbye.desktop 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,13 @@ +[Desktop Entry] +Name:Goodbye +# Name=Goodbye +Comment=Say hello! +SpecialTag=This doesn't exist! +Exec=goodbye +icon=hello +Terminal=true +Type=Application +Categories=WeirdStuff;Screensaver; +Encoding=ISO-10646-1 +[Other Entry] +Name=Goodbye diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/hello.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/hello.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/hello.desktop 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/hello.desktop 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +# some random comment + +# [Foo Bar] +[KDE Desktop Entry] +Name=Hello +Name[en_US]=Hello +Comment=Say hello! +Exec=kdesu hello +Icon=hello +Terminal=true +Type=Application +Categories=GNOME;GTK;System;Applet;X-Foo;Settings; +Encoding=UTF-8 +OnlyShowIn=GNOME; diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,26 @@ +?package(binary):needs=text title="Hello World" command="/usr/bin/hello" +?package(binary):needs=text section="Applications/System" title="Run cfdisk (0)" command="/usr/bin/su-to-root cfdisk" +?package(binary):needs="text" section="Applications/System/Hardware" title="Run cfdisk (1)" command="sux -p cfdisk" +?package(binary):needs="x11" section="Window Managers" title="Run xfdisk" command="/usr/sbin/su-to-root -c xfdisk" +?package(binary):needs="wm" section="Applications/System/Administration" title="Run fdisk-wm" command="su-to-root -c hello" +?package(binary):section="Apps/Games" title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Apps/System" title="I'm not here!" command="/imnothere" +?package(binary,other-binary):\ + needs="text"\ + section="Applications/Shells"\ + title="more than one required"\ + command="other-bin -s omething" +?package(binary):needs="wmmodule" section="WindowManagers/Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="wmmodule" section="FVWM Modules" title="somemodule" command="ModuleCmd" +?package(binary):needs="text" section="Applications/System/Administration" title="I'm not in /usr/bin!" command="iminusrbin" +?package(binary):needs="text"\ + section="Applications/System/Administration"\ + title="I'm not root!" command="su-to-root -c imnothere" +?package(binary):needs="text" section="Applications/System/Administration"\ + title="Run cfdisk (0)" command="cfdisk" +?package(binary):needs="text" section="Applications/System/Administration" title="Hello World" command="/usr/bin/hello" +?package(binary):needs="wm" section="FVWM Modules" title="Fake Module" command="hello" +?package(binary):needs="fvwmmodule" section="Window Maker" title="Fake Module"\ + command="hello" +?package(binary):needs="x11" section="Applications/System/Hardware" title="Run xfdisk" command="su-to-root -c 'xfdisk -f'" +?package(binary):needs="text" section="Applications/System/Administration" title="foo" command="sh /path/to/foo" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu-method lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu-method --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu-method 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/menu-method 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,22 @@ +#!/usr/bin/install-menu + +# -*- mode: shell-script; -*- +#I need menu-1! +# + +!include notmenu.h + +compat="menu-2" + +outputencoding="UTF-8"; +outputlanguage="C"; + +x11 = AppEntry("false"); +text = AppEntry("true"); + +startmenu = ""; +endmenu = ""; +submenutitle = ""; +rootprefix = "/var/lib/lintian/menu"; +userprefix = ".local/share/lintian/menu"; + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/NEWS.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/NEWS.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/NEWS.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/NEWS.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +binary (4-1.1) UNRELEASED; urgency=high + + This is a Debian NEWS entry that isn't encoded properly in UTF-8: ü. + It also has a usefull speling error. + + -- Russ Allbery Sun, 14 Oct 2007 17:11:36 -0700 + +binary (1) unstable; urgency=low + + This is another entry but this one isn't syntactically valid. + + -- Russ Allbery 2007-10-14 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#! /bin/bash -e + +if [ $1 eq 'configure' ] +then + suidregister hello-static root root 4755 +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/README.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +this is a binary package to test lintian's handling of bins. +Check handling of D-Bus and dbus (neither of which should produce +warnings). + + -- Russ Allbery , Wed, 6 Feb 2008 18:35:11 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,92 @@ +#!/usr/bin/make -f + +tmp=debian/tmp + +# This reference to $(PWD) should not cause an error but the one below +# should. +build-arch: + make + echo $(PWD) + +build: build-arch + +clean: + make -i clean + [ ! -f debian/files ] || rm -f debian/files + [ ! -f debian/substvars ] || rm -f debian/substvars + [ ! -d debian/tmp ] || rm -rf debian/tmp + [ ! -d debian/binary ] || rm -rf debian/binary + [ ! -d debian/binary-data ] || rm -rf debian/binary-data + +binary-arch: build + install -d $(tmp)/usr/bin + install -d $(tmp)/boot/hello + install -m 755 hello $(tmp)/usr/bin + touch $(tmp)/usr/bin/iminusrbin + chmod 755 $(tmp)/usr/bin/iminusrbin + install -m 755 hello-static $(tmp)/usr/bin + strip $(tmp)/usr/bin/hello-static + install -m 755 hello-static $(tmp)/usr/bin/hello.static + strip --remove-section=.comment --remove-section=.note $(tmp)/usr/bin/hello.static + ln $(tmp)/usr/bin/hello.static $(tmp)/usr/bin/static-hello + install -m 755 hello-static $(tmp)/boot/hello + strip --remove-section=.comment --remove-section=.note $(tmp)/boot/hello/hello-static + install -d $(tmp)/usr/share/doc/binary + install -m 644 INSTALL $(tmp)/usr/share/doc/binary + install -d $(tmp)/usr/share/doc/binary/html + echo '' > $(tmp)/usr/share/doc/binary/html/index.html + echo '' > $(tmp)/usr/share/doc/binary/html/ch1.html + ln -s ../html/./ch1.html $(tmp)/usr/share/doc/binary/html/ch2.html + ln -s /usr/share/doc/binary/htm/ch1.html $(tmp)/usr/share/doc/binary/html/ch3.html + echo '' > $(tmp)/usr/share/doc/binary/html/ch5.html + ln $(tmp)/usr/share/doc/binary/html/ch5.html \ + $(tmp)/usr/share/doc/binary/html/ch6.html + install -d $(tmp)/usr/share/menu + install -d $(tmp)/usr/lib/menu + install -d $(tmp)/usr/share/binary + install -m 644 debian/menu $(tmp)/usr/share/menu/binary + install -m 644 debian/menu $(tmp)/usr/lib/menu/binary + install -d $(tmp)/etc/menu-methods + install -m 755 debian/menu-method $(tmp)/etc/menu-methods/lintian + install -d $(tmp)/usr/share/doc-base + install -m 644 debian/doc-base $(tmp)/usr/share/doc-base/binary + touch '$(tmp)/usr/share/doc-base/space ' + install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary + install -m 644 debian/NEWS.Debian $(tmp)/usr/share/doc/binary + gzip -n -9 $(tmp)/usr/share/doc/binary/NEWS.Debian + install -m 644 debian/copyright $(tmp)/usr/share/doc/binary + install -m 644 debian/changelog $(tmp)/usr/share/doc/binary + #gzip -n -9 $(tmp)/usr/share/doc/binary/changelog + install -d $(tmp)/DEBIAN + install -m 755 debian/postinst $(tmp)/DEBIAN + install -m 644 debian/conffiles $(tmp)/DEBIAN + + install -d $(tmp)/usr/share/applications + install -m 644 debian/hello.desktop \ + $(tmp)/usr/share/applications/hello.desktop + install -m 755 debian/goodbye.desktop \ + $(tmp)/usr/share/applications/goodbye.desktop + + # should be ok... + echo boe > $(tmp)/usr/bar + ln $(tmp)/usr/bar $(tmp)/usr/foo + # but this isn't + echo boe > $(tmp)/usr/bar2 + ln $(tmp)/usr/bar2 $(tmp)/usr/share/baz + + dd if=/dev/zero of=$(tmp)/usr/share/binary/largefile bs=1024 count=4000 + + install -d debian/binary-data/DEBIAN + install -d debian/binary-data/usr/share/doc + ln -s binary debian/binary-data/usr/share/doc/binary-data + + dpkg-shlibdeps $(tmp)/usr/bin/hello + dpkg-gencontrol -pbinary -isp + dpkg-gencontrol -pbinary-data -Pdebian/binary-data -isp + + dpkg --build debian/tmp .. + dpkg --build debian/binary-data .. + +binary: binary-arch + +.PHONY: build-arch build binary-arch binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/templates lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/templates --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/templates 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/debian/templates 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,16 @@ +# The debconf templates defined here are the sort that you'd use if +# providing a wordlist and an ispell dictionary for the language +# "perl". This shouldn't trigger warnings about not using debconf-po. + +Template: shared/packages-ispell +Type: text +Description: + +Template: shared/packages-wordlist +Type: text +Description: + +Template: miscfiles/languages +Type: text +Default: perl (Pathologically Eclectic Rubbish Lister) +Description: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-non-native +Testname: legacy-binary +Source: binary +Version: 4-1.1 +Description: Legacy test "binary" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/hello.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/hello.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/hello.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/hello.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#include +#include + +int main(int argc, char *argv[]) { + + printf("Hello, World!\n"); + exit(0); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/INSTALL lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/INSTALL --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/INSTALL 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/INSTALL 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,176 @@ +Basic Installation +================== + + These are generic installation instructions. + + The `configure' shell script attempts to guess correct values for +various system-dependent variables used during compilation. It uses +those values to create a `Makefile' in each directory of the package. +It may also create one or more `.h' files containing system-dependent +definitions. Finally, it creates a shell script `config.status' that +you can run in the future to recreate the current configuration, a file +`config.cache' that saves the results of its tests to speed up +reconfiguring, and a file `config.log' containing compiler output +(useful mainly for debugging `configure'). + + If you need to do unusual things to compile the package, please try +to figure out how `configure' could check whether to do them, and mail +diffs or instructions to the address given in the `README' so they can +be considered for the next release. If at some point `config.cache' +contains results you don't want to keep, you may remove or edit it. + + The file `configure.in' is used to create `configure' by a program +called `autoconf'. You only need `configure.in' if you want to change +it or regenerate `configure' using a newer version of `autoconf'. + +The simplest way to compile this package is: + + 1. `cd' to the directory containing the package's source code and type + `./configure' to configure the package for your system. If you're + using `csh' on an old version of System V, you might need to type + `sh ./configure' instead to prevent `csh' from trying to execute + `configure' itself. + + Running `configure' takes a while. While running, it prints some + messages telling which features it is checking for. + + 2. Type `make' to compile the package. + + 3. Optionally, type `make check' to run any self-tests that come with + the package. + + 4. Type `make install' to install the programs and any data files and + documentation. + + 5. You can remove the program binaries and object files from the + source code directory by typing `make clean'. To also remove the + files that `configure' created (so you can compile the package for + a different kind of computer), type `make distclean'. There is + also a `make maintainer-clean' target, but that is intended mainly + for the package's developers. If you use it, you may have to get + all sorts of other programs in order to regenerate files that came + with the distribution. + +Compilers and Options +===================== + + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. You can give `configure' +initial values for variables by setting them in the environment. Using +a Bourne-compatible shell, you can do that on the command line like +this: + CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure + +Or on systems that have the `env' program, you can do it like this: + env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure + +Compiling For Multiple Architectures +==================================== + + You can compile the package for more than one kind of computer at the +same time, by placing the object files for each architecture in their +own directory. To do this, you must use a version of `make' that +supports the `VPATH' variable, such as GNU `make'. `cd' to the +directory where you want the object files and executables to go and run +the `configure' script. `configure' automatically checks for the +source code in the directory that `configure' is in and in `..'. + + If you have to use a `make' that does not supports the `VPATH' +variable, you have to compile the package for one architecture at a time +in the source code directory. After you have installed the package for +one architecture, use `make distclean' before reconfiguring for another +architecture. + +Installation Names +================== + + By default, `make install' will install the package's files in +`/usr/local/bin', `/usr/local/man', etc. You can specify an +installation prefix other than `/usr/local' by giving `configure' the +option `--prefix=PATH'. + + You can specify separate installation prefixes for +architecture-specific files and architecture-independent files. If you +give `configure' the option `--exec-prefix=PATH', the package will use +PATH as the prefix for installing programs and libraries. +Documentation and other data files will still use the regular prefix. + + If the package supports it, you can cause programs to be installed +with an extra prefix or suffix on their names by giving `configure' the +option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. + +Optional Features +================= + + Some packages pay attention to `--enable-FEATURE' options to +`configure', where FEATURE indicates an optional part of the package. +They may also pay attention to `--with-PACKAGE' options, where PACKAGE +is something like `gnu-as' or `x' (for the X Window System). The +`README' should mention any `--enable-' and `--with-' options that the +package recognizes. + + For packages that use the X Window System, `configure' can usually +find the X include and library files automatically, but if it doesn't, +you can use the `configure' options `--x-includes=DIR' and +`--x-libraries=DIR' to specify their locations. + +Specifying the System Type +========================== + + There may be some features `configure' can not figure out +automatically, but needs to determine by the type of host the package +will run on. Usually `configure' can figure that out, but if it prints +a message saying it can not guess the host type, give it the +`--host=TYPE' option. TYPE can either be a short name for the system +type, such as `sun4', or a canonical name with three fields: + CPU-COMPANY-SYSTEM + +See the file `config.sub' for the possible values of each field. If +`config.sub' isn't included in this package, then this package doesn't +need to know the host type. + + If you are building compiler tools for cross-compiling, you can also +use the `--target=TYPE' option to select the type of system they will +produce code for and the `--build=TYPE' option to select the type of +system on which you are compiling the package. + +Sharing Defaults +================ + + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. +`configure' looks for `PREFIX/share/config.site' if it exists, then +`PREFIX/etc/config.site' if it exists. Or, you can set the +`CONFIG_SITE' environment variable to the location of the site script. +A warning: not all `configure' scripts look for a site script. + +Operation Controls +================== + + `configure' recognizes the following options to control how it +operates. + +`--cache-file=FILE' + Use and save the results of the tests in FILE instead of + `./config.cache'. Set FILE to `/dev/null' to disable caching, for + debugging `configure'. + +`--help' + Print a summary of the options to `configure', and exit. + +`--quiet' +`--silent' +`-q' + Do not print messages saying which checks are being made. + +`--srcdir=DIR' + Look for the package's source code in directory DIR. Usually + `configure' can determine that directory automatically. + +`--version' + Print the version of Autoconf used to generate the `configure' + script, and exit. + +`configure' also accepts some other, not widely useful, options. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,12 @@ +all: hello hello-static + +hello: hello.c + gcc hello.c -o hello + +hello-static: hello.c + gcc -static hello.c -o hello-static + +clean: + rm -f hello hello-static + +distclean: clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-binary +Check: debian/control/field/redundant diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +binary (source): installable-field-mirrors-source (in section for binary) Vcs-Svn [debian/control:16] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-binary/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +s/arch-dep-package-has-big-usr-share .*kB .*%/arch-dep-package-has-big-usr-share/ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +libbaz ([% $version %]) [% $distribution %]; urgency=low + + * Initial setup + + -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/compat.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,58 @@ +Source: libbaz +Section: libs +Priority: optional +Maintainer: Lintian Maintainer +Build-depends: debhelper (>=4) +Standards-Version: 3.2.1 + +Package: libbaz1 +Architecture: any +Provides: libbaz +Description: test handling of library packages + Regression test for lintian's handling of libraries. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz1-dev +Architecture: any +Depends: libbaz1 (= ${source:Version}), perlapi-5.8.8 +Description: development package + Regression test for lintian's handling of libraries (dev). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2 +Architecture: any +Depends: ${shlibs:Depends}, libssl0.9.8 +Description: test handling of library packages (good) + Regression test for lintian's handling of libraries (good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dev +Architecture: any +Depends: ${shlibs:Depends}, libbaz2 (= ${source:Version}) +Description: development package (good) + Regression test for lintian's handling of libraries (dev good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dbg +Architecture: any +Depends: libbaz2 (= ${binary:Version}) +Priority: optional +Description: debugging package + Regression test for lintian's handling of libraries (debug). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +This package is released under public domain. This is distributed in the hope +that it will be useful, but without any warranty; without even the implied +warranty of merchantability or fitness for a particular purpose. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +However, this has an OpenSSL exception. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/dev.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ "$1" = "configure" ]; then + if [ -d /usr/doc -a ! -e /usr/doc/$PKG -a -d /usr/share/doc/$PKG ] +; then + ln -sf ../share/doc/$PKG /usr/doc/$PKG + fi +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$PKG ]; then + rm -f /usr/doc/$PKG +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.shlibs lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.shlibs --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.shlibs 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.shlibs 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +libdoesntexist2 1.0 libbaz1 +libdoesntexist2 1.0 libbaz1 +libbaz2 1.1 libbaz +libbaz3 1 libbaz1 (>> 1-1) +libbaz4 1 libbaz1 (= 1-1) +libbaz5 1 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.symbols lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.symbols --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.symbols 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/lib.symbols 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +libbaz.so.2 libbaz1 #MINVER# + pw 1-1 + foo 1.1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,121 @@ +#!/usr/bin/make -f + +lib_tmp=debian/tmp-lib +dev_tmp=debian/tmp-dev + +LIB=libbaz1 +DEV=libbaz1-dev + +VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') + +build-arch: + $(MAKE) + +build-indep: + +build: build-arch build-indep + +clean: + $(MAKE) clean + dh_clean -plibbaz2 -plibbaz2-dev + rm -f debian/files debian/substvars + rm -rf $(lib_tmp) $(dev_tmp) + +# Now the correct libbaz2-dev package +binary-correct: + install -d debian/libbaz2-dev/usr/lib + cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib + # usually, I'd also include some .h files to /usr/include + + # Now the correct libbaz2 package + install -d debian/libbaz2/usr/lib + cp -a libbaz2.so.* debian/libbaz2/usr/lib + chmod a-x debian/libbaz2/usr/lib/* + + # General stuff that is tested in other testsets: + dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # Mess up the libbaz2 changelog files to test the symlink handling. + ln -s /usr/share/doc/lintian/changelog.gz \ + debian/libbaz2/usr/share/doc/libbaz2/changelog.gz + install -m 644 debian/changelog \ + debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo + ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog + + # Okay, if either line is omitted, it should be noted + dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev + dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # and again, regular packaging stuff + dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs + dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + +# and the incorrect one +binary-arch: build-arch binary-correct + # first, the lib package + install -d $(lib_tmp)/usr/lib + # resp. no soname (check), wrong soname (check), and no-pic (check) + cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib + cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b + install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b + # let's include the .a in the non-dev too (TODO) + # Also, libbaz1.a hasn't a symbol table (TODO) + cp -a *.a $(lib_tmp)/usr/lib + # And a wrong .so symlink (wrong, only in -dev, TODO) + ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so + # And a wrong .so.X symlink (wrong, should point to a real existing + # shlib, TODO) + ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9 + # And a plain .so (wrong, TODO) + touch $(lib_tmp)/usr/lib/libbar2.so + # And a non-versioned SONAME. + install -m644 libbaz.so $(lib_tmp)/usr/lib/libbaz.so + strip --remove-section=.comment --strip-unneeded $(lib_tmp)/usr/lib/libbaz.so + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(lib_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + + install -d $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB) + gzip -n -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog + install -d $(lib_tmp)/DEBIAN + install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst + install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm + touch $(lib_tmp)/usr/share/doc/README.Debian + #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0 + install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs + install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols + dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp) + dpkg --build $(lib_tmp) .. + + # now the -dev package + install -d $(dev_tmp)/usr/include + install -d $(lib_tmp)/usr/lib + # let's also install the .so at the same time... (wrong, TODO) + cp -a *.a *.so.* $(lib_tmp)/usr/lib + # and fuck up permission (TODO) + chmod a+x $(lib_tmp)/usr/lib/*.a + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(dev_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + install -d $(dev_tmp)/usr/share/doc + ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) + install -d $(dev_tmp)/DEBIAN + install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst + install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm + dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp) + dpkg --build $(dev_tmp) .. + + +binary: binary-arch + +# The mention of binary-indep here should be sufficient to suppress the +# warning that it's not present. +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/source.lintian-overrides lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/source.lintian-overrides --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/source.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/debian/source.lintian-overrides 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +libbaz source: maintainer-script-lacks-debhelper-token diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Skeleton: upload-non-native +Testname: legacy-libbaz +Source: libbaz +Version: 1-1 +Default-Build-Depends: debhelper (>= 9.20151004~) +Description: Legacy test "libbaz" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/baz.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/baz.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/baz.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/baz.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#include + +double pw(double p) +{ + return exp(p); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,55 @@ +# This is the correct way to build a lib + +CC=gcc +CFLAGS=-g -Wall -Winline -O2 +LDFLAGS=-Wl,--no-as-needed + +OBJS=baz.o extra.o +SHOBJS=baz.sho extra.sho +NOPICOBJS = $(SHOBJS) + +all: libbaz1.a libbaz2.a libbaz1.so.1.0.3b libbaz2.so libbaz3.so.1.0.3b \ + libbaz.so + +libbaz2.so: libbaz2.so.1.0 + ln -sf $^ $@ +libbaz2.so.1.0: libbaz2.so.1.0.3b + ln -sf $^ $@ + +# Oops, forget the soname altogether +libbaz1.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared $^ -lc + +libbaz2.so.1.0.3b: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz2.so.1.0 $^ -lc + +# Non-PIC. We can't test this on all architectures +libbaz3.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz3.so.1 $^ -lc + +# Non-versioned SONAME. +libbaz.so: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz.so $^ -lc + +#%.o-noreentrant: %.c +# $(CC) $(LDFLAGS) $(CFLAGS) -o $@ -c $< + +%.sho: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< + +%.o: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -o $@ -c $< + +libbaz2.a: $(OBJS) + ar cq $@ $(OBJS) + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ + ranlib $@ + +# The pic one in the .a (wrong), no archive table +libbaz1.a: $(SHOBJS) + ar cqS $@ $^ + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ +clean: + rm -f *.a *.o *.so* *.sho diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-libbaz +Check: debian/control/field/redundant diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +libbaz (source): installable-field-mirrors-source (in section for libbaz2-dbg) Priority [debian/control:51] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/redundant/legacy-libbaz/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ +s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g +/: file-references-package-build-path / d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/compat.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,22 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], debhelper +Build-Depends-Indep: foobar, foo, foobar +Build-Conflicts: bar, + baz, + bar [i386] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, ${misc:Depends} +Recommends: foo (>> 1.0) | bar, foo +Suggests: baz (= 1.0), baz, baz (>= 2.0) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: control-file-duplicate +Package-Architecture: all +Description: Pedantic test for duplicate relations +Default-Build-Depends: debhelper (>= [% $dh_compat_level %]~) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-duplicate +Check: debian/control/field/relation diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-duplicate/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +control-file-duplicate (source): redundant-control-relation (in source paragraph) Build-Depends-Indep foobar, foobar [debian/control:7] +control-file-duplicate (source): redundant-control-relation (in source paragraph) Build-Depends debhelper, debhelper (>= 13~) [debian/control:6] +control-file-duplicate (source): redundant-control-relation (in source paragraph) Build-Conflicts bar, bar [i386] [debian/control:8] +control-file-duplicate (source): redundant-control-relation (in section for control-file-duplicate) Suggests baz, baz (= 1.0), baz (>= 2.0) [debian/control:17] +control-file-duplicate (source): redundant-control-relation (in section for control-file-duplicate) Depends ${misc:Depends}, ${misc:Depends} [debian/control:15] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/field/relation +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +control-file-general (source): obsolete-relation-form-in-source (in source paragraph) Build-Depends-Indep perl (> 5.8) [debian/control:12] +control-file-general (source): obsolete-relation-form-in-source (in section for control-file-general-1) Breaks libsqlite3-0 (< 3.6.12) [debian/control:37] +control-file-general (source): missing-separator-between-items (in section for control-file-general) '${shlibs:Depends}' and '${some:Depends}' [debian/control:24] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +Source: control-file-missing-separator +Section: devel +Priority: optional +Maintainer: [% $author %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc + mips mipsel + hppa + s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Standards-Version: [% $standards_version %] + +Package: control-file-missing-separator +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1) + baz (<< 2), + fizz (= 2.0) +Suggests: p1 + p2 + p3 + p4 + p5 +Description: Test for missing separators in control files + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: source-native +Testname: control-file-missing-separator +Version: 1 +Description: Test for missing separators in control files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-missing-separator +Check: debian/control/field/relation diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/relation/control-file-missing-separator/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +control-file-missing-separator (source): missing-separator-between-items (in section for control-file-missing-separator) 'p1' and 'p2' [debian/control:22] +control-file-missing-separator (source): missing-separator-between-items (in section for control-file-missing-separator) 'foo (>= 1)' and 'baz (<< 2)' [debian/control:19] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,30 @@ +Source: control-file-missing-separator +Section: devel +Priority: optional +Maintainer: [% $author %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc + mips mipsel + hppa + s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Standards-Version: [% $standards_version %] + +Package: control-file-missing-separator +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1) + baz (<< 2), + fizz (= 2.0) +Suggests: p1 + p2 + p3 + p4 + p5 +Description: Test for missing separators in control files + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: source-native +Testname: control-file-missing-separator +Version: 1 +Description: Test for missing separators in control files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-missing-separator +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-missing-separator/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-missing-separator (source): silent-on-rules-requiring-root [debian/control] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: binary-targets +Homepage: https://lintian.debian.org/ + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_builddeb: + dh_builddeb -- -Zgzip diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-rules-requires-root-binary-targets +Description: Test for "Rules-Requires-Root: binary-targets" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-rules-requires-root-binary-targets +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-binary-targets/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-rules-requires-root-binary-targets (source): rules-require-root-explicitly [debian/control:7] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: https://lintian.debian.org/ + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_builddeb: + dh_builddeb -- -Zgzip diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-rules-requires-root-no +Description: Test for "Rules-Requires-Root: no" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-rules-requires-root-no +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-rules-requires-root-no/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-rules-requires-root-no (source): rules-do-not-require-root [debian/control:7] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-symlink +Description: Test if debian/control is a symlink diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/pre-build lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/pre-build --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/pre-build 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/build-spec/pre-build 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#!/bin/sh + +ROOT_DIR="$1" + +mv "${ROOT_DIR}/debian/control" "${ROOT_DIR}/debian/control.real" +ln -s control.real "${ROOT_DIR}/debian/control" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-symlink +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/control-file-symlink/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-symlink (source): rules-do-not-require-root [debian/control.real:7] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,19 @@ +Source: [% $source %] +Priority: optional +Section: devel +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Require-Root: no +Rules-Requires-Root: no +XS-Comment: This is random comment ending up in the dsc file. + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends}, +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-unknown-fields +Description: General tests for unknown fields diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-unknown-fields +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/fields-unknown-fields/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +fields-unknown-fields (source): spelling-error-in-rules-requires-root Rules-Require-Root [debian/control:7] +fields-unknown-fields (source): rules-do-not-require-root [debian/control:8] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman Tue, 7 Jul 1998 16:27:56 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,49 @@ +#!/usr/bin/make -f + +# Copyright (C) 1998 Richard Braakman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/tmp/DEBIAN/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/tmp/DEBIAN/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/tmp/DEBIAN/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/debian/tmp/DEBIAN/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +relations (source): silent-on-rules-requiring-root [debian/control] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/legacy-relations/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: [% $priority %] +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Homepage: [% $homepage %] + +Package: [% $source %] +Architecture: [% $package_architecture %] +Pre-Depends: ${misc:Pre-Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Testname: rules-requires-root-missing +Skeleton: upload-native +Description: d/control without explicit rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: rules-requires-root-missing +Check: debian/control/field/rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/rules-requires-root/rules-requires-root-missing/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +rules-requires-root-missing (source): silent-on-rules-requiring-root [debian/control] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: https://lintian.debian.org/ + +Package: [% $source %] +Section: [% $section %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: source-native +Testname: no-section-in-source-stanza +Description: No Section declared in source stanza of d/control + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: no-section-in-source-stanza +Check: debian/control/field/section diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/section/no-section-in-source-stanza/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +no-section-in-source-stanza (source): no-source-section diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority:optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: https://lintian.debian.org/ + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-pedantic-space +Description: Pedantic tests for control file spacing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-pedantic-space +Check: debian/control/field/spacing diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/field/spacing/control-file-pedantic-space/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +control-file-pedantic-space (source): debian-control-has-unusual-field-spacing Source [debian/control:1] +control-file-pedantic-space (source): debian-control-has-unusual-field-spacing Section [debian/control:3] +control-file-pedantic-space (source): debian-control-has-unusual-field-spacing Priority [debian/control:2] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: devel -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %], - big , bpfail1 , - bpcomplicated -Rules-Requires-Root: no - -Package: [% $source %]-wrong-syntax -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Build-Profiles: -Description: [% $description %] (wrong syntax) - Check the syntax of the Build-Profiles field - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: [% $source %]-unknown-profile -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Build-Profiles: -Description: [% $description %] (unknown profile) - Check for unknown profile names - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: fields-build-profiles-general -Description: General tests for build profiles diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Testname: fields-build-profiles-general -See-Also: Debian Bug#540594, Debian Bug#551793 -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-build-profiles-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-build-profiles-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -fields-build-profiles-general (source): rules-does-not-require-root -fields-build-profiles-general (source): invalid-restriction-formula-in-build-profiles-field fields-build-profiles-general-wrong-syntax -fields-build-profiles-general (source): invalid-profile-name-in-build-profiles-field unknown fields-build-profiles-general-unknown-profile diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,81 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %], libtest-simple-perl (>= 0.98), perl-modules -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, xorg, bash, - conflict-dep, gawk | awk, new-package | xbase-clients (>= 0.1), [% $source %], - gaim (>= 0.1), emacs21, emacs22, emacs23, makedev, libtest-simple-perl (>= 0.98), - packaging-dev, xfont-a, emacs22-gtk, emacs23-el, emacs23-nox, emacs23-lucid, - emacs222, perl-modules, debhelper -Breaks: package-without-version, [% $source %] (<< 0.1), - replaced-wo-version -Replaces: replaced-wo-version -Conflicts: package-with-version (<< 3.0), conflict-dep -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: lib[% $source %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, libdb1-compat, perl-modules-5.22 -Recommends: debconf-doc, cdbs -Conflicts: debhelper -Section: libs -Description: [% $description %] -- fake library - This is a fake library designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: py-[% $source %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, python-minimal -Description: [% $description %] - Fake Python package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The fake Python package. - -Package: [% $source %]-doc -Section: doc -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, [% $source %] -Description: [% $description %] - Fake Doc package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The fake doc package. - -Package: dh-[% $source %] -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper -Description: [% $description %] - Fake Debhelper package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The fake Debhelper package to test false-positives in - binary-package-depends-on-toolchain-package. - -Package: [% $source %]-source -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper -Description: [% $description %] - Fake DKMS-like package - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The fake DKMS-like package to test false-positives in - binary-package-depends-on-toolchain-package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/install 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/debian/install 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -some-file usr/share/lintian diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: fields-depends-general -Description: General tests for binary package dependencies diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/orig/some-file lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/orig/some-file --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/build-spec/orig/some-file 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/build-spec/orig/some-file 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -This file is installed into /usr/share/lintian just to ensure that this -package doesn't look like a metapackage for the dependency checks. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-depends-general -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -fields-depends-general (source): rules-does-not-require-root -fields-depends-general (source): package-depends-on-itself fields-depends-general Depends diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends}, foo [linux-any], bar [i386], - baz [amd64] -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: fields-depends-wildcard -Package-Architecture: any -Description: Check package dependencies with arch wildcards diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -all: - -install: - install -d -m 0755 "$(DESTDIR)/usr/lib/package" - echo "Hallo World" > "$(DESTDIR)/usr/lib/package/some-file" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-depends-wildcard -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-depends-wildcard/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-depends-wildcard/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -fields-depends-wildcard (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,46 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -Homepage: http://lintian.debian.org/ - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. -# Whoops, typo -Homepage: ttp://lintian.debian.org/ - -Package: [% $source %]-dbg -Section: debug -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (dbg) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The debug package (dbg)g. -# ... and some unneeded <> -Homepage: - -Package: [% $source %]-debug -Section: debug -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (debug) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - The debug package (debug). - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: fields-general -Description: Test for tags related to minor field issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-general -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -fields-general (source): rules-does-not-require-root -fields-general (source): debian-control-has-obsolete-dbg-package fields-general-dbg diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: contrib/[% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: [% $source %] -Architecture: all -Section: contrib/dveel -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (typo) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package has a typo in its section fields. - -Package: [% $source %]-main -Architecture: all -Section: [% $section %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] (main) - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - . - This package can go to main. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: fields-section-general -Description: Test for general section/area issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-section-general -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-section-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-section-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -fields-section-general (source): section-area-mismatch Package fields-section-general-main -fields-section-general (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,19 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: devel -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Require-Root: no -Rules-Requires-Root: no -XS-Comment: This is random comment ending up in the dsc file. - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${misc:Depends}, -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: fields-unknown-fields -Description: General tests for unknown fields diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-unknown-fields -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/fields-unknown-fields/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/fields-unknown-fields/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -fields-unknown-fields (source): spelling-error-in-rules-requires-root Rules-Require-Root (line 7) -fields-unknown-fields (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -[% $source %] ([% $version %]) unstable; - -- a <> Tue, 30 Dec 2008 17:34:02 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Source: [% $source %] -Maintainer: a - -Package: [% $source %] -Architecture: [% $package_architecture %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -#!/usr/bin/make -f -build: -binary: - install -d debian/generic-empty debian/generic-empty/DEBIAN - dpkg-gencontrol -pgeneric-empty -Pdebian/generic-empty - dpkg --build debian/generic-empty .. - -clean: - rm -rf debian/generic-empty diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: generic-empty -Package-Architecture: all -Description: Pathological empty package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/orig/README lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/orig/README --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/orig/README 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/orig/README 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -This is the smallest possible Debian package that I can get -dpkg-buildpackage to build (with the exception of this documentation). -It tests Lintian handling of packages that are missing everything one -would normally expect to have. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/pre-build lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/pre-build --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/build-spec/pre-build 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/build-spec/pre-build 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#!/bin/sh -# -# Remove as many files from the package as possible. - -rm -f "$1/debian/compat" -rm -f "$1/debian/copyright" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: generic-empty -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/generic-empty/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/generic-empty/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -generic-empty (source): silent-on-rules-requiring-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,47 +0,0 @@ -binary ([% $version %]) [% $distribution %]; urgency=low - - * I'm doing an comaintainer-upload, acknowledging a NMU, but with a version - number which suggests I'm doing a NMU myself. - - Lintian-maintainers: Please don't update this changelog, otherwise you'll - probably break the checks/nmu checks. - - -- Jeroen van Wolffelaar Sun, 18 Apr 2004 01:49:42 +0200 - -binary (4-1) unstable; urgency=low - - * Weird version number for the new check for accidents with native - packaging. - * Date was fixed by BR and this test was put on changelog-file-strange-date - due to dpkg bug, see #794674. - - -- Marc 'HE' Brockschmidt Thu, 15 Apr 2004 23:33:51 +0200 - -binary (4) unstable; urgency=low - - * Add big file to /usr/share to trigger the big-usr-share check - - -- Jeroen van Wolffelaar Fri, 27 Feb 2004 10:15:59 +0100 - -binary (3) unstable; urgency=unlimited - - * Add some bogus menu entries using su-to-root in a bogus way - - -- Jeroen van Wolffelaar Thu, 12 Feb 2004 20:11:22 +0100 - -binary (2) unstable; urgency=low - - * Added an INSTALL document which policy 6.3 suggests not to do - - -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 - -binary (1) unstable; urgency=low - - * hello.c added - * hello-static is same as hello, but compiled statically - * added a menu entry which lacks a Section - * added a postinst - * postinst calls suidregister which is no longer policy compliant - - -- Sean 'Shaleh' Perry Wed, 10 Jan 2001 08:55:34 -0800 - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/conffiles lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/conffiles --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/conffiles 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/conffiles 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -/etc/menu-methods/lintian diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -Source: binary -Section: misc -Priority: optional -Maintainer: Lintian Maintainers -Uploaders: Co-maintainer one , Jeroen van Wolffelaar , Co-maintainer three -Standards-Version: 3.2.1 -Homepage: http://lintian.debian.org/ -Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk -XS-Vcs-Browser: http://svn.wolffelaar.nl/lintian/trunk -XS-Dm-Upload-Allowed: yes - -Package: binary -Architecture: any -Pre-Depends: ${shlibs:Depends}, xorg, binary-data (= ${source:Version}), libssl0.9.8 -Homepage: -Vcs-Svn: http://svn.wolffelaar.nl/lintian/trunk -Description: test handling of binary files - Regression test for lintian's handling of binary files for debian. This - is checked for picky spelling errors. - . - This package list [ subversion | gconf ] should not be flagged as a spelling - mistake. The spelling correction for dont should be correct. - . - Homepage: http://lintian.debian.org/ - -Package: binary-data -Architecture: all -Depends: binary (= ${source:Version}), libssl-not-openssl, - libssl0.9.8 | or-something-else -Description: test handling of binary relationships - Regression test for lintian's checking of package relationships between - arch:any and arch:all packages. - . - This mention of subversion should be flagged as a spelling mistake. - -#Package: binary-comment -#Architecture: space-almonds -#Depends: * -#Depends: * -#Description: test comment support -# Yes, comments are actually allowed in debian/control, so none of the -# above should produce errors. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/copyright 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 @@ -1,15 +0,0 @@ -hello.c is released under public domain. This is distributed in the hope that -it will be useful, but without any warranty; without even the implied warranty -of merchantability or fitness for a particular purpose. - -A reference to /usr/share/common-licenses/GPL-2 to make it look like this -package is under the GPL and trigger the OpenSSL warning. - -Test for old FSF address: - -Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. - -Test for deprecated nätionäl äncoding. - -Improper capitalization of linux or debian isn't caught here. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/doc-base lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/doc-base --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/doc-base 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/doc-base 1970-01-01 01:00:00.000000000 +0100 @@ -1,41 +0,0 @@ -Document: binary!docs -Title: Broken debian binary doc-base control file -Author: Russ Allbery -Abstract: This control file exercises various tests of doc-base control - files, including several things that aren't tested yet. The third and - fourth one has trailing whitespace. - . - This section has a speling error and bad ® character. - . - The above separator was fine. -Section: Non/Existant -Unknown: Some field - - - -Format: debiandoc-sgML -Files: /usr/share/doc/binary/binary.sgml.gz -Unknown: Some field - -Format: ESP -Index: /usr/share/doc/binary/binary.txt - -Index: /usr/share/doc/binary/html/index.html - /usr/share/doc/binary/html/ch1.html - /usr/share/doc/binary/html/ch4.html - - -Format: HTML -Index: /usr/share/doc/binary/html/index.html -Files: /usr/share/doc/binary/html/ch?.h*l - /usr/share/doc/binary/hml/*.html - -Format: inFO -Files: /usr/share/info/binary.info.gz - -Format: HTML -Index: /usr/share/doc/binary/html/index.html -Files: /usr/share/doc/binary/html/ch5.html - /usr/share/doc/binary/html/ch6.html - - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/goodbye.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/goodbye.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/goodbye.desktop 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/goodbye.desktop 1970-01-01 01:00:00.000000000 +0100 @@ -1,13 +0,0 @@ -[Desktop Entry] -Name:Goodbye -# Name=Goodbye -Comment=Say hello! -SpecialTag=This doesn't exist! -Exec=goodbye -icon=hello -Terminal=true -Type=Application -Categories=WeirdStuff;Screensaver; -Encoding=ISO-10646-1 -[Other Entry] -Name=Goodbye diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/hello.desktop lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/hello.desktop --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/hello.desktop 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/hello.desktop 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -# some random comment - -# [Foo Bar] -[KDE Desktop Entry] -Name=Hello -Name[en_US]=Hello -Comment=Say hello! -Exec=kdesu hello -Icon=hello -Terminal=true -Type=Application -Categories=GNOME;GTK;System;Applet;X-Foo;Settings; -Encoding=UTF-8 -OnlyShowIn=GNOME; diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu 1970-01-01 01:00:00.000000000 +0100 @@ -1,26 +0,0 @@ -?package(binary):needs=text title="Hello World" command="/usr/bin/hello" -?package(binary):needs=text section="Applications/System" title="Run cfdisk (0)" command="/usr/bin/su-to-root cfdisk" -?package(binary):needs="text" section="Applications/System/Hardware" title="Run cfdisk (1)" command="sux -p cfdisk" -?package(binary):needs="x11" section="Window Managers" title="Run xfdisk" command="/usr/sbin/su-to-root -c xfdisk" -?package(binary):needs="wm" section="Applications/System/Administration" title="Run fdisk-wm" command="su-to-root -c hello" -?package(binary):section="Apps/Games" title="I'm not root!" command="su-to-root -c imnothere" -?package(binary):needs="text" section="Apps/System" title="I'm not here!" command="/imnothere" -?package(binary,other-binary):\ - needs="text"\ - section="Applications/Shells"\ - title="more than one required"\ - command="other-bin -s omething" -?package(binary):needs="wmmodule" section="WindowManagers/Modules" title="somemodule" command="ModuleCmd" -?package(binary):needs="wmmodule" section="FVWM Modules" title="somemodule" command="ModuleCmd" -?package(binary):needs="text" section="Applications/System/Administration" title="I'm not in /usr/bin!" command="iminusrbin" -?package(binary):needs="text"\ - section="Applications/System/Administration"\ - title="I'm not root!" command="su-to-root -c imnothere" -?package(binary):needs="text" section="Applications/System/Administration"\ - title="Run cfdisk (0)" command="cfdisk" -?package(binary):needs="text" section="Applications/System/Administration" title="Hello World" command="/usr/bin/hello" -?package(binary):needs="wm" section="FVWM Modules" title="Fake Module" command="hello" -?package(binary):needs="fvwmmodule" section="Window Maker" title="Fake Module"\ - command="hello" -?package(binary):needs="x11" section="Applications/System/Hardware" title="Run xfdisk" command="su-to-root -c 'xfdisk -f'" -?package(binary):needs="text" section="Applications/System/Administration" title="foo" command="sh /path/to/foo" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu-method lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu-method --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu-method 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/menu-method 1970-01-01 01:00:00.000000000 +0100 @@ -1,22 +0,0 @@ -#!/usr/bin/install-menu - -# -*- mode: shell-script; -*- -#I need menu-1! -# - -!include notmenu.h - -compat="menu-2" - -outputencoding="UTF-8"; -outputlanguage="C"; - -x11 = AppEntry("false"); -text = AppEntry("true"); - -startmenu = ""; -endmenu = ""; -submenutitle = ""; -rootprefix = "/var/lib/lintian/menu"; -userprefix = ".local/share/lintian/menu"; - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/NEWS.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/NEWS.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/NEWS.Debian 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/NEWS.Debian 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -binary (4-1.1) UNRELEASED; urgency=high - - This is a Debian NEWS entry that isn't encoded properly in UTF-8: ü. - It also has a usefull speling error. - - -- Russ Allbery Sun, 14 Oct 2007 17:11:36 -0700 - -binary (1) unstable; urgency=low - - This is another entry but this one isn't syntactically valid. - - -- Russ Allbery 2007-10-14 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/postinst 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#! /bin/bash -e - -if [ $1 eq 'configure' ] -then - suidregister hello-static root root 4755 -fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/README.Debian 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -this is a binary package to test lintian's handling of bins. -Check handling of D-Bus and dbus (neither of which should produce -warnings). - - -- Russ Allbery , Wed, 6 Feb 2008 18:35:11 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,92 +0,0 @@ -#!/usr/bin/make -f - -tmp=debian/tmp - -# This reference to $(PWD) should not cause an error but the one below -# should. -build-arch: - make - echo $(PWD) - -build: build-arch - -clean: - make -i clean - [ ! -f debian/files ] || rm -f debian/files - [ ! -f debian/substvars ] || rm -f debian/substvars - [ ! -d debian/tmp ] || rm -rf debian/tmp - [ ! -d debian/binary ] || rm -rf debian/binary - [ ! -d debian/binary-data ] || rm -rf debian/binary-data - -binary-arch: build - install -d $(tmp)/usr/bin - install -d $(tmp)/boot/hello - install -m 755 hello $(tmp)/usr/bin - touch $(tmp)/usr/bin/iminusrbin - chmod 755 $(tmp)/usr/bin/iminusrbin - install -m 755 hello-static $(tmp)/usr/bin - strip $(tmp)/usr/bin/hello-static - install -m 755 hello-static $(tmp)/usr/bin/hello.static - strip --remove-section=.comment --remove-section=.note $(tmp)/usr/bin/hello.static - ln $(tmp)/usr/bin/hello.static $(tmp)/usr/bin/static-hello - install -m 755 hello-static $(tmp)/boot/hello - strip --remove-section=.comment --remove-section=.note $(tmp)/boot/hello/hello-static - install -d $(tmp)/usr/share/doc/binary - install -m 644 INSTALL $(tmp)/usr/share/doc/binary - install -d $(tmp)/usr/share/doc/binary/html - echo '' > $(tmp)/usr/share/doc/binary/html/index.html - echo '' > $(tmp)/usr/share/doc/binary/html/ch1.html - ln -s ../html/./ch1.html $(tmp)/usr/share/doc/binary/html/ch2.html - ln -s /usr/share/doc/binary/htm/ch1.html $(tmp)/usr/share/doc/binary/html/ch3.html - echo '' > $(tmp)/usr/share/doc/binary/html/ch5.html - ln $(tmp)/usr/share/doc/binary/html/ch5.html \ - $(tmp)/usr/share/doc/binary/html/ch6.html - install -d $(tmp)/usr/share/menu - install -d $(tmp)/usr/lib/menu - install -d $(tmp)/usr/share/binary - install -m 644 debian/menu $(tmp)/usr/share/menu/binary - install -m 644 debian/menu $(tmp)/usr/lib/menu/binary - install -d $(tmp)/etc/menu-methods - install -m 755 debian/menu-method $(tmp)/etc/menu-methods/lintian - install -d $(tmp)/usr/share/doc-base - install -m 644 debian/doc-base $(tmp)/usr/share/doc-base/binary - touch '$(tmp)/usr/share/doc-base/space ' - install -m 644 debian/README.Debian $(tmp)/usr/share/doc/binary - install -m 644 debian/NEWS.Debian $(tmp)/usr/share/doc/binary - gzip -n -9 $(tmp)/usr/share/doc/binary/NEWS.Debian - install -m 644 debian/copyright $(tmp)/usr/share/doc/binary - install -m 644 debian/changelog $(tmp)/usr/share/doc/binary - #gzip -n -9 $(tmp)/usr/share/doc/binary/changelog - install -d $(tmp)/DEBIAN - install -m 755 debian/postinst $(tmp)/DEBIAN - install -m 644 debian/conffiles $(tmp)/DEBIAN - - install -d $(tmp)/usr/share/applications - install -m 644 debian/hello.desktop \ - $(tmp)/usr/share/applications/hello.desktop - install -m 755 debian/goodbye.desktop \ - $(tmp)/usr/share/applications/goodbye.desktop - - # should be ok... - echo boe > $(tmp)/usr/bar - ln $(tmp)/usr/bar $(tmp)/usr/foo - # but this isn't - echo boe > $(tmp)/usr/bar2 - ln $(tmp)/usr/bar2 $(tmp)/usr/share/baz - - dd if=/dev/zero of=$(tmp)/usr/share/binary/largefile bs=1024 count=4000 - - install -d debian/binary-data/DEBIAN - install -d debian/binary-data/usr/share/doc - ln -s binary debian/binary-data/usr/share/doc/binary-data - - dpkg-shlibdeps $(tmp)/usr/bin/hello - dpkg-gencontrol -pbinary -isp - dpkg-gencontrol -pbinary-data -Pdebian/binary-data -isp - - dpkg --build debian/tmp .. - dpkg --build debian/binary-data .. - -binary: binary-arch - -.PHONY: build-arch build binary-arch binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/templates lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/templates --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/templates 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/debian/templates 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -# The debconf templates defined here are the sort that you'd use if -# providing a wordlist and an ispell dictionary for the language -# "perl". This shouldn't trigger warnings about not using debconf-po. - -Template: shared/packages-ispell -Type: text -Description: - -Template: shared/packages-wordlist -Type: text -Description: - -Template: miscfiles/languages -Type: text -Default: perl (Pathologically Eclectic Rubbish Lister) -Description: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-non-native -Testname: legacy-binary -Source: binary -Version: 4-1.1 -Description: Legacy test "binary" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/hello.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/hello.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/hello.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/hello.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#include -#include - -int main(int argc, char *argv[]) { - - printf("Hello, World!\n"); - exit(0); -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/INSTALL lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/INSTALL --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/INSTALL 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/INSTALL 1970-01-01 01:00:00.000000000 +0100 @@ -1,176 +0,0 @@ -Basic Installation -================== - - These are generic installation instructions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, a file -`config.cache' that saves the results of its tests to speed up -reconfiguring, and a file `config.log' containing compiler output -(useful mainly for debugging `configure'). - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If at some point `config.cache' -contains results you don't want to keep, you may remove or edit it. - - The file `configure.in' is used to create `configure' by a program -called `autoconf'. You only need `configure.in' if you want to change -it or regenerate `configure' using a newer version of `autoconf'. - -The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. - - Running `configure' takes a while. While running, it prints some - messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package. - - 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. You can give `configure' -initial values for variables by setting them in the environment. Using -a Bourne-compatible shell, you can do that on the command line like -this: - CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure - -Or on systems that have the `env' program, you can do it like this: - env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. - - If you have to use a `make' that does not supports the `VPATH' -variable, you have to compile the package for one architecture at a time -in the source code directory. After you have installed the package for -one architecture, use `make distclean' before reconfiguring for another -architecture. - -Installation Names -================== - - By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PATH'. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PATH', the package will use -PATH as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - -Optional Features -================= - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - -Specifying the System Type -========================== - - There may be some features `configure' can not figure out -automatically, but needs to determine by the type of host the package -will run on. Usually `configure' can figure that out, but if it prints -a message saying it can not guess the host type, give it the -`--host=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name with three fields: - CPU-COMPANY-SYSTEM - -See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the host type. - - If you are building compiler tools for cross-compiling, you can also -use the `--target=TYPE' option to select the type of system they will -produce code for and the `--build=TYPE' option to select the type of -system on which you are compiling the package. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Operation Controls -================== - - `configure' recognizes the following options to control how it -operates. - -`--cache-file=FILE' - Use and save the results of the tests in FILE instead of - `./config.cache'. Set FILE to `/dev/null' to disable caching, for - debugging `configure'. - -`--help' - Print a summary of the options to `configure', and exit. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--version' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`configure' also accepts some other, not widely useful, options. - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,12 +0,0 @@ -all: hello hello-static - -hello: hello.c - gcc hello.c -o hello - -hello-static: hello.c - gcc -static hello.c -o hello-static - -clean: - rm -f hello hello-static - -distclean: clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: legacy-binary -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -binary (source): xs-vcs-field-in-debian-control XS-Vcs-Browser -binary (source): silent-on-rules-requiring-root -binary (source): binary-control-field-duplicates-source field "Vcs-Svn" in package binary diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-binary/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-binary/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -s/arch-dep-package-has-big-usr-share .*kB .*%/arch-dep-package-has-big-usr-share/ -/: hardening-.*/ d -s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,78 +0,0 @@ -filenames ([% $version %]) [% $distribution %]; urgency=low - - * /me is doing a correct NMU of this package, bumping the epoch too. - - -- Jeroen van Wolffelaar Sun, 18 Apr 2004 02:04:39 +0200 - -filenames (11) unstable; urgency=low - - * Add a README.macos. - - -- Marc 'HE' Brockschmidt Mon, 12 Apr 2004 23:35:24 +0200 - -filenames (10) unstable; urgency=low - - * Some new files to check the checks for the use of /usr/*/X11 and - /usr/X11R6/*. - - -- Marc 'HE' Brockschmidt Sun, 11 Apr 2004 17:35:20 +0200 - -filenames (9) unstable; urgency=low - - * Add a two *.ali files, one with the right permission, one with - the more common, but false one. - - -- Marc 'HE' Brockschmidt Sun, 11 Apr 2004 00:18:16 +0200 - -filenames (8) unstable; urgency=low - - * Add a real ancient file - - -- Frank Lichtenheld Thu, 8 Apr 2004 22:22:40 +0200 - -filenames (7) unstable; urgency=low - - * Add a dozen symlinks, some correct, some not - - -- Jeroen van Wolffelaar Fri, 27 Feb 2004 01:28:42 +0100 - -filenames (6) unstable; urgency=low - - * Add perl files to check if - package-installs-nonbinary-perl-in-usr-lib-perl5 is correctly - issued even after attempting to suppress it in some cases - - -- Frank Lichtenheld Fri, 27 Feb 2004 00:49:44 +0100 - -filenames (5) unstable; urgency=low - - * Added check for too long symlink - - -- Sean 'Shaleh' Perry Wed, 3 Jan 2001 13:20:31 -0800 - -filenames (4) unstable; urgency=low - - * Add /usr/lib/menu/menu file to test the bad-menu-file-name tag. - * Add /usr/lib/menu/README to test the new execption for it. - - -- Richard Braakman Thu, 22 Oct 1998 15:42:52 +0200 - -filenames (3) unstable; urgency=low - - * Don't rely on the installer's umask. - - -- Richard Braakman Thu, 20 Aug 1998 12:45:47 +0200 - -filenames (2) unstable; urgency=low - - * Noted more limitations on what filenames lintian handles. - * Added Changes.gz in /usr/doc/filenames and made a symlink from changelog.gz - to Changes.gz. - - -- Richard Braakman Sat, 4 Jul 1998 15:46:11 +0200 - -filenames (1) unstable; urgency=low - - * Initial version - - -- Richard Braakman Sat, 4 Jul 1998 15:25:01 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,42 +0,0 @@ -Source: filenames -Maintainer: Lintian Maintainer -Standards-Version: 3.1.1 -Rules-Requires-Root: binary-targets - -Package: filenames -Architecture: any -Description: see how lintian reacts to weird filenames - This package contains files with the most evil names I could find, - except for ones that lintian is explicitly not designed to handle. - . - Lintian does not handle filenames containing newlines, or filenames - that contain the strings " link to ", " -> ", or ": ". The last one - is used as a separator by the file command, the others are used as - separators by tar. - . - Lintian also does not handle filenames that contain backslashes, or - other characters that are mangled by tar's -tv output. - -Package: filename-games -Architecture: all -Depends: filenames -Section: games -Description: Test game filename/location checks - This package contains files with slightly less evil names than - filenames. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: more-filename-games -Architecture: all -Depends: filenames, filename-games -Section: games -Priority: optional -Description: More test for game filename/location checks - This package contains no evil names, only evil locations. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/doc-base lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/doc-base --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/doc-base 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/doc-base 1970-01-01 01:00:00.000000000 +0100 @@ -1,11 +0,0 @@ -Document: testing -Title: Working doc-base control file -Author: Russ Allbery -Abstract: This control file ensures that we don't get false positives for - correct doc-base files. - . - There isn't anything wrong with this one. -Section: Education - -Format: Text -Files: /usr/share/doc/filenames/README.macosx diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,231 +0,0 @@ -#!/usr/bin/make -f - -# Copyright (C) 1998 Richard Braakman -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') - -clean: - mkdir -p .svn CVS "{arch}" .arch-ids .bzr - touch data/.cvsignore data/svn-commit.tmp data/svk-commitsEr9P.tmp - touch data/.arch-inventory - touch 'data/.#Maelstrom Sound.1.1.1' 'data/Maelstrom Sounce.r121' - touch 'data/Maelstrom Sound.mine' - touch "data/'\\ " - touch filenames.c~ - -build-arch: - -build-indep: - -build: build-arch build-indep - - -binary-arch: - -binary-indep: - install -d debian/tmp/DEBIAN - cp -a data debian/tmp/files - chmod -R go=rX debian/tmp/files - - install -d debian/tmp/usr/lib/filenames - install -m 555 -d debian/tmp/usr/lib/filenames/readonly - touch debian/tmp/usr/lib/filenames/readonly/test - - install -d debian/tmp/usr/lib/menu - install -d debian/tmp/usr/share/menu - touch debian/tmp/usr/lib/menu/README - touch debian/tmp/usr/share/menu/README - touch debian/tmp/usr/lib/menu/menu - touch debian/tmp/usr/share/menu/menu - chmod 644 debian/tmp/usr/lib/menu/* - - install -d debian/tmp/$(VENDORARCH)/foo - mkdir debian/tmp/$(VENDORARCH)/.svn - mkdir debian/tmp/$(VENDORARCH)/CVS - mkdir "debian/tmp/$(VENDORARCH)/{arch}" - mkdir debian/tmp/$(VENDORARCH)/.arch-ids - mkdir debian/tmp/$(VENDORARCH)/.bzr - mkdir debian/tmp/$(VENDORARCH)/.be - mkdir debian/tmp/$(VENDORARCH)/.ditrack - install -d debian/tmp/usr/share/perl5 - echo foo > debian/tmp/$(VENDORARCH)/foo/.gitignore - echo foo > debian/tmp/$(VENDORARCH)/foo/.hgignore - echo foo > debian/tmp/$(VENDORARCH)/foo/.hgtags - echo foo > debian/tmp/$(VENDORARCH)/foo/.hg_archival.txt - - touch debian/tmp/$(VENDORARCH)/foo/.packlist - chmod 644 debian/tmp/$(VENDORARCH)/foo/.packlist - touch debian/tmp/$(VENDORARCH)/foo/bar.pm - TZ=UTC touch -t 197501010101 debian/tmp/$(VENDORARCH)/foo/ancient.pm - chmod 644 debian/tmp/$(VENDORARCH)/foo/bar.pm - - install -d debian/tmp/usr/share/pixmaps - install -d debian/tmp/usr/share/pixmaps/foo - touch debian/tmp/usr/share/pixmaps/license.jpeg - touch debian/tmp/usr/share/pixmaps/licence.jpg - touch debian/tmp/usr/share/pixmaps/copying.xpm - touch debian/tmp/usr/share/pixmaps/foo/COPYING.svg - touch debian/tmp/usr/share/pixmaps/foo/copying.png - touch debian/tmp/usr/share/pixmaps/license.txt - touch debian/tmp/usr/share/pixmaps/license.foo - touch debian/tmp/usr/share/pixmaps/COPYING - - install -d debian/tmp/usr/share/linda/overrides - echo 'foo' > debian/tmp/usr/share/linda/overrides/filenames - - install -d debian/tmp/usr/share/doc/filenames - touch debian/tmp/usr/share/doc/filenames/README.macosx - - echo foo > debian/tmp/usr/share/doc/filenames/bokmÃ¥l - echo foo > debian/tmp/usr/share/doc/filenames/bokm\\Ã¥l - echo foo > debian/tmp/usr/share/doc/filenames/bokmål - echo foo > debian/tmp/usr/share/doc/filenames/bokm\\ål - - echo foo > debian/tmp/usr/share/doc/filenames/Thumbs.db - echo foo > debian/tmp/usr/share/doc/filenames/.DS_Store - echo foo > debian/tmp/usr/share/doc/filenames/._NEWS.Debian - - touch debian/tmp/usr/share/doc/filenames/news.debian - gzip -n debian/tmp/usr/share/doc/filenames/news.debian - touch debian/tmp/usr/share/doc/filenames/NEWS.Debian - - echo foo > debian/tmp/usr/share/doc/filenames/link-one - ln debian/tmp/usr/share/doc/filenames/link-one \ - debian/tmp/usr/share/doc/filenames/link-two - - install -d debian/tmp/usr/share/doc/filenames/examples - touch debian/tmp/usr/share/doc/filenames/examples/__init__.py - touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example - touch debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2 - gzip -n debian/tmp/usr/share/doc/filenames/examples/very_interesting_example2 - - install -d debian/tmp/usr/lib/ada/adalib/ - touch debian/tmp/usr/lib/ada/adalib/test.ali debian/tmp/usr/lib/ada/adalib/test2.ali - chmod 0644 debian/tmp/usr/lib/ada/adalib/test.ali - chmod 0444 debian/tmp/usr/lib/ada/adalib/test2.ali - - install -d debian/tmp/usr/bin/X11/ - touch debian/tmp/usr/bin/X11/testxbin - install -d debian/tmp/usr/X11R6/bin - touch debian/tmp/usr/X11R6/bin/testxbin2 - install -d debian/tmp/usr/include/X11 - touch debian/tmp/usr/include/X11/foo.h - - install -d debian/tmp/usr/bin/mh - touch debian/tmp/usr/bin/mh/read - chmod 755 debian/tmp/usr/bin/mh/read - install -d debian/tmp/usr/bin/bin - touch debian/tmp/usr/bin/bin/bad - chmod 755 debian/tmp/usr/bin/bin/bad - - install -m 644 debian/changelog debian/tmp/usr/share/doc/filenames/Changes - gzip -n -9 debian/tmp/usr/share/doc/filenames/Changes - ln -s Changes.gz debian/tmp/usr/share/doc/filenames/changelog.gz - - install -d debian/tmp/var/www - echo foo > debian/tmp/var/www/foo - - install -d debian/tmp/srv/foo - touch debian/tmp/srv/foo/bar - install -d debian/tmp/opt/foo - touch debian/tmp/opt/foo/bar - - install -d debian/tmp/etc/gconf/schemas - touch debian/tmp/etc/gconf/schemas/test.schema - - install -d debian/tmp/usr/lib/sgml - touch debian/tmp/usr/lib/sgml/package - - install -d debian/tmp/usr/share/gnome/apps/System - touch debian/tmp/usr/share/gnome/apps/System/foo.desktop - - install -d debian/tmp/usr/share/filenames - touch debian/tmp/usr/share/filenames/jquery.js - touch debian/tmp/usr/share/filenames/jquery.lite.js - touch debian/tmp/usr/share/filenames/jquery.min.js - touch debian/tmp/usr/share/filenames/jquery.pack.js - touch debian/tmp/usr/share/filenames/mochikit.js - touch debian/tmp/usr/share/filenames/prototype-1.2.3.4.js - touch debian/tmp/usr/share/filenames/prototype.js - touch debian/tmp/usr/share/filenames/prototype.js.gz - touch debian/tmp/usr/share/filenames/scriptaculous.js - touch debian/tmp/usr/share/filenames/yahoo-dom-event.js - touch debian/tmp/usr/share/filenames/yahoo-min.js - - ln -s '../filenames/doc/version6.txt.gz' debian/tmp/usr/share/doc/filenames/version.txt.gz - ln -s ../../share/symlink debian/tmp/usr/lib/filenames/symlink1ok - ln -s ../../../etc/symlink debian/tmp/usr/lib/filenames/symlink1wrong - ln -s ../../../../etc/symlink debian/tmp/usr/lib/filenames/symlink2wrong - ln -s /etc/symlink debian/tmp/usr/lib/filenames/symlink2ok - ln -s /usr/lib/filenames/symlink2 debian/tmp/usr/lib/filenames/symlink3wrong - ln -s test debian/tmp/usr/lib/filenames/symlink3ok - ln -s ../filenames/symlink2 debian/tmp/usr/lib/filenames/symlink4wrong - ln -s ../menu/../somethingelse debian/tmp/usr/lib/filenames/symlink5wrong - ln -s ../menu/somethingelse debian/tmp/usr/lib/filenames/symlink4ok - ln -s ./file4 debian/tmp/usr/lib/filenames/symlink6wrong - ln -s ../menu/./something debian/tmp/usr/lib/filenames/symlink7wrong - ln -s ../menu//something debian/tmp/usr/lib/filenames/symlink8wrong - ln -s ../menu/something/ debian/tmp/usr/lib/filenames/symlink9wrong - ln -s .. debian/tmp/usr/lib/filenames/symlink5ok+warn - ln -s . debian/tmp/usr/lib/filenames/symlink6ok+warn - ln -s / debian/tmp/usr/lib/filenames/symlink7ok+warn - ln -s ../../.. debian/tmp/usr/lib/filenames/symlink10wrong - -# devhelp tests. Files in /usr/share/gtk-doc/html or /usr/share/devhelp/books -# are okay. Files elsewhere are okay iff their parent path is symlinked into -# one of those paths. - install -d debian/tmp/usr/share/devhelp/books/filenames - echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/a.devhelp - echo 'Not really XML' > debian/tmp/usr/share/devhelp/books/filenames/.devhelp2 - gzip -n -9 debian/tmp/usr/share/devhelp/books/filenames/.devhelp2 - install -d debian/tmp/usr/share/gtk-doc/html/filenames - echo 'Not really XML' > debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp - gzip -n -9 debian/tmp/usr/share/gtk-doc/html/filenames/b.devhelp - install -d debian/tmp/usr/share/doc/filenames/good-devhelp - echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/good-devhelp/.devhelp2 - install -d debian/tmp/usr/share/doc/filenames/bad-devhelp - echo 'Not really XML' > debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp - gzip -n -9 debian/tmp/usr/share/doc/filenames/bad-devhelp/c.devhelp - ln -s ../../doc/filenames/good-devhelp debian/tmp/usr/share/gtk-doc/html/good - ln -s ../doc/filenames/bad-devhelp debian/tmp/usr/share/gtk-doc/html/bad - - install -d debian/tmp/usr/share/doc-base - install -m 644 debian/doc-base debian/tmp/usr/share/doc-base/filenames - - dpkg-gencontrol -pfilenames -Pdebian/tmp - dpkg --build debian/tmp .. - - install -d debian/filename-games debian/filename-games/DEBIAN - install -d debian/filename-games/usr debian/filename-games/usr/games debian/filename-games/usr/bin - echo '#! /bin/sh' > debian/filename-games/usr/bin/test-game - chmod 755 debian/filename-games/usr/bin/test-game - dpkg-gencontrol -pfilename-games -Pdebian/filename-games - dpkg --build debian/filename-games .. - - install -d debian/more-filename-games debian/more-filename-games/DEBIAN - install -d debian/more-filename-games/usr debian/more-filename-games/usr/games debian/more-filename-games/usr/bin - echo '#! /bin/sh' > debian/more-filename-games/usr/bin/another-test-game - echo '#! /bin/sh' > debian/more-filename-games/usr/games/yet-another-test-game - chmod 755 debian/more-filename-games/usr/bin/another-test-game debian/more-filename-games/usr/games/yet-another-test-game - dpkg-gencontrol -pmore-filename-games -Pdebian/more-filename-games - dpkg --build debian/more-filename-games .. - -binary: binary-arch binary-indep - -.PHONY: build-indep build-arch build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-non-native -Testname: legacy-filenames -Source: filenames -Version: 1:12-0.1 -Description: Legacy test "filenames" diff -Nru "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/Maelstrom Sound" "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/Maelstrom Sound" --- "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/Maelstrom Sound" 2021-10-30 11:03:59.000000000 +0200 +++ "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/Maelstrom Sound" 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -This filename occurs in the maelstrom package. diff -Nru "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/ .tif" "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/ .tif" --- "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/ .tif" 2021-10-30 11:03:59.000000000 +0200 +++ "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/ .tif" 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -This filename was inspired by the ".tif used by fnlib. The real package -uses space.tif. diff -Nru "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/\".tif" "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/\".tif" --- "/tmp/B8z1hVfDvb/lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/\".tif" 2021-10-30 11:03:59.000000000 +0200 +++ "/tmp/Q_IFZ3rmAU/lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/build-spec/orig/data/\".tif" 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -This filename is really used, by fnlib. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: legacy-filenames -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -filenames (source): rules-requires-root-explicitly diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-filenames/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-filenames/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ -s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g -/package-installs-packlist/ d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -foo++ ([% $version %]) [% $distribution %]; urgency=low - - * Add a fake README.Debian to trigger a warning. - * This should trigger - debian-changelog-file-contains-debmake-default-email-address. - - -- Marc 'HE' Brockschmidt Wed, 14 Apr 2003 01:35:47 +0200 - -foo++ (4) unstable; urgency=low - - * This changelog now includes a ISO-8859-1 character: 'ä' - - -- Frank Lichtenheld Fri, 5 Mar 2004 13:41:39 +0100 - -foo++ (3) unstable; urgency=low - - * Set maintainers + uploaders incorrectly - - -- Jeroen van Wolffelaar Fri, 5 Mar 2004 04:20:24 +0100 - -foo++ (2) unstable; urgency=low - - * Added a foo++-helper package to try and catch even more ++ bugs. - - -- Sean 'Shaleh' Perry Sat, 10 Feb 2001 23:16:17 -0800 - -foo++ (1) unstable; urgency=low - - * Initial version - - -- Sean 'Shaleh' Perry Thu, 16 Nov 2000 09:11:40 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,30 +0,0 @@ -Source: foo++ -Section: misc -Priority: optional -Maintainer: Lintian Maintainer -Uploaders: Marc 'HE' Brockschmidt , Jeroen van Wolffelaar, - Frank , Yama@gotchi, Josip, - I am afraid of spam and think this helps -Standards-Version: 3.1.1 -XS-Dm-Upload-Allowed: no - -Package: foo++ -Architecture: all -Build-Depends: test -Depends: test, libssl0.9.7 -Description: see how lintian reacts to plus signs in the package name - Regression test to see if lintian tests work on a package with plus signs in - its name. - . - This description also uses some UTF8 high bytes chars: ÄÖÜß - -Package: foo++-helper -Architecture: all -Depends: test, foo++ -Description: see how lintian reacts to plus signs in the package name - Regression test to see if lintian tests work on a package with plus signs in - its name. This has /usr/share/doc links to foo++ to trigger even more checks. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/copyright 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -A reference to /usr/share/common-licenses/GPL to make it look like this -package is under the GPL and trigger the OpenSSL warning. - -However, there is also a reference to /usr/share/common-licenses/LGPL, so -who knows what bits actually depend on libssl. - -Copr. 2007 Somebody. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/README.Debian 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -foo++ for Debian ----------------- - -This should trigger a warning, as i use a fake mail address. - - -- Marc 'HE' Brockschmidt , Wed, 14 Apr 2004 01:44:18 +0200 - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -#!/usr/bin/make -f - -foo=foo++ -helper=foo++-helper - -build-arch: - -build-indep: - -build: build-arch build-indep - -binary-arch: - -binary-indep: - install -d debian/$(foo)/DEBIAN - install -d debian/$(foo)/usr/share/doc/$(foo) - install -m 644 debian/changelog \ - debian/$(foo)/usr/share/doc/$(foo)/changelog - gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/changelog - install -m 644 debian/README.Debian \ - debian/$(foo)/usr/share/doc/$(foo)/README.Debian - gzip -n -9 debian/$(foo)/usr/share/doc/$(foo)/README.Debian - dpkg-gencontrol -isp -p$(foo) -Pdebian/$(foo) - dpkg --build debian/$(foo) .. - - install -d debian/$(helper)/DEBIAN - install -d debian/$(helper)/usr/share/doc/ - ln -sf $(foo) debian/$(helper)/usr/share/doc/$(helper) - dpkg-gencontrol -isp -p$(helper) -Pdebian/$(helper) - dpkg --build debian/$(helper) .. - -binary: binary-arch binary-indep - -clean: - -.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/watch lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/watch --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/watch 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/debian/watch 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -# A comment \ -version=0 - -# uscan does not interpret the backslash above, it is just part of the comment - -http://domain.tld/file-(.*)\.tar\.gz diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-native -Testname: legacy-foo++ -Source: foo++ -Version: 5 -Description: Legacy test "foo++" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: legacy-foo++ -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -foo++ (source): silent-on-rules-requiring-root -foo++ (source): duplicate-short-description foo++ foo++-helper -foo++ (source): build-info-in-binary-control-file-section Package foo++ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-foo++/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-foo++/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -libbaz ([% $version %]) [% $distribution %]; urgency=low - - * Initial setup - - -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/compat.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,58 +0,0 @@ -Source: libbaz -Section: libs -Priority: optional -Maintainer: Lintian Maintainer -Build-depends: debhelper (>=4) -Standards-Version: 3.2.1 - -Package: libbaz1 -Architecture: any -Provides: libbaz -Description: test handling of library packages - Regression test for lintian's handling of libraries. - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: libbaz1-dev -Architecture: any -Depends: libbaz1 (= ${source:Version}), perlapi-5.8.8 -Description: development package - Regression test for lintian's handling of libraries (dev). - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: libbaz2 -Architecture: any -Depends: ${shlibs:Depends}, libssl0.9.8 -Description: test handling of library packages (good) - Regression test for lintian's handling of libraries (good). - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: libbaz2-dev -Architecture: any -Depends: ${shlibs:Depends}, libbaz2 (= ${source:Version}) -Description: development package (good) - Regression test for lintian's handling of libraries (dev good). - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - -Package: libbaz2-dbg -Architecture: any -Depends: libbaz2 (= ${binary:Version}) -Priority: optional -Description: debugging package - Regression test for lintian's handling of libraries (debug). - . - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/copyright 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -This package is released under public domain. This is distributed in the hope -that it will be useful, but without any warranty; without even the implied -warranty of merchantability or fitness for a particular purpose. - -A reference to /usr/share/common-licenses/GPL-2 to make it look like this -package is under the GPL and trigger the OpenSSL warning. - -However, this has an OpenSSL exception. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.postinst 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -#!/bin/sh -e - -$PKG=libbaz1-dev - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.prerm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/dev.prerm 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -#!/bin/sh -e - -$PKG=libbaz1-dev - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.postinst 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.postinst 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#!/bin/sh -e - -$PKG=libbaz1 - -if [ "$1" = "configure" ]; then - if [ -d /usr/doc -a ! -e /usr/doc/$PKG -a -d /usr/share/doc/$PKG ] -; then - ln -sf ../share/doc/$PKG /usr/doc/$PKG - fi -fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.prerm 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.prerm 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -#!/bin/sh -e - -$PKG=libbaz1 - -if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$PKG ]; then - rm -f /usr/doc/$PKG -fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.shlibs lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.shlibs --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.shlibs 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.shlibs 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -libdoesntexist2 1.0 libbaz1 -libdoesntexist2 1.0 libbaz1 -libbaz2 1.1 libbaz -libbaz3 1 libbaz1 (>> 1-1) -libbaz4 1 libbaz1 (= 1-1) -libbaz5 1 libbaz2 -udeb: libdoesntexist2 1.0 libbaz2 -udeb: libdoesntexist2 1.0 libbaz2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.symbols lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.symbols --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.symbols 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/lib.symbols 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -libbaz.so.2 libbaz1 #MINVER# - pw 1-1 - foo 1.1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,121 +0,0 @@ -#!/usr/bin/make -f - -lib_tmp=debian/tmp-lib -dev_tmp=debian/tmp-dev - -LIB=libbaz1 -DEV=libbaz1-dev - -VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') - -build-arch: - $(MAKE) - -build-indep: - -build: build-arch build-indep - -clean: - $(MAKE) clean - dh_clean -plibbaz2 -plibbaz2-dev - rm -f debian/files debian/substvars - rm -rf $(lib_tmp) $(dev_tmp) - -# Now the correct libbaz2-dev package -binary-correct: - install -d debian/libbaz2-dev/usr/lib - cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib - # usually, I'd also include some .h files to /usr/include - - # Now the correct libbaz2 package - install -d debian/libbaz2/usr/lib - cp -a libbaz2.so.* debian/libbaz2/usr/lib - chmod a-x debian/libbaz2/usr/lib/* - - # General stuff that is tested in other testsets: - dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - - # Mess up the libbaz2 changelog files to test the symlink handling. - ln -s /usr/share/doc/lintian/changelog.gz \ - debian/libbaz2/usr/share/doc/libbaz2/changelog.gz - install -m 644 debian/changelog \ - debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo - ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog - - # Okay, if either line is omitted, it should be noted - dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev - dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - - # and again, regular packaging stuff - dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs - dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg - -# and the incorrect one -binary-arch: build-arch binary-correct - # first, the lib package - install -d $(lib_tmp)/usr/lib - # resp. no soname (check), wrong soname (check), and no-pic (check) - cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib - cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b - install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b - # let's include the .a in the non-dev too (TODO) - # Also, libbaz1.a hasn't a symbol table (TODO) - cp -a *.a $(lib_tmp)/usr/lib - # And a wrong .so symlink (wrong, only in -dev, TODO) - ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so - # And a wrong .so.X symlink (wrong, should point to a real existing - # shlib, TODO) - ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9 - # And a plain .so (wrong, TODO) - touch $(lib_tmp)/usr/lib/libbar2.so - # And a non-versioned SONAME. - install -m644 libbaz.so $(lib_tmp)/usr/lib/libbaz.so - strip --remove-section=.comment --strip-unneeded $(lib_tmp)/usr/lib/libbaz.so - # Pretend to be a Perl module to test a lack of Perl dependencies. - install -d $(lib_tmp)/$(VENDORARCH)/auto/Foo - install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so - strip $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so - - install -d $(lib_tmp)/usr/share/doc/$(LIB) - install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB) - install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB) - gzip -n -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog - install -d $(lib_tmp)/DEBIAN - install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst - install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm - touch $(lib_tmp)/usr/share/doc/README.Debian - #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0 - install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs - install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols - dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp) - dpkg --build $(lib_tmp) .. - - # now the -dev package - install -d $(dev_tmp)/usr/include - install -d $(lib_tmp)/usr/lib - # let's also install the .so at the same time... (wrong, TODO) - cp -a *.a *.so.* $(lib_tmp)/usr/lib - # and fuck up permission (TODO) - chmod a+x $(lib_tmp)/usr/lib/*.a - # Pretend to be a Perl module to test a lack of Perl dependencies. - install -d $(dev_tmp)/$(VENDORARCH)/auto/Foo - install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so - strip $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so - install -d $(dev_tmp)/usr/share/doc - ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) - install -d $(dev_tmp)/DEBIAN - install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst - install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm - dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp) - dpkg --build $(dev_tmp) .. - - -binary: binary-arch - -# The mention of binary-indep here should be sufficient to suppress the -# warning that it's not present. -.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/source.lintian-overrides lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/source.lintian-overrides --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/source.lintian-overrides 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/debian/source.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -libbaz source: maintainer-script-lacks-debhelper-token diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -Skeleton: upload-non-native -Testname: legacy-libbaz -Source: libbaz -Version: 1-1 -Default-Build-Depends: debhelper (>= 9.20151004~) -Description: Legacy test "libbaz" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/baz.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/baz.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/baz.c 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/baz.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -#include - -double pw(double p) -{ - return exp(p); -} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/Makefile 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 @@ -1,55 +0,0 @@ -# This is the correct way to build a lib - -CC=gcc -CFLAGS=-g -Wall -Winline -O2 -LDFLAGS=-Wl,--no-as-needed - -OBJS=baz.o extra.o -SHOBJS=baz.sho extra.sho -NOPICOBJS = $(SHOBJS) - -all: libbaz1.a libbaz2.a libbaz1.so.1.0.3b libbaz2.so libbaz3.so.1.0.3b \ - libbaz.so - -libbaz2.so: libbaz2.so.1.0 - ln -sf $^ $@ -libbaz2.so.1.0: libbaz2.so.1.0.3b - ln -sf $^ $@ - -# Oops, forget the soname altogether -libbaz1.so.1.0.3b: $(NOPICOBJS) - $(CC) $(LDFLAGS) -o $@ -shared $^ -lc - -libbaz2.so.1.0.3b: $(SHOBJS) - $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz2.so.1.0 $^ -lc - -# Non-PIC. We can't test this on all architectures -libbaz3.so.1.0.3b: $(NOPICOBJS) - $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz3.so.1 $^ -lc - -# Non-versioned SONAME. -libbaz.so: $(SHOBJS) - $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz.so $^ -lc - -#%.o-noreentrant: %.c -# $(CC) $(LDFLAGS) $(CFLAGS) -o $@ -c $< - -%.sho: %.c - $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< - -%.o: %.c - $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -o $@ -c $< - -libbaz2.a: $(OBJS) - ar cq $@ $(OBJS) - strip --strip-unneeded --remove-section=.comment \ - --remove-section=-note $@ - ranlib $@ - -# The pic one in the .a (wrong), no archive table -libbaz1.a: $(SHOBJS) - ar cqS $@ $^ - strip --strip-unneeded --remove-section=.comment \ - --remove-section=-note $@ -clean: - rm -f *.a *.o *.so* *.sho diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: legacy-libbaz -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -libbaz (source): weak-library-dev-dependency libbaz2-dev on libbaz2 (= ${source:Version}) -libbaz (source): weak-library-dev-dependency libbaz1-dev on libbaz1 (= ${source:Version}) -libbaz (source): silent-on-rules-requiring-root -libbaz (source): debian-control-has-obsolete-dbg-package libbaz2-dbg -libbaz (source): binary-control-field-duplicates-source field "Priority" in package libbaz2-dbg diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-libbaz/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-libbaz/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -/: hardening-.*/ d -s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ -s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g -/: file-references-package-build-path / d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/changelog.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,33 +0,0 @@ -relations ([% $version %]) [% $distribution %]; urgency=low - - * I'm orphaning this package -- I'm sick of it: it's completely broken, - lintian complains all over the place. - - -- Jeroen van Wolffelaar Sun, 02 Dec 2007 15:59:59 -0800 - -relations (4) unstable; urgency=low - - * Added a package that tests dependencies for multiple versions of - libraries, and test some description stuff in there as well. - - -- Josip Rodin Fri, 29 Nov 2002 20:13:33 +0100 - -relations (3) unstable; urgency=low - - * Added a virtual provides to test against my virtual depends without - a real package first test - - -- Sean 'Shaleh' Perry Thu, 8 Feb 2001 11:29:53 -0800 - -relations (2) unstable; urgency=low - - * Added a depends on dpkg (violates policy) and a versioned depends - on bash (follows policy) - - -- Sean 'Shaleh' Perry Fri, 2 Feb 2001 12:37:17 -0800 - -relations (1) unstable; urgency=low - - * Initial version - - -- Richard Braakman Tue, 7 Jul 1998 16:27:56 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,51 +0,0 @@ -Source: relations -Section: misc -Priority: optional -Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl -Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, - car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], - caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] -Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] -Build-Conflicts-Indep: debmake [!powerpc] -Maintainer: Debian QA Group -Standards-Version: 3.7.3 -Homepage: lintian.debian.org -Origin: Debian -Bugs: debbugs://bugs.debian.org/ - -Package: relations -Architecture: all -Section: contrib/misc -Pre-Depends: awk|gawk -Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev -Provides: mail-reader -Replaces: relations -Conflicts: foobar (<< 5+5), foo, relations, - gnuwdf, -Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package -Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin -Description: Strange dependency relationships (dummy) - This package declares relationships designed to tickle lintian's "fields" - check. It should generate a number of tags for these. - . - The package is built with "dpkg --build --no-check", because some of the - relationships used here are normally rejected by dpkg. - -Package: relations-multiple-libs -Architecture: all -Section: non-free/misc -Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev -Provides: awk -Enhances: foo -Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev -Breaks: libpng3 (<< 1.0), libpng2 -Suggests: x-dev, ghostscript | gs -Description: Duplicate library dependency relationships. - Duplicate library dependency relationships. - This tests the depending on different versions of the same library - at the same time. - . - At the same time, it conveniently tests some description file checks. :) - . - It is a metapackage from the lintian perspective, so the xorg dependency - should be allowed. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,49 +0,0 @@ -#!/usr/bin/make -f - -# Copyright (C) 1998 Richard Braakman -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, you can find it on the World Wide -# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, -# MA 02110-1301, USA. - -build-arch: - -build-indep: - -build: build-arch build-indep - -binary-arch: - -binary-indep: - install -d debian/tmp/DEBIAN - dpkg-gencontrol -prelations -isp - dpkg --build debian/tmp ../relations_5_all.deb - install -d debian/tmp/usr/share/doc/ - ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs - dpkg-gencontrol -prelations-multiple-libs -isp - dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb - -binary: binary-arch binary-indep - -clean:: - rm -rf debian/tmp debian/files - -# Test allowing quilt Build-Depends for manual quilt invocations. - TESTING=foo ANOTHER=bar quilt || true - -# Test requiring perl Build-Depends for manual perl invocations. - [ ! -f Build ] || $(PERL) Build distclean - -.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/tmp/DEBIAN/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/tmp/DEBIAN/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/tmp/DEBIAN/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/debian/tmp/DEBIAN/control 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -Package: relations-multiple-libs -Version: 4 -Section: misc -Priority: optional -Architecture: all -Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 -Installed-Size: 12 -Maintainer: Lintian Maintainer -Source: relations -Description: Duplicate library dependency relationships. - Duplicate library dependency relationships. This tests the depending on - different versions of the same library at the same time. - . - At the same time, it conveniently tests some description file checks. :) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Skeleton: upload-native -Testname: legacy-relations -Source: relations -Version: 5 -Description: Legacy test "relations" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: legacy-relations -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -relations (source): stronger-dependency-implies-weaker relations-multiple-libs Depends -> Recommends ${shlibs:Depends} -relations (source): stronger-dependency-implies-weaker relations Recommends -> Suggests some-other-package -relations (source): stronger-dependency-implies-weaker relations Pre-Depends -> Depends gawk | awk -relations (source): stronger-dependency-implies-weaker relations Depends -> Recommends null -relations (source): stronger-dependency-implies-weaker relations Depends -> Recommends dpkg -relations (source): silent-on-rules-requiring-root -relations (source): section-area-mismatch Package relations-multiple-libs -relations (source): section-area-mismatch -relations (source): package-depends-on-itself relations-multiple-libs Recommends -relations (source): package-depends-on-itself relations Depends diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/legacy-relations/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/legacy-relations/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-symlink +Description: Test if debian/control is a symlink diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/pre-build lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/pre-build --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/pre-build 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/build-spec/pre-build 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#!/bin/sh + +ROOT_DIR="$1" + +mv "${ROOT_DIR}/debian/control" "${ROOT_DIR}/debian/control.real" +ln -s control.real "${ROOT_DIR}/debian/control" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-symlink +Check: debian/control/link diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/link/control-file-symlink/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/link/control-file-symlink/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-symlink (source): debian-control-file-is-a-symlink diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/prerequisite/circular +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): circular-installation-prerequisite (in section for control-file-general) Depends control-file-general, foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} [debian/control:24] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Suggests: [% $source %] +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-suggests-itself +Description: Test a package Suggesting itself diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-suggests-itself +Check: debian/control/prerequisite/circular diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/control-file-suggests-itself/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-suggests-itself (source): circular-installation-prerequisite (in section for control-file-suggests-itself) Suggests control-file-suggests-itself [debian/control:12] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,81 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], libtest-simple-perl (>= 0.98), perl-modules +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, xorg, bash, + conflict-dep, gawk | awk, new-package | xbase-clients (>= 0.1), [% $source %], + gaim (>= 0.1), emacs21, emacs22, emacs23, makedev, libtest-simple-perl (>= 0.98), + packaging-dev, xfont-a, emacs22-gtk, emacs23-el, emacs23-nox, emacs23-lucid, + emacs222, perl-modules, debhelper +Breaks: package-without-version, [% $source %] (<< 0.1), + replaced-wo-version +Replaces: replaced-wo-version +Conflicts: package-with-version (<< 3.0), conflict-dep +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: lib[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, libdb1-compat, perl-modules-5.22 +Recommends: debconf-doc, cdbs +Conflicts: debhelper +Section: libs +Description: [% $description %] -- fake library + This is a fake library designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: py-[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, python-minimal +Description: [% $description %] - Fake Python package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The fake Python package. + +Package: [% $source %]-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, [% $source %] +Description: [% $description %] - Fake Doc package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The fake doc package. + +Package: dh-[% $source %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper +Description: [% $description %] - Fake Debhelper package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The fake Debhelper package to test false-positives in + binary-package-depends-on-toolchain-package. + +Package: [% $source %]-source +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, debhelper +Description: [% $description %] - Fake DKMS-like package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The fake DKMS-like package to test false-positives in + binary-package-depends-on-toolchain-package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/debian/install 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +some-file usr/share/lintian diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-depends-general +Description: General tests for binary package dependencies diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/build-spec/orig/some-file 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +This file is installed into /usr/share/lintian just to ensure that this +package doesn't look like a metapackage for the dependency checks. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-depends-general +Check: debian/control/prerequisite/circular diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/fields-depends-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-depends-general (source): circular-installation-prerequisite (in section for fields-depends-general) Depends ${shlibs:Depends}, ${misc:Depends}, xorg, bash, conflict-dep, gawk | awk, new-package | xbase-clients (>= 0.1), fields-depends-general, gaim (>= 0.1), emacs21, emacs22, emacs23, makedev, libtest-simple-perl (>= 0.98), packaging-dev, xfont-a, emacs22-gtk, emacs23-el, emacs23-nox, emacs23-lucid, emacs222, perl-modules, debhelper [debian/control:11] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman Tue, 7 Jul 1998 16:27:56 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,49 @@ +#!/usr/bin/make -f + +# Copyright (C) 1998 Richard Braakman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/debian/tmp/DEBIAN/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: debian/control/prerequisite/circular diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +relations (source): circular-installation-prerequisite (in section for relations-multiple-libs) Recommends ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev [debian/control:40] +relations (source): circular-installation-prerequisite (in section for relations) Depends relations (<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, null (>= 0), ${misc:Depends}, makedev [debian/control:20] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/circular/legacy-relations/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,115 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: libcontrol-file-foo1 +Section: libs +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 1) + First shared library. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file-bar7ldbl +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 2) + Second shared library. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, + libcontrol-file-foo1 (= ${binary:Version}), + libcontrol-file-bar7ldbl, libcontrol-file-baz9-4 (>= ${binary:Version}), + libfoo4, libcontrol-file-doc, libcontrol-file4-dev +Description: [% $description %] (dev package) + Dev package. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file-baz9-4 +Section: libs +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (shared lib 3) + Third shared library. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file-doc +Section: doc +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (doc package) + Doc package. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file4-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, + libcontrol-file-foo1 (<= ${source:Upstream-Version}-99) + | libcontrol-file-baz9-4 (<= ${source:Upstream-Version}-99), + libcontrol-file-foo1 (>= ${binary:Version}) + | libcontrol-file-baz9-4 (>= ${binary:Version}) +Description: [% $description %] (dev package with version) + Dev package containing a number. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-file-all-dev +Section: libdevel +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, libcontrol-file-doc, + libcontrol-file-foo1 (>= ${source:Upstream-Version}), + libcontrol-file-foo1 (<= ${source:Version}.1~), + libcontrol-file-baz9-4 (>= ${source:Version}) +Description: [% $description %] (arch: all dev package) + Architecture-independent development package. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: libcontrol-baz-dev +Section: libdevel +Architecture: [% $package_architecture %] +Depends: + libcontrol-file-baz9-4 (= ${binary:Version}), + ${misc:Depends}, + ${shlibs:Depends} +Description: [% $description %] (dev whitespace) + Test proper parsing of leading whitespace in Depends + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-library-dev +Description: Check control file handling of library dev packages diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-library-dev +Check: debian/control/prerequisite/development diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/control-file-library-dev/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-dev) Depends libcontrol-file-baz9-4 (>= ${binary:Version}) [debian/control:35] +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-dev) Depends libcontrol-file-bar7ldbl [debian/control:35] +control-file-library-dev (source): weak-library-dev-dependency (in section for libcontrol-file-all-dev) Depends libcontrol-file-baz9-4 (>= ${source:Version}) [debian/control:90] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +libbaz ([% $version %]) [% $distribution %]; urgency=low + + * Initial setup + + -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/compat.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,58 @@ +Source: libbaz +Section: libs +Priority: optional +Maintainer: Lintian Maintainer +Build-depends: debhelper (>=4) +Standards-Version: 3.2.1 + +Package: libbaz1 +Architecture: any +Provides: libbaz +Description: test handling of library packages + Regression test for lintian's handling of libraries. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz1-dev +Architecture: any +Depends: libbaz1 (= ${source:Version}), perlapi-5.8.8 +Description: development package + Regression test for lintian's handling of libraries (dev). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2 +Architecture: any +Depends: ${shlibs:Depends}, libssl0.9.8 +Description: test handling of library packages (good) + Regression test for lintian's handling of libraries (good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dev +Architecture: any +Depends: ${shlibs:Depends}, libbaz2 (= ${source:Version}) +Description: development package (good) + Regression test for lintian's handling of libraries (dev good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dbg +Architecture: any +Depends: libbaz2 (= ${binary:Version}) +Priority: optional +Description: debugging package + Regression test for lintian's handling of libraries (debug). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +This package is released under public domain. This is distributed in the hope +that it will be useful, but without any warranty; without even the implied +warranty of merchantability or fitness for a particular purpose. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +However, this has an OpenSSL exception. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/dev.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ "$1" = "configure" ]; then + if [ -d /usr/doc -a ! -e /usr/doc/$PKG -a -d /usr/share/doc/$PKG ] +; then + ln -sf ../share/doc/$PKG /usr/doc/$PKG + fi +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$PKG ]; then + rm -f /usr/doc/$PKG +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.shlibs 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +libdoesntexist2 1.0 libbaz1 +libdoesntexist2 1.0 libbaz1 +libbaz2 1.1 libbaz +libbaz3 1 libbaz1 (>> 1-1) +libbaz4 1 libbaz1 (= 1-1) +libbaz5 1 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/lib.symbols 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +libbaz.so.2 libbaz1 #MINVER# + pw 1-1 + foo 1.1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,121 @@ +#!/usr/bin/make -f + +lib_tmp=debian/tmp-lib +dev_tmp=debian/tmp-dev + +LIB=libbaz1 +DEV=libbaz1-dev + +VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') + +build-arch: + $(MAKE) + +build-indep: + +build: build-arch build-indep + +clean: + $(MAKE) clean + dh_clean -plibbaz2 -plibbaz2-dev + rm -f debian/files debian/substvars + rm -rf $(lib_tmp) $(dev_tmp) + +# Now the correct libbaz2-dev package +binary-correct: + install -d debian/libbaz2-dev/usr/lib + cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib + # usually, I'd also include some .h files to /usr/include + + # Now the correct libbaz2 package + install -d debian/libbaz2/usr/lib + cp -a libbaz2.so.* debian/libbaz2/usr/lib + chmod a-x debian/libbaz2/usr/lib/* + + # General stuff that is tested in other testsets: + dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # Mess up the libbaz2 changelog files to test the symlink handling. + ln -s /usr/share/doc/lintian/changelog.gz \ + debian/libbaz2/usr/share/doc/libbaz2/changelog.gz + install -m 644 debian/changelog \ + debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo + ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog + + # Okay, if either line is omitted, it should be noted + dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev + dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # and again, regular packaging stuff + dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs + dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + +# and the incorrect one +binary-arch: build-arch binary-correct + # first, the lib package + install -d $(lib_tmp)/usr/lib + # resp. no soname (check), wrong soname (check), and no-pic (check) + cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib + cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b + install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b + # let's include the .a in the non-dev too (TODO) + # Also, libbaz1.a hasn't a symbol table (TODO) + cp -a *.a $(lib_tmp)/usr/lib + # And a wrong .so symlink (wrong, only in -dev, TODO) + ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so + # And a wrong .so.X symlink (wrong, should point to a real existing + # shlib, TODO) + ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9 + # And a plain .so (wrong, TODO) + touch $(lib_tmp)/usr/lib/libbar2.so + # And a non-versioned SONAME. + install -m644 libbaz.so $(lib_tmp)/usr/lib/libbaz.so + strip --remove-section=.comment --strip-unneeded $(lib_tmp)/usr/lib/libbaz.so + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(lib_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + + install -d $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB) + gzip -n -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog + install -d $(lib_tmp)/DEBIAN + install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst + install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm + touch $(lib_tmp)/usr/share/doc/README.Debian + #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0 + install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs + install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols + dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp) + dpkg --build $(lib_tmp) .. + + # now the -dev package + install -d $(dev_tmp)/usr/include + install -d $(lib_tmp)/usr/lib + # let's also install the .so at the same time... (wrong, TODO) + cp -a *.a *.so.* $(lib_tmp)/usr/lib + # and fuck up permission (TODO) + chmod a+x $(lib_tmp)/usr/lib/*.a + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(dev_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + install -d $(dev_tmp)/usr/share/doc + ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) + install -d $(dev_tmp)/DEBIAN + install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst + install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm + dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp) + dpkg --build $(dev_tmp) .. + + +binary: binary-arch + +# The mention of binary-indep here should be sufficient to suppress the +# warning that it's not present. +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/debian/source.lintian-overrides 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +libbaz source: maintainer-script-lacks-debhelper-token diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Skeleton: upload-non-native +Testname: legacy-libbaz +Source: libbaz +Version: 1-1 +Default-Build-Depends: debhelper (>= 9.20151004~) +Description: Legacy test "libbaz" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/baz.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#include + +double pw(double p) +{ + return exp(p); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,55 @@ +# This is the correct way to build a lib + +CC=gcc +CFLAGS=-g -Wall -Winline -O2 +LDFLAGS=-Wl,--no-as-needed + +OBJS=baz.o extra.o +SHOBJS=baz.sho extra.sho +NOPICOBJS = $(SHOBJS) + +all: libbaz1.a libbaz2.a libbaz1.so.1.0.3b libbaz2.so libbaz3.so.1.0.3b \ + libbaz.so + +libbaz2.so: libbaz2.so.1.0 + ln -sf $^ $@ +libbaz2.so.1.0: libbaz2.so.1.0.3b + ln -sf $^ $@ + +# Oops, forget the soname altogether +libbaz1.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared $^ -lc + +libbaz2.so.1.0.3b: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz2.so.1.0 $^ -lc + +# Non-PIC. We can't test this on all architectures +libbaz3.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz3.so.1 $^ -lc + +# Non-versioned SONAME. +libbaz.so: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz.so $^ -lc + +#%.o-noreentrant: %.c +# $(CC) $(LDFLAGS) $(CFLAGS) -o $@ -c $< + +%.sho: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< + +%.o: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -o $@ -c $< + +libbaz2.a: $(OBJS) + ar cq $@ $(OBJS) + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ + ranlib $@ + +# The pic one in the .a (wrong), no archive table +libbaz1.a: $(SHOBJS) + ar cqS $@ $^ + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ +clean: + rm -f *.a *.o *.so* *.sho diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-libbaz +Check: debian/control/prerequisite/development diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +libbaz (source): weak-library-dev-dependency (in section for libbaz2-dev) Depends libbaz2 (= ${source:Version}) [debian/control:40] +libbaz (source): weak-library-dev-dependency (in section for libbaz1-dev) Depends libbaz1 (= ${source:Version}) [debian/control:20] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/development/legacy-libbaz/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ +s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g +/: file-references-package-build-path / d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debian/control/prerequisite/redundant +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Recommends match${lintian:Match} [debian/control:25] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Recommends bar | baz [debian/control:25] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Suggests -> Depends bar | baz [debian/control:24] +control-file-general (source): redundant-installation-prerequisite (in section for control-file-general) Recommends -> Depends foo [debian/control:24] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,33 @@ +relations ([% $version %]) [% $distribution %]; urgency=low + + * I'm orphaning this package -- I'm sick of it: it's completely broken, + lintian complains all over the place. + + -- Jeroen van Wolffelaar Sun, 02 Dec 2007 15:59:59 -0800 + +relations (4) unstable; urgency=low + + * Added a package that tests dependencies for multiple versions of + libraries, and test some description stuff in there as well. + + -- Josip Rodin Fri, 29 Nov 2002 20:13:33 +0100 + +relations (3) unstable; urgency=low + + * Added a virtual provides to test against my virtual depends without + a real package first test + + -- Sean 'Shaleh' Perry Thu, 8 Feb 2001 11:29:53 -0800 + +relations (2) unstable; urgency=low + + * Added a depends on dpkg (violates policy) and a versioned depends + on bash (follows policy) + + -- Sean 'Shaleh' Perry Fri, 2 Feb 2001 12:37:17 -0800 + +relations (1) unstable; urgency=low + + * Initial version + + -- Richard Braakman Tue, 7 Jul 1998 16:27:56 +0200 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,51 @@ +Source: relations +Section: misc +Priority: optional +Build-Depends: mail-transport-agent, libc6-dev, findutils, foo (= 3) [!amd64 !i386], bar, arch-test1 [i386], arch-test2 [!i386], quilt (>= 0.40), perl +Build-Depends-Indep: make, bash, debmake, build-essential, baz (= 2.0), ghostscript | gs, + car (>= 1.0), car (<= 2.0), caz (= 1.0) [amd64], caz (>= 2.0) [i386], + caz (= 2.0) [powerpc], perl (>= 5.0), foo (<< 4) [!amd64 !i386], libfoo (>= 1.2-1), bozzle [kfreebsd-i386] +Build-Conflicts: foo [amd64 i386], bar [alpha test], xlibs-dev, arch-test1 [powerpc], arch-test2 [!sparc] +Build-Conflicts-Indep: debmake [!powerpc] +Maintainer: Debian QA Group +Standards-Version: 3.7.3 +Homepage: lintian.debian.org +Origin: Debian +Bugs: debbugs://bugs.debian.org/ + +Package: relations +Architecture: all +Section: contrib/misc +Pre-Depends: awk|gawk +Depends: relations(<< 3), dpkg, bash (>> 2.0 ), mail-transport-agent, gawk | awk, foo (>> 2.0), foo (<< 2.2), coreutils, ,null (>= 0), ${misc:Depends}, makedev +Provides: mail-reader +Replaces: relations +Conflicts: foobar (<< 5+5), foo, relations, + gnuwdf, +Suggests: alpha, gnu (>= 44-3-4-8-11.4) | ung (<< 89beta) | nug | ngu, beta, some-other-package +Recommends: emacs21 | emacsen, dpkg, null, some-other-package, ${f-oo:b-ar}, gs | ghostscript | gs-aladdin +Description: Strange dependency relationships (dummy) + This package declares relationships designed to tickle lintian's "fields" + check. It should generate a number of tags for these. + . + The package is built with "dpkg --build --no-check", because some of the + relationships used here are normally rejected by dpkg. + +Package: relations-multiple-libs +Architecture: all +Section: non-free/misc +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3, xorg, ${shlibs:Depends}, makedev | udev +Provides: awk +Enhances: foo +Recommends: ${shlibs:Depends}, relations-multiple-libs, gs | gs-gpl, makedev +Breaks: libpng3 (<< 1.0), libpng2 +Suggests: x-dev, ghostscript | gs +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. + This tests the depending on different versions of the same library + at the same time. + . + At the same time, it conveniently tests some description file checks. :) + . + It is a metapackage from the lintian perspective, so the xorg dependency + should be allowed. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,49 @@ +#!/usr/bin/make -f + +# Copyright (C) 1998 Richard Braakman +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, you can find it on the World Wide +# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free +# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, +# MA 02110-1301, USA. + +build-arch: + +build-indep: + +build: build-arch build-indep + +binary-arch: + +binary-indep: + install -d debian/tmp/DEBIAN + dpkg-gencontrol -prelations -isp + dpkg --build debian/tmp ../relations_5_all.deb + install -d debian/tmp/usr/share/doc/ + ln -s relations debian/tmp/usr/share/doc/relations-multiple-libs + dpkg-gencontrol -prelations-multiple-libs -isp + dpkg --build debian/tmp ../relations-multiple-libs_5_all.deb + +binary: binary-arch binary-indep + +clean:: + rm -rf debian/tmp debian/files + +# Test allowing quilt Build-Depends for manual quilt invocations. + TESTING=foo ANOTHER=bar quilt || true + +# Test requiring perl Build-Depends for manual perl invocations. + [ ! -f Build ] || $(PERL) Build distclean + +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/debian/tmp/DEBIAN/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,14 @@ +Package: relations-multiple-libs +Version: 4 +Section: misc +Priority: optional +Architecture: all +Depends: libstdc++2.10, libstdc++2.10-glibc2.2, libstdc++3.0, tk8.2, tk8.3, tcl8.0, tcl8.2, tkx8.2, tkx8.3, tclx8.2, libpng2, libpng3 +Installed-Size: 12 +Maintainer: Lintian Maintainer +Source: relations +Description: Duplicate library dependency relationships. + Duplicate library dependency relationships. This tests the depending on + different versions of the same library at the same time. + . + At the same time, it conveniently tests some description file checks. :) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +Skeleton: upload-native +Testname: legacy-relations +Source: relations +Version: 5 +Description: Legacy test "relations" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-relations +Check: debian/control/prerequisite/redundant diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +relations (source): redundant-installation-prerequisite (in section for relations-multiple-libs) Recommends -> Depends ${shlibs:Depends} [debian/control:37] +relations (source): redundant-installation-prerequisite (in section for relations) Suggests -> Recommends some-other-package [debian/control:26] +relations (source): redundant-installation-prerequisite (in section for relations) Recommends -> Depends null [debian/control:20] +relations (source): redundant-installation-prerequisite (in section for relations) Recommends -> Depends dpkg [debian/control:20] +relations (source): redundant-installation-prerequisite (in section for relations) Depends -> Pre-Depends gawk | awk [debian/control:19] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/prerequisite/redundant/legacy-relations/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: [% $priority %] -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Homepage: [% $homepage %] - -Package: [% $source %] -Architecture: [% $package_architecture %] -Pre-Depends: ${misc:Pre-Depends} -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Testname: rules-requires-root-missing -Skeleton: upload-native -Description: d/control without explicit rules-requires-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: rules-requires-root-missing -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/rules-requires-root-missing/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/rules-requires-root-missing/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -rules-requires-root-missing (source): silent-on-rules-requiring-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,5 +0,0 @@ -Testname: source-only-upload-to-non-free-without-autobuild -Skeleton: upload-native -Section: non-free/devel -Upload-Type: source -Description: This source-only upload to non-free will never appear in the archive diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: source-only-upload-to-non-free-without-autobuild -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/source-only-upload-to-non-free-without-autobuild/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -source-only-upload-to-non-free-without-autobuild (source): source-only-upload-to-non-free-without-autobuild -source-only-upload-to-non-free-without-autobuild (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,17 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no -XS-Testsuite: autopkgtest, golf - -Package: [% $source %] -Architecture: [% $package_architecture %] -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/control lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/control 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/control 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -Tests: test-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/test-1 lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/test-1 --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/test-1 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/debian/tests/test-1 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -#!/bin/sh -exit 0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,3 +0,0 @@ -Skeleton: upload-native -Testname: testsuite-unknown-suite -Description: Tests for unknown suite in the control being non-file diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: testsuite-unknown-suite -Check: debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/control/testsuite-unknown-suite/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -testsuite-unknown-suite (source): xs-testsuite-field-in-debian-control XS-Testsuite -testsuite-unknown-suite (source): rules-does-not-require-root diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/appstream-metadata/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/appstream-metadata/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/appstream-metadata/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/appstream-metadata/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -appstream-metadata (source): inconsistent-appstream-metadata-license debian/copyright debian/appstream-metadata.metadata.xml (mit != gpl-2+) +appstream-metadata (source): inconsistent-appstream-metadata-license debian/appstream-metadata.metadata.xml (mit != gpl-2+) [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/debian/upstream/signing-key.asc lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/debian/upstream/signing-key.asc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/debian/upstream/signing-key.asc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/debian/upstream/signing-key.asc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +Too lazy to fake this file diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Testname: control-file-upstream-signature-missing +Skeleton: upload-non-native +Source-Format: 3.0 (quilt) +Description: No upstream signature included but package contains a signing key +Extra-Build-Depends: dpkg (>= 1.18.5) +# dpkg 1.18.5 required in order to create multiple tarballs with detached signatures diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/pre-build lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/pre-build --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/pre-build 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/build-spec/pre-build 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,18 @@ +#!/bin/sh + +set -e + +DIR="$1" +NAME="control-file-upstream-signature-missing" +VERSION="1.0" + +# Check all components +cp ${DIR}/../${NAME}_${VERSION}.orig.tar.gz ${DIR}/../${NAME}_${VERSION}.orig-component.tar.gz + +# Don't emit if we have a signature +cp ${DIR}/../${NAME}_${VERSION}.orig.tar.gz ${DIR}/../${NAME}_${VERSION}.orig-signed.tar.gz +touch ${DIR}/../${NAME}_${VERSION}.orig-signed.tar.gz.asc + +# Don't emit if we have .tar.asc (NB. not a .tar.gz.asc) +cp ${DIR}/../${NAME}_${VERSION}.orig.tar.gz ${DIR}/../${NAME}_${VERSION}.orig-noext.tar.gz +touch ${DIR}/../${NAME}_${VERSION}.orig-noext.tar.gz.asc diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Testname: control-file-upstream-signature-missing +Check: debian/copyright/dep5/components +# dpkg 1.18.5 required in order to create multiple tarballs with detached signatures diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/components/control-file-upstream-signature-missing/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +control-file-upstream-signature-missing (source): add-component-copyright signed [debian/copyright] +control-file-upstream-signature-missing (source): add-component-copyright noext [debian/copyright] +control-file-upstream-signature-missing (source): add-component-copyright component [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/copyright-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/copyright-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/copyright-file-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/copyright-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,16 +1,16 @@ -copyright-file-general (source): wiki-copyright-format-uri debian/copyright-crln.copyright http://wiki.debian.org/Proposals/CopyrightFormat?recall=184 -copyright-file-general (source): unknown-copyright-format-uri debian/copyright-no-errors.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-w3c.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-versionless.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-poor-common-licenses.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-php.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-old-fsf.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-missing-perl-license-pointer.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-misc-errors.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-lgpl.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-gpl.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-gpl-2.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-gpl-1.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-gfdl.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-apache-2.copyright -copyright-file-general (source): no-dep5-copyright debian/copyright-full-agpl-3.copyright +copyright-file-general (source): wiki-copyright-format-uri http://wiki.debian.org/Proposals/CopyrightFormat?recall=184 [debian/copyright-crln.copyright] +copyright-file-general (source): unknown-copyright-format-uri [debian/copyright-no-errors.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-w3c.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-versionless.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-poor-common-licenses.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-php.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-old-fsf.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-missing-perl-license-pointer.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-misc-errors.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-lgpl.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-gpl.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-gpl-2.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-gpl-1.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-gfdl.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-apache-2.copyright] +copyright-file-general (source): no-dep5-copyright [debian/copyright-full-agpl-3.copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/copyright-file-license-symlink/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/copyright-file-license-symlink/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/copyright-file-license-symlink/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/copyright-file-license-symlink/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -copyright-file-license-symlink (source): no-dep5-copyright debian/copyright-file-license-symlink-pedantic.copyright -copyright-file-license-symlink (source): no-dep5-copyright debian/copyright-file-license-symlink-bad.copyright +copyright-file-license-symlink (source): no-dep5-copyright [debian/copyright-file-license-symlink-pedantic.copyright] +copyright-file-license-symlink (source): no-dep5-copyright [debian/copyright-file-license-symlink-bad.copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/excluded-files-in-native/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/excluded-files-in-native/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/excluded-files-in-native/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/excluded-files-in-native/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -excluded-files-in-native (source): source-ships-excluded-file debian/copyright some-file +excluded-files-in-native (source): source-ships-excluded-file some-file [debian/copyright:8] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/file-does-not-exist/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/file-does-not-exist/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/file-does-not-exist/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/file-does-not-exist/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -file-does-not-exist (source): superfluous-file-pattern debian/copyright file-does-not-exist (Files, line 8) +file-does-not-exist (source): superfluous-file-pattern file-does-not-exist [debian/copyright:8] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/files-included-covers-none/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/files-included-covers-none/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/files-included-covers-none/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/files-included-covers-none/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -lone-files-included (source): superfluous-file-pattern debian/copyright include-this (Files-Included, line 2) +lone-files-included (source): superfluous-file-pattern (Files-Included) include-this [debian/copyright:2] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-binary/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-binary/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-binary/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-binary/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -binary (source): no-dep5-copyright debian/copyright +binary (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-debconf/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-debconf/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-debconf/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-debconf/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -debconf (source): no-dep5-copyright debian/copyright +debconf (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-foo++/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-foo++/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-foo++/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-foo++/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -foo++ (source): no-dep5-copyright debian/copyright +foo++ (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/legacy-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/legacy-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -scripts (source): no-dep5-copyright debian/copyright +scripts (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1,2 @@ -license-file-listed-in-debian-copyright (source): license-file-listed-in-debian-copyright debian/copyright COPYING +license-file-listed-in-debian-copyright (source): update-debian-copyright 2019 vs CHANGELOG-YEAR [debian/copyright:14] +license-file-listed-in-debian-copyright (source): license-file-listed-in-debian-copyright COPYING [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/license-file-listed-in-debian-copyright/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/lone-files-included/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/lone-files-included/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/lone-files-included/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/lone-files-included/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -lone-files-included (source): file-included-already debian/copyright include-this +lone-files-included (source): file-included-already include-this [debian/copyright:2] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1,2 @@ -redundant-wildcard (source): redundant-globbing-patterns debian/copyright (section 0) [* debian/patches/*] for debian/patches/a.patch +redundant-wildcard (source): update-debian-copyright 2018 vs CHANGELOG-YEAR [debian/copyright:7] +redundant-wildcard (source): redundant-globbing-patterns (* debian/patches/*) for debian/patches/a.patch [debian/copyright:5] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/redundant-wildcard/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/repackaged-upstream-sources-not-advertised/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/repackaged-upstream-sources-not-advertised/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/repackaged-upstream-sources-not-advertised/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/repackaged-upstream-sources-not-advertised/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -repackaged-upstream-sources-not-advertised (source): repackaged-source-not-advertised debian/copyright +repackaged-upstream-sources-not-advertised (source): repackaged-source-not-advertised [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1,3 @@ -reused-wildcard (source): duplicate-globbing-patterns debian/copyright debian/* in lines 7 11 +reused-wildcard (source): update-debian-copyright 2018 vs CHANGELOG-YEAR [debian/copyright:8] +reused-wildcard (source): update-debian-copyright 2018 vs CHANGELOG-YEAR [debian/copyright:12] +reused-wildcard (source): duplicate-globbing-patterns debian/* (lines $lines) [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reused-wildcard/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ - +reuse-identifier-in-files (source): update-debian-copyright 2015 vs CHANGELOG-YEAR [debian/copyright:44] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/reuse-identifier-in-files/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,4 @@ -source-copyright-bad-short-name (source): space-in-std-shortname-in-dep5-copyright debian/copyright some space license (line 13) -source-copyright-bad-short-name (source): invalid-short-name-in-dep5-copyright debian/copyright gplv1 (line 8) -source-copyright-bad-short-name (source): invalid-short-name-in-dep5-copyright debian/copyright bsd (line 18) +source-copyright-bad-short-name (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:17] +source-copyright-bad-short-name (source): space-in-std-shortname-in-dep5-copyright some space license [debian/copyright:13] +source-copyright-bad-short-name (source): invalid-short-name-in-dep5-copyright gplv1 [debian/copyright:8] +source-copyright-bad-short-name (source): invalid-short-name-in-dep5-copyright bsd [debian/copyright:18] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-bad-short-name/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-boilerplate-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-boilerplate-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-boilerplate-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-boilerplate-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-boilerplate-uri (source): boilerplate-copyright-format-uri debian/copyright +source-copyright-boilerplate-uri (source): boilerplate-copyright-format-uri [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,13 +1,16 @@ -source-copyright-dep5-general (source): unused-license-paragraph-in-dep5-copyright debian/copyright expat (line 96) -source-copyright-dep5-general (source): unknown-paragraph-in-dep5-copyright debian/copyright paragraph at line 6 -source-copyright-dep5-general (source): obsolete-field-in-dep5-copyright debian/copyright Upstream-Maintainer Upstream-Contact (line 3) -source-copyright-dep5-general (source): missing-license-text-in-dep5-copyright debian/copyright GPL-3 (line 94) -source-copyright-dep5-general (source): missing-license-text-in-dep5-copyright debian/copyright BSD-3 (line 23) -source-copyright-dep5-general (source): missing-license-paragraph-in-dep5-copyright debian/copyright mit (line 19) -source-copyright-dep5-general (source): missing-license-paragraph-in-dep5-copyright debian/copyright gpl-3 (line 16) -source-copyright-dep5-general (source): missing-field-in-dep5-copyright debian/copyright License (paragraph at line 12) -source-copyright-dep5-general (source): missing-field-in-dep5-copyright debian/copyright Copyright (paragraph at line 15) -source-copyright-dep5-general (source): comma-separated-files-in-dep5-copyright debian/copyright paragraph at line debian/copyright 8 -source-copyright-dep5-general (source): bad-exception-format-in-dep5-copyright debian/copyright gpl-3 with font (line 58) -source-copyright-dep5-general (source): bad-exception-format-in-dep5-copyright debian/copyright gpl-3 with font (line 27) -source-copyright-dep5-general (source): ambiguous-paragraph-in-dep5-copyright debian/copyright paragraph at line 22 +source-copyright-dep5-general (source): update-debian-copyright 2010 vs CHANGELOG-YEAR [debian/copyright:36] +source-copyright-dep5-general (source): update-debian-copyright 2010 vs CHANGELOG-YEAR [debian/copyright:32] +source-copyright-dep5-general (source): update-debian-copyright 2010 vs CHANGELOG-YEAR [debian/copyright:28] +source-copyright-dep5-general (source): unused-license-paragraph-in-dep5-copyright expat [debian/copyright:96] +source-copyright-dep5-general (source): unknown-paragraph-in-dep5-copyright [debian/copyright:6] +source-copyright-dep5-general (source): obsolete-field-in-dep5-copyright Upstream-Maintainer Upstream-Contact [debian/copyright:3] +source-copyright-dep5-general (source): missing-license-text-in-dep5-copyright GPL-3 [debian/copyright:94] +source-copyright-dep5-general (source): missing-license-text-in-dep5-copyright BSD-3 [debian/copyright:23] +source-copyright-dep5-general (source): missing-license-paragraph-in-dep5-copyright mit [debian/copyright:19] +source-copyright-dep5-general (source): missing-license-paragraph-in-dep5-copyright gpl-3 [debian/copyright:16] +source-copyright-dep5-general (source): missing-field-in-dep5-copyright License [debian/copyright:12] +source-copyright-dep5-general (source): missing-field-in-dep5-copyright Copyright [debian/copyright:15] +source-copyright-dep5-general (source): comma-separated-files-in-dep5-copyright [debian/copyright:8] +source-copyright-dep5-general (source): bad-exception-format-in-dep5-copyright gpl-3 with font [debian/copyright:58] +source-copyright-dep5-general (source): bad-exception-format-in-dep5-copyright gpl-3 with font [debian/copyright:27] +source-copyright-dep5-general (source): ambiguous-paragraph-in-dep5-copyright [debian/copyright:22] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-general/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-syntax-error/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-syntax-error/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-syntax-error/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-dep5-syntax-error/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-dep5-syntax-error (source): syntax-error-in-dep5-copyright debian/copyright: Continuation line not in paragraph (line 13). Missing a dot on the previous line? +source-copyright-dep5-syntax-error (source): syntax-error-in-dep5-copyright Continuation line not in paragraph (line 13). Missing a dot on the previous line? [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,11 +1,12 @@ -source-copyright-empty-field (source): superfluous-file-pattern debian/copyright m4/ (Files, line 77) -source-copyright-empty-field (source): superfluous-file-pattern debian/copyright * (Files, line 7) -source-copyright-empty-field (source): missing-license-text-in-dep5-copyright debian/copyright GPL-2+ (line 97) -source-copyright-empty-field (source): missing-license-text-in-dep5-copyright debian/copyright (line 95) -source-copyright-empty-field (source): missing-field-in-dep5-copyright debian/copyright Files (empty field, line 43) -source-copyright-empty-field (source): missing-field-in-dep5-copyright debian/copyright Copyright (empty field, line 8) -source-copyright-empty-field (source): empty-short-license-in-dep5-copyright debian/copyright (line 95) -source-copyright-empty-field (source): empty-short-license-in-dep5-copyright debian/copyright (line 79) -source-copyright-empty-field (source): empty-short-license-in-dep5-copyright debian/copyright (line 61) -source-copyright-empty-field (source): empty-short-license-in-dep5-copyright debian/copyright (line 5) -source-copyright-empty-field (source): empty-short-license-in-dep5-copyright debian/copyright (line 27) +source-copyright-empty-field (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:26] +source-copyright-empty-field (source): superfluous-file-pattern m4/ [debian/copyright:77] +source-copyright-empty-field (source): superfluous-file-pattern * [debian/copyright:7] +source-copyright-empty-field (source): missing-license-text-in-dep5-copyright [debian/copyright:95] +source-copyright-empty-field (source): missing-license-text-in-dep5-copyright GPL-2+ [debian/copyright:97] +source-copyright-empty-field (source): missing-field-in-dep5-copyright (empty field) Files [debian/copyright:43] +source-copyright-empty-field (source): missing-field-in-dep5-copyright (empty field) Copyright [debian/copyright:8] +source-copyright-empty-field (source): empty-short-license-in-dep5-copyright [debian/copyright:95] +source-copyright-empty-field (source): empty-short-license-in-dep5-copyright [debian/copyright:79] +source-copyright-empty-field (source): empty-short-license-in-dep5-copyright [debian/copyright:61] +source-copyright-empty-field (source): empty-short-license-in-dep5-copyright [debian/copyright:5] +source-copyright-empty-field (source): empty-short-license-in-dep5-copyright [debian/copyright:27] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-empty-field/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-files-excluded-without-copyright-format-1.0/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-files-excluded-without-copyright-format-1.0/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-files-excluded-without-copyright-format-1.0/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-files-excluded-without-copyright-format-1.0/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -source-copyright-files-excluded-without-copyright-format-1.0 (source): no-dep5-copyright debian/copyright -source-copyright-files-excluded-without-copyright-format-1.0 (source): files-excluded-without-copyright-format-1.0 debian/copyright +source-copyright-files-excluded-without-copyright-format-1.0 (source): no-dep5-copyright [debian/copyright] +source-copyright-files-excluded-without-copyright-format-1.0 (source): files-excluded-without-copyright-format-1.0 [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-global-files-wildcard-not-first-paragraph/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-global-files-wildcard-not-first-paragraph/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-global-files-wildcard-not-first-paragraph/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-global-files-wildcard-not-first-paragraph/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -source-copyright-global-files-wildcard-not-first-paragraph (source): superfluous-file-pattern debian/copyright filea (Files, line 6) -source-copyright-global-files-wildcard-not-first-paragraph (source): global-files-wildcard-not-first-paragraph-in-dep5-copyright debian/copyright (line 10) +source-copyright-global-files-wildcard-not-first-paragraph (source): superfluous-file-pattern filea [debian/copyright:6] +source-copyright-global-files-wildcard-not-first-paragraph (source): global-files-wildcard-not-first-paragraph-in-dep5-copyright [debian/copyright:10] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,10 +1,11 @@ -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright sounds/* (Files, line 19) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/ts/zh_CN.ts (Files, line 59) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/ts/it_IT.ts (Files, line 47) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/ts/fr_FR.ts (Files, line 53) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/theme/default/os-custom-icons/* (Files, line 32) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/templates/eco_alt_template.opensesame.tar.gz (Files, line 66) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright resources/*.ttf (Files, line 12) -source-copyright-incomplete-creative-commons (source): superfluous-file-pattern debian/copyright * (Files, line 6) -source-copyright-incomplete-creative-commons (source): insecure-copyright-format-uri debian/copyright http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -source-copyright-incomplete-creative-commons (source): incomplete-creative-commons-license debian/copyright cc-by-3.0 (line 70) +source-copyright-incomplete-creative-commons (source): update-debian-copyright 2012 vs CHANGELOG-YEAR [debian/copyright:41] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern sounds/* [debian/copyright:19] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/ts/zh_CN.ts [debian/copyright:59] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/ts/it_IT.ts [debian/copyright:47] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/ts/fr_FR.ts [debian/copyright:53] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/theme/default/os-custom-icons/* [debian/copyright:32] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/templates/eco_alt_template.opensesame.tar.gz [debian/copyright:66] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern resources/*.ttf [debian/copyright:12] +source-copyright-incomplete-creative-commons (source): superfluous-file-pattern * [debian/copyright:6] +source-copyright-incomplete-creative-commons (source): insecure-copyright-format-uri http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ [debian/copyright] +source-copyright-incomplete-creative-commons (source): incomplete-creative-commons-license cc-by-3.0 [debian/copyright:70] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,4 @@ /: dep5-copyright-license-name-not-unique .*/ d /: unused-file-paragraph-in-dep5-copyright .*/ d /: wildcard-matches-nothing-in-dep5-copyright .*/ d +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,10 +1,11 @@ -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright sounds/* (Files, line 19) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/ts/zh_CN.ts (Files, line 59) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/ts/it_IT.ts (Files, line 47) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/ts/fr_FR.ts (Files, line 53) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/theme/default/os-custom-icons/* (Files, line 32) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/templates/eco_alt_template.opensesame.tar.gz (Files, line 66) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright resources/*.ttf (Files, line 12) -source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern debian/copyright * (Files, line 6) -source-copyright-incomplete-creative-commons-b (source): insecure-copyright-format-uri debian/copyright http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -source-copyright-incomplete-creative-commons-b (source): incomplete-creative-commons-license debian/copyright cc-by-3.0 (line 72) +source-copyright-incomplete-creative-commons-b (source): update-debian-copyright 2012 vs CHANGELOG-YEAR [debian/copyright:41] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern sounds/* [debian/copyright:19] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/ts/zh_CN.ts [debian/copyright:59] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/ts/it_IT.ts [debian/copyright:47] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/ts/fr_FR.ts [debian/copyright:53] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/theme/default/os-custom-icons/* [debian/copyright:32] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/templates/eco_alt_template.opensesame.tar.gz [debian/copyright:66] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern resources/*.ttf [debian/copyright:12] +source-copyright-incomplete-creative-commons-b (source): superfluous-file-pattern * [debian/copyright:6] +source-copyright-incomplete-creative-commons-b (source): insecure-copyright-format-uri http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ [debian/copyright] +source-copyright-incomplete-creative-commons-b (source): incomplete-creative-commons-license cc-by-3.0 [debian/copyright:72] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-b/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,4 @@ /: dep5-copyright-license-name-not-unique .*/ d /: unused-file-paragraph-in-dep5-copyright .*/ d /: wildcard-matches-nothing-in-dep5-copyright .*/ d +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,5 @@ -source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern debian/copyright flycheck.svg (Files, line 18) -source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern debian/copyright doc/*.py (Files, line 14) -source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern debian/copyright doc/* (Files, line 10) -source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern debian/copyright * (Files, line 5) +source-copyright-incomplete-creative-commons-unrel (source): update-debian-copyright 2017 vs CHANGELOG-YEAR [debian/copyright:23] +source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern flycheck.svg [debian/copyright:18] +source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern doc/*.py [debian/copyright:14] +source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern doc/* [debian/copyright:10] +source-copyright-incomplete-creative-commons-unrel (source): superfluous-file-pattern * [debian/copyright:5] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-incomplete-creative-commons-unrel/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,3 @@ /: unused-file-paragraph-in-dep5-copyright .*/ d /: wildcard-matches-nothing-in-dep5-copyright .*/ d +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-inconsistent-appstream-metadata-license/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-inconsistent-appstream-metadata-license/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-inconsistent-appstream-metadata-license/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-inconsistent-appstream-metadata-license/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-inconsistent-appstream-metadata-license (source): inconsistent-appstream-metadata-license debian/copyright bad.xml (does-not-match-anything != cc0-1.0) +source-copyright-inconsistent-appstream-metadata-license (source): inconsistent-appstream-metadata-license bad.xml (does-not-match-anything != cc0-1.0) [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-insecure-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-insecure-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-insecure-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-insecure-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-insecure-uri (source): insecure-copyright-format-uri debian/copyright http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +source-copyright-insecure-uri (source): insecure-copyright-format-uri http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-non-free-explanation/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-non-free-explanation/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-non-free-explanation/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-non-free-explanation/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-missing-non-free-explanation (source): missing-explanation-for-contrib-or-non-free-package debian/copyright +source-copyright-missing-non-free-explanation (source): missing-explanation-for-contrib-or-non-free-package [debian/copyright:1] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-repack-explanation/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-repack-explanation/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-repack-explanation/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-missing-repack-explanation/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-missing-repack-explanation (source): missing-explanation-for-repacked-upstream-tarball debian/copyright +source-copyright-missing-repack-explanation (source): missing-explanation-for-repacked-upstream-tarball [debian/copyright:1] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-nodep5/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-nodep5/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-nodep5/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-nodep5/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-nodep5 (source): no-dep5-copyright debian/copyright +source-copyright-nodep5 (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-ood-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-ood-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-ood-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-ood-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-ood-uri (source): out-of-date-copyright-format-uri debian/copyright http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 +source-copyright-ood-uri (source): out-of-date-copyright-format-uri http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=135 [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,5 @@ -source-copyright-pipe-as-or (source): space-in-std-shortname-in-dep5-copyright debian/copyright this | that (line 8) -source-copyright-pipe-as-or (source): space-in-std-shortname-in-dep5-copyright debian/copyright this | that (line 15) -source-copyright-pipe-as-or (source): pipe-symbol-used-as-license-disjunction debian/copyright this | that (line 8) -source-copyright-pipe-as-or (source): pipe-symbol-used-as-license-disjunction debian/copyright this | that (line 15) +source-copyright-pipe-as-or (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:11] +source-copyright-pipe-as-or (source): space-in-std-shortname-in-dep5-copyright this | that [debian/copyright:8] +source-copyright-pipe-as-or (source): space-in-std-shortname-in-dep5-copyright this | that [debian/copyright:15] +source-copyright-pipe-as-or (source): pipe-symbol-used-as-license-disjunction this | that [debian/copyright:8] +source-copyright-pipe-as-or (source): pipe-symbol-used-as-license-disjunction this | that [debian/copyright:15] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-pipe-as-or/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-source-files-excluded/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-source-files-excluded/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-source-files-excluded/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-source-files-excluded/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ -source-copyright-source-files-excluded (source): source-ships-excluded-file debian/copyright exclude-this -source-copyright-source-files-excluded (source): source-ships-excluded-file debian/copyright exclude-dir/filename-2 -source-copyright-source-files-excluded (source): source-ships-excluded-file debian/copyright exclude-dir/filename -source-copyright-source-files-excluded (source): source-ships-excluded-file debian/copyright exclude-dir-2/filename -source-copyright-source-files-excluded (source): source-ships-excluded-file debian/copyright .matches +source-copyright-source-files-excluded (source): source-ships-excluded-file exclude-this [debian/copyright:2] +source-copyright-source-files-excluded (source): source-ships-excluded-file exclude-dir/filename-2 [debian/copyright:2] +source-copyright-source-files-excluded (source): source-ships-excluded-file exclude-dir/filename [debian/copyright:2] +source-copyright-source-files-excluded (source): source-ships-excluded-file exclude-dir-2/filename [debian/copyright:2] +source-copyright-source-files-excluded (source): source-ships-excluded-file .matches [debian/copyright:2] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,18 +1,26 @@ -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/g (Files, line 51) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/f (Files, line 45) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/e (Files, line 39) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/d (Files, line 33) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/c (Files, line 27) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/b (Files, line 22) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright debian/a (Files, line 17) -source-copyright-undefined (source): superfluous-file-pattern debian/copyright * (Files, line 6) -source-copyright-undefined (source): space-in-std-shortname-in-dep5-copyright debian/copyright undefined license (line 42) -source-copyright-undefined (source): space-in-std-shortname-in-dep5-copyright debian/copyright common public license - v 1.0 (line 54) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright unknown (line 14) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright unknow (line 19) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright undefined license (line 42) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright undefined (line 48) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright todo (line 24) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright fixme (line 8) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright - (line 36) -source-copyright-undefined (source): license-problem-undefined-license debian/copyright - (line 30) +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:53] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:47] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:41] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:35] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:29] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:23] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:18] +source-copyright-undefined (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:13] +source-copyright-undefined (source): superfluous-file-pattern debian/g [debian/copyright:51] +source-copyright-undefined (source): superfluous-file-pattern debian/f [debian/copyright:45] +source-copyright-undefined (source): superfluous-file-pattern debian/e [debian/copyright:39] +source-copyright-undefined (source): superfluous-file-pattern debian/d [debian/copyright:33] +source-copyright-undefined (source): superfluous-file-pattern debian/c [debian/copyright:27] +source-copyright-undefined (source): superfluous-file-pattern debian/b [debian/copyright:22] +source-copyright-undefined (source): superfluous-file-pattern debian/a [debian/copyright:17] +source-copyright-undefined (source): superfluous-file-pattern * [debian/copyright:6] +source-copyright-undefined (source): space-in-std-shortname-in-dep5-copyright undefined license [debian/copyright:42] +source-copyright-undefined (source): space-in-std-shortname-in-dep5-copyright common public license - v 1.0 [debian/copyright:54] +source-copyright-undefined (source): license-problem-undefined-license unknown [debian/copyright:14] +source-copyright-undefined (source): license-problem-undefined-license unknow [debian/copyright:19] +source-copyright-undefined (source): license-problem-undefined-license undefined license [debian/copyright:42] +source-copyright-undefined (source): license-problem-undefined-license undefined [debian/copyright:48] +source-copyright-undefined (source): license-problem-undefined-license todo [debian/copyright:24] +source-copyright-undefined (source): license-problem-undefined-license fixme [debian/copyright:8] +source-copyright-undefined (source): license-problem-undefined-license - [debian/copyright:36] +source-copyright-undefined (source): license-problem-undefined-license - [debian/copyright:30] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-undefined/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,6 @@ -source-copyright-unique (source): unused-license-paragraph-in-dep5-copyright debian/copyright other-license (line 35) -source-copyright-unique (source): unused-license-paragraph-in-dep5-copyright debian/copyright other-license (line 32) -source-copyright-unique (source): dep5-file-paragraph-references-header-paragraph debian/copyright some-license (line 8) -source-copyright-unique (source): dep5-copyright-license-name-not-unique debian/copyright other-license (line 35) -source-copyright-unique (source): dep5-copyright-license-name-not-unique debian/copyright other-license (line 32) +source-copyright-unique (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:23] +source-copyright-unique (source): unused-license-paragraph-in-dep5-copyright other-license [debian/copyright:35] +source-copyright-unique (source): unused-license-paragraph-in-dep5-copyright other-license [debian/copyright:32] +source-copyright-unique (source): dep5-file-paragraph-references-header-paragraph some-license [debian/copyright:8] +source-copyright-unique (source): dep5-copyright-license-name-not-unique other-license [debian/copyright:35] +source-copyright-unique (source): dep5-copyright-license-name-not-unique other-license [debian/copyright:32] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unique/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unknown-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unknown-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unknown-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unknown-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-unknown-uri (source): unknown-copyright-format-uri debian/copyright http://bzr.debian.org/loggerhead/dep/dep5/trunk/annotate/110/dep5.mdwn +source-copyright-unknown-uri (source): unknown-copyright-format-uri http://bzr.debian.org/loggerhead/dep/dep5/trunk/annotate/110/dep5.mdwn [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unversioned-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unversioned-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-unversioned-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-unversioned-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-unversioned-uri (source): unversioned-copyright-format-uri debian/copyright http://dep.debian.net/deps/dep5/ +source-copyright-unversioned-uri (source): unversioned-copyright-format-uri http://dep.debian.net/deps/dep5/ [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wiki-uri/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wiki-uri/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wiki-uri/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wiki-uri/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -source-copyright-wiki-uri (source): wiki-copyright-format-uri debian/copyright http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=196 +source-copyright-wiki-uri (source): wiki-copyright-format-uri http://wiki.debian.org/Proposals/CopyrightFormat?action=recall&rev=196 [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,6 +1,7 @@ -source-copyright-wildcard-matching (source): superfluous-file-pattern debian/copyright invalid-escape\n (Files, line 19) -source-copyright-wildcard-matching (source): superfluous-file-pattern debian/copyright i-do-not-exist (Files, line 14) -source-copyright-wildcard-matching (source): superfluous-file-pattern debian/copyright file?with?commas (Files, line 6) -source-copyright-wildcard-matching (source): superfluous-file-pattern debian/copyright deb* (Files, line 6) -source-copyright-wildcard-matching (source): invalid-escape-sequence-in-dep5-copyright debian/copyright \n (paragraph at line 19) -source-copyright-wildcard-matching (source): file-without-copyright-information debian/copyright i-have-no-copyright-information +source-copyright-wildcard-matching (source): update-debian-copyright 2014 vs CHANGELOG-YEAR [debian/copyright:25] +source-copyright-wildcard-matching (source): superfluous-file-pattern invalid-escape\n [debian/copyright:19] +source-copyright-wildcard-matching (source): superfluous-file-pattern i-do-not-exist [debian/copyright:14] +source-copyright-wildcard-matching (source): superfluous-file-pattern file?with?commas [debian/copyright:6] +source-copyright-wildcard-matching (source): superfluous-file-pattern deb* [debian/copyright:6] +source-copyright-wildcard-matching (source): invalid-escape-sequence-in-dep5-copyright \n [debian/copyright:19] +source-copyright-wildcard-matching (source): file-without-copyright-information i-have-no-copyright-information [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/source-copyright-wildcard-matching/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/spelling-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/spelling-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/spelling-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/spelling-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -spelling-general (source): no-dep5-copyright debian/copyright +spelling-general (source): no-dep5-copyright [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/tab-in-license-text/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/tab-in-license-text/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/tab-in-license-text/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/tab-in-license-text/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -tab-in-license-text (source): tab-in-license-text debian/copyright (starting at line 14) +tab-in-license-text (source): tab-in-license-text [debian/copyright:14] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/udev-rules/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/udev-rules/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/udev-rules/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/udev-rules/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -udev-rules (source): inconsistent-appstream-metadata-license debian/copyright debian/udev-rules.metadata.xml (mit != gpl-2+) +udev-rules (source): inconsistent-appstream-metadata-license debian/udev-rules.metadata.xml (mit != gpl-2+) [debian/copyright] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,4 @@ -wildcard-out-of-order (source): superfluous-file-pattern debian/copyright debian/patches/* (Files, line 9) -wildcard-out-of-order (source): globbing-patterns-out-of-order debian/copyright debian/patches/* debian/* debian/patches/a.patch +wildcard-out-of-order (source): update-debian-copyright 2018 vs CHANGELOG-YEAR [debian/copyright:14] +wildcard-out-of-order (source): update-debian-copyright 2018 vs CHANGELOG-YEAR [debian/copyright:10] +wildcard-out-of-order (source): superfluous-file-pattern debian/patches/* [debian/copyright:9] +wildcard-out-of-order (source): globbing-patterns-out-of-order debian/patches/* debian/* debian/patches/a.patch [debian/copyright:13] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/copyright/dep5/wildcard-out-of-order/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/vs [0-9]+/vs CHANGELOG-YEAR/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/debconf/debconf-syntax-error/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/debconf/debconf-syntax-error/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/debconf/debconf-syntax-error/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/debconf/debconf-syntax-error/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -debconf-syntax-error (source): syntax-error-in-debconf-template debian/templates: Cannot parse line 3: Description whoops, I forgot a colon -debconf-syntax-error (binary): syntax-error-in-debconf-template DEBIAN/templates: Cannot parse line 3: Description whoops, I forgot a colon +debconf-syntax-error (source): syntax-error-in-debconf-template Cannot parse line 3: Description whoops, I forgot a colon [debian/templates] +debconf-syntax-error (binary): syntax-error-in-debconf-template Cannot parse line 3: Description whoops, I forgot a colon [templates] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/debian/maintscript 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +rm_conffile /etc/correct.conf 0.2~ foo +rm_conffile /etc/incorrect.conf 0.2~ foo -- "$@" +rm_conffile /etc/incorrect.conf 0.2~ foo -- "${@}" +rm_conffile /etc/incorrect.conf 0.2~ foo -- "$@" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: maintscript-includes-maint-script-parameters +Dh-Compat-Level: 11 +Description: Check dh_installdeb .maintscript files diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: maintscript-includes-maint-script-parameters +Check: debian/maintscript diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/maintscript/maintscript-includes-maint-script-parameters/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters [debian/maintscript:4] +maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters [debian/maintscript:3] +maintscript-includes-maint-script-parameters (source): maintscript-includes-maint-script-parameters [debian/maintscript:2] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/bogus-field/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/bogus-field/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/bogus-field/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/bogus-field/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,5 +1,5 @@ bogus-field (source): upstream-metadata-field-unknown Bogus -bogus-field (source): upstream-metadata-field-present Repository -bogus-field (source): upstream-metadata-field-present Bug-Submit -bogus-field (source): upstream-metadata-field-present Bogus bogus-field (source): upstream-metadata-exists +bogus-field (source): upstream-metadata Repository Some repo. +bogus-field (source): upstream-metadata Bug-Submit A bug tracker. +bogus-field (source): upstream-metadata Bogus This field name is not known. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/fields-present/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/fields-present/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/fields-present/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/fields-present/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ -fields-present (source): upstream-metadata-field-present Repository-Browse -fields-present (source): upstream-metadata-field-present Repository -fields-present (source): upstream-metadata-field-present Name -fields-present (source): upstream-metadata-field-present Contact -fields-present (source): upstream-metadata-field-present Bug-Database -fields-present (source): upstream-metadata-field-present Archive fields-present (source): upstream-metadata-exists +fields-present (source): upstream-metadata Repository-Browse https://github.com/isaacs/node-glob +fields-present (source): upstream-metadata Repository https://github.com/isaacs/node-glob.git +fields-present (source): upstream-metadata Name node-glob +fields-present (source): upstream-metadata Contact https://github.com/isaacs/node-glob/issues +fields-present (source): upstream-metadata Bug-Database https://github.com/isaacs/node-glob/issues +fields-present (source): upstream-metadata Archive GitHub diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-bug-tracking/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-bug-tracking/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-bug-tracking/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-bug-tracking/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ upstream-metadata-missing-bug-tracking (source): upstream-metadata-missing-bug-tracking -upstream-metadata-missing-bug-tracking (source): upstream-metadata-field-present Repository-Browse -upstream-metadata-missing-bug-tracking (source): upstream-metadata-field-present Repository -upstream-metadata-missing-bug-tracking (source): upstream-metadata-field-present Name -upstream-metadata-missing-bug-tracking (source): upstream-metadata-field-present Contact -upstream-metadata-missing-bug-tracking (source): upstream-metadata-field-present Archive upstream-metadata-missing-bug-tracking (source): upstream-metadata-exists +upstream-metadata-missing-bug-tracking (source): upstream-metadata Repository-Browse https://github.com/isaacs/node-glob +upstream-metadata-missing-bug-tracking (source): upstream-metadata Repository https://github.com/isaacs/node-glob.git +upstream-metadata-missing-bug-tracking (source): upstream-metadata Name node-glob +upstream-metadata-missing-bug-tracking (source): upstream-metadata Contact https://github.com/isaacs/node-glob/issues +upstream-metadata-missing-bug-tracking (source): upstream-metadata Archive GitHub diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-repository/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-repository/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-repository/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/upstream/metadata/upstream-metadata-missing-repository/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ upstream-metadata-missing-repository (source): upstream-metadata-missing-repository -upstream-metadata-missing-repository (source): upstream-metadata-field-present Name -upstream-metadata-missing-repository (source): upstream-metadata-field-present Contact -upstream-metadata-missing-repository (source): upstream-metadata-field-present Bug-Submit -upstream-metadata-missing-repository (source): upstream-metadata-field-present Bug-Database -upstream-metadata-missing-repository (source): upstream-metadata-field-present Archive upstream-metadata-missing-repository (source): upstream-metadata-exists +upstream-metadata-missing-repository (source): upstream-metadata Name node-glob +upstream-metadata-missing-repository (source): upstream-metadata Contact https://github.com/isaacs/node-glob/issues +upstream-metadata-missing-repository (source): upstream-metadata Bug-Submit https://github.com/isaacs/node-glob/issues/new +upstream-metadata-missing-repository (source): upstream-metadata Bug-Database https://github.com/isaacs/node-glob/issues +upstream-metadata-missing-repository (source): upstream-metadata Archive GitHub diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/changes-upstream-signature-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/changes-upstream-signature-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/changes-upstream-signature-missing/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/changes-upstream-signature-missing/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -changes-upstream-signature-missing (source): debian-watch-does-not-check-gpg-signature -changes-upstream-signature-missing (source): debian-watch-could-verify-download debian/upstream/signing-key.asc +changes-upstream-signature-missing (source): debian-watch-does-not-check-gpg-signature [debian/watch] +changes-upstream-signature-missing (source): debian-watch-could-verify-download debian/upstream/signing-key.asc [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/build-spec/debian/watch lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/build-spec/debian/watch --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/build-spec/debian/watch 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/build-spec/debian/watch 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +version=4 +opts=\ + downloadurlmangle=s/\/releases\/tag\/(\d\S+)$/\/archive\/$1\.tar\.gz/,\ + filenamemangle=s/.+\/tag\/(\d\S+)$/foot-$1\.tar\.gz/ \ +https://codeberg.org/dnkl/foot/releases .*/releases/tag/(\d\S+) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: source-non-native +Testname: filenamemangle +Description: Option filenamemangle in d/watch diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: filenamemangle +Check: debian/watch diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/filenamemangle/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/filenamemangle/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +filenamemangle (source): prefer-uscan-symlink filenamemangle s/.+\/tag\/(\d\S+)$/foot-$1\.tar\.gz/ [debian/watch:5] +filenamemangle (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-foo++/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-foo++/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-foo++/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-foo++/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -foo++ (source): debian-watch-file-in-native-package +foo++ (source): debian-watch-file-in-native-package [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-maintainer-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-maintainer-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-maintainer-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-maintainer-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,4 +1,4 @@ -maintainer-scripts (source): debian-watch-uses-insecure-uri http://domain.tld/foo-(.+)\.tar\.gz (line 11) -maintainer-scripts (source): debian-watch-not-mangling-version opts=uversionmangle=s/$/+dfsg/,dversionmangle=s/foo/bar/ -maintainer-scripts (source): debian-watch-not-mangling-version options=active http://domain.tld/foo-(.+)\.tar\.gz -maintainer-scripts (source): debian-watch-does-not-check-gpg-signature +maintainer-scripts (source): debian-watch-uses-insecure-uri http://domain.tld/foo-(.+)\.tar\.gz [debian/watch:11] +maintainer-scripts (source): debian-watch-not-mangling-version opts=uversionmangle=s/$/+dfsg/,dversionmangle=s/foo/bar/ [debian/watch:7] +maintainer-scripts (source): debian-watch-not-mangling-version options=active http://domain.tld/foo-(.+)\.tar\.gz [debian/watch:11] +maintainer-scripts (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-scripts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-scripts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/legacy-scripts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/legacy-scripts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,7 +1,7 @@ -scripts (source): debian-watch-uses-insecure-uri http://qa.debian.org/watch/sf.php?project=foo (line 5) -scripts (source): debian-watch-uses-insecure-uri http://ftp.sf.net/foo/foo_bar(.+)\.Z (line 8) -scripts (source): debian-watch-mangles-debian-version-improperly opts="uversionmangle=s/$/ds/" http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate -scripts (source): debian-watch-lacks-sourceforge-redirector http://ftp.sf.net/foo/foo_bar(.+)\.Z 5 uupdate -scripts (source): debian-watch-file-uses-deprecated-sf-redirector-method http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate -scripts (source): debian-watch-file-specifies-old-upstream-version 5 -scripts (source): debian-watch-does-not-check-gpg-signature +scripts (source): debian-watch-uses-insecure-uri http://qa.debian.org/watch/sf.php?project=foo [debian/watch:5] +scripts (source): debian-watch-uses-insecure-uri http://ftp.sf.net/foo/foo_bar(.+)\.Z [debian/watch:8] +scripts (source): debian-watch-mangles-debian-version-improperly opts="uversionmangle=s/$/ds/" http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate [debian/watch:5] +scripts (source): debian-watch-lacks-sourceforge-redirector http://ftp.sf.net/foo/foo_bar(.+)\.Z 5 uupdate [debian/watch:8] +scripts (source): debian-watch-file-uses-deprecated-sf-redirector-method http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate [debian/watch:5] +scripts (source): debian-watch-file-specifies-old-upstream-version 5 [debian/watch] +scripts (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/repack-indicator-in-debian-revision/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/repack-indicator-in-debian-revision/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/repack-indicator-in-debian-revision/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/repack-indicator-in-debian-revision/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -repack-indicator-in-debian-revision (source): debian-watch-does-not-check-gpg-signature +repack-indicator-in-debian-revision (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/standard/comments-only/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/standard/comments-only/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/standard/comments-only/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/standard/comments-only/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,7 @@ Testname: comments-only Check: debian/watch/standard -See-Also: Bug#965385 +Test-Against: + missing-debian-watch-file-standard +See-Also: + Bug#965385, + Bug#992569 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/standard/comments-only/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/standard/comments-only/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/standard/comments-only/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/standard/comments-only/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -comments-only (source): missing-debian-watch-file-standard + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/two-upstream-components/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/two-upstream-components/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/two-upstream-components/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/two-upstream-components/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -two-upstream-components (source): debian-watch-upstream-component https://github.com/a/x2 x2 (line 6) -two-upstream-components (source): debian-watch-upstream-component https://github.com/a/x1/tags x1 (line 4) -two-upstream-components (source): debian-watch-does-not-check-gpg-signature +two-upstream-components (source): debian-watch-upstream-component https://github.com/a/x2 x2 [debian/watch:6] +two-upstream-components (source): debian-watch-upstream-component https://github.com/a/x1/tags x1 [debian/watch:4] +two-upstream-components (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-bug-765995/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-bug-765995/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-bug-765995/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-bug-765995/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -watch-file-bug-765995 (source): debian-watch-line-invalid opts=pgpsigurlmangle=s/$/.asc/ -watch-file-bug-765995 (source): debian-watch-does-not-check-gpg-signature -watch-file-bug-765995 (source): debian-watch-could-verify-download debian/upstream/signing-key.asc +watch-file-bug-765995 (source): debian-watch-line-invalid opts=pgpsigurlmangle=s/$/.asc/ [debian/watch:3] +watch-file-bug-765995 (source): debian-watch-does-not-check-gpg-signature [debian/watch] +watch-file-bug-765995 (source): debian-watch-could-verify-download debian/upstream/signing-key.asc [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-general/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,24 +1,24 @@ -watch-file-general (source): debian-watch-uses-insecure-uri http://sourceforge.net/projects/synce/files (line 15) -watch-file-general (source): debian-watch-uses-insecure-uri http://sourceforge.net/project/showfiles.php?group_id=100501 (line 14) -watch-file-general (source): debian-watch-uses-insecure-uri http://qa.debian.org/watch/sf.php?project=foo (line 5) -watch-file-general (source): debian-watch-uses-insecure-uri http://insecure.com (line 28) -watch-file-general (source): debian-watch-uses-insecure-uri http://githubredir.debian.net/github/username/project (line 24) -watch-file-general (source): debian-watch-uses-insecure-uri http://ftp.sf.net/foo/foo_bar(.+)\.Z (line 8) -watch-file-general (source): debian-watch-uses-insecure-uri ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ (line 12) -watch-file-general (source): debian-watch-not-mangling-version https://secure.com /(.*).tar.gz -watch-file-general (source): debian-watch-not-mangling-version http://sourceforge.net/projects/synce/files http://downloads.sourceforge.net/.+/kcemirror-(.+).tar.gz.* -watch-file-general (source): debian-watch-not-mangling-version http://sourceforge.net/project/showfiles.php?group_id=100501 .*/octaviz/octaviz-([\d\.]+).tar.gz.* -watch-file-general (source): debian-watch-not-mangling-version http://sf.net/uses/redirector-([^-]+)\.tar\.gz -watch-file-general (source): debian-watch-not-mangling-version http://insecure.com /(.*).tar.gz -watch-file-general (source): debian-watch-not-mangling-version http://githubredir.debian.net/github/username/project /(.*).tar.gz -watch-file-general (source): debian-watch-not-mangling-version ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ soprano-(.*)\.tar\.bz2 -watch-file-general (source): debian-watch-mangles-debian-version-improperly opts="uversionmangle=s/$/ds/" http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate -watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://sourceforge.net/projects/synce/files http://downloads.sourceforge.net/.+/kcemirror-(.+).tar.gz.* -watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://sourceforge.net/project/showfiles.php?group_id=100501 .*/octaviz/octaviz-([\d\.]+).tar.gz.* -watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://ftp.sf.net/foo/foo_bar(.+)\.Z 5 uupdate -watch-file-general (source): debian-watch-lacks-sourceforge-redirector ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ soprano-(.*)\.tar\.bz2 -watch-file-general (source): debian-watch-file-uses-deprecated-sf-redirector-method http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate -watch-file-general (source): debian-watch-file-uses-deprecated-githubredir http://githubredir.debian.net/github/username/project /(.*).tar.gz -watch-file-general (source): debian-watch-file-specifies-wrong-upstream-version 2.0.ds1-1 -watch-file-general (source): debian-watch-does-not-check-gpg-signature -watch-file-general (source): debian-watch-could-verify-download debian/upstream/signing-key.asc +watch-file-general (source): debian-watch-uses-insecure-uri http://sourceforge.net/projects/synce/files [debian/watch:15] +watch-file-general (source): debian-watch-uses-insecure-uri http://sourceforge.net/project/showfiles.php?group_id=100501 [debian/watch:14] +watch-file-general (source): debian-watch-uses-insecure-uri http://qa.debian.org/watch/sf.php?project=foo [debian/watch:5] +watch-file-general (source): debian-watch-uses-insecure-uri http://insecure.com [debian/watch:28] +watch-file-general (source): debian-watch-uses-insecure-uri http://githubredir.debian.net/github/username/project [debian/watch:24] +watch-file-general (source): debian-watch-uses-insecure-uri http://ftp.sf.net/foo/foo_bar(.+)\.Z [debian/watch:8] +watch-file-general (source): debian-watch-uses-insecure-uri ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ [debian/watch:12] +watch-file-general (source): debian-watch-not-mangling-version https://secure.com /(.*).tar.gz [debian/watch:29] +watch-file-general (source): debian-watch-not-mangling-version http://sourceforge.net/projects/synce/files http://downloads.sourceforge.net/.+/kcemirror-(.+).tar.gz.* [debian/watch:15] +watch-file-general (source): debian-watch-not-mangling-version http://sourceforge.net/project/showfiles.php?group_id=100501 .*/octaviz/octaviz-([\d\.]+).tar.gz.* [debian/watch:14] +watch-file-general (source): debian-watch-not-mangling-version http://sf.net/uses/redirector-([^-]+)\.tar\.gz [debian/watch:32] +watch-file-general (source): debian-watch-not-mangling-version http://insecure.com /(.*).tar.gz [debian/watch:28] +watch-file-general (source): debian-watch-not-mangling-version http://githubredir.debian.net/github/username/project /(.*).tar.gz [debian/watch:24] +watch-file-general (source): debian-watch-not-mangling-version ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ soprano-(.*)\.tar\.bz2 [debian/watch:12] +watch-file-general (source): debian-watch-mangles-debian-version-improperly opts="uversionmangle=s/$/ds/" http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate [debian/watch:5] +watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://sourceforge.net/projects/synce/files http://downloads.sourceforge.net/.+/kcemirror-(.+).tar.gz.* [debian/watch:15] +watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://sourceforge.net/project/showfiles.php?group_id=100501 .*/octaviz/octaviz-([\d\.]+).tar.gz.* [debian/watch:14] +watch-file-general (source): debian-watch-lacks-sourceforge-redirector http://ftp.sf.net/foo/foo_bar(.+)\.Z 5 uupdate [debian/watch:8] +watch-file-general (source): debian-watch-lacks-sourceforge-redirector ftp://upload.sourceforge.net/pub/sourceforge/s/so/soprano/ soprano-(.*)\.tar\.bz2 [debian/watch:12] +watch-file-general (source): debian-watch-file-uses-deprecated-sf-redirector-method http://qa.debian.org/watch/sf.php?project=foo scripts\.([\d.]+)\.tar\.gz debian uupdate [debian/watch:5] +watch-file-general (source): debian-watch-file-uses-deprecated-githubredir http://githubredir.debian.net/github/username/project /(.*).tar.gz [debian/watch:24] +watch-file-general (source): debian-watch-file-specifies-wrong-upstream-version 2.0.ds1-1 [debian/watch] +watch-file-general (source): debian-watch-does-not-check-gpg-signature [debian/watch] +watch-file-general (source): debian-watch-could-verify-download debian/upstream/signing-key.asc [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-native/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-native/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-native/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-native/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -watch-file-native (source): debian-watch-file-in-native-package -watch-file-native (source): debian-watch-does-not-check-gpg-signature +watch-file-native (source): debian-watch-file-in-native-package [debian/watch] +watch-file-native (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-old-upstream-version/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-old-upstream-version/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-old-upstream-version/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-old-upstream-version/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -watch-file-old-upstream-version (source): debian-watch-file-specifies-old-upstream-version 1.0 -watch-file-old-upstream-version (source): debian-watch-does-not-check-gpg-signature +watch-file-old-upstream-version (source): debian-watch-file-specifies-old-upstream-version 1.0 [debian/watch] +watch-file-old-upstream-version (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-pgpmode-none/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-pgpmode-none/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-pgpmode-none/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-pgpmode-none/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -watch-file-pgpmode-none (source): debian-watch-does-not-check-gpg-signature +watch-file-pgpmode-none (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-prerelease/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-prerelease/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-prerelease/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-prerelease/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -watch-file-prerelease (source): debian-watch-mangles-upstream-version-improperly opts=dversionmangle=s/~rc/-rc/ https://www.example.com/software/foo/ .*/foo-([^-]+)\.tar\.gz -watch-file-prerelease (source): debian-watch-does-not-check-gpg-signature +watch-file-prerelease (source): debian-watch-mangles-upstream-version-improperly opts=dversionmangle=s/~rc/-rc/ https://www.example.com/software/foo/ .*/foo-([^-]+)\.tar\.gz [debian/watch:3] +watch-file-prerelease (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-pubkey-missing/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-pubkey-missing/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-pubkey-missing/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-pubkey-missing/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,2 +1,2 @@ -watch-file-pubkey-missing (source): debian-watch-uses-insecure-uri ftp://ftp.imagemagick.org/pub/ImageMagick/ (line 3) -watch-file-pubkey-missing (source): debian-watch-file-pubkey-file-is-missing +watch-file-pubkey-missing (source): debian-watch-uses-insecure-uri ftp://ftp.imagemagick.org/pub/ImageMagick/ [debian/watch:3] +watch-file-pubkey-missing (source): debian-watch-file-pubkey-file-is-missing [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-should-mangle/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-should-mangle/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-should-mangle/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-should-mangle/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -watch-file-should-mangle (source): debian-watch-not-mangling-version https://www.example.com/dist/ dh7-test\.([\d.]+)\.tar\.gz debian uupdate -watch-file-should-mangle (source): debian-watch-not-mangling-version https://www.example.com/dist/ dh7-test\.([\d.]+)\.tar\.gz -watch-file-should-mangle (source): debian-watch-does-not-check-gpg-signature +watch-file-should-mangle (source): debian-watch-not-mangling-version https://www.example.com/dist/ dh7-test\.([\d.]+)\.tar\.gz debian uupdate [debian/watch:5] +watch-file-should-mangle (source): debian-watch-not-mangling-version https://www.example.com/dist/ dh7-test\.([\d.]+)\.tar\.gz [debian/watch:11] +watch-file-should-mangle (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-should-mangle-unrel/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-should-mangle-unrel/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-should-mangle-unrel/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-should-mangle-unrel/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -watch-file-should-mangle-unrel (source): debian-watch-does-not-check-gpg-signature +watch-file-should-mangle-unrel (source): debian-watch-does-not-check-gpg-signature [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-template/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-template/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debian/watch/watch-file-template/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debian/watch/watch-file-template/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,3 +1,3 @@ -watch-file-template (source): debian-watch-uses-insecure-uri http://www.example.com/software/foo/ (line 3) -watch-file-template (source): debian-watch-does-not-check-gpg-signature -watch-file-template (source): debian-watch-contains-dh_make-template Example watch control file for uscan +watch-file-template (source): debian-watch-uses-insecure-uri http://www.example.com/software/foo/ [debian/watch:3] +watch-file-template (source): debian-watch-does-not-check-gpg-signature [debian/watch] +watch-file-template (source): debian-watch-contains-dh_make-template Example watch control file for uscan [debian/watch] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,36 @@ +Source: [% $source %] +Section: [% $section %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} +Description: Manual dbg package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It + may be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} +Description: Manual dbgsym package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + even be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: changes-files-package-builds-dbg-and-dbgsym-variants +Package-Architecture: any +Description: Package builds -dbg and -dbgsym diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: changes-files-package-builds-dbg-and-dbgsym-variants +Check: debug/automatic diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +changes-files-package-builds-dbg-and-dbgsym-variants (source): debian-control-has-dbgsym-package (in section for changes-files-package-builds-dbg-and-dbgsym-variants-dbgsym) Package [debian/control:28] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debug/automatic +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/automatic/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/automatic/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): debian-control-has-dbgsym-package (in section for control-file-general-dbgsym) Package [debian/control:87] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,36 @@ +Source: [% $source %] +Section: [% $section %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} +Description: Manual dbg package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It + may be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: [% $source %], ${shlibs:Depends}, ${misc:Depends} +Description: Manual dbgsym package + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + even be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: changes-files-package-builds-dbg-and-dbgsym-variants +Package-Architecture: any +Description: Package builds -dbg and -dbgsym diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: changes-files-package-builds-dbg-and-dbgsym-variants +Check: debug/obsolete diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/changes-files-package-builds-dbg-and-dbgsym-variants/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +changes-files-package-builds-dbg-and-dbgsym-variants (source): debian-control-has-obsolete-dbg-package (in section for changes-files-package-builds-dbg-and-dbgsym-variants-dbg) Package [debian/control:18] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,118 @@ +Source: [% $source %] +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], + fiddle [amd64 powerpc mips mipsel hppa s390], + faddle + (>> + 2) [ + sparc i386 amd64 + ] +Build-Depends-Indep: perl (> 5.8) +Rules-Requires-Root: no +XS-Vcs-Svn: https://svn.example.com/[% $source %]/trunk +#Vcs-Git: git://git.debian.org/collab-maint/.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/.git;a=summary + +Package: [% $source %] +Section: [% $section %] +Maintainer: [% $author %] +Build-Conflicts: foo +Architecture: all +Pre-depends: ${misc:Pre-depends}, multiarch-support +Depends: [% $source %], foo, baz, ${shlibs:Depends} ${some:Depends}, ${misc:Depends} +Recommends: foo, bar, no-match${lintian:Foo}, match${lintian:Match}, no-match${lintian:Bar}-foo +Suggests: bar | baz, no-match${lintian:Bar}, match${lintian:Match} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-1 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: libsqlite3-0 (< 3.6.12) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-2 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (two) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-3 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo (>= 1), + baz (<< 2), + fizz (= 2.0), gcc-${pv:gcc} ${reqv:gcc} +Description: [% $description %] (three) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-4 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends}, foo | + bar (>= 1), baz +Description: [% $description %] (four) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-5 +Section: [% $section %] +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbgsym +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: dbg-sym + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-dbg +Section: debug +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Description: debug + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: [% $source %]-udeb +Section: debian-installer +Package-Type: udeb +Architecture: all +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (udeb) + udeb tests. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +#!/usr/bin/make -f +%: + dh $@ + +override_dh_gencontrol: + echo 'pv:gcc=4.3' >> debian/substvars + echo 'reqv:gcc=(>= 4.3-1)' >> debian/substvars + dh_gencontrol diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-general +Description: Various problems with debian/control diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,11 @@ +Testname: control-file-general +Check: debug/obsolete +See-Also: + Debian Bug#30020, + Debian Bug#409099, + Debian Bug#516706, + Debian Bug#533202, + Debian Bug#557971, + Debian Bug#573399, + Debian Bug#580494, + Debian Bug#657110 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/control-file-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/control-file-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-general (source): debian-control-has-obsolete-dbg-package (in section for control-file-general-dbg) Package [debian/control:97] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,46 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no +Homepage: http://lintian.debian.org/ + +Package: [% $source %] +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. +# Whoops, typo +Homepage: ttp://lintian.debian.org/ + +Package: [% $source %]-dbg +Section: debug +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (dbg) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The debug package (dbg)g. +# ... and some unneeded <> +Homepage: + +Package: [% $source %]-debug +Section: debug +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: [% $description %] (debug) + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + The debug package (debug). + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: fields-general +Description: Test for tags related to minor field issues diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-general +Check: debug/obsolete diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/fields-general/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/fields-general/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-general (source): debian-control-has-obsolete-dbg-package (in section for fields-general-dbg) Package [debian/control:21] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +libbaz ([% $version %]) [% $distribution %]; urgency=low + + * Initial setup + + -- Sean 'Shaleh' Perry Tue, 30 Jan 2001 15:23:59 -0800 + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/compat.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/control lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/control --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/control 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/control 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,58 @@ +Source: libbaz +Section: libs +Priority: optional +Maintainer: Lintian Maintainer +Build-depends: debhelper (>=4) +Standards-Version: 3.2.1 + +Package: libbaz1 +Architecture: any +Provides: libbaz +Description: test handling of library packages + Regression test for lintian's handling of libraries. + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz1-dev +Architecture: any +Depends: libbaz1 (= ${source:Version}), perlapi-5.8.8 +Description: development package + Regression test for lintian's handling of libraries (dev). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2 +Architecture: any +Depends: ${shlibs:Depends}, libssl0.9.8 +Description: test handling of library packages (good) + Regression test for lintian's handling of libraries (good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dev +Architecture: any +Depends: ${shlibs:Depends}, libbaz2 (= ${source:Version}) +Description: development package (good) + Regression test for lintian's handling of libraries (dev good). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + +Package: libbaz2-dbg +Architecture: any +Depends: libbaz2 (= ${binary:Version}) +Priority: optional +Description: debugging package + Regression test for lintian's handling of libraries (debug). + . + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +This package is released under public domain. This is distributed in the hope +that it will be useful, but without any warranty; without even the implied +warranty of merchantability or fitness for a particular purpose. + +A reference to /usr/share/common-licenses/GPL-2 to make it look like this +package is under the GPL and trigger the OpenSSL warning. + +However, this has an OpenSSL exception. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/dev.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +#!/bin/sh -e + +$PKG=libbaz1-dev + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.postinst lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.postinst --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.postinst 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.postinst 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,10 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ "$1" = "configure" ]; then + if [ -d /usr/doc -a ! -e /usr/doc/$PKG -a -d /usr/share/doc/$PKG ] +; then + ln -sf ../share/doc/$PKG /usr/doc/$PKG + fi +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.prerm lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.prerm --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.prerm 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.prerm 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +#!/bin/sh -e + +$PKG=libbaz1 + +if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$PKG ]; then + rm -f /usr/doc/$PKG +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.shlibs lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.shlibs --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.shlibs 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.shlibs 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,8 @@ +libdoesntexist2 1.0 libbaz1 +libdoesntexist2 1.0 libbaz1 +libbaz2 1.1 libbaz +libbaz3 1 libbaz1 (>> 1-1) +libbaz4 1 libbaz1 (= 1-1) +libbaz5 1 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 +udeb: libdoesntexist2 1.0 libbaz2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.symbols lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.symbols --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.symbols 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/lib.symbols 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +libbaz.so.2 libbaz1 #MINVER# + pw 1-1 + foo 1.1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,121 @@ +#!/usr/bin/make -f + +lib_tmp=debian/tmp-lib +dev_tmp=debian/tmp-dev + +LIB=libbaz1 +DEV=libbaz1-dev + +VENDORARCH := $(shell perl -MConfig -wE'say substr($$Config{vendorarch},1)') + +build-arch: + $(MAKE) + +build-indep: + +build: build-arch build-indep + +clean: + $(MAKE) clean + dh_clean -plibbaz2 -plibbaz2-dev + rm -f debian/files debian/substvars + rm -rf $(lib_tmp) $(dev_tmp) + +# Now the correct libbaz2-dev package +binary-correct: + install -d debian/libbaz2-dev/usr/lib + cp -a libbaz2.a libbaz2.so debian/libbaz2-dev/usr/lib + # usually, I'd also include some .h files to /usr/include + + # Now the correct libbaz2 package + install -d debian/libbaz2/usr/lib + cp -a libbaz2.so.* debian/libbaz2/usr/lib + chmod a-x debian/libbaz2/usr/lib/* + + # General stuff that is tested in other testsets: + dh_installdocs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_compress -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # Mess up the libbaz2 changelog files to test the symlink handling. + ln -s /usr/share/doc/lintian/changelog.gz \ + debian/libbaz2/usr/share/doc/libbaz2/changelog.gz + install -m 644 debian/changelog \ + debian/libbaz2-dev/usr/share/doc/libbaz2-dev/foo + ln -s foo debian/libbaz2-dev/usr/share/doc/libbaz2-dev/changelog + + # Okay, if either line is omitted, it should be noted + dh_strip --dbg-package=libbaz2-dbg -plibbaz2 -plibbaz2-dev + dh_makeshlibs -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_shlibdeps -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + + # and again, regular packaging stuff + dh_installdeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + echo udeb: libbaz2 1.0 libbaz2 >> debian/libbaz2/DEBIAN/shlibs + dh_gencontrol -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + dh_builddeb -plibbaz2 -plibbaz2-dev -plibbaz2-dbg + +# and the incorrect one +binary-arch: build-arch binary-correct + # first, the lib package + install -d $(lib_tmp)/usr/lib + # resp. no soname (check), wrong soname (check), and no-pic (check) + cp -a libbaz1.so.1.0* $(lib_tmp)/usr/lib + cp -a libbaz2.so.1.0.3b $(lib_tmp)/usr/lib/libfoo2.so.1.0.3b + install -m644 libbaz3.so.1.0.3b $(lib_tmp)/usr/lib/libbaz3.so.1.0.3b + # let's include the .a in the non-dev too (TODO) + # Also, libbaz1.a hasn't a symbol table (TODO) + cp -a *.a $(lib_tmp)/usr/lib + # And a wrong .so symlink (wrong, only in -dev, TODO) + ln -s libfoo3.so.0.9 $(lib_tmp)/usr/lib/libfoo3.so + # And a wrong .so.X symlink (wrong, should point to a real existing + # shlib, TODO) + ln -s libfoo.so.0.9.1 $(lib_tmp)/usr/lib/libfoo.so.0.9 + # And a plain .so (wrong, TODO) + touch $(lib_tmp)/usr/lib/libbar2.so + # And a non-versioned SONAME. + install -m644 libbaz.so $(lib_tmp)/usr/lib/libbaz.so + strip --remove-section=.comment --strip-unneeded $(lib_tmp)/usr/lib/libbaz.so + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(lib_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(lib_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + + install -d $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/copyright $(lib_tmp)/usr/share/doc/$(LIB) + install -m 644 debian/changelog $(lib_tmp)/usr/share/doc/$(LIB) + gzip -n -9 $(lib_tmp)/usr/share/doc/$(LIB)/changelog + install -d $(lib_tmp)/DEBIAN + install -m 755 debian/lib.postinst $(lib_tmp)/DEBIAN/postinst + install -m 755 debian/lib.prerm $(lib_tmp)/DEBIAN/prerm + touch $(lib_tmp)/usr/share/doc/README.Debian + #dpkg-shlibdeps $(lib_tmp)/usr/lib/libbaz.so.1.0 + install -m 755 debian/lib.shlibs $(lib_tmp)/DEBIAN/shlibs + install -m 755 debian/lib.symbols $(lib_tmp)/DEBIAN/symbols + dpkg-gencontrol -isp -p$(LIB) -P$(lib_tmp) + dpkg --build $(lib_tmp) .. + + # now the -dev package + install -d $(dev_tmp)/usr/include + install -d $(lib_tmp)/usr/lib + # let's also install the .so at the same time... (wrong, TODO) + cp -a *.a *.so.* $(lib_tmp)/usr/lib + # and fuck up permission (TODO) + chmod a+x $(lib_tmp)/usr/lib/*.a + # Pretend to be a Perl module to test a lack of Perl dependencies. + install -d $(dev_tmp)/$(VENDORARCH)/auto/Foo + install -m 644 libbaz2.so.1.0.3b $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + strip $(dev_tmp)/$(VENDORARCH)/auto/Foo/Foo.so + install -d $(dev_tmp)/usr/share/doc + ln -s $(LIB) $(dev_tmp)/usr/share/doc/$(DEV) + install -d $(dev_tmp)/DEBIAN + install -m 755 debian/dev.postinst $(dev_tmp)/DEBIAN/postinst + install -m 755 debian/dev.prerm $(dev_tmp)/DEBIAN/prerm + dpkg-gencontrol -isp -p$(DEV) -P$(dev_tmp) + dpkg --build $(dev_tmp) .. + + +binary: binary-arch + +# The mention of binary-indep here should be sufficient to suppress the +# warning that it's not present. +.PHONY: build-arch build-indep build binary-arch binary-indep binary clean diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/source.lintian-overrides lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/source.lintian-overrides --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/source.lintian-overrides 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/debian/source.lintian-overrides 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +libbaz source: maintainer-script-lacks-debhelper-token diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Skeleton: upload-non-native +Testname: legacy-libbaz +Source: libbaz +Version: 1-1 +Default-Build-Depends: debhelper (>= 9.20151004~) +Description: Legacy test "libbaz" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/baz.c lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/baz.c --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/baz.c 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/baz.c 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +#include + +double pw(double p) +{ + return exp(p); +} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,55 @@ +# This is the correct way to build a lib + +CC=gcc +CFLAGS=-g -Wall -Winline -O2 +LDFLAGS=-Wl,--no-as-needed + +OBJS=baz.o extra.o +SHOBJS=baz.sho extra.sho +NOPICOBJS = $(SHOBJS) + +all: libbaz1.a libbaz2.a libbaz1.so.1.0.3b libbaz2.so libbaz3.so.1.0.3b \ + libbaz.so + +libbaz2.so: libbaz2.so.1.0 + ln -sf $^ $@ +libbaz2.so.1.0: libbaz2.so.1.0.3b + ln -sf $^ $@ + +# Oops, forget the soname altogether +libbaz1.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared $^ -lc + +libbaz2.so.1.0.3b: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz2.so.1.0 $^ -lc + +# Non-PIC. We can't test this on all architectures +libbaz3.so.1.0.3b: $(NOPICOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz3.so.1 $^ -lc + +# Non-versioned SONAME. +libbaz.so: $(SHOBJS) + $(CC) $(LDFLAGS) -o $@ -shared -Wl,-soname,libbaz.so $^ -lc + +#%.o-noreentrant: %.c +# $(CC) $(LDFLAGS) $(CFLAGS) -o $@ -c $< + +%.sho: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -fPIC -o $@ -c $< + +%.o: %.c + $(CC) $(LDFLAGS) $(CFLAGS) -D_REENTRANT -o $@ -c $< + +libbaz2.a: $(OBJS) + ar cq $@ $(OBJS) + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ + ranlib $@ + +# The pic one in the .a (wrong), no archive table +libbaz1.a: $(SHOBJS) + ar cqS $@ $^ + strip --strip-unneeded --remove-section=.comment \ + --remove-section=-note $@ +clean: + rm -f *.a *.o *.so* *.sho diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: legacy-libbaz +Check: debug/obsolete diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +libbaz (source): debian-control-has-obsolete-dbg-package (in section for libbaz2-dbg) Package [debian/control:48] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/debug/obsolete/legacy-libbaz/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +/: hardening-.*/ d +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ +s,usr/lib/([^\/]*/)?perl[0-9]*(/[0-9]*\.[0-9]*)?/,usr/lib/ma-dir/perl/version/,g +/: file-references-package-build-path / d diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,29 @@ +Source: [% $source %] +Section: introspection +Priority: optional +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: no + +Package: gir1.1-missing-gir-depends-2.2 +Architecture: [% $package_architecture %] +Depends: ${misc:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package should be tagged by Lintian. + +Package: gir1.1-gir-depends-present-2.2 +Architecture: [% $package_architecture %] +Depends: ${misc:Depends}, ${gir:Depends} +Description: [% $description %]: False + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + This package should not be tagged by Lintian. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: control-file-gobject-introspection-package-missing-gir-depends +Description: Check for missing binary dependencies on ${gir:Depends} diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: control-file-gobject-introspection-package-missing-gir-depends +Check: desktop/gnome/gir/substvars diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/desktop/gnome/gir/substvars/control-file-gobject-introspection-package-missing-gir-depends/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +control-file-gobject-introspection-package-missing-gir-depends (source): gobject-introspection-package-missing-depends-on-gir-depends gir1.1-missing-gir-depends-2.2 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/desktop/x11/font/update/scripts-missing-call-to-update-fonts/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/desktop/x11/font/update/scripts-missing-call-to-update-fonts/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/desktop/x11/font/update/scripts-missing-call-to-update-fonts/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/desktop/x11/font/update/scripts-missing-call-to-update-fonts/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1 +1 @@ -scripts-missing-call-to-update-fonts (binary): missing-call-to-update-fonts usr/share/fonts/X11/Type1/foo.afm [control/postinst] +scripts-missing-call-to-update-fonts (binary): missing-call-to-update-fonts usr/share/fonts/X11/Type1/foo.afm [postinst] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/changelog.in lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/changelog.in --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/changelog.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/changelog.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +generic-dh-make-2008 ([% $version %]) [% $distribution %]; urgency=low + + * Initial release (Closes: #nnnn) + + -- Russ Allbery Mon, 29 Dec 2008 17:33:59 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/compat.in lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/compat.in --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/compat.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/compat.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +[% $dh_compat_level %] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/control.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,13 @@ +Source: generic-dh-make-2008 +Section: unknown +Priority: optional +Maintainer: Russ Allbery +Build-Depends: debhelper (>= 7) +Standards-Version: 3.7.3 +Homepage: + +Package: generic-dh-make-2008 +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/copyright lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/copyright --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/copyright 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/copyright 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,24 @@ +This package was debianized by Russ Allbery on +Mon, 29 Dec 2008 17:33:59 -0800. + +It was downloaded from + +Upstream Author(s): + + + + +Copyright: + + + + +License: + + + +The Debian packaging is (C) 2008, Russ Allbery and +is licensed under the GPL, see `/usr/share/common-licenses/GPL'. + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/cron.d.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/cron.d.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/cron.d.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/cron.d.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the generic-dh-make-2008 package +# +0 4 * * * root [ -x /usr/bin/generic-dh-make-2008_maintenance ] && /usr/bin/generic-dh-make-2008_maintenance diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/dirs lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/dirs --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/dirs 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/dirs 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/docs lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/docs --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/docs 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/docs 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +README diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-install.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-install.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-install.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-install.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/generic-dh-make-2008 + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=generic-dh-make-2008 + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +#FLAVORTEST=`echo $FLAVOR | cut -c-6` +#if [ ${FLAVORTEST} = xemacs ] ; then +# SITEFLAG="-no-site-file" +#else +# SITEFLAG="--no-site-file" +#fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/share/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-remove.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-remove.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-remove.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-remove.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/generic-dh-make-2008 + +FLAVOR=$1 +PACKAGE=generic-dh-make-2008 + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/share/info/generic-dh-make-2008.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-startup.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-startup.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-startup.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/emacsen-startup.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,25 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file, e.g. /etc/emacs/site-start.d/50generic-dh-make-2008.el +;; for the Debian generic-dh-make-2008 package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The generic-dh-make-2008 package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(let ((package-dir (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/generic-dh-make-2008"))) +;; If package-dir does not exist, the generic-dh-make-2008 package must have +;; removed but not purged, and we should skip the setup. + (when (file-directory-p package-dir) + (setq load-path (cons package-dir load-path)) + (autoload 'generic-dh-make-2008-mode "generic-dh-make-2008-mode" + "Major mode for editing generic-dh-make-2008 files." t) + (add-to-list 'auto-mode-alist '("\\.generic-dh-make-2008$" . generic-dh-make-2008-mode)))) + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.default.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.default.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.default.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.default.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,10 @@ +# Defaults for generic-dh-make-2008 initscript +# sourced by /etc/init.d/generic-dh-make-2008 +# installed at /etc/default/generic-dh-make-2008 by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Additional options that are passed to the Daemon. +DAEMON_OPTS="" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.doc-base.EX lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.doc-base.EX --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.doc-base.EX 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/generic-dh-make-2008.doc-base.EX 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,22 @@ +Document: generic-dh-make-2008 +Title: Debian generic-dh-make-2008 Manual +Author: +Abstract: This manual describes what generic-dh-make-2008 is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/generic-dh-make-2008/generic-dh-make-2008.sgml.gz + +Format: postscript +Files: /usr/share/doc/generic-dh-make-2008/generic-dh-make-2008.ps.gz + +Format: text +Files: /usr/share/doc/generic-dh-make-2008/generic-dh-make-2008.text.gz + +Format: HTML +Index: /usr/share/doc/generic-dh-make-2008/html/index.html +Files: /usr/share/doc/generic-dh-make-2008/html/*.html + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,157 @@ +#! /bin/sh +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg . +# Modified for Debian +# by Ian Murdock . +# Further changes by Javier Fernandez-Sanguino +# +# Version: @(#)skeleton 1.9 26-Feb-2001 miquels@cistron.nl +# + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/generic-dh-make-2008 +NAME=generic-dh-make-2008 +DESC=generic-dh-make-2008 + +test -x $DAEMON || exit 0 + +LOGDIR=/var/log/generic-dh-make-2008 +PIDFILE=/var/run/$NAME.pid +DODTIME=1 # Time to wait for the server to die, in seconds + # If this value is set too low you might not + # let some servers to die gracefully and + # 'restart' will not work + +# Include generic-dh-make-2008 defaults if available +if [ -f /etc/default/generic-dh-make-2008 ] ; then + . /etc/default/generic-dh-make-2008 +fi + +set -e + +running_pid() +{ + # Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected child? + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() +{ +# Check if the process is running looking at /proc +# (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + # Obtain the pid and check it against the binary name + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +force_stop() { +# Forcefully kill the process + [ ! -f "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + kill -9 $pid + [ -n "$DODTIME" ] && sleep "$DODTIME"s + if running ; then + echo "Cannot kill $LABEL (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE + return 0 +} + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --exec $DAEMON -- $DAEMON_OPTS + if running ; then + echo "$NAME." + else + echo " ERROR." + fi + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --exec $DAEMON + echo "$NAME." + ;; + force-stop) + echo -n "Forcefully stopping $DESC: " + force_stop + if ! running ; then + echo "$NAME." + else + echo " ERROR." + fi + ;; + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo "Reloading $DESC configuration files." + # start-stop-daemon --stop --signal 1 --quiet --pidfile \ + # /var/run/$NAME.pid --exec $DAEMON + #;; + force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart" except that it does nothing if the + # daemon isn't already running. + # check wether $DAEMON is running. If so, restart + start-stop-daemon --stop --test --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON \ + && $0 restart \ + || exit 0 + ;; + restart) + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + [ -n "$DODTIME" ] && sleep $DODTIME + start-stop-daemon --start --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS + echo "$NAME." + ;; + status) + echo -n "$LABEL is " + if running ; then + echo "running" + else + echo " not running." + exit 1 + fi + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload|status|force-stop}" >&2 + exit 1 + ;; +esac + +exit 0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.lsb.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.lsb.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.lsb.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/init.d.lsb.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,296 @@ +#!/bin/sh +# +# Example init.d script with LSB support. +# +# Please read this init.d carefully and modify the sections to +# adjust it to the program you want to run. +# +# Copyright (c) 2007 Javier Fernandez-Sanguino +# +# This is free software; you may redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, +# or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License with +# the Debian operating system, in /usr/share/common-licenses/GPL; if +# not, write to the Free Software Foundation, Inc., 59 Temple Place, +# Suite 330, Boston, MA 02111-1307 USA +# +### BEGIN INIT INFO +# Provides: generic-dh-make-2008 +# Required-Start: $network $local_fs +# Required-Stop: +# Should-Start: $named +# Should-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +# <...> +# <...> +### END INIT INFO + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin + +DAEMON=/usr/sbin/generic-dh-make-2008 # Introduce the server's location here +NAME=#PACKAGE # Introduce the short server's name here +DESC=#PACKAGE # Introduce a short description here +LOGDIR=/var/log/generic-dh-make-2008 # Log directory to use + +PIDFILE=/var/run/$NAME.pid + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +# Default options, these can be overriden by the information +# at /etc/default/$NAME +DAEMON_OPTS="" # Additional options given to the server + +DIETIME=10 # Time to wait for the server to die, in seconds + # If this value is set too low you might not + # let some servers to die gracefully and + # 'restart' will not work + +#STARTTIME=2 # Time to wait for the server to start, in seconds + # If this value is set each time the server is + # started (on start or restart) the script will + # stall to try to determine if it is running + # If it is not set and the server takes time + # to setup a pid file the log message might + # be a false positive (says it did not start + # when it actually did) + +LOGFILE=$LOGDIR/$NAME.log # Server logfile +#DAEMONUSER=generic-dh-make-2008 # Users to run the daemons as. If this value + # is set start-stop-daemon will chuid the server + +# Include defaults if available +if [ -f /etc/default/$NAME ] ; then + . /etc/default/$NAME +fi + +# Use this if you want the user to explicitly set 'RUN' in +# /etc/default/ +#if [ "x$RUN" != "xyes" ] ; then +# log_failure_msg "$NAME disabled, please adjust the configuration to your needs " +# log_failure_msg "and then set RUN to 'yes' in /etc/default/$NAME to enable it." +# exit 1 +#fi + +# Check that the user exists (if we set a user) +# Does the user exist? +if [ -n "$DAEMONUSER" ] ; then + if getent passwd | grep -q "^$DAEMONUSER:"; then + # Obtain the uid and gid + DAEMONUID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $3}'` + DAEMONGID=`getent passwd |grep "^$DAEMONUSER:" | awk -F : '{print $4}'` + else + log_failure_msg "The user $DAEMONUSER, required to run $NAME does not exist." + exit 1 + fi +fi + + +set -e + +running_pid() { +# Check if a given process pid's cmdline matches a given name + pid=$1 + name=$2 + [ -z "$pid" ] && return 1 + [ ! -d /proc/$pid ] && return 1 + cmd=`cat /proc/$pid/cmdline | tr "\000" "\n"|head -n 1 |cut -d : -f 1` + # Is this the expected server + [ "$cmd" != "$name" ] && return 1 + return 0 +} + +running() { +# Check if the process is running looking at /proc +# (works for all users) + + # No pidfile, probably no daemon present + [ ! -f "$PIDFILE" ] && return 1 + pid=`cat $PIDFILE` + running_pid $pid $DAEMON || return 1 + return 0 +} + +start_server() { +# Start the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + start_daemon -p $PIDFILE $DAEMON -- $DAEMON_OPTS + errcode=$? + else +# if we are using a daemonuser then change the user id + start-stop-daemon --start --quiet --pidfile $PIDFILE \ + --chuid $DAEMONUSER \ + --exec $DAEMON -- $DAEMON_OPTS + errcode=$? + fi + return $errcode +} + +stop_server() { +# Stop the process using the wrapper + if [ -z "$DAEMONUSER" ] ; then + killproc -p $PIDFILE $DAEMON + errcode=$? + else +# if we are using a daemonuser then look for process that match + start-stop-daemon --stop --quiet --pidfile $PIDFILE \ + --user $DAEMONUSER \ + --exec $DAEMON + errcode=$? + fi + + return $errcode +} + +reload_server() { + [ ! -f "$PIDFILE" ] && return 1 + pid=pidofproc $PIDFILE # This is the daemon's pid + # Send a SIGHUP + kill -1 $pid + return $? +} + +force_stop() { +# Force the process to die killing it manually + [ ! -e "$PIDFILE" ] && return + if running ; then + kill -15 $pid + # Is it really dead? + sleep "$DIETIME"s + if running ; then + kill -9 $pid + sleep "$DIETIME"s + if running ; then + echo "Cannot kill $NAME (pid=$pid)!" + exit 1 + fi + fi + fi + rm -f $PIDFILE +} + + +case "$1" in + start) + log_daemon_msg "Starting $DESC " "$NAME" + # Check if it's running first + if running ; then + log_progress_msg "apparently already running" + log_end_msg 0 + exit 0 + fi + if start_server ; then + # NOTE: Some servers might die some time after they start, + # this code will detect this issue if STARTTIME is set + # to a reasonable value + [ -n "$STARTTIME" ] && sleep $STARTTIME # Wait some time + if running ; then + # It's ok, the server started and is running + log_end_msg 0 + else + # It is not running after we did start + log_end_msg 1 + fi + else + # Either we could not start it + log_end_msg 1 + fi + ;; + stop) + log_daemon_msg "Stopping $DESC" "$NAME" + if running ; then + # Only stop the server if we see it running + errcode=0 + stop_server || errcode=$? + log_end_msg $errcode + else + # If it's not running don't do anything + log_progress_msg "apparently not running" + log_end_msg 0 + exit 0 + fi + ;; + force-stop) + # First try to stop gracefully the program + $0 stop + if running; then + # If it's still running try to kill it more forcefully + log_daemon_msg "Stopping (force) $DESC" "$NAME" + errcode=0 + force_stop || errcode=$? + log_end_msg $errcode + fi + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + errcode=0 + stop_server || errcode=$? + # Wait some sensible amount, some server need this + [ -n "$DIETIME" ] && sleep $DIETIME + start_server || errcode=$? + [ -n "$STARTTIME" ] && sleep $STARTTIME + running || errcode=$? + log_end_msg $errcode + ;; + status) + + log_daemon_msg "Checking status of $DESC" "$NAME" + if running ; then + log_progress_msg "running" + log_end_msg 0 + else + log_progress_msg "apparently not running" + log_end_msg 1 + exit 1 + fi + ;; + # Use this if the daemon cannot reload + reload) + log_warning_msg "Reloading $NAME daemon: not implemented, as the daemon" + log_warning_msg "cannot re-read the config file (use restart)." + ;; + # And this if it cann + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # log_daemon_msg "Reloading $DESC configuration files" "$NAME" + # if running ; then + # reload_server + # if ! running ; then + # Process died after we tried to reload + # log_progress_msg "died on reload" + # log_end_msg 1 + # exit 1 + # fi + # else + # log_progress_msg "server is not running" + # log_end_msg 1 + # exit 1 + # fi + #;; + + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|force-stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.1.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.1.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.1.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.1.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,59 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH GENERIC-DH-MAKE-2008 SECTION "December 29, 2008" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +generic-dh-make-2008 \- program to do something +.SH SYNOPSIS +.B generic-dh-make-2008 +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B generic-dh-make-2008 +and +.B bar +commands. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBgeneric-dh-make-2008\fP is a program that... +.SH OPTIONS +These programs follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +For a complete description, see the Info files. +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-v, \-\-version +Show version of program. +.SH SEE ALSO +.BR bar (1), +.BR baz (1). +.br +The programs are documented fully by +.IR "The Rise and Fall of a Fooish Bar" , +available via the Info system. +.SH AUTHOR +generic-dh-make-2008 was written by . +.PP +This manual page was written by Russ Allbery , +for the Debian project (but may be used by others). diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.sgml.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.sgml.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.sgml.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.sgml.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,156 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + + FIRSTNAME"> + SURNAME"> + + December 29, 2008"> + + SECTION"> + rra@debian.org"> + + GENERIC-DH-MAKE-2008"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + This manual page was written for the &debian; distribution + because the original program does not have a manual page. + Instead, it has documentation in the &gnu; + Info format; see below. + + &dhpackage; is a program that... + + + + OPTIONS + + These programs follow the usual &gnu; command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + Info files. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the &gnu; General Public License, Version 2 any + later version published by the Free Software Foundation. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ + + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.xml.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.xml.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.xml.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/manpage.xml.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,291 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| less'. A typical entry +in a Makefile or Makefile.am is: + +DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/manpages/docbook.xsl +XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" + +manpage.1: manpage.xml + $(XP) $(DB2MAN) $< + +The xsltproc binary is found in the xsltproc package. The XSL files are in +docbook-xsl. A description of the parameters you can use can be found in the +docbook-xsl-doc-* packages. Please remember that if you create the nroff +version in one of the debian/rules file targets (such as build), you will need +to include xsltproc and docbook-xsl in your Build-Depends control field. +Alternatively use the xmlto command/package. That will also automatically +pull in xsltproc and docbook-xsl. + +Notes for using docbook2x: docbook2x-man does not automatically create the +AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as + ... . + +To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections +read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be +found in the docbook-xsl-doc-html package. + +Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` + +General documentation about man-pages and man-page-formatting: +man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ + +--> + + + + + + + + + + + + + +]> + + + + &dhtitle; + &dhpackage; + + + &dhfirstname; + &dhsurname; + Wrote this manpage for the Debian system. +
+ &dhemail; +
+
+
+ + 2007 + &dhusername; + + + This manual page was written for the Debian system + (but may be used by others). + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU General Public License, + Version 2 or (at your option) any later version published by + the Free Software Foundation. + On Debian systems, the complete text of the GNU General Public + License can be found in + /usr/share/common-licenses/GPL. + +
+ + &dhucpackage; + &dhsection; + + + &dhpackage; + program to do something + + + + &dhpackage; + + + + + + + + + this + + + + + + + + this + that + + + + + &dhpackage; + + + + + + + + + + + + + + + + + + + DESCRIPTION + This manual page documents briefly the + &dhpackage; and bar + commands. + This manual page was written for the Debian distribution + because the original program does not have a manual page. + Instead, it has documentation in the GNU + info + 1 + format; see below. + &dhpackage; is a program that... + + + OPTIONS + The program follows the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + + info + 1 + files. + + + + + + + Does this and that. + + + + + + + Show summary of options. + + + + + + + Show version of program. + + + + + + FILES + + + /etc/foo.conf + + The system-wide configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + ${HOME}/.foo.conf + + The per-user configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + + + ENVIONMENT + + + FOO_CONF + + If used, the defined file is used as configuration + file (see also ). + + + + + + DIAGNOSTICS + The following diagnostics may be issued + on stderr: + + + Bad configuration file. Exiting. + + The configuration file seems to contain a broken configuration + line. Use the option, to get more info. + + + + + &dhpackage; provides some return codes, that can + be used in scripts: + + Code + Diagnostic + + 0 + Program exited successfully. + + + 1 + The configuration file seems to be broken. + + + + + + BUGS + The program is currently limited to only work + with the foobar library. + The upstreams BTS can be found + at . + + + SEE ALSO + + + bar + 1 + , + baz + 1 + , + foo.conf + 5 + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + info + 1 + system. + +
+ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/menu.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/menu.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/menu.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/menu.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +?package(generic-dh-make-2008):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ + title="generic-dh-make-2008" command="/usr/bin/generic-dh-make-2008" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postinst.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postinst.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postinst.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postinst.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,41 @@ +#!/bin/sh +# postinst script for generic-dh-make-2008 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postrm.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postrm.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postrm.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/postrm.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,39 @@ +#!/bin/sh +# postrm script for generic-dh-make-2008 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/preinst.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/preinst.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/preinst.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/preinst.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,37 @@ +#!/bin/sh +# preinst script for generic-dh-make-2008 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/prerm.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/prerm.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/prerm.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/prerm.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,40 @@ +#!/bin/sh +# prerm script for generic-dh-make-2008 +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/README.Debian lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/README.Debian --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/README.Debian 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/README.Debian 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +generic-dh-make-2008 for Debian +------------------------------- + + + + -- Russ Allbery Mon, 29 Dec 2008 17:33:59 -0800 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/rules 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,91 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + + + + + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #docbook-to-man debian/generic-dh-make-2008.sgml > generic-dh-make-2008.1 + + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + $(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/generic-dh-make-2008. + $(MAKE) DESTDIR=$(CURDIR)/debian/generic-dh-make-2008 install + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/watch.ex lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/watch.ex --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/watch.ex 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/debian/watch.ex 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,23 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to examine a Webpage +# +#http://www.example.com/downloads.php generic-dh-make-2008-(.*)\.tar\.gz + +# Uncomment to examine a Webserver directory +#http://www.example.com/pub/generic-dh-make-2008-(.*)\.tar\.gz + +# Uncommment to examine a FTP server +#ftp://ftp.example.com/pub/generic-dh-make-2008-(.*)\.tar\.gz debian uupdate + +# Uncomment to find new files on sourceforge, for devscripts >= 2.9 +# http://sf.net/generic-dh-make-2008/generic-dh-make-2008-(.*)\.tar\.gz + +# Uncomment to find new files on GooglePages +# http://example.googlepages.com/foo.html generic-dh-make-2008-(.*)\.tar\.gz diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,7 @@ +Testname: generic-dh-make-2008 +Skeleton: upload-builder-only +Author: Russ Allbery +Package-Architecture: any +Dh-Compat-Level: 7 +Description: Generic dh_make template generated in 2008 +Default-Build-Depends: debhelper (>= [% $dh_compat_level %]~) diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/Makefile lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/Makefile --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/Makefile 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +# Stub Makefile that's just enough so that the default rules file doesn't +# error out. + +clean install: diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/README lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/README --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/README 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/orig/README 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,13 @@ +dh_make 0.46 test +================= + +This is the results of running dh_make 0.46 on an upstream tarball +containing only this file. It's a useful test for the various dh_make +template and boilerplate tags, as well as many tags for ways of doing +things dh_make used to promote but are now deprecated or old debhelper +commands that are now deprecated. + +Please don't modify anything about the files in this package; instead, add +new tags as needed when Lintian adds new checks. This test case is +intended to continue to be a test of Lintian's handling of old and +template packages. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/pre-build.in lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/pre-build.in --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/pre-build.in 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/build-spec/pre-build.in 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,5 @@ +#!/bin/sh + +# not using any templates, but dh_clean requires compat + +echo "[% $dh_compat_level %]" > "$1/debian/compat" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Testname: generic-dh-make-2008 +Check: dh-make/template +See-Also: + Debian Bug#497347 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,17 @@ +generic-dh-make-2008 (source): dh-make-template-in-source [debian/watch.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/prerm.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/preinst.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/postrm.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/postinst.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/menu.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/manpage.xml.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/manpage.sgml.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/manpage.1.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/init.d.lsb.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/init.d.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/generic-dh-make-2008.doc-base.EX] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/generic-dh-make-2008.default.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/emacsen-startup.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/emacsen-remove.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/emacsen-install.ex] +generic-dh-make-2008 (source): dh-make-template-in-source [debian/cron.d.ex] diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/post-test 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/dh-make/template/generic-dh-make-2008/eval/post-test 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +s/\(current is ([0-9]+\.)+[0-9]\)/(current is CURRENT)/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/control.in lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/control.in --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/control.in 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/control.in 1970-01-01 01:00:00.000000000 +0100 @@ -1,27 +0,0 @@ -Source: [% $source %] -Priority: optional -Section: [% $section %] -Maintainer: [% $author %] -Standards-Version: [% $standards_version %] -Build-Depends: [% $build_depends %] -Rules-Requires-Root: no - -Package: libtest-simple-perl -Section: perl -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: [% $description %] - This is a test package designed to exercise some feature or tag of - Lintian. It is part of the Lintian test suite and may do very odd - things. It should not be installed like a regular package. It may - be an empty package. - -Package: libversion-perl -Section: perl -Architecture: all -Depends: ${shlibs:Depends}, ${misc:Depends} -Description: another [% $description %] - This is another test package, designed to exercise epoch handling - in the 'package-superseded-by-perl' check. It is part of the Lintian - test suite and may do very odd things. It should not be installed like - a regular package. It may be an empty package. diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/rules lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/rules --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/rules 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/debian/rules 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ -#!/usr/bin/make -f -%: - dh $@ - -override_dh_gencontrol: - dh_gencontrol -plibversion-perl -- -v9:999 - dh_gencontrol -i -Nlibversion-perl - diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: fields-perl-provides -Version: 0.26 -Description: Test for packages provided by perl diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-perl-provides -Check: fields/version diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -libtest-simple-perl (binary): package-superseded-by-perl with VERSION diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/post-test lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/post-test --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-perl-provides/eval/post-test 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-perl-provides/eval/post-test 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -s/(with )[0-9.]*/\1VERSION/ diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Skeleton: upload-native -Testname: fields-version-dfsg-native -Version: 1.0.dfsg1 -Description: Use of dfsg in a native package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-version-dfsg-native -Check: fields/version diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dfsg-native/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -fields-version-dfsg-native (source): dfsg-version-in-native-package 1.0.dfsg1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Testname: fields-version-dot-dfsg -Skeleton: upload-non-native -Version: 1.0.dfsg1-1 -Description: Use of ".dfsg" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-version-dot-dfsg -Check: fields/version diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dot-dfsg/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -fields-version-dot-dfsg (source): dfsg-version-with-period 1.0.dfsg1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/build-spec/fill-values 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 @@ -1,4 +0,0 @@ -Testname: fields-version-dsfg -Skeleton: upload-non-native -Version: 1.0+dsfg1-1 -Description: Check for the dsfg typo diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/eval/desc 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/eval/desc 1970-01-01 01:00:00.000000000 +0100 @@ -1,2 +0,0 @@ -Testname: fields-version-dsfg -Check: fields/version diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/fields-version-dsfg/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/fields-version-dsfg/eval/hints 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -fields-version-dsfg (source): dfsg-version-misspelled 1.0+dsfg1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Testname: dfsg1 +Skeleton: upload-non-native +Version: 1.0+dfsg1-1 +Description: Start with +dfsg-1 instead of +dfsg1-1 +See-Also: + https://lists.debian.org/debian-devel/2021/10/msg00026.html diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: dfsg1 +Check: fields/version/repack/count diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/dfsg1/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/dfsg1/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +dfsg1 (source): anticipated-repack-count 1.0+dfsg1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Testname: extra-dot +Skeleton: upload-non-native +Version: 1.0+dfsg.2-1 +Description: Remove extra dot from repack count +See-Also: + https://lists.debian.org/debian-devel/2021/10/msg00026.html diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: extra-dot +Check: fields/version/repack/count diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/count/extra-dot/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/count/extra-dot/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +extra-dot (source): dot-before-repack-count 1.0+dfsg.2-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Skeleton: upload-native +Testname: fields-version-dfsg-native +Version: 1.0.dfsg1 +Description: Use of dfsg in a native package diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-version-dfsg-native +Check: fields/version/repack/native diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/native/fields-version-dfsg-native/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-version-dfsg-native (source): dfsg-version-in-native-package 1.0.dfsg1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Testname: fields-version-dot-dfsg +Skeleton: upload-non-native +Version: 1.0.dfsg1-1 +Description: Use of ".dfsg" diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-version-dot-dfsg +Check: fields/version/repack/period diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/period/fields-version-dot-dfsg/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-version-dot-dfsg (source): dfsg-version-with-period 1.0.dfsg1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,6 @@ +Testname: tilde-dfsg +Skeleton: upload-non-native +Version: 1.0~dfsg-1 +Description: Check for dfsg with tilde (~) prefix +See-Also: + https://lists.debian.org/debian-devel/2021/10/msg00012.html diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: tilde-dfsg +Check: fields/version/repack/tilde diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/tilde/tilde-dfsg/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +tilde-dfsg (source): dfsg-version-with-tilde 1.0~dfsg-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/build-spec/fill-values lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/build-spec/fill-values --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/build-spec/fill-values 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/build-spec/fill-values 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,4 @@ +Testname: fields-version-dsfg +Skeleton: upload-non-native +Version: 1.0+dsfg1-1 +Description: Check for the dsfg typo diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/desc lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/desc --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/desc 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/desc 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1,2 @@ +Testname: fields-version-dsfg +Check: fields/version/repack/typo diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/hints 1970-01-01 01:00:00.000000000 +0100 +++ lintian-2.114.0ubuntu1/t/recipes/checks/fields/version/repack/typo/fields-version-dsfg/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -0,0 +1 @@ +fields-version-dsfg (source): dfsg-version-misspelled 1.0+dsfg1-1 diff -Nru lintian-2.111.0ubuntu2/t/recipes/checks/files/privacy-breach/files-privacybreach/eval/hints lintian-2.114.0ubuntu1/t/recipes/checks/files/privacy-breach/files-privacybreach/eval/hints --- lintian-2.111.0ubuntu2/t/recipes/checks/files/privacy-breach/files-privacybreach/eval/hints 2021-10-30 11:03:59.000000000 +0200 +++ lintian-2.114.0ubuntu1/t/recipes/checks/files/privacy-breach/files-privacybreach/eval/hints 2022-01-11 17:11:33.000000000 +0100 @@ -1,86 +1,86 @@ -files-privacybreach (binary): privacy-breach-w3c-valid-html usr/share/files-privacy-breach/privacy-breach-w3c-valid-html/htmlvalid.html (http://www.w3.org/icons/valid-xhtml10) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/mochachai.html You may use the libjs-mocha package. (//cdnjs.cloudflare.com/ajax/libs/mocha/2.1.0/mocha.min.css) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/mochachai.html You may use the libjs-chai package. (//cdnjs.cloudflare.com/ajax/libs/chai/1.10.0/chai.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/mocha.html You may use the libjs-mocha package. (https://cdn.rawgit.com/mochajs/mocha/2.2.5/mocha.css) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/mocha.html You may use the libjs-jquery package. (https://cdn.rawgit.com/jquery/jquery/2.1.4/dist/jquery.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/mocha.html You may use the libjs-expect.js package. (https://cdn.rawgit.com/automattic/expect.js/0.3.1/index.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-uses-embedded-file/html5shiv.html You may use the node-html5shiv package (virtual package). (https://cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-prototype.html You may use the libjs-prototype package. (https://ajax.googleapis.com/ajax/libs/prototype/1.7.0.0/prototype.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-openlayers.html You may use the libjs-openlayers package. (http://openlayers.org/api/openlayers.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-modernizer.html You may use the libjs-modernizr package. (https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-mathjax.html You may use the libjs-mathjax package. (http://cdn.mathjax.org/mathjax/latest/mathjax.js?config=tex-ams-mml_htmlormml) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-jquery_beta.html You may use the libjs-jquery package. (http://code.jquery.com/jquery-1.7b1.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-jquery.html You may use the libjs-jquery package. (https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-jquery-ui.html You may use the libjs-jquery-ui package. (http://code.jquery.com/ui/1.2.0/jquery.ui-1.2.0.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-jquery-mobile.html You may use the libjs-jquery-mobile package. (http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js) -files-privacybreach (binary): privacy-breach-uses-embedded-file usr/share/files-privacy-breach/privacy-breach-may-use-debian-package/libjs-jquery-flot.html You may use the libjs-jquery-flot package. (http://yandex.st/jquery/flot/0.7/jquery.flot.min.js) -files-privacybreach (binary): privacy-breach-twitter usr/share/files-privacy-breach/privacy-breach-twitter/official.js (choke on: src="https://platform.twitter.com/widgets.js") -files-privacybreach (binary): privacy-breach-twitter usr/share/files-privacy-breach/privacy-breach-twitter/awstat.xml (choke on: +'://platform.twitter.com/widgets.js') -files-privacybreach (binary): privacy-breach-statistics-website usr/share/files-privacy-breach/privacy-breach-statistics-website/statcounter2.js (choke on: var sc_project=895001;) -files-privacybreach (binary): privacy-breach-statistics-website usr/share/files-privacy-breach/privacy-breach-statistics-website/statcounter.xml (http://c8.statcounter.com/counter.php?sc_project=895001&java=0&security=5ea85181&invisible=1) -files-privacybreach (binary): privacy-breach-statistics-website usr/share/files-privacy-breach/privacy-breach-statistics-website/img.html (http://counter.ceres.dti.ne.jp/cgi-bin/count.cgi?df=knak.01.dat|dd=d|ft=0|md=10|comma=y|srgb=00ff00|prgb=ff0000|trgb=black) -files-privacybreach (binary): privacy-breach-piwik usr/share/files-privacy-breach/privacy-breach-piwik/piwikvariant.html (choke on: 'settrackerurl') -files-privacybreach (binary): privacy-breach-piwik usr/share/files-privacy-breach/privacy-breach-piwik/piwik.html (choke on: "piwik.js') -files-privacybreach (binary): privacy-breach-logo usr/share/files-privacy-breach/privacy-breach-twitter/logotwitter.xml (https://g.twimg.com/twitter_logo_blue.png) -files-privacybreach (binary): privacy-breach-logo usr/share/files-privacy-breach/privacy-breach-logo/mascot.xml (http://travis-ci.com/img/travis-mascot-200px.png) -files-privacybreach (binary): privacy-breach-logo usr/share/files-privacy-breach/privacy-breach-logo/logosourceforge.xml (http://sflogo.sourceforge.net/sflogo.php?group_id=2319&type=15) -files-privacybreach (binary): privacy-breach-google-plus usr/share/files-privacy-breach/privacy-breach-google-plus/simplebutton.xml (choke on: ) -files-privacybreach (binary): privacy-breach-google-cse usr/share/files-privacy-breach/privacy-breach-google-cse/googlecse.xml (choke on: googlesearchdomain =) -files-privacybreach (binary): privacy-breach-google-cse usr/share/files-privacy-breach/privacy-breach-google-cse/googlecse.css (http://www.google.com/cse/api/branding.css) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/urchinloader.js (choke on: '.google-analytics.com/ga.js') -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/urchinfragment.xml (http://www.google-analytics.com/urchin.js) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/urchinconstructor.js (choke on: "google-analytics.com/ga.js") -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/urchin.js (choke on: urchintracker();) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/pagead2.html (http://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/page2ins.html (choke on: data-ad-client) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/page2.js (choke on: = window.adsbygoogle) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/adsenseonlyvar.js (choke on: google_ad_client =) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/adsenseonlyadds.html (http://pagead2.googlesyndication.com/pagead/show_ads.js) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/adsenseimagemagick.xml (choke on: ) -files-privacybreach (binary): privacy-breach-google-adsense usr/share/files-privacy-breach/privacy-breach-google-adsense/adsense.html (choke on: google_ad_client =) -files-privacybreach (binary): privacy-breach-generic usr/share/files-privacy-breach/privacy-breach-generic/videoposter.html [