initial import (Boeing r1752, NRL r878)

This commit is contained in:
ahrenholz 2013-08-29 14:21:13 +00:00
commit f8f46d28be
394 changed files with 99738 additions and 0 deletions

View file

@ -0,0 +1,7 @@
#!/bin/sh
echo Restoring /kernel.old ...
install -m 555 -o root -g wheel -fschg /kernel.old /kernel
rm -rf /modules
mv /modules.old /modules

View file

@ -0,0 +1,21 @@
#!/bin/sh
PREV=""
if [ ! -e "/boot/kernel.old" ] ; then
if [ ! -e "/boot/GENERIC" ] ; then
echo Previous kernel does not exist in /boot/kernel.old or /boot/GENERIC !
exit 1;
else
PREV="/boot/GENERIC"
fi;
else
PREV="/boot/kernel.old"
fi;
echo Removing current kernel...
chflags -R noschg /boot/kernel
rm -rf /boot/kernel
echo Restoring previous kernel from $PREV...
mv $PREV /boot/kernel
exit 0;

View file

@ -0,0 +1,96 @@
#!/bin/sh
VER=0.0
# determine FreeBSD 4.11 or 8.x
REL=`uname -r`
case "$REL" in
9.*)
echo "Using FreeBSD 9.x..."
KERN=9.x
SCRIPTVER=8.x
;;
8.*)
echo "Using FreeBSD 8.x..."
KERN=8.x
SCRIPTVER=8.x
;;
4.11-RELEASE)
echo "Using FreeBSD 4.11..."
KERN=4.11
SCRIPTVER=4.11
;;
*)
echo "What version of FreeBSD are you running (4.11/8.x) ?"
exit 1
esac
if [ "a$1" = "a" ]
then
echo "usage: ./core-kernel-release.sh 20080228 [clean]"
echo a version number is required
exit 1;
else
VER=$1
fi;
if [ "a$2" = "aclean" ]
then
echo Cleaning up...
rm -f core-kernel.pkglist.tmp
rm -f core-kernel.pkglist
rm -f core-kernel-${KERN}-${VER}.tbz
exit
fi;
# check for /kernel.new on 4.11
if [ ${KERN} = "4.11" ]
then
if [ -e "/kernel.new" ]
then
echo Note: proceeding using this kernel...
ls -al /kernel.new
else
echo "error: first copy the desired kernel to /kernel.new"
exit
fi;
fi;
#
# build the packing list
#
echo @comment ORIGIN:net/core-kernel > core-kernel.pkglist
if [ ${KERN} = "4.11" ]
# FreeBSD 4.11
then
echo @cwd / >> core-kernel.pkglist
echo kernel.new >> core-kernel.pkglist
find /modules \! -type d > core-kernel.pkglist.tmp
find /sbin/vimage >> core-kernel.pkglist.tmp
find /usr/share/man/man8/vimage.8.gz >> core-kernel.pkglist.tmp
find /sbin/ngctl >> core-kernel.pkglist.tmp
find /usr/share/man/man8/ngctl.8.gz >> core-kernel.pkglist.tmp
# FreeBSD 8.x
else
echo @cwd /boot >> core-kernel.pkglist
PWDOLD=${PWD}
cd /boot
find kernel \! -type d > ${PWDOLD}/core-kernel.pkglist.tmp
cd ${PWDOLD}
echo @cwd / >> core-kernel.pkglist.tmp
find /usr/sbin/vimage >> core-kernel.pkglist.tmp
find /usr/share/man/man8/vimage.8.gz >> core-kernel.pkglist.tmp
fi;
# remove leading '/' from lines
sed -e "s,^/,," core-kernel.pkglist.tmp >> core-kernel.pkglist
#
# build the package
#
pkg_create -c core-kernel.pkgdesc -d core-kernel.pkgdesclong -f core-kernel.pkglist -i core-kernel-preinstall-${SCRIPTVER}.sh -K core-kernel-deinstall-${SCRIPTVER}.sh -v core-kernel-${KERN}-${VER}.tbz

View file

@ -0,0 +1,18 @@
#!/bin/sh
if [ "x$2" = "xPOST-INSTALL" ]
then
install -m 555 -o root -g wheel -fschg /kernel.new /kernel
rm -f /kernel.new
echo Please reboot this machine to enable the new CORE kernel.
exit 0;
fi;
install -m 555 -o root -g wheel -fschg /kernel /kernel.old
if [ -e /modules.old ]
then
rm -rf /modules.old
fi;
mv /modules /modules.old
exit 0;

View file

