Should I put only non-core modules in the PREREQ_PM section of a Makefile.PL or should I put there the core modules too?
Should I put core modules in the PREREQ_PM section of a Makefile.PL?
458 views Asked by sid_com At
2
There are 2 answers
0
tobyink
On
There was an interesting discussion on this on PerlMonks not so very long ago.
My personal policy is not to do so.
Although modules are dropped from core occasionally, there is a long (about 2 year) deprecation cycle, giving you plenty of time to re-package your distribution with updated dependencies.
And if the worst comes to the worst, and you don't update your distribution, when they try to install it, they'll get an error message about a missing module, so it should be fairly obvious for them how to proceed. (That is, they should install that module, then try installing yours again.)
Related Questions in PERL
- Perl Regex for converting query strings
- Cross compiling perl for Android ld.lld: error: unable to find library -lpthread
- Regexp to remove small numbers and leave large ones
- `df` command not capturing entire output in perl
- Webmin CentOS7 AWS backup errors - perl(S3::AWSAuthConnection) can't be installed
- How to ignore perm errors with Path::Tiny 'visit'? (Windows)
- Why does setting `*\` to a scalar (string) reference not result in auto printing
- Regex for deconstructing SQL where statement
- Random characters in DS record from Net::DNS:RR when calling print/string
- Perl with Selenium: cannot save the Web page with Ctrl+S
- openssl pbkdf2 and perl
- Strawberry Perl using a separate winlibs distro
- Perl / Undefined value as a HASH reference when running SNMP queries
- Timestamp with timezone: works with isql but not with DBD::Firebird
- Slurping a file ... syntax error - example from perldoc
Related Questions in MAKEFILE
- How to refer to the filepath of test data in test sourcecode?
- Can't connect to postgres with Adminer using Docker on MacOS
- Flint installation error: make: *** [build/generic_files/memory_manager.lo] Error 1
- How to compile the Linux kernel with -O0 for more detailed debug?
- Makefile:7: *** missing separator. Stop (HELP NEEDED)
- Trying to compile GCC returns a bunch of errors
- cmake and g++ cross compilation looking for library in host sysroot path instead of target sysroot
- Turn a makefile into a list of build commands
- make test error with Golang: make: *** [Makefile:47: manifests] Error 126
- Passing optional arguments from makefile to shell script
- GNU make file pairwise combinations of files in folder
- make Error 2, The system cannot find the file specified
- Why do I get a make: *** No target specified and no makefile error?
- why does Make give error while compiling?
- CMake always rebuilding included file even if it didn't change
Related Questions in PERL-MODULE
- How can I optimize Symbolic Link Deletion in Perl?
- Can't load application from file /perl/school-reports/script/reports No such file or directory at /usr/local/share/perl/5.34.0/Mojo/Server.pm line 59
- Getting a symbol lookup error message when running a perl script: "...vxs.so: undefined symbol: Perl_xs_apiversion_bootcheck"
- How to install libdata-validate-ip-perl in centos
- When do Perl package variables fall out of scope?
- Export anonymous function from Package
- Uninitialized value when moving sorting function to package
- Math::Random::MT compilation failed
- How to split a list in two over a condition?
- Call srand only once when loading perl modules
- Trying to learn to install Perl module
- Assigning PWD last value to variable in perl module
- 500 Can't connect to localhost:443 (certificate verify failed)
- can't locate language.pm in centos
- ac.c: loadable library and perl binaries are mismatched (got handshake key 0000000012400080, needed 0000000012900080)
Related Questions in PREREQUISITES
- Why my prerequisites automatic variable is empty?
- make updates static lib archive even if newer than pre-requisites
- What is the difference between the two rules without prerequisite?
- C#.net monolithic installer with prerequisites
- My makefile only executes the first prerequisite?
- How to check if Office >= 2010 is installed?
- How to add custom prerequisite for ClickOnce?
- Visual Studio Installer single MSI creation
- ClickOnce prerequisite for "ASP.NET Core Runtime 6.0.10 x64"
- Visual Studio Setup Project Prerequisites are not installing
- GNUMake - Using text functions with match pattern as prerequisite
- How to run `make` on a `makefile` target and ignore prerequisites?
- Prerequisites not load in Visual Studio
- How can I add SQL Server 2019 Express as a prerequisite in Visual Studio?
- Control-M: Order date (prerequisite), two jobs with different load dates
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Yes, you should specify all dependencies: The Perl Core is not fixed in all eternity. Core modules get added or removed (after a deprecation process) all the time. Specifying all your dependencies…
… will make your program work in future perls that have removed the module from Core. It will still be available from CPAN. For example
Term::UIis a Core module since v5.9.5 but was removed in v5.19.0.… will assert that a sufficiently high version of the core module in question is installed. Some modules have evolved significantly through time, and it is easy to forget that not everything was available five years ago.
… will make your program work on older perls that didn't include the module into Core, but are nevertheless able to use it.
On the other hand these can be very small gains. Nothing will break should you forget to specify such a central module like
Carpas a dependency.Remember: There are three causes for a module to be included in Core:
strictwhich is not going to be removed.Tip: use the
corelisttool fromModule::Corelistto see what modules versions are available in which perl release.