Skip to content
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

Added Perl package in Knowledge base #1666

Closed
wants to merge 7 commits into from
Closed

Added Perl package in Knowledge base #1666

wants to merge 7 commits into from

Conversation

prachinandi
Copy link
Contributor

@prachinandi prachinandi commented Mar 30, 2022

PR Checklist:

@prachinandi prachinandi requested a review from a team as a code owner March 30, 2022 14:56
@prachinandi
Copy link
Contributor Author

@kathatherine @beckermr @zklaus can u please review the PR. This is not the final one lot many changes are yet to be done, just wanted to know if I am proceeding in the right direction and if I have been following exactly what is being asked to fix in issue #1536.

==================

The most commonly used build system for perl packages is ``ExtUtils::MakeMaker``.
For the archetypical packaging of packages of this form, you can have a look at ``perl-file-which``'s recipe.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super small comment: Maybe add a link to the package here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Super small comment: Maybe add a link to the package here?

Sure sir! Will do that as well

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@BastianZim from where can I get the package link?😅

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@zklaus
Copy link
Contributor

zklaus commented Mar 31, 2022

Great start! I think it would also be good to leave a pointer to this section in the getting started section.

I am a bit on the fence. Perhaps it's actually better not to include an example package here, but rather explain the full meta.yaml file. I think in any case, it would be good to add the bit about core, vendor, and site parts of Perl installations so maintainers can get an understanding of this even when not using MakeMaker.

Finally, the line under the section title should have the same length as the title itself.


The steps are as follows:

* The name is composed of ``perl-`` + the lowered version of the CPAN name.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The name is composed of ``perl-`` + the lowered version of the CPAN name.
* The name is composed of ``perl-`` + the lower-cased version of the CPAN name.

The steps are as follows:

* The name is composed of ``perl-`` + the lowered version of the CPAN name.
* The requirements contain ``make`` for build, ``perl`` and ``perl-extutils-makemaker`` for host, and perl for run.
Copy link
Member

@jaimergp jaimergp Mar 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The requirements contain ``make`` for build, ``perl`` and ``perl-extutils-makemaker`` for host, and perl for run.
* The requirements contain ``make`` for ``build``, ``perl`` and ``perl-extutils-makemaker`` for ``host``, and ``perl`` for ``run``.

Comment on lines 1556 to 1563
build:
number: 0
noarch: generic
script:
- perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1
- make
- make test
- make install VERBINST=1
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
build:
number: 0
noarch: generic
script:
- perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1
- make
- make test
- make install VERBINST=1
build:
number: 0
noarch: generic
script:
- perl Makefile.PL INSTALLDIRS=vendor NO_PERLLOCAL=1 NO_PACKLIST=1
- make
- make test
- make install VERBINST=1

``Makefile.PL`` is the crucial one that guarantees installation into the vendor section, as well as non-interference with standard files by the ``NO_PERLLOCAL`` and ``NO_PACKLIST`` switches.

.. note::
``noarch: generic`` should be present only if the package is a pure perl one, i.e. contains no compiled c code or extensions, and that of course more requirements can be necessary.
Copy link
Member

@jaimergp jaimergp Mar 31, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
``noarch: generic`` should be present only if the package is a pure perl one, i.e. contains no compiled c code or extensions, and that of course more requirements can be necessary.
``noarch: generic`` should be present only if the package is a pure perl one (i.e. contains no compiled C code or extensions), and that of course more requirements can be necessary.

and that of course more requirements can be necessary

What do you mean here exactly?


* The name is composed of ``perl-`` + the lowered version of the CPAN name.
* The requirements contain ``make`` for build, ``perl`` and ``perl-extutils-makemaker`` for host, and perl for run.
* The tests section under imports lists the CPAN module that can be ``used`` in perl.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
* The tests section under imports lists the CPAN module that can be ``used`` in perl.
* The tests section under ``imports`` lists the CPAN module that can be ``used`` in perl.

This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

Add Perl package hints to documentation
4 participants