@ -0,0 +1,27 @@
#!/bin/sh
if [ "x$2" = "xPOST-INSTALL" ]
then
echo Please reboot this machine to enable the new CORE kernel.
exit 0;
fi;
# PRE-INSTALL
# save the GENERIC kernel
OLDNAME=`strings /boot/kernel/kernel | tail -n 1`
if [ "x$OLDNAME" = "xGENERIC" ]
then
chflags -R noschg /boot/kernel
mv /boot/kernel /boot/GENERIC
exit 0;
fi;
# get rid of /boot/kernel.old if it is in the way
if [ -e "/boot/kernel.old" ] ; then
chflags -R noschg /boot/kernel.old
rm -rf /boot/kernel.old
fi;
chflags -R noschg /boot/kernel
mv /boot/kernel /boot/kernel.old
exit 0;

View file

@ -0,0 +1 @@
CORE FreeBSD kernel enables lightweight virtual machines

View file

@ -0,0 +1 @@
This package contains the CORE FreeBSD kernel with kernel modules. Custom modules include ng_pipe and ng_wlan. Also contains the userspace utility program vimage. This package can be used along with the CORE GUI to build emulated networks. This kernel is based on the GENERIC kernel with the VIMAGE option turned on (per-jail network stack virtualization), and with a small patch to allow per-node filesystem access.

68
packaging/bsd/core-pkgcreate.sh Executable file
View file

@ -0,0 +1,68 @@
#!/bin/sh
VER=`grep -m 1 "set CORE_VERSION" ../../gui/version.tcl | awk '{ print $3 }'`
ARCH=`uname -m`
# determine FreeBSD 4.11 or 7.x
REL=`uname -r`
case "$REL" in
9.*)
echo "Using FreeBSD 9.x..."
KERN=9.x
;;
8.*)
echo "Using FreeBSD 8.x..."
KERN=8.x
;;
4.11-RELEASE)
echo "Using FreeBSD 4.11..."
KERN=4.11
;;
*)
echo "What version of FreeBSD are you running (4.11/8.x) ?"
exit 1
esac
if [ "a$1" = "aclean" ]
then
echo Cleaning up...
rm -f core.pkglist.tmp
rm -f core.pkglist
rm -f core-${KERN}-${VER}.tbz
rm -rf /tmp/staging
exit
fi;
#
# build the packing list
#
echo @comment ORIGIN:net/core > core.pkglist
echo @cwd /usr/local >> core.pkglist
PKG_BASH=`pkg_info -E -x ^bash`
# for 4.11 change this back to 8.4
PKG_TCL=`pkg_info -E -x ^tcl-8.5`
PKG_TK=`pkg_info -E -x ^tk-8.5`
echo @pkgdep ${PKG_BASH} >> core.pkglist
echo @comment DEPORIGIN:shells/bash >> core.pkglist
echo @pkgdep ${PKG_TCL} >> core.pkglist
echo @comment DEPORIGIN:lang/tcl85 >> core.pkglist
echo @pkgdep ${PKG_TK} >> core.pkglist
echo @comment DEPORIGIN:x11-toolkits/tk85 >> core.pkglist
SAVEDIR=`pwd`
cd ../..
rm -rf /tmp/staging
gmake DESTDIR=/tmp/staging install
cd $SAVEDIR
find /tmp/staging/usr/local \! -type d >> core.pkglist
echo @cwd /etc >> core.pkglist
find /tmp/staging/etc \! -type d >> core.pkglist
sed -e "s,^/tmp/staging/usr/local/,," core.pkglist > core.pkglist.new1
sed -e "s,^/tmp/staging/etc/,," core.pkglist.new1 > core.pkglist
rm -f core.pkglist.new1
#
# build the package
#
pkg_create -c core.pkgdesc -d core.pkgdesclong -f core.pkglist -v core-${KERN}-${ARCH}-${VER}.tbz

View file

@ -0,0 +1 @@
Common Open Research Emulator userspace components

View file

@ -0,0 +1,3 @@
The Common Open Research Emulator (CORE) is a tool that allows you to emulate entire networks on a FreeBSD or Linux machine. You can connect these emulated networks to live networks (or to additional emulated networks) via the machine's physical interfaces. This package contains CORE userspace components for easily drawing topologies that drive lightweight virutalized network stacks.
WWW: http://cs.itd.nrl.navy.mil/work/core/index.php

47
packaging/deb/changelog Normal file
View file

