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

wine on kfreebsd-amd64



Hi
I want to fix wine to build on kfreebsd-amd64, but lib32ncurses5-dev
and ia32-libs are missing.

First I fixed wine for kFreeBSD
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591837). I also sent
a patch for lib32ncurses5-dev
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=591816).

And I made ia32-libs to work for kfreebsd-amd64 with some adjustments,
but then it isn't useful for Linux anymore. Can this be included in
Debian GNU/kFreeBSD anyway? See the attached patch.
diff -ur ia32-libs-20090808/debian/control ia32-libs-20090808.kfreebsd/debian/control
--- ia32-libs-20090808/debian/control	2009-08-08 12:35:15.000000000 -0400
+++ ia32-libs-20090808.kfreebsd/debian/control	2010-08-05 10:57:04.132000649 -0400
@@ -7,34 +7,13 @@
 Standards-Version: 3.6.2.0
 
 Package: ia32-libs
-Architecture: amd64 ia64
-Pre-Depends: dpkg (>= 1.13.21), libc6-i386 (>= 2.9-18) [amd64]
+Architecture: kfreebsd-amd64
+Pre-Depends: dpkg (>= 1.13.21), libc0.1-i386 (>= 2.9-18)
 Depends: lsb-release, lib32gcc1, ${lib:Depends}
 Replaces: ia32-libs-openoffice.org, ia32-libs-dev (<< 1.6), nvidia-glx-ia32 (<< 1.0.8774-7), ia32-freeglut3, ia32-lesstif2, ia32-libacl1, ia32-libaio1, ia32-libartsc0, ia32-libasyncns0, ia32-libattr1, ia32-libaudio2, ia32-libaudiofile0, ia32-libcairo2, ia32-libcap2, ia32-libcapi20-3, ia32-libcomerr2, ia32-libcups2, ia32-libdbus-1-3, ia32-libdirectfb-1.2-0, ia32-libdrm2, ia32-libesd0, ia32-libexif12, ia32-libexpat1, ia32-libfltk1.1, ia32-libfontconfig1, ia32-libfreetype6, ia32-libgcrypt11, ia32-libgl1-mesa-dri, ia32-libgl1-mesa-glx, ia32-libglu1-mesa, ia32-libgnutls26, ia32-libgpg-error0, ia32-libgphoto2-2, ia32-libgphoto2-port0, ia32-libgssapi-krb5-2, ia32-libhal1, ia32-libice6, ia32-libieee1284-3, ia32-libjack0, ia32-libjpeg62, ia32-libk5crypto3, ia32-libkeyutils1, ia32-libkrb5-3, ia32-libkrb5support0, ia32-liblcms1, ia32-libldap-2.4-2, ia32-libltdl7, ia32-liblzo2-2, ia32-libnss-ldap, ia32-libpam0g, ia32-libpam-ldap, ia32-libpng12-0, ia32-libpopt0, ia32-libpulse0, ia32-libsane, ia32-libsasl2-2, ia32-libsdl1.2debian-alsa, ia32-libselinux1, ia32-libsigc++-2.0-0c2a, ia32-libsm6, ia32-libssl0.9.8, ia32-libstdc++5, ia32-libsvga1, ia32-libtasn1-3, ia32-libtiff4, ia32-libusb-0.1-4, ia32-libuuid1, ia32-libwmf0.2-7, ia32-libx11-6, ia32-libx86-1, ia32-libxau6, ia32-libxaw7, ia32-libxcb1, ia32-libxcb-render0, ia32-libxcb-render-util0, ia32-libxcomposite1, ia32-libxcursor1, ia32-libxdamage1, ia32-libxdmcp6, ia32-libxext6, ia32-libxfixes3, ia32-libxft2, ia32-libxi6, ia32-libxinerama1, ia32-libxml2, ia32-libxmu6, ia32-libxmuu1, ia32-libxp6, ia32-libxpm4, ia32-libxrandr2, ia32-libxrender1, ia32-libxslt1.1, ia32-libxss1, ia32-libxt6, ia32-libxtrap6, ia32-libxtst6, ia32-libxv1, ia32-libxxf86vm1, ia32-odbcinst1debian1, ia32-unixodbc, ia32-xaw3dg, lib32bz2-1.0
 Conflicts: ia32-libs-dev (<< 1.6), nvidia-glx-ia32 (<< 1.0.8774-7), ia32-freeglut3, ia32-lesstif2, ia32-libacl1, ia32-libaio1, ia32-libartsc0, ia32-libasyncns0, ia32-libattr1, ia32-libaudio2, ia32-libaudiofile0, ia32-libcairo2, ia32-libcap2, ia32-libcapi20-3, ia32-libcomerr2, ia32-libcups2, ia32-libdbus-1-3, ia32-libdirectfb-1.2-0, ia32-libdrm2, ia32-libesd0, ia32-libexif12, ia32-libexpat1, ia32-libfltk1.1, ia32-libfontconfig1, ia32-libfreetype6, ia32-libgcrypt11, ia32-libgl1-mesa-dri, ia32-libgl1-mesa-glx, ia32-libglu1-mesa, ia32-libgnutls26, ia32-libgpg-error0, ia32-libgphoto2-2, ia32-libgphoto2-port0, ia32-libgssapi-krb5-2, ia32-libhal1, ia32-libice6, ia32-libieee1284-3, ia32-libjack0, ia32-libjpeg62, ia32-libk5crypto3, ia32-libkeyutils1, ia32-libkrb5-3, ia32-libkrb5support0, ia32-liblcms1, ia32-libldap-2.4-2, ia32-libltdl7, ia32-liblzo2-2, ia32-libnss-ldap, ia32-libpam0g, ia32-libpam-ldap, ia32-libpng12-0, ia32-libpopt0, ia32-libpulse0, ia32-libsane, ia32-libsasl2-2, ia32-libsdl1.2debian-alsa, ia32-libselinux1, ia32-libsigc++-2.0-0c2a, ia32-libsm6, ia32-libssl0.9.8, ia32-libstdc++5, ia32-libsvga1, ia32-libtasn1-3, ia32-libtiff4, ia32-libusb-0.1-4, ia32-libuuid1, ia32-libwmf0.2-7, ia32-libx11-6, ia32-libx86-1, ia32-libxau6, ia32-libxaw7, ia32-libxcb1, ia32-libxcb-render0, ia32-libxcb-render-util0, ia32-libxcomposite1, ia32-libxcursor1, ia32-libxdamage1, ia32-libxdmcp6, ia32-libxext6, ia32-libxfixes3, ia32-libxft2, ia32-libxi6, ia32-libxinerama1, ia32-libxml2, ia32-libxmu6, ia32-libxmuu1, ia32-libxp6, ia32-libxpm4, ia32-libxrandr2, ia32-libxrender1, ia32-libxslt1.1, ia32-libxss1, ia32-libxt6, ia32-libxtrap6, ia32-libxtst6, ia32-libxv1, ia32-libxxf86vm1, ia32-odbcinst1debian1, ia32-unixodbc, ia32-xaw3dg, lib32bz2-1.0
 Suggests: ia32-libs-gtk
