Mail Archives: cygwin/2012/04/04/10:00:22
On Apr 4 15:38, Andre Loker wrote:
> Am 04.04.2012 15:04, schrieb Corinna Vinschen:
> >On Apr 4 14:12, Corinna Vinschen wrote:
> >>On Apr 4 12:24, Andre Loker wrote:
> >>>I *suppose* the issue is related to this change in 1.7.12:
> >>>"- Cygwin now automatically populates the /dev directory with all
> >>>existing POSIX devices."
> >>>
> >>>Do I have to take any actions regarding those issues? If so, which?
> >>Thanks for the report. That's a blatant bug in the /dev handling.
> >>I hope I fixed it sufficiently in CVS. I'm just generating a new
> >>snapshot which should be available in about half an hour on
> >>http://cygwin.com/snapshots/
> >>
> >>Please give it a try. For instance, call the /etc/postinstall/bash.sh
> >>and /etc/postinstall/000-cygwin-post-install.sh files manually ands
> >>report back if they do what they should in terms of /dev. Maybe the
> >>scripts now have a .done suffix, but you should still be able to run
> >>them.
> >Snapshot is uploaded. Please test ASAP.
> >
> $ ./000-cygwin-post-install.sh.done
> mkdir: cannot create directory `/dev/shm': Read-only file system
Ok, this is a problem with the 000-cygwin-post-install.sh script now:
if [ ! -e "${DEVDIR}" ]
then
mkdir -m 755 "${DEVDIR}"
if [ ! -e "${DEVDIR}" ]
then
echo
echo "Creating ${DEVDIR} directory failed."
echo "Please fix that manually, otherwise you WILL get problems."
echo
exit 1
fi
fi
The non-device files under /dev can only be created, if /dev exists
on disk.
However, if /dev does not exist as real directory on disk, it's handled
as virtual read-only filesystem to be able to list the device files even
then. Therefore the first
if [ ! -e "${DEVDIR}" ]
fails and the mkdir is never called. Consequentially subsequent calls
to create files and/or directories fail as well. So the above code has
to be changed like this:
mkdir -m 755 "${DEVDIR}" 2> /dev/null
if [ ! -e "${DEVDIR}" ]
then
echo
echo "Creating ${DEVDIR} directory failed."
echo "Please fix that manually, otherwise you WILL get problems."
echo
exit 1
fi
This works for me. Can you test this as well, please? I will fix the
base-cygwin package ASAP.
Thanks,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
- Raw text -