X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=onelab.mk;h=69bc02681fecbc6b11bee26da405d5b3585b19f3;hb=5a66b3cdb787905b2ed821ca073ecbbc1e9df742;hp=b059711bd15bd55190920bd9960fa440e0a82051;hpb=cb0c921da4fce8d28d18a7e828913b590ae464d7;p=build.git diff --git a/onelab.mk b/onelab.mk index b059711b..69bc0268 100644 --- a/onelab.mk +++ b/onelab.mk @@ -1,5 +1,5 @@ # -# OneLab standard components list +# declare the packages to be built and their dependencies # initial version from Mark Huang # Mark Huang # Copyright (C) 2003-2006 The Trustees of Princeton University @@ -25,6 +25,7 @@ kernel-RPMFLAGS:= --target i686 else kernel-RPMFLAGS:= --target $(HOSTARCH) endif +# this is useful for 2.6.22 but will not be needed anymore with 2.6.27 kernel-SPECVARS := iwlwifi=1 KERNELS += kernel @@ -39,18 +40,6 @@ IN_BOOTSTRAPFS += $(KERNELS) # turns out myplc installs kernel-vserver IN_MYPLC += $(KERNELS) -# -# kexec-tools -# -ifeq "$(DISTRONAME)" "fc4" -kexec-tools-MODULES := kexec-tools -kexec-tools-SPEC := kexec-tools.spec -kexec-tools-CVSROOT := :pserver:anon@cvs.planet-lab.org:/cvs -kexec-tools-TAG := planetlab-4_1-rc2 -ALL += kexec-tools -IN_BOOTCD += kexec-tools -endif - # # madwifi # @@ -85,15 +74,20 @@ IN_BOOTSTRAPFS += comgt ALL += comgt # -# libnl +# umts: root context stuff # -# [daniel] wait for latest Fedora release -# (03:29:46 PM) daniel_hozac: interfacing with the kernel directly when dealing with netlink was fugly, so... i had to find something nicer. -# (03:29:53 PM) daniel_hozac: the one in Fedora is lacking certain APIs i need. +umts-backend-MODULES := planetlab-umts-tools +umts-backend-SPEC := backend.spec +IN_BOOTSTRAPFS += umts-backend +ALL += umts-backend + # -libnl-MODULES := libnl -libnl-SPEC := libnl.spec -ALL += libnl +# umts: slice tools +# +umts-frontend-MODULES := planetlab-umts-tools +umts-frontend-SPEC := frontend.spec +IN_VSERVER += umts-frontend +ALL += umts-frontend # # util-vserver @@ -104,22 +98,45 @@ util-vserver-RPMFLAGS:= --without dietlibc ALL += util-vserver IN_BOOTSTRAPFS += util-vserver +# +# libnl - local import +# we need either 1.1 or at least 1.0.pre6 +# rebuild this on centos5 - see kexcludes in build.common +# +local_libnl=false +ifeq "$(DISTRONAME)" "centos5" +local_libnl=true +endif + +ifeq "$(local_libnl)" "true" +libnl-MODULES := libnl +libnl-SPEC := libnl.spec +libnl-BUILD-FROM-SRPM := yes +# this sounds like the thing to do, but in fact linux/if_vlan.h comes with kernel-headers +libnl-DEPEND-DEVEL-RPMS := kernel-devel kernel-headers +ALL += libnl +IN_BOOTSTRAPFS += libnl +endif + # # util-vserver-pl # util-vserver-pl-MODULES := util-vserver-pl util-vserver-pl-SPEC := util-vserver-pl.spec -util-vserver-pl-DEPEND-DEVEL-RPMS := libnl libnl-devel util-vserver-lib util-vserver-devel util-vserver-core +util-vserver-pl-DEPEND-DEVEL-RPMS := util-vserver-lib util-vserver-devel util-vserver-core +ifeq "$(local_libnl)" "true" +util-vserver-pl-DEPEND-DEVEL-RPMS += libnl libnl-devel +endif ALL += util-vserver-pl IN_BOOTSTRAPFS += util-vserver-pl # # NodeUpdate # -NodeUpdate-MODULES := NodeUpdate -NodeUpdate-SPEC := NodeUpdate.spec -ALL += NodeUpdate -IN_BOOTSTRAPFS += NodeUpdate +nodeupdate-MODULES := NodeUpdate +nodeupdate-SPEC := NodeUpdate.spec +ALL += nodeupdate +IN_BOOTSTRAPFS += nodeupdate # # ipod @@ -132,18 +149,18 @@ IN_BOOTSTRAPFS += ipod # # NodeManager # -NodeManager-MODULES := NodeManager -NodeManager-SPEC := NodeManager.spec -ALL += NodeManager -IN_BOOTSTRAPFS += NodeManager +nodemanager-MODULES := NodeManager +nodemanager-SPEC := NodeManager.spec +ALL += nodemanager +IN_BOOTSTRAPFS += nodemanager # # pl_sshd # -pl_sshd-MODULES := pl_sshd -pl_sshd-SPEC := pl_sshd.spec -ALL += pl_sshd -IN_BOOTSTRAPFS += pl_sshd +sshd-MODULES := pl_sshd +sshd-SPEC := pl_sshd.spec +ALL += sshd +IN_BOOTSTRAPFS += sshd # # codemux: Port 80 demux @@ -169,21 +186,20 @@ pf2slice-MODULES := pf2slice pf2slice-SPEC := pf2slice.spec ALL += pf2slice - # # PlanetLab Mom: Cleans up your mess # -pl_mom-MODULES := Mom -pl_mom-SPEC := pl_mom.spec -ALL += pl_mom -IN_BOOTSTRAPFS += pl_mom +mom-MODULES := Mom +mom-SPEC := pl_mom.spec +ALL += mom +IN_BOOTSTRAPFS += mom # # iptables # iptables-MODULES := iptables iptables-SPEC := iptables.spec -iptables-DEPEND-DEVEL-RPMS := kernel-devel +iptables-DEPEND-DEVEL-RPMS := kernel-devel kernel-headers ALL += iptables IN_BOOTSTRAPFS += iptables @@ -194,28 +210,52 @@ iproute-MODULES := iproute2 iproute-SPEC := iproute.spec ALL += iproute IN_BOOTSTRAPFS += iproute +IN_VSERVER += iproute +IN_BOOTCD += iproute # -# vsys +# inotify-tools - local import +# rebuild this on centos5 (not found) - see kexcludes in build.common # -vsys_support=yes -ifeq "$(DISTRONAME)" "fc4" -vsys_support= -endif -ifeq "$(DISTRONAME)" "fc6" -vsys_support= -endif -# cannot find the required packages (see devel.pkgs) on centos5 +local_inotify_tools=false ifeq "$(DISTRONAME)" "centos5" -vsys_support= +local_inotify_tools=true endif -ifeq "$(vsys_support)" "yes" +ifeq "$(local_inotify_tools)" "true" +inotify-tools-MODULES := inotify-tools +inotify-tools-SPEC := inotify-tools.spec +inotify-tools-BUILD-FROM-SRPM := yes +IN_BOOTSTRAPFS += inotify-tools +ALL += inotify-tools +endif + +# +# vsys +# vsys-MODULES := vsys vsys-SPEC := vsys.spec +ifeq "$(local_inotify_tools)" "true" +vsys-DEPEND-DEVEL-RPMS := inotify-tools inotify-tools-devel +endif IN_BOOTSTRAPFS += vsys ALL += vsys -endif + +# +# vsys-scripts +# +vsys-scripts-MODULES := vsys-scripts +vsys-scripts-SPEC := vsys-scripts.spec +IN_BOOTSTRAPFS += vsys-scripts +ALL += vsys-scripts + +# +# dummynet_image +# +dummynet_image-MODULES := dummynet_image +dummynet_image-SPEC := dummynet_image.spec +IN_MYPLC += dummynet_image +ALL += dummynet_image # # PLCAPI @@ -226,25 +266,73 @@ ALL += PLCAPI IN_MYPLC += PLCAPI # -# PLCWWW +# drupal +# +drupal-MODULES := drupal +drupal-SPEC := drupal.spec +drupal-BUILD-FROM-SRPM := yes +ALL += drupal +IN_MYPLC += drupal + +# +# use the plewww module instead +# +plewww-MODULES := PLEWWW +plewww-SPEC := plewww.spec +ALL += plewww +IN_MYPLC += plewww + +# +# www-register-wizard # -PLCWWW-MODULES := PLCWWW -PLCWWW-SPEC := PLCWWW.spec -ALL += PLCWWW -IN_MYPLC += PLCWWW +www-register-wizard-MODULES := www-register-wizard +www-register-wizard-SPEC := www-register-wizard.spec +ALL += www-register-wizard +IN_MYPLC += www-register-wizard # # monitor # -Monitor-MODULES := Monitor -Monitor-SPEC := Monitor.spec -ALL += Monitor -IN_BOOTSTRAPFS += Monitor +monitor-MODULES := Monitor +monitor-SPEC := Monitor.spec +ALL += monitor +IN_BOOTSTRAPFS += monitor + +# +# PLC RT +# +plcrt-MODULES := PLCRT +plcrt-SPEC := plcrt.spec +ALL += plcrt + +# +# zabbix +# +zabbix-MODULES := Monitor +zabbix-SPEC := zabbix.spec +zabbix-BUILD-FROM-SRPM := yes +ALL += zabbix + +# +# pyopenssl +# +pyopenssl-MODULES := pyopenssl +pyopenssl-SPEC := pyOpenSSL.spec +pyopenssl-BUILD-FROM-SRPM := yes +ALL += pyopenssl + + +# +# sfa - Slice Facility Architecture - fka geniwrapper +# +sfa-MODULES := sfa +sfa-SPEC := geniwrapper.spec +ALL += sfa # # nodeconfig # -nodeconfig-MODULES := nodeconfig +nodeconfig-MODULES := nodeconfig build nodeconfig-SPEC := nodeconfig.spec ALL += nodeconfig IN_MYPLC += nodeconfig @@ -265,6 +353,16 @@ pypcilib-SPEC := pypcilib.spec ALL += pypcilib IN_BOOTCD += pypcilib +# +# pyplnet +# +pyplnet-MODULES := pyplnet +pyplnet-SPEC := pyplnet.spec +ALL += pyplnet +IN_BOOTSTRAPFS += pyplnet +IN_MYPLC += pyplnet +IN_BOOTCD += pyplnet + # # bootcd # @@ -282,8 +380,6 @@ IN_MYPLC += bootcd # vserver-MODULES := VserverReference build vserver-SPEC := vserver-reference.spec -# Package must be built as root -vserver-RPMBUILD := sudo bash ./rpmbuild.sh vserver-DEPEND-PACKAGES := $(IN_VSERVER) vserver-DEPEND-FILES := RPMS/yumgroups.xml vserver-RPMDATE := yes @@ -324,28 +420,22 @@ ALL += noderepo IN_MYPLC += noderepo # -# MyPLC native : lightweight packaging, dependencies are yum-installed in a vserver -# -myplc-native-MODULES := MyPLC build -myplc-native-SPEC := myplc-native.spec -# Package must be built as root -myplc-native-RPMBUILD := sudo bash ./rpmbuild.sh -myplc-native-DEPEND-FILES := myplc-release -ALL += myplc-native - -## # -## # myplc : old-fashioned, chroot-based packaging -## # -## myplc-MODULES := MyPLC build -## myplc-SPEC := myplc.spec -## # Package must be built as root -## myplc-RPMBUILD := sudo bash ./rpmbuild.sh -## # myplc may require all packages -## myplc-DEPEND-PACKAGES := $(IN_MYPLC) -## myplc-DEPEND-FILES := RPMS/yumgroups.xml myplc-release -## myplc-RPMDATE := yes -## ALL += myplc - -myplc-docs-MODULES := MyPLC PLCAPI NodeManager +# MyPLC : lightweight packaging, dependencies are yum-installed in a vserver +# +myplc-MODULES := MyPLC build +myplc-SPEC := myplc.spec +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, +# together with the utility script docbook2drupal.sh +myplc-docs-MODULES := MyPLC PLCAPI NodeManager Monitor myplc-docs-SPEC := myplc-docs.spec ALL += myplc-docs + +# using some other name than myplc-release, as this is a make target already +release-MODULES := MyPLC +release-SPEC := myplc-release.spec +release-RPMDATE := yes +ALL += release