-Description: ia32 shared libraries for use on amd64 and ia64 systems
+Description: ia32 shared libraries for use on amd64 systems
  This package contains runtime libraries for the ia32/i386
- architecture, configured for use on an amd64 or ia64 Debian system running
+ architecture, configured for use on an amd64 Debian system running
  a 64-bit kernel.
-
-Package: ia32-libs-dev
-Architecture: ia64
-Section: libdevel
-Depends: ia32-libs (= ${Source-Version})
-Replaces: libc6-dev-i386
-Conflicts: libc6-dev-i386
-Description: ia32 development libraries and headers for use on ia32/ia64 systems
- This package contains headers and development libraries for building
- 32-bit ia32 applications on amd64/ia64 Debian systems.
-
-Package: lib32gcc1
-Architecture: ia64
-Depends: ia32-libs (= ${Source-Version})
-Description: GCC support library (ia32)
- Shared version of the support library, a library of internal subroutines
- that GCC uses to overcome shortcomings of particular machines, or
- special needs for some languages.
- .
- This version is built from the ia32-libs package for the ia64 architecture
- only.  Other architectures get lib32gcc1 directly from the gcc package.
diff -ur ia32-libs-20090808/debian/rules ia32-libs-20090808.kfreebsd/debian/rules
--- ia32-libs-20090808/debian/rules	2009-08-08 13:33:08.000000000 -0400
+++ ia32-libs-20090808.kfreebsd/debian/rules	2010-08-05 16:04:34.979220224 -0400
@@ -15,20 +15,9 @@
 # Set Arch specific variables
 # On amd64 some package compile 32bit debs directly.
 # Skip converting them and Depend on them instead.
-ifeq (amd64,$(DEB_HOST_ARCH))
-  lib_depends = libc6-i386 (>= 2.3.6-2), lib32z1, lib32stdc++6, lib32asound2, lib32ncurses5
-  FILTER = zlib1g libc6 libgcc1 libasound2 libstdc++6 libncurses5
-  EXTRA_INSTALL =
-else
-  lib_depends = 
-  FILTER = libgcc1
-  EXTRA_INSTALL = install-ia32-libs-dev install-lib32gcc1
-  LIBGCC_VERSION := $(shell dpkg -I pkgs/libgcc1_*deb | awk '/Version/ {print $$2; exit}')
-  LIBGCC_VER1 := $(shell echo $(LIBGCC_VERSION) | sed 's/+b[0-9]*//')
-  LIBGCC_VER2 := +ia32.libs.$(shell dpkg-parsechangelog  | grep ^Version | awk '{print $$2}')
-  LIBGCC_VER3 := $(shell echo $(LIBGCC_VERSION) | sed -n 's/.*\(+b[0-9]*\)/\1/p')
-  LIB32GCC_VERSION := $(LIBGCC_VER1)$(LIBGCC_VER2)$(LIBGCC_VER3)
-endif
+lib_depends = libc0.1-i386 (>= 2.3.6-2), lib32z1, lib32stdc++6, lib32ncurses5
+FILTER = zlib1g libc0.1 libgcc1 libstdc++6 libncurses5
+EXTRA_INSTALL =
 
 build:
 #	./fetch-and-build
