X-Git-Url: http://git.onelab.eu/?p=build.git;a=blobdiff_plain;f=lxc.mk;h=7786dfc64daaed1be27db7606a39f5bbb958f238;hp=940ad652d4555a04ae2bfa167b4c499c266273c4;hb=fba948ad94bf4b06b4a4479eeb236f15da2e2dfc;hpb=7fdcb980506a04b343508700163cdaba86d916b7 diff --git a/lxc.mk b/lxc.mk index 940ad652..7786dfc6 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,41 +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 + +#################### libvirt version selection -#################### using our own libvirt on all distros for now -#local_libvirt=false -#ifeq "$(DISTRONAME)" "f16" +# 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 # The --without options are breaking spec2make : hard-wired in the specfile instead -libvirt-DEVEL-RPMS += xhtml1-dtds gettext gettext-devel libtasn1-devel gnutls-devel -libvirt-DEVEL-RPMS += libattr-devel augeas libpciaccess-devel yajl-devel -libvirt-DEVEL-RPMS += libpcap-devel radvd ebtables device-mapper-devel -libvirt-DEVEL-RPMS += ceph-devel numactl-devel libcap-ng-devel scrub -ifeq "$(DISTRONAME)" "f16" -libvirt-DEVEL-RPMS += libnl-devel libudev-devel -endif -ifeq "$(DISTRONAME)" "f18" -libvirt-DEVEL-RPMS += fuse-devel libssh2-devel dbus-devel numad -libvirt-DEVEL-RPMS += systemd-devel libnl3-devel iptables-ipv6 -endif -libvirt-RPMFLAGS := --define 'packager PlanetLab' +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 @@ -170,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)" @@ -209,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 @@ -232,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 # @@ -240,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),f23 f24 f25 f27 f29)" +# +# sliver-openvswitch +# +sliver-openvswitch-MODULES := sliver-openvswitch +sliver-openvswitch-SPEC := sliver-openvswitch.spec +IN_SLICEIMAGE += sliver-openvswitch +ALL += sliver-openvswitch +endif + # # plcapi # @@ -250,7 +295,7 @@ IN_MYPLC += plcapi # # drupal -# +# drupal-MODULES := drupal drupal-SPEC := drupal.spec drupal-BUILD-FROM-SRPM := yes @@ -276,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 @@ -285,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 @@ -315,26 +362,6 @@ 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 # @@ -353,7 +380,7 @@ IN_MYPLC += bootmanager # # pypcilib : used in bootcd -# +# pypcilib-MODULES := pypcilib pypcilib-SPEC := pypcilib.spec ALL += pypcilib @@ -369,20 +396,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 @@ -408,7 +430,7 @@ IN_NODEIMAGE += sliceimage # # lxc-specific sliceimage initialization -# +# lxc-sliceimage-MODULES := sliceimage lxc-sliceimage-SPEC := lxc-sliceimage.spec lxc-sliceimage-RPMDATE := yes @@ -474,7 +496,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 @@ -485,3 +507,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