App-lcpan

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

             mentioned in the index, e.g. Foo-Bar-0.001.tar.gz which contains
             module 'Foo::Bar' and script 'foo', some records like the 'foo'
             script belonging to the file record are deleted along with it. Then
             when a new file for the same distribution is added in the index,
             e.g. Foo-Bar-0.002.tar.gz (which still contains the same 'Foo::Bar'
             module and 'foo' script), the script record and some other records
             are re-added to the lcpan index. This means lcpan sees the script
             as new, when it's actually not. We now store old module record as
             well as file and script records to old_* tables so we will be able
             to know whether a distribution, module, or script is actually new
             or just updated. But note that the last part has not been coded in
             yet.


1.070   2022-03-27  Released-By: PERLANCAR; Urgency: medium

        - Add subcommand: dists-by-mod-count.


1.069   2022-03-27  Released-By: PERLANCAR; Urgency: medium

Changes  view on Meta::CPAN


        - Add retrying and retry options: retry_max_attempts, retry_delay.

        - We now use LWP::UserAgent::Plugin.


1.061   2020-06-11  Released-By: PERLANCAR; Urgency: medium

	[subcommand mentions]

        - Add --{added,updated,added-or-updated-}-* options.

	[subcommand whatsnew]

        - Show new mentions for you.


1.060   2020-06-11  Released-By: PERLANCAR; Urgency: medium

	- [bugfix] Fix author-deps & author-rdeps which didn't apply the
	  {added,updated,added_or_updated}_since filter to the correct
	  entity (to module/dist instead of dep).

	- [bugfix] Fix typo that caused --added-since-last-n-index-updates
	  to not work.

	[subcommand whatsnew]

        - Add --my-author option to show additional added/updated items related
	  to you.


1.059   2020-06-10  Released-By: PERLANCAR; Urgency: medium

	- The --updated-since X option now does not include records created at
	  X, to avoid duplication when viewing new records as well as updated
	  records in the same time (e.g. in whatsnew).

	[subcommand deps]

        - [ux] Delete module_file_id from results.


1.058   2020-05-26  Released-By: PERLANCAR; Urgency: medium

	- [incompatible change] Add/replace/rename/remove ctime/mtime
	  options: remove --{added,updated}-before, replace
	  --{added,updated}-after with --{added,updated}-since, rename
	  --{added,updated}-in-last-update to
	  --{added,updated}-since-last-index-update, rename
	  --{added,updated}-in-last-n-updates to
	  --{added,updated}-since-last-n-index-updates, add
	  --added-or-updated-since* options.

        - Add some subcommands: most-depended-mods, most-mentioned-mods,
          most-mentioned-scripts, whatsnew, heaviest-dists.

        - Add option -n to mods-by-mention-count, mods-by-rdep-count,
	  scripts-by-mention-count, dists-by-dep-count.

	[subcommand scripts-by-mention-count]

        - Return author.

Changes  view on Meta::CPAN

	- [testing] Avoid error when testing database schema version upgrades.


1.055   2020-05-06  Released-By: PERLANCAR; Urgency: medium

	- [testing] Add some basic tests, finally.


1.054   2020-05-06  Released-By: PERLANCAR; Urgency: medium

	- [bugfix] Fix typo in translating --updated-in-last-update.

        - Add convenience options --{added,updated}-in-last-n-updates=n.

	- [subcommand log] Reorder lcpan_version column.


1.053   2020-05-05  Released-By: PERLANCAR; Urgency: medium

	- Bump database schema version to v14 to add 'log' table.

	- [subcommand reset] Reset index_creation_time metadata, add
          description.

        - [subcommand update][bugfix] Mark files that we skip sub indexing for,
          so we don't re-process them again and again.

        - Add convenience options --added-in-last-update,
          --updated-in-last-update.

        - [subcommand author-rdeps] Add --{added,updated}-* options.


1.052   2020-05-04  Released-By: PERLANCAR; Urgency: medium

	- Bump database schema version to v13 to add rec_mtime and rec_mtime to
	  all tables. Recording ctime and mtime will allow users to check for
	  newly added/updated authors, distributions, modules, and so on.

        - Add filter options --added-{before,after} & --updated-{before,after}
          to some subcommands.

	- Record index creation time and show it in 'stats'.


