diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2008-04-25 21:13:27 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2008-04-25 21:13:27 +0400 |
commit | 2c84756d5dce4cd2e8e666f39f11b974bf89964d (patch) | |
tree | 0e1072f5f759f16643b396db66e1a61184f34838 /winsup/cygwin | |
parent | fccdf679f4466de71ebe66cf4a3932f492ad85db (diff) |
* postinstall: Remove (Moved to base-cygwin package).
Diffstat (limited to 'winsup/cygwin')
-rw-r--r-- | winsup/cygwin/ChangeLog | 4 | ||||
-rwxr-xr-x | winsup/cygwin/postinstall | 298 |
2 files changed, 4 insertions, 298 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 703f62c95..cb2828973 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,5 +1,9 @@ 2008-04-25 Corinna Vinschen <corinna@vinschen.de> + * postinstall: Remove (Moved to base-cygwin package). + +2008-04-25 Corinna Vinschen <corinna@vinschen.de> + * fhandler.cc (fhandler_base::open): Move handling FILE_ATTRIBUTE_NORMAL back to its old place. Or it to file_attributes instead of setting it. diff --git a/winsup/cygwin/postinstall b/winsup/cygwin/postinstall deleted file mode 100755 index 67fb70920..000000000 --- a/winsup/cygwin/postinstall +++ /dev/null @@ -1,298 +0,0 @@ -#!/bin/bash -# -# Copyright 2008 Red Hat, Inc. -# -# This file is part of Cygwin. -# -# This software is a copyrighted work licensed under the terms of the -# Cygwin license. Please consult the file "CYGWIN_LICENSE" for -# details. -# -export PATH="/bin:$PATH" - -SYSCONFDIR=/etc -FSTAB="${SYSCONFDIR}/fstab" -FSTABDIR="${SYSCONFDIR}/fstab.d" - -DEVDIR=/dev - -print_flags () -{ - (( $1 & 0x0002 )) && echo -n "binary" || echo -n "text" - (( $1 & 0x0010 )) && echo -n ",exec" - (( $1 & 0x0040 )) && echo -n ",cygexec" - (( $1 & 0x0100 )) && echo -n ",notexec" - (( $1 & 0x0800 )) && echo -n ",managed" -} - -# Create fstab file if it doesn't exist. -if [ -e "${FSTAB}" -a ! -f "${FSTAB}" ] -then - # Try to move - mv -f "${FSTAB}" "${FSTAB}.orig" - if [ -e "${FSTAB}" -a ! -f "${FSTAB}" ] - then - echo - echo "${FSTAB} is existant but not a file." - echo "Since this file is specifying the mount points, this might" - echo "result in unexpected trouble. Please fix that manually." - echo - fi -fi - -if [ ! -e "${FSTAB}" ] -then - # Set IFS to just a LF - _OLD_IFS="$IFS" - IFS=" -" - for line in $(mount) - do - [[ "$line" =~ ([^ ]*)\ on\ ([^ ]*)\ type\ ([^ ]*)\ .* ]] - if [ "${BASH_REMATCH[2]}" = "/" ] - then - CYGROOT="${BASH_REMATCH[1]}" - FS_TYPE="${BASH_REMATCH[3]}" - break - fi - done - cat > ${FSTAB} << EOF -# The file fstab contains descriptive information about the various file -# systems. fstab is only read by programs, and not written; it is the -# duty of the system administrator to properly create and maintain this -# file. Each filesystem is described on a separate line; fields on each -# line are separated by tabs or spaces. Lines starting with '#' are com- -# ments. -# -# The first field, (fs_spec), describes the block special device or -# remote filesystem to be mounted. On Cygwin, this is the native Windows -# path which the mount point links in. As path separator you MUST use a -# slash. Usage of a backslash might lead to unexpected results. UNC -# paths (using slashes, not backslashes) are allowed. If the path -# contains spaces these can be escaped as '\040'. -# -# The second field, (fs_file), describes the mount point for the filesys- -# tem. If the name of the mount point contains spaces these can be -# escaped as '\040'. -# -# The third field, (fs_vfstype), describes the type of the filesystem. -# Cygwin supports any string here, since the file system type is usually -# not evaluated. The noticable exception is the file system type -# cygdrive. This type is used to set the cygdrive prefix. See the -# user's guide for more information about the cygdrive prefix. -# -# The fourth field, (fs_mntops), describes the mount options associated -# with the filesystem. It is formatted as a comma separated list of -# options. It contains at least the type of mount (binary or text) plus -# any additional options appropriate to the filesystem type. Recognized -# options are binary, text, nouser, user, exec, notexec, cygexec, nosuid, -# managed. For a description of the options see the user's guide. Note -# that nouser mount points are not overridable by a later call to -# mount(2). This is only possible for user mount points. Mount points -# are by default nouser mount points, unless you specify the option user. -# -# The fifth (fs_freq) and sixth (fs_passno) field are ignored. They are -# so far only specified to keep a Linux-like fstab file layout. -# -# Note that you don't have to specify an fstab entry for the root dir, -# unless you want to have the root dir pointing to somewhere entirely -# different (hopefully you know what you're doing), or if you want to -# mount the root dir with special options (for instance, as text mount). -# -# Example entries: -# -# Just a normal mount point: -# -# c:/foo /bar fat32 binary 0 0 -# -# A mount point for a managed, textmode mount: -# -# C:/foo /bar/baz ntfs text,managed 0 0 -# -# A mount point for a Windows directory with spaces in it: -# -# C:/Documents\040and\040Settings /docs ext3 binary 0 0 -# -# A mount point for a remote directory: -# -# //server/share/subdir /srv/subdir smbfs binary 0 0 -# -# This is just a comment: -# -# # This is just a comment -# -# Set the cygdrive prefix to /mnt: -# -# none /mnt cygdrive binary 0 0 -# - -EOF - - usr_bin="" - usr_lib="" - key='\HKLM\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2' - for subkey in $(regtool -q list "$key") - do - if [[ "$subkey" =~ /.* ]] - then - [ "$subkey" = "/usr/bin" ] && usr_bin="1" - [ "$subkey" = "/usr/lib" ] && usr_lib="1" - nat=$(regtool -q get "$key\\$subkey\native") - nat="${nat//\\//}" - nat="${nat// /\\040}" - psx="${subkey// /\\040}" - flags=$(regtool -q get "$key\\$subkey\flags") - echo -n "${nat} ${psx} some_fs " - print_flags $flags - echo " 0 0" - fi >> ${FSTAB} - done - [ -z "$usr_bin" ] && - echo "${CYGROOT//\\//}/bin /usr/bin ${FS_TYPE} binary 0 0" >> ${FSTAB} - [ -z "$usr_lib" ] && - echo "${CYGROOT//\\//}/lib /usr/lib ${FS_TYPE} binary 0 0" >> ${FSTAB} - - cygd="" - prefix=$(regtool -q get "$key\cygdrive prefix") - flags=$(regtool -q get "$key\cygdrive flags") - [ -z "$flags" ] && flags=2 - # Don't take system and cygdrive flags into account when testing - if [ -n "$prefix" \ - -a \( "$prefix" != "/cygdrive" -o "$(( $flags & ~0x28 ))" -ne 2 \) ] - then - cygd="1" - psx="${prefix// /\\040}" - echo -n "none ${psx} cygdrive " - print_flags $flags - echo ",user 0 0" - fi >> ${FSTAB} - - if [ -z "$cygd" ] - then - echo "# This is default anyway:" >> ${FSTAB} - echo "# none /cygdrive cygdrive binary,user 0 0" >> ${FSTAB} - fi - IFS="$_OLD_IFS" -fi - -# Check for ${FSTABDIR} directory - -if [ -e "${FSTABDIR}" -a ! -d "${FSTABDIR}" ] -then - # No mercy. Try to remove. - rm -f "${FSTABDIR}" - if [ -e "${FSTABDIR}" -a ! -d "${FSTABDIR}" ] - then - echo - echo "${FSTABDIR} is existant but not a directory." - echo "Please fix that manually." - echo - exit 1 - fi -fi - -# Create it if necessary - -if [ ! -e "${FSTABDIR}" ] -then - mkdir -m 1777 "${FSTABDIR}" - if [ ! -e "${FSTABDIR}" ] - then - echo - echo "Creating ${FSTABDIR} directory failed." - echo "Please fix that manually." - echo - exit 1 - fi -fi - -# 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 - -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 - -setfacl -m u:system:rwx "${DEVDIR}" - -# 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}/shm" - if [ -e "${DEVDIR}/shm" -a ! -d "${DEVDIR}/shm" ] - 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 |