On Fri, Nov 30, 2012 at 03:25:37PM -0700, Stan Sander wrote:
> It was happy to do setools by itself before the world updates, but I
> didn't actually run it. I instead masked the setools and ran world. I
> then saw your message and unmasked setools and ran it by itself and it
> happily downgraded swig and installed.
It's still a sad situation. The libsemanage package requires swig-2 whereas
setools requires swig-1. However, they are both needed (libsemanage is
needed by policycoreutils, which needs setools) and swig is not slotted so
portage will need to upgrade/downgrade accordingly :-(
Swig 2.0 isn't compatible with setools, because setools uses the (wrong)
constructor/destructor declarations:
typedef struct A {
A()
B()
} B
In the above example, A() is the correct constructor as per whatever
standard it was (can't remember) whereas setools used the B() logic. In
swig-1, this was still accepted, but somewhere in swig-2 it wasn't.
I tried fixing it myself, but it collides with the functions and methods
that are used by tools like apol, and I haven't been able to solve that. And
since I'm limited in time, I reverted the changes and just went along with
the swig-1 dependency.
Wkr,
Sven Vermeulen