1.051   2020-04-20  Released-By: PERLANCAR; Urgency: medium

	- Add unique indexes for PK which apparently are not added for tables
	  that have other unique indexes (bump database schema version to v12).

Changes  view on Meta::CPAN


0.62    2016-01-04  Released-By: PERLANCAR

	- [subcommand mods] Allow specifying multiple namespaces.


0.61    2015-12-31  Released-By: PERLANCAR

        - No functional changes.

        - [build] Rebuild with updated PWR:DumpPerinciCmdLineScript (0.04) which
          lets us avoid extraneous subcommands from being included in the
          bin/lcpan's POD.


0.60    2015-12-25  Released-By: PERLANCAR; Message: It's *this* Christmas!

	- Replace --exact-match with the more general --query-type to be
	  able to search certain fields only or exact match on certain
	  fields only.

Changes  view on Meta::CPAN


        - [Bugfix] When indexing, used wrong dist_id (from last_insert_id())
          when record already exists.

        - [Bugfix] deps, rdeps: Result ordering fixes.


0.29    2015-04-24  Released-By: PERLANCAR

	- [Bugfix] Fix missing dependencies/reverse dependencies information
          when a depended module is updated, this is because we used INSERT OR
          REPLACE {dist,module} which changes module/dist IDs. We should've used
          INSERT or UPDATE. From this new version on we record the module
          version which did the reindexing. We are doing a full reindex when
          indexer <= 0.28.


0.28    2015-04-24  Released-By: PERLANCAR

	- No functional changes.

README  view on Meta::CPAN

         authors();

    *   Find CPAN IDs which start with something:

         authors(query => ["MICHAEL%"]); # -> ["MICHAEL", "MICHAELW", undef, {}]

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   cpan => *dirname*

        Location of your local CPAN mirror, e.g. /path/to/cpan.

        Defaults to "~/cpan".

    *   detail => *bool*

README  view on Meta::CPAN

    *   sort => *array[str]* (default: ["id"])

        Sort the result.

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

README  view on Meta::CPAN

    lcpan (like MetaCPAN) does not extract information from "Makefile.PL" or
    "Build.PL" because that requires running (untrusted) code.

    Also, some releases specify dynamic config, so there might actually be
    more dependencies.

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   rel => *str* (default: "requires")

        (No description)

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    *   with_xs_or_pp => *bool*

README  view on Meta::CPAN

         dists(cpan => "/cpan", latest => 1);

    *   Grep by distribution name, return detailed record:

         dists(query => ["data-table"], cpan => "/cpan");

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   sort => *array[str]* (default: ["dist"])

        Sort the result.

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN

        index will be located in the top-level of "cpan". If "index_name"
        contains a path, e.g. "./index.db" or "/home/ujang/lcpan.db" then
        the index will be located solely using the "index_name".

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

README  view on Meta::CPAN

    Usage:

     modules(%args) -> [$status_code, $reason, $payload, \%result_meta]

    List modules/packages.

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   sort => *array[str]* (default: ["module"])

        Sort the result.

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN

    Usage:

     namespaces(%args) -> [$status_code, $reason, $payload, \%result_meta]

    List namespaces.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   to_level => *int*

        (No description)

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN

    Usage:

     packages(%args) -> [$status_code, $reason, $payload, \%result_meta]

    List modules/packages.

    This function is not exported.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   sort => *array[str]* (default: ["module"])

        Sort the result.

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN


    *   List what distributions depend on one of the modules in
        Sah-Schemas-Path:

         rdeps(dists => ["Sah-Schemas-Path"]);

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   rel => *str* (default: "ALL")

        (No description)

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN

    means file is not found in mirror (possibly because the mirroring
    process excludes the file e.g. due to file size too large), "nometa"
    means file does not contain META.{yml,json}, "unsupported" means file
    archive format is not supported (e.g. rar), "err" means some other error
    in processing file.

    This function is not exported by default, but exportable.

    Arguments ('*' denotes required arguments):

    *   added_or_updated_since => *date*

        Include only records that are added/updated since a certain date.

    *   added_or_updated_since_last_index_update => *true*

        Include only records that are added/updated since the last index
        update.

    *   added_or_updated_since_last_n_index_updates => *posint*

        Include only records that are added/updated since the last N index
        updates.

    *   added_since => *date*

        Include only records that are added since a certain date.

    *   added_since_last_index_update => *true*

        Include only records that are added since the last index update.

