X-Git-Url: http://git.onelab.eu/?p=build.git;a=blobdiff_plain;f=lxc.mk;h=1ba12c7fb3a944b8c41ccdc8d4f57108d67e9135;hp=d21953d43150bae8134527ce5c17721c571f37ff;hb=544657ba81ad8380190bf46bfe2611eab931c749;hpb=94a5da20c23b50b0dd1bf9e0eb366057d3a5a2f4 diff --git a/lxc.mk b/lxc.mk index d21953d4..1ba12c7f 100644 --- a/lxc.mk +++ b/lxc.mk @@ -5,56 +5,84 @@ # Copyright (C) 2003-2006 The Trustees of Princeton University # rewritten by Thierry Parmentelat - INRIA Sophia Antipolis # -# see doc in Makefile +# see doc in Makefile # -### the madwifi drivers ahip with fedora16's kernel rpm +### the madwifi drivers ship with fedora16's kernel rpm # -# lxctools: scripts for entering containers +# lxc-userspace: scripts for entering containers # -lxctools-MODULES := lxctools -lxctools-SPEC := lxctools.spec -ALL += lxctools -IN_NODEIMAGE += lxctools +lxc-userspace-MODULES := lxc-userspace +lxc-userspace-SPEC := lxc-userspace.spec +ALL += lxc-userspace +IN_NODEIMAGE += lxc-userspace # -# lxcsu: root context module for entering namespaces +# transforward: root context module for transparent port forwarding # -lxcsu-MODULES := lxcsu -lxcsu-SPEC := lxcsu.spec -ALL += lxcsu -IN_NODEIMAGE += lxcsu - +# with 4.19, the jprobe api has gone entirely +# https://github.com/torvalds/linux/commit/4de58696de076d9bd2745d1cbe0930635c3f5ac9 # -# -# transforward: root context module for transparent port forwarding +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f29)" # transforward-MODULES := transforward transforward-SPEC := transforward.spec ALL += transforward IN_NODEIMAGE += transforward +endif # # procprotect: root context module for protecting against weaknesses in /proc # +### remove procprotect from the nodes on f20 and above, needs more work starting with 3.19 +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f20 f21 f22 f23 f24 f25 f27 f29)" procprotect-MODULES := procprotect procprotect-SPEC := procprotect.spec ALL += procprotect IN_NODEIMAGE += procprotect +endif # # ipfw: root context module, and slice companion # +### starting August 2015, ipfw module won't build against fedora22 +# that comes with kernel 4.1.4 +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f21 f22 f23 f24 f25 f27 f29)" ipfwroot-MODULES := ipfw ipfwroot-SPEC := planetlab/ipfwroot.spec ALL += ipfwroot IN_NODEIMAGE += ipfwroot +endif ipfwslice-MODULES := ipfw ipfwslice-SPEC := planetlab/ipfwslice.spec ALL += ipfwslice +# +# comgt - a companion to umts tools +# +comgt-MODULES := comgt +comgt-SPEC := comgt.spec +IN_NODEIMAGE += comgt +ALL += comgt + +# +# umts: root context stuff +# +umts-backend-MODULES := planetlab-umts-tools +umts-backend-SPEC := backend.spec +IN_NODEIMAGE += umts-backend +ALL += umts-backend + +# +# umts: slice tools +# +umts-frontend-MODULES := planetlab-umts-tools +umts-frontend-SPEC := frontend.spec +IN_SLICEIMAGE += umts-frontend +ALL += umts-frontend + # # NodeUpdate # @@ -73,7 +101,7 @@ IN_NODEIMAGE += ipod # # plnode-utils -# +# plnode-utils-MODULES := plnode-utils plnode-utils-SPEC := plnode-utils-lxc.spec ALL += plnode-utils @@ -82,15 +110,10 @@ IN_NODEIMAGE += plnode-utils # # nodemanager # -nodemanager-lib-MODULES := nodemanager -nodemanager-lib-SPEC := nodemanager-lib.spec -ALL += nodemanager-lib -IN_NODEIMAGE += nodemanager-lib - -nodemanager-lxc-MODULES := nodemanager -nodemanager-lxc-SPEC := nodemanager-lxc.spec -ALL += nodemanager-lxc -IN_NODEIMAGE += nodemanager-lxc +nodemanager-MODULES := nodemanager +nodemanager-SPEC := nodemanager.spec +ALL += nodemanager +IN_NODEIMAGE += nodemanager # # pl_sshd @@ -111,44 +134,70 @@ IN_NODEIMAGE += codemux # # fprobe-ulog # +# xxx temporarily turning this off on f20 and above +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f20 f21 f22 f23 f24 f25 f27 f29)" fprobe-ulog-MODULES := fprobe-ulog fprobe-ulog-SPEC := fprobe-ulog.spec ALL += fprobe-ulog IN_NODEIMAGE += fprobe-ulog +endif -#################### using our own libvirt on all distros for now -#local_libvirt=false -#ifeq "$(DISTRONAME)" "f16" +#################### libvirt version selection + +# use fedora's libvirt starting with f22 +ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20 f21)" local_libvirt=true -#endif +endif -ifeq "$(local_libvirt)" "true" # # libvirt # +ifeq "$(local_libvirt)" "true" + libvirt-MODULES := libvirt libvirt-SPEC := libvirt.spec libvirt-BUILD-FROM-SRPM := yes -libvirt-DEVEL-RPMS += libxml2-devel gnutls-devel device-mapper-devel yajl-devel gettext -libvirt-DEVEL-RPMS += python-devel libcap-ng-devel libpciaccess-devel radvd numactl-devel -libvirt-DEVEL-RPMS += xhtml1-dtds libxslt libtasn1-devel systemtap-sdt-devel iptables-ipv6 augeas -libvirt-DEVEL-RPMS += libudev-devel libpcap-devel libnl-devel ebtables scrub ceph-devel -# added for 0.10.2 -libvirt-DEVEL-RPMS += xen-devel sanlock-devel avahi-devel cyrus-sasl-devel polkit qemu-img lvm2 -libvirt-DEVEL-RPMS += iscsi-initiator-utils parted-devel libssh2-devel netcf-devel libwsman-devel -libvirt-DEVEL-RPMS += audit-libs-devel nfs-utils libblkid-devel -# The --without options are breaking spec2make -#libvirt-RPMFLAGS := --without storage-disk --without storage-iscsi --without storage-scsi \ -# --without storage-fs --without storage-lvm \ -# --without polkit --without sasl --without audit --with capng --with udev \ -# --without netcf --without avahi --without sanlock \ -# --without xen --without qemu --without hyperv --without phyp --without esx \ -# --without libxl \ -libvirt-RPMFLAGS := --define 'packager PlanetLab' +# The --without options are breaking spec2make : hard-wired in the specfile instead +libvirt-STOCK-DEVEL-RPMS += xhtml1-dtds +libvirt-STOCK-DEVEL-RPMS += libattr-devel augeas libpciaccess-devel yajl-devel +libvirt-STOCK-DEVEL-RPMS += libpcap-devel radvd ebtables device-mapper-devel +libvirt-STOCK-DEVEL-RPMS += ceph-devel numactl-devel libcap-ng-devel scrub +# for 1.2.1 - first seen on f20, not sure for the other ones +libvirt-STOCK-DEVEL-RPMS += libblkid-devel glusterfs-api-devel glusterfs-devel +# strictly speaking fuse-devel is not required anymore but we might wish to turn fuse back on again in the future +libvirt-STOCK-DEVEL-RPMS += fuse-devel libssh2-devel dbus-devel numad +libvirt-STOCK-DEVEL-RPMS += systemd-devel libnl3-devel iptables-services netcf-devel +# 1.2.11 +libvirt-STOCK-DEVEL-RPMS += wireshark-devel +libvirt-STOCK-DEVEL-RPMS += ceph-devel-compat ALL += libvirt IN_NODEREPO += libvirt IN_NODEIMAGE += libvirt -endif + +# +## libvirt-python +# +libvirt-python-MODULES := libvirt-python +libvirt-python-SPEC := libvirt-python.spec +libvirt-python-BUILD-FROM-SRPM := yes +libvirt-python-STOCK-DEVEL-RPMS += pm-utils +# for 1.2.11 +libvirt-python-STOCK-DEVEL-RPMS += python-nose +# it would make sense to do something like this if we wanted to +# build against python3 as well, but for now I turned this feature off +# in libvirt-python +#ifeq "$(distro)" "Fedora" +#xxx if $(distrorelease) > 18 +#libvirt-python-STOCK-DEVEL-RPMS += python3-devel python3-nose python3-lxml +#endif +#endif +libvirt-python-LOCAL-DEVEL-RPMS += libvirt-devel libvirt-docs libvirt-client +libvirt-python-RPMFLAGS := --define 'packager PlanetLab' +ALL += libvirt-python +IN_NODEREPO += libvirt-python +IN_NODEIMAGE += libvirt-python + +endif # local_libvirt # # DistributedRateLimiting @@ -173,33 +222,12 @@ ALL += pf2slice #ALL += mom #IN_NODEIMAGE += mom -# -# inotify-tools - local import -# rebuild this on centos5 (not found) - see yumexclude -# -local_inotify_tools=false -ifeq "$(DISTRONAME)" "centos5" -local_inotify_tools=true -endif - -ifeq "$(DISTRONAME)" "sl6" -local_inotify_tools=true -endif - -ifeq "$(local_inotify_tools)" "true" -inotify-tools-MODULES := inotify-tools -inotify-tools-SPEC := inotify-tools.spec -inotify-tools-BUILD-FROM-SRPM := yes -IN_NODEIMAGE += inotify-tools -ALL += inotify-tools -endif - # # openvswitch # # openvswitch-MODULES := openvswitch # openvswitch-SPEC := openvswitch.spec -# openvswitch-DEPEND-DEVEL-RPMS += kernel-devel +# openvswitch-STOCK-DEVEL-RPMS += kernel-devel # IN_NODEIMAGE += openvswitch # # build only on f14 as f16 has this natively # ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f14)" @@ -212,10 +240,7 @@ endif vsys-MODULES := vsys vsys-SPEC := vsys.spec # ocaml-docs is not needed anymore but keep it on a tmp basis as some tags may still have it -vsys-DEVEL-RPMS += ocaml-ocamldoc ocaml-docs -ifeq "$(local_inotify_tools)" "true" -vsys-DEPEND-DEVEL-RPMS += inotify-tools inotify-tools-devel -endif +vsys-STOCK-DEVEL-RPMS += ocaml-ocamldoc ocaml-docs IN_NODEIMAGE += vsys ALL += vsys @@ -235,6 +260,11 @@ vsys-scripts-SPEC := root-context/vsys-scripts.spec IN_NODEIMAGE += vsys-scripts ALL += vsys-scripts +vsys-wrapper-MODULES := vsys-scripts +vsys-wrapper-SPEC := slice-context/vsys-wrapper.spec +IN_SLICEIMAGE += vsys-wrapper +ALL += vsys-wrapper + # # bind_public # @@ -243,6 +273,18 @@ bind_public-SPEC := bind_public.spec IN_SLICEIMAGE += bind_public ALL += bind_public +# in fedora 29, this triggers nasty-looking compile messages +# not trying too hard, we're mostly after the server-side of f29 +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f29)" +# +# sliver-openvswitch +# +sliver-openvswitch-MODULES := sliver-openvswitch +sliver-openvswitch-SPEC := sliver-openvswitch.spec +IN_SLICEIMAGE += sliver-openvswitch +ALL += sliver-openvswitch +endif + # # plcapi # @@ -253,7 +295,7 @@ IN_MYPLC += plcapi # # drupal -# +# drupal-MODULES := drupal drupal-SPEC := drupal.spec drupal-BUILD-FROM-SRPM := yes @@ -279,6 +321,8 @@ IN_MYPLC += www-register-wizard # # pcucontrol # +# WARNING: as of f27 I have to remove support for SSL in pcucontrol +# see pcucontrol.spec for details pcucontrol-MODULES := pcucontrol pcucontrol-SPEC := pcucontrol.spec ALL += pcucontrol @@ -288,7 +332,7 @@ ALL += pcucontrol # #monitor-MODULES := monitor #monitor-SPEC := Monitor.spec -#monitor-DEVEL-RPMS += net-snmp net-snmp-devel +#monitor-STOCK-DEVEL-RPMS += net-snmp net-snmp-devel #ALL += monitor #IN_NODEIMAGE += monitor @@ -310,35 +354,6 @@ pyopenssl-BUILD-FROM-SRPM := yes ALL += pyopenssl endif -# -# pyaspects -# -pyaspects-MODULES := pyaspects -pyaspects-SPEC := pyaspects.spec -pyaspects-BUILD-FROM-SRPM := yes -ALL += pyaspects - -# sfa now uses the with statement that's not supported on python-2.4 - not even through __future__ -# In addition we now use sqlalchemy and 0.5 as per f12 is not compatible with our model -build_sfa=true -ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f8 f12 centos5)" -build_sfa=false -endif - -ifeq "$(build_sfa)" "true" -# -# sfa - Slice Facility Architecture -# -sfa-MODULES := sfa -sfa-SPEC := sfa.spec -ALL += sfa - -sface-MODULES := sface -sface-SPEC := sface.spec -ALL += sface -endif - -# # nodeconfig # nodeconfig-MODULES := nodeconfig @@ -356,7 +371,7 @@ IN_MYPLC += bootmanager # # pypcilib : used in bootcd -# +# pypcilib-MODULES := pypcilib pypcilib-SPEC := pypcilib.spec ALL += pypcilib @@ -372,20 +387,15 @@ IN_NODEIMAGE += pyplnet IN_MYPLC += pyplnet IN_BOOTCD += pyplnet +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f23 f24 f25 f27 f29)" # -# OMF resource controller -# -omf-resctl-MODULES := omf -omf-resctl-SPEC := omf-resctl.spec -ALL += omf-resctl -IN_SLICEIMAGE += omf-resctl - -# -# OMF exp controller +# OML measurement library # -omf-expctl-MODULES := omf -omf-expctl-SPEC := omf-expctl.spec -ALL += omf-expctl +oml-MODULES := oml +oml-STOCK-DEVEL-RPMS += sqlite-devel +oml-SPEC := liboml.spec +ALL += oml +endif # # bootcd @@ -411,7 +421,7 @@ IN_NODEIMAGE += sliceimage # # lxc-specific sliceimage initialization -# +# lxc-sliceimage-MODULES := sliceimage lxc-sliceimage-SPEC := lxc-sliceimage.spec lxc-sliceimage-RPMDATE := yes @@ -477,7 +487,7 @@ myplc-DEPEND-FILES := myplc-release RPMS/yumgroups.xml ALL += myplc # myplc-docs only contains docs for PLCAPI and NMAPI, but -# we still need to pull MyPLC, as it is where the specfile lies, +# we still need to pull MyPLC, as it is where the specfile lies, # together with the utility script docbook2drupal.sh myplc-docs-MODULES := myplc plcapi nodemanager monitor myplc-docs-SPEC := myplc-docs.spec @@ -488,3 +498,11 @@ release-MODULES := myplc release-SPEC := myplc-release.spec release-RPMDATE := yes ALL += release + +############################## +# +# sfa - Slice Facility Architecture +# +sfa-MODULES := sfa +sfa-SPEC := sfa.spec +ALL += sfa