Permalink
Cannot retrieve contributors at this time
92 lines (85 sloc)
2.46 KB
| maybe_create_devs () | |
| { | |
| local DEVDIR=/dev | |
| # Check for ${DEVDIR} directory | |
| if [ -e "${DEVDIR}" -a ! -d "${DEVDIR}" ] | |
| then | |
| # No mercy. Try to remove. | |
| rm -f "${DEVDIR}" | |
| if [ -e "${DEVDIR}" -a ! -d "${DEVDIR}" ] | |
| then | |
| echo | |
| echo "${DEVDIR} is existant but not a directory." | |
| echo "Please fix that manually, otherwise you WILL get problems." | |
| echo | |
| exit 1 | |
| fi | |
| fi | |
| # Create it if necessary | |
| 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 | |
| # Check for ${DEVDIR}/shm directory (for POSIX semaphores and POSIX shared mem) | |
| if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ] | |
| then | |
| # No mercy. Try to remove. | |
| rm -f "${DEVDIR}/shm" | |
| if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ] | |
| then | |
| echo | |
| echo "${DEVDIR}/shm is existant but not a directory." | |
| echo "POSIX semaphores and POSIX shared memory will not work" | |
| echo | |
| fi | |
| fi | |
| # Create it if necessary | |
| if [ ! -e "${DEVDIR}/shm" ] | |
| then | |
| mkdir -m 1777 "${DEVDIR}/shm" | |
| if [ ! -e "${DEVDIR}/shm" ] | |
| then | |
| echo | |
| echo "Creating ${DEVDIR}/shm directory failed." | |
| echo "POSIX semaphores and POSIX shared memory will not work" | |
| echo | |
| fi | |
| fi | |
| # Check for ${DEVDIR}/mqueue directory (for POSIX message queues) | |
| if [ -e "${DEVDIR}/mqueue" -a ! -d "${DEVDIR}/mqueue" ] | |
| then | |
| # No mercy. Try to remove. | |
| rm -f "${DEVDIR}/mqueue" | |
| if [ -e "${DEVDIR}/mqueue" -a ! -d "${DEVDIR}/mqueue" ] | |
| then | |
| echo | |
| echo "${DEVDIR}/mqueue is existant but not a directory." | |
| echo "POSIX message queues will not work" | |
| echo | |
| fi | |
| fi | |
| # Create it if necessary | |
| if [ ! -e "${DEVDIR}/mqueue" ] | |
| then | |
| mkdir -m 1777 "${DEVDIR}/mqueue" | |
| if [ ! -e "${DEVDIR}/mqueue" ] | |
| then | |
| echo | |
| echo "Creating ${DEVDIR}/mqueue directory failed." | |
| echo "POSIX message queues will not work" | |
| echo | |
| fi | |
| fi | |
| # Install /dev/fd, /dev/std{in,out,err}. The bash builtin test was compiled | |
| # to assume these exist, so use /bin/test to really check. | |
| /usr/bin/test -h /dev/stdin || ln -sf /proc/self/fd/0 /dev/stdin | |
| /usr/bin/test -h /dev/stdout || ln -sf /proc/self/fd/1 /dev/stdout | |
| /usr/bin/test -h /dev/stderr || ln -sf /proc/self/fd/2 /dev/stderr | |
| /usr/bin/test -h /dev/fd || ln -sf /proc/self/fd /dev/fd | |
| } | |
| maybe_create_devs |