README  view on Meta::CPAN

    *   sort => *array[str]* (default: ["name"])

        (No description)

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

    *   updated_since => *date*

        Include only records that are updated since certain date.

    *   updated_since_last_index_update => *true*

        Include only records that are updated since the last index update.

    *   updated_since_last_n_index_updates => *posint*

        Include only records that are updated since the last N index
        updates.

    *   use_bootstrap => *bool* (default: 1)

        Whether to use bootstrap database from App-lcpan-Bootstrap.

        If you are indexing your private CPAN-like repository, you want to
        turn this off.

    Returns an enveloped result (an array).

README  view on Meta::CPAN

        index will be located in the top-level of "cpan". If "index_name"
        contains a path, e.g. "./index.db" or "/home/ujang/lcpan.db" then
        the index will be located solely using the "index_name".

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

README  view on Meta::CPAN

        index will be located in the top-level of "cpan". If "index_name"
        contains a path, e.g. "./index.db" or "/home/ujang/lcpan.db" then
        the index will be located solely using the "index_name".

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

README  view on Meta::CPAN

    *   skip_sub_indexing_files => *array[str]*

        Skip one or more files from being parsed for subs.

    *   update_db_schema => *bool* (default: 1)

        Whether to update database schema to the latest.

        By default, when the application starts and reads the index
        database, it updates the database schema to the latest if the
        database happens to be last updated by an older version of the
        application and has the old database schema (since database schema
        is updated from time to time, for example at 1.070 the database
        schema is at version 15).

        When you disable this option, the application will not update the
        database schema. This option is for testing only, because it will
        probably cause the application to run abnormally and then die with a
        SQL error when reading/writing to the database.

        Note that in certain modes e.g. doing tab completion, the
        application also will not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN

        tags => ['common'],
    },
    update_db_schema => {
        summary => 'Whether to update database schema to the latest',
        'summary.alt.bool.not' => 'Do not update database schema to the latest',
        schema => 'bool*',
        default => 1, # will also be checked/set in _set_args_default
        description => <<'_',

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN

        tags => ['category:filtering'],
    },
    added_since_last_n_index_updates => {
        summary => 'Include only records that are added since the last N index updates',
        schema => 'posint*',
        tags => ['category:filtering'],
    },
);

our %fmtime_args = (
    updated_since => {
        summary => 'Include only records that are updated since certain date',
        schema => ['date*', 'x.perl.coerce_rules' => ['From_str::natural']],
        tags => ['category:filtering'],
    },
    updated_since_last_index_update => {
        summary => 'Include only records that are updated since the last index update',
        schema => 'true*',
        tags => ['category:filtering'],
    },
    updated_since_last_n_index_updates => {
        summary => 'Include only records that are updated since the last N index updates',
        schema => 'posint*',
        tags => ['category:filtering'],
    },
);

our %fctime_or_mtime_args = (
    added_or_updated_since => {
        summary => 'Include only records that are added/updated since a certain date',
        schema => ['date*', 'x.perl.coerce_rules' => ['From_str::natural']],
        cmdline_aliases => {since=>{}},
        tags => ['category:filtering'],
    },
    added_or_updated_since_last_index_update => {
        summary => 'Include only records that are added/updated since the last index update',
        schema => 'true*',
        cmdline_aliases => {since_last_index_update=>{}},
        tags => ['category:filtering'],
    },
    added_or_updated_since_last_n_index_updates => {
        summary => 'Include only records that are added/updated since the last N index updates',
        schema => 'posint*',
        cmdline_aliases => {since_last_n_index_updates=>{}},
        tags => ['category:filtering'],
    },
);

