How to make a Pod link from a module to a script within the same distribution? - perl

Consider this module App::TimeTracker. If you click on the tracker link in the SYNOPSIS section you end up here whereas you should have ended up here. The Pod source code responsible for the behavior is given here, which shows that the following Pod formatting code was used:
L<tracker>
I can fix the problem by providing an absolute link instead:
L<tracker|https://metacpan.org/pod/release/DOMM/App-TimeTracker-3.000/bin/tracker>
but this fixes the link to version 3.000 which may change in the future.
So how should this be done in general?

Use the full path without the version number: https://metacpan.org/pod/distribution/App-TimeTracker/bin/tracker.

The problem is that tracker_bash_autocomplete is not being indexed correctly as documentation by MetaCPAN. The NAME section has a very specific format based on manpages which must be adhered to for MetaCPAN to know how to link to your documentation. Putting tracker bash autocomplete before the hyphen makes MetaCPAN index it as tracker.
=head1 NAME
tracker_bash_autocomplete - whatever

Related

Where can I find a copy of Erlang/OTP R14B05?

I'm trying to find the source for R14B05.
The reason is that I want to see how Precise Explanation of Typing Errors was implemented. That page provides a link to the source code, but it doens't seem to be version-controlled. So I want to diff against the code is based on in order to see what changed.
The page that links to the paper says that the code is based on R14B05, so now I'd like to try diffing against R14B05.
I look at https://github.com/erlang/otp/releases?after=OTP_R16B01_RC1 or git tag -l in the repo, I can only find R14B04, then the R15 series–no R14B05.
I see no R14B05 anywhere, only R14B01-R14B04.
http://erlang.org/download/ and http://erlang.org/documentation/ seems to have old files.
doc-5.8.5 is for Erlang/OTP R14B04, and the next one, which is doc-5.9, is for Erlang/OTP R15B. There does not appear to be a R14B05 one, so perhaps it indeed could be a typo. Perhaps they thought 5.8.5 was R14B05?
You could try contacting the authors as well, just in case.

In Sendmail Jilter, what does various Abbreviations mentioned in JilterConstants mean

In Sendmail Jilter, what does various Abbreviations mentioned in JilterConstants mean ?
like:
SMFIC_HEADER, SMFIR_CHGHEADER etc.
Official documentation doesn't have any details for class JilterConstants
http://sendmail-jilter.sourceforge.net/apidocs/index.html
However i was able to find what each flag is used for:
https://github.com/tachtler/jilter-InfoMilter/blob/master/com/sendmail/jilter/JilterConstants.java
But i am interested in full form of those flags.
For SMFIC_HEADER I assume it may mean "Send Mail Flag .... " But i am looking for an official reference. Thanks.
The constants are copied from Milter API (libmilter) as provided by sendmail.org.
Milter API (libmilter) is documented in open source sendmail distribution files.

How underscored directories are filtered in Jekyll/Webrick?

Update: Check my answer below.
I just realized that in Jekyll Webrick server, directories starting with underscores(_includes, _layouts etc.) can't be accessed and are not listed when jekyll serve --show-dir-listing option is turned on. I wonder how Jekyll does that, as Webricks shows underscored directories on default. I did a quick search in the source code, I checked lib/jekyll/commands/serve.rb and similar files, but could not find the exact reason. It might be something related to fancy_listing?
Example:
It is there!:
Update: I found the relevant code in jekyll/reader.rb, which has a filter function and it is defined in jekyll/entry_filter.rb! :) Here is the code:
First a regex is defined:
SPECIAL_LEADING_CHAR_REGEX = %r!\A#{Regexp.union([".", "_", "#", "~"])}!o.freeze
Then special?function is defined:
def special?(entry)
SPECIAL_LEADING_CHAR_REGEX.match?(entry) ||
SPECIAL_LEADING_CHAR_REGEX.match?(File.basename(entry))
end
And special?function is used in the filter function to detect and filter those files matching the regex.
And the Readerclass is using this filtering function in various places.
To be honest, I still did not get how jekyll bring those things together but I think I'll try to figure them out myself.

PerlPod - Links don't seem to work

I have the following line in my POD documentation:
This is taken by the L<< Promoted Build
Plugin|https://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin
>> C<$PROMOTED_JOB_NAME> environment variable.
I want this to format as:
This is taken by the
<a href="https://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin">
Promoted Builds Plugin</a> <code>$PROMOTED_JOB_NAME</code>
environment variable.
However, when I run pod2html, I get the following error:
/usr/bin/pod2html: jdescribe.pl: cannot resolve
L<Promoted Build Plugin|https://wiki.jenkins-ci.org/display/JENKINS/Promoted+Builds+Plugin>
in paragraph 46.
According to the Perlpod documentation and the Perlpodspec documentation, this should be correct. Or, at least it looks that way to me.
What am I doing wrong?
By the way, the links do work with pod2markdown.
Like optional already assumed, your pod2html is too old. Things started to work at some point between perl 5.14.x and perl 5.16.x.
To explain this: in older days, the construct L<text|href> was forbidden. The reasoning for this was that a non-hypertext Pod renderer (e.g. pod2text) would lose information if only the link text was displayed. This prohibition was removed in perlpodspec.pod with this commit:
commit f6e963e4dd62b8e3c01b31f4a4dd57e47e104997
Author: Ricardo Signes <rjbs#cpan.org>
Date: Mon Dec 7 18:19:28 2009 -0500
remove prohibition against L<text|href>
Nowadays, pod2text displays such a link as text <href>. And pod2html is now also able to create a real link.
If you cannot switch to newer versions of pod2html, then you have to restrict to links without the text part, e.g. L<http://wiki.jenkinsci.org/display/JENKINS/Promoted+Foo+Bar>.

Change attributes of change-set from command line

I tried using aegis -change_attributes to change the brief_description of my current change set but it didn't work.
aegis -change_attributes description="test"
What should I do to make this work?
EDIT: The command I was looking for was
aegis -change_attributes brief_description="$DESC";
Since no answer was given (for quite some time) I'm adding the solution I gave in the comments, as the anser:
The above command is correct if you want to set the extensive description. If one wants to just set the brief description "aegis -change_attributes brief_description="$DESC"" has to be used