Discussion:
Cygwin changes needed for MSYS
Christopher Faylor
2013-07-30 19:12:00 UTC
Permalink
I'm starting a new thread. I'd like to keep the discussion confined to
what hooks we need to add to the DLL and other programming considerations.

I don't want to discuss what binaries get built for MSYS, where they
will go, or what the directory layout will look like. I just want to
try to add enough functionality to the Cygwin DLL so that a secondary
MSYS dll can provide the functionality that MSYS users expect.

I set up a "callout" branch in the Cygwin CVS repository which will
contain the changes that I'm proposing for this project. As I mentioned,
the intent is that an MSYS user will set the CYGWIN environment variable
keyword:

CYGWIN=preload:MSYS.DLL

Then the MSYS.dll will, as part of its dll entry function, call

cygwin_internal (CW_CALLOUT, msys_callin);

The cygwin_hook_function *could* look like:

#include <cygwin/callout.h>
extern "C" cw_callout_return_t
msys_callin (cw_callout_t code, ...)
{
va_arg arg;
cw_callout_t ret;
switch (code)
{
case CO_UNAME:
msys_uname_munge (va_arg (arg, struct utsname *));
ret = CO_R_KEEP_GOING;
break;
...
}
return ret;
}

I expect to check stuff into the branch later today (EST5EDT) when I'm
off the clock for my real job. I'll send out a notice when the branch
is actually populated with stuff. So far, I've only changed a few files
and I don't expect that many more will need to be modified.

cgf
Christopher Faylor
2013-07-31 15:13:39 UTC
Permalink
Post by Christopher Faylor
I expect to check stuff into the branch later today (EST5EDT) when I'm
off the clock for my real job. I'll send out a notice when the branch
is actually populated with stuff. So far, I've only changed a few files
and I don't expect that many more will need to be modified.
I've checked in the following files to the checkout branch:

ChangeLog
environ.cc
external.cc
globals.cc
uname.cc
winsup.h
include/cygwin/callout.h
include/cygwin/version.h
include/sys/cygwin.h

I'm trying to avoid the headache of a full CVS branch so update an
existing cygwin repository like this to get the changed files:

cd winsup/cygwin
cvs update
cvs log -rcallout -S -R -h 2>&/dev/null | sed -n -e 's%/Attic%%' -e 's%^/cvs/src/src/winsup/cygwin/\(.*\),v%\1%p' | xargs cvs update -rcallout

cgf
Christopher Faylor
2013-10-21 15:11:21 UTC
Permalink
Post by Christopher Faylor
Post by Christopher Faylor
I expect to check stuff into the branch later today (EST5EDT) when I'm
off the clock for my real job. I'll send out a notice when the branch
is actually populated with stuff. So far, I've only changed a few files
and I don't expect that many more will need to be modified.
ChangeLog
environ.cc
external.cc
globals.cc
uname.cc
winsup.h
include/cygwin/callout.h
include/cygwin/version.h
include/sys/cygwin.h
I'm trying to avoid the headache of a full CVS branch so update an
cd winsup/cygwin
cvs update
cvs log -rcallout -S -R -h 2>&/dev/null | sed -n -e 's%/Attic%%' -e 's%^/cvs/src/src/winsup/cygwin/\(.*\),v%\1%p' | xargs cvs update -rcallout
Is it safe to assume that no one is actually interested in this?

cgf
Alexey Pavlov
2013-10-21 15:19:26 UTC
Permalink
Post by Christopher Faylor
Post by Christopher Faylor
Post by Christopher Faylor
I expect to check stuff into the branch later today (EST5EDT) when I'm
off the clock for my real job. I'll send out a notice when the branch
is actually populated with stuff. So far, I've only changed a few files
and I don't expect that many more will need to be modified.
ChangeLog
environ.cc
external.cc
globals.cc
uname.cc
winsup.h
include/cygwin/callout.h
include/cygwin/version.h
include/sys/cygwin.h
I'm trying to avoid the headache of a full CVS branch so update an
cd winsup/cygwin
cvs update
cvs log -rcallout -S -R -h 2>&/dev/null | sed -n -e 's%/Attic%%' -e 's%^/cvs/src/src/winsup/cygwin/\(.*\),v%\1%p' | xargs cvs update -rcallout
Is it safe to assume that no one is actually interested in this?
cgf
No. It still interesting but I have very high load on real work now. I
return to it in one or two months.
Maybe you migrate to git repository to this time.

Regards,
Alexey.
Charles Wilson
2013-10-21 17:01:30 UTC
Permalink
Post by Christopher Faylor
Is it safe to assume that no one is actually interested in this?
Interested, but too busy to do even my normal piss-poor job of
maintaining existing cygwin packages, much less investigate the new MSYS
hooks.

The number of unread messages in my mingw-devel and mingw-user mailing
list folder keeps going up, so I assume folks over there are continuing
to work on MSYS 2.0. Maybe that's a bad assumption...

--
Chuck
Christopher Faylor
2014-02-12 17:57:18 UTC
Permalink
Post by Charles Wilson
Post by Christopher Faylor
Is it safe to assume that no one is actually interested in this?
Interested, but too busy to do even my normal piss-poor job of
maintaining existing cygwin packages, much less investigate the new MSYS
hooks.
The number of unread messages in my mingw-devel and mingw-user mailing
list folder keeps going up, so I assume folks over there are continuing
to work on MSYS 2.0. Maybe that's a bad assumption...
YA ping. I've basically forgotten what I actually did here but I'm willing
to dust off the effort if I can actually get someone to look at it.

At this point, however, I don't think it's likely that anyone on the MSYS
side of the fence really cares or will be willing to move to using cygwin1.dll.

cgf
Alexey Pavlov
2014-02-12 18:05:39 UTC
Permalink
Post by Christopher Faylor
Post by Charles Wilson
Post by Christopher Faylor
Is it safe to assume that no one is actually interested in this?
Interested, but too busy to do even my normal piss-poor job of
maintaining existing cygwin packages, much less investigate the new MSYS
hooks.
The number of unread messages in my mingw-devel and mingw-user mailing
list folder keeps going up, so I assume folks over there are continuing
to work on MSYS 2.0. Maybe that's a bad assumption...
YA ping. I've basically forgotten what I actually did here but I'm willing
to dust off the effort if I can actually get someone to look at it.
At this point, however, I don't think it's likely that anyone on the MSYS
side of the fence really cares or will be willing to move to using cygwin1.dll.
Hi Christopher!

I'm not forgot it. Just on previous week I get your callout branch
from cvs sources to my git repo:
https://github.com/Alexpux/Cygwin/tree/callout

We still interesting in it and want to work on implementing it. But we
have more changes in cygwin sources than before.

Regards,
Alexey.
Post by Christopher Faylor
cgf
Loading...