From 76c7041c5bb309844008c188683b7a55f186fb7b Mon Sep 17 00:00:00 2001
From: Simon Lejeune <sle@openerp.com>
Date: Thu, 24 Dec 2015 15:28:46 +0100
Subject: [PATCH] [REF] server: remove the openerp-gevent file

* use a special arg in odoo.py
* note that the previous implementation was relying on the fact that
  the openerp-gevent file was located in the same directory than the
  odoo.py file. This was no longer true since rev a0eb172cab590982168492ad16ad90c2228c6424
  This commit brings back this behavior.
---
 odoo.py                |  6 ++++++
 odoo/service/server.py |  5 ++---
 openerp-gevent         | 11 -----------
 setup.py               |  3 +--
 4 files changed, 9 insertions(+), 16 deletions(-)
 delete mode 100755 openerp-gevent

diff --git a/odoo.py b/odoo.py
index 30d6983ff5a4..e95814036a80 100755
--- a/odoo.py
+++ b/odoo.py
@@ -153,6 +153,12 @@ def main():
     elif len(sys.argv) == 2 and sys.argv[1] in cmds:
         cmds[sys.argv[1]]()
     else:
+        if sys.argv[1] == 'gevent':
+            sys.argv.remove('gevent')
+            import gevent.monkey
+            gevent.monkey.patch_all()
+            import psycogreen.gevent
+            psycogreen.gevent.patch_psycopg()
         import odoo
         odoo.cli.main()
 
diff --git a/odoo/service/server.py b/odoo/service/server.py
index 6d6c585212d9..3d181396a6ff 100644
--- a/odoo/service/server.py
+++ b/odoo/service/server.py
@@ -443,9 +443,8 @@ class PreforkServer(CommonServer):
 
     def long_polling_spawn(self):
         nargs = stripped_sys_argv()
-        cmd = nargs[0]
-        cmd = os.path.join(os.path.dirname(cmd), "openerp-gevent")
-        nargs[0] = cmd
+        cmd = os.path.join(os.path.dirname(nargs[0]), "odoo.py")
+        nargs = [cmd, 'gevent'] + nargs[1:]
         popen = subprocess.Popen([sys.executable] + nargs)
         self.long_polling_pid = popen.pid
 
diff --git a/openerp-gevent b/openerp-gevent
deleted file mode 100755
index 1514cb53fbbd..000000000000
--- a/openerp-gevent
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env python
-
-import gevent.monkey
-gevent.monkey.patch_all()
-import psycogreen.gevent
-psycogreen.gevent.patch_psycopg()
-
-import odoo
-
-if __name__ == "__main__":
-    odoo.cli.main()
diff --git a/setup.py b/setup.py
index a1535bbfa7b9..b62718249155 100644
--- a/setup.py
+++ b/setup.py
@@ -58,7 +58,6 @@ def py2exe_options():
         return {
             'console': [
                 {'script': 'odoo.py'},
-                {'script': 'openerp-gevent'},
                 {'script': 'openerp-server', 'icon_resources': [
                     (1, join('setup', 'win32', 'static', 'pixmaps', 'openerp-icon.ico'))
                 ]},
@@ -130,7 +129,7 @@ setup(
     author_email=author_email,
     classifiers=filter(None, classifiers.split('\n')),
     license=license,
-    scripts=['openerp-server', 'openerp-gevent', 'odoo.py'],
+    scripts=['openerp-server', 'odoo.py'],
     packages=find_packages(),
     package_dir={'%s' % lib_name: 'openerp'},
     include_package_data=True,
-- 
GitLab