@ -0,0 +1,47 @@
core (4.6-0ubuntu2) precise; urgency=low
* Edit Copy and Paste, Edit Find, bugfixes, Debian compliance
-- Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> Mon, 12 Aug 2013 12:36:54 -0700
core (4.5-0ubuntu1) precise; urgency=low
* XML support, SDT3D support, EMANE 0.8.1, ns-3 locations, code cleanup,
bugfixes, and more.
-- Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil> Thu, 11 Apr 2013 14:19:05 -0700
core (4.4-0ubuntu1) precise; urgency=low
* Bandwidth plots, event scheduling, EMANE 0.7.4, improved services support,
code cleanup, bugfixes, and more.
-- Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> Tue, 04 Sep 2012 11:53:23 -0700
core (4.3-0ubuntu1) oneiric; urgency=low
* Hook scripts, CEL, EMANE 0.7.3, physical nodes, improved WLAN and service
dialogs, code cleanup, bugfixes, and more.
-- Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> Thu, 09 Feb 2012 08:00:52 -0800
core (4.2-0ubuntu1) maverick; urgency=low
* bugfixes, EMANE 0.7.1 support.
-- Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> Mon, 15 Aug 2011 13:19:16 -0800
core (4.1-0ubuntu1) lucid; urgency=low
* Node services, customizable nodes, traffic flows, IP address allocator,
distributed emulation using GRE tunnels, EMANE 0.6.4 support, and more.
-- Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> Thu, 09 Dec 2010 07:02:16 -0800
core (4.0-0ubuntu1) lucid; urgency=low
* New CORE deb packaging. Extra magic added to omit the horrible
/usr/share/info/dir.gz file from being generated.
-- Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> Wed, 29 Jul 2010 16:07:26 -0700

1
packaging/deb/compat Normal file
View file

@ -0,0 +1 @@
9

27
packaging/deb/control Normal file
View file

@ -0,0 +1,27 @@
Source: core
Section: net
Priority: optional
Maintainer: Jeff Ahrenholz <core-dev@pf.itd.nrl.navy.mil>
Standards-Version: 3.8.4
Build-Depends: debhelper (>= 9), cdbs, autoconf, automake, gcc, libev-dev, make, python-dev, libreadline-dev, bridge-utils, ebtables, iproute, imagemagick, pkg-config, help2man
# python-sphinx
Homepage: http://cs.itd.nrl.navy.mil/work/core/index.php
Package: core-daemon
Architecture: any
Depends: bash (>=3.0), bridge-utils, ebtables, iproute, libev4, python (>=2.6), dpkg (>=1.15.4), ${shlibs:Depends}
Recommends: quagga
Description: Emulate virtual networks in a box.
The Common Open Research Emulator provides Python modules for building virtual
networks using Linux network namespace containers and bridging. This is the
daemon package containing the backend Python modules and core-daemon.
Package: core-gui
Architecture: all
Depends: bash (>=3.0), tcl8.5, tk8.5, libtk-img
Description: Emulate virtual networks in a box.
The Common Open Research Emulator provides Python modules for building virtual
networks using Linux network namespace containers and bridging. This is the
GUI package containing a canvas-based Tcl/Tk GUI for easily drawing virtual
network topologies.

35
packaging/deb/copyright Normal file
View file

@ -0,0 +1,35 @@
This package was debianized by Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com>
4/3/13
It was downloaded from: http://cs.itd.nrl.navy.mil/work/core/index.php
Upstream Author(s): Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com>
Copyright:
Copyright (C) 2010-2013, the Boeing Company.
License:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.
Packaging:
Copyright (C) 2010-2013, the Boeing Company.

View file

@ -0,0 +1,22 @@
#! /usr/bin/dh-exec
@SBINDIR@
@CORE_CONF_DIR@
# configure prints a warning if CORE_DATA_DIR is used here
# ATdatarootdirAT is expanding to ${datarootdir}/man/man1/
/usr/share/core/examples/corens3
/usr/share/core/examples/*.py
/usr/share/core/examples/hooks
/usr/share/core/examples/myservices
/usr/share/core/examples/netns
/usr/share/core/examples/services
# ATmandirAT is expanding to ${datarootdir}/man/man1/core-daemon.1
/usr/share/man/man1/vnoded.1
/usr/share/man/man1/vcmd.1
/usr/share/man/man1/netns.1
/usr/share/man/man1/core-daemon.1
/usr/share/man/man1/coresendmsg.1
/usr/share/man/man1/core-cleanup.1
/usr/share/man/man1/core-xen-cleanup.1
# ATpythondirAT is expanding to ${prefix}/lib/python2.7/dist-packages
/usr/lib/python2.7/dist-packages
/etc/init.d

View file

@ -0,0 +1,11 @@
#! /usr/bin/dh-exec
@BINDIR@/core-gui
@CORE_LIB_DIR@
# configure prints a warning if CORE_DATA_DIR is used here
# ATdatarootdirAT is expanding to ${datarootdir}/man/man1/
/usr/share/core/icons
/usr/share/core/examples/configs
/usr/share/pixmaps
/usr/share/applications
# ATmandirAT is expanding to ${datarootdir}/man/man1/core-gui.1
/usr/share/man/man1/core-gui.1

12
packaging/deb/core.postrm Normal file
View file

@ -0,0 +1,12 @@
#!/bin/sh
if [ "$1" = "remove" ]; then
PYTHONS="python2.6 python2.7"
for P in $PYTHONS
do
DIR="usr/lib/$P/dist-packages/core"
if [ -d $DIR ]; then
find $DIR -name '*.pyc' -exec rm -f '{}' ';' 2> /dev/null
fi
done
fi

18
packaging/deb/rules Executable file
View file

@ -0,0 +1,18 @@
#!/usr/bin/make -f
include /usr/share/cdbs/1/rules/debhelper.mk
include /usr/share/cdbs/1/class/autotools.mk
# this causes autoconf to regenerate ./configure, otherwise make distclean
# has blown it away
DEB_AUTO_UPDATE_ACLOCAL = 1.11
DEB_AUTO_UPDATE_AUTOHEADER = 2.65
DEB_AUTO_UPDATE_AUTOMAKE = 1.11 --add-missing --copy --foreign
DEB_AUTO_UPDATE_AUTOCONF = 2.65
# this prevents 'make install' from invoking install-info that generates a
# $(DEB_DESTDIR)usr/share/info/dir.gz file that causes a lintian error
# the following rule was not enough
# binary-post-install/core::
# rm -f $(DEB_DESTDIR)usr/share/info/dir.gz
#DEB_CONFIGURE_EXTRA_FLAGS := --disable-install-info

365
packaging/rpm/core.spec.in Normal file
View file

@ -0,0 +1,365 @@
%define version @PACKAGE_VERSION@
%define lib_version @GENERIC_RELEASE@
%if 0%{?fedora} >= 17
%define with_kernel_modules_extra 1
%else
%define with_kernel_modules_extra 0
%endif
Name: core
Summary: Common Open Research Emulator for use with network namespaces
License: BSD
Prefix: /usr
Release: 1
Source: core-%{version}.tar.gz
URL: http://cs.itd.nrl.navy.mil/work/core/
Version: %{version}
%description
The Common Open Research Emulator provides Python modules and a GUI for
building virtual networks using Linux network namespace containers and bridging.
%package daemon
Summary: Common Open Research Emulator daemon back-end
Group: System Tools
Requires: bash bridge-utils ebtables iproute libev python
%if %{with_kernel_modules_extra}
Requires: kernel-modules-extra
%endif
BuildRequires: make automake autoconf libev-devel python-devel bridge-utils ebtables ImageMagick help2man
Provides: core-daemon
# python-sphinx
%description daemon
The Common Open Research Emulator provides Python modules for building virtual
networks using Linux network namespace containers and bridging.
%package gui
Summary: Common Open Research Emulator GUI front-end
Group: System Tools
Requires: tcl tk tkimg
BuildArch: noarch
BuildRequires: make automake autoconf
Provides: core-gui
%description gui
The Common Open Research Emulator canvas-based Tcl/Tk GUI for easily drawing
virtual network topologies.
%prep
%setup -q
%build
./bootstrap.sh
# not using --disable-gui/--disable-daemon, because RPM expects both to be
# installed by this build process
# assume Fedora, using systemd startup script
%configure --with-startup=systemd
make -j4
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT install
%clean
rm -rf $RPM_BUILD_ROOT
%post
%post daemon
# don't run EMANE with realtime option under Fedora
sed -i 's/emane_realtime = True/emane_realtime = False/' /etc/core/core.conf
%preun
#if [ "$1" = 0 ]; then
#find %{_libdir}/python@PYTHON_VERSION@/site-packages/core -name '*.pyc' -exec rm -f '{}' ';' 2> /dev/null
#fi
%postun
%files gui
%{_bindir}/core-gui
@CORE_LIB_DIR@/addons/ipsecservice.tcl
@CORE_LIB_DIR@/annotations.tcl
@CORE_LIB_DIR@/api.tcl
@CORE_LIB_DIR@/canvas.tcl
@CORE_LIB_DIR@/cfgparse.tcl
@CORE_LIB_DIR@/core-bsd-cleanup.sh
@CORE_LIB_DIR@/core.tcl
@CORE_LIB_DIR@/debug.tcl
@CORE_LIB_DIR@/editor.tcl
@CORE_LIB_DIR@/exceptions.tcl
@CORE_LIB_DIR@/exec.tcl
@CORE_LIB_DIR@/filemgmt.tcl
@CORE_LIB_DIR@/gpgui.tcl
@CORE_LIB_DIR@/graph_partitioning.tcl
@CORE_LIB_DIR@/help.tcl
%{_datadir}/applications/core-gui.desktop
%{_datadir}/pixmaps/core-gui.xpm
%{_datadir}/%{name}/icons/normal/antenna.gif
%{_datadir}/%{name}/icons/normal/ap.gif
%{_datadir}/%{name}/icons/normal/core-icon.png
%{_datadir}/%{name}/icons/normal/core-icon.xbm
%{_datadir}/%{name}/icons/normal/core-logo-275x75.gif
%{_datadir}/%{name}/icons/normal/document-properties.gif
%{_datadir}/%{name}/icons/normal/gps-diagram.xbm
%{_datadir}/%{name}/icons/normal/host.gif
%{_datadir}/%{name}/icons/normal/hub.gif
%{_datadir}/%{name}/icons/normal/lanswitch.gif
%{_datadir}/%{name}/icons/normal/mdr.gif
%{_datadir}/%{name}/icons/normal/oval.gif
%{_datadir}/%{name}/icons/normal/pc.gif
%{_datadir}/%{name}/icons/normal/rj45.gif
%{_datadir}/%{name}/icons/normal/router_black.gif
%{_datadir}/%{name}/icons/normal/router.gif
%{_datadir}/%{name}/icons/normal/router_green.gif
%{_datadir}/%{name}/icons/normal/router_purple.gif
%{_datadir}/%{name}/icons/normal/router_red.gif
%{_datadir}/%{name}/icons/normal/router_yellow.gif
%{_datadir}/%{name}/icons/normal/simple.xbm
%{_datadir}/%{name}/icons/normal/text.gif
%{_datadir}/%{name}/icons/normal/thumb-unknown.gif
%{_datadir}/%{name}/icons/normal/tunnel.gif
%{_datadir}/%{name}/icons/normal/wlan.gif
%{_datadir}/%{name}/icons/normal/xen.gif
%{_datadir}/%{name}/icons/svg/ap.svg
%{_datadir}/%{name}/icons/svg/cel.svg
%{_datadir}/%{name}/icons/svg/hub.svg
%{_datadir}/%{name}/icons/svg/lanswitch.svg
%{_datadir}/%{name}/icons/svg/mdr.svg
%{_datadir}/%{name}/icons/svg/otr.svg
%{_datadir}/%{name}/icons/svg/rj45.svg
%{_datadir}/%{name}/icons/svg/router_black.svg
%{_datadir}/%{name}/icons/svg/router_green.svg
%{_datadir}/%{name}/icons/svg/router_purple.svg
%{_datadir}/%{name}/icons/svg/router_red.svg
%{_datadir}/%{name}/icons/svg/router.svg
%{_datadir}/%{name}/icons/svg/router_yellow.svg
%{_datadir}/%{name}/icons/svg/start.svg
%{_datadir}/%{name}/icons/svg/tunnel.svg
%{_datadir}/%{name}/icons/svg/vlan.svg
%{_datadir}/%{name}/icons/svg/xen.svg
%{_datadir}/%{name}/icons/tiny/ap.gif
%{_datadir}/%{name}/icons/tiny/arrow.down.gif
%{_datadir}/%{name}/icons/tiny/arrow.gif
%{_datadir}/%{name}/icons/tiny/arrow.up.gif
%{_datadir}/%{name}/icons/tiny/blank.gif
%{_datadir}/%{name}/icons/tiny/button.play.gif
%{_datadir}/%{name}/icons/tiny/button.stop.gif
%{_datadir}/%{name}/icons/tiny/cel.gif
%{_datadir}/%{name}/icons/tiny/delete.gif
%{_datadir}/%{name}/icons/tiny/document-new.gif
%{_datadir}/%{name}/icons/tiny/document-properties.gif
%{_datadir}/%{name}/icons/tiny/document-save.gif
%{_datadir}/%{name}/icons/tiny/edit-delete.gif
%{_datadir}/%{name}/icons/tiny/eraser.gif
%{_datadir}/%{name}/icons/tiny/fileopen.gif
%{_datadir}/%{name}/icons/tiny/folder.gif
%{_datadir}/%{name}/icons/tiny/host.gif
%{_datadir}/%{name}/icons/tiny/hub.gif
%{_datadir}/%{name}/icons/tiny/lanswitch.gif
%{_datadir}/%{name}/icons/tiny/link.gif
%{_datadir}/%{name}/icons/tiny/marker.gif
%{_datadir}/%{name}/icons/tiny/mdr.gif
%{_datadir}/%{name}/icons/tiny/mobility.gif
%{_datadir}/%{name}/icons/tiny/moboff.gif
%{_datadir}/%{name}/icons/tiny/observe.gif
%{_datadir}/%{name}/icons/tiny/oval.gif
%{_datadir}/%{name}/icons/tiny/pc.gif
%{_datadir}/%{name}/icons/tiny/ping.gif
%{_datadir}/%{name}/icons/tiny/plot.gif
%{_datadir}/%{name}/icons/tiny/rectangle.gif
%{_datadir}/%{name}/icons/tiny/rj45.gif
%{_datadir}/%{name}/icons/tiny/router_black.gif
%{_datadir}/%{name}/icons/tiny/router.gif
%{_datadir}/%{name}/icons/tiny/router_green.gif
%{_datadir}/%{name}/icons/tiny/router_purple.gif
%{_datadir}/%{name}/icons/tiny/router_red.gif
%{_datadir}/%{name}/icons/tiny/router_yellow.gif
%{_datadir}/%{name}/icons/tiny/run.gif
%{_datadir}/%{name}/icons/tiny/script_pause.gif
%{_datadir}/%{name}/icons/tiny/script_play.gif
%{_datadir}/%{name}/icons/tiny/script_stop.gif
%{_datadir}/%{name}/icons/tiny/select.gif
%{_datadir}/%{name}/icons/tiny/start.gif
%{_datadir}/%{name}/icons/tiny/stock_connect.gif
%{_datadir}/%{name}/icons/tiny/stock_disconnect.gif
%{_datadir}/%{name}/icons/tiny/stop.gif
%{_datadir}/%{name}/icons/tiny/text.gif
%{_datadir}/%{name}/icons/tiny/trace.gif
%{_datadir}/%{name}/icons/tiny/tunnel.gif
%{_datadir}/%{name}/icons/tiny/twonode.gif
%{_datadir}/%{name}/icons/tiny/view-refresh.gif
%{_datadir}/%{name}/icons/tiny/wlan.gif
%{_datadir}/%{name}/icons/tiny/xen.gif
@CORE_LIB_DIR@/initgui.tcl
@CORE_LIB_DIR@/ipv4.tcl
@CORE_LIB_DIR@/ipv6.tcl
@CORE_LIB_DIR@/linkcfg.tcl
@CORE_LIB_DIR@/mobility.tcl
@CORE_LIB_DIR@/nodecfg.tcl
@CORE_LIB_DIR@/nodes.tcl
@CORE_LIB_DIR@/ns2imunes.tcl
@CORE_LIB_DIR@/plugins.tcl
@CORE_LIB_DIR@/services.tcl
@CORE_LIB_DIR@/tooltips.tcl
@CORE_LIB_DIR@/topogen.tcl
@CORE_LIB_DIR@/traffic.tcl
@CORE_LIB_DIR@/util.tcl
@CORE_LIB_DIR@/version.tcl
@CORE_LIB_DIR@/widget.tcl
@CORE_LIB_DIR@/wlanscript.tcl
@CORE_LIB_DIR@/wlan.tcl
%{_datadir}/%{name}/examples/configs/sample10-kitchen-sink.imn
%{_datadir}/%{name}/examples/configs/sample1-bg.gif
%{_datadir}/%{name}/examples/configs/sample1.imn
%{_datadir}/%{name}/examples/configs/sample1.scen
%{_datadir}/%{name}/examples/configs/sample2-ssh.imn
%{_datadir}/%{name}/examples/configs/sample3-bgp.imn
%{_datadir}/%{name}/examples/configs/sample4-bg.jpg
%{_datadir}/%{name}/examples/configs/sample4-nrlsmf.imn
%{_datadir}/%{name}/examples/configs/sample4.scen
%{_datadir}/%{name}/examples/configs/sample5-mgen.imn
%{_datadir}/%{name}/examples/configs/sample6-emane-rfpipe.imn
%{_datadir}/%{name}/examples/configs/sample7-emane-ieee80211abg.imn
%{_datadir}/%{name}/examples/configs/sample8-ipsec-service.imn
%{_datadir}/%{name}/examples/configs/sample9-vpn.imn
%doc %{_mandir}/man1/core-gui.1.gz
%files daemon
%config @CORE_CONF_DIR@/core.conf
%config @CORE_CONF_DIR@/perflogserver.conf
%config @CORE_CONF_DIR@/xen.conf
%{_datadir}/%{name}/examples/controlnet_updown
%{_datadir}/%{name}/examples/corens3/ns3lte.py*
%{_datadir}/%{name}/examples/corens3/ns3wifi.py*
%{_datadir}/%{name}/examples/corens3/ns3wifirandomwalk.py*
%{_datadir}/%{name}/examples/corens3/ns3wimax.py*
%{_datadir}/%{name}/examples/emanemodel2core.py*
%{_datadir}/%{name}/examples/findcore.py*
%{_datadir}/%{name}/examples/hooks/configuration_hook.sh
%{_datadir}/%{name}/examples/hooks/datacollect_hook.sh
%{_datadir}/%{name}/examples/hooks/perflogserver.py*
%{_datadir}/%{name}/examples/hooks/perflogstart.sh
%{_datadir}/%{name}/examples/hooks/perflogstop.sh
%{_datadir}/%{name}/examples/hooks/sessiondatacollect.sh
%{_datadir}/%{name}/examples/hooks/timesyncstart.sh
%{_datadir}/%{name}/examples/hooks/timesyncstop.sh
%{_datadir}/%{name}/examples/myservices/__init__.py*
%{_datadir}/%{name}/examples/myservices/README.txt
%{_datadir}/%{name}/examples/myservices/sample.py*
%{_datadir}/%{name}/examples/netns/basicrange.py*
%{_datadir}/%{name}/examples/netns/emane80211.py*
%{_datadir}/%{name}/examples/netns/howmanynodes.py*
%{_datadir}/%{name}/examples/netns/iperf-performance-chain.py*
%{_datadir}/%{name}/examples/netns/iperf-performance.sh
%{_datadir}/%{name}/examples/netns/ospfmanetmdrtest.py*
%{_datadir}/%{name}/examples/netns/switch.py*
%{_datadir}/%{name}/examples/netns/switchtest.py*
%{_datadir}/%{name}/examples/netns/twonodes.sh
%{_datadir}/%{name}/examples/netns/wlanemanetests.py*
%{_datadir}/%{name}/examples/netns/wlantest.py*
%{_datadir}/%{name}/examples/services/sampleFirewall
%{_datadir}/%{name}/examples/services/sampleIPsec
%{_datadir}/%{name}/examples/services/sampleVPNClient
%{_datadir}/%{name}/examples/services/sampleVPNServer
%{_datadir}/%{name}/examples/stopsession.py*
%doc %{_mandir}/man1/core-cleanup.1.gz
%doc %{_mandir}/man1/core-daemon.1.gz
%doc %{_mandir}/man1/coresendmsg.1.gz
%doc %{_mandir}/man1/core-xen-cleanup.1.gz
%doc %{_mandir}/man1/netns.1.gz
%doc %{_mandir}/man1/vcmd.1.gz
%doc %{_mandir}/man1/vnoded.1.gz
/etc/systemd/system/core-daemon.service
%{python_sitearch}/core_python_netns-1.0-py@PYTHON_VERSION@.egg-info
%{python_sitearch}/netns.so
%{python_sitearch}/vcmd.so
%{python_sitelib}/core/addons/__init__.py*
%{python_sitelib}/core/api/coreapi.py*
%{python_sitelib}/core/api/data.py*
%{python_sitelib}/core/api/__init__.py*
%{python_sitelib}/core/broker.py*
%{python_sitelib}/core/bsd/__init__.py*
%{python_sitelib}/core/bsd/netgraph.py*
%{python_sitelib}/core/bsd/nodes.py*
%{python_sitelib}/core/bsd/vnet.py*
%{python_sitelib}/core/bsd/vnode.py*
%{python_sitelib}/core/conf.py*
%{python_sitelib}/core/constants.py*
%{python_sitelib}/core/coreobj.py*
%{python_sitelib}/core/emane/bypass.py*
%{python_sitelib}/core/emane/commeffect.py*
%{python_sitelib}/core/emane/emane.py*
%{python_sitelib}/core/emane/ieee80211abg.py*
%{python_sitelib}/core/emane/__init__.py*
%{python_sitelib}/core/emane/nodes.py*
%{python_sitelib}/core/emane/rfpipe.py*
%{python_sitelib}/core/emane/universal.py*
%{python_sitelib}/core/__init__.py*
%{python_sitelib}/core/location.py*
%{python_sitelib}/core/misc/event.py*
%{python_sitelib}/core/misc/__init__.py*
%{python_sitelib}/core/misc/ipaddr.py*
%{python_sitelib}/core/misc/LatLongUTMconversion.py*
%{python_sitelib}/core/misc/quagga.py*
%{python_sitelib}/core/misc/utils.py*
%{python_sitelib}/core/misc/utm.py*
%{python_sitelib}/core/misc/xmlutils.py*
%{python_sitelib}/core/mobility.py*
%{python_sitelib}/core/netns/__init__.py*
%{python_sitelib}/core/netns/nodes.py*
%{python_sitelib}/core/netns/vif.py*
%{python_sitelib}/core/netns/vnet.py*
%{python_sitelib}/core/netns/vnodeclient.py*
%{python_sitelib}/core/netns/vnode.py*
%{python_sitelib}/corens3/constants.py*
%{python_sitelib}/corens3/__init__.py*
%{python_sitelib}/corens3/obj.py*
%{python_sitelib}/corens3_python-@COREDPY_VERSION@-py@PYTHON_VERSION@.egg-info
%{python_sitelib}/core/phys/__init__.py*
%{python_sitelib}/core/phys/pnodes.py*
%{python_sitelib}/core/pycore.py*
%{python_sitelib}/core_python-@COREDPY_VERSION@-py@PYTHON_VERSION@.egg-info
%{python_sitelib}/core/sdt.py*
%{python_sitelib}/core/service.py*
%{python_sitelib}/core/services/bird.py*
%{python_sitelib}/core/services/__init__.py*
%{python_sitelib}/core/services/nrl.py*
%{python_sitelib}/core/services/quagga.py*
%{python_sitelib}/core/services/security.py*
%{python_sitelib}/core/services/ucarp.py*
%{python_sitelib}/core/services/utility.py*
%{python_sitelib}/core/services/xorp.py*
%{python_sitelib}/core/session.py*
%{python_sitelib}/core/xen/__init__.py*
%{python_sitelib}/core/xen/xenconfig.py*
%{python_sitelib}/core/xen/xen.py*
%{_sbindir}/core-cleanup
%{_sbindir}/core-daemon
%{_sbindir}/coresendmsg
%{_sbindir}/core-xen-cleanup
%{_sbindir}/netns
%{_sbindir}/vcmd
%{_sbindir}/vnoded
%changelog
* Thu Aug 22 2013 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.6
- cored now core-daemon, core now core-gui for CORE 4.6 release
* Wed Apr 3 2013 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.5
- split into gui and daemon RPMs for CORE 4.5 release
* Tue Sep 4 2012 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.4
- update files list for CORE 4.4 release, removed info file
* Tue Feb 7 2012 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.3
- update files list for CORE 4.3 release, freshen dependencies
* Tue Aug 16 2011 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.2
- update for CORE 4.2 release; use dir variables, more arch independent
* Mon Dec 13 2010 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.1
- update for CORE 4.1 release; added calls to ldconfig and removal of pyc files
* Wed Aug 4 2010 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 4.0
- update for CORE 4.0 release for Python and network namespaces
* Thu Sep 10 2009 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 3.5
- update for CORE 3.5 release to include init script
* Fri May 29 2009 Jeff Ahrenholz <jeffrey.m.ahrenholz@boeing.com> - 3.4
- initial spec file for CORE 3.4 release

41
packaging/rpm/specfiles.sh Executable file
View file

@ -0,0 +1,41 @@
#!/bin/sh
OLDDIR=$PWD
cd ../../
if [ ! -e Makefile ]; then
echo "Missing file: Makefile"
fi
VER=`grep PACKAGE_VERSION Makefile | awk '{ print $3 }'`
echo "Detected CORE version $VER."
DESTDIR=/tmp/corerpmspec make install
if [ $? != 0 ]; then
exit 1
fi
cd /tmp/corerpmspec
find . -type f | sort > newspecfiles.log
# append all .py files with .py* so .pyc files are uninstalled
sed -i 's/\.py$/.py*/g' newspecfiles.log
# directory replacements
sed -i 's/^\.\//\//g' newspecfiles.log
sed -i 's/\/usr\/bin/%{_bindir}/g' newspecfiles.log
sed -i 's/\/usr\/sbin/%{_sbindir}/g' newspecfiles.log
sed -i 's/\/usr\/lib64\/python2.7\/site-packages/%{python_sitearch}/g' newspecfiles.log
sed -i 's/\/usr\/lib\/python2.7\/site-packages/%{python_sitelib}/g' newspecfiles.log
sed -i 's/\/usr\/lib\/python2.7\/dist-packages/%{python_sitelib}/g' newspecfiles.log
sed -i 's/\/usr\/lib\/core/@CORE_LIB_DIR@/g' newspecfiles.log
sed -i 's/\/usr\/share\/applications/%{_datadir}\/applications/g' newspecfiles.log
sed -i 's/\/usr\/share\/pixmaps/%{_datadir}\/pixmaps/g' newspecfiles.log
sed -i 's/\/usr\/share\/core/%{_datadir}\/%{name}/g' newspecfiles.log
sed -i 's/\/etc\/core/%config @CORE_CONF_DIR@/g' newspecfiles.log
sed -i 's/py2.7.egg/py@PYTHON_VERSION@.egg/g' newspecfiles.log
sed -i "s/$VER/@COREDPY_VERSION@/g" newspecfiles.log
sed -i 's/\/usr\/share\/man/%doc %{_mandir}/g' newspecfiles.log
sed -i 's/\.1$/.1.gz/g' newspecfiles.log
echo .
echo A new filelist is available here:
ls -al /tmp/corerpmspec/newspecfiles.log
echo .
cd $OLDDIR