wine 0.9.25-2
Ove just uploaded wine 0.9.25-2 to t-p-u. A debdiff is attached (with the
amd64.tar.lzma.uu part stripped out, of course).
On Fri, Jan 26, 2007 at 09:06:29PM +0100, Robert Millan wrote:
>
> Hi!
>
> I would like to request permission for amd64 support to be backported from
> wine 0.9.29-1 to the version currently in testing, 0.9.25-1.
>
> While discussing this with Steve on IRC, after getting his disapproval, we
> agreed to continue the discussion via mail since I wanted to explain an
> ellaborate argument and prefer it archived as to avoid repeating it.
>
> My understanding is that for each proposal you weight the necessity of the
> proposed change against the chances it has to produce breakage, and the
> magnitude of such. I'll try to explain why I think all three factors should
> be considered in favour of wine on amd64.
>
> I suspect that the time you spend reading this is another factor, so I'll
> try to be brief :-)
>
> Necessity of wine on amd64
> ~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> The thing about amd64 support in wine, that makes it IMHO so much important,
> is that there's a timeline for this feature. It's been predicted [1] that
> the 64-bit migration will be finished in the desktop by late 2008. This
> means etch is the release that will have to go through it.
>
> Because of Microsoft serious problems producing a 64-bit port of their OS,
> we have a great opportunity for expansion in the desktop area, which is
> basicaly composed of users with strong dependance on win32 support (games).
>
> If our amd64 distribution ships without wine, they'll either go for other
> distributions (with a shorter release cycle, they'll all end up providing
> it, or at least Ubuntu will), or be trapped with Microsoft untill the Evil
> Empire[tm] has figured out how to get 64-bit drivers and 3rd party apps.
>
> Of course, this isn't very relevant to our existing userbase; those who
> want it can get wine from backports.org whatsoever. But I think it seriously
> undermines our ability to expand in this area.
>
> [1] based on extrapolation from Moore's law against 4 GiB barrier, see:
> http://catb.org/~esr/writings/world-domination/world-domination-201.html
>
> Chances to produce breakage
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> Minimal. I admit my patch is really dirty (during i386 build, puts everything
> in debian/amd64.tar.lzma.uu; during amd64 build, just untars instead of
> building), but it also has very small chance of breaking something. Since
> my patch doesn't touch a single line of code, binaries are exactly the same,
> compiled in the same environment.
>
> Magnitude of hypothetical breakage (in case there was such)
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> AFAICS only xwine depends on it. If it breaks, its only one package.
>
> --
> Robert Millan
>
> My spam trap is honeypot@aybabtu.com. Note: this address is only intended
> for spam harvesters. Writing to it will get you added to my black list.
--
Robert Millan
My spam trap is honeypot@aybabtu.com. Note: this address is only intended
for spam harvesters. Writing to it will get you added to my black list.
diff -u wine-0.9.25/debian/changelog wine-0.9.25/debian/changelog
--- wine-0.9.25/debian/changelog
+++ wine-0.9.25/debian/changelog
@@ -1,3 +1,13 @@
+wine (0.9.25-2) testing-proposed-updates; urgency=low
+
+ * Added amd64 build hack by Robert Millan (from #381341,
+ #408433, #408539), which encode the i386 binaries into
+ the diff and then just decode them for the amd64 build,
+ to work around difficulties with building a 32-bit package
+ on amd64.
+
+ -- Ove Kaaven <ovek@arcticnet.no> Mon, 5 Feb 2007 05:07:44 -0500
+
wine (0.9.25-1) unstable; urgency=low
* New upstream release 0.9.25.
diff -u wine-0.9.25/debian/control wine-0.9.25/debian/control
--- wine-0.9.25/debian/control
+++ wine-0.9.25/debian/control
@@ -20,11 +20,12 @@
libicu36-dev | libicu34-dev (>= 3.4-4) | libicu28-dev | libicu21-dev,
libfontconfig1-dev, libssl-dev, libcapi20-dev (>= 1:3.3.0.20041024-2) [!kfreebsd-i386 !kfreebsd-amd64 !hurd-i386],
libhal-dev, libdbus-1-dev | dbus-1-dev, libgphoto2-2-dev, liblcms1-dev, libldap2-dev,
- libxml2-dev, libxslt1-dev, fontforge, prelink
+ libxml2-dev, libxslt1-dev, fontforge, prelink,
+ lzma, sharutils
Standards-Version: 3.6.0
Package: wine
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: ${debconf-depends}, libwine (= ${Source-Version}), xbase-clients (>= 4.0) | xcontrib
Recommends: wine-utils, msttcorefonts
Suggests: wine-doc, binfmt-support
@@ -40,7 +41,7 @@
Wine is often updated.
Package: libwine-dev
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Section: libdevel
Depends: libwine (= ${Source-Version}), libc6-dev
Replaces: libwine (<< 0.0.20010216)
@@ -56,8 +57,8 @@
Package: libwine
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
-Depends: ${debconf-depends}, ${shlibs:Depends}${freetype}
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Depends: ${debconf-depends}, ${shlibs:Depends}${freetype}, ia32-libs (>= 1.19) [amd64]
Replaces: libwine0.0.971116, wine (<< 0.9.11-1), libwine-twain (<< 0.9.13)
Conflicts: libwine0.0.971116
Recommends: libwine-print, libwine-gl${icu}
@@ -72,7 +73,7 @@
Package: libwine-alsa
Section: libs
-Architecture: i386 powerpc sparc
+Architecture: i386 amd64 powerpc sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (ALSA Sound Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -84,8 +85,8 @@
Package: libwine-arts
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
-Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Depends: libwine (= ${Source-Version}), ${shlibs:Depends}, ia32-libs-gtk [amd64]
Replaces: libwine (<< 0.0.20020710)
Description: Windows API Implementation (aRts Sound Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -97,7 +98,7 @@
Package: libwine-capi
Section: libs
-Architecture: i386 powerpc sparc
+Architecture: i386 amd64
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (ISDN Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -110,7 +111,7 @@
Package: libwine-cms
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Replaces: libwine (<< 0.0.20050830)
Description: Windows API Implementation (Color Management Module)
@@ -124,7 +125,7 @@
Package: libwine-esd
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (EsounD Sound Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -136,7 +137,7 @@
Package: libwine-gl
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (OpenGL Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -149,7 +150,7 @@
Package: libwine-gphoto2
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (Camera Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -162,7 +163,7 @@
Package: libwine-jack
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}${jack}
Description: Windows API Implementation (JACK Sound Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -174,7 +175,7 @@
Package: libwine-ldap
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (LDAP Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -187,7 +188,7 @@
Package: libwine-nas
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Replaces: libwine (<< 0.0.20020710)
Description: Windows API Implementation (NAS Sound Module)
@@ -200,7 +201,7 @@
Package: libwine-print
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}${freetype}${cupsys}
Replaces: libwine (<< 0.0.20020710)
Description: Windows API Implementation (Printing Module)
@@ -214,7 +215,7 @@
Package: libwine-sane
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), ${shlibs:Depends}
Description: Windows API Implementation (Scanner Module)
This is a BETA release of Wine, the free MS-Windows API implementation.
@@ -227,7 +228,7 @@
Package: libwine-twain
Section: libs
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine-sane
Suggests: libwine-gphoto2
Description: Windows API Implementation (empty transitional package)
@@ -235,7 +236,7 @@
and libwine-gphoto2 packages. It can safely be removed.
Package: wine-utils
-Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
+Architecture: i386 hurd-i386 kfreebsd-i386 netbsd-i386 amd64 powerpc hurd-powerpc kfreebsd-powerpc netbsd-powerpc sparc hurd-sparc kfreebsd-sparc netbsd-sparc
Depends: libwine (= ${Source-Version}), wine
Replaces: libwine-dev (<< 0.0.20010216)
Description: Windows API Implementation (Utilities)
diff -u wine-0.9.25/debian/rules wine-0.9.25/debian/rules
--- wine-0.9.25/debian/rules
+++ wine-0.9.25/debian/rules
@@ -22,11 +22,13 @@
MINDEBCONFVER := 1.2.0
endif
-DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
+DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM)
+DEB_HOST_GNU_CPU ?= $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
configure: configure-stamp
configure-stamp:
dh_testdir
+ifneq ($(DEB_HOST_GNU_CPU), x86_64)
CFLAGS="$(CFLAGS)" \
ICUUC_LIB="` \
(dpkg -s libicu36-dev >/dev/null && \
@@ -54,6 +56,7 @@
--libdir=\$${prefix}/lib \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info
+endif
touch configure-stamp
@@ -67,11 +70,13 @@
build-arch-stamp:
dh_testdir
+ifneq ($(DEB_HOST_GNU_CPU), x86_64)
$(MAKE) depend
# build wine & tools
$(MAKE)
# build winelib programs
$(MAKE) -C programs
+endif
touch build-arch-stamp
@@ -111,6 +116,7 @@
# create installation directories
dh_installdirs -s
+ifneq ($(DEB_HOST_GNU_CPU), x86_64)
# install wine, libwine, and tools
$(MAKE) install prefix=`pwd`/debian/tmp/usr libdir=`pwd`/debian/tmp/usr/lib
# move the real binaries into /usr/lib/wine,
@@ -126,6 +132,7 @@
mv debian/tmp/usr/share/man/man3w debian/tmp/usr/share/man/man3
# install winelib programs
$(MAKE) -C programs install prefix=`pwd`/debian/tmp/usr
+endif
install: install-arch
@@ -151,6 +158,7 @@
dh_testdir
dh_testroot
+ifneq ($(DEB_HOST_GNU_CPU), x86_64)
# distribute the files in debian/tmp into debian/<packagename>
# according to the <packagename>.files files
dh_movefiles -s
@@ -224,6 +232,7 @@
# install wineinstall tool
install tools/wineinstall debian/wine/usr/share/wine
+endif
ifeq ($(PO2DEBCONF),yes)
po2debconf -e utf8 debian/wine.templates.master > debian/wine.templates
@@ -280,6 +289,14 @@
echo "icu=, icu" >> debian/libwine.substvars) || \
true
+ifeq ($(DEB_HOST_GNU_CPU)-$(DEB_HOST_GNU_SYSTEM), x86_64-linux-gnu)
+ # Using compressed 32-bit build. Make sure it's the latest one!!
+ uudecode < debian/amd64.tar.lzma.uu | lzma -d | tar -xpf -
+endif
+ifeq ($(DEB_HOST_GNU_CPU)-$(DEB_HOST_GNU_SYSTEM), i486-linux-gnu)
+ # Generating compressed 32-bit build. Make sure to keep your *_i386.deb in sync with this file in your *.diff.gz!!
+ tar -cpf - `grep "^Package: " debian/control | sed -e "s,^Package: ,debian/,g"` | lzma -c9 | uuencode - > debian/amd64.tar.lzma.uu
+endif
dh_gencontrol -s -- -V'debconf-depends=debconf (>= $(MINDEBCONFVER)) | debconf-2.0'
dh_md5sums -s
dh_builddeb -s
only in patch2:
unchanged:
Reply to: