aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'elivepatch_server/resources/livepatch.py')
-rw-r--r--elivepatch_server/resources/livepatch.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/elivepatch_server/resources/livepatch.py b/elivepatch_server/resources/livepatch.py
index 32fb2b5..7be51a9 100644
--- a/elivepatch_server/resources/livepatch.py
+++ b/elivepatch_server/resources/livepatch.py
@@ -71,7 +71,7 @@ class PaTch(object):
# kpatch-build/kpatch-build -s /usr/src/linux-4.9.16-gentoo/
# -v /usr/src/linux-4.9.16-gentoo/vmlinux examples/test.patch
# -c ../elivepatch/elivepatch_server/config --skip-gcc-check
- def build_livepatch(self, kernel_source, vmlinux):
+ def build_livepatch(self, uuid_dir, vmlinux):
"""
Function for building the livepatch
@@ -79,6 +79,7 @@ class PaTch(object):
:param vmlinux: path to the vmlinux file
:return: void
"""
+ kernel_source = '/tmp/elivepatch-' + uuid_dir + '/usr/src/linux/'
debug=True
bashCommand = ['sudo','kpatch-build']
bashCommand.extend(['-s',kernel_source])
@@ -101,14 +102,15 @@ class PaTch(object):
command(['git','clone','https://github.com/aliceinwire/gentoo-sources_overlay.git'])
except:
print('Gentoo-sources overlay already present.')
- command(['sudo','ROOT=/tmp/' + uuid_dir,'ebuild','gentoo-sources_overlay/sys-kernel/gentoo-sources/gentoo-sources-' + kernel_version + '.ebuild', 'merge'])
-
-
- def build_kernel(self, kernel_source_dir):
- command(['sudo','make','oldconfig'], kernel_source_dir)
- command(['sudo','make'], kernel_source_dir)
- command(['sudo','make', 'modules'], kernel_source_dir)
- command(['sudo','make', 'modules_install'], kernel_source_dir)
+ command(['sudo','ROOT=/tmp/elivepatch-' + uuid_dir,'ebuild','gentoo-sources_overlay/sys-kernel/gentoo-sources/gentoo-sources-' + kernel_version + '.ebuild', 'clean'])
+ command(['sudo','ROOT=/tmp/elivepatch-' + uuid_dir,'ebuild','gentoo-sources_overlay/sys-kernel/gentoo-sources/gentoo-sources-' + kernel_version + '.ebuild', 'merge'])
+
+ def build_kernel(self, uuid_dir):
+ kernel_source_dir = '/tmp/elivepatch-' + uuid_dir + '/usr/src/linux/'
+ command(['sudo','make','oldconfig'], kernel_source_dir)
+ command(['sudo','make'], kernel_source_dir)
+ command(['sudo','make', 'modules'], kernel_source_dir)
+ command(['sudo','make', 'modules_install'], kernel_source_dir)
def command(bashCommand, kernel_source_dir=None):