diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-14 13:42:30 +0000 |
commit | 75808db17caf8b960b351e3408e74142f4c85aac (patch) | |
tree | 7989e9c09a4240248bf4658a22208a0a52d991c4 /lib/Lintian/Screen | |
parent | Initial commit. (diff) | |
download | lintian-upstream.tar.xz lintian-upstream.zip |
Adding upstream version 2.117.0.upstream/2.117.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'lib/Lintian/Screen')
-rw-r--r-- | lib/Lintian/Screen/Autotools/LongLines.pm | 61 | ||||
-rw-r--r-- | lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm | 49 | ||||
-rw-r--r-- | lib/Lintian/Screen/Emacs/Elpa/Scripts.pm | 50 | ||||
-rw-r--r-- | lib/Lintian/Screen/Examples/InTests.pm | 47 | ||||
-rw-r--r-- | lib/Lintian/Screen/Examples/Ship/Devhelp.pm | 47 | ||||
-rw-r--r-- | lib/Lintian/Screen/Glibc/Control/Ldconfig.pm | 45 | ||||
-rw-r--r-- | lib/Lintian/Screen/Python/Egg/Metadata.pm | 53 | ||||
-rw-r--r-- | lib/Lintian/Screen/Toolchain/Gnat/AliReadOnly.pm | 52 | ||||
-rw-r--r-- | lib/Lintian/Screen/Web/Cgi/Scripts.pm | 48 |
9 files changed, 452 insertions, 0 deletions
diff --git a/lib/Lintian/Screen/Autotools/LongLines.pm b/lib/Lintian/Screen/Autotools/LongLines.pm new file mode 100644 index 0000000..1de9b85 --- /dev/null +++ b/lib/Lintian/Screen/Autotools/LongLines.pm @@ -0,0 +1,61 @@ +# Copyright (C) 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 https://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::Autotools::LongLines; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + # ./configure script in source root only + return 1 + if $item->name eq 'configure' + && ( defined $processable->patched->resolve_path('configure.in') + || defined $processable->patched->resolve_path('configure.ac')); + + # Automake's Makefile.in in any folder + return 1 + if $item->basename eq 'Makefile.in' + && defined $processable->patched->resolve_path( + $item->dirname . '/Makefile.am'); + + # any m4 macro as long as ./configure is present + return 1 + if $item->name =~ m{^ m4/ }x + && defined $processable->patched->resolve_path('configure'); + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm b/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm new file mode 100644 index 0000000..aaf4600 --- /dev/null +++ b/lib/Lintian/Screen/Coq/Cmxs/Prerequisites.pm @@ -0,0 +1,49 @@ +# Copyright (C) 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 https://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, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->name =~ 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 --git a/lib/Lintian/Screen/Emacs/Elpa/Scripts.pm b/lib/Lintian/Screen/Emacs/Elpa/Scripts.pm new file mode 100644 index 0000000..a943620 --- /dev/null +++ b/lib/Lintian/Screen/Emacs/Elpa/Scripts.pm @@ -0,0 +1,50 @@ +# Copyright (C) 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 https://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::Emacs::Elpa::Scripts; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->name =~ m{^usr/lib/emacsen-common/packages/} + && ( $processable->type eq 'binary' + || $processable->type eq 'udeb') + && $processable->relation('strong')->satisfies('emacsen-common'); + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Examples/InTests.pm b/lib/Lintian/Screen/Examples/InTests.pm new file mode 100644 index 0000000..c1bc63f --- /dev/null +++ b/lib/Lintian/Screen/Examples/InTests.pm @@ -0,0 +1,47 @@ +# Copyright (C) 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 https://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::Examples::InTests; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->name =~ m{^ test s? / }x; + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Examples/Ship/Devhelp.pm b/lib/Lintian/Screen/Examples/Ship/Devhelp.pm new file mode 100644 index 0000000..2727628 --- /dev/null +++ b/lib/Lintian/Screen/Examples/Ship/Devhelp.pm @@ -0,0 +1,47 @@ +# Copyright (C) 2022 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 https://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::Examples::Ship::Devhelp; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->name =~ m{^ usr/share/doc/ [^/]+ /examples/ }x; + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Glibc/Control/Ldconfig.pm b/lib/Lintian/Screen/Glibc/Control/Ldconfig.pm new file mode 100644 index 0000000..403d940 --- /dev/null +++ b/lib/Lintian/Screen/Glibc/Control/Ldconfig.pm @@ -0,0 +1,45 @@ +# Copyright (C) 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 https://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::Glibc::Control::Ldconfig; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + return 1 + if $processable->source_name eq 'glibc'; + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Python/Egg/Metadata.pm b/lib/Lintian/Screen/Python/Egg/Metadata.pm new file mode 100644 index 0000000..facff08 --- /dev/null +++ b/lib/Lintian/Screen/Python/Egg/Metadata.pm @@ -0,0 +1,53 @@ +# Copyright (C) 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 https://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::Python::Egg::Metadata; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->dirname =~ m{ [^/] [.] dist-info / $}x + && defined $item->parent_dir->child('METADATA') + && defined $item->parent_dir->child('WHEEL'); + + return 1 + if $item->dirname =~ m{ [^/] [.] egg-info / $}x + && defined $item->parent_dir->child('PKG-INFO'); + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Toolchain/Gnat/AliReadOnly.pm b/lib/Lintian/Screen/Toolchain/Gnat/AliReadOnly.pm new file mode 100644 index 0000000..682f549 --- /dev/null +++ b/lib/Lintian/Screen/Toolchain/Gnat/AliReadOnly.pm @@ -0,0 +1,52 @@ +# Copyright (C) 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 https://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::Toolchain::Gnat::AliReadOnly; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if $item->name + =~ m{^ usr/lib/ [^/]+ /ada/adalib/ [^/]+ / [^/]+ [.] ali \b }x + && ( $processable->type eq 'binary' + || $processable->type eq 'udeb') + && $processable->name =~ /-dev$/ + && $processable->relation('strong')->satisfies('gnat'); + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et diff --git a/lib/Lintian/Screen/Web/Cgi/Scripts.pm b/lib/Lintian/Screen/Web/Cgi/Scripts.pm new file mode 100644 index 0000000..f667111 --- /dev/null +++ b/lib/Lintian/Screen/Web/Cgi/Scripts.pm @@ -0,0 +1,48 @@ +# Copyright (C) 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 https://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::Web::Cgi::Scripts; + +use v5.20; +use warnings; +use utf8; + +use Moo; +use namespace::clean; + +with 'Lintian::Screen'; + +sub suppress { + my ($self, $processable, $hint) = @_; + + my $item = $hint->pointer->item; + + return 1 + if ($item->is_script || $item->is_elf) + && $item->name =~ m{^ usr/lib/cgi-bin/ }x; + + return 0; +} + +1; + +# Local Variables: +# indent-tabs-mode: nil +# cperl-indent-level: 4 +# End: +# vim: syntax=perl sw=4 sts=4 sr et |