]> git.donarmstrong.com Git - debian/debian-policy.git/blobdiff - debian/postinst.in
* Added doc-base support for all of the HTML docs in the package
[debian/debian-policy.git] / debian / postinst.in
index 51f814d7d9e614377326243d3898a27e8caf5679..807be4934568ea39197532b5f68f30c157d5b8d7 100644 (file)
@@ -5,9 +5,9 @@
 # Created On       : Thu Oct 29 15:23:36 1998
 # Created On Node  : tiamat.datasync.com
 # Last Modified By : Manoj Srivastava
-# Last Modified On : Thu Oct 29 15:28:24 1998
-# Last Machine Used: tiamat.datasync.com
-# Update Count     : 3
+# Last Modified On : Fri Mar 17 17:00:35 2000
+# Last Machine Used: glaurung.green-gryphon.com
+# Update Count     : 8
 # Status           : Unknown, Use with caution!
 # HISTORY          : 
 # Description      : 
@@ -26,15 +26,114 @@ PACKAGE=#PACKAGE#
 # its automatic conffile handling, and all the packages we depend of
 # are already fully installed and configured.
 
+package_name=#PACKAGE#
 
+if [ -z "package_name" ]; then
+    print >&2 "Internal Error. Please report a bug."
+    exit 1;
+fi
+
+#perl -e 'print readlink("/usr/doc/'$package_name'"), "\n"; '
 case "$1" in
   configure)
     # Configure this package.  If the package must prompt the user for
     # information, do it here.
-    :
+
+    if [ -d /usr/doc ]; then
+       # Well, we still need to handle this. At this point, /usr/doc
+       # can be a symlink
+       
+       if [  -d /usr/share/doc/$package_name ]; then
+           # So the new doc dir exists, goody
+           
+           # well, either one of these is a symlink, they can be
+           # pointing off _anywhere_
+           cd /usr/doc/;
+           target_dir=$(/bin/pwd);
+           cd /usr/share/doc 
+           starget_dir=$(/bin/pwd);
+           cd /
+
+            link_target="../share/doc/$package_name";
+            cd /usr/doc/;
+            if [ -d ../share/doc/ ]; then
+                cd ../share/doc/
+                ltarget=$(/bin/pwd);
+                if [ "$starget_dir" = "$ltarget" ]; then
+                    link_target="../share/doc/$package_name";
+                else
+                    link_target="/usr/share/doc/$package_name";
+                fi
+            else
+                link_target="/usr/share/doc/$package_name"
+            fi
+
+
+           # Well, make sure that we do not get tripped up by the symlink
+           if [ -L /usr/doc/$package_name ]; then
+               rm -f /usr/doc/$package_name
+           fi
+
+           if [ "$target_dir" != "$starget_dir" ]; then
+               # Ok. The directories are in different locations
+               if [ -d /usr/doc/$package_name ]; then
+                   echo "Yikes! The old directory, /usr/doc/$package_name,"
+                   echo "has not ben removed! This is an error; attempting"
+                   echo "repairs."
+                   find /usr/doc/$package_name/ -type f -name .dhelp \
+                       -exec rm {} \;
+                   find /usr/doc/$package_name/ -type d -depth \
+                        -exec rmdir --ignore-fail-on-non-empty {} \;
+
+                   if [ -d /usr/doc/$package_name ]; then
+                       cat <<EOF 
+Failed repairs. There are old files in /usr/doc/$package_name/ created
+by you or another script. I can copy them over to the new location
+/usr/share/doc/$package_name, if you wish, preserving your versions of
+the files.  No files shall be over written, instead, backup versions
+shall be created in /usr/share/doc/$package_name as needed.
+
+Shall I copy the files over [Yn]?
+EOF
+                       read answer;
+                       case "$answer" in
+                           [Nn]*)
+                               echo "Not copying over, aborting";
+                               exit 1;
+                               ;;      
+                           *)
+                               cp -a --backup=t /usr/doc/$package_name  \
+                                   /usr/share/doc/$package_name/.. ;
+                               rm -rf /usr/doc/$package_name;
+                       esac
+                   fi
+               fi
+
+               if [ -e /usr/doc/$package_name ]; then
+                   echo "/usr/doc/$package_name still exists"
+                   if [ -L /usr/doc/$package_name ]; then
+                       echo "it is a symbolic link, overwriting"
+                       ln -sf $link_target /usr/doc/$package_name
+                   else
+                       echo "This is an error. Aborting"
+                       exit 1
+                   fi
+               fi
+               # File unexists. Free to go ahead and create link
+               ln -sf $link_target /usr/doc/$package_name
+
+           fi
+       fi
+    fi
+
 
     if [ -x /usr/sbin/install-docs ]; then
-       /usr/sbin/install-docs -i /usr/share/doc-base/$PACKAGE
+       /usr/sbin/install-docs -i /usr/share/doc-base/debian-policy
+       /usr/sbin/install-docs -i /usr/share/doc-base/debian-menu-policy
+       /usr/sbin/install-docs -i /usr/share/doc-base/debian-mime-policy
+       /usr/sbin/install-docs -i /usr/share/doc-base/debian-perl-policy
+       /usr/sbin/install-docs -i /usr/share/doc-base/debian-policy-process
+       /usr/sbin/install-docs -i /usr/share/doc-base/debconf-spec
     fi
 
     # There are three sub-cases: