]>
Commit | Line | Data |
---|---|---|
f538857b | 1 | --- VirtualBox-2.1.0/src/VBox/HostDrivers/VBoxNetFlt/linux/export_modules 2008-12-18 09:19:10.213001825 +0100 |
2 | +++ VirtualBox-2.1.0/src/VBox/HostDrivers/VBoxNetFlt/linux/export_modules 2008-12-19 13:58:43.000000000 +0100 | |
3 | @@ -0,0 +1,90 @@ | |
4 | +#!/bin/sh | |
5 | + | |
6 | +# | |
7 | +# Create a tar archive containing the sources of the vboxnetflt kernel module | |
8 | +# | |
9 | +# Copyright (C) 2007 Sun Microsystems, Inc. | |
10 | +# | |
11 | +# This file is part of VirtualBox Open Source Edition (OSE), as | |
12 | +# available from http://www.virtualbox.org. This file is free software; | |
13 | +# you can redistribute it and/or modify it under the terms of the GNU | |
14 | +# General Public License (GPL) as published by the Free Software | |
15 | +# Foundation, in version 2 as it comes in the "COPYING" file of the | |
16 | +# VirtualBox OSE distribution. VirtualBox OSE is distributed in the | |
17 | +# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. | |
18 | +# | |
19 | +# The contents of this file may alternatively be used under the terms | |
20 | +# of the Common Development and Distribution License Version 1.0 | |
21 | +# (CDDL) only, as it comes in the "COPYING.CDDL" file of the | |
22 | +# VirtualBox OSE distribution, in which case the provisions of the | |
23 | +# CDDL are applicable instead of those of the GPL. | |
24 | +# | |
25 | +# You may elect to license modified versions of this file under the | |
26 | +# terms and conditions of either the GPL or the CDDL or both. | |
27 | +# | |
28 | +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa | |
29 | +# Clara, CA 95054 USA or visit http://www.sun.com if you need | |
30 | +# additional information or have any questions. | |
31 | +# | |
32 | + | |
33 | +if [ -z "$1" ]; then | |
34 | + echo "Usage: $0 <filename.tar.gz> [--without-hardening]" | |
35 | + echo " Export VirtualBox kernel modules to <filename.tar.gz>" | |
36 | + exit 1 | |
37 | +fi | |
38 | + | |
39 | +VBOX_WITH_HARDENING=1 | |
40 | +if [ "$2" = "--without-hardening" ]; then | |
41 | + VBOX_WITH_HARDENING= | |
42 | +fi | |
43 | + | |
44 | +PATH_TMP="`cd \`dirname $1\`; pwd`/.vbox_modules" | |
45 | +PATH_OUT=$PATH_TMP | |
46 | +FILE_OUT="`cd \`dirname $1\`; pwd`/`basename $1`" | |
47 | +PATH_ROOT="`cd \`dirname $0\`/../../../../..; pwd`" | |
48 | +PATH_VBOXNETFLT="$PATH_ROOT/src/VBox/HostDrivers/VBoxNetFlt" | |
49 | + | |
50 | +VBOX_VERSION_MAJOR=`sed -e "s/^ *VBOX_VERSION_MAJOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Config.kmk` | |
51 | +VBOX_VERSION_MINOR=`sed -e "s/^ *VBOX_VERSION_MINOR *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Config.kmk` | |
52 | +VBOX_VERSION_BUILD=`sed -e "s/^ *VBOX_VERSION_BUILD *= \+\([0-9]\+\)/\1/;t;d" $PATH_ROOT/Config.kmk` | |
53 | +VBOX_VERSION_STRING=$VBOX_VERSION_MAJOR.$VBOX_VERSION_MINOR.$VBOX_VERSION_BUILD | |
54 | + | |
55 | +. $PATH_VBOXNETFLT/linux/files_vboxnetflt | |
56 | + | |
57 | +# Temporary path for creating the modules, will be removed later | |
58 | +mkdir $PATH_TMP || exit 1 | |
59 | + | |
60 | +# Create auto-generated version file, needed by all modules | |
61 | +echo "#ifndef __version_generated_h__" > $PATH_TMP/version-generated.h | |
62 | +echo "#define __version_generated_h__" >> $PATH_TMP/version-generated.h | |
63 | +echo "" >> $PATH_TMP/version-generated.h | |
64 | +echo "#define VBOX_VERSION_MAJOR $VBOX_VERSION_MAJOR" >> $PATH_TMP/version-generated.h | |
65 | +echo "#define VBOX_VERSION_MINOR $VBOX_VERSION_MINOR" >> $PATH_TMP/version-generated.h | |
66 | +echo "#define VBOX_VERSION_BUILD $VBOX_VERSION_BUILD" >> $PATH_TMP/version-generated.h | |
67 | +echo "#define VBOX_VERSION_STRING \"$VBOX_VERSION_STRING\"" >> $PATH_TMP/version-generated.h | |
68 | +echo "" >> $PATH_TMP/version-generated.h | |
69 | +echo "#endif" >> $PATH_TMP/version-generated.h | |
70 | + | |
71 | +# vboxnetflt (VirtualBox host kernel module) | |
72 | +mkdir $PATH_TMP/vboxnetflt || exit 1 | |
73 | +for f in $VBOX_VBOXNETFLT_SOURCES; do | |
74 | + install -D -m 0644 `echo $f|cut -d'=' -f1` "$PATH_TMP/vboxnetflt/`echo $f|cut -d'>' -f2`" | |
75 | +done | |
76 | +sed -e "s;_VERSION_;$VBOX_VERSION_STRING;g" < $PATH_VBOXNETFLT/linux/build_in_tmp > $PATH_TMP/vboxnetflt/build_in_tmp | |
77 | +chmod 0755 $PATH_TMP/vboxnetflt/build_in_tmp | |
78 | +sed -e "s;_VERSION_;$VBOX_VERSION_STRING;g" < $PATH_VBOXNETFLT/linux/dkms.conf > $PATH_TMP/vboxnetflt/dkms.conf | |
79 | +if [ -n "$VBOX_WITH_HARDENING" ]; then | |
80 | + cat $PATH_VBOXNETFLT/linux/Makefile > $PATH_TMP/vboxnetflt/Makefile | |
81 | +else | |
82 | + sed -e "s;-DVBOX_WITH_HARDENING;;g" < $PATH_VBOXNETFLT/linux/Makefile > $PATH_TMP/vboxnetflt/Makefile | |
83 | +fi | |
84 | + | |
85 | +# Only temporary, omit from archive | |
86 | +rm $PATH_TMP/version-generated.h | |
87 | + | |
88 | +# Create the archive | |
89 | +tar -czf $FILE_OUT -C $PATH_TMP . || exit 1 | |
90 | + | |
91 | +# Remove the temporary directory | |
92 | +rm -r $PATH_TMP | |
93 | + |