Commit graph

16 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
Julian Maurice
b168f4a2e9 Bug 21395: Make perlcritic happy
This patch adds a .perlcriticrc (copied from qa-test-tools) and fixes
almost all perlcrictic violations according to this .perlcriticrc
The remaining violations are silenced out by appending a '## no critic'
to the offending lines. They can still be seen by using the --force
option of perlcritic
This patch also modify t/00-testcritic.t to check all Perl files using
the new .perlcriticrc.
I'm not sure if this test script is still useful as it is now equivalent
to `perlcritic --quiet .` and it looks like it is much slower
(approximatively 5 times slower on my machine)

Test plan:
1. Run `perlcritic --quiet .` from the root directory. It should output
   nothing
2. Run `perlcritic --quiet --force .`. It should output 7 errors (6
   StringyEval, 1 BarewordFileHandles)
3. Run `TEST_QA=1 prove t/00-testcritic.t`
4. Read the patch. Check that all changes make sense and do not
   introduce undesired behaviour

Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-06-29 12:37:02 +02:00
Aleisha Amohia
20a38ee50e Bug 20000: Use Modern::Perl in installer scripts
To test:

Check that we are using Modern::Perl when strict *and* warnings were used before,
and commented lines and FIXMEs have been removed from the rest, out of
files listed below.

data/mysql/backfill_statistics.pl
data/mysql/labels_upgrade.pl
data/mysql/patroncards_upgrade.pl
data/mysql/update22to30.pl
data/mysql/updatedatabase.pl
externalmodules.pl
html-template-to-template-toolkit.pl
install.pl

Sponsored-by: Catalyst IT
Signed-off-by: Maryse Simard <maryse.simard@inlibro.com>

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

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2019-02-04 16:57:14 +00:00
9921228f2a Bug 11398: A typo occurred with occured
This patch cures occured and makes occurred occur.
Note that I found them while testing bug 11170.
In a follow-up of 11170, I corrected this typo in parcels.tt.
This patch touches update22to30.pl and modborrowers.tt

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Fixes a typo in 2 files.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-01-02 15:12:48 +00:00
Paul Poulain
866fc7653c Bug 8289 Upgrading from 2.2 does not work anymore
The updatedatabase22to30.pl script update the engine from MyISAM to InnoDB for most tables.

However, the TYPE=InnoDB was deprecated, and is not removed.
The correct syntax is now ENGINE=InnoDB

Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
2012-06-25 16:15:42 +02:00
Andrew Elwell
9fa574f609 Bug 5385: POD Cleanups (part 1)
working through the master branch to eliminate all
podchecker warnings/errors

Actual improvement to the quality of the POD will
come later (hopefully with assistance of others)

Signed-off-by: Andrew Elwell <Andrew.Elwell@gmail.com>
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-12 10:06:55 +13:00
Katrin Fischer
6df634855c Bug 5370: Fix all the references to koha.org
Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
2010-11-08 09:41:49 +13:00
Nahuel ANGELINETTI
759b485158 (bug #4287) add enrolment period update in 22 to 30 script
this fix the upgrade script, to upgrade the enrolment period, that is no more in years, but in month unity.

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-04-29 23:30:53 -04:00
Donovan Jones
b44f8e1a31 Bug 2505 - Add commented use warnings where missing in the installer/ directory 2010-04-21 20:26:28 +12:00
Joshua Ferraro
d16a7fda37 Partial fix for 2084: opac-topissues.pl is both EXPERIMENTAL and
very proc hungry and we needed to warn systems admins and turn it
OFF by default.
2008-07-12 09:52:17 -05:00
Galen Charlton
5833a44771 kohabug 2076: updated 2.2 -> 3.0 upgrade
Numerous changes to update22to30.pl to help ensure
that a database upgraded from 2.2.9 to 3.0 will have
a DB schema identical to that of a new installation.

These changes were testing by starting from an empty database,
loading koha.mysql from the 2.2.9 package, then running

update22to30.pl
move_marc_to_authheader.pl
move_marc_to_biblioitems.pl
dropping the following tables:
  marc_subfield_table
  auth_subfield_table
  marc_biblio
  marc_blob_subfield
  auth_word
  biblioanalysis
  borexp
  catalogueentry
  charges
  itemsprices
  marc_word
  marcrecorddone
  sessionqueries
  uploadedmarc
  users
  websites
  z3950queue
  z3950results
updatedatabase.pl

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-11 05:40:46 -05:00
Ryan Higgins
e6859a3f81 minor db update changes for 2.2->3.0 script
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-27 14:34:42 -06:00
Ryan Higgins
c87666215d syspref update to update22to30 script
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-27 14:34:41 -06:00
Joshua Ferraro
c70df80694 Search.pm Bugfixing
Getting Search.pm air tight ... cleaned up some local variables
that were declared global

fix to asynchronous federated searching lost since dev_week, immediate
use is authority search

template fixes to item-level itemtypes and bib-level itemtypes

temp workaround to javascript problems preventing item edits

fix to installer

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-28 08:32:24 -06:00
Joshua Ferraro
d7938406c5 s/holded by/maintained/
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-12-28 08:32:07 -06:00
Chris Nighswonger
25494aafa7 Moved location of updater scripts to dbms specific dir.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2007-11-13 11:22:47 -06:00
Renamed from updater/update22to30.pl (Browse further)