Commit 4342c286 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

Updated documentation/distributors in regards to shared libraries and

some more windows specific dirs.
parent 9aaf13e7
...@@ -37,34 +37,63 @@ h. Some special .dll and .exe files in the windows\system directory, since ...@@ -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). WINE is configured the usual way (depending on your buildenvironment).
The "prefix" is chosen using your application placement policy The "prefix" is chosen using your application placement policy
(/usr/,/usr/X11R6/, /opt/wine/ or similar). The configuration files (/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). (rationale: FHS 2.0, multiple readonly configuration files of a package).
Example (split this into %build and %install section for rpm): Example (split this into %build and %install section for rpm):
CFLAGS=$RPM_OPT_FLAGS \ CFLAGS=$RPM_OPT_FLAGS \
./configure --prefix=/usr/X11R6 --sysconfdir=/etc/wine/ --enable-dll ./configure --prefix=/usr/X11R6 --sysconfdir=/etc/wine/ --enable-dll
make make
make install prefix=$BUILDROOT/usr/X11R6/ BR=$RPM_BUILD_ROOT
install -d /etc/wine/ make install prefix=$BR/usr/X11R6/ sysconfdir=$BR/etc/wine/
install -m 644 wine.ini /etc/wine/wine.conf 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 Here we unfortunately do need to create wineuser.reg and winesystem.reg
from the WINE distributed winedefault.reg. This can be done using from the WINE distributed winedefault.reg. This can be done using
./regapi once for one example user and the reusing his .wine/user.reg ./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] and .wine/system.reg files. [FIXME: this needs to be done better]
install -m 644 winesytem.reg /etc/wine/ install -m 644 wine.sytemreg $BR/etc/wine/
install -m 644 wineuser.reg /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: 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/man/man1/wine.1, $prefix/include/wine/*,
$prefix/bin/wineserver, $prefix/bin/wineclipsrv
%config /etc/wine/* %config /etc/wine/*
%doc ... choose from the toplevel directory and documentation/ %doc ... choose from the toplevel directory and documentation/
Do not forget ldconfig for the postinstall, the postuninstall and 'rm The Post install script:
libwine.so' for the postuninstall. 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 2.2 Creating a good default configuration file
...@@ -124,12 +153,14 @@ WINE. This script should: ...@@ -124,12 +153,14 @@ WINE. This script should:
- Allow specification of the original windows installation to use (which - Allow specification of the original windows installation to use (which
modifies the copied wine.conf file). modifies the copied wine.conf file).
- Create the windows directory structure (c:\windows,c:\windows\system, - 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:) (FIXME: Not sure this is needed for all files:)
- Symlink all .dll and .exe files from the original windows installation to - Symlink all .dll and .exe files from the original windows installation to
the windows directory. Why? Some program reference "%windowsdir%/file.dll" the windows directory. Why? Some program reference "%windowsdir%/file.dll"
or "%systemdir%/file.dll" directly and fail if there are not present. 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 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 later overwrites on of those files, it will overwrite the symlink (so
that the file now lies in the windows/ subdirectory). that the file now lies in the windows/ subdirectory).
...@@ -148,7 +179,7 @@ This procedure requires: ...@@ -148,7 +179,7 @@ This procedure requires:
once. once.
=> It scales well and suffices most of the rationales. => 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: Sample wine.ini for OpenLinux 2.x:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment