Packaging Project
From MovableType
Contents |
Objectives
- To increase the distribution of our beloved and most favorite blogging platform
- To make it easier for people to install Movable Type
- To make it possible to automate the upgrade of Movable Type
Project Plan
- Build a dependency tree
- Map each node of the tree to software bundles available in .rpm and .deb formats
- Identify any components that MT relies on directly or indirectly that do not yet have a bundle available in .rpm or .deb formats
- Determine which dependencies are required and optional
- Build packaging specs:
- Red Hat (.rpm)
- Debian (.deb)
Dependency Tree
Use the space below to begin recording those modules that Movable Type depends upon. For each of those modules record their dependencies, and so on down the line.
Required Modules that MT does NOT Redistribute
- DBI
Optional Modules that MT does NOT Redistribute
- Archive::Tar
- Archive::Zip
- Crypt::DSA
- Digest::SHA1
- HTML::Entities
- Image::Magick
- IO::Compress::Gzip
- IO::Uncompress:Gunzip
- List::Util
- LWP::UserAgent
- Mail::Sendmail
- MIME::Base64
- Storable
Bundled with plugins
- HTML::Entities (WXR Importer)
- PHP Markdown (redistributed with permission and in accordance with their license)
- Markdown with Smartypants (redistributed with permission and in accordance with their license)
Redistributed with Core
Perl modules (all can be found on CPAN with the exception of TheSchwartz).
| Module | Version Distributed* | Explicit requirement in core | Debian name | Debian unstable version | |
|---|---|---|---|---|---|
| Archive::Extract | 0.08 | no | n/a | n/a | |
| Cache | 2.04 | no | libcache-perl | 2.04 | |
| CGI | 2.80 | yes | perl-modules | 3.15 | |
| Class::Accessor | 0.22 | yes | libclass-accessor-perl | 0.31 | |
| Class::Data::Inheritable | 006 | no | libclass-data-inheritable-perl | 0.06 | |
| Class::ErrorHandler | 0.01 | no | libclass-errorhandler-perl | 0.01 | |
| Class::Trigger | 0.10_01 | no | libclass-trigger-perl | 0.13 | |
| Crypt::DH | 0.06 | no | libcrypt-dh-perl | 0.06 | |
| Data::ObjectDriver | UNKNOWN (based on 0.05) | yes | libdata-objectdriver-perl | 0.05 | |
| File::Copy::Recursive | 0.23 | no | libfile-copy-recursive-perl | 0.35 | |
| File::Temp | 0.12 | yes | libfile-temp-perl, perl-modules | 0.18, 0.20 | |
| Heap | 0.71 | no | libheap-perl | 0.80 | |
| HTML::Template | 2.8 | no | libhtml-template-perl | 2.9 | |
| I18N::LangTags | 0.27 | yes | perl-modules | 0.35 | |
| Image::Size | 2.93 | yes | libimage-size-perl | 3.1 | |
| IO-stringy | 2.110 | no | libio-stringy-perl | 2.110 | |
| IPC::Cmd | 0.24 | no | n/a | n/a | |
| JSON | 0.99 | yes | libjson-perl | 2.01 | |
| Jcode | 0.88 | yes | libjcode-pm-perl | 2.06-1 | |
| libwww-perl | 5.64 | yes | libwww-perl | 5.808 | |
| Locale::MakeText | 1.03 | yes | perl-modules | 1.09 | |
| Math::BigInt | 1.63 | yes | perl-modules | 1.77 | |
| MIME::Charset | 0.044 | no | libmime-charset-perl | 0.044 | |
| MIME::EncWords | 0.040 | yes | libmime-encwords-perl | 0.040 | |
| Module::Load | 0.10 | no | libmodule-load-perl | 0.10 | |
| Net::OpenID::Consumer | 0.12 | yes | libnet-openid-consumer-perl | 0.14 | |
| Params::Check | 0.24 | no | libparams-check-perl | 0.26 | |
| Params::Validate | 0.73 | no | libparams-validate-perl | 0.89 | |
| SOAP::Lite | 0.52 | no | libsoap-lite-perl | 0.69 | |
| TheSchwartz | 1.06 | yes | libtheschwartz-perl | 1.04 | |
| UNIVERSAL::require | 0.11 | no | libuniversal-require-perl | 0.10 | |
| URI | 1.22 | yes | liburi-perl | 1.35.dfsg.1 | |
| URI::Fetch | 0.05 | no | liburi-fetch-perl | 0.08 | |
| XML::Atom | 0.25 | yes | libxml-atom-perl | 0.25 | |
| XML::Elemental | 2.0 | no | n/a | n/a | |
| XML::NamespaceSupport | 1.09 | no | libxml-namespacesupport-perl | 1.09 | |
| XML::SAX | 0.13 | yes | libxml-sax-perl | 0.16 | |
| XML::Simple | 2.14 | no | libxml-simple-perl | 2.18 | |
| XML::XPath | 1.13 | yes | libxml-xpath-perl | 1.13 | |
| YAML::Tiny | 1.12 | yes | libyaml-tiny-perl | 1.21 |
PHP Libraries
| Module | Version Distributed* |
|---|---|
| Smarty | 2.67 |
| ezSQL | 1.26 |
- Version numbers are drawn from 4.15b4b (update still in progress)
Status of packaging
Debian
- movabletype-opensource package now available in Debian
Known issues with non-extlib versions of modules
Class::Trigger >= 0.11_02
Error:
Got an error: mutiple trigger registration in one add_trigger() call is deprecated. at /usr/share/perl5/MT/Entry.pm line 243
Fix: http://people.debian.org/~dom/patches/movabletype-opensource/4.1/add_trigger.diff
JSON >= 2
StyleCatcher error:
Can't locate object method "delimiter" via package "JSON" at /usr/local/share/perl/5.8.8/JSON.pm line 136.
Fix: http://people.debian.org/~dom/patches/movabletype-opensource/4.1/json.diff