From 845e4e35c0d9e4faeac64359807d70de9dc3af2e Mon Sep 17 00:00:00 2001
From: Julien Muchembled <jm@nexedi.com>
Date: Thu, 19 Mar 2020 12:40:23 +0100
Subject: [PATCH] Drop 'mydumper' component/recipe

---
 .../{ => unstable}/mydumper/buildout.cfg      |  0
 .../mydumper-remove-warnings-errors.patch     |  0
 setup.py                                      |  1 -
 slapos/recipe/mydumper.py                     | 99 -------------------
 stack/resilient/README.rst                    |  4 +-
 5 files changed, 2 insertions(+), 102 deletions(-)
 rename component/{ => unstable}/mydumper/buildout.cfg (100%)
 rename component/{ => unstable}/mydumper/mydumper-remove-warnings-errors.patch (100%)
 delete mode 100644 slapos/recipe/mydumper.py

diff --git a/component/mydumper/buildout.cfg b/component/unstable/mydumper/buildout.cfg
similarity index 100%
rename from component/mydumper/buildout.cfg
rename to component/unstable/mydumper/buildout.cfg
diff --git a/component/mydumper/mydumper-remove-warnings-errors.patch b/component/unstable/mydumper/mydumper-remove-warnings-errors.patch
similarity index 100%
rename from component/mydumper/mydumper-remove-warnings-errors.patch
rename to component/unstable/mydumper/mydumper-remove-warnings-errors.patch
diff --git a/setup.py b/setup.py
index 57335d845..8054b1ae2 100755
--- a/setup.py
+++ b/setup.py
@@ -128,7 +128,6 @@ setup(name=name,
           'logrotate.d = slapos.recipe.logrotate:Part',
           'mkdirectory = slapos.recipe.mkdirectory:Recipe',
           'mioga.instantiate = slapos.recipe.mioga.instantiate:Recipe',
-          'mydumper = slapos.recipe.mydumper:Recipe',
           'nbdserver = slapos.recipe.nbdserver:Recipe',
           'neoppod.cluster = slapos.recipe.neoppod:Cluster',
           'neoppod.admin = slapos.recipe.neoppod:Admin',
diff --git a/slapos/recipe/mydumper.py b/slapos/recipe/mydumper.py
deleted file mode 100644
index 10015856f..000000000
--- a/slapos/recipe/mydumper.py
+++ /dev/null
@@ -1,99 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2010 Vifib SARL and Contributors. All Rights Reserved.
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsibility of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# guarantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# 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 3
-# 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-import os
-
-from slapos.recipe.librecipe import GenericBaseRecipe
-
-
-def _mydumper_base_cmd(mydumper, database, user, password,
-                       socket=None, host=None, port=None, **kw):
-  cmd = [mydumper]
-  cmd.extend(['-B', database])
-
-  if socket:
-    cmd.extend(['-S', socket])
-  else:
-    cmd.extend(['-h', host])
-    cmd.extend(['-P', port])
-
-  cmd.extend(['-u', user])
-  if password:
-    cmd.extend(['-p', password])
-
-  return cmd
-
-
-def do_export(args):
-  cmd = _mydumper_base_cmd(**args)
-
-  if args['compression']:
-    cmd.append('--compress')
-
-  if args['rows'] is not None:
-    cmd.extend(['-r', args['rows']])
-
-  cmd.extend(['-o', args['directory']])
-
-  os.execv(cmd[0], cmd)
-
-
-def do_import(args):
-  cmd = _mydumper_base_cmd(**args)
-  cmd.append('--overwrite-tables')
-  cmd.extend(['-d', args['directory']])
-  os.execv(cmd[0], cmd)
-
-
-class Recipe(GenericBaseRecipe):
-
-  def install(self):
-    config = {
-      'database': self.options['database'],
-      'directory': self.options['backup-directory'],
-      'user': self.options['user'],
-      'password': self.options.get('password'),
-    }
-
-    if self.options.get('host'):
-      config['host'] = self.options['host']
-      config['port'] = self.options.get('port', 3306)
-    elif self.options.get('socket'):
-      config['socket'] = self.options['socket']
-    else:
-      raise ValueError("host or socket must be defined")
-
-    if self.optionIsTrue('import', False):
-      function = do_import
-      config['mydumper'] = self.options['myloader-binary']
-    else:
-      function = do_export
-      config['mydumper'] = self.options['mydumper-binary']
-      config['compression'] = self.optionIsTrue('compression', default=False)
-      config['rows'] = self.options.get('rows')
-
-    return self.createPythonScript(self.options['wrapper'],
-      '%s.%s' % (function.__module__, function.__name__), (config,))
diff --git a/stack/resilient/README.rst b/stack/resilient/README.rst
index ff2a83a67..491ba2168 100644
--- a/stack/resilient/README.rst
+++ b/stack/resilient/README.rst
@@ -46,7 +46,7 @@ The pull-backup, upon receiving the notification, will make a copy of the data a
 
 You should provide the bin/{mysoftware}-exporter script, see for instance
   https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/postgres/__init__.py#L207
-  https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/mydumper.py#L71
+  https://lab.nexedi.com/nexedi/slapos/blob/1.0.142/slapos/recipe/mydumper.py#L71
 
 By default, as defined in
   https://lab.nexedi.com/nexedi/slapos/blob/HEAD/stack/resilient/pbsready-export.cfg.in#L27
@@ -68,7 +68,7 @@ or through a monitoring + election script.
 You should provide the bin/{mysoftware}-importer script, see for instance
 
   https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/postgres/__init__.py#L233
-  https://lab.nexedi.com/nexedi/slapos/blob/HEAD/slapos/recipe/mydumper.py#L71
+  https://lab.nexedi.com/nexedi/slapos/blob/1.0.142/slapos/recipe/mydumper.py#L71
 
 
 
-- 
2.30.9