X-Git-Url: http://git.onelab.eu/?p=build.git;a=blobdiff_plain;f=lxc.mk;h=2a685180863dab40b858d6aeb53c45532b445508;hp=dfcb2d6f5a9d990ff010240689c8bb336729e038;hb=9770ae10ecdfae9bdcaa1232ac47c94d4b1891ee;hpb=30f94e8d970b95f292d1b0ce20283d3af840a4a7 diff --git a/lxc.mk b/lxc.mk index dfcb2d6f..2a685180 100644 --- a/lxc.mk +++ b/lxc.mk @@ -5,7 +5,7 @@ # 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 ship with fedora16's kernel rpm @@ -18,41 +18,50 @@ lxc-userspace-SPEC := lxc-userspace.spec ALL += lxc-userspace IN_NODEIMAGE += lxc-userspace -# # # transforward: root context module for transparent port forwarding # +# with 4.19, the jprobe api has gone entirely +# https://github.com/torvalds/linux/commit/4de58696de076d9bd2745d1cbe0930635c3f5ac9 +# +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 # -# this module won't build yet under f20 -ifeq "$(DISTRONAME)" "f18" +### 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 -endif # # comgt - a companion to umts tools -# +# comgt-MODULES := comgt comgt-SPEC := comgt.spec IN_NODEIMAGE += comgt @@ -92,7 +101,7 @@ IN_NODEIMAGE += ipod # # plnode-utils -# +# plnode-utils-MODULES := plnode-utils plnode-utils-SPEC := plnode-utils-lxc.spec ALL += plnode-utils @@ -101,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 @@ -130,45 +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 f18, and the stock version later on -local_libvirt=false -ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20)" +#################### libvirt version selection + +# use fedora's libvirt starting with f22 +ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20 f21)" local_libvirt=true 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-STOCK-DEVEL-RPMS += xhtml1-dtds gettext gettext-devel libtasn1-devel gnutls-devel -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 +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 - -ifeq "$(DISTRONAME)" "f16" -libvirt-STOCK-DEVEL-RPMS += libnl-devel libudev-devel -endif # strictly speaking fuse-devel is not required anymore but we might wish to turn fuse back on again in the future -ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20)" -libvirt-STOCK-DEVEL-RPMS += fuse-devel libssh2-devel dbus-devel numad -libvirt-STOCK-DEVEL-RPMS += systemd-devel libnl3-devel iptables-ipv6 libgcrypt-devel -endif -libvirt-RPMFLAGS := --define 'packager PlanetLab' +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 @@ -231,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 # @@ -239,6 +273,9 @@ 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 # @@ -246,6 +283,7 @@ sliver-openvswitch-MODULES := sliver-openvswitch sliver-openvswitch-SPEC := sliver-openvswitch.spec IN_SLICEIMAGE += sliver-openvswitch ALL += sliver-openvswitch +endif # # plcapi @@ -255,26 +293,9 @@ plcapi-SPEC := plcapi.spec ALL += plcapi IN_MYPLC += plcapi -# -# mod_python -# -# this was dropped in fedora18, at which point the intention has been to -# move to wsgi instead; however our using wsgi currently looks unstable -# so you have the option to install this manually, in which case myplc will -# swap to using mod_python - see plc.d/httpd -ifeq "$(DISTRO)" "Fedora" -ifneq "$(DISTRONAME)" "f16" -mod_python-MODULES := mod_python -mod_python-SPEC := mod_python.spec -mod_python-STOCK-DEVEL-RPMS := httpd-devel -mod_python-BUILD-FROM-SRPM := yes -ALL += mod_python -endif -endif - # # drupal -# +# drupal-MODULES := drupal drupal-SPEC := drupal.spec drupal-BUILD-FROM-SRPM := yes @@ -300,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 @@ -357,7 +380,7 @@ IN_MYPLC += bootmanager # # pypcilib : used in bootcd -# +# pypcilib-MODULES := pypcilib pypcilib-SPEC := pypcilib.spec ALL += pypcilib @@ -373,23 +396,15 @@ IN_NODEIMAGE += pyplnet IN_MYPLC += pyplnet IN_BOOTCD += pyplnet -# -# for OMF resource controller as a gem : rvm-ruby has right version of ruby and related gem stuff -# -rvm-ruby-MODULES := rvm-ruby -rvm-ruby-SPEC := rpm/rvm-ruby.spec -rvm-ruby-STOCK-DEVEL-RPMS := chrpath libyaml-devel libffi-devel libxslt-devel -# Since Oct 22. 2013, f18 has a new release of openssl that ruby is not too happy to build against -# turning this off for now, Christoph Dwertmann to monitor the status of this bug/incompatibility upstream -#ALL += rvm-ruby - +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f23 f24 f25 f27 f29)" # # OML measurement library # oml-MODULES := oml -oml-STOCK-DEVEL-RPMS += sqlite-devel +oml-STOCK-DEVEL-RPMS += sqlite-devel oml-SPEC := liboml.spec ALL += oml +endif # # bootcd @@ -415,7 +430,7 @@ IN_NODEIMAGE += sliceimage # # lxc-specific sliceimage initialization -# +# lxc-sliceimage-MODULES := sliceimage lxc-sliceimage-SPEC := lxc-sliceimage.spec lxc-sliceimage-RPMDATE := yes @@ -481,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 @@ -494,33 +509,9 @@ release-RPMDATE := yes ALL += release ############################## -# sfa requires python-2.7 -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 - -############################## -# don't build these by default, we have separate builds for that -myslice-MODULES := myslice -myslice-SPEC := myslice.spec -myslice-STOCK-DEVEL-RPMS := python-django -myslice-STOCK-DEVEL-DEBS := python-django python-django-south -#ALL += myslice - -manifold-MODULES := manifold -manifold-SPEC := manifold.spec -#ALL += manifold