@@ -117,34 +106,6 @@
 	# Move libraries to new places
 	$(MAKE) DEST=$(DEST) move-libs
 
-ifeq (ia64,$(DEB_HOST_ARCH))
-	# Make ldd work for 32-bit and 64-bit binaries.
-	[ -x $(DEST)/t/usr/bin/ldd ]
-	RTLDLIST="/lib/ld-linux-ia64.so.2 /lib/ld-linux.so.2" ; \
-	sed -i "s%RTLDLIST=.*%RTLDLIST=\"$$RTLDLIST\"%" $(DEST)/t/usr/bin/ldd
-	sed -i 's%verify_out=`$${rtld} --verify "$$file"`%verify_out=`$${rtld} --verify "$$file" 2>\&1`%' $(DEST)/t/usr/bin/ldd
-
-	# Move ldd into place
-	mkdir -p $(DEST)/usr/bin
-	mv $(DEST)/t/usr/bin/ldd $(DEST)/usr/bin
-	# removed in glibc 2.5
-	#mv $(DEST)/t/usr/bin/lddlibc4 $(DEST)/usr/bin
-	chmod u=rwx,go=rx $(DEST)/usr/bin/ldd
-
-	# Link the ld.so into place
-	mkdir -p $(DEST)/lib/
-	ln -s $(ROOT)lib$(SUFFIX)/ld-2.3.2.so $(DEST)/lib/ld-linux.so.2 
-
-ifneq (/,$(ROOT))
-	# Move uname into place
-	mkdir -p $(DEST)$(ROOT)bin
-	mv $(DEST)/t/bin/uname $(DEST)$(ROOT)bin
-
-	# Create /usr/lib32 link for gcc
-	ln -s $(ROOT)usr/lib$(SUFFIX) $(DEST)/usr/lib32
-endif
-endif
-
 	# Add locale symlink
 	ln -s /usr/lib/locale $(DEST)$(ROOT)usr/lib$(SUFFIX)/locale
 
@@ -311,10 +272,6 @@
 	dh_installdeb -s
 #	dh_shlibdeps
 	dh_gencontrol -pia32-libs -- '-Vlib:Depends=$(lib_depends)'
-ifeq (ia64,$(DEB_HOST_ARCH))
-	dh_gencontrol -pia32-libs-dev
-	dh_gencontrol -plib32gcc1 -- -v$(LIB32GCC_VERSION)
-endif
 	dh_md5sums -s
 	dh_builddeb -s
 
diff -ur ia32-libs-20090808/fetch-and-build ia32-libs-20090808.kfreebsd/fetch-and-build
--- ia32-libs-20090808/fetch-and-build	2009-08-08 08:05:49.000000000 -0400
+++ ia32-libs-20090808.kfreebsd/fetch-and-build	2010-08-05 10:54:58.121979680 -0400
@@ -13,23 +13,18 @@
 gcc-4.3-base
 lesstif2
 libacl1
-libaio1
 libasyncns0
 libattr1
 libartsc0
-libasound2
 libaudio2
 libaudiofile0
 libbz2-1.0
-libc6
-libc6-dev
+libc0.1
+libc0.1-dev
 libcairo2
-libcap2
-libcapi20-3
 libcomerr2
 libcups2
 libdbus-1-3
-libdirectfb-1.2-0
 libdrm2
 libesd0
 libexif12
@@ -52,7 +47,6 @@
 libieee1284-3
 libjack0
 libjpeg62
-libkeyutils1
 libkrb5support0
 libkrb5-3
 libk5crypto3
@@ -70,14 +64,11 @@
 libpulse0
 libsane
 libsasl2-2
-libselinux1
-libsdl1.2debian-alsa
+libsdl1.2debian-oss
 libsigc++-2.0-0c2a
 libsm6
 libssl0.9.8
-libstdc++5
 libstdc++6
-libsvga1
 libtasn1-3
 libtiff4
 libusb-0.1-4
@@ -106,14 +97,12 @@
 libxrandr2
 libxrender1
 libxt6
-libxtrap6
 libxtst6
 libxv1
 libxcursor1
 libxslt1.1
 libxss1
 libxxf86vm1
-odbcinst1debian1
 unixodbc
 xaw3dg
 xbitmaps
@@ -156,7 +145,7 @@
 	-o Debug::NoLocking=true \
 	-o Dir::Cache=$APTDIR/cache \
 	-o Acquire::Retries=3 \
-	-o Apt::Architecture=i386"
+	-o Apt::Architecture=kfreebsd-i386"
 
 # Prepare APTDIR
 mkdir -p $APTDIR/state/lists/partial
@@ -180,7 +169,7 @@
 	-o Debug::NoLocking=true \
 	-o Dir::Cache=$APTDIR/cache \
 	-o Acquire::Retries=3 \
-	-o Apt::Architecture=i386 \
+	-o Apt::Architecture=kfreebsd-i386 \
 	-o Dir::State::Status=$APTDIR/state/status"
 
 ######################################################################

Reply to: