Item14347: Prune the cruft from the tools dir and improve tools script documentation.

pencil
Priority: Normal
Current State: Closed
Released In: 2.1.4
Target Release: patch
Applies To: Engine
Component: FoswikiTools
Branches: Release02x01 master Item14288 Item14380 Item14537
Reported By: CrawfordCurrie
Waiting For:
Last Change By: CrawfordCurrie
In Support.Question1862 it became clear that there are files in tools/pkg that are not used/useless, and the documentation of scripts in there is weak.

ALERT! means it's been killed.
 
File
Released?
What is it?
Status
ALERT!
addpod.pl
N
tool to add Empire-style POD function doc headers. Originally used as a one-shot to add headers on undocumented code. Probably never used again, and a generally bad idea.
junk
 
autoBuildFoswiki.pl
N
Used by the automated test/build scripts run by FlorianSchlichting
required
ALERT!
benchmark.pl
N
uses a now-useless methodology
junk
ALERT!
benchmark/*
N
Benchmark scripts
junk
 
branches
N
print GIT branches
develop?
ALERT!
build_all_extensions.pl
N
Build and upload all the extensions, zipping those that don't have proper build scripts. Sounds terrible.
?
ALERT!
builddistros.pl
N
Hangover from the Empire?
?
 
build.pl
N
This builds the Foswiki releases.
required
 
bulk_copy.pl
Y
Copy data between two decoupled Foswiki installs. Used for converting between charsets. Also for converting between stores. CDot fixed doc.
released
 
check_extensions.pl
N
Verifies change logs of all core extensions, and core release notes. Run prior to building a release
required
 
check_manifest.pl
N
Checks the extensions and core manifest files for inconsistencies. Used by check_extensions.pl
required
ALERT!
check_manifests.sh
N
Loops through all the extensions, running check_manifest.pl. Obsolete, replaced by check_extensions.pl.
Obsolete?
ALERT!
checkout_extensions
N
Obsolete - uses git svn clone to check out extensknos.
junk
ALERT!
check_requires.pl
N
Obsolete - hangover from the Empire.
junk
ALERT!
check_translations
N
Obsolete - Formerly used to upload translation status.
obsolete
 
configure
Y
Command-line configure
released
 
convertTopicSettings.pl
Y
released
 
create_large_groups.pl
N
Test support, but not used AFAIK. (Used to debug a group performance issue)
Archive
 
dependencies
Y
Shell access to dependencies
released
 
dependencies_installer.pl
N
Dependencies installer, but not shipped. Is this useful? (Removed from release per Item13266
 
 
extender.pl
Y
CDot fixed doc
released
 
extension_installer
Y
CDot fixed doc
released
 
fix_file_dates.pl
N
Align file dates to TOPICINFO dates Needs better doc
 
 
fix_file_permissions.sh
Y
CDot fixed doc
released
 
fix_local_links.pl
N
Used by build.pl to sanitize generated docs.
required
 
fix_permissions.sh
N
Looks like a one-shot that got checked in. Junk?
 
ALERT!
fixTopicInfo.pl
N
Looks like a version of the fix_topic_timestamps. Trash?
 
ALERT!
fix_topic_timestamps.pl
N
useful for developers, probably should be in develop
develop
 
foswiki-upgrade-check
N
used on foswiki.org to install new releases. Was Colas's script which he has deprecated.
required
ALERT!
gendocs.pl
N
Static doc generator, use %POD instead
junk
 
geturl.pl
Y
Standalone wget, curl. May be useful on hosted platforms that don't have it.
released
 
git_excludes.pl
N
Used by pseudo_install and create_new_extension to build the git excludes files to prevent checkin of certain files.
 
ALERT!
install_defaultweb_topics.pl
N
Never touched since fork
junk
 
lighttpd.pl
Y
Starts a lighttpd server in the current installation. (Shoud this just be a developer tool?) No, CDot fixed doc
released
 
N
Detect memory leaks. Run before building each release. See BuildingARelease
required
ALERT!
mergeDoc.pl
N
Old dev stuff
junk
ALERT!
perlmod2www.pl
N
Not touched for years
junk
ALERT!
plugins_conformance_analyser.pl
N
Very old, not used AFAIK
junk
ALERT!
README
N
Talks about the Empire!
junk
ALERT!
repair_rcs_lite.pl
N
Ancien regime
junk
 
rewriteshebang.pl
Y
 
released
 
save-pending-checkins
Y
This is not documented anywhere that I can find. MichaelDaum utility. CDot fixed doc.
released
ALERT!
showSlowPerl.pl
N
Prob used to illustrate upstream bug report
junk
 
tick_foswiki.pl
Y
 
released
ALERT!
twiki2foswiki
N
Convert imperial extensions to Foswiki, way out of date
junk
ALERT!
twiki2foswiki_mac
N
Convert imperial extensions to Foswiki, way out of date
junk
ALERT!
twiki2Foswiki.sh
N
One shot conversion to Foswiki, way out of date
junk
ALERT!
upgradeformat
N
very old one-shot from the heyday of the Empire
junk
 
xgettext
N
Extract strings from source code
required
 
admin/PiwikPlugin.pm
N
Looks like a partial plugin? Presumably for Piwiki analytics. Not touched since 2009. Sven's work?
junk
 
admin/mrtg/twiki.cfg
N
something to do with analytics?
junk
 
admin/mrtg/twiki.pl
N
Logfile analysis
junk
ALERT!
benchmark/*
N
Old, disreputable benchmarks used by the Empire
junk
 
develop/analyse.pl
N
Analyse top contributors
 
ALERT!
develop/cron.pl
N
Auto-update for the Imperial Death Star
junk
ALERT!
develop/cron.sh
N
Auto-update for the Imperial Death Star
junk
 
develop/foswiki-github-hooks.pl
N
Runs on f.o with cron job. Maintains/inserts hooks into the github repositories.
 
 
develop/foswiki-github-mirror.pl
N
Runs on f.o with cron job. Mirrors modified repositories onto the f.o server.
 
ALERT!
develop/foswiki-git-upgrade.pl
N
obsolete - uses "git svn"
junk
 
develop/foswiki-trunk-update.sh
N
Runs every 15 minutes on cron job - updates trunk.foswiki.org.
 
 
develop/genwebnotify.pl
N
Runs on f.o with cron job - rebuilds the WebNotify topic.
 
 
develop/git-fix-meta.pl
N
Yet another duplicate of: tools/fix_topic_timestamps.pl and tools/fixTopicInfo.pl
 
ALERT!
develop/git-svn-show.pl
N
Used for the old svn git repository.
junk
ALERT!
develop/git-svn-split.pl
N
Used for the old git-svn repository
junk
 
develop/plague.pl
N
Run on f.o cron job - Sends emails about tasks waiting for feedback.
 
ALERT!
develop/post-commit.pl
N
Subversion post commit
junk
ALERT!
develop/pre-commit.pl
N
Subversion pre commit
junk
ALERT!
develop/twitter.pl
N
Subversion updates to Twitter
 
 
develop/githooks/commit-msg
N
hooks installed by pseudo_install.pl
 
 
develop/githooks/pre-commit
N
hooks installed by pseudo_install.pl
 
ALERT!
develop/hooks/commit-email.pl
N
Subversion
junk
ALERT!
develop/hooks/git-svn-split.pl
N
Subversion
junk
ALERT!
develop/hooks/post-commit
N
Subversion
junk
ALERT!
develop/hooks/post-commit.tmpl
N
Subversion
junk
ALERT!
develop/hooks/post-revprop-change.tmpl
N
Subversion
junk
ALERT!
develop/hooks/pre-commit
N
Subversion
junk
ALERT!
develop/hooks/pre-commit.tmpl
N
Subversion
junk
ALERT!
develop/hooks/pre-receive
N
Subversion
junk
ALERT!
develop/hooks/pre-revprop-change.tmpl
N
Subversion
junk
ALERT!
develop/hooks/rssfeed.sh
N
Subversion
junk
ALERT!
develop/hooks/start-commit.tmpl
N
Subversion
junk
ALERT!
develop/hooks/svnlog.xslt
N
Subversion
junk
ALERT!
distro/*
N
Looks like building using EPM, presumably targeting RPM, apt, etc. Not been touched in ages. Probably junk.
junk
 
pkg/*
N
Build debian packages, unsupported and attempts to reverse-engineer have failed
junk

-- CrawfordCurrie - 22 Mar 2017

Crawford. The hooks directory is gone, and I deleted anything that used svn or git-svn commands. Any left either mention svn in the email address of our mailing list, or have an svn option that can be removed. Also removed a bunch more stuff. Marking them with ALERT!

-- GeorgeClark - 25 Mar 2017

May be a few more to clean up but I left anything that was at all questionable. It would probably be a nice idea to reorganize a bit, but that will need to be cautious. foswiki.org runs a bunch of these scripts, and it will need careful coordination.

-- GeorgeClark - 25 Mar 2017

For reorganizing this, I'm thinking that we could do the following:
  • Build related tools:
    • Move all the build specific tools into a tools/build directory
    • build.pl fix_local_links.pl autoBuildFoswiki.pl
    • Need to coordinate autobuild changes with Florian
    • Move that directory into the BuildContrib.
  • Developer specific tools - Move into tools/develop
    • check_extensions.pl check_manifest.pl branches xgettext git_excludes.pl
  • Foswiki.org utilities and site specific tools - move into foswiki.org directory
    • Make them part of the the FoswikiOrgPlugin (This will loose the revision history)
    • analyse.pl foswiki-github-hooks.pl foswiki-github-mirror.pl foswiki-trunk-update.sh genwebnotify.pl plague.pl
  • move systemd/foswiki.service up to the tools directory. or consider moving the init-script, defaults and service file into a fastcgi directory

-- GeorgeClark - 25 Mar 2017

Yup, that all makes sense. It would be sensible to do a pass through all the scripts and make sure they have usage or, at worst, internal doc. Also READMEs in each subdir would be a good idea.

-- Main.CrawfordCurrie - 26 Mar 2017 - 09:44

 
Topic revision: r19 - 31 Jan 2018, CrawfordCurrie
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy