Greetings, On Mon, Nov 21, 2011 at 08:36:54PM +0000, Clint Adams wrote: > On Mon, Nov 21, 2011 at 03:29:50PM -0500, Michael Terry wrote: > > I was looking at why haskell-dpkg is FTBFS in Ubuntu and noticed that the > > package is designed for earlier versions of libdpkg. It assumes that > > 'struct pkginfo' has 'name' and 'next' members. > > It has them in dpkg 1.16.1.1 which is in both testing and unstable. > > > As far as I can see, nowadays, it has an 'arch_next' member which I assume > > is the analog to 'next'. Not sure what the analog to 'name' is. > > > > It should be updated to build against the version of libdpkg in testing. > > I think perhaps you are witnessing something Ubuntu did for > multiarch. Yeah, Ubuntu merged buxy's multiarch branch. It is now in HEAD as far as I can see.
Here's a patch against your upstream branch which binds the changed API. haskell-dpkg builds with this but doesn't work (as I said on IRC). ,---- | laney@raleigh> ghci -package dpkg | GHCi, version 7.0.4: http://www.haskell.org/ghc/ :? for help | Loading package ghc-prim ... linking ... done. | Loading package integer-gmp ... linking ... done. | Loading package base ... linking ... done. | Loading package bindings-DSL-1.0.14 ... linking ... done. | Loading package bytestring-0.9.1.10 ... linking ... done. | Loading package monad-loops-0.3.1.1 ... linking ... done. | Loading package dpkg-0.0.1 ... <command line>: can't load .so/.DLL | for: dpkg (libdpkg.so: cannot open shared object file: No such file or | directory) `---- The version in sid has this too. Any ideas? Anyway, I'd appreciate it if you could take a look at the patch. Cheers, -- Iain Lane [ i...@orangesquash.org.uk ] Debian Developer [ la...@debian.org ] Ubuntu Developer [ la...@ubuntu.com ] PhD student [ i...@cs.nott.ac.uk ]
From 5d6d4c54209870f44091d12d4b557fe9ab8a8636 Mon Sep 17 00:00:00 2001 From: Iain Lane <i...@orangesquash.org.uk> Date: Tue, 22 Nov 2011 20:54:24 +0000 Subject: [PATCH] Update to new (multiarch) libdpkg API in 1.16.2 --- Debian/Dpkg/Types.hsc | 10 ++++++++-- dpkg.cabal | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/Debian/Dpkg/Types.hsc b/Debian/Dpkg/Types.hsc index 0ae81b4..1a63cf6 100644 --- a/Debian/Dpkg/Types.hsc +++ b/Debian/Dpkg/Types.hsc @@ -56,8 +56,8 @@ import Data.ByteString as BS #opaque_t struct pkgiterator #starttype struct pkginfo -#field next , Ptr <pkginfo> -#field name , CString +#field set , Ptr <pkgset> +#field arch_next , Ptr <pkginfo> #field want , <pkgwant> #field eflag , <pkgeflag> #field status , <pkgstatus> @@ -71,6 +71,12 @@ import Data.ByteString as BS #field clientdata , Ptr <perpackagestate> #stoptype +#starttype struct pkgset +#field next , Ptr <pkgset> +#field name , CString +#field pkg , <pkginfo> +#stoptype + #integral_t enum dpkg_msg_type #starttype struct dpkg_error diff --git a/dpkg.cabal b/dpkg.cabal index 8e1683e..2266fb5 100644 --- a/dpkg.cabal +++ b/dpkg.cabal @@ -24,7 +24,7 @@ Library , Debian.Dpkg.Enums , Debian.Dpkg.VersionRevision other-extensions: ForeignFunctionInterface - pkgconfig-depends: libdpkg >= 1.16.1 + pkgconfig-depends: libdpkg >= 1.16.2 cpp-options: -DLIBDPKG_VOLATILE_API=1 default-language: Haskell98 @@ -32,7 +32,7 @@ Test-Suite test type: exitcode-stdio-1.0 main-is: test.hs build-depends: base, HUnit, dpkg, bytestring - pkgconfig-depends: libdpkg >= 1.16.1 + pkgconfig-depends: libdpkg >= 1.16.2 extra-libraries: dpkg default-language: Haskell98 -- 1.7.7.3
signature.asc
Description: Digital signature