-
-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix broken cpm update #1829
fix broken cpm update #1829
Conversation
WalkthroughThe recent updates streamline the Perl module installation process by integrating Carton and ExtUtils::PL2Bat directly. Makefile adjustments improve dependency management and build processes within Docker containers. The build.pl script now includes additional modules for fat-packing, enhancing functionality. The cpanfile and cpanfile.snapshot have been updated to reflect new dependencies and module versions, ensuring compatibility and improved performance. Changes
Poem
TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Outside diff range and nitpick comments (2)
author/cpm/Dockerfile (2)
Line range hint
4-4
: Pin versions in apk add to ensure reproducibility.- RUN apk add --no-cache gcc libc-dev curl perl patch make wget + RUN apk add --no-cache gcc=<version> libc-dev=<version> curl=<version> perl=<version> patch=<version> make=<version> wget=<version>Tools
Hadolint
[warning] 12-12: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check (DL4006)
Line range hint
6-6
: Set the SHELL option -o pipefail before using pipes in RUN commands.+ SHELL ["/bin/ash", "-eo", "pipefail"] - RUN curl --compressed -sSL https://raw.githubusercontent.com/tokuhirom/Perl-Build/master/perl-build | perl - 5.8.8 /opt/perl-5.8/ + RUN curl --compressed -sSL https://raw.githubusercontent.com/tokuhirom/Perl-Build/master/perl-build | perl - 5.8.8 /opt/perl-5.8/Also applies to: 12-12
Tools
Hadolint
[warning] 12-12: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check (DL4006)
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (6)
- author/cpm/Dockerfile (1 hunks)
- author/cpm/Makefile (1 hunks)
- author/cpm/build.pl (2 hunks)
- author/cpm/cpanfile (1 hunks)
- author/cpm/cpanfile.snapshot (13 hunks)
- bin/cpm (4 hunks)
Files not summarized due to errors (1)
- bin/cpm: Error: Message exceeds token limit
Files skipped from review due to trivial changes (1)
- author/cpm/cpanfile
Additional context used
Hadolint
author/cpm/Dockerfile
[warning] 4-4: Pin versions in apk add. Instead of
apk add <package>
useapk add <package>=<version>
(DL3018)
[warning] 6-6: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check (DL4006)
[warning] 12-12: Set the SHELL option -o pipefail before RUN with a pipe in it. If you are using /bin/sh in an alpine image or if your shell is symlinked to busybox then consider explicitly setting your SHELL to /bin/ash, or disable this check (DL4006)
Additional comments not posted (16)
author/cpm/build.pl (1)
Line range hint
6-31
: Ensure all added modules are necessary and correctly used in the fat-packing process.Verification successful
The
rg
command output shows that the modules added in theauthor/cpm/build.pl
file are indeed used in the repository. Here are the relevant lines:
use App::FatPacker::Simple;
use Carton::Snapshot;
use ExtUtils::PL2Bat qw/pl2bat/;
These modules are used in the
author/cpm/build.pl
file, confirming their necessity and correct usage in the fat-packing process.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the necessity and correct usage of all added modules in the fat-packing process. # Test: Search for module usage in the repository. Expect: Usage found for each module. ast-grep --lang perl --pattern $'use $_;'Length of output: 151
Script:
#!/bin/bash # Description: Verify the necessity and correct usage of all added modules in the fat-packing process. # Test: Search for module usage in the repository. Expect: Usage found for each module. rg '^use ' --glob '*.pl' --glob '*.pm'Length of output: 7905
author/cpm/Makefile (1)
17-31
: Review the restructuring of targets and dependency handling to ensure they align with project requirements.Verification successful
The restructuring of targets and dependency handling in the
author/cpm/Makefile
appears to be consistent with the project requirements. The targetscpm
,deps
, and.deps.exists
are defined and used correctly within the Makefile and other related Makefiles in the repository.
cpm:
target is defined inauthor/cpm/Makefile
.deps:
target is defined and used inauthor/cpm/Makefile
,author/carton/Makefile
, andauthor/cpanm/Makefile
..deps.exists:
target is defined and used inauthor/cpm/Makefile
,author/carton/Makefile
, andauthor/cpanm/Makefile
.These findings indicate that the restructuring aligns with the project's dependency management and build processes.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the restructuring of targets and dependency handling. # Test: Search for target usage in the repository. Expect: Correct alignment with project requirements. rg --type make $'target'Length of output: 23
Script:
#!/bin/bash # Description: Verify the restructuring of targets and dependency handling. # Test: Search for specific target usage in the repository. Expect: Correct alignment with project requirements. rg --type make 'cpm:' rg --type make 'deps:' rg --type make '.deps.exists:'Length of output: 1682
author/cpm/cpanfile.snapshot (14)
11-26
: Updated entry forApp-FatPacker
to version0.010008
.This update includes the addition of
App::FatPacker::Trace
and updates to the requirements, ensuring compatibility with Perl version5.008000
.
27-38
: Added new entry forApp-FatPacker-Simple
version0.09
.This addition is aligned with the PR's objective to enhance module packing capabilities. Ensure that the dependency on
Distribution::Metadata 0.05
is intended, as the rest of the project uses version0.06
.
Line range hint
39-58
: Updated entry forApp-cpm
to version0.997017
.This update includes a comprehensive list of provided modules and updated requirements, which are crucial for the application's package management functionalities.
254-259
: Added new entry forClone
version0.46
.This module is essential for deep copying data structures in Perl, and its inclusion is appropriate for the project's requirements.
289-301
: Added new entry forDistribution-Metadata
version0.06
.This module is crucial for handling distribution metadata, and its addition supports the project's need for managing module metadata more effectively.
642-649
: Updated entry forJSON
to version4.10
.This update is crucial for handling JSON data within the project, ensuring compatibility with modern JSON standards.
824-935
: Extensive update forPPI
to version1.278
.This update significantly enhances the Perl Parsing Interface, which is vital for analyzing and manipulating Perl code effectively within the project.
952-967
: Updated entry forParams-Util
to version1.102
.This utility module provides simple, straightforward functions to validate parameters, which is a fundamental capability for robust module development.
1026-1035
: Updated entry forScalar-List-Utils
to version1.63
.This update provides essential utilities for list and scalar manipulation, enhancing the project's ability to handle data structures efficiently.
1045-1051
: Updated entry forStorable
to version3.25
.This module is crucial for data serialization and deserialization, supporting the project's needs for storing state and other complex data structures.
1064-1074
: Updated entry forTask-Weaken
to version1.06
.This update ensures that unnecessary objects are properly disposed of, which is important for managing memory and resources efficiently in Perl applications.
1010-1018
: Updated entry forPerl-Strip
to version1.2
.This module provides functionality to strip Perl code of unnecessary parts, which is beneficial for creating a minimal runtime environment.
1359-1364
: Updated entry forcommon-sense
to version3.75
.This module provides a modern set of default imports to improve the robustness of Perl scripts with minimal overhead.
1379-1385
: Updated entry forversion
to0.9932
.This update ensures that version string handling is consistent and compliant with modern Perl practices.
Summary by CodeRabbit
New Features
Improvements
Dependency Updates
App::FatPacker
,Clone
,Distribution::Metadata
, and others.App-cpm
and other related packages to newer versions.