X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lxc.mk;h=8c8175a229f77e7a5da7e97d28eab9cc76d75c63;hb=bc92fbd729d0e34f89e2edea7596763a1739fe9f;hp=2194a5039c980b090c22aee8e09d49e1d996c5fe;hpb=b212ca031dbce0376d8b5ce868bfd52e29d7c0d4;p=build.git diff --git a/lxc.mk b/lxc.mk index 2194a503..8c8175a2 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,46 +134,19 @@ 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 - -#################### libvirt version selection -# for now things are a bit confused -# on f18 we build with our own 1.0.4 and that works fine -# on f20 we have tried the mainstream (1.1.3) libvirt, -# as well as the latest 1.2.1 release, and both exhibit an issue that needs to be fixed -# in addition once this is done we might need to have f18+1.2.1 as well -# so for now we leave the option to set the following on the command line -# LIBVIRT=104 (for f18) -# LIBVIRT=mainstream (for f20) -# LIBVIRT=121 (for f18 or f20) - -# set default according to distro -ifeq "$(LIBVIRT)" "" -ifeq "$(DISTRONAME)" "f18" -LIBVIRT=104 -else -LIBVIRT=121 -endif endif -ifeq "$(LIBVIRT)" "104" -local_libvirt=true -separate_libvirt_python=false -libvirt-GITPATH := git://git.onelab.eu/libvirt.git@libvirt-1.0.4-3 -endif +#################### libvirt version selection -ifeq "$(LIBVIRT)" "121" +# use fedora's libvirt starting with f22 +ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20 f21)" local_libvirt=true -separate_libvirt_python=true -libvirt-GITPATH := git://git.onelab.eu/libvirt.git@1.2.1 -libvirt-python-GITPATH := git://git.onelab.eu/libvirt-python.git@1.2.1 -endif - -ifeq "$(LIBVIRT)" "mainstream" -local_libvirt=false endif # @@ -181,41 +158,46 @@ 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 netcf-devel -endif +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 # -ifeq "$(separate_libvirt_python)" "true" - libvirt-python-MODULES := libvirt-python libvirt-python-SPEC := libvirt-python.spec libvirt-python-BUILD-FROM-SRPM := yes -libvirt-python-STOCK-DEVEL-RPMS += gnutls-utils nc pm-utils +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 + +endif # local_libvirt # # DistributedRateLimiting @@ -278,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 # @@ -286,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 # @@ -293,6 +283,7 @@ sliver-openvswitch-MODULES := sliver-openvswitch sliver-openvswitch-SPEC := sliver-openvswitch.spec IN_SLICEIMAGE += sliver-openvswitch ALL += sliver-openvswitch +endif # # plcapi @@ -304,7 +295,7 @@ IN_MYPLC += plcapi # # drupal -# +# drupal-MODULES := drupal drupal-SPEC := drupal.spec drupal-BUILD-FROM-SRPM := yes @@ -330,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 @@ -361,15 +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 - -# # nodeconfig # nodeconfig-MODULES := nodeconfig @@ -387,7 +371,7 @@ IN_MYPLC += bootmanager # # pypcilib : used in bootcd -# +# pypcilib-MODULES := pypcilib pypcilib-SPEC := pypcilib.spec ALL += pypcilib @@ -403,23 +387,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 @@ -445,7 +421,7 @@ IN_NODEIMAGE += sliceimage # # lxc-specific sliceimage initialization -# +# lxc-sliceimage-MODULES := sliceimage lxc-sliceimage-SPEC := lxc-sliceimage.spec lxc-sliceimage-RPMDATE := yes @@ -511,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 @@ -524,33 +500,13 @@ 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 # +# this is python2, somehow the tests won't pass on f29, so let's move on +# +ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME), f29)" 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