Updated documentation/distributors in regards to shared libraries and

some more windows specific dirs.
This commit is contained in:
Marcus Meissner 2000-03-30 20:25:42 +00:00 committed by Alexandre Julliard
parent 9aaf13e7e3
commit 4342c286c3
1 changed files with 42 additions and 11 deletions

View File

@ -37,34 +37,63 @@ h. Some special .dll and .exe files in the windows\system directory, since
WINE is configured the usual way (depending on your buildenvironment).
The "prefix" is chosen using your application placement policy
(/usr/,/usr/X11R6/, /opt/wine/ or similar). The configuration files
(wine.conf, wineuser.reg, winesystem.reg) are targeted for /etc/wine/
(wine.conf, wine.userreg, wine.systemreg) are targeted for /etc/wine/
(rationale: FHS 2.0, multiple readonly configuration files of a package).
Example (split this into %build and %install section for rpm):
CFLAGS=$RPM_OPT_FLAGS \
./configure --prefix=/usr/X11R6 --sysconfdir=/etc/wine/ --enable-dll
make
make install prefix=$BUILDROOT/usr/X11R6/
install -d /etc/wine/
install -m 644 wine.ini /etc/wine/wine.conf
BR=$RPM_BUILD_ROOT
make install prefix=$BR/usr/X11R6/ sysconfdir=$BR/etc/wine/
install -d $BR/etc/wine/
install -m 644 wine.ini $BR/etc/wine/wine.conf
# Put all our dlls in a seperate directory. (this works only if
# you have a buildroot)
install -d $BR/usr/X11R6/lib/wine
mv $BR/usr/X11R6/lib/lib* $BR/usr/X11R6/lib/wine/
# the clipboard server is started on demand.
install -m 755 windows/x11drv/wineclipsrv $BR/usr/X11R6/bin/
# The WINE server is needed.
install -m 755 server/wineserver $BR/usr/X11R6/bin/
Here we unfortunately do need to create wineuser.reg and winesystem.reg
from the WINE distributed winedefault.reg. This can be done using
./regapi once for one example user and the reusing his .wine/user.reg
and .wine/system.reg files. [FIXME: this needs to be done better]
install -m 644 winesytem.reg /etc/wine/
install -m 644 wineuser.reg /etc/wine/
install -m 644 wine.sytemreg $BR/etc/wine/
install -m 644 wine.userreg $BR/etc/wine/
There are now a lot of libraries generated by the build process, so a
seperate library directory should be used.
install -d 755 $BR/usr/X11R6/lib/
mv $BR/
You will need to package the files:
$prefix/bin/wine, $prefix/bin/dosmod, $prefix/lib/libwine.so.1.0,
$prefix/bin/wine, $prefix/bin/dosmod, $prefix/lib/wine/*
$prefix/man/man1/wine.1, $prefix/include/wine/*,
$prefix/bin/wineserver, $prefix/bin/wineclipsrv
%config /etc/wine/*
%doc ... choose from the toplevel directory and documentation/
Do not forget ldconfig for the postinstall, the postuninstall and 'rm
libwine.so' for the postuninstall.
The Post install script:
if ! grep -q /usr/X11R6/lib/wine /etc/ld.so.conf; then
echo "/usr/X11R6/lib/wine" >> /etc/ld.so.conf
fi
/sbin/ldconfig
The post uninstall script:
if [ "$1" = 0 ]; then
perl -ni -e 'print unless m:/usr/X11R6/lib/wine:;' /etc/ld.so.conf
fi
/sbin/ldconfig
2.2 Creating a good default configuration file
@ -124,12 +153,14 @@ WINE. This script should:
- Allow specification of the original windows installation to use (which
modifies the copied wine.conf file).
- Create the windows directory structure (c:\windows,c:\windows\system,
c:\Program Files,c:\Desktop,etc...)
c:\windows\Start Menu\Programs,c:\Program Files,c:\Desktop,...)
(FIXME: Not sure this is needed for all files:)
- Symlink all .dll and .exe files from the original windows installation to
the windows directory. Why? Some program reference "%windowsdir%/file.dll"
or "%systemdir%/file.dll" directly and fail if there are not present.
This will give a huge number of symlinks, yes. However, if an installer
later overwrites on of those files, it will overwrite the symlink (so
that the file now lies in the windows/ subdirectory).
@ -148,7 +179,7 @@ This procedure requires:
once.
=> It scales well and suffices most of the rationales.
Marcus Meissner <marcus@jet.franken.de>
Marcus Meissner <Marcus.Meissner@caldera.de>
----------------------------------------------------------------
Sample wine.ini for OpenLinux 2.x: