Help for CPAN::MetaPackager & CPAN::MetaCurator
Part 1: Ron's Environment:
- My web host and I use case-sensitive file systems. I use Debian.
- The distro CPAN::MetaPackager ships with data/cpan.metapackager.sqlite (15Mb),
- which is the output of running scripts/build.db.sh.
- You will need your own copy of MetaCPAN's 02packages.details.txt.gz to re-run scripts/build.db.sh.
- 02packages.details.txt.gz contains 9 header lines & about 270,458 records.
- The distro CPAN::MetaCurator ships with data/cpan.metacurator.sqlite,
- I am running SQLite V 3.46.1.
Part 2: CPAN::MetaPackager
Note: To minimise the load on CPAN, be really sure you wish to update cpan.metapackager.sqlite.
Specific steps:
- Choose a download directory: cd ~/backup
- Download it: wget https://www.cpan.org/modules/02packages.details.txt.gz
- Unpack it: gunzip 02packages.details.txt.gz
- Put it somewhere central: cp 02packages.details.txt /tmp
Q & A:
- Q: Why did I download it into ~/backup before copying it to /tmp?
- A: Because in ~/backup it will be preserved across a re-boot, whereas...
- in /tmp it may not be. And yet CPAN::MetaPackager needs to be able to find...
- the file on each user's machine. And for that a common directory name, /tmp, helps.
Part 3: Run CPAN::MetaPackager's build.db.sh.
Specific steps:
- Choose a download directory: cd ~/Downloads
- Download CPAN-MetaPackager from MetaCPAN @ https://metacpan.org/dist/CPAN-MetaPackager
- Unpack it: tar xvf CPAN-MetaPackager-1.04.tgz (or whatever the latest version is)
- Move into the directory: cd CPAN-MetaPackager-1.04
- The next command will take 190 minutes for 262,145 records on my Levono M70Q 'Tiny' desktop
- Rebuild the db: time scripts/build.db.sh
- This script looks for /tmp/02packages.details.txt, as mentioned above
- The output is data/cpan.metapackager.sqlite
- Run: git commit -am"Recreate data/cpan.metapackager.sqlite"
- git push
Part 4: Perl.Wiki.html
Edit Perl.Wiki.html as desired, including updating para ChangeLog2.
Specific steps:
- Choose a download directory: cd ~/Downloads
- Download CPAN-MetaCurator from MetaCPAN @ https://metacpan.org/dist/CPAN-MetaCurator
- Unpack it: tar xvf CPAN-MetaCrator-1.33.tgz (or whatever the latest version is)
- Move into the directory: cd CPAN-MetaCurator-1.33
- Visit https://metacpan.org/recent
- Save page as /tmp/2026-10-24.html (using the most recent date displayed)
- Run: scripts/zap.log.sh; scripts/parse.metacpan.recent.pl -in /tmp/2026-10-24.html -out /tmp/2026-10-24.csv
- Run: scripts/zap.log.sh ; scripts/check.module.names.pl -names /tmp/2026-10-24.csv -log debug
- Load Perl.Wiki.html into FireFox (FF, or your web client): /home/ron/savage.net.au/misc/Perl.Wiki.html
- Load into your editor the output files from the last 2 runs: log/development.log & /tmp/2026-10-24.csv
- Now use the 'Not found:' list in the former to transfer their details from the latter into Perl.Wiki.html
- Save Perl.Wiki.html by clicking on the red bullseye at the top right. This will save it in ~/Downloads
- Export it as tiddlers.json thus:
- In the 'Tools' tab click 'export all'
- In the export menu click 'JSON format'. This exports to ~/Downloads/tiddlers.json
Part 5: Tasks for Ron
Proof-read the patches to Perl.Wiki.html
- cd ~/savage.net.au
- cp ~/Downloads/Perl.Wiki.html to misc/
- git commit -am"Update Perl.Wiki V 1.57 (using the most recent version)"
- cp misc/Perl.Wiki.html $DH/misc (/dev/shm/html/misc on my machine) for eye-ball check via FF
Part 6: CPAN::MetaCurator
Run CPAN::MetaCurator's build.db.sh.
Specific steps:
- If you wish, tell build.db.sh to use ~/Downloads/tiddlers.json via the env var INCLUDE_PACKAGES:
- If you have /tmp/cpan.metapackager.sqlite available use INCLUDE_PACKAGES=1
- Type: INCLUDE_PACKAGES=1
- Type: echo $INCLUDE_PACKAGES
- Type: export INCLUDE_PACKAGES
- mv ~/Downloads/tiddlers.json data/
- Rebuild the db: scripts/build.db.sh
- The output is data/cpan.metacurator.sqlite
- Export the db as a JS Tree: scripts/export.tree.sh
- The output is html/cpan.metacurator.tree.html
- Run: git commit -am"Recreate data/cpan.metacurator.sqlite etc"
- git push
Part 7: Tasks for Ron - Patching index.html etc
Specific steps:
- Check if any other wikis need to be uploaded
- In particular, check whether or not the version date is today's or 'Unreleased'
- cd ~/perl.modules/Local-Website
- Edit Local::Website's data/patches.csv to specify the entries in index.html to be updated
- Typically this would include at least cpan.metacurator.tree.html & Perl.Wiki.html
- Run: scripts/parse.index.sh (to patch ~/savage.net.au/index.html)
- Edit index.html re any other additions, eg to add a News Flash
- Run: bu5.sh savage.net.au (backup dir to flash drive)
- Run: bu5.sh perl.modules (backup dir to flash drive)
Part 8: Tasks for Ron - Uploading distro, etc
Specific steps:
- Upload CPAN::MetaPackager to PAUSE
- Upload CPAN::MetaCurator to PAUSE
- Upload Perl.Wiki.html, cpan.metacurator.tree.html, etc to savage.net.au/misc
- Upload index.html
- Log in to blogs.perl.org
- Post details of the uploads
- Wait ... Check how it appears on blogs.perl.org. Takes about 1 min