From b01ff3653702d35aa5ac849990de87ae423c3392 Mon Sep 17 00:00:00 2001 From: "Ariel T. Glenn" Date: Wed, 20 Mar 2019 07:25:06 +0200 Subject: [PATCH] add lbzip2 output processor for exports Bug: T214293 Change-Id: I98e26b833df473bbeb3dc1b881f428174d776b64 --- autoload.php | 1 + includes/export/DumpLBZip2Output.php | 39 +++++++++++++++++++++++++++ maintenance/includes/BackupDumper.php | 3 ++- 3 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 includes/export/DumpLBZip2Output.php diff --git a/autoload.php b/autoload.php index 4172ed3d5a..f3ece6a383 100644 --- a/autoload.php +++ b/autoload.php @@ -426,6 +426,7 @@ $wgAutoloadLocalClasses = [ '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', diff --git a/includes/export/DumpLBZip2Output.php b/includes/export/DumpLBZip2Output.php new file mode 100644 index 0000000000..b923995c8d --- /dev/null +++ b/includes/export/DumpLBZip2Output.php @@ -0,0 +1,39 @@ + + * 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 ); + } +} diff --git a/maintenance/includes/BackupDumper.php b/maintenance/includes/BackupDumper.php index 45786d8da0..34ec315f08 100644 --- a/maintenance/includes/BackupDumper.php +++ b/maintenance/includes/BackupDumper.php @@ -86,6 +86,7 @@ abstract class BackupDumper extends Maintenance { $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 ); @@ -96,7 +97,7 @@ abstract class BackupDumper extends Maintenance { $this->addOption( 'plugin', 'Load a dump plugin class. Specify as [:].', false, true, false, true ); $this->addOption( 'output', 'Begin a filtered output stream; Specify as :. ' . - 's: file, gzip, bzip2, 7zip, dbzip2', false, true, false, true ); + 's: file, gzip, bzip2, 7zip, dbzip2, lbzip2', false, true, false, true ); $this->addOption( 'filter', 'Add a filter on an output branch. Specify as ' . '[:]. s: latest, notalk, namespace', false, true, false, true ); $this->addOption( 'report', 'Report position and speed after every n pages processed. ' . -- 2.20.1