Commit graph

10 commits

Author SHA1 Message Date
9d6d641d1f Bug 17600: Standardize our EXPORT_OK
On bug 17591 we discovered that there was something weird going on with
the way we export and use subroutines/modules.
This patch tries to standardize our EXPORT to use EXPORT_OK only.

That way we will need to explicitely define the subroutine we want to
use from a module.

This patch is a squashed version of:
Bug 17600: After export.pl
Bug 17600: After perlimport
Bug 17600: Manual changes
Bug 17600: Other manual changes after second perlimports run
Bug 17600: Fix tests

And a lot of other manual changes.

export.pl is a dirty script that can be found on bug 17600.

"perlimport" is:
git clone https://github.com/oalders/App-perlimports.git
cd App-perlimports/
cpanm --installdeps .
export PERL5LIB="$PERL5LIB:/kohadevbox/koha/App-perlimports/lib"
find . \( -name "*.pl" -o -name "*.pm" \) -exec perl App-perlimports/script/perlimports --inplace-edit --no-preserve-unused --filename {} \;

The ideas of this patch are to:
* use EXPORT_OK instead of EXPORT
* perltidy the EXPORT_OK list
* remove '&' before the subroutine names
* remove some uneeded use statements
* explicitely import the subroutines we need within the controllers or
modules

Note that the private subroutines (starting with _) should not be
exported (and not used from outside of the module except from tests).

EXPORT vs EXPORT_OK (from
https://www.thegeekstuff.com/2010/06/perl-exporter-examples/)
"""
Export allows to export the functions and variables of modules to user’s namespace using the standard import method. This way, we don’t need to create the objects for the modules to access it’s members.

@EXPORT and @EXPORT_OK are the two main variables used during export operation.

@EXPORT contains list of symbols (subroutines and variables) of the module to be exported into the caller namespace.

@EXPORT_OK does export of symbols on demand basis.
"""

If this patch caused a conflict with a patch you wrote prior to its
push:
* Make sure you are not reintroducing a "use" statement that has been
removed
* "$subroutine" is not exported by the C4::$MODULE module
means that you need to add the subroutine to the @EXPORT_OK list
* Bareword "$subroutine" not allowed while "strict subs"
means that you didn't imported the subroutine from the module:
  - use $MODULE qw( $subroutine list );
You can also use the fully qualified namespace: C4::$MODULE::$subroutine

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-07-16 08:58:47 +02:00
7d8b96803f
Bug 24545: Fix license statements
Bug 9978 should have fixed them all, but some were missing.
We want all the license statements part of Koha to be identical, and
using the GPLv3 statement.

Signed-off-by: David Nind <david@davidnind.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
2020-02-24 13:31:26 +00:00
Te Rauhina Jackson
d10513dfc0 Bug 20019: use Modern::Perl in misc perl scripts
Test Plan:
Test Plan:
Check the following files have been updated from
use strict;
use warnings;
to
use Modern::Perl;

services/itemrecorddisplay.pl
suggestion/suggestion.pl
tags/list.pl
tags/review.pl
virtualshelves/sendshelf.pl
help.pl
changelanguage.pl
koha_perl_deps.pl
debian/bd-to-depends
debian/build-git-snapshot
debian/list-deps
docs/CAS/CASProxy/examples/koha_webservice.pl
docs/CAS/CASProxy/examples/proxy_cas.pl
docs/CAS/CASProxy/examples/proxy_cas_callback.pl
docs/CAS/CASProxy/examples/proxy_cas_data.pl

Signed-off-by: Jon Knight <J.P.Knight@lboro.ac.uk>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2018-02-05 09:47:08 -03:00
2b9662e0ca Bug 17990: Refactor Perl module versions check
The code is duplicated, variable are not set ($_), code is hard to read,
not covered by tests and the subroutine has 2 completely different
behaviors depending on the presence of the "module" parameter.
No need more ti rewrite it.

Test plan:
- Use koha_perl_deps.pl with the different options (-u -m -a -i)
- Go on the about page, "Perl modules" tab

You should not see any differences from before and after this patch

Signed-off-by: David Cook <dcook@prosentient.com.au>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2017-02-17 12:13:44 +00:00
Mark Tompsett
0134341d9a bug 10548: fix count of missing required dependencies by koha_perl_deps.pl
To test:

[1] ./koha_perl_deps.pl -m -u

If you have nothing missing, uninstall an optional component.

[2] ./koha_perl_deps.pl -m -u

You should get a number missing of at least 1.

[3] ./koha_perl_deps.pl -m -u -r

You should get the same number, even though the output is less.

[4] Apply patch

[5] ./koha_perl_deps.pl -m -u

Same results as in step 2.

[6] ./koha_perl_deps.pl -m -u -r

The number should differ from the results in step 3.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2013-07-11 14:03:32 +00:00
Mark Tompsett
0a0f311cc0 Bug 8485 - Make koha_perl_deps.pl batch friendly Added a -b flag for brief which outputs only the perl library name (Foo::BaR), and added a -r flag for required which filters the list to required=Yes perl libraries.
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-08-31 17:35:49 +02:00
Greg Barniskis
8b3955d067 Bug 6914 - fixes for the color option of koha_perl_deps.pl
Reset the terminal color mode after reporting (to avoid polluting the
user's shell), and use blue instead of white for the report header and
footer.

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2011-12-03 07:47:38 +01:00
Greg Barniskis
e5e5e3155e Bug 6915 - [SIGNED-OFF] reduce module name truncation problem in koha_perl_deps.pl
Widen module name allowance in the format statement, adjust other
columns to be generous but not-so-much as before, modify report
header and footer print statements to align and clarify. Very very
long module names or version numbers are still subject to possible
truncation.

Signed-off-by: Magnus Enger <magnus@enger.priv.no>

Sign off comment: With this patch module names are not truncated, which is an
improvement. Lines are still too long to fit an 80 column display, and so they
wrap around, but tht is a minor annoyance compared to the truncated names.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2011-10-15 14:00:24 +13:00
Colin Campbell
e08d35bdc3 Bug 4844 Remove a circular dependency in koha_perl_deps.pl
Remove 'use Installer' which had external dependencies we're trying to
report on. Instead call Installer::PerlModules directly

added use warnings and strict
updated FSF address in License statement

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-06-03 19:59:10 -04:00
Chris Nighswonger
e744cd9fe5 Enhancement Bug 4444: Centralize Code Handling Perl Dependencies
This patch adds a script to allow checking the status of Koha's Perl dependencies from the
command line interface at any time. Run '$ ./koha_perl_deps.pl --help' for available options.
'$ ./koha_perl_deps.pl -c' is recommended if you like color.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-05-17 09:01:48 -04:00