~ubuntu-branches/ubuntu/vivid/oss4/vivid-proposed

« back to all changes in this revision

Viewing changes to .pc/103_kfreebsd-gnu.patch/setup/FreeBSD/build.sh

  • Committer: Package Import Robot
  • Author(s): Sebastien NOEL
  • Date: 2012-11-19 11:47:24 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20121119114724-svu8mq7x3pk64nez
Tags: 4.2-build2007-1
* New upstream release.
* Acknowledge NMU, thanks Michael Gilbert.
* Add debian/patches/110_ld-as-needed.patch: Rearrange order of linker
  arguments to fix building with "ld --as-needed" (closes: #630737).
* Add missing dependency on dpkg-dev to oss4-dkms and oss4-source
  (closes: #687086).
* Fix typo in the changelog (closes: #628876, #675933)
* Add debian/patches/002_fix-linux-oss_native_word.patch (closes: #693657).
  Thanks to Ben Hutchings.
* Add debian/patches/003_linux-error-logging-fixes.patch (closes: #693657).
  Thanks to Ben Hutchings.
* check for /lib/modules/${kernelver}/build in addition of
  /lib/modules/${kernelver}/source (closes: #587191).
* oss4-dkms.dkms.in: fix 'CLEAN' rules (closes: #653374).

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
. ./.directories
 
4
 
 
5
if which gawk >/dev/null
 
6
then
 
7
   TXT2MAN=$SRCDIR/setup/txt2man
 
8
else
 
9
   echo "No gawk found. Using lesser replacement" >&2
 
10
   cc -o txt2man origdir/setup/txt2man.c
 
11
   TXT2MAN=./txt2man
 
12
fi
 
13
 
 
14
rm -rf prototype
 
15
 
 
16
mkdir prototype
 
17
mkdir prototype/etc
 
18
mkdir prototype/etc/rc.d
 
19
mkdir prototype/usr
 
20
mkdir prototype/usr/bin
 
21
mkdir prototype/usr/sbin
 
22
mkdir -p prototype/$OSSLIBDIR
 
23
mkdir prototype/$OSSLIBDIR/etc
 
24
mkdir prototype/$OSSLIBDIR/lib
 
25
mkdir prototype/$OSSLIBDIR/include
 
26
mkdir prototype/$OSSLIBDIR/include/internals
 
27
mkdir prototype/$OSSLIBDIR/include/sys
 
28
mkdir prototype/$OSSLIBDIR/modules
 
29
mkdir prototype/$OSSLIBDIR/objects
 
30
mkdir prototype/usr/share
 
31
mkdir prototype/usr/share/man
 
32
mkdir prototype/usr/share/man/man1
 
33
mkdir prototype/usr/share/man/man7
 
34
mkdir prototype/usr/share/man/man8
 
35
mkdir prototype/$OSSLIBDIR/conf
 
36
 
 
37
echo "OSSLIBDIR=$OSSLIBDIR" > prototype/etc/oss.conf
 
38
 
 
39
# Regenerating the config file templates
 
40
rm -f /tmp/confgen
 
41
if ! cc -o /tmp/confgen ./setup/FreeBSD/confgen.c
 
42
then
 
43
        echo Building confgen failed
 
44
        exit 1
 
45
fi
 
46
 
 
47
if ! /tmp/confgen prototype/$OSSLIBDIR/conf $OSSLIBDIR/conf kernel/drv/* kernel/nonfree/drv/*
 
48
then
 
49
        echo Running confgen failed
 
50
        exit 1
 
51
fi
 
52
 
 
53
rm -f /tmp/confgen
 
54
 
 
55
cp -r $SRCDIR/setup/FreeBSD/oss/* prototype/$OSSLIBDIR/
 
56
cp $SRCDIR/kernel/OS/FreeBSD/wrapper/bsddefs.h prototype/$OSSLIBDIR/build/
 
57
 
 
58
cp $SRCDIR/include/*.h prototype/$OSSLIBDIR/include/sys/
 
59
cp $SRCDIR/lib/libOSSlib/midiparser.h prototype/$OSSLIBDIR/include/
 
60
cp kernel/framework/include/timestamp.h kernel/framework/include/local_config.h $SRCDIR/kernel/framework/include/*_core.h $SRCDIR/kernel/framework/include/ossddk/*.h prototype/$OSSLIBDIR/include/internals
 
61
cp kernel/framework/include/ossddk/oss_limits.h prototype/$OSSLIBDIR/include/internals
 
62
 
 
63
ld -r -o prototype/$OSSLIBDIR/build/osscore.lib target/objects/*.o
 
64
 
 
65
rm -f devlist.txt
 
66
 
 
67
for n in target/modules/*.o
 
68
do
 
69
        N=`basename $n .o`
 
70
echo Check devices for $N
 
71
        grep "^$N[      ]" ./devices.list >> devlist.txt
 
72
done
 
73
 
 
74
(cd target/bin; rm -f ossrecord; ln -s ossplay ossrecord)
 
75
cp target/modules/*.o prototype/$OSSLIBDIR/objects
 
76
cp target/build/*.c prototype/$OSSLIBDIR/build/
 
77
cp target/bin/* prototype/usr/bin/
 
78
cp target/sbin/* prototype/usr/sbin/
 
79
cp $SRCDIR/setup/FreeBSD/sbin/* prototype/usr/sbin/
 
80
cp $SRCDIR/setup/FreeBSD/etc/rc.d/oss prototype/etc/rc.d
 
81
cp lib/libOSSlib/libOSSlib.so prototype/$OSSLIBDIR/lib
 
82
 
 
83
cp devlist.txt prototype/$OSSLIBDIR/etc/devices.list
 
84
 
 
85
if test -d kernel/nonfree
 
86
then
 
87
        rm -f $SRCDIR/devlists/FreeBSD
 
88
        cp devlist.txt $SRCDIR/devlists/FreeBSD
 
89
fi
 
90
 
 
91
# Generate Man pages for commands
 
92
for i in target/bin/*
 
93
do
 
94
CMD=`basename $i`
 
95
$TXT2MAN -t "$CMD" -v "User Commands" -s 1 cmd/$CMD/$CMD.man | gzip -9 > prototype/usr/share/man/man1/$CMD.1.gz
 
96
echo done $CMD
 
97
done
 
98
 
 
99
for i in target/sbin/*
 
100
do
 
101
  CMD=`basename $i`
 
102
  if test -f cmd/$CMD/$CMD.man
 
103
  then
 
104
        $TXT2MAN -t "$CMD" -v "System Administration Commands" -s 8 cmd/$CMD/$CMD.man | gzip -9 > prototype/usr/share/man/man8/$CMD.8.gz
 
105
        echo done $CMD
 
106
  fi
 
107
done
 
108
 
 
109
for i in $SRCDIR/misc/man1m/*.man
 
110
do
 
111
        N=`basename $i .man`
 
112
        $TXT2MAN -t "$CMD" -v "OSS System Administration Commands" -s 1 $i | gzip -9 > prototype/usr/share/man/man1/$N.1.gz
 
113
done
 
114
 
 
115
$TXT2MAN -t "ossdetect" -v "User Commands" -s 8 os_cmd/FreeBSD/ossdetect/ossdetect.man | gzip -9 > prototype/usr/share/man/man8/ossdetect.8.gz
 
116
echo done ossdetect
 
117
 
 
118
for n in target/modules/*.o
 
119
do
 
120
        N=`basename $n .o`
 
121
        ld -r -o prototype/$OSSLIBDIR/$MODULES/$N.o $n
 
122
        echo Check devices for $N
 
123
        grep "^$N[      ]" ./devices.list >> devlist.txt
 
124
 
 
125
        rm -f /tmp/ossman.txt
 
126
 
 
127
        if test -f $SRCDIR/kernel/drv/$N/$N.man
 
128
        then
 
129
          sed "s:CONFIGFILEPATH:$OSSLIBDIR/conf:g" < $SRCDIR/kernel/drv/$N/$N.man > /tmp/ossman.txt
 
130
          $TXT2MAN -t "$CMD" -v "OSS Devices" -s 7 /tmp/ossman.txt|gzip -9 > prototype/usr/share/man/man7/$N.7.gz
 
131
        else
 
132
                if test -f $SRCDIR/kernel/nonfree/drv/$N/$N.man
 
133
                then
 
134
                        sed "s:CONFIGFILEPATH:$OSSLIBDIR/conf:g" < $SRCDIR/kernel/nonfree/drv/$N/$N.man > /tmp/ossman.txt
 
135
                        $TXT2MAN -t "$CMD" -v "OSS Devices" -s 7 $SRCDIR/kernel/nonfree/drv/$N/$N.man|gzip -9 > prototype/usr/share/man/man7/$N.7.gz
 
136
                fi
 
137
        fi
 
138
done
 
139
 
 
140
sed "s:CONFIGFILEPATH:$OSSLIBDIR/conf:g" < $SRCDIR/kernel/drv/osscore/osscore.man > /tmp/ossman.txt
 
141
$TXT2MAN -t "osscore" -v "OSS Devices" -s 7 /tmp/ossman.txt|gzip -9 > prototype/usr/share/man/man7/osscore.7.gz
 
142
rm -f /tmp/ossman.txt
 
143
 
 
144
cp .version prototype/$OSSLIBDIR/version.dat
 
145
 
 
146
# Licensing stuff
 
147
if test -f $SRCDIR/4front-private/osslic.c
 
148
then
 
149
        cc -o prototype/usr/sbin/osslic -Isetup -Ikernel/nonfree/include -Ikernel/framework/include -Iinclude -Ikernel/OS/FreeBSD -I$SRCDIR $SRCDIR/4front-private/osslic.c
 
150
        strip prototype/usr/sbin/osslic
 
151
 
 
152
        BITS=3 # Default to 32 bit ELF format
 
153
        if test "`uname -m` " = "amd64 "
 
154
        then
 
155
           BITS=6 # Use 64 bit ELF format
 
156
        fi
 
157
 
 
158
        prototype/usr/sbin/osslic -q -u -$BITS./prototype/$OSSLIBDIR/build/osscore.lib
 
159
        
 
160
fi
 
161
 
 
162
if test -f 4front-private/ossupdate.c
 
163
then
 
164
  #ossupdate
 
165
  cc -I. 4front-private/ossupdate.c -s -o prototype/usr/sbin/ossupdate
 
166
fi
 
167
 
 
168
sh $SRCDIR/setup/build_common.sh $SRCDIR $OSSLIBDIR
 
169
 
 
170
chmod 700 prototype/usr/sbin/*
 
171
chmod 755 prototype/usr/bin/*
 
172
chmod 700 prototype/$OSSLIBDIR
 
173
 
 
174
(cd prototype;ls usr/sbin/* usr/bin/* etc/* usr/share/man/man*/*) > prototype/$OSSLIBDIR/sysfiles.list
 
175
 
 
176
exit 0