our %perl_version_args = (
    perl_version => {
        summary => 'Set base Perl version for determining core modules',
        schema  => 'str*',

lib/App/lcpan.pm  view on Meta::CPAN

        $args->{cpan} = File::HomeDir->my_home . '/cpan';
    }
    $args->{index_name} //= 'index.db';
    if (!defined($args->{num_backups})) {
        $args->{num_backups} = 7;
    }
    $args->{use_bootstrap} //= 1;
    $args->{update_db_schema} //= 1;
}

# set {added_,updated_,added_or_udpated_}since from
# {added_,updated_,added_or_updated_}since_last_{index_update,n_index_updates},
# set, since SQL query will usually use the former
sub _set_since {
    my ($args, $dbh) = @_;

    my $num_sinces = 0;
    if (defined $args->{added_since}) { $num_sinces++ }
    if (defined $args->{updated_since}) { $num_sinces++ }
    if (defined $args->{added_or_updated_since}) { $num_sinces++ }
    if (defined $args->{added_since_last_index_update} || defined $args->{updated_since_last_index_update} || defined $args->{added_or_updated_since_last_index_update}) {
        my ($time) = $dbh->selectrow_array("SELECT date FROM log WHERE category='update_index' AND summary LIKE 'Begin%' ORDER BY date DESC");
        die "Index has not been updated at all, cannot use {added_,updated_,added_or_updated_}since_last_index_update option" unless $time;
        if (delete $args->{added_since_last_index_update})            { $args->{added_since}            //= $time; log_trace "Setting added_since=%s", $time; $num_sinces++ }
        if (delete $args->{updated_since_last_index_update})          { $args->{updated_since}          //= $time; log_trace "Setting updated_since=%s", $time; $num_sinces++ }
        if (delete $args->{added_or_updated_since_last_index_update}) { $args->{added_or_updated_since} //= $time; log_trace "Setting added_or_updated_since=%s", $time; $num_sinces++ }
    }
    if (defined $args->{added_since_last_n_index_updates} || defined $args->{updated_since_last_n_index_updates} || defined $args->{added_or_updated_since_last_n_index_updates}) {
        my $n = int($args->{added_since_last_n_index_updates} // $args->{updated_since_last_n_index_updates} // $args->{added_or_updated_since_last_n_index_updates});
        $n = 1 if $n < 1;
        my $sth = $dbh->prepare("SELECT date FROM log WHERE category='update_index' AND summary LIKE 'Begin%' ORDER BY date DESC");
        $sth->execute;
        my $i = 0;
        my $time;
        1 while ++$i <= $n && (($time) = $sth->fetchrow_array);
        die "Index has not been updated that many times, please set a lower number for {,added_,updated_}since_last_n_index_updates option" if $i < $n;
        if (delete $args->{added_since_last_n_index_updates})            { $args->{added_since}            //= $time; log_trace "Setting added_since=%s", $time; $num_sinces++ }
        if (delete $args->{updated_since_last_n_index_updates})          { $args->{updated_since}          //= $time; log_trace "Setting updated_since=%s", $time; $num_sinces++ }
        if (delete $args->{added_or_updated_since_last_n_index_updates}) { $args->{added_or_updated_since} //= $time; log_trace "Setting added_or_updated_since=%s", $time; $num_sinces++ }
    }

    die "Multiple {added_,updated_,added_or_updated_}since options set, please set only one to avoid confusion" if $num_sinces > 1;
}

sub _add_since_where_clause {
    my ($args, $where, $table) = @_;
    if (defined $args->{added_since}  )          { push @$where, "$table.rec_ctime >= ". (0+$args->{added_since}) }
    if (defined $args->{updated_since})          { push @$where, "($table.rec_mtime >= ". (0+$args->{updated_since}). " AND $table.rec_ctime < ".(0+$args->{updated_since}). ")" }
    if (defined $args->{added_or_updated_since}) { push @$where, "($table.rec_ctime >= ". (0+$args->{added_or_updated_since}). " OR $table.rec_mtime >= ". (0+$args->{added_or_updated_since}). ")" }
}

sub _fmt_time {
    require POSIX;

    my $epoch = shift;
    return '' unless defined($epoch);
    POSIX::strftime("%Y-%m-%dT%H:%M:%SZ", gmtime($epoch));
}

lib/App/lcpan.pm  view on Meta::CPAN

            my $mod_id;
            if (($mod_id) = $dbh->selectrow_array("SELECT id FROM module WHERE name=?", {}, $pkg)) {
                $sth_upd_mod->execute(      $file_id, $author, $ver, _numify_ver($ver), time(), $pkg);
            } else {
                my $now = time();
                $sth_ins_mod->execute($pkg, $file_id, $author, $ver, _numify_ver($ver), $now,$now);
                $mod_id = $dbh->last_insert_id("","","","");
                _set_namespace($dbh, $pkg);
            }

            log_trace("  New/updated module: %s (file ID=%d, module ID=%d)", $pkg, $file_id, $mod_id);
        } # while <fh>

        # cleanup: delete file record (as well as dists, modules, and deps
        # records) for files in db that are no longer in 02packages.
      CLEANUP:
        {
            my @old_file_ids;
            my @old_file_entries; # ("author|filename", ...)
            for my $k (sort keys %file_ids_in_table) {
                next if exists $file_ids_in_02packages{$k};

lib/App/lcpan.pm  view on Meta::CPAN

        _update_files(%args); # it only returns 200 or dies
    }
    my @st2 = stat($packages_path);

    if (!$args{update_index} && !$args{force_update_index}) {
        log_info("Skipped updating index (reason: option update_index=0)");
    } elsif (!$args{force_update_index} && $args{update_files} &&
                 @st1 && @st2 && $st1[9] == $st2[9] && $st1[7] == $st2[7]) {
        log_info("%s doesn't change mtime/size, skipping updating index",
                    $packages_path);
        return [304, "Files did not change, index not updated"];
    } else {
        my $res = _update_index(%args);
        return $res unless $res->[0] == 200;
    }
    [200, "OK"];
}

sub _table_exists {
    my ($dbh, $schema, $name) = @_;
    my $sth = $dbh->table_info(undef, $schema, $name, undef);

lib/App/lcpan.pm  view on Meta::CPAN

    _set_since(\%args, $dbh);
    my $filters = {
        include_core => $include_core,
        include_noncore => $include_noncore,
        include_indexed => $include_indexed,
        include_unindexed => $include_unindexed,
        exclude_deps => $args{exclude_deps},
        authors => $args{authors},
        authors_arent => $args{authors_arent},
        added_since => $args{added_since},
        updated_since => $args{updated_since},
        added_or_updated_since => $args{added_or_updated_since},
    };

    my $res = _get_prereqs($file_ids, $dbh, {}, {},
                           1, $level, $filters, $plver, $args{flatten}, $args{dont_uniquify}, $phase, $rel);

    return $res unless $res->[0] == 200;
    my @cols;
    push @cols, (qw/module/);
    push @cols, "dist" if @$file_ids > 1;
    push @cols, (qw/author version/);

lib/App/lcpan.pm  view on Meta::CPAN

        (return [400, "Please specify modules OR dists"]);
    my $level   = $args{level} // 1;
    my $authors =  $args{authors} ? [map {uc} @{$args{authors}}] : undef;
    my $authors_arent = $args{authors_arent} ? [map {uc} @{$args{authors_arent}}] : undef;

    _set_since(\%args, $dbh);
    my $filters = {
        authors => $authors,
        authors_arent => $authors_arent,
        added_since => $args{added_since},
        updated_since => $args{updated_since},
        added_or_updated_since => $args{added_or_updated_since},
    };

    my $res = _get_revdeps($mods, $dbh, {}, {}, 1, $level, $filters, $args{flatten}, $args{dont_uniquify}, $args{phase}, $args{rel});

    return $res unless $res->[0] == 200;
    for (@{$res->[2]}) {
        $_->{dist} = ("  " x ($_->{level}-1)) . $_->{dist}
            unless $args{flatten};
        delete $_->{module} unless @$mods > 1 || $_->{level} > 1;
        delete $_->{level};

lib/App/lcpan.pm  view on Meta::CPAN

 authors(query => ["MICHAEL%"]); # -> ["MICHAEL", "MICHAELW", undef, {}]

=back

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<cpan> => I<dirname>

Location of your local CPAN mirror, e.g. E<sol>pathE<sol>toE<sol>cpan.

Defaults to C<~/cpan>.

=item * B<detail> => I<bool>

(No description)

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["id"])

Sort the result.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN


Also, some releases specify dynamic config, so there might actually be more
dependencies.

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "requires")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.

=item * B<with_xs_or_pp> => I<bool>

lib/App/lcpan.pm  view on Meta::CPAN

 dists(query => ["data-table"], cpan => "/cpan");

=back

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["dist"])

Sort the result.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN

 modules(%args) -> [$status_code, $reason, $payload, \%result_meta]

List modulesE<sol>packages.

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["module"])

Sort the result.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

 namespaces(%args) -> [$status_code, $reason, $payload, \%result_meta]

List namespaces.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<to_level> => I<int>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

 packages(%args) -> [$status_code, $reason, $payload, \%result_meta]

List modulesE<sol>packages.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["module"])

Sort the result.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

 rdeps(dists => ["Sah-Schemas-Path"]);

=back

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "ALL")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

e.g. due to file size too large), C<nometa> means file does not contain
META.{yml,json}, C<unsupported> means file archive format is not supported (e.g.
rar), C<err> means some other error in processing file.

This function is not exported by default, but exportable.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["name"])

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.


