mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Build ISO images for xenserver patches AND Fedora / CentOS packaging fix for the ISO generation.
Build ISO images for xenserver patches Fedora / CentOS packaging fix for the ISO generation.
This commit is contained in:
parent
cebd1da99c
commit
7875de7303
34
cloud.spec
34
cloud.spec
@ -481,46 +481,17 @@ fi
|
|||||||
%doc README.html
|
%doc README.html
|
||||||
%doc debian/copyright
|
%doc debian/copyright
|
||||||
|
|
||||||
%if %{_premium}
|
|
||||||
|
|
||||||
%files agent-scripts
|
%files agent-scripts
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_libdir}/%{name}/agent/scripts/*
|
%{_libdir}/%{name}/agent/scripts/*
|
||||||
%{_libdir}/%{name}/agent/vms/systemvm.zip
|
%{_libdir}/%{name}/agent/vms/systemvm.zip
|
||||||
|
%{_libdir}/%{name}/agent/vms/systemvm.iso
|
||||||
%doc README
|
%doc README
|
||||||
%doc INSTALL
|
%doc INSTALL
|
||||||
%doc HACKING
|
%doc HACKING
|
||||||
%doc README.html
|
%doc README.html
|
||||||
%doc debian/copyright
|
%doc debian/copyright
|
||||||
|
|
||||||
%else
|
|
||||||
|
|
||||||
%files agent-scripts
|
|
||||||
%defattr(-,root,root,-)
|
|
||||||
%{_libdir}/%{name}/agent/scripts/installer/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/network/domr/*.sh
|
|
||||||
%{_libdir}/%{name}/agent/scripts/storage/*.sh
|
|
||||||
%{_libdir}/%{name}/agent/scripts/storage/zfs/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/storage/qcow2/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/storage/secondary/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/util/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/*.sh
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/storage/nfs/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/storage/iscsi/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/network/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/hypervisor/*.sh
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/hypervisor/kvm/*
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/hypervisor/xen/*
|
|
||||||
%{_libdir}/%{name}/agent/vms/systemvm.zip
|
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/hypervisor/xenserver/*
|
|
||||||
%doc README
|
|
||||||
%doc INSTALL
|
|
||||||
%doc HACKING
|
|
||||||
%doc README.html
|
|
||||||
%doc debian/copyright
|
|
||||||
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files daemonize
|
%files daemonize
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%attr(755,root,root) %{_bindir}/%{name}-daemonize
|
%attr(755,root,root) %{_bindir}/%{name}-daemonize
|
||||||
@ -724,8 +695,7 @@ fi
|
|||||||
%{_javadir}/%{name}-server-extras.jar
|
%{_javadir}/%{name}-server-extras.jar
|
||||||
%{_sysconfdir}/%{name}/management/commands-ext.properties
|
%{_sysconfdir}/%{name}/management/commands-ext.properties
|
||||||
%{_sysconfdir}/%{name}/management/components-premium.xml
|
%{_sysconfdir}/%{name}/management/components-premium.xml
|
||||||
%{_libdir}/%{name}/agent/scripts/vm/hypervisor/xenserver/*
|
%{_libdir}/%{name}/agent/vms/systemvm-premium.iso
|
||||||
%{_libdir}/%{name}/agent/vms/systemvm-premium.zip
|
|
||||||
%{_datadir}/%{name}/setup/create-database-premium.sql
|
%{_datadir}/%{name}/setup/create-database-premium.sql
|
||||||
%{_datadir}/%{name}/setup/create-schema-premium.sql
|
%{_datadir}/%{name}/setup/create-schema-premium.sql
|
||||||
%doc README
|
%doc README
|
||||||
|
|||||||
101
wscript_build
101
wscript_build
@ -229,21 +229,22 @@ def tar_up(task):
|
|||||||
z.close()
|
z.close()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
if bld.env.DISTRO != "Windows":
|
for virttech in [ _basename(x) for x in _glob(_join("patches","*")) ]:
|
||||||
for virttech in [ _basename(x) for x in _glob(_join("patches","*")) ]:
|
if virttech == "shared":
|
||||||
if virttech == "shared":
|
continue
|
||||||
continue
|
patchfiles = filelist('patches/%s/** patches/shared/**'%virttech,src=True,bld=True,dir=False,flat=True)
|
||||||
patchfiles = filelist('patches/%s/** patches/shared/**'%virttech,src=True,bld=True,dir=False,flat=True)
|
tgen = bld(
|
||||||
tgen = bld(
|
rule = tar_up,
|
||||||
rule = tar_up,
|
source = patchfiles,
|
||||||
source = patchfiles,
|
target = '%s-patch.tgz'%virttech,
|
||||||
target = '%s-patch.tgz'%virttech,
|
name = '%s-patch_tgz'%virttech,
|
||||||
name = '%s-patch_tgz'%virttech,
|
root = "patches/%s"%virttech,
|
||||||
root = "patches/%s"%virttech,
|
rename = lambda x: re.sub(".subst$","",x),
|
||||||
rename = lambda x: re.sub(".subst$","",x),
|
after = 'patchsubst',
|
||||||
after = 'patchsubst',
|
)
|
||||||
)
|
bld.process_after(tgen)
|
||||||
bld.process_after(tgen)
|
if virttech != "xenserver":
|
||||||
|
# xenserver uses the patch.tgz file later to make an ISO, so we do not need to install it
|
||||||
bld.install_as("${AGENTLIBDIR}/scripts/vm/hypervisor/%s/patch.tgz"%virttech, "%s-patch.tgz"%virttech)
|
bld.install_as("${AGENTLIBDIR}/scripts/vm/hypervisor/%s/patch.tgz"%virttech, "%s-patch.tgz"%virttech)
|
||||||
|
|
||||||
# ================== End creation of patch.tgz's ====================
|
# ================== End creation of patch.tgz's ====================
|
||||||
@ -338,6 +339,8 @@ def zip_up(task):
|
|||||||
z.close()
|
z.close()
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
bld.path.ensure_dir_node_from_path("target/oss")
|
||||||
|
bld.path.ensure_dir_node_from_path("target/premium")
|
||||||
if bld.env.DISTRO not in ["Windows","Mac"]:
|
if bld.env.DISTRO not in ["Windows","Mac"]:
|
||||||
tgen = bld(
|
tgen = bld(
|
||||||
rule = copydeps,
|
rule = copydeps,
|
||||||
@ -348,30 +351,80 @@ if bld.env.DISTRO not in ["Windows","Mac"]:
|
|||||||
tgen = bld(
|
tgen = bld(
|
||||||
rule = zip_up,
|
rule = zip_up,
|
||||||
source = " ".join( [sources,artifacts,deps,systems] ),
|
source = " ".join( [sources,artifacts,deps,systems] ),
|
||||||
target = 'systemvm.zip',
|
target = 'target/oss/systemvm.zip',
|
||||||
name = 'systemvm_zip',
|
name = 'systemvm_zip',
|
||||||
after = 'copydeps getsystemjars runant',
|
after = 'getsystemjars runant',
|
||||||
)
|
)
|
||||||
bld.process_after(tgen)
|
bld.process_after(tgen)
|
||||||
|
bld.install_files("${AGENTLIBDIR}/vms", "target/oss/systemvm.zip")
|
||||||
|
|
||||||
if buildpremium:
|
if buildpremium:
|
||||||
tgen = bld(
|
tgen = bld(
|
||||||
rule = zip_up,
|
rule = zip_up,
|
||||||
source = " ".join( [premiumsources,premiumartifacts,thirdparties] ),
|
source = " ".join( [premiumsources,premiumartifacts,thirdparties] ),
|
||||||
target = 'systemvm-premium.zip',
|
target = 'target/premium/systemvm.zip',
|
||||||
name = 'systemvm-premium_zip',
|
name = 'systemvm-premium_zip',
|
||||||
after = 'runant',
|
after = 'runant',
|
||||||
)
|
)
|
||||||
bld.process_after(tgen)
|
bld.process_after(tgen)
|
||||||
|
#no need to install the premium one, we have ISOs below
|
||||||
if bld.env.DISTRO not in [ "Windows", "Mac"]:
|
#bld.install_files("${AGENTLIBDIR}/vms", "systemvm-premium.zip")
|
||||||
bld.install_files("${AGENTLIBDIR}/vms", "systemvm.zip")
|
|
||||||
|
|
||||||
if buildpremium:
|
|
||||||
bld.install_files("${AGENTLIBDIR}/vms", "systemvm-premium.zip")
|
|
||||||
|
|
||||||
# ================== End systemvm patch creation ====================
|
# ================== End systemvm patch creation ====================
|
||||||
|
|
||||||
|
|
||||||
|
# ================== systemvm ISO creation ====================
|
||||||
|
|
||||||
|
if bld.env.DISTRO not in ["Windows","Mac"]: # mkisofs only on windows
|
||||||
|
|
||||||
|
def iso_up(task):
|
||||||
|
tgt = task.outputs[0].bldpath(task.env)
|
||||||
|
if _exists(tgt): _unlink(tgt)
|
||||||
|
inps = []
|
||||||
|
for inp in task.inputs:
|
||||||
|
if inp.id&3==Node.BUILD:
|
||||||
|
src = inp.bldpath(task.env)
|
||||||
|
srcname = src
|
||||||
|
srcname = "/".join(srcname.split("/")[1:]) # chop off default/
|
||||||
|
else:
|
||||||
|
src = inp.srcpath(task.env)
|
||||||
|
srcname = src
|
||||||
|
srcname = "/".join(srcname.split("/")[1:]) # chop off ../
|
||||||
|
# post-process the paths
|
||||||
|
inps.append(src)
|
||||||
|
return Utils.exec_command(
|
||||||
|
[
|
||||||
|
#"echo",
|
||||||
|
"mkisofs",
|
||||||
|
"-quiet",
|
||||||
|
"-r",
|
||||||
|
"-o",tgt,
|
||||||
|
] + inps)
|
||||||
|
|
||||||
|
tgen = bld(
|
||||||
|
rule = iso_up,
|
||||||
|
source = "xenserver-patch.tgz target/oss/systemvm.zip",
|
||||||
|
target = 'target/oss/systemvm.iso',
|
||||||
|
name = 'systemvm_iso',
|
||||||
|
after = 'systemvm_zip xenserver-patch_tgz',
|
||||||
|
)
|
||||||
|
bld.process_after(tgen)
|
||||||
|
bld.install_as("${AGENTLIBDIR}/vms/systemvm.iso", "target/oss/systemvm.iso")
|
||||||
|
|
||||||
|
if buildpremium:
|
||||||
|
tgen = bld(
|
||||||
|
rule = iso_up,
|
||||||
|
source = "xenserver-patch.tgz target/premium/systemvm.zip",
|
||||||
|
target = 'target/premium/systemvm.iso',
|
||||||
|
name = 'systemvm-premium_iso',
|
||||||
|
after = 'systemvm-premium_zip xenserver-patch_tgz',
|
||||||
|
)
|
||||||
|
bld.process_after(tgen)
|
||||||
|
bld.install_as("${AGENTLIBDIR}/vms/systemvm-premium.iso", "target/premium/systemvm.iso")
|
||||||
|
|
||||||
|
# ================== End systemvm ISO creation ====================
|
||||||
|
|
||||||
|
|
||||||
# =================== Empty directory / symlink creation on install target ====================
|
# =================== Empty directory / symlink creation on install target ====================
|
||||||
|
|
||||||
# 7. make log and cache dirs (this actually runs first)
|
# 7. make log and cache dirs (this actually runs first)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user