blob: e0e695b1543502aa60ad4f1285a0ad5ced0ea1c3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
pkgname=oss
pkgver=4.0_1016
_pkgver=v4.0-1016
pkgrel=14
pkgdesc="OSS/Commercial driver"
url="http://www.opensound.com/"
license=""
depends=('glibc' 'gtk2')
makedepends=('make')
conflicts=('oss-linux')
provides=('oss-linux')
replaces=()
backup=()
#http://www.4front-tech.com/release/oss-linux-v4.0-1012-i386.tar.bz2
install=oss.install
source=(http://www.4front-tech.com/release/oss-linux-v4.0-1016-i386.tar.bz2 install_sh.diff)
arch=('i686')
build() {
PREFIX=$startdir/pkg
OSSLIBDIR=$PREFIX/usr/lib/oss
cd $startdir/src
find . -type d -exec chmod 755 '{}' ';'
patch -p0 < ../install_sh.diff || return 1
## Install
cp -rp etc $PREFIX/
cp -rp usr $PREFIX/
cp -rp $PREFIX/usr/share/man $PREFIX/usr/
rmdir $PREFIX/usr/share
mkdir $PREFIX/usr/lib/oss/logs
# mkdir -p $PREFIX/etc/rc.d
# install oss-linux $PREFIX/etc/rc.d/
mv $OSSLIBDIR/conf.tmpl $OSSLIBDIR/conf
mkdir -p $PREFIX/usr/lib
cd $PREFIX/usr/lib
ln -sf oss/lib/libOSSlib.so || return 1
#building modules
cd $OSSLIBDIR/build
REGPARM=REGPARM
pushd $OSSLIBDIR
rm -rf objects
ln -s objects.regparm objects
rm -rf modules
ln -s modules.regparm modules
popd
if ! test -f $OSSLIBDIR/objects/osscore.o
then
echo Error: OSS core module for $REGPARM kernel are not available
exit 1
fi
if ! test -f $OSSLIBDIR/modules/ich.o
then
echo Error: OSS driver modules for $REGPARM kernel are not available
exit 1
fi
echo
echo OSS build environment set up for $REGPARM kernels
BASEKERNEL=/lib/modules/2.6.26-ARCH
PKGKERNEL=$startdir/pkg$BASEKERNEL
KERNELDIR=$BASEKERNEL/build
cp -f ../objects/osscore.o osscore_mainline.o
ln -sf ../include/sys/*.h ../include/sys/ossddk .
rm -f Makefile
ln -s Makefile.osscore Makefile
if ! test -d $OSSLIBDIR/logs
then
mkdir $OSSLIBDIR/logs
fi
echo Building module osscore
if ! make KERNELDIR=$KERNELDIR> build.list 2>&1
then
echo Failed to compile OSS
cat build.list
exit 2
fi
if ! test -d $PKGKERNEL/kernel/oss
then
mkdir -p $PKGKERNEL/kernel/oss
fi
if ! test -d $PKGKERNEL/kernel/oss
then
echo OSS module directory $PKGKERNEL/kernel/oss does not exist.
exit 3
fi
if ! ld -r osscore.ko osscore_mainline.o -o $PKGKERNEL/kernel/oss/osscore.ko
then
echo Linking the osscore module failed
exit 5
fi
#depmod -a
for n in ../modules/*.o
do
N=`basename $n .o`
echo Building module $N
rm -f $N_mainline.o Makefile
sed "s/MODNAME/$N/" < Makefile.tmpl > Makefile
ln -s $n $N_mainline.o
if ! make KERNELDIR=$KERNELDIR > build.list 2>&1
then
echo Compiling module $N failed
cat build.list
exit 4
fi
if ! ld -r $N.ko $N_mainline.o -o $PKGKERNEL/kernel/oss/$N.ko
then
echo Linking $N module failed
exit 6
fi
rm -f $N_mainline.o
make clean
done
rm -f Makefile
}
|