You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
59 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9a4a7e1cb3 | ||
|
6053bea2da | ||
|
c83e83b911 | ||
|
aaf6e38a98 | ||
|
b33ea6c233 | ||
|
f5abff47fb | ||
|
1a5b602120 | ||
|
7b90cca3d7 | ||
|
6bca298771 | ||
|
ba1bf62faa | ||
|
1598a4326e | ||
|
baae7829ff | ||
|
41b4bc29a0 | ||
|
1d0979cb9b | ||
|
b91cca8e61 | ||
|
130fbbe654 | ||
|
e536c2d707 | ||
|
6c26951aae | ||
|
cc1c1f12ae | ||
|
b1a5dfb1f7 | ||
|
3cd7f91608 | ||
|
752393bbe3 | ||
|
4c094dc57d | ||
|
5cab0e1b8f | ||
|
819a738d3d | ||
|
4caa3f834f | ||
|
749bdd1781 | ||
|
a118c9b4bd | ||
|
b0f0c3ea9f | ||
|
e272c49cd8 | ||
|
c51df83deb | ||
|
c45a17079d | ||
|
faf78575ac | ||
|
027b85ed1b | ||
|
9b303a4f82 | ||
|
4ff0b53021 | ||
|
04d674d9b6 | ||
|
e91e2daca4 | ||
|
ece1d51745 | ||
|
125673271d | ||
|
da7d2715d3 | ||
|
e2f635a164 | ||
|
9e6408add9 | ||
|
f6566f892d | ||
|
9c80cd53f9 | ||
|
f4e3d72fc1 | ||
|
15a19d27fc | ||
|
a8f3f9c4e4 | ||
|
3246faa114 | ||
|
4e4a8b7d32 | ||
|
cf5a6bdbf3 | ||
|
7e7a3881c4 | ||
|
023b7bd4cb | ||
|
ff169cd1b7 | ||
|
5f93d74102 | ||
|
ce3f41cee9 | ||
|
d447778cfb | ||
|
6fa663e823 | ||
|
fa92b283ed |
@@ -32,15 +32,15 @@ before proceeding.
|
||||
|
||||
As the first step please grab the latest Wine source:
|
||||
```bash
|
||||
wget http://prdownloads.sourceforge.net/wine/wine-1.7.25.tar.bz2
|
||||
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.25.tar.gz
|
||||
wget http://prdownloads.sourceforge.net/wine/wine-1.7.26.tar.bz2
|
||||
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.26.tar.gz
|
||||
```
|
||||
|
||||
Extract the archives:
|
||||
```bash
|
||||
tar xvjf wine-1*.tar.bz2
|
||||
cd wine-1*
|
||||
tar xvzf ../v1.7.25.tar.gz --strip-components 1
|
||||
tar xvzf ../v1.7.26.tar.gz --strip-components 1
|
||||
```
|
||||
|
||||
And apply the patches:
|
||||
|
357
README.md
357
README.md
@@ -1,35 +1,59 @@
|
||||
What is Wine-Compholio?
|
||||
=======================
|
||||
|
||||
The **Wine "Compholio" Edition** is a special patched version of Wine that
|
||||
includes both patches written by our team directly and specific patches by
|
||||
third party developers that we consider good enough for inclusion. This can
|
||||
be seen as a testing version in preparation for patches to be submitted
|
||||
to upstream Wine - don't be surprised if you encounter additional bugs,
|
||||
which are not present in regular wine, and always report such issues to us
|
||||
(via github), so we can improve our fixes even further. Thanks!
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look at our
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Reporting-bugs)
|
||||
for more information about how to report bugs.**
|
||||
|
||||
The **Wine "Compholio" Edition** is a special build of the popular Wine
|
||||
software that includes both patches written by our team and selected patches
|
||||
by third party developers that we consider good enough for inclusion. This can
|
||||
be seen as a testing version in preparation for patches to be submitted to
|
||||
upstream Wine - don't be surprised if you encounter additional bugs, which are
|
||||
not present in regular wine, and always report such issues to us (via github!),
|
||||
so we can improve our fixes even further. Thanks!
|
||||
|
||||
|
||||
How to install and use Wine-Compholio
|
||||
=====================================
|
||||
|
||||
Ready-to-use packages for Wine-Compholio are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions available on the
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Installation).
|
||||
|
||||
When using Wine-Compholio there are a few differences compared to regular
|
||||
Wine. The main difference is that it is not sufficient to type `wine` to
|
||||
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
|
||||
Besides that there are also some other differences, for example additional
|
||||
configuration options to tweak performance, which are not available in regular
|
||||
Wine. All those differences are also documented on the
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Usage).
|
||||
|
||||
|
||||
Included bugfixes and improvements
|
||||
----------------------------------
|
||||
==================================
|
||||
|
||||
**Bugs fixed in Wine-Compholio 1.7.25 [53]:**
|
||||
**Bugs fixed in Wine-Compholio 1.7.26 [58]:**
|
||||
|
||||
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "JLC's Internet TV crashes on startup"))
|
||||
* ATL IOCS data should not be stored in GWLP_USERDATA ([Wine Bug #21767](http://bugs.winehq.org/show_bug.cgi?id=21767 "Multiple applications storing AxHostWindow instance pointer in GWLP_USERDATA crash on startup (Wine uses GWLP_USERDATA to store IOCS)(JLC's Internet TV, Anime Studio Pro 10.x)"))
|
||||
* Add Dynamic DST exceptions for Israel Standard Time ([Wine Bug #36374](http://bugs.winehq.org/show_bug.cgi?id=36374 "Israel timezone handled incorrectly"))
|
||||
* Add default ACLs for user shell folders
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](http://bugs.winehq.org/show_bug.cgi?id=28995 "Unable to use named pipes with \">\" character in the name"))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](http://bugs.winehq.org/show_bug.cgi?id=30639 "Audio stuttering and performance drops in Star Wolves 3"))
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](http://bugs.winehq.org/show_bug.cgi?id=33162 "Acrobat Reader 11 crashes on start (native API application virtualization, NtProtectVirtualMemory removes execute page protection on its own code)"))
|
||||
* Fix ITERATE_MoveFiles when no source- and destname is specified ([Wine Bug #10085](http://bugs.winehq.org/show_bug.cgi?id=10085 "Adobe Bridge CS2 complains that it can't start due to licensing restrictions (affects photoshop)"))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](http://bugs.winehq.org/show_bug.cgi?id=10767 "lstrcmp and others do not compare punctuation characters correctly"))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)"))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](http://bugs.winehq.org/show_bug.cgi?id=32451 "Multiple GOG.com installer bundles show a broken/unresponsive dialog window during installation (installer process running out of wndproc slots)"))
|
||||
* Fix issue with invisible dragimages in ImageList ([Wine Bug #36761](http://bugs.winehq.org/show_bug.cgi?id=36761 "Imagelist invisible dragimage"))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix unitialized cch value when calling GetMenuItemInfo with a null pointer ([Wine Bug #34642](http://bugs.winehq.org/show_bug.cgi?id=34642 "Adobe Premiere Pro 2.0 exits silently on startup ('GetMenuItemInfo' must zero out 'cch' if mask doesn't specify 'MIIM_TYPE')"))
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](http://bugs.winehq.org/show_bug.cgi?id=28768 "Multiple GFWL (Games For Windows Live) 1.x games crash on startup (Kane & Lynch: Dead Men)"))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)"))
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts"))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](http://bugs.winehq.org/show_bug.cgi?id=32323 "Netflix (Silverlight 4.x) and several .NET Framework 3.x/4.0 WPF apps require either Arial or Verdana to be installed"))
|
||||
* Improvement for heap allocation performance
|
||||
* Lockfree algorithm for filedescriptor cache (improves file access speed)
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](http://bugs.winehq.org/show_bug.cgi?id=18732 "Microsoft Experience Pack for Tablet PC 1 refuses to install"))
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](http://bugs.winehq.org/show_bug.cgi?id=7115 "Need for Speed III installer fails in Win9X mode, reporting \"Could not get 'HardWareKey' value\" (active PnP device keys in 'HKEY_DYN_DATA\\\\Config Manager\\\\Enum' missing)"))
|
||||
@@ -42,6 +66,7 @@ Included bugfixes and improvements
|
||||
* Set ldr.EntryPoint for main executable ([Wine Bug #33034](http://bugs.winehq.org/show_bug.cgi?id=33034 "Many GFWL (Games For Windows Live) 1.x/2.x/3.x games crash or exit silently on startup (DiRT 2/3, GTA IV Steam)"))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](http://bugs.winehq.org/show_bug.cgi?id=34372 "Add missing function AllocateAndGetTcpExTableFromStack() to iphlpapi.dll"))
|
||||
* Support for BCryptGetFipsAlgorithmMode ([Wine Bug #32194](http://bugs.winehq.org/show_bug.cgi?id=32194 "Multiple games and applications need bcrypt.dll.BCryptGetFipsAlgorithmMode (Chess Position Trainer, Terraria, .NET System.Security.Cryptography)"))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](http://bugs.winehq.org/show_bug.cgi?id=9158 "Multiple Microsoft development tools online/web installers fail to skip \"$shtdwn$.req\" with FILE_ATTRIBUTE_HIDDEN (Visual Studio Express Editions, .NET Framework 3.0)"))
|
||||
* Support for Dynamic DST (daylight saving time) information in registry
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #36073](http://bugs.winehq.org/show_bug.cgi?id=36073 "OneDrive crashes on unimplemented function KERNEL32.dll.GetFinalPathNameByHandleW"))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](http://bugs.winehq.org/show_bug.cgi?id=19813 "Voddler needs GetSystemTimes to run"))
|
||||
@@ -62,318 +87,12 @@ Included bugfixes and improvements
|
||||
* Support for inherited file ACLs ([Wine Bug #34406](http://bugs.winehq.org/show_bug.cgi?id=34406 "Finale Notepad 2012 doesn't copy/create user files on program start"))
|
||||
* Support for interface change notifications ([Wine Bug #32328](http://bugs.winehq.org/show_bug.cgi?id=32328 "Many .NET and Silverlight applications require SIO_ADDRESS_LIST_CHANGE for interface change notifications"))
|
||||
* Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL"))
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](http://bugs.winehq.org/show_bug.cgi?id=26256 "wine64-preloader can't handle setcap cap_net_raw+epi"))
|
||||
* Support for stored file ACLs ([Wine Bug #31858](http://bugs.winehq.org/show_bug.cgi?id=31858 "Netflix on Firefox fails with Internet Connection Problem when loading bar is at 99%"))
|
||||
* Support for ws2_32.inet_pton ([Wine Bug #36713](http://bugs.winehq.org/show_bug.cgi?id=36713 "Watch_Dogs requires ws2_32.inet_pton"))
|
||||
* Use assembly wrapper to run TLS callbacks ([Wine Bug #21917](http://bugs.winehq.org/show_bug.cgi?id=21917 "SC2 'LazyLaunch' v2.0 fails with 'Exception frame is not in stack limits => unable to dispatch exception.' (TLS callbacks can taint EBP, needs assembly wrapper)"))
|
||||
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](http://bugs.winehq.org/show_bug.cgi?id=23033 "Tages Protection v5.x: games report \"DLL not found shell.dll16.dll\" (Runaway 2: The Dream Of The Turtle, ...)"))
|
||||
* Workaround for shlwapi URLs with relative paths
|
||||
* XEMBED support for embedding Wine windows inside Linux applications
|
||||
* nVidia driver for high-end laptop cards does not list all supported resolutions
|
||||
|
||||
|
||||
How to install Wine-Compholio
|
||||
=============================
|
||||
|
||||
Ready-to-use packages for Wine-Compholio are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions below to install it (and all required dependencies). After the
|
||||
installation, please take a look at the next section for instructions how
|
||||
to use it in order to run your desired application.
|
||||
|
||||
**Important:** If you already have installed 'pipelight' on your system, there
|
||||
is a good chance that you already have Wine-Compholio. Take a look at the
|
||||
next section on how to find out if this is the case.
|
||||
|
||||
If your distribution is not listed below, feel free to add a feature request -
|
||||
if the demand is high enough we might consider packaging it for additional
|
||||
distributions.
|
||||
|
||||
|
||||
 Ubuntu / Linux Mint
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
Please run the following commands from a terminal, one line after each other.
|
||||
```bash
|
||||
sudo add-apt-repository ppa:pipelight/stable
|
||||
sudo apt-get update
|
||||
sudo apt-get install --install-recommends wine-compholio
|
||||
```
|
||||
|
||||
 Arch Linux
|
||||
---------------------------------------------------------------------
|
||||
|
||||
As a first step you have to import the key for our repository, and set the
|
||||
trust level to trusted:
|
||||
```bash
|
||||
sudo pacman-key -r E49CC0415DC2D5CA
|
||||
sudo pacman-key --lsign-key E49CC0415DC2D5CA
|
||||
```
|
||||
|
||||
Afterwards you have to add the following lines to `/etc/pacman.conf`:
|
||||
```
|
||||
[compholio]
|
||||
Server = http://cdn.fds-team.de/stable/arch/$arch
|
||||
```
|
||||
|
||||
Now you can install Wine-Compholio directly using `pacman`:
|
||||
```bash
|
||||
sudo pacman -Syu wine-compholio
|
||||
```
|
||||
|
||||
 Debian Jessie/Sid
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
*(Instructions for Debian Wheezy can be found below)*
|
||||
|
||||
In order to install i386 packages on a 64-bit system, you have to run the
|
||||
following command as a first step:
|
||||
```bash
|
||||
sudo dpkg --add-architecture i386
|
||||
```
|
||||
|
||||
Afterwards import the key for our repository:
|
||||
```bash
|
||||
wget http://repos.fds-team.de/Release.key
|
||||
sudo apt-key add Release.key
|
||||
```
|
||||
|
||||
And add our repository at the end of your `/etc/apt/sources.list` file:
|
||||
```
|
||||
# For Debian Jessie add the following line:
|
||||
deb http://cdn.fds-team.de/stable/debian/ jessie main
|
||||
|
||||
# For Debian Sid this one:
|
||||
deb http://cdn.fds-team.de/stable/debian/ sid main
|
||||
```
|
||||
|
||||
Afterwards update the package cache and install it:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 Debian Wheezy
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
In order to install i386 packages on a 64-bit system, you have to run the
|
||||
following command as a first step:
|
||||
```bash
|
||||
sudo dpkg --add-architecture i386
|
||||
```
|
||||
|
||||
Afterwards import the key for our repository:
|
||||
```bash
|
||||
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
|
||||
sudo apt-key add Release.key
|
||||
```
|
||||
|
||||
And add our repository at the end of your `/etc/apt/sources.list` file:
|
||||
```
|
||||
# For Debian Wheezy add the following line:
|
||||
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
|
||||
```
|
||||
|
||||
Afterwards update the package cache and install it:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 OpenSUSE
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
All the following steps have to be executed as root user. As a first step
|
||||
you have to add the repository - this step depends on the openSUSE version
|
||||
you're using.
|
||||
|
||||
| openSUSE version | Path component |
|
||||
| ------------------- | ----------------------- |
|
||||
| openSUSE 12.2 | `/openSUSE_12.2/` |
|
||||
| openSUSE 12.3 | `/openSUSE_12.3/` |
|
||||
| openSUSE 13.1 | `/openSUSE_13.1/` |
|
||||
| openSUSE Factory | `/openSUSE_Factory/` |
|
||||
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
|
||||
|
||||
The following commandline is an example for openSUSE 13.1, for a different
|
||||
version just replace the path component according to the table above:
|
||||
```bash
|
||||
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
|
||||
```
|
||||
|
||||
Afterwards just run the following commands to install it:
|
||||
```bash
|
||||
zypper ref
|
||||
zypper install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 Fedora
|
||||
-------------------------------------------------------------------
|
||||
|
||||
**Warning:** In contrary to other distributions, its not possible to have both
|
||||
a regular wine version and Wine-Compholio installed at the same time - using
|
||||
the instructions below will replace your regular version. Moreover it will
|
||||
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
|
||||
|
||||
As a first step you have to add the repository - this step depends on the
|
||||
Fedora version you're using.
|
||||
|
||||
| Fedora version | Patch component |
|
||||
| --------------- | --------------- |
|
||||
| Fedora 18 | `/Fedora_18/` |
|
||||
| Fedora 19 | `/Fedora_19/` |
|
||||
| Fedora 20 | `/Fedora_20/` |
|
||||
|
||||
The following commandline is an example for Fedora 19, for a different version
|
||||
just replace the path component according to the table above:
|
||||
```bash
|
||||
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
|
||||
```
|
||||
|
||||
Afterwards run the following command to install the package:
|
||||
```bash
|
||||
sudo yum install wine-compholio
|
||||
```
|
||||
|
||||
Please note that you might run into trouble if the official Fedora package
|
||||
(without compholio patches) is newer than the one from the repository above,
|
||||
so if something doesn't work, always make sure that you have installed
|
||||
our version. To do that just run:
|
||||
```bash
|
||||
/usr/bin/wine --patches
|
||||
```
|
||||
|
||||
When you're using Wine-Compholio this will show to a list of all patches
|
||||
included, for an unpatched version this command will fail.
|
||||
|
||||
|
||||
 Mageia 4
|
||||
---------------------------------------------------------------------
|
||||
|
||||
As a first step please add the key for our repository
|
||||
```bash
|
||||
wget http://repos.fds-team.de/Release.key
|
||||
rpm --import Release.key
|
||||
```
|
||||
|
||||
If you're using a 32-bit version of Mageia just add the repository
|
||||
for 32-bit packages:
|
||||
```bash
|
||||
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
|
||||
```
|
||||
|
||||
For a 64-bit version of Mageia you'll need both the 32-bit and the
|
||||
64-bit repository:
|
||||
```bash
|
||||
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
|
||||
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
|
||||
```
|
||||
|
||||
Afterwards run the following commands to install the package:
|
||||
```bash
|
||||
sudo urpmi.update -a
|
||||
sudo urpmi wine-compholio
|
||||
```
|
||||
|
||||
Using Wine-Compholio
|
||||
====================
|
||||
|
||||
Since we don't want to duplicate a lot of information here, we recommend
|
||||
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
|
||||
general information about how to use Wine. The following part will mainly
|
||||
concentrate on the differences between wine and Wine-Compholio.
|
||||
|
||||
|
||||
Running Wine-Compholio
|
||||
----------------------
|
||||
|
||||
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
|
||||
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
|
||||
(in your home directory) like regular wine. This allows you to use your
|
||||
already installed programs directly, without much effort or reinstalling
|
||||
them. Often you have both regular wine and Wine-Compholio installed at the
|
||||
same time, which is *absolutely no problem* - by typing in either `wine`
|
||||
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
|
||||
wine version you want to run. You can switch between versions as often as
|
||||
you like - just make sure that all Windows programs have terminated before
|
||||
starting them with a different version.
|
||||
|
||||
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
|
||||
```bash
|
||||
cd ~/.wine/drive_c/<your path>/
|
||||
/opt/wine-compholio/bin/wine game.exe
|
||||
```
|
||||
|
||||
You also have to add `/opt/wine-compholio/bin/` when running other wine
|
||||
related programs, here are some additional example:
|
||||
```bash
|
||||
# Initialize the wine prefix
|
||||
/opt/wine-compholio/bin/wineboot
|
||||
|
||||
# Open the wine configuration
|
||||
/opt/wine-compholio/bin/winecfg
|
||||
|
||||
# Run winepath to convert paths
|
||||
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
|
||||
|
||||
# Kill the running wineserver instance
|
||||
/opt/wine-compholio/bin/wineserver -k
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
If you're an experienced user, and always want to use Wine-Compholio, you
|
||||
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
|
||||
go into detail here, because such a setup has the big disadvantage, that
|
||||
it hides which version you're using - which is very important for getting
|
||||
support or reporting bugs.
|
||||
|
||||
|
||||
Submitting bugs
|
||||
---------------
|
||||
|
||||
**Warning: Do not submit bug reports at bugs.winehq.org when using this
|
||||
version!**
|
||||
|
||||
If you encounter any issues, the first thing you should do is to try it with
|
||||
regular wine. We're only a very small developer team, and although we would
|
||||
like to do that, we probably cannot really solve all your Wine bugs. When
|
||||
it turns out that the official Wine version also doesn't work, you can file
|
||||
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
|
||||
Feel free to mention that you also tested with Wine-Compholio, but all
|
||||
bugreport related information (logs, crashdumps, ...) should concentrate
|
||||
only on upstream wine.
|
||||
|
||||
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
|
||||
then it might be a regression caused by our patches. We would like you to
|
||||
report this issue to us, so we can fix it in future versions. You can also
|
||||
report issues, when testing with upstream Wine is impossible or it crashes
|
||||
with a different error (for example much earlier).
|
||||
|
||||
When submitting a application related bug here on github, please make sure to
|
||||
include at least the following information. Generally its always a good idea
|
||||
to provide as much information as possible, since this will significantly
|
||||
increase chances to provide support and to fix it.
|
||||
|
||||
1. **Which application triggers the bug**
|
||||
* Application name and version number
|
||||
* How to obtain it (download URL + checksum if public available)
|
||||
|
||||
2. **What exactly doesn't work**
|
||||
* Log of the terminal output of the application
|
||||
* For visual issues please additionally attach a screenshot, and describe
|
||||
what it should look like
|
||||
* *Optionally:* If you already know whats going wrong, please attach
|
||||
appropriate `WINEDEBUG` logs or excerpts showing the issue.
|
||||
|
||||
3. **Details about your WINEPREFIX**
|
||||
* *Recommended:* Test it in a new wine prefix, and report if this works
|
||||
* Did you install any overrides? (for examples by using `winetricks`)
|
||||
* Did you change any settings by running `winecfg`?
|
||||
|
||||
4. **Information about your Wine-Compholio version**
|
||||
* *Recommended:* Test with regular wine, and report if this works
|
||||
* Version number (`/opt/wine-compholio/bin/wine --version`)
|
||||
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
|
||||
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)
|
||||
|
20
debian/changelog
vendored
20
debian/changelog
vendored
@@ -1,3 +1,22 @@
|
||||
wine-compholio (1.7.26) unstable; urgency=low
|
||||
* Added new make targets 'series' and 'install-git'.
|
||||
* Some improvements in the patch system scripts.
|
||||
* Fixed issues in the winepulse configure script.
|
||||
* Fixed some issues in patches for Inherited ACLs.
|
||||
* Fixed some issues in patches for backwards compatibility with old ACL format.
|
||||
* Added patch to fix unintentional leaks with ntdll internals.
|
||||
* Added patch to add support for DOS hidden/system file attributes.
|
||||
* Added patch to use dynamic linking for libpcap.
|
||||
* Added patch to fix issues when using setcap on wine executable.
|
||||
* Added patch to improve heap allocation performance by using more freelists.
|
||||
* Added patch to fix detection of ncurses on Archlinux (avoids ugly workarounds at build time).
|
||||
* Added patch to fix detection of gnutls on Ubuntu 14.10.
|
||||
* Added patch to use assembly wrapper for TLS callbacks.
|
||||
* Added patch to fix uninitialized cch struct member in GetMenuItemInfo.
|
||||
* Removed patch to fix issue with msi/ITERATE_MoveFiles (accepted upstream).
|
||||
* Removed patch to fix detection of ncurses on Archlinux (accepted upstream).
|
||||
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 07 Sep 2014 23:50:25 +0200
|
||||
|
||||
wine-compholio (1.7.25) unstable; urgency=low
|
||||
* Improve generation of README.md on patch update.
|
||||
* Updated patches for riched20 IText* Interface.
|
||||
@@ -6,6 +25,7 @@ wine-compholio (1.7.25) unstable; urgency=low
|
||||
* Fixed issue with gitapply.sh script on Gentoo systems.
|
||||
* Added patch with stub for DwmInvalidateIconicBitmaps.
|
||||
* Added Courier Prime (OFLv1.1) as a Courier New replacement.
|
||||
* Added patch to implement DOS hidden/system file attributes.
|
||||
* Added patch to better detect broken nVidia RandR 1.2 support.
|
||||
* Added patch to set linker version in PE header.
|
||||
* Added patch to move NtProtectVirtualMemory and NtCreateSection to separate pages.
|
||||
|
22
debian/control
vendored
22
debian/control
vendored
@@ -86,6 +86,7 @@ Recommends: libcapi20-3,
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
libpulse0,
|
||||
libsane,
|
||||
@@ -109,10 +110,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
|
||||
Breaks: wine-compholio (<< 1.7.15-1~)
|
||||
Description: The Compholio Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
Currently these patches fix:
|
||||
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
|
||||
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
|
||||
at 99% (Bug 31858).
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
@@ -144,6 +141,7 @@ Recommends: libcapi20-3,
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
libpulse0,
|
||||
libsane,
|
||||
@@ -167,10 +165,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
|
||||
Breaks: wine-compholio (<< 1.7.15-1~)
|
||||
Description: The Compholio Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
Currently these patches fix:
|
||||
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
|
||||
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
|
||||
at 99% (Bug 31858).
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
@@ -195,10 +189,6 @@ Section: otherosfs
|
||||
Priority: optional
|
||||
Description: The Compholio Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
Currently these patches fix:
|
||||
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
|
||||
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
|
||||
at 99% (Bug 31858).
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
@@ -227,10 +217,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
|
||||
Breaks: wine-compholio (<< 1.7.15-1~)
|
||||
Description: The Compholio Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
Currently these patches fix:
|
||||
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
|
||||
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
|
||||
at 99% (Bug 31858).
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
@@ -254,10 +240,6 @@ Replaces: wine-compholio (<< 1.7.15-1~)
|
||||
Breaks: wine-compholio (<< 1.7.15-1~)
|
||||
Description: The Compholio Edition is a special build of the popular Wine software
|
||||
with patches representing my current staging tree for Wine.
|
||||
Currently these patches fix:
|
||||
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
|
||||
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
|
||||
at 99% (Bug 31858).
|
||||
.
|
||||
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
|
||||
Wine is a compatibility layer for running Windows applications on Linux.
|
||||
|
58
debian/tools/Makefile.in
vendored
58
debian/tools/Makefile.in
vendored
@@ -2,10 +2,21 @@
|
||||
# This file is automatically generated, DO NOT EDIT!
|
||||
#
|
||||
|
||||
CURDIR ?= ${{.CURDIR}}
|
||||
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
|
||||
APPLY := (cd $(DESTDIR) && $(PATCH))
|
||||
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < $(CURDIR)/$(1)
|
||||
.NOTPARALLEL:
|
||||
|
||||
CURDIR ?= ${{.CURDIR}}
|
||||
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
|
||||
APPLY = (cd "$(DESTDIR)" && $(PATCH))
|
||||
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < "$(CURDIR)/$(1)"
|
||||
|
||||
#
|
||||
# This Makefile understands the following targets:
|
||||
#
|
||||
# install (default): apply patches to directory provided by DESTDIR
|
||||
# install-git: as above, but use 'git am' to apply the patches
|
||||
# series: create a 'series' file containing the patch order
|
||||
# clean: delete autogenerated and temporary files
|
||||
#
|
||||
|
||||
PATCHLIST := \
|
||||
{patchlist}
|
||||
@@ -16,9 +27,44 @@ install: $(PATCHLIST)
|
||||
cd $(DESTDIR) && autoreconf -f
|
||||
cd $(DESTDIR) && ./tools/make_requests
|
||||
|
||||
.PHONY: install-git
|
||||
install-git: PATCH := git am
|
||||
install-git: install
|
||||
|
||||
series: APPLY_FILE = @echo "$(1)" >> series
|
||||
series: $(PATCHLIST)
|
||||
@cat *.ok | sort | $(CURDIR)/../debian/tools/patchlist.sh > patchlist.diff
|
||||
@echo "patchlist.diff" >> series
|
||||
@( \
|
||||
echo ""; \
|
||||
echo "The 'series' file was created in current directory. Please note that"; \
|
||||
echo "'patchlist.diff' is autogenerated based on your selection of patches and not"; \
|
||||
echo "included in this repository - keep in mind to update it on every release."; \
|
||||
echo ""; \
|
||||
echo "Moreover, depending on which patches you have selected, you will have to run"; \
|
||||
echo "'autoreconf -f' and/or './tools/make_requests' after applying them."; \
|
||||
echo ""; \
|
||||
binary=0; \
|
||||
while IFS= read -r line; do \
|
||||
if grep -q "^GIT binary patch" "$$line"; then \
|
||||
binary=1; break; \
|
||||
fi \
|
||||
done < series; \
|
||||
if [ "$$binary" -ne 0 ]; then \
|
||||
echo "The following files contain binary patches and cannot be applied with the"; \
|
||||
echo "regular 'patch' commandline tool:"; \
|
||||
echo ""; \
|
||||
while IFS= read -r line; do \
|
||||
grep -q "^GIT binary patch" "$$line" && echo "$$line"; \
|
||||
done < series; \
|
||||
echo ""; \
|
||||
echo "Please use 'git apply' or '../debian/tools/gitapply.sh' from this repository."; \
|
||||
echo ""; \
|
||||
fi \
|
||||
)
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -f series patchlist.diff
|
||||
rm -f *.ok
|
||||
|
||||
.NOTPARALLEL:
|
||||
|
||||
|
338
debian/tools/README.md.in
vendored
338
debian/tools/README.md.in
vendored
@@ -1,325 +1,39 @@
|
||||
What is Wine-Compholio?
|
||||
=======================
|
||||
|
||||
The **Wine "Compholio" Edition** is a special patched version of Wine that
|
||||
includes both patches written by our team directly and specific patches by
|
||||
third party developers that we consider good enough for inclusion. This can
|
||||
be seen as a testing version in preparation for patches to be submitted
|
||||
to upstream Wine - don't be surprised if you encounter additional bugs,
|
||||
which are not present in regular wine, and always report such issues to us
|
||||
(via github), so we can improve our fixes even further. Thanks!
|
||||
**Warning: Do not report bugs at bugs.winehq.org when using this version!
|
||||
Please take a look at our
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Reporting-bugs)
|
||||
for more information about how to report bugs.**
|
||||
|
||||
The **Wine "Compholio" Edition** is a special build of the popular Wine
|
||||
software that includes both patches written by our team and selected patches
|
||||
by third party developers that we consider good enough for inclusion. This can
|
||||
be seen as a testing version in preparation for patches to be submitted to
|
||||
upstream Wine - don't be surprised if you encounter additional bugs, which are
|
||||
not present in regular wine, and always report such issues to us (via github!),
|
||||
so we can improve our fixes even further. Thanks!
|
||||
|
||||
|
||||
Included bugfixes and improvements
|
||||
----------------------------------
|
||||
|
||||
{fixes}
|
||||
|
||||
|
||||
How to install Wine-Compholio
|
||||
=============================
|
||||
How to install and use Wine-Compholio
|
||||
=====================================
|
||||
|
||||
Ready-to-use packages for Wine-Compholio are available for a variety
|
||||
of different Linux distributions directly for download. Just follow the
|
||||
instructions below to install it (and all required dependencies). After the
|
||||
installation, please take a look at the next section for instructions how
|
||||
to use it in order to run your desired application.
|
||||
instructions available on the
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Installation).
|
||||
|
||||
**Important:** If you already have installed 'pipelight' on your system, there
|
||||
is a good chance that you already have Wine-Compholio. Take a look at the
|
||||
next section on how to find out if this is the case.
|
||||
When using Wine-Compholio there are a few differences compared to regular
|
||||
Wine. The main difference is that it is not sufficient to type `wine` to
|
||||
run it, but instead you will have to type `/opt/wine-compholio/bin/wine`.
|
||||
Besides that there are also some other differences, for example additional
|
||||
configuration options to tweak performance, which are not available in regular
|
||||
Wine. All those differences are also documented on the
|
||||
[Wiki](https://github.com/compholio/wine-compholio/wiki/Usage).
|
||||
|
||||
If your distribution is not listed below, feel free to add a feature request -
|
||||
if the demand is high enough we might consider packaging it for additional
|
||||
distributions.
|
||||
|
||||
Included bugfixes and improvements
|
||||
==================================
|
||||
|
||||
 Ubuntu / Linux Mint
|
||||
--------------------------------------------------------------------------------
|
||||
{fixes}
|
||||
|
||||
Please run the following commands from a terminal, one line after each other.
|
||||
```bash
|
||||
sudo add-apt-repository ppa:pipelight/stable
|
||||
sudo apt-get update
|
||||
sudo apt-get install --install-recommends wine-compholio
|
||||
```
|
||||
|
||||
 Arch Linux
|
||||
---------------------------------------------------------------------
|
||||
|
||||
As a first step you have to import the key for our repository, and set the
|
||||
trust level to trusted:
|
||||
```bash
|
||||
sudo pacman-key -r E49CC0415DC2D5CA
|
||||
sudo pacman-key --lsign-key E49CC0415DC2D5CA
|
||||
```
|
||||
|
||||
Afterwards you have to add the following lines to `/etc/pacman.conf`:
|
||||
```
|
||||
[compholio]
|
||||
Server = http://cdn.fds-team.de/stable/arch/$arch
|
||||
```
|
||||
|
||||
Now you can install Wine-Compholio directly using `pacman`:
|
||||
```bash
|
||||
sudo pacman -Syu wine-compholio
|
||||
```
|
||||
|
||||
 Debian Jessie/Sid
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
*(Instructions for Debian Wheezy can be found below)*
|
||||
|
||||
In order to install i386 packages on a 64-bit system, you have to run the
|
||||
following command as a first step:
|
||||
```bash
|
||||
sudo dpkg --add-architecture i386
|
||||
```
|
||||
|
||||
Afterwards import the key for our repository:
|
||||
```bash
|
||||
wget http://repos.fds-team.de/Release.key
|
||||
sudo apt-key add Release.key
|
||||
```
|
||||
|
||||
And add our repository at the end of your `/etc/apt/sources.list` file:
|
||||
```
|
||||
# For Debian Jessie add the following line:
|
||||
deb http://cdn.fds-team.de/stable/debian/ jessie main
|
||||
|
||||
# For Debian Sid this one:
|
||||
deb http://cdn.fds-team.de/stable/debian/ sid main
|
||||
```
|
||||
|
||||
Afterwards update the package cache and install it:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 Debian Wheezy
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
In order to install i386 packages on a 64-bit system, you have to run the
|
||||
following command as a first step:
|
||||
```bash
|
||||
sudo dpkg --add-architecture i386
|
||||
```
|
||||
|
||||
Afterwards import the key for our repository:
|
||||
```bash
|
||||
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
|
||||
sudo apt-key add Release.key
|
||||
```
|
||||
|
||||
And add our repository at the end of your `/etc/apt/sources.list` file:
|
||||
```
|
||||
# For Debian Wheezy add the following line:
|
||||
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
|
||||
```
|
||||
|
||||
Afterwards update the package cache and install it:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo apt-get install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 OpenSUSE
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
All the following steps have to be executed as root user. As a first step
|
||||
you have to add the repository - this step depends on the openSUSE version
|
||||
you're using.
|
||||
|
||||
| openSUSE version | Path component |
|
||||
| ------------------- | ----------------------- |
|
||||
| openSUSE 12.2 | `/openSUSE_12.2/` |
|
||||
| openSUSE 12.3 | `/openSUSE_12.3/` |
|
||||
| openSUSE 13.1 | `/openSUSE_13.1/` |
|
||||
| openSUSE Factory | `/openSUSE_Factory/` |
|
||||
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
|
||||
|
||||
The following commandline is an example for openSUSE 13.1, for a different
|
||||
version just replace the path component according to the table above:
|
||||
```bash
|
||||
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
|
||||
```
|
||||
|
||||
Afterwards just run the following commands to install it:
|
||||
```bash
|
||||
zypper ref
|
||||
zypper install wine-compholio
|
||||
```
|
||||
|
||||
|
||||
 Fedora
|
||||
-------------------------------------------------------------------
|
||||
|
||||
**Warning:** In contrary to other distributions, its not possible to have both
|
||||
a regular wine version and Wine-Compholio installed at the same time - using
|
||||
the instructions below will replace your regular version. Moreover it will
|
||||
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
|
||||
|
||||
As a first step you have to add the repository - this step depends on the
|
||||
Fedora version you're using.
|
||||
|
||||
| Fedora version | Patch component |
|
||||
| --------------- | --------------- |
|
||||
| Fedora 18 | `/Fedora_18/` |
|
||||
| Fedora 19 | `/Fedora_19/` |
|
||||
| Fedora 20 | `/Fedora_20/` |
|
||||
|
||||
The following commandline is an example for Fedora 19, for a different version
|
||||
just replace the path component according to the table above:
|
||||
```bash
|
||||
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
|
||||
```
|
||||
|
||||
Afterwards run the following command to install the package:
|
||||
```bash
|
||||
sudo yum install wine-compholio
|
||||
```
|
||||
|
||||
Please note that you might run into trouble if the official Fedora package
|
||||
(without compholio patches) is newer than the one from the repository above,
|
||||
so if something doesn't work, always make sure that you have installed
|
||||
our version. To do that just run:
|
||||
```bash
|
||||
/usr/bin/wine --patches
|
||||
```
|
||||
|
||||
When you're using Wine-Compholio this will show to a list of all patches
|
||||
included, for an unpatched version this command will fail.
|
||||
|
||||
|
||||
 Mageia 4
|
||||
---------------------------------------------------------------------
|
||||
|
||||
As a first step please add the key for our repository
|
||||
```bash
|
||||
wget http://repos.fds-team.de/Release.key
|
||||
rpm --import Release.key
|
||||
```
|
||||
|
||||
If you're using a 32-bit version of Mageia just add the repository
|
||||
for 32-bit packages:
|
||||
```bash
|
||||
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
|
||||
```
|
||||
|
||||
For a 64-bit version of Mageia you'll need both the 32-bit and the
|
||||
64-bit repository:
|
||||
```bash
|
||||
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
|
||||
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
|
||||
```
|
||||
|
||||
Afterwards run the following commands to install the package:
|
||||
```bash
|
||||
sudo urpmi.update -a
|
||||
sudo urpmi wine-compholio
|
||||
```
|
||||
|
||||
Using Wine-Compholio
|
||||
====================
|
||||
|
||||
Since we don't want to duplicate a lot of information here, we recommend
|
||||
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
|
||||
general information about how to use Wine. The following part will mainly
|
||||
concentrate on the differences between wine and Wine-Compholio.
|
||||
|
||||
|
||||
Running Wine-Compholio
|
||||
----------------------
|
||||
|
||||
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
|
||||
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
|
||||
(in your home directory) like regular wine. This allows you to use your
|
||||
already installed programs directly, without much effort or reinstalling
|
||||
them. Often you have both regular wine and Wine-Compholio installed at the
|
||||
same time, which is *absolutely no problem* - by typing in either `wine`
|
||||
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
|
||||
wine version you want to run. You can switch between versions as often as
|
||||
you like - just make sure that all Windows programs have terminated before
|
||||
starting them with a different version.
|
||||
|
||||
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
|
||||
```bash
|
||||
cd ~/.wine/drive_c/<your path>/
|
||||
/opt/wine-compholio/bin/wine game.exe
|
||||
```
|
||||
|
||||
You also have to add `/opt/wine-compholio/bin/` when running other wine
|
||||
related programs, here are some additional example:
|
||||
```bash
|
||||
# Initialize the wine prefix
|
||||
/opt/wine-compholio/bin/wineboot
|
||||
|
||||
# Open the wine configuration
|
||||
/opt/wine-compholio/bin/winecfg
|
||||
|
||||
# Run winepath to convert paths
|
||||
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
|
||||
|
||||
# Kill the running wineserver instance
|
||||
/opt/wine-compholio/bin/wineserver -k
|
||||
|
||||
...
|
||||
```
|
||||
|
||||
If you're an experienced user, and always want to use Wine-Compholio, you
|
||||
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
|
||||
go into detail here, because such a setup has the big disadvantage, that
|
||||
it hides which version you're using - which is very important for getting
|
||||
support or reporting bugs.
|
||||
|
||||
|
||||
Submitting bugs
|
||||
---------------
|
||||
|
||||
**Warning: Do not submit bug reports at bugs.winehq.org when using this
|
||||
version!**
|
||||
|
||||
If you encounter any issues, the first thing you should do is to try it with
|
||||
regular wine. We're only a very small developer team, and although we would
|
||||
like to do that, we probably cannot really solve all your Wine bugs. When
|
||||
it turns out that the official Wine version also doesn't work, you can file
|
||||
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
|
||||
Feel free to mention that you also tested with Wine-Compholio, but all
|
||||
bugreport related information (logs, crashdumps, ...) should concentrate
|
||||
only on upstream wine.
|
||||
|
||||
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
|
||||
then it might be a regression caused by our patches. We would like you to
|
||||
report this issue to us, so we can fix it in future versions. You can also
|
||||
report issues, when testing with upstream Wine is impossible or it crashes
|
||||
with a different error (for example much earlier).
|
||||
|
||||
When submitting a application related bug here on github, please make sure to
|
||||
include at least the following information. Generally its always a good idea
|
||||
to provide as much information as possible, since this will significantly
|
||||
increase chances to provide support and to fix it.
|
||||
|
||||
1. **Which application triggers the bug**
|
||||
* Application name and version number
|
||||
* How to obtain it (download URL + checksum if public available)
|
||||
|
||||
2. **What exactly doesn't work**
|
||||
* Log of the terminal output of the application
|
||||
* For visual issues please additionally attach a screenshot, and describe
|
||||
what it should look like
|
||||
* *Optionally:* If you already know whats going wrong, please attach
|
||||
appropriate `WINEDEBUG` logs or excerpts showing the issue.
|
||||
|
||||
3. **Details about your WINEPREFIX**
|
||||
* *Recommended:* Test it in a new wine prefix, and report if this works
|
||||
* Did you install any overrides? (for examples by using `winetricks`)
|
||||
* Did you change any settings by running `winecfg`?
|
||||
|
||||
4. **Information about your Wine-Compholio version**
|
||||
* *Recommended:* Test with regular wine, and report if this works
|
||||
* Version number (`/opt/wine-compholio/bin/wine --version`)
|
||||
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
|
||||
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)
|
||||
|
30
debian/tools/patchupdate.py
vendored
30
debian/tools/patchupdate.py
vendored
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python2
|
||||
#
|
||||
# Automatic patch dependency checker and Makefile/README.md generator.
|
||||
#
|
||||
@@ -282,7 +282,7 @@ def read_patchset(revision = None):
|
||||
patch.authors, patch.depends, patch.fixes = \
|
||||
read_definition(revision, os.path.join(config.path_patches, patch.name), name_to_id)
|
||||
except IOError:
|
||||
raise PatchUpaterError("Missing definition file for %s" % patch.name)
|
||||
raise PatchUpdaterError("Missing definition file for %s" % patch.name)
|
||||
|
||||
return all_patches
|
||||
|
||||
@@ -348,7 +348,8 @@ def get_wine_file(filename, force=False):
|
||||
return (content_hash, content)
|
||||
|
||||
def verify_patch_order(all_patches, indices, filename):
|
||||
"""Checks if the dependencies are defined correctly by applying on the patches on a copy from the git tree."""
|
||||
"""Checks if the dependencies are defined correctly by applying
|
||||
the patches on a (temporary) copy from the git tree."""
|
||||
global cached_patch_result
|
||||
|
||||
# If one of patches is a binary patch, then we cannot / won't verify it - require dependencies in this case
|
||||
@@ -376,6 +377,7 @@ def verify_patch_order(all_patches, indices, filename):
|
||||
# Fast path -> we know that it applies properly
|
||||
if cached_patch_result.has_key(unique_hash):
|
||||
result_hash = cached_patch_result[unique_hash]
|
||||
assert result_hash is not None
|
||||
|
||||
else:
|
||||
# Now really get the file, if we don't have it yet
|
||||
@@ -386,19 +388,25 @@ def verify_patch_order(all_patches, indices, filename):
|
||||
try:
|
||||
content = patchutils.apply_patch(original_content, patches, fuzz=0)
|
||||
except patchutils.PatchApplyError:
|
||||
if last_result_hash is not None: break
|
||||
# Remember that we failed to apply the patches, but continue, if there is still a chance
|
||||
# that it applies in a different order (to give a better error message).
|
||||
failed_to_apply = True
|
||||
continue
|
||||
if last_result_hash is None:
|
||||
continue
|
||||
break
|
||||
|
||||
# Get hash of resulting file and add to cache
|
||||
result_hash = hashlib.sha256(content).digest()
|
||||
cached_patch_result[unique_hash] = result_hash
|
||||
|
||||
# No known hash yet, remember the result. If we failed applying before, we can stop now.
|
||||
if last_result_hash is None:
|
||||
last_result_hash = result_hash
|
||||
if failed_to_apply: break
|
||||
|
||||
# Applied successful, but result has a different hash - also treat as failure.
|
||||
elif last_result_hash != result_hash:
|
||||
last_result_hash = None
|
||||
failed_to_apply = True
|
||||
break
|
||||
|
||||
# If something failed, then show the appropriate error message.
|
||||
@@ -406,8 +414,8 @@ def verify_patch_order(all_patches, indices, filename):
|
||||
raise PatchUpdaterError("Changes to file %s don't apply on git source tree: %s" %
|
||||
(filename, ", ".join([all_patches[i].name for i in indices])))
|
||||
|
||||
elif failed_to_apply or last_result_hash is None:
|
||||
raise PatchUpdaterError("Depending on the order some changes to file %s dont't apply / lead to different results: %s" %
|
||||
elif failed_to_apply:
|
||||
raise PatchUpdaterError("Depending on the order some changes to file %s don't apply / lead to different results: %s" %
|
||||
(filename, ", ".join([all_patches[i].name for i in indices])))
|
||||
|
||||
else:
|
||||
@@ -417,14 +425,14 @@ def verify_dependencies(all_patches):
|
||||
"""Resolve dependencies, and afterwards run verify_patch_order() to check if everything applies properly."""
|
||||
|
||||
def _load_patch_cache():
|
||||
"""Load dictionary for cached patch dependency tests into cached_patch_result."""
|
||||
"""Load dictionary for cached patch dependency tests."""
|
||||
global cached_patch_result
|
||||
global cached_original_src
|
||||
cached_patch_result = _load_dict(config.path_depcache)
|
||||
cached_original_src = _load_dict(config.path_srccache)
|
||||
|
||||
def _save_patch_cache():
|
||||
"""Save dictionary for cached patch depdency tests."""
|
||||
"""Save dictionary for cached patch dependency tests."""
|
||||
_save_dict(config.path_depcache, cached_patch_result)
|
||||
_save_dict(config.path_srccache, cached_original_src)
|
||||
|
||||
@@ -504,7 +512,7 @@ def generate_makefile(all_patches):
|
||||
fp.write("# |\n")
|
||||
|
||||
# List all modified files
|
||||
fp.write("# | Modified files: \n")
|
||||
fp.write("# | Modified files:\n")
|
||||
fp.write("# | *\t%s\n" % "\n# | \t".join(textwrap.wrap(", ".join(sorted(patch.modified_files)), 120)))
|
||||
fp.write("# |\n")
|
||||
|
||||
|
2
debian/tools/patchutils.py
vendored
2
debian/tools/patchutils.py
vendored
@@ -1,4 +1,4 @@
|
||||
#!/usr/bin/python
|
||||
#!/usr/bin/python2
|
||||
#
|
||||
# Python functions to read, split and apply patches.
|
||||
#
|
||||
|
349
patches/Makefile
349
patches/Makefile
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,125 @@
|
||||
From 068be01861e22ddd9360fbee4135937782ac77c8 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sat, 6 Sep 2014 04:59:20 +0200
|
||||
Subject: Appease the Archlinux version of gcc (4.9.1) when -Werror is enabled.
|
||||
|
||||
---
|
||||
dlls/msvcp90/ios.c | 4 ++--
|
||||
dlls/msvcp90/locale.c | 6 +++---
|
||||
dlls/msvcp90/string.c | 12 ++++++------
|
||||
3 files changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/dlls/msvcp90/ios.c b/dlls/msvcp90/ios.c
|
||||
index fbba957..e099f27 100644
|
||||
--- a/dlls/msvcp90/ios.c
|
||||
+++ b/dlls/msvcp90/ios.c
|
||||
@@ -1215,7 +1215,7 @@ streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this,
|
||||
chunk = count-copied;
|
||||
|
||||
if(chunk > 0) {
|
||||
- memcpy_s(ptr+copied, size, *this->prpos, chunk);
|
||||
+ (void)memcpy_s(ptr+copied, size, *this->prpos, chunk);
|
||||
*this->prpos += chunk;
|
||||
*this->prsize -= chunk;
|
||||
copied += chunk;
|
||||
@@ -2083,7 +2083,7 @@ streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *thi
|
||||
chunk = count-copied;
|
||||
|
||||
if(chunk > 0) {
|
||||
- memcpy_s(ptr+copied, size, *this->prpos, chunk*sizeof(wchar_t));
|
||||
+ (void)memcpy_s(ptr+copied, size, *this->prpos, chunk*sizeof(wchar_t));
|
||||
*this->prpos += chunk;
|
||||
*this->prsize -= chunk;
|
||||
copied += chunk;
|
||||
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
|
||||
index b15f1b8..015511d 100644
|
||||
--- a/dlls/msvcp90/locale.c
|
||||
+++ b/dlls/msvcp90/locale.c
|
||||
@@ -1595,7 +1595,7 @@ const char* __thiscall ctype_char__Do_narrow_s(const ctype_char *this, const cha
|
||||
const char *last, char unused, char *dest, MSVCP_size_t size)
|
||||
{
|
||||
TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size);
|
||||
- memcpy_s(dest, size, first, last-first);
|
||||
+ (void)memcpy_s(dest, size, first, last-first);
|
||||
return last;
|
||||
}
|
||||
|
||||
@@ -1674,7 +1674,7 @@ const char* __thiscall ctype_char__Do_widen_s(const ctype_char *this,
|
||||
const char *first, const char *last, char *dest, MSVCP_size_t size)
|
||||
{
|
||||
TRACE("(%p %p %p %p %lu)\n", this, first, last, dest, size);
|
||||
- memcpy_s(dest, size, first, last-first);
|
||||
+ (void)memcpy_s(dest, size, first, last-first);
|
||||
return last;
|
||||
}
|
||||
|
||||
@@ -3674,7 +3674,7 @@ int __thiscall codecvt_wchar_do_out(const codecvt_wchar *this, int *state,
|
||||
}
|
||||
|
||||
(*from_next)++;
|
||||
- memcpy_s(*to_next, to_end-*to_next, buf, size);
|
||||
+ (void)memcpy_s(*to_next, to_end-*to_next, buf, size);
|
||||
(*to_next) += size;
|
||||
}
|
||||
}
|
||||
diff --git a/dlls/msvcp90/string.c b/dlls/msvcp90/string.c
|
||||
index ce05613..c8dfce9 100644
|
||||
--- a/dlls/msvcp90/string.c
|
||||
+++ b/dlls/msvcp90/string.c
|
||||
@@ -82,7 +82,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_char_length(const char *str)
|
||||
char* CDECL MSVCP_char_traits_char__Copy_s(char *dest,
|
||||
MSVCP_size_t size, const char *src, MSVCP_size_t count)
|
||||
{
|
||||
- memcpy_s(dest, size, src, count);
|
||||
+ (void)memcpy_s(dest, size, src, count);
|
||||
return dest;
|
||||
}
|
||||
|
||||
@@ -107,7 +107,7 @@ const char * CDECL MSVCP_char_traits_char_find(
|
||||
char* CDECL MSVCP_char_traits_char__Move_s(char *dest,
|
||||
MSVCP_size_t size, const char *src, MSVCP_size_t count)
|
||||
{
|
||||
- memmove_s(dest, size, src, count);
|
||||
+ (void)memmove_s(dest, size, src, count);
|
||||
return dest;
|
||||
}
|
||||
|
||||
@@ -206,7 +206,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_wchar_length(const wchar_t *str)
|
||||
wchar_t* CDECL MSVCP_char_traits_wchar__Copy_s(wchar_t *dest,
|
||||
MSVCP_size_t size, const wchar_t *src, MSVCP_size_t count)
|
||||
{
|
||||
- memcpy_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
|
||||
+ (void)memcpy_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
|
||||
return dest;
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ const wchar_t* CDECL MSVCP_char_traits_wchar_find(
|
||||
wchar_t* CDECL MSVCP_char_traits_wchar__Move_s(wchar_t *dest,
|
||||
MSVCP_size_t size, const wchar_t *src, MSVCP_size_t count)
|
||||
{
|
||||
- memmove_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
|
||||
+ (void)memmove_s(dest, size * sizeof(wchar_t), src, count * sizeof(wchar_t));
|
||||
return dest;
|
||||
}
|
||||
|
||||
@@ -353,7 +353,7 @@ MSVCP_size_t CDECL MSVCP_char_traits_short_length(const unsigned short *str)
|
||||
unsigned short * CDECL MSVCP_char_traits_short__Copy_s(unsigned short *dest,
|
||||
MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
|
||||
{
|
||||
- memcpy_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
|
||||
+ (void)memcpy_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
|
||||
return dest;
|
||||
}
|
||||
|
||||
@@ -384,7 +384,7 @@ const unsigned short* CDECL MSVCP_char_traits_short_find(
|
||||
unsigned short* CDECL MSVCP_char_traits_short__Move_s(unsigned short *dest,
|
||||
MSVCP_size_t size, const unsigned short *src, MSVCP_size_t count)
|
||||
{
|
||||
- memmove_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
|
||||
+ (void)memmove_s(dest, size * sizeof(unsigned short), src, count * sizeof(unsigned short));
|
||||
return dest;
|
||||
}
|
||||
|
||||
--
|
||||
2.1.0
|
||||
|
@@ -14,3 +14,6 @@ Revision: 1
|
||||
Author: Erich E. Hoover
|
||||
Title: Appease the blessed version of gcc (4.5) when -Werror is enabled.
|
||||
|
||||
Revision: 1
|
||||
Author: Sebastian Lackner
|
||||
Title: Appease the Archlinux version of gcc (4.9.1) when -Werror is enabled.
|
||||
|
@@ -1,14 +1,14 @@
|
||||
From b6bd496bacbe8eb82dfa53148e92474c9a7511bb Mon Sep 17 00:00:00 2001
|
||||
From 7d77edaea3c4ba8067e4b73034df5c58940daebc Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sun, 1 Jun 2014 22:51:32 +0200
|
||||
Subject: winex11.drv: Indicate direct rendering through OpenGL extension
|
||||
|
||||
---
|
||||
dlls/winex11.drv/opengl.c | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
dlls/winex11.drv/opengl.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c
|
||||
index 71af3db..6f3aca0 100644
|
||||
index 71af3db..966d32d 100644
|
||||
--- a/dlls/winex11.drv/opengl.c
|
||||
+++ b/dlls/winex11.drv/opengl.c
|
||||
@@ -440,6 +440,7 @@ static int GLXErrorHandler(Display *dpy, XErrorEvent *event, void *arg)
|
||||
@@ -19,17 +19,14 @@ index 71af3db..6f3aca0 100644
|
||||
|
||||
int screen = DefaultScreen(gdi_display);
|
||||
Window win = 0, root = 0;
|
||||
@@ -491,10 +492,16 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
||||
@@ -491,10 +492,13 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
||||
}
|
||||
gl_renderer = (const char *)opengl_funcs.gl.p_glGetString(GL_RENDERER);
|
||||
WineGLInfo.glVersion = (const char *) opengl_funcs.gl.p_glGetString(GL_VERSION);
|
||||
+ WineGLInfo.glxDirect = pglXIsDirect(gdi_display, ctx);
|
||||
str = (const char *) opengl_funcs.gl.p_glGetString(GL_EXTENSIONS);
|
||||
- WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions));
|
||||
+ if (WineGLInfo.glxDirect)
|
||||
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions)+sizeof(direct_extension));
|
||||
+ else
|
||||
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions));
|
||||
+ WineGLInfo.glExtensions = HeapAlloc(GetProcessHeap(), 0, strlen(str)+sizeof(legacy_extensions)+sizeof(direct_extension));
|
||||
strcpy(WineGLInfo.glExtensions, str);
|
||||
strcat(WineGLInfo.glExtensions, legacy_extensions);
|
||||
+ if (WineGLInfo.glxDirect)
|
||||
@@ -37,7 +34,7 @@ index 71af3db..6f3aca0 100644
|
||||
|
||||
/* Get the common GLX version supported by GLX client and server ( major/minor) */
|
||||
pglXQueryVersion(gdi_display, &WineGLInfo.glxVersion[0], &WineGLInfo.glxVersion[1]);
|
||||
@@ -508,7 +515,7 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
||||
@@ -508,7 +512,7 @@ static BOOL X11DRV_WineGL_InitOpenglInfo(void)
|
||||
WineGLInfo.glxClientExtensions = pglXGetClientString(gdi_display, GLX_EXTENSIONS);
|
||||
|
||||
WineGLInfo.glxExtensions = pglXQueryExtensionsString(gdi_display, screen);
|
||||
@@ -47,5 +44,5 @@ index 71af3db..6f3aca0 100644
|
||||
TRACE("GL version : %s.\n", WineGLInfo.glVersion);
|
||||
TRACE("GL renderer : %s.\n", gl_renderer);
|
||||
--
|
||||
1.8.3.2
|
||||
1.7.9.5
|
||||
|
||||
|
@@ -1,13 +1,13 @@
|
||||
From cdadefc52b0cdab8bc768dd6e494de69e75ae379 Mon Sep 17 00:00:00 2001
|
||||
From 7610c5da1834b6294ef7a128690eb333344bb29c Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 16 Aug 2014 00:18:06 +0200
|
||||
Subject: bcrypt: Add semi-stub for BCryptGetFipsAlgorithmMode
|
||||
|
||||
---
|
||||
dlls/bcrypt/bcrypt.spec | 2 +-
|
||||
dlls/bcrypt/bcrypt_main.c | 11 +++++++++++
|
||||
dlls/bcrypt/tests/bcrypt.c | 22 ++++++++++++++++++++++
|
||||
3 files changed, 34 insertions(+), 1 deletion(-)
|
||||
dlls/bcrypt/bcrypt.spec | 2 +-
|
||||
dlls/bcrypt/bcrypt_main.c | 11 +++++++++++
|
||||
dlls/bcrypt/tests/bcrypt.c | 21 +++++++++++++++++++++
|
||||
3 files changed, 33 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/bcrypt/bcrypt.spec b/dlls/bcrypt/bcrypt.spec
|
||||
index 3b154f5..83cdbea 100644
|
||||
@@ -43,7 +43,7 @@ index 5ccb9f1..b4c6fad 100644
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/dlls/bcrypt/tests/bcrypt.c b/dlls/bcrypt/tests/bcrypt.c
|
||||
index 288e745..6e183e8 100644
|
||||
index 288e745..9e659d6 100644
|
||||
--- a/dlls/bcrypt/tests/bcrypt.c
|
||||
+++ b/dlls/bcrypt/tests/bcrypt.c
|
||||
@@ -27,6 +27,7 @@
|
||||
@@ -62,7 +62,7 @@ index 288e745..6e183e8 100644
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -78,10 +80,30 @@ static void test_BCryptGenRandom(void)
|
||||
@@ -78,10 +80,29 @@ static void test_BCryptGenRandom(void)
|
||||
ok(memcmp(buffer, buffer + 8, 8), "Expected a random number, got 0\n");
|
||||
}
|
||||
|
||||
@@ -79,7 +79,6 @@ index 288e745..6e183e8 100644
|
||||
+
|
||||
+ ret = pBCryptGetFipsAlgorithmMode(&enabled);
|
||||
+ ok(ret == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got 0x%x\n", ret);
|
||||
+ ok(!enabled, "Expected FIPS mode to be disabled, but it is enabled\n");
|
||||
+
|
||||
+ ret = pBCryptGetFipsAlgorithmMode(NULL);
|
||||
+ ok(ret == STATUS_INVALID_PARAMETER, "Expected STATUS_INVALID_PARAMETER, got 0x%x\n", ret);
|
||||
@@ -94,5 +93,5 @@ index 288e745..6e183e8 100644
|
||||
+ test_BCryptGetFipsAlgorithmMode();
|
||||
}
|
||||
--
|
||||
1.9.1
|
||||
1.7.9.5
|
||||
|
||||
|
@@ -0,0 +1,29 @@
|
||||
From d39d120e7b69873b864286ec574c7b5c9eb1de0d Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Wed, 27 Aug 2014 00:31:23 +0200
|
||||
Subject: configure: Also add the absolute RPATH when linking against libwine.
|
||||
|
||||
---
|
||||
configure.ac | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c4066f6..1c5f156 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -970,10 +970,10 @@ wine-installed: main.o
|
||||
[LDEXECFLAGS="-Wl,--export-dynamic"])
|
||||
|
||||
WINE_TRY_CFLAGS([-fPIC -Wl,--rpath,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,--rpath,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
|
||||
LDRPATH_LOCAL="-Wl,--rpath,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"],
|
||||
[WINE_TRY_CFLAGS([-fPIC -Wl,-R,\$ORIGIN/../lib],
|
||||
- [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`"
|
||||
+ [LDRPATH_INSTALL="-Wl,-R,\\\$\$ORIGIN/\`\$(MAKEDEP) -R \$(bindir) \$(libdir)\`:\$(DESTDIR)\$(libdir)"
|
||||
LDRPATH_LOCAL="-Wl,-R,\\\$\$ORIGIN/\$(top_builddir)/libs/wine"])])
|
||||
|
||||
WINE_TRY_CFLAGS([-Wl,--enable-new-dtags],
|
||||
--
|
||||
1.7.9.5
|
||||
|
4
patches/configure-Absolute_RPATH/definition
Normal file
4
patches/configure-Absolute_RPATH/definition
Normal file
@@ -0,0 +1,4 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Also add the absolute RPATH when linking against libwine.
|
||||
Revision: 1
|
||||
Fixes: [26256] Support for setcap on wine-preloader
|
@@ -0,0 +1,25 @@
|
||||
From 3ec0224addff16f803d8d49feb0a4a232c48ebcd Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 7 Sep 2014 08:09:54 +0200
|
||||
Subject: configure: Fix detection of gnutls on Ubuntu 14.10.
|
||||
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2bc0008..c22b119 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1360,7 +1360,7 @@ then
|
||||
[AC_CHECK_HEADER(gnutls/gnutls.h,
|
||||
[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <gnutls/gnutls.h>
|
||||
#include <gnutls/crypto.h>]], [[static typeof(gnutls_mac_get_key_size) *func; if (func) return 0;]])],
|
||||
- [WINE_CHECK_SONAME(gnutls,gnutls_global_init,,[GNUTLS_CFLAGS=""],[$GNUTLS_LIBS])])],
|
||||
+ [WINE_CHECK_SONAME(gnutls,gnutls_global_init,,[GNUTLS_CFLAGS=""],[$GNUTLS_LIBS],[[libgnutls\\(-deb0\\)\\{0,1\\}]])])],
|
||||
[GNUTLS_CFLAGS=""])])
|
||||
fi
|
||||
WINE_WARNING_WITH(gnutls,[test "x$ac_cv_lib_soname_gnutls" = "x"],
|
||||
--
|
||||
2.1.0
|
||||
|
3
patches/configure-Detect_Gnutls/definition
Normal file
3
patches/configure-Detect_Gnutls/definition
Normal file
@@ -0,0 +1,3 @@
|
||||
Author: Sebastian Lackner
|
||||
Subject: Fix detection of gnutls on Ubuntu 14.10.
|
||||
Revision: 3
|
@@ -1,4 +1,4 @@
|
||||
From 5301ca38d5f079f106616c2f629464de101bd8aa Mon Sep 17 00:00:00 2001
|
||||
From 7f9ec61d451223868ef2b1b20b16c59a11706412 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 12 Aug 2014 20:24:14 +0200
|
||||
Subject: kernel32: Implement GetFinalPathNameByHandle.
|
||||
@@ -10,7 +10,7 @@ Subject: kernel32: Implement GetFinalPathNameByHandle.
|
||||
3 files changed, 192 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
|
||||
index 412659b..eb17abb 100644
|
||||
index 412659b..4646217 100644
|
||||
--- a/dlls/kernel32/file.c
|
||||
+++ b/dlls/kernel32/file.c
|
||||
@@ -2810,3 +2810,185 @@ DWORD WINAPI K32GetDeviceDriverFileNameW(void *image_base, LPWSTR file_name, DWO
|
||||
@@ -79,7 +79,7 @@ index 412659b..eb17abb 100644
|
||||
+ flags &= ~FILE_NAME_OPENED;
|
||||
+ }
|
||||
+
|
||||
+ /* Get information required for VOLUME_NAME_NONE, VOLUME_NAME_GUID and VOLUME_NAME_DOS */
|
||||
+ /* Get information required for VOLUME_NAME_NONE, VOLUME_NAME_GUID and VOLUME_NAME_NT */
|
||||
+ if (flags == VOLUME_NAME_NONE || flags == VOLUME_NAME_GUID || flags == VOLUME_NAME_NT)
|
||||
+ {
|
||||
+ if (!GetVolumePathNameW( info->Name.Buffer, drive_part, MAX_PATH ))
|
||||
@@ -88,7 +88,7 @@ index 412659b..eb17abb 100644
|
||||
+ drive_part_len = strlenW(drive_part);
|
||||
+ if (!drive_part_len || drive_part_len > strlenW(info->Name.Buffer) ||
|
||||
+ drive_part[drive_part_len-1] != '\\' ||
|
||||
+ memcmp( info->Name.Buffer, drive_part, drive_part_len * sizeof(WCHAR) ))
|
||||
+ strncmpiW( info->Name.Buffer, drive_part, drive_part_len ))
|
||||
+ {
|
||||
+ FIXME("Path %s returned by GetVolumePathNameW does not match file path %s\n",
|
||||
+ debugstr_w(drive_part), debugstr_w(info->Name.Buffer));
|
||||
@@ -233,5 +233,5 @@ index 02bbbd4..0ccf9e9 100644
|
||||
}
|
||||
#endif
|
||||
--
|
||||
1.8.3.2
|
||||
2.1.0
|
||||
|
||||
|
@@ -1,12 +1,12 @@
|
||||
From c8a873013240a0511789c5e9d38b8d1fab18658b Mon Sep 17 00:00:00 2001
|
||||
From 719e096c6ca40ef86cd8f23d419807cdcd002656 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sat, 25 Jan 2014 09:47:12 -0700
|
||||
Subject: kernel32: Implement GetVolumePathName.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/volume.c | 3 -
|
||||
dlls/kernel32/volume.c | 132 +++++++++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 116 insertions(+), 19 deletions(-)
|
||||
dlls/kernel32/tests/volume.c | 3 --
|
||||
dlls/kernel32/volume.c | 123 ++++++++++++++++++++++++++++++++++++++-----
|
||||
2 files changed, 109 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c
|
||||
index 61da509..4b3bdf5 100644
|
||||
@@ -29,7 +29,7 @@ index 61da509..4b3bdf5 100644
|
||||
|
||||
/* test an invalid path */
|
||||
diff --git a/dlls/kernel32/volume.c b/dlls/kernel32/volume.c
|
||||
index d396764..75bc20f 100644
|
||||
index d396764..8826dd2 100644
|
||||
--- a/dlls/kernel32/volume.c
|
||||
+++ b/dlls/kernel32/volume.c
|
||||
@@ -1786,7 +1786,7 @@ BOOL WINAPI GetVolumePathNameA(LPCSTR filename, LPSTR volumepathname, DWORD bufl
|
||||
@@ -41,7 +41,7 @@ index d396764..75bc20f 100644
|
||||
|
||||
if (filename && !(filenameW = FILE_name_AtoW( filename, FALSE )))
|
||||
return FALSE;
|
||||
@@ -1802,37 +1802,137 @@ BOOL WINAPI GetVolumePathNameA(LPCSTR filename, LPSTR volumepathname, DWORD bufl
|
||||
@@ -1802,12 +1802,27 @@ BOOL WINAPI GetVolumePathNameA(LPCSTR filename, LPSTR volumepathname, DWORD bufl
|
||||
|
||||
/***********************************************************************
|
||||
* GetVolumePathNameW (KERNEL32.@)
|
||||
@@ -69,20 +69,21 @@ index d396764..75bc20f 100644
|
||||
- FIXME("(%s, %p, %d), stub!\n", debugstr_w(filename), volumepathname, buflen);
|
||||
+ TRACE("(%s, %p, %d)\n", debugstr_w(filename), volumepathname, buflen);
|
||||
|
||||
- if (!filename || !volumepathname || !buflen)
|
||||
+ if (!filename || !volumepathname || buflen == 0)
|
||||
+ {
|
||||
+ SetLastError( ERROR_INVALID_PARAMETER );
|
||||
+ return FALSE;
|
||||
+ }
|
||||
if (!filename || !volumepathname || !buflen)
|
||||
{
|
||||
@@ -1815,24 +1830,104 @@ BOOL WINAPI GetVolumePathNameW(LPCWSTR filename, LPWSTR volumepathname, DWORD bu
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
- if (p && tolowerW(p[0]) >= 'a' && tolowerW(p[0]) <= 'z' && p[1] ==':' && p[2] == '\\')
|
||||
+ last_pos = pos = strlenW( filename );
|
||||
+ /* allocate enough memory for searching the path (need room for a slash and a NULL terminator) */
|
||||
+ if (!(volumenameW = HeapAlloc( GetProcessHeap(), 0, (pos + 2) * sizeof(WCHAR) )))
|
||||
{
|
||||
- SetLastError(ERROR_INVALID_PARAMETER);
|
||||
- if (buflen < 4)
|
||||
+ SetLastError( ERROR_NOT_ENOUGH_MEMORY );
|
||||
return FALSE;
|
||||
}
|
||||
+ return FALSE;
|
||||
+ }
|
||||
+ strcpyW( volumenameW, filename );
|
||||
+ stop_pos = 0;
|
||||
+ /* stop searching slashes early for NT-type and nearly NT-type paths */
|
||||
@@ -101,14 +102,15 @@ index d396764..75bc20f 100644
|
||||
+ status = wine_nt_to_unix_file_name( &nt_name, &unix_name, FILE_OPEN, FALSE );
|
||||
+ RtlFreeUnicodeString( &nt_name );
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
{
|
||||
- SetLastError(ERROR_FILENAME_EXCED_RANGE);
|
||||
- return FALSE;
|
||||
+ if (stat( unix_name.Buffer, &st ) != 0)
|
||||
+ {
|
||||
+ RtlFreeAnsiString( &unix_name );
|
||||
+ status = STATUS_OBJECT_NAME_INVALID;
|
||||
+ goto cleanup;
|
||||
+ }
|
||||
+ RtlFreeAnsiString( &unix_name );
|
||||
+ if (first_run)
|
||||
+ {
|
||||
+ first_run = FALSE;
|
||||
@@ -117,26 +119,24 @@ index d396764..75bc20f 100644
|
||||
+ else if (st.st_dev != search_dev)
|
||||
+ {
|
||||
+ /* folder is on a new filesystem, return the last folder */
|
||||
+ RtlFreeAnsiString( &unix_name );
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ RtlFreeAnsiString( &unix_name );
|
||||
+ last_pos = pos;
|
||||
+ c = strrchrW( volumenameW, '\\' );
|
||||
+ if (c != NULL)
|
||||
+ pos = c-volumenameW;
|
||||
+ } while (c != NULL && pos > stop_pos);
|
||||
|
||||
- if (p && tolowerW(p[0]) >= 'a' && tolowerW(p[0]) <= 'z' && p[1] ==':' && p[2] == '\\')
|
||||
+
|
||||
+ if (status != STATUS_SUCCESS)
|
||||
{
|
||||
- if (buflen < 4)
|
||||
+ {
|
||||
+ /* the path was completely invalid */
|
||||
+ if (filename[0] != '\\')
|
||||
{
|
||||
- SetLastError(ERROR_FILENAME_EXCED_RANGE);
|
||||
- return FALSE;
|
||||
+ {
|
||||
+ /* DOS-style paths revert to C:\ (anything not beginning with a slash) */
|
||||
+ last_pos = strlenW(fallbackpathW);
|
||||
+ last_pos = strlenW(fallbackpathW) - 1; /* points to \\ */
|
||||
+ filename = fallbackpathW;
|
||||
+ status = STATUS_SUCCESS;
|
||||
+ }
|
||||
@@ -155,32 +155,25 @@ index d396764..75bc20f 100644
|
||||
|
||||
- SetLastError(ERROR_INVALID_NAME);
|
||||
- return FALSE;
|
||||
+ /* include the terminating backslash unless returning the full path */
|
||||
+ if (filename[last_pos] != '\0')
|
||||
+ last_pos++;
|
||||
+ /* require room to NULL terminate the string */
|
||||
+ if ((filename[last_pos] == '\\' && last_pos * sizeof(WCHAR) <= buflen)
|
||||
+ || (last_pos+1) * sizeof(WCHAR) <= buflen)
|
||||
+ if (last_pos + 1 <= buflen)
|
||||
+ {
|
||||
+ memcpy(volumepathname, filename, last_pos*sizeof(WCHAR));
|
||||
+ /* remove the terminating backslash if the buffer is one byte short */
|
||||
+ if (filename[last_pos] == '\\' && (last_pos+1) * sizeof(WCHAR) > buflen)
|
||||
+ last_pos--;
|
||||
+ WCHAR *p;
|
||||
+ memcpy(volumepathname, filename, last_pos * sizeof(WCHAR));
|
||||
+ if (last_pos + 2 <= buflen) volumepathname[last_pos++] = '\\';
|
||||
+ volumepathname[last_pos] = '\0';
|
||||
+ }
|
||||
+ else
|
||||
+ status = STATUS_NAME_TOO_LONG;
|
||||
+
|
||||
+ if (status == STATUS_SUCCESS)
|
||||
+ {
|
||||
+ /* Normalize path */
|
||||
+ for (p = volumepathname; *p; p++) if (*p == '/') *p = '\\';
|
||||
+
|
||||
+ /* DOS-style paths always return upper-case drive letters */
|
||||
+ if (volumepathname[1] == ':')
|
||||
+ {
|
||||
+ /* DOS-style paths always return upper-case drive letters */
|
||||
+ volumepathname[0] = toupper(volumepathname[0]);
|
||||
+ }
|
||||
+
|
||||
+ TRACE("Successfully translated path %s to mount-point %s\n",
|
||||
+ debugstr_w(filename), debugstr_w(volumepathname));
|
||||
+ }
|
||||
+ else
|
||||
+ status = STATUS_NAME_TOO_LONG;
|
||||
+
|
||||
+cleanup:
|
||||
+ HeapFree( GetProcessHeap(), 0, volumenameW );
|
||||
@@ -195,5 +188,5 @@ index d396764..75bc20f 100644
|
||||
* GetVolumePathNamesForVolumeNameA (KERNEL32.@)
|
||||
*/
|
||||
--
|
||||
1.7.9.5
|
||||
2.1.0
|
||||
|
||||
|
@@ -1,10 +1,10 @@
|
||||
From 7739a32bd18ed7912e610941f6cfb273748b82cd Mon Sep 17 00:00:00 2001
|
||||
From f01a3110045b59483ec4172ad782198f44ed7639 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Sat, 25 Jan 2014 09:53:39 -0700
|
||||
Subject: kernel32: Convert GetVolumePathName tests into a list.
|
||||
|
||||
---
|
||||
dlls/kernel32/tests/volume.c | 137 +++++++++++++++++++++++-------------------
|
||||
dlls/kernel32/tests/volume.c | 137 +++++++++++++++++++++++--------------------
|
||||
1 file changed, 74 insertions(+), 63 deletions(-)
|
||||
|
||||
diff --git a/dlls/kernel32/tests/volume.c b/dlls/kernel32/tests/volume.c
|
||||
@@ -166,5 +166,5 @@ index 4b3bdf5..f15269c 100644
|
||||
|
||||
static void test_GetVolumePathNamesForVolumeNameA(void)
|
||||
--
|
||||
1.7.9.5
|
||||
2.1.0
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user