"Yes. The internals of a DIR structure differ on almost
every platform.
RPM is emulating a DIR structure internally as well as
passing through a pointer opaquely to whatever structure
the operating system is using when necessary.
So this code "breaks" for every new platform (RPM on Cygwin hasn't
been attempted for years afaik).
If you can send along a copy of <dir.h> and tell me what
#define you are using to identify CYGWIN during build time,
I can ;likely send you a patch.
What mostly needs doing is examining areas of the code like this:
Note that rpmio/fts.[ch] has similar (but not quite as bad)
portability breakage.
Could you also add a bug at http://launchpad.net/rpm
please? I will then create a blueprint and attach the bug and
then plan out milestones->implementations->releases for
getting RPM to compile and "work" on cygwin.
Thanks!"
and Michael posted the dir cygwin definition definition here
The original Bug report is here :
http:// rpm5.org/ community/ rpm-users/ 0863.html
The original replay from the Maintainer (http:// rpm5.org/ community/ rpm-users/ 0864.html)
"Yes. The internals of a DIR structure differ on almost
every platform.
RPM is emulating a DIR structure internally as well as
passing through a pointer opaquely to whatever structure
the operating system is using when necessary.
So this code "breaks" for every new platform (RPM on Cygwin hasn't
been attempted for years afaik).
If you can send along a copy of <dir.h> and tell me what
#define you are using to identify CYGWIN during build time,
I can ;likely send you a patch.
What mostly needs doing is examining areas of the code like this:
#if !defined( __DragonFly_ _) && !defined( __CYGWIN_ _)
dp->d_reclen = 0; /* W2DO? */
#endif
#if !(defined(hpux) || defined(__hpux) || defined(sun) || defined(RPM_OS_AIX) || defined(__CYGWIN__) || defined( __QNXNTO_ _)) __FreeBSD_ kernel_ _) && !defined( __FreeBSD_ _) && !defined( __NetBSD_ _) && !defined( __DragonFly_ _) && !defined( __OpenBSD_ _)
#if !defined(__APPLE__) && !defined(
dp->d_off = (off_t)i;
#endif
dp->d_type = dt[i];
#endif
/*@=type@*/
and adding CYGWIN to the pile.
Note that rpmio/fts.[ch] has similar (but not quite as bad)
portability breakage.
Could you also add a bug at launchpad. net/rpm >implementation s->releases for
http://
please? I will then create a blueprint and attach the bug and
then plan out milestones-
getting RPM to compile and "work" on cygwin.
Thanks!"
and Michael posted the dir cygwin definition definition here
http:// rpm5.org/ community/ rpm-users/ 0865.html