Updated documentation/distributors in regards to shared libraries and
some more windows specific dirs.
This commit is contained in:
parent
9aaf13e7e3
commit
4342c286c3
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue