Added NorNet distribution.
authorThomas Dreibholz <dreibh@simula.no>
Fri, 11 Apr 2014 12:38:33 +0000 (14:38 +0200)
committerThomas Dreibholz <dreibh@simula.no>
Fri, 11 Apr 2014 12:38:33 +0000 (14:38 +0200)
13 files changed:
README-nornet.txt [new file with mode: 0644]
config.nornet/bootcd.pkgs [new file with mode: 0644]
config.nornet/devel.pkgs [new file with mode: 0644]
config.nornet/nodeimage.pkgs [new file with mode: 0644]
config.nornet/nodeimage.post [new file with mode: 0644]
config.nornet/nornet.mirrors [new file with mode: 0644]
config.nornet/sliceimage-omf.pkgs [new symlink]
config.nornet/sliceimage-planetflow.pkgs [new symlink]
config.nornet/sliceimage.pkgs [new file with mode: 0644]
config.nornet/sliceimage.post [new file with mode: 0644]
config.nornet/yumexclude.pkgs [new file with mode: 0644]
nornet-tags.mk [new file with mode: 0644]
nornet.mk [new file with mode: 0644]

diff --git a/README-nornet.txt b/README-nornet.txt
new file mode 100644 (file)
index 0000000..e7b7684
--- /dev/null
@@ -0,0 +1,37 @@
+/=========================================================================\
+=             #     #                 #     #                             =
+=             ##    #   ####   #####  ##    #  ######   #####             =
+=             # #   #  #    #  #    # # #   #  #          #               =
+=             #  #  #  #    #  #    # #  #  #  #####      #               =
+=             #   # #  #    #  #####  #   # #  #          #               =
+=             #    ##  #    #  #   #  #    ##  #          #               =
+=             #     #   ####   #    # #     #  ######     #               =
+=                                                                         =
+=             A Real-World, Large-Scale Multi-Homing Testbed              =
+=                          https://www.nntb.no/                           =
+=                                                                         =
+= Contact: Thomas Dreibholz                                               =
+=          dreibh@simula.no, https://www.simula.no/people/dreibh          =
+\=========================================================================/
+
+
+The distribution "nornet" is the software for the NorNet research testbed on multi-homed systems. Its aim is to provide a research possibility on systems that are connected to multiple ISPs simultaneously, both with IPv4 and IPv6. The "nornet" distribution is therefore based on "lxc", with the possibility of having own IP addresses per slice. Particularly, slices may have multiple IPv4 and IPv6 addresses.
+
+
+Further Information:
+
+* Gran, Ernst Gunnar; Dreibholz, Thomas and Kvalbein, Amund: «NorNet Core – A Multi-Homed Research Testbed» (PDF, 1458 KiB, in English), in Computer Networks, Special Issue on Future Internet Testbeds, DOI 10.1016/j.bjp.2013.12.035, ISSN 1389-1286, January 3, 2014.
+URL: https://simula.no/publications/Simula.simula.2236/simula_pdf_file
+BibTeX: https://www.nntb.no/pub/nornet-publications/bibtex/ComNets2013-Core.bib
+
+* Dreibholz, Thomas and Gran, Ernst Gunnar: «Design and Implementation of the NorNet Core Research Testbed for Multi-Homed Systems» (PDF, 20082 KiB, in English), in Proceedings of the 3nd International Workshop on Protocols and Applications with Multi-Homing Support (PAMS), pp. 1094–1100, DOI 10.1109/WAINA.2013.71, ISBN 978-0-7695-4952-1, Barcelona, Catalonia/Spain, March 27, 2013.
+URL: https://simula.no/publications/threfereedinproceedingsreference.2012-12-20.7643198512/simula_pdf_file
+BibTeX: https://www.nntb.no/pub/nornet-publications/bibtex/PAMS2013-NorNet.bib
+
+* Website: https://www.nntb.no.
+
+
+Contact:
+
+Thomas Dreibholz
+dreibh@simula.no, https://www.simula.no/people/dreibh
diff --git a/config.nornet/bootcd.pkgs b/config.nornet/bootcd.pkgs
new file mode 100644 (file)
index 0000000..50d1173
--- /dev/null
@@ -0,0 +1,97 @@
+groupname: PlanetLabBootcd
+groupdesc: PlanetLab BootCD
+# packages to exclude from stock repositories
+yumexclude: @NODEYUMEXCLUDE@
+# define packages
+package: btrfs-progs
+package: filesystem
+package: dhclient
+package: bash
+package: coreutils
+package: iputils
+package: kernel
+package: bzip2
+package: diffutils
+package: logrotate
+package: passwd
+package: rsync
+package: sudo
+package: tcpdump
+package: telnet
+package: traceroute
+package: time
+package: wget
+package: yum
+package: curl
+package: gzip
+package: python
+package: tar
+package: pciutils
+package: kbd
+package: authconfig
+package: hdparm
+package: lvm2
+package: kexec-tools
+package>=f8 package>=centos5: gnupg
+package>=sl6: gnupg2
+package: nano
+package: parted
+package: pyparted
+package: openssh-server
+package: openssh-clients
+package: ncftp
+package: dosfstools
+package: dos2unix
+package: bind-utils
+package: sharutils
+package: vconfig
+package: ntp
+package: pypcilib
+package: openvpn
+package: vim-enhanced
+# make this explicit for f14 as we need mkfs.ext2 in bm
+package: e2fsprogs
+# used to be installed until f12, make it explicit for f14, might come in handy
+package>=f14: rsyslog 
+package: strace lsof
+package>=f18: net-tools
+#################### formerly in prep.sh
+junk: lib/obsolete
+junk: lib/tls
+junk: usr/share/cracklib
+junk: usr/share/emacs
+junk: usr/share/gnupg
+junk: usr/share/i18n
+junk: usr/share/locale
+junk: usr/share/terminfo
+junk: usr/share/zoneinfo
+junk: usr/sbin/build-locale-archive
+junk: usr/sbin/dbconverter-2
+junk: usr/sbin/sasl*
+junk: usr/sbin/tcpslice
+junk: usr/lib/perl*
+junk: usr/lib/locale
+junk: usr/lib/sasl*
+junk: usr/lib/gconv
+junk: usr/lib/tls
+junk: usr/boot
+#
+precious: usr/share/i18n/locales/en_US
+precious: usr/share/i18n/charmaps/UTF-8.gz
+precious: usr/share/locale/en
+precious: usr/share/terminfo/l/linux
+precious: usr/share/terminfo/v/vt100
+precious: usr/share/terminfo/x/xterm
+precious: usr/share/zoneinfo/UTC
+precious: boot/*@pldistro@*
+precious: boot/config*
+precious: boot/initrd-boot*
+precious: boot/kernel-boot*
+precious: boot/grub
+precious<=f8 precious<=centos5: usr/lib/locale/en_US.utf8
+
+
+# ###### NorNet customisation ###############################################
+package: joe
+package: less 
+# ###########################################################################
diff --git a/config.nornet/devel.pkgs b/config.nornet/devel.pkgs
new file mode 100644 (file)
index 0000000..4d70b44
--- /dev/null
@@ -0,0 +1,147 @@
+#
+groupname: PlanetLabDevel
+groupdesc: Building PlanetLab
+#
+# general utilities
+package: sendmail sendmail-cf mailx 
+package: make git
+package: glibc glibc-common 
+package: bzip2 gzip
+package: cpio tar
+package: coreutils 
+package: rpm rpm-build rpm-devel 
+package: redhat-rpm-config 
+package: curl curl-devel 
+package: subversion cvs 
+package: less 
+package: openssh
+package: emacs-nox
+# undetermined 
+package: expect 
+package: gd 
+package: httpd mod_ssl 
+package: openssl 
+package: openssl-devel
+package: zlib
+package: zlib-devel
+package: bison flex
+package: libtool 
+package: metadata 
+package: mysql mysql-devel mysql-server 
+package: python python-devel 
+package: doxygen  
+package: cronie
+package: xmlsec1 xmlsec1-openssl 
+package: expat-devel
+package: db4-devel 
+package: ncurses-devel 
+package: readline-devel 
+package: dnsmasq 
+# for spec2make / rpmlib
+package=f8: popt-devel
+# kernel
+package: gnupg 
+package: diffutils 
+package: patchutils 
+package: vconfig 
+package: iptables 
+package: wget 
+package: beecrypt-devel 
+package: tetex-latex
+package: gcc-c++ 
+package: binutils-devel
+# required for perf
+package: xmlto asciidoc newt-devel
+package: perl-ExtUtils-Embed
+# iptables
+package: linuxdoc-tools 
+package: sudo 
+package: yum createrepo 
+## mysql
+#package: gperf 
+#package: time 
+# bootmanager
+package: sharutils 
+# bootcd
+package: nasm 
+package: mkisofs 
+package: dosfstools 
+package: mtools
+package: syslinux
+# myplc
+package: rsync 
+package: ghostscript
+# myplc-docs
+package: ed
+package: docbook-utils-pdf 
+# plcapi
+package: postgresql postgresql-devel postgresql-python postgresql-server 
+# if we don't specify @arch@ for php-devel, we end up with the 2 variants (i386 and x86_64)
+# in an undetermined order, and php-config --extension-dir might return the wrong place
+package: php php-devel.@arch@ php-gd php-pgsql 
+# now this seems to have been fixed in f12
+package>=f12: php-devel
+package<=f18: PyXML 
+# used to reference SOAPpy as well
+# for pypcilib
+package: pciutils-devel
+package: python-simplejson
+##########
+# for vsys - same as for php-devel above
+package: ocaml.@arch@
+# use local inotify-tools on centos
+package>=f8:inotify-tools-devel 
+### ##########
+### ## for util-vserver-pl
+### # use local libnl on centos
+### package>=f8: libnl-devel
+### # for util-vserver
+### package: ctags
+### #
+### package=f8: e2fsprogs-devel.@arch@
+### package>=f12: e2fsprogs-devel
+### package>=f14: e2fsprogs nss-devel
+##########
+# openvswitch
+# starting with f16 we use the stock kernel, and openvswitch needs kernel-devel
+# ????? package>=f16: kernel-devel
+# ????? NorNet: commented out !!!!!
+##########
+# zabbix/monitor
+package=centos5: krb5-devel.@arch@ e2fsprogs-devel.@arch@ libidn-devel.@arch@
+##########
+# for sfa : rebuilding wsdl index at build-time
+package: python-uuid pyOpenSSL m2crypto
+package: libxml2-python libxslt-python
+package: python-ZSI 
+package: python-psycopg2
+package: python-setuptools
+package: python-dateutil
+package: python-lxml
+# DistributedRateLimiting
+package: libxml2-devel
+# myplc-docs
+package>=f18: texlive-ec
+
+
+# ###### NorNet customisation ###############################################
+package: lksctp-tools-devel
+package: valgrind-devel
+package: bzip2-devel
+package: glib2-devel
+package: GeoIP-devel
+package: qt-devel
+package: libpcap-devel
+package: libdnet-devel
+package: lua-devel
+
+# The following packages are needed to build the 3.11+ kernel:
+package: hmaccalc
+package: net-tools
+package: bc
+package: elfutils-devel
+package: audit-libs-devel
+package: gettext
+package: pesign
+package: openssl
+# ###########################################################################
diff --git a/config.nornet/nodeimage.pkgs b/config.nornet/nodeimage.pkgs
new file mode 100644 (file)
index 0000000..4c60e56
--- /dev/null
@@ -0,0 +1,159 @@
+#
+# Keeping the old name as it might be referenced elsewhere (node update..)
+# groupname: Bootstrapfs
+groupname: PlanetLab
+groupdesc: PlanetLab Node Root
+# our own modules
+package: ipfwroot
+package: lxc-userspace
+package: transforward
+package: procprotect
+# packages to exclude from stock repositories
+yumexclude: @NODEYUMEXCLUDE@
+# fedora-release or centos-release are pulled from deps
+# define packages
+package: btrfs-progs
+package: bridge-utils
+package: dnsmasq
+package: bash-completion
+package: kernel
+package: linux-firmware
+package: systemd
+package: basesystem
+package: filesystem
+package: lvm2
+package: bash
+package: coreutils
+package: python
+package: cpio
+package: e2fsprogs
+package: ed
+package: file     
+package: glibc
+package: hdparm
+package: initscripts
+package: iproute
+package: iputils
+package: kbd
+package: passwd
+package: procps-ng
+package: readline
+package: rootfiles
+package: rpm
+package: setserial
+package: setup
+package: vim-enhanced
+package: shadow-utils
+package: cronie-anacron
+package: at
+package: authconfig
+package: bc
+package: bind-utils
+package: bzip2
+package: crontabs
+package: dhclient
+package: diffutils
+package: ethtool
+package: logrotate
+package: libnl
+package: lsof
+package: mailcap
+package: nano
+package: nmap-ncat
+package: openssh-clients
+package: parted
+package: pciutils
+package: psacct
+package: quota
+package: rsh
+package: rsync
+package: sendmail
+package: sudo
+package: telnet
+package: traceroute
+package: time
+package: tmpwatch
+package: tcpdump
+package: openssh-server
+package: wget
+package: yum
+package: curl
+package: gzip
+package: iptables
+package: dracut
+package: ntp
+package: perl
+package: python
+package: tar
+package: expect
+package: nfs-utils
+package: openvpn
+package: vconfig
+package<=f18: PyXML
+
+#
+# platform-dependent
+#
+package: rsyslog
+package: util-linux
+package: cronie
+
+#
+# planetlab
+#
+package: wireless-tools
+package: nodemanager-lxc
+package: NodeUpdate
+package: codemux
+package: pl_sshd
+package: ipod
+package: sliceimage-@pldistro@-@fcdistro@-@arch@
+package: sliceimage-system-@pldistro@-@fcdistro@-@arch@
+package: lxc-sliceimage
+#package: pl_mom
+package: fprobe-ulog
+package: vsys
+package: vsys-scripts
+# ??? package: monitor-client
+# ??? package: monitor-runlevelagent
+package: net-tools
+
+### used to be in the onelab umts extension, but doesn't hurt anyone
+package: planetlab-umts-tools-backend ppp comgt
+
+### convenience
+package: less
+package: emacs-nox
+
+package>=f20: libvirt
+
+
+# ###### NorNet customisation ###############################################
+package: bind-utils
+package: colordiff
+package: ethtool
+package: git
+package: joe
+package: htop
+package: libidn
+package: kernel-modules-extra
+package: lksctp-tools
+package: net-snmp-utils
+package: nfs-utils
+package: nmap
+package: nuttcp
+package: tcpdump
+package: tftp
+package: whois
+package: wireshark
+package: xauth
+
+package: open-vm-tools
+package: smartmontools
+
+package: netperfmeter
+package: rsplib
+package: subnetcalc
+package: tracebox
+package: tsctp
+# ###########################################################################
diff --git a/config.nornet/nodeimage.post b/config.nornet/nodeimage.post
new file mode 100644 (file)
index 0000000..b4a0383
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+vdir=$1
+if [ -z "${vdir}" ] ; then
+       echo "ERROR: $0"
+       echo "Provide the directory of the root filesystem to operate on"
+       exit
+fi
+
+# Cleanup yum config entirely, waiting for the config files to populate this
+rm -rf ${vdir}/etc/yum.conf ${vdir}/etc/yum.repos.d
+
+# Tweaking services
+# turn ON openvswitch as it is required for the privatebridge nm plugin
+chroot ${vdir} systemctl enable openvswitch.service || :
+# enabling network as it ends up turned off on systems that come with NetworkManager, starting with fedora9
+chroot ${vdir} systemctl enable network.service || :
+# and turn off NetworkManager if present, as it quite obviously messes with network
+chroot ${vdir} systemctl disable NetworkManager.service || :
+# turn on ntpd
+chroot ${vdir} systemctl enable ntpd.service || :
+# tentatively turn on getty on tty1
+chroot ${vdir} systemctl enable getty@tty1.service || :
+
+# Disable splaying of cron.
+echo > ${vdir}/etc/sysconfig/crontab
+
+# Add site_admin account
+chroot ${vdir} /usr/sbin/useradd -p "" -u 502 -m site_admin
+
+# Add a logrotate script for btmp, which logs failed ssh logins, which can
+# grow unbounded on public plnodes and fill the root fs.
+cat <<EOF > ${vdir}/etc/logrotate.d/btmp
+/var/log/btmp {
+    weekly
+    minsize 1M
+    create 0600 root utmp
+    rotate 2
+    compress
+    notifempty
+}
+EOF
+
+#################### historical notes - see config.planetlab/nodeimage.post
+# xxx turning OFF selinux
+# there used to be some code for that in the historical/vserver version
+# none of that code seems applicable in f16 any longer
+#
+# also a horrible hack to the network initscripts has been removed
diff --git a/config.nornet/nornet.mirrors b/config.nornet/nornet.mirrors
new file mode 100644 (file)
index 0000000..ee58e53
--- /dev/null
@@ -0,0 +1,8 @@
+# define here the ordered set of mirrors that you'd like to use when running mkfedora
+# used to be hard-wired in build.common / mkfedora
+
+# ###### NorNet customisation ###############################################
+mirror: http://mirror.simula.nornet/
+# ###########################################################################
+
+mirror: http://mirror.onelab.eu/
diff --git a/config.nornet/sliceimage-omf.pkgs b/config.nornet/sliceimage-omf.pkgs
new file mode 120000 (symlink)
index 0000000..53d80a5
--- /dev/null
@@ -0,0 +1 @@
+../config.planetlab/sliceimage-omf.pkgs
\ No newline at end of file
diff --git a/config.nornet/sliceimage-planetflow.pkgs b/config.nornet/sliceimage-planetflow.pkgs
new file mode 120000 (symlink)
index 0000000..c43621b
--- /dev/null
@@ -0,0 +1 @@
+../config.planetlab/sliceimage-planetflow.pkgs
\ No newline at end of file
diff --git a/config.nornet/sliceimage.pkgs b/config.nornet/sliceimage.pkgs
new file mode 100644 (file)
index 0000000..a6334eb
--- /dev/null
@@ -0,0 +1,73 @@
+#
+groupname: PlanetLabSlice
+groupdesc: PlanetLab Slice Reference Image
+# packages to exclude from stock repositories
+yumexclude: @NODEYUMEXCLUDE@
+
+package: filesystem bash coreutils
+package: findutils diffutils
+package: crontabs logrotate passwd sudo
+package: gzip bzip2 tar rsync
+package: wget curl
+package: perl
+package: python python-devel
+package: yum
+package: iputils
+package: tcpdump traceroute telnet
+package<=f18: nc
+package>=f20: nmap-ncat
+package: openssh-clients
+package: time
+# this is really old school but well..
+package: rsh which
+
+package: cronie
+
+# xxx not entirely sure this is required any more
+package: openssh-server
+
+# for ifconfig
+package: net-tools
+
+# required for lxc-based nodes
+package: dhclient
+# a PL-specific, also required on lxc-based nodes
+package: bind_public
+
+package: vsyssh
+package: vsys-wrapper
+
+# onelab additions
+package: sliver-openvswitch
+package: ipfwslice
+
+# convenience
+package: less emacs-nox
+
+
+# ###### NorNet customisation ###############################################
+package: bind-utils
+package: colordiff
+package: ethtool
+package: git
+package: joe
+package: htop
+package: libidn
+# package: kernel-modules-extra
+package: lksctp-tools
+package: net-snmp-utils
+package: nfs-utils
+package: nmap
+package: nuttcp
+package: tcpdump
+package: tftp
+package: whois
+package: wireshark
+package: xauth
+
+package: netperfmeter
+package: rsplib
+package: subnetcalc
+package: tracebox
+package: tsctp
+# ###########################################################################
diff --git a/config.nornet/sliceimage.post b/config.nornet/sliceimage.post
new file mode 100644 (file)
index 0000000..5a145e2
--- /dev/null
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+vdir=$1
+
+if [ -z "${vdir}" ] ; then
+       echo "ERROR: $0"
+       echo "Provide the directory of the root filesystem to operate on"
+       exit
+fi
+
+# reset root password to be empty
+echo "in slice image: resetting root password"
+sed -i -e "s/root:[\*|x]/root:/" ${vdir}/etc/passwd
+
+# modify the sudoers file to remove the 'requiretty' attribute
+echo "in slice image: removing requiretty from /etc/sudoers"
+sed -i -e 's,^\(Defaults.*requiretty\),#\1,' ${vdir}/etc/sudoers
+
+# make sure we do not end up with an empty /selinux 
+# libvirt gets all confused when that happens
+cd ${vdir}
+if [ -d selinux ] ; then
+    if [ "$(ls -A selinux)" ] ; then
+       echo "sliceimage.post: WARNING: ${vdir}/selinux is not empty - preserving"
+    else
+       echo "sliceimage.post: REMOVING empty ${vdir}/selinux"
+       rmdir selinux
+    fi
+fi
+
+# for when runing under lxc, make sure we don't try to fsck from a slice
+sed -i -e 's,1 1,0 0,' ${vdir}/etc/fstab
+
+cd -
diff --git a/config.nornet/yumexclude.pkgs b/config.nornet/yumexclude.pkgs
new file mode 100644 (file)
index 0000000..ef4b9aa
--- /dev/null
@@ -0,0 +1,8 @@
+plcyumexclude: drupal
+
+
+# ###### NorNet customisation ###############################################
+
+nodeyumexclude>=f18:  kernel*
+
+# ###########################################################################
diff --git a/nornet-tags.mk b/nornet-tags.mk
new file mode 100644 (file)
index 0000000..dcdb0d5
--- /dev/null
@@ -0,0 +1,87 @@
+# /=========================================================================\
+# =             #     #                 #     #                             =
+# =             ##    #   ####   #####  ##    #  ######   #####             =
+# =             # #   #  #    #  #    # # #   #  #          #               =
+# =             #  #  #  #    #  #    # #  #  #  #####      #               =
+# =             #   # #  #    #  #####  #   # #  #          #               =
+# =             #    ##  #    #  #   #  #    ##  #          #               =
+# =             #     #   ####   #    # #     #  ######     #               =
+# =                                                                         =
+# =             A Real-World, Large-Scale Multi-Homing Testbed              =
+# =                          https://www.nntb.no/                           =
+# =                                                                         =
+# = Contact: Thomas Dreibholz                                               =
+# =          dreibh@simula.no, https://www.simula.no/people/dreibh          =
+# \=========================================================================/
+
+# ###### NorNet customisation ###############################################
+linux-GITPATH                   := git://github.com/dreibh/planetlab-kernel.git@master
+netperfmeter-GITPATH            := git://github.com/dreibh/netperfmeter.git@master
+nornet-nn-GITPATH               := git://github.com/dreibh/nornet-nn.git@master
+rsplib-GITPATH                  := git://github.com/dreibh/rsplib.git@master
+subnetcalc-GITPATH              := git://github.com/dreibh/subnetcalc.git@master
+tracebox-GITPATH                := git://github.com/dreibh/tracebox.git@master
+tsctp-GITPATH                   := git://github.com/dreibh/tsctp.git@master
+# ###########################################################################
+
+# ##### NorNet ########################
+# transforward-GITPATH            := git://github.com/dreibh/planetlab-lxc-transforward.git@master
+# procprotect-GITPATH             := git://github.com/dreibh/planetlab-lxc-procprotect.git@master
+# ipfw-GITPATH                    := git://github.com/dreibh/planetlab-lxc-ipfw.git@master
+# #####################################
+
+lxc-userspace-GITPATH           := git://git.planet-lab.org/lxc-userspace.git@lxc-userspace-1.0-10
+transforward-GITPATH            := git://git.planet-lab.org/transforward.git@943d173d4cd9ef5f4f4053ec16e54fc4c71d396a
+procprotect-GITPATH             := git://git.planet-lab.org/procprotect.git@822cc14ef32049a10016bc8ff31d5f5d3652662f
+ipfw-GITPATH                    := git://git.code.sf.net/p/dummynet/code@155b6cd31089b4763297d579e9c9945393f00c40
+comgt-SVNPATH                  := http://svn.onelab.eu/comgt/imports/0.3
+planetlab-umts-tools-GITPATH    := git://git.onelab.eu/planetlab-umts-tools.git@planetlab-umts-tools-0.7-1
+nodeupdate-GITPATH              := git://git.planet-lab.org/nodeupdate.git@nodeupdate-0.5-11
+PingOfDeath-SVNPATH            := http://svn.planet-lab.org/svn/PingOfDeath/tags/PingOfDeath-2.2-1
+plnode-utils-GITPATH            := git://git.planet-lab.org/plnode-utils.git@plnode-utils-0.2-2
+nodemanager-GITPATH             := git://git.planet-lab.org/nodemanager.git@nodemanager-5.2-12
+#
+pl_sshd-SVNPATH                        := http://svn.planet-lab.org/svn/pl_sshd/tags/pl_sshd-1.0-11
+codemux-GITPATH                        := git://git.planet-lab.org/codemux.git@codemux-0.1-15
+fprobe-ulog-GITPATH             := git://git.planet-lab.org/fprobe-ulog.git@fprobe-ulog-1.1.4-3
+libvirt-BRANCH                 := 1.2.3
+libvirt-GITPATH                 := git://git.onelab.eu/libvirt.git@1.2.3
+libvirt-python-BRANCH           := 1.2.3
+libvirt-python-GITPATH          := git://git.onelab.eu/libvirt-python.git@1.2.3
+pf2slice-SVNPATH               := http://svn.planet-lab.org/svn/pf2slice/tags/pf2slice-1.0-2
+mom-GITPATH                     := git://git.planet-lab.org/mom.git@mom-2.3-5
+inotify-tools-GITPATH          := git://git.planet-lab.org/inotify-tools.git@inotify-tools-3.13-2
+openvswitch-GITPATH            := git://git.planet-lab.org/openvswitch.git@openvswitch-1.2-1
+vsys-GITPATH                   := git://git.planet-lab.org/vsys.git@vsys-0.99-3
+vsys-scripts-GITPATH            := git://git.planet-lab.org/vsys-scripts.git@vsys-scripts-0.95-48
+bind_public-GITPATH             := git://git.planet-lab.org/bind_public.git@bind_public-0.1-2
+sliver-openvswitch-GITPATH      := git://git.onelab.eu/sliver-openvswitch.git@sliver-openvswitch-2.1.90-2
+plcapi-GITPATH                  := git://git.planet-lab.org/plcapi.git@plcapi-5.3-2
+drupal-GITPATH                  := git://git.planet-lab.org/drupal.git@drupal-4.7-15
+plewww-GITPATH                  := git://git.planet-lab.org/plewww.git@plewww-5.2-4
+www-register-wizard-SVNPATH    := http://svn.planet-lab.org/svn/www-register-wizard/tags/www-register-wizard-4.3-5
+monitor-GITPATH                        := git://git.planet-lab.org/monitor@monitor-3.1-6
+PLCRT-SVNPATH                  := http://svn.planet-lab.org/svn/PLCRT/tags/PLCRT-1.0-11
+pyopenssl-GITPATH               := git://git.planet-lab.org/pyopenssl.git@pyopenssl-0.9-2
+pyaspects-GITPATH               := git://git.planet-lab.org/pyaspects.git@pyaspects-0.4.1-3
+nodeconfig-GITPATH              := git://git.planet-lab.org/nodeconfig.git@nodeconfig-5.2-4
+bootmanager-GITPATH             := git://git.planet-lab.org/bootmanager.git@bootmanager-5.2-3
+pypcilib-GITPATH                := git://git.planet-lab.org/pypcilib.git@pypcilib-0.2-11
+pyplnet-GITPATH                 := git://git.planet-lab.org/pyplnet.git@pyplnet-4.3-18
+DistributedRateLimiting-SVNPATH        := http://svn.planet-lab.org/svn/DistributedRateLimiting/tags/DistributedRateLimiting-0.1-1
+pcucontrol-GITPATH              := git://git.planet-lab.org/pcucontrol.git@pcucontrol-1.0-13
+###
+rvm-ruby-BRANCH                        := planetlab
+rvm-ruby-GITPATH                := git://git.onelab.eu/rvm-ruby.git@rvm-ruby-1.22.9-1
+oml-GITPATH                     := git://git.onelab.eu/oml.git@oml-2.6.1-1
+###
+bootcd-GITPATH                  := git://git.planet-lab.org/bootcd.git@bootcd-5.2-4
+sliceimage-GITPATH              := git://git.planet-lab.org/sliceimage.git@sliceimage-5.1-6
+nodeimage-GITPATH               := git://git.planet-lab.org/nodeimage.git@nodeimage-5.2-3
+myplc-GITPATH                   := git://git.planet-lab.org/myplc.git@myplc-5.3-2
+
+#
+sfa-BRANCH                     := geni-v3
+sfa-GITPATH                     := git://git.planet-lab.org/sfa.git@geni-v3
+#
+tests-GITPATH                   := git://git.onelab.eu/tests.git@master
diff --git a/nornet.mk b/nornet.mk
new file mode 100644 (file)
index 0000000..fa8261f
--- /dev/null
+++ b/nornet.mk
@@ -0,0 +1,617 @@
+# /=========================================================================\
+# =             #     #                 #     #                             =
+# =             ##    #   ####   #####  ##    #  ######   #####             =
+# =             # #   #  #    #  #    # # #   #  #          #               =
+# =             #  #  #  #    #  #    # #  #  #  #####      #               =
+# =             #   # #  #    #  #####  #   # #  #          #               =
+# =             #    ##  #    #  #   #  #    ##  #          #               =
+# =             #     #   ####   #    # #     #  ######     #               =
+# =                                                                         =
+# =             A Real-World, Large-Scale Multi-Homing Testbed              =
+# =                          https://www.nntb.no/                           =
+# =                                                                         =
+# = Contact: Thomas Dreibholz                                               =
+# =          dreibh@simula.no, https://www.simula.no/people/dreibh          =
+# \=========================================================================/
+
+#
+# declare the packages to be built and their dependencies
+# initial version from Mark Huang
+# Mark Huang <mlhuang@cs.princeton.edu>
+# Copyright (C) 2003-2006 The Trustees of Princeton University
+# rewritten by Thierry Parmentelat - INRIA Sophia Antipolis
+#
+# see doc in Makefile  
+#
+
+
+# ###### NorNet customisation ###############################################
+
+kernel-MODULES := linux
+kernel-SPEC := kernel.spec
+kernel-BUILD-FROM-SRPM := yes
+ifeq "$(HOSTARCH)" "i386"
+   kernel-RPMFLAGS := --target i686
+else
+   kernel-RPMFLAGS := --target $(HOSTARCH)
+endif
+kernel-RPMFLAGS += --without smp --without pae --without debug --without doc --without debuginfo --without perf
+kernel-WHITELIST-RPMS := kernel,kernel-headers,kernel-devel,kernel-modules-extra,kernel-tools,kernel-tools-libs,kernel-tools-libs-devel
+kernel-SPECVARS += kernelconfig=planetlab
+KERNELS += kernel
+kernel-STOCK-DEVEL-RPMS += elfutils-libelf-devel
+
+kernels: $(KERNELS)
+kernels-clean: $(foreach package,$(KERNELS),$(package)-clean)
+
+ALL += $(KERNELS)
+# this is to mark on which image a given rpm is supposed to go
+IN_BOOTCD += $(KERNELS)
+#IN_SLICEIMAGE += $(KERNELS)
+IN_NODEIMAGE += $(KERNELS)
+
+#
+# netperfmeter
+#
+netperfmeter-MODULES := netperfmeter
+netperfmeter-SPEC := rpm/netperfmeter.spec
+ALL += netperfmeter
+IN_NODEIMAGE += netperfmeter
+
+#
+# nornet-nn
+#
+nornet-nn-MODULES := nornet-nn
+nornet-nn-SPEC := rpm/nornet-nn.spec
+ALL += nornet-nn
+IN_NODEIMAGE += nornet-nn
+
+#
+# rsplib
+#
+rsplib-MODULES := rsplib
+rsplib-SPEC := rpm/rsplib.spec
+ALL += rsplib
+IN_NODEIMAGE += rsplib
+
+#
+# subnetcalc
+#
+subnetcalc-MODULES := subnetcalc
+subnetcalc-SPEC := rpm/subnetcalc.spec
+ALL += subnetcalc
+IN_NODEIMAGE += subnetcalc
+
+#
+# tracebox
+#
+tracebox-MODULES := tracebox
+tracebox-SPEC := rpm/tracebox.spec
+ALL += tracebox
+IN_NODEIMAGE += tracebox
+
+#
+# tsctp
+#
+tsctp-MODULES := tsctp
+tsctp-SPEC := rpm/tsctp.spec
+ALL += tsctp
+IN_NODEIMAGE += tsctp
+
+# ###########################################################################
+
+
+### the madwifi drivers ship with fedora16's kernel rpm
+
+#
+# lxc-userspace: scripts for entering containers
+#
+lxc-userspace-MODULES := lxc-userspace
+lxc-userspace-SPEC := lxc-userspace.spec
+ALL += lxc-userspace
+IN_NODEIMAGE += lxc-userspace
+
+#
+#
+# transforward: root context module for transparent port forwarding
+#
+transforward-MODULES := transforward
+transforward-SPEC := transforward.spec
+# ##### NorNet ########################
+transforward-LOCAL-DEVEL-RPMS += kernel-devel
+transforward-SPECVARS = kernel_version=$(kernel.rpm-version) \
+        kernel_release=$(kernel.rpm-release) \
+        kernel_arch=$(kernel.rpm-arch)
+# #####################################
+ALL += transforward
+IN_NODEIMAGE += transforward
+
+#
+# procprotect: root context module for protecting against weaknesses in /proc
+#
+procprotect-MODULES := procprotect
+procprotect-SPEC := procprotect.spec
+# ##### NorNet ########################
+procprotect-LOCAL-DEVEL-RPMS += kernel-devel
+procprotect-SPECVARS = kernel_version=$(kernel.rpm-version) \
+        kernel_release=$(kernel.rpm-release) \
+        kernel_arch=$(kernel.rpm-arch)
+# #####################################
+ALL += procprotect
+IN_NODEIMAGE += procprotect
+
+#
+# ipfw: root context module, and slice companion
+#
+# this module won't build yet under f20
+ifeq "$(DISTRONAME)" "f18"
+ipfwroot-MODULES := ipfw
+ipfwroot-SPEC := planetlab/ipfwroot.spec
+# ##### NorNet ########################
+ipfwroot-LOCAL-DEVEL-RPMS += kernel-devel
+ipfwroot-SPECVARS = kernel_version=$(kernel.rpm-version) \
+        kernel_release=$(kernel.rpm-release) \
+        kernel_arch=$(kernel.rpm-arch)
+# #####################################
+ALL += ipfwroot
+IN_NODEIMAGE += ipfwroot
+
+ipfwslice-MODULES := ipfw
+ipfwslice-SPEC := planetlab/ipfwslice.spec
+# ##### NorNet ########################
+ipfwslice-LOCAL-DEVEL-RPMS += kernel-devel
+ipfwslice-SPECVARS = kernel_version=$(kernel.rpm-version) \
+        kernel_release=$(kernel.rpm-release) \
+        kernel_arch=$(kernel.rpm-arch)
+# #####################################
+ALL += ipfwslice
+endif
+
+#
+# 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
+#
+nodeupdate-MODULES := nodeupdate
+nodeupdate-SPEC := NodeUpdate.spec
+ALL += nodeupdate
+IN_NODEIMAGE += nodeupdate
+
+#
+# ipod
+#
+ipod-MODULES := PingOfDeath
+ipod-SPEC := ipod.spec
+ALL += ipod
+IN_NODEIMAGE += ipod
+
+#
+# plnode-utils
+# 
+plnode-utils-MODULES := plnode-utils
+plnode-utils-SPEC := plnode-utils-lxc.spec
+ALL += plnode-utils
+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
+
+#
+# pl_sshd
+#
+sshd-MODULES := pl_sshd
+sshd-SPEC := pl_sshd.spec
+ALL += sshd
+IN_NODEIMAGE += sshd
+
+#
+# codemux: Port 80 demux
+#
+codemux-MODULES := codemux
+codemux-SPEC   := codemux.spec
+ALL += codemux
+IN_NODEIMAGE += codemux
+
+#
+# fprobe-ulog
+#
+fprobe-ulog-MODULES := fprobe-ulog
+fprobe-ulog-SPEC := fprobe-ulog.spec
+ALL += fprobe-ulog
+IN_NODEIMAGE += fprobe-ulog
+
+#################### libvirt version selection
+# settling with using version 1.2.1 on all fedoras
+# although this does not solve the slice re-creation issue seen on f20
+
+local_libvirt=true
+separate_libvirt_python=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 
+# 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-ipv6 libgcrypt-devel netcf-devel
+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-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
+
+#
+# DistributedRateLimiting
+#
+#DistributedRateLimiting-MODULES := DistributedRateLimiting
+#DistributedRateLimiting-SPEC := DistributedRateLimiting.spec
+#ALL += DistributedRateLimiting
+#IN_NODEREPO += DistributedRateLimiting
+
+#
+# pf2slice
+#
+pf2slice-MODULES := pf2slice
+pf2slice-SPEC := pf2slice.spec
+ALL += pf2slice
+
+##
+## PlanetLab Mom: Cleans up your mess
+##
+#mom-MODULES := mom
+#mom-SPEC := pl_mom.spec
+#ALL += mom
+#IN_NODEIMAGE += mom
+
+#
+# openvswitch
+#
+# openvswitch-MODULES := openvswitch
+# openvswitch-SPEC := openvswitch.spec
+# openvswitch-STOCK-DEVEL-RPMS += kernel-devel
+# IN_NODEIMAGE += openvswitch
+# # build only on f14 as f16 has this natively
+# ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f14)"
+# ALL += openvswitch
+# endif
+
+#
+# vsys
+#
+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-STOCK-DEVEL-RPMS += ocaml-ocamldoc ocaml-docs
+IN_NODEIMAGE += vsys
+ALL += vsys
+
+#
+# vsyssh : installed in slivers
+#
+vsyssh-MODULES := vsys
+vsyssh-SPEC := vsyssh.spec
+IN_SLICEIMAGE += vsyssh
+ALL += vsyssh
+
+#
+# vsys-scripts
+#
+vsys-scripts-MODULES := vsys-scripts
+vsys-scripts-SPEC := root-context/vsys-scripts.spec
+IN_NODEIMAGE += vsys-scripts
+ALL += vsys-scripts
+
+#
+# bind_public
+#
+bind_public-MODULES := bind_public
+bind_public-SPEC := bind_public.spec
+IN_SLICEIMAGE += bind_public
+ALL += bind_public
+
+#
+# sliver-openvswitch
+#
+sliver-openvswitch-MODULES := sliver-openvswitch
+sliver-openvswitch-SPEC := sliver-openvswitch.spec
+IN_SLICEIMAGE += sliver-openvswitch
+ALL += sliver-openvswitch
+
+#
+# plcapi
+#
+plcapi-MODULES := plcapi
+plcapi-SPEC := plcapi.spec
+ALL += plcapi
+IN_MYPLC += plcapi
+
+#
+# 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
+#
+www-register-wizard-MODULES := www-register-wizard
+www-register-wizard-SPEC := www-register-wizard.spec
+ALL += www-register-wizard
+IN_MYPLC += www-register-wizard
+
+#
+# pcucontrol
+#
+pcucontrol-MODULES := pcucontrol
+pcucontrol-SPEC := pcucontrol.spec
+ALL += pcucontrol
+
+#
+# monitor
+#
+#monitor-MODULES := monitor
+#monitor-SPEC := Monitor.spec
+#monitor-STOCK-DEVEL-RPMS += net-snmp net-snmp-devel
+#ALL += monitor
+#IN_NODEIMAGE += monitor
+
+#
+# PLC RT
+#
+plcrt-MODULES := PLCRT
+plcrt-SPEC := plcrt.spec
+ALL += plcrt
+
+# f12 has 0.9-1 already
+ifeq "$(DISTRONAME)" "$(filter $(DISTRONAME),f8 centos5)"
+#
+# pyopenssl
+#
+pyopenssl-MODULES := pyopenssl
+pyopenssl-SPEC := pyOpenSSL.spec
+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
+nodeconfig-SPEC := nodeconfig.spec
+ALL += nodeconfig
+IN_MYPLC += nodeconfig
+
+#
+# bootmanager
+#
+bootmanager-MODULES := bootmanager
+bootmanager-SPEC := bootmanager.spec
+ALL += bootmanager
+IN_MYPLC += bootmanager
+
+#
+# pypcilib : used in bootcd
+# 
+pypcilib-MODULES := pypcilib
+pypcilib-SPEC := pypcilib.spec
+ALL += pypcilib
+IN_BOOTCD += pypcilib
+
+#
+# pyplnet
+#
+pyplnet-MODULES := pyplnet
+pyplnet-SPEC := pyplnet.spec
+ALL += pyplnet
+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
+#
+ifneq "$(DISTRONAME)" "$(filter $(DISTRONAME),f18 f20)"
+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
+endif
+
+#
+# OML measurement library
+#
+oml-MODULES := oml
+oml-STOCK-DEVEL-RPMS += sqlite-devel 
+oml-SPEC := liboml.spec
+ALL += oml
+
+#
+# bootcd
+#
+bootcd-MODULES := bootcd build
+bootcd-SPEC := bootcd.spec
+bootcd-DEPEND-PACKAGES := $(IN_BOOTCD)
+bootcd-DEPEND-FILES := RPMS/yumgroups.xml
+bootcd-RPMDATE := yes
+ALL += bootcd
+IN_MYPLC += bootcd
+
+#
+# images for slices
+#
+sliceimage-MODULES := sliceimage build
+sliceimage-SPEC := sliceimage.spec
+sliceimage-DEPEND-PACKAGES := $(IN_SLICEIMAGE)
+sliceimage-DEPEND-FILES := RPMS/yumgroups.xml
+sliceimage-RPMDATE := yes
+ALL += sliceimage
+IN_NODEIMAGE += sliceimage
+
+#
+# lxc-specific sliceimage initialization
+# 
+lxc-sliceimage-MODULES := sliceimage
+lxc-sliceimage-SPEC    := lxc-sliceimage.spec
+lxc-sliceimage-RPMDATE := yes
+ALL                    += lxc-sliceimage
+IN_NODEIMAGE           += lxc-sliceimage
+
+#
+# nodeimage
+#
+nodeimage-MODULES := nodeimage build
+nodeimage-SPEC := nodeimage.spec
+nodeimage-DEPEND-PACKAGES := $(IN_NODEIMAGE)
+nodeimage-DEPEND-FILES := RPMS/yumgroups.xml
+nodeimage-RPMDATE := yes
+ALL += nodeimage
+IN_MYPLC += nodeimage
+
+#
+# noderepo
+#
+# all rpms resulting from packages marked as being in nodeimage and sliceimage
+NODEREPO_RPMS = $(foreach package,$(IN_NODEIMAGE) $(IN_NODEREPO) $(IN_SLICEIMAGE),$($(package).rpms))
+# replace space with +++ (specvars cannot deal with spaces)
+SPACE=$(subst x, ,x)
+NODEREPO_RPMS_3PLUS = $(subst $(SPACE),+++,$(NODEREPO_RPMS))
+
+noderepo-MODULES := nodeimage
+noderepo-SPEC := noderepo.spec
+# package requires all embedded packages
+noderepo-DEPEND-PACKAGES := $(IN_NODEIMAGE) $(IN_NODEREPO) $(IN_SLICEIMAGE)
+noderepo-DEPEND-FILES := RPMS/yumgroups.xml
+#export rpm list to the specfile
+noderepo-SPECVARS = node_rpms_plus=$(NODEREPO_RPMS_3PLUS)
+noderepo-RPMDATE := yes
+ALL += noderepo
+IN_MYPLC += noderepo
+
+#
+# slicerepo
+#
+# all rpms resulting from packages marked as being in vserver
+SLICEREPO_RPMS = $(foreach package,$(IN_SLICEIMAGE),$($(package).rpms))
+# replace space with +++ (specvars cannot deal with spaces)
+SPACE=$(subst x, ,x)
+SLICEREPO_RPMS_3PLUS = $(subst $(SPACE),+++,$(SLICEREPO_RPMS))
+
+slicerepo-MODULES := nodeimage
+slicerepo-SPEC := slicerepo.spec
+# package requires all embedded packages
+slicerepo-DEPEND-PACKAGES := $(IN_SLICEIMAGE)
+slicerepo-DEPEND-FILES := RPMS/yumgroups.xml
+#export rpm list to the specfile
+slicerepo-SPECVARS = slice_rpms_plus=$(SLICEREPO_RPMS_3PLUS)
+slicerepo-RPMDATE := yes
+ALL += slicerepo
+
+#
+# MyPLC : lightweight packaging, dependencies are yum-installed in a vserver
+#
+myplc-MODULES := myplc
+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
+
+##############################
+#
+# sfa - Slice Facility Architecture
+#
+sfa-MODULES := sfa
+sfa-SPEC := sfa.spec
+ALL += sfa