=back

lib/App/lcpan.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan.pm  view on Meta::CPAN


=item * B<skip_sub_indexing_files> => I<array[str]>

Skip one or more files from being parsed for subs.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_deps.pm  view on Meta::CPAN

    my %deps_args = %args;
    $deps_args{dists} = $dists;
    delete $deps_args{author};
    delete $deps_args{authors};
    delete $deps_args{authors_arent};
    $deps_args{authors} = delete $args{module_authors};
    $deps_args{authors_arent} = delete $args{module_authors_arent};
    $deps_args{phase} = delete $args{phase};
    $deps_args{rel} = delete $args{rel};
    $deps_args{added_since} = delete $args{added_since};
    $deps_args{updated_since} = delete $args{updated_since};
    $deps_args{added_or_updated_since} = delete $args{added_or_updated_since};
    $res = App::lcpan::deps(%deps_args);
    return $res if $res->[0] != 200;

    $res;
}

1;
# ABSTRACT: List dependencies for all of the dists of an author

__END__

lib/App/lcpan/Cmd/author_deps.pm  view on Meta::CPAN

distributions that are currently broken (not indexed on CPAN):

 % lcpan author-deps YOURCPANID --broken --dont-uniquify

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan/Cmd/author_deps.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "requires")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.

=item * B<with_xs_or_pp> => I<bool>

