[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: