'DumpFilter' => __DIR__ . '/includes/export/DumpFilter.php',
'DumpGZipOutput' => __DIR__ . '/includes/export/DumpGZipOutput.php',
'DumpIterator' => __DIR__ . '/maintenance/dumpIterator.php',
+ 'DumpLBZip2Output' => __DIR__ . '/includes/export/DumpLBZip2Output.php',
'DumpLatestFilter' => __DIR__ . '/includes/export/DumpLatestFilter.php',
'DumpLinks' => __DIR__ . '/maintenance/dumpLinks.php',
'DumpMessages' => __DIR__ . '/maintenance/language/dumpMessages.php',
--- /dev/null
+<?php
+/**
+ * Sends dump output via the lbzip2 compressor.
+ *
+ * Copyright © 2003, 2005, 2006 Brion Vibber <brion@pobox.com>
+ * Copyright © 2019 Wikimedia Foundation Inc.
+ * https://www.mediawiki.org/
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ * @file
+ */
+
+/**
+ * @ingroup Dump
+ * @since 1.33
+ */
+class DumpLBZip2Output extends DumpPipeOutput {
+ /**
+ * @param string $file
+ */
+ function __construct( $file ) {
+ # use only one core
+ parent::__construct( "lbzip2 -n 1", $file );
+ }
+}
$this->registerOutput( 'gzip', DumpGZipOutput::class );
$this->registerOutput( 'bzip2', DumpBZip2Output::class );
$this->registerOutput( 'dbzip2', DumpDBZip2Output::class );
+ $this->registerOutput( 'lbzip2', DumpLBZip2Output::class );
$this->registerOutput( '7zip', Dump7ZipOutput::class );
$this->registerFilter( 'latest', DumpLatestFilter::class );
$this->addOption( 'plugin', 'Load a dump plugin class. Specify as <class>[:<file>].',
false, true, false, true );
$this->addOption( 'output', 'Begin a filtered output stream; Specify as <type>:<file>. ' .
- '<type>s: file, gzip, bzip2, 7zip, dbzip2', false, true, false, true );
+ '<type>s: file, gzip, bzip2, 7zip, dbzip2, lbzip2', false, true, false, true );
$this->addOption( 'filter', 'Add a filter on an output branch. Specify as ' .
'<type>[:<options>]. <types>s: latest, notalk, namespace', false, true, false, true );
$this->addOption( 'report', 'Report position and speed after every n pages processed. ' .