in reply to Issues with first module build
G'day Leitz,
Firstly, please put code, data, and any error messages within <code>...</code> tags. That way, we can see what you're seeing and get a verbatim copy via the [download] link.
The first line of MANIFEST.SKIP contains a link: it looks to us like \bbookbot-\d\.\_+; it probably really (i.e. to you) looks like \bbookbot-[\d\.\_]+.
\bbookbot-[\d\.\_]+ actually matches all of your files. \bbookbot-.*\* does not match any of your files. A simpler regex to match all of your files is /bookbot-.+?/.
Because (my guess about) the first regex should match, it's possible you have some rogue (maybe whitespace) character in MANIFEST.SKIP. Please run the following command and post the result:
cat -vet MANIFEST.SKIP
That will highlight any rogue characters. It may present an immediate solution to you.
The following (in the spoiler) is my analysis. You may want to modify that to test other regexes or different input files. Note that I trimmed the leading /home/leam/lang/git from all pathnames.
— Ken
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Issues with first module build
by Leitz (Scribe) on Jan 05, 2021 at 08:47 UTC | |
Ken, thanks! I've put the code into code tags. As an experiment, I created a totally new module and it seems to have the same issue issue with the MANIFEST.SKIP.
MANIFEST.SKIP.bak cat MANIFEST.SKIP.bakI then
Perl Info
Chronicler: The Domici War (domiciwar.net) General Ne'er-do-well (github.com/LeamHall) | [reply] [d/l] [select] |
by kcott (Archbishop) on Jan 05, 2021 at 18:32 UTC | |
I use Module::Starter, via the module-starter script, but I don't use Module::Build (I use ExtUtils::MakeMaker). I became very curious about all of these anomalies, so I decided to try the commands that you've shown for myself. I upgraded modules, where necessary, to the latest versions:
I pared down my ~/.module-starter/config to an absolute barebones version:
I created a fresh directory, ~/tmp/pm_11126324, for my tests. I then ran the commands you show.
So, I don't see any of the initial lines that you show:
There would appear to be a bug in Module::Build in that it reports "Added to MANIFEST: xt/boilerplate.t" but either that didn't happen or that line was subsequently removed:
I had a look in "Active bugs for Module-Build" but couldn't see anything related to this. There are multiple screenfuls of active bugs, so I may have missed it; also, that many active bugs does not fill me with confidence about this module in general. It may be that you're attempting to create your module in a directory that's filled with files from previous attempts. That could account for all the extra messages that you reported. Try creating a fresh, empty directory and start again from scratch. Also look in your ~/.module-starter/config and see what's there that could be causing issues. Do you, perhaps, have a template_dir: line which is causing your directory to be populated with problem files. Your cp MANIFEST.SKIP.bak MANIFEST.SKIP command looks wrong to me. Normally, you copy a file to a backup version; not the other way around. I looked at the "Module::Build: ACTIONS: test" documentation. It does not appear to recursively work through the t/ directory: "Tests can be defined in the standard places: a file called test.pl in the top-level directory, or several files ending with .t in a t/ directory." You may be able to use the --test_files argument to do what you want. I haven't tested this. Also look at "Module::Build: SEE ALSO". There are a number of links there that might be useful for you (e.g. the Cookbook). I didn't look at any of these. Finally, you might consider using ExtUtils::MakeMaker instead of Module::Build. That's what I use for both personal projects and $work: I've never had any of the sort of issues that you're reporting. — Ken | [reply] [d/l] [select] |
by Leitz (Scribe) on Jan 05, 2021 at 18:56 UTC | |
Ken, I tried a different solution; creating the module as a totally different user. That changes the results greatly, so my bet is that in some previous digging into module building I read some page and modified things I've long forgotten about. I'll give ExtUtils::MakeMaker a look. Chronicler: The Domici War (domiciwar.net) General Ne'er-do-well (github.com/LeamHall) | [reply] |
by shmem (Chancellor) on Jan 05, 2021 at 19:02 UTC | |
by kcott (Archbishop) on Jan 05, 2021 at 16:12 UTC | |
Thanks for adding the code tags. The reason I asked you to use -vet with cat, was to locate characters that were not immediately obvious but could affect the regex. Compare
with
On a different note, your MANIFEST.SKIP.bak file has regexes for MSWin-style files (e.g. *.bat and *.com) but your perl -V indicates a Linux(Debian) installation. Did you perhaps copy files from another OS onto your Linux OS? Were the modules you have on your Linux OS installed on that OS (with package manager, cpan or similar utility, or manual build from source)? — Ken | [reply] [d/l] [select] |
by stevieb (Canon) on Jan 05, 2021 at 09:04 UTC | |
Change into the distribution's root directory, then post here (in code tags) the output of perl t/manifest.t. Those path names shouldn't be absolute, and if they're being interpreted as such for some reason, the word boundary of the regex will definitely not match. | [reply] [d/l] |
by Leitz (Scribe) on Jan 05, 2021 at 10:22 UTC | |
Not a lot of info:
Addendum: More info
Chronicler: The Domici War (domiciwar.net) General Ne'er-do-well (github.com/LeamHall) | [reply] [d/l] [select] |
by hippo (Archbishop) on Jan 05, 2021 at 10:38 UTC | |
by stevieb (Canon) on Jan 05, 2021 at 16:20 UTC | |
by stevieb (Canon) on Jan 05, 2021 at 16:24 UTC | |