aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Duval <thomas.duval@orange.com>2016-06-30 16:54:18 +0200
committerThomas Duval <thomas.duval@orange.com>2016-06-30 16:54:18 +0200
commit1c9b73cbf17a5f0f03f47d013acb660c4086a460 (patch)
tree54510202c64bea963329a9355b22f4872f986232
parent9bdc327fd67e2189b6088f83f7d7470efc859acb (diff)
Add script to create Moon deb package.
Change-Id: I7974d6b41e9a8cf6fe3e154715147656317f5ee8
-rw-r--r--keystone-moon/debian/create_deb.py151
1 files changed, 151 insertions, 0 deletions
diff --git a/keystone-moon/debian/create_deb.py b/keystone-moon/debian/create_deb.py
new file mode 100644
index 00000000..b4c17e87
--- /dev/null
+++ b/keystone-moon/debian/create_deb.py
@@ -0,0 +1,151 @@
+#!/usr/bin/env python3.5
+
+import os
+import sys
+import subprocess
+import glob
+
+
+os.putenv("LANG", "C")
+
+TMP_DIR = "/tmp/debian-moon"
+INIT_dir = os.path.split(os.path.abspath(sys.argv[0]))[0]
+
+print("init dir: {}".format(INIT_dir))
+
+_run = subprocess.run(["mkdir", "-p", TMP_DIR])
+if _run.returncode != 0:
+ exit("\033[31mCannot create tmp dir\033[m")
+
+os.chdir(TMP_DIR)
+
+_run = subprocess.run(["sudo", "-E", "apt-get", "install", "-y", "git"])
+if _run.returncode != 0:
+ exit("\033[31mCannot install Git\033[m")
+
+print("\033[32mCloning Debian version\033[m")
+_run = subprocess.run(["git", "clone", "https://anonscm.debian.org/git/openstack/keystone.git"])
+if _run.returncode != 0:
+ os.chdir(os.path.join(TMP_DIR, "keystone"))
+ _run = subprocess.run(["git", "pull"])
+ if _run.returncode != 0:
+ print("\033[31mCannot clone ou pull debian version\033[m")
+
+os.chdir(TMP_DIR)
+
+print("\033[32mCloning Moon project\033[m")
+_run = subprocess.run(["git", "clone", "https://git.opnfv.org/moon"])
+if _run.returncode != 0:
+ os.chdir(os.path.join(TMP_DIR, "moon"))
+ _run = subprocess.run(["git", "pull"])
+ if _run.returncode != 0:
+ print("\033[31mCannot clone Moon project\033[m")
+
+os.chdir(TMP_DIR)
+
+_run = subprocess.run(["cp",
+ "-r",
+ os.path.join(TMP_DIR, "keystone", "debian"),
+ os.path.join(TMP_DIR, "moon", "keystone-moon")])
+
+print("\033[32mBuilding Moon project\033[m")
+os.chdir(os.path.join(TMP_DIR, "moon", "keystone-moon"))
+
+mandatory_deb_pkg = """dh-apparmor
+dh-systemd
+openstack-pkg-tools
+python-all python-pbr
+python-sphinx
+python-bashate
+python-keystonemiddleware
+python-ldap
+python-ldappool
+python-memcache
+python-migrate
+python-mock
+python-msgpack
+python-oslo.cache
+python-oslo.concurrency
+python-oslo.config
+python-oslo.context
+python-oslo.db
+python-oslo.i18n
+python-oslo.log
+python-oslo.messaging
+python-oslo.policy
+python-oslo.serialization
+python-oslo.service
+python-oslo.utils
+python-oslosphinx
+python-oslotest
+python-os-testr
+python-passlib
+python-paste
+python-pastedeploy
+python-pycadf
+python-pymongo
+python-pysaml2
+python-pysqlite2
+python-routes
+python-sqlalchemy
+python-stevedore
+python-testscenarios
+python-testtools
+python-unittest2
+python-webob
+python-webtest
+subunit
+testrepository
+python-coverage
+python-dogpile.cache
+python-eventlet
+python-hacking
+python-oslo.cache
+python-oslo.concurrency
+python-oslo.config
+python-oslo.db
+python-oslo.log
+python-oslo.messaging
+python-oslo.middleware
+python-tempest-lib
+python-oauthlib
+python-pam"""
+
+_command = ["sudo", "-E", "apt-get", "install", "-y"]
+_command.extend(mandatory_deb_pkg.split())
+_run = subprocess.run(_command)
+
+os.putenv("DEB_BUILD_OPTIONS", "nocheck")
+
+changelog = open(os.path.join(TMP_DIR, "moon", "keystone-moon", "debian", "changelog"), "rt")
+changelog_str = changelog.read()
+# print(changelog_str.splitlines()[0])
+current_version = changelog_str.splitlines()[0].split("(")[1].split(")")[0]
+changelog.close()
+changelog = open(os.path.join(TMP_DIR, "moon", "keystone-moon", "debian", "changelog"), "wt")
+changelog.write("""keystone ({version}) UNRELEASED; urgency=medium
+
+ * integration of the Moon platform.
+
+ -- Thomas Duval <thomas.duval@orange.com> {date}
+
+""".format(
+ version=current_version+"-moon",
+ date=subprocess.Popen(["date"], stdin=None, stdout=subprocess.PIPE).communicate()[0].decode("utf-8").strip()))
+changelog.write(changelog_str)
+changelog.close()
+
+keystone_install_file = open(os.path.join(TMP_DIR, "moon", "keystone-moon", "debian", "keystone.install"), "a")
+keystone_install_file.write("etc/policies /etc/keystone\n")
+
+
+# _run = subprocess.run(["dpkg-buildpackage", "-b", "-us"])
+_run = subprocess.run(["dpkg-buildpackage", "-b", "-us"])
+
+print("\033[32mResults:\033[m")
+subprocess.run(["pwd", ])
+subprocess.run(["mkdir", "-p", "/tmp/deb"])
+
+files = glob.glob(os.path.join(TMP_DIR, "moon", "*.deb"))
+for _file in files:
+ subprocess.run(["mv", "-v", _file, "/tmp/deb/"])