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

Attachment: signature.asc
Description: Digital signature

Reply via email to