lib/App/lcpan/Cmd/author_deps_by_dependent_count.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "requires")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_dists.pm  view on Meta::CPAN


=item * B<latest> => I<bool>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_mods.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_mods_by_other_author_rdep_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_mods_by_rdep_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_rdeps.pm  view on Meta::CPAN

    my %rdeps_args = %args;
    $rdeps_args{modules} = $mods;
    delete $rdeps_args{author};
    delete $rdeps_args{authors};
    delete $rdeps_args{authors_arent};
    $rdeps_args{authors} = delete $args{user_authors};
    $rdeps_args{authors_arent} = delete $args{user_authors_arent};
    $rdeps_args{phase} = delete $args{phase};
    $rdeps_args{rel} = delete $args{rel};
    $rdeps_args{added_since} = delete $args{added_since};
    $rdeps_args{updated_since} = delete $args{updated_since};
    $rdeps_args{added_or_updated_since} = delete $args{added_or_updated_since};
    $res = App::lcpan::rdeps(%rdeps_args);
    return $res if $res->[0] != 200;

    $res;
}

1;
# ABSTRACT: Find distributions that use one of author's modules

__END__

lib/App/lcpan/Cmd/author_rdeps.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "ALL")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.

=item * B<user_authors> => I<array[str]>

lib/App/lcpan/Cmd/author_rels.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["name"])

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/author_scripts.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors.pm  view on Meta::CPAN

 handle_cmd(query => ["MICHAEL%"]); # -> ["MICHAEL", "MICHAELW", undef, {}]

=back

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<cpan> => I<dirname>

Location of your local CPAN mirror, e.g. E<sol>pathE<sol>toE<sol>cpan.

Defaults to C<~/cpan>.

=item * B<detail> => I<bool>

(No description)

lib/App/lcpan/Cmd/authors.pm  view on Meta::CPAN


=item * B<sort> => I<array[str]> (default: ["id"])

Sort the result.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_dist_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_filesize.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_mod_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_mod_mention_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_rdep_count.pm  view on Meta::CPAN


=item * B<rel> => I<str>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_rel_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/authors_by_script_count.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/changes.pm  view on Meta::CPAN


=item * B<module_or_dist_or_script>* => I<str>

Module or dist or script name.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/contents.pm  view on Meta::CPAN


=item * B<query_type> => I<str> (default: "any")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/copy_mod.pm  view on Meta::CPAN


=item * B<overwrite> => I<bool>

Whether to overwrite existing file.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/copy_rel.pm  view on Meta::CPAN


=item * B<release>* => I<str>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/copy_script.pm  view on Meta::CPAN


=item * B<script>* => I<filename::unix>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/db_path.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/delete_old_data.pm  view on Meta::CPAN

If C<index_name> is a filename without any path, e.g. C<index.db> then index will
be located in the top-level of C<cpan>. If C<index_name> contains a path, e.g.
C<./index.db> or C</home/ujang/lcpan.db> then the index will be located solely
using the C<index_name>.

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/delete_rel.pm  view on Meta::CPAN


=item * B<release>* => I<str>

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

lib/App/lcpan/Cmd/deps.pm  view on Meta::CPAN


Also, some releases specify dynamic config, so there might actually be more
dependencies.

This function is not exported.

Arguments ('*' denotes required arguments):

=over 4

=item * B<added_or_updated_since> => I<date>

Include only records that are addedE<sol>updated since a certain date.

=item * B<added_or_updated_since_last_index_update> => I<true>

Include only records that are addedE<sol>updated since the last index update.

=item * B<added_or_updated_since_last_n_index_updates> => I<posint>

Include only records that are addedE<sol>updated since the last N index updates.

=item * B<added_since> => I<date>

Include only records that are added since a certain date.

=item * B<added_since_last_index_update> => I<true>

Include only records that are added since the last index update.

=item * B<added_since_last_n_index_updates> => I<posint>

lib/App/lcpan/Cmd/deps.pm  view on Meta::CPAN


=item * B<rel> => I<str> (default: "requires")

(No description)

=item * B<update_db_schema> => I<bool> (default: 1)

Whether to update database schema to the latest.

By default, when the application starts and reads the index database, it updates
the database schema to the latest if the database happens to be last updated by
an older version of the application and has the old database schema (since
database schema is updated from time to time, for example at 1.070 the database
schema is at version 15).

When you disable this option, the application will not update the database
schema. This option is for testing only, because it will probably cause the
application to run abnormally and then die with a SQL error when reading/writing
to the database.

Note that in certain modes e.g. doing tab completion, the application also will
not update the database schema.

=item * B<updated_since> => I<date>

Include only records that are updated since certain date.

=item * B<updated_since_last_index_update> => I<true>

Include only records that are updated since the last index update.

=item * B<updated_since_last_n_index_updates> => I<posint>

Include only records that are updated since the last N index updates.

=item * B<use_bootstrap> => I<bool> (default: 1)

Whether to use bootstrap database from App-lcpan-Bootstrap.

If you are indexing your private CPAN-like repository, you want to turn this
off.

=item * B<with_xs_or_pp> => I<bool>



( run in 0.671 second using v1.01-cache-2.11-cpan-05444aca049 )