Re: wine on kfreebsd-amd64
On Thu, Aug 05, 2010 at 04:34:15PM -0400, Tuco wrote:
> 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.
Unfortunately, given all the story behind ia32-libs, I am not sure this
package will be allowed in the archive for GNU/kFreeBSD. The plan is to
go for multiarch, but don't know when it will happen.
> 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"
>
> ######################################################################
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
Reply to: