Update to 2.0.0 tree from current Fremantle build
[opencv] / interfaces / ch / pkginstall.ch
diff --git a/interfaces/ch/pkginstall.ch b/interfaces/ch/pkginstall.ch
deleted file mode 100644 (file)
index 2563355..0000000
+++ /dev/null
@@ -1,325 +0,0 @@
-#!/bin/ch
-/* Ch package installer script in Ch */
-// pkginstall.ch version 1.0.2, April 8, 2005
-// *) If a package already installed, after uninstallation,
-//    install the new package immediately.
-// pkginstall.ch version 1.0.1, April 8, 2005
-// *) fixed installation in a dir with blank space
-// pkginstall.ch version 1.0.1, April 6, 2005
-// *) fixed installation with large number of .chf files in lib
-// pkginstall.ch version 1.0, March 23 2005
-/* 
-     By default, pkginstall installs a package in the current 
-     directory  into the <CHHOME>/package and copies required header 
-     files in package/include into the CHHOME/toolkit/include  
-     directory. It has minimized changes.
-  
-     If you want to install ch package into your preferred directory,
-     you can specify it in the comand line. During the installation,
-     it will modify _ipath and _ppath in .chrc in Unix or _chrc 
-     in Windows in the  user home  directory.  During installation, 
-     an installation file is created under the <CHHOME>/package/installed
-     directory with  a list of the installed directories and files. 
-
-     This program can also uninstall a Ch Package by removing header
-     files  installed  into  the CHHOME/toolkit/include directory
-     and the package in the CHHOME/package directory based on the
-     corresponding  package   file  in  CHHOME/package/installed
-     directory.
-
-     Usage: pkginstall.ch [-u] [-d directory] PackageName
-       -u             uninstall 'packagename'
-       -d directory   directory to install 'PackageName'
-       Examples:
-         (1) uninstallation:
-               pkginstall.ch -u chpng
-         (2) installation to the default directory:
-               pkginstall.ch chpng
-         (3) installation to your preferred directory:
-               pkginstall.ch -d /your/preferred/directory chpng
-*/
-
-#include <stdio.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdbool.h>
-
-int main(int argc, char **argv) {
-   char usage[] = 
-      "Usage: pkginstall.ch [-u] [-d directory] package\n"
-      "       -u             uninstall 'package'\n"
-      "       -d directory   directory to install 'package'\n"
-      "       Examples:\n" 
-      "         (1) uninstallation:\n" 
-      "               pkginstall.ch -u chpng \n"
-      "         (2) installation to the default directory:\n" 
-      "               pkginstall.ch chpng\n"
-      "         (3) installation to your preferred directory:\n" 
-      "               pkginstall.ch -d /your/preferred/directory chpng\n";
-   string_t pkgname;             // chpng
-   string_t chhome;              // C:/ch
-   string_t chtoolkit;           // C:/ch/toolkit
-   string_t chtoolkitinc;        // C:/ch/toolkit/include
-   string_t chpackage;           // C:/ch/package
-   string_t chpackagename;       // C:/ch/package/chpng
-   string_t chpackagenameinc;    // C:/ch/package/chpng/include
-   string_t chpackageinstalled;  // C:/ch/package/installed
-   string_t chpackageinstallpkg; // C:/ch/package/installed/chpng
-   string_t installedfiles;      // files listed in $chpackageinstallpkg
-   string_t headerfiles;         // installed header files in $chtoolkitinc 
-   int u_option = false;         // -u option
-   int d_option = false;         // -d option
-   char *s, check;
-   string_t cwd = _cwd;
-   string_t token;
-   string_t str_temp;
-   string_t dotchrc;             // .chrc or _chrc
-   string_t str_chrc_file;       // contents of ~/.chrc or ~/_chrc
-   int install_file_ok = 0;
-   int pkg_dir_ok = 0;
-   FILE *fptr_installed;
-   FILE *fptr_chrc;
-
-   argc--; argv++;
-   while(argc>0 && **argv =='-')
-   {
-      for(s = argv[0]+1; *s&&*s!=' '; s++)  /* empty space not valid option */
-      switch(*s)
-      {
-         case 'u':
-            u_option = true;   /* uninstall package */
-            break;
-         case 'd':             /* the directory to install package */
-            d_option = true;
-            argc--; argv++;
-            chpackage = *argv;
-            break;
-         default:
-            fprintf(stderr,"Warning: invalid option %c\n\n", *s);
-            fprintf(stderr,usage);
-            exit(1);
-            break;
-      }
-      argc--; argv++;
-   } 
-
-   if(argc==1) {            /* get the package name */
-     if((*argv)[strlen(*argv)-1] == '/') /* change "chpng/" to "chpng" */
-     {
-       fprintf(stderr, "Error: invalid package name '%s'\n\n", *argv);
-       fprintf(stderr,usage);
-       exit(1);
-     }
-     pkgname = *argv;
-   }
-   else {
-      fprintf(stderr,usage);
-      exit(1);
-   }
-
-   /* Get installation directories for Ch package */
-   chhome=getenv("CHHOME");
-   if (chhome==NULL) {
-      printf("Sorry, CHHOME cannot be found\n");
-      printf("Please install Ch first from http://www.softintegration.com\n");
-      exit(0);
-   }
-   chtoolkit = stradd(chhome, "/toolkit");
-   chtoolkitinc = stradd(chhome, "/toolkit/include");
-   if(d_option == false) {
-     chpackage = stradd(chhome, "/package");
-     chpackageinstalled = stradd(chhome, "/package/installed");
-     chpackageinstallpkg = stradd(chhome, "/package/installed/", pkgname);
-   }
-   chpackagename = stradd(chpackage, "/", pkgname);
-   chpackagenameinc = stradd(chpackagename, "/include");
-
-   if(access(chpackage, W_OK)) 
-   {
-      if(u_option == true) {
-        fprintf(stderr, "You do not have privilege to remove this package.\n");
-        fprintf(stderr, "Please login as 'root' to run this script\n");
-        exit(0);
-      }
-      else if(d_option == true) {
-        fprintf(stderr, "You do not have privilege to install this package in '%s'\n", chpackagename);
-        exit(0);
-      }
-      else {
-        fprintf(stderr, "You do not have privilege to install this package in '%s'\n", chpackagename);
-        fprintf(stderr, "Please login as 'root' to run this script\n");
-        fprintf(stderr, "or provide a directory to install this package.\n\n");
-        fprintf(stderr,usage);
-        exit(0);
-      }
-
-   }
-
-   if(u_option)  /* uninstall package */
-   {
-      // package exists ?
-      if(!access(chpackagename, R_OK)) 
-        pkg_dir_ok = 1;
-      // installation file exists ?
-      if(!access(chpackageinstallpkg, R_OK))
-        install_file_ok = 1;
-
-      if( pkg_dir_ok && !install_file_ok) {
-         fprintf(stderr, "\nPackage '%s' appears to have been installed\n"
-           "but the Installation information file does not exist.\n"
-           "Would you like to completely remove the directory %s (Y or N)?:" , pkgname, chpackagename);
-         check = getchar();
-         if (!(check=='y' || check == 'Y')) 
-         {
-            exit(1);
-         } 
-         while(getchar() != '\n');
-         printf("\n");
-         rm -rf $chpackagename
-      }
-      else if(!pkg_dir_ok && !install_file_ok)
-      {
-          fprintf(stderr, "\nPackage '%s' was not installed\n", pkgname);
-          exit(0);
-      }
-      else
-      {
-         if(!pkg_dir_ok)
-         {
-           fprintf(stderr, "\nThe package directory does not exist but an installation"
-                       " file for the\npackage was found.  Removing possible"
-                       " remaining files.\n");
-         }
-         installedfiles = `cat $chpackageinstallpkg`;
-         foreach(token; installedfiles)
-         {
-            rm -rf $token
-         }
-         rm -rf $chpackageinstallpkg
-      }
-      printf("\nPackage '%s' has been uninstalled.\n\n", pkgname);
-      exit(0);
-   }
-   /* end uninstall option */
-
-   if(access(pkgname, R_OK))
-   {
-      fprintf(stderr, "\nPackage '%s' not found in the current diretory.\n\n", pkgname);
-      exit(1);
-   }
-
-   if(!access(chpackageinstallpkg, R_OK))
-   {
-      printf("\nPackage '%s' was already installed.\n"
-             "Uninstall package '%s'(Y or N)?: ", pkgname, pkgname);
-      check = getchar();
-      if( check != 'y' && check != 'Y' )
-         exit(0);
-      while(getchar() != '\n');
-      ./pkginstall.ch -u $pkgname
-      ./pkginstall.ch $pkgname
-      exit(0);
-   }
-   
-   if(!access(chpackagename, R_OK))
-   {
-      fprintf(stderr, "\nIt appears that the %s package was installed by manually without running\n"
-                      "pkginstall.ch or the package directory was not completely removed\n" 
-                     "during previous uninstallation.\n"
-                     "Overwrite and continue installation (Y or N)?: ", pkgname);
-      check = getchar();
-      if (!(check=='y' || check == 'Y')) 
-      {
-         exit(1);
-      } 
-      while(getchar() != '\n');
-         printf("\n");
-   }
-
-   printf("Install package '%s' to %s now, please wait...\n", pkgname, chpackage);
-#ifdef _WIN32_
-      tar cf $(pkgname).tar $(pkgname)
-      cd $chpackage
-      tar xf "$cwd/$(pkgname).tar"
-      cd $cwd
-      rm -f $(pkgname).tar
-#else
-      tar cf - $(pkgname) | (cd $chpackage; tar xf - )
-#endif
-
-   /* install in the default package dir CHHOME/package */
-   if(d_option == false) { 
-      if(access(chpackageinstalled, R_OK) )
-      {
-         mkdir $chpackageinstalled
-      }  
-      if((fptr_installed = fopen(chpackageinstallpkg, "w")) == NULL)
-      {
-        fprintf(stderr, "\n\nERROR: fopen: cannot open file %s for write.\n\n", chpackageinstallpkg); 
-         exit(1);
-      }
-
-      fprintf(fptr_installed, "%s\n", chpackagename);
-      cd $chpackagenameinc
-      headerfiles = `ls`;
-      foreach(token; headerfiles)
-      {
-         cp -rfp $token $chtoolkitinc
-         fprintf(fptr_installed, "%s\n", stradd(chtoolkitinc, "/",token));
-      }
-      fclose( fptr_installed);
-   }
-   else
-   {
-#if defined(_WIN32_)
-      dotchrc = "_chrc";
-#else
-      dotchrc = ".chrc";
-#endif
-      cd ~
-      if(access(dotchrc, F_OK)) {
-           fprintf(stderr, "\nERROR: ~/'%s' does not exist\n"
-                          "run 'ch -d' to create it.\n");
-           exit(0);
-      } 
-      str_chrc_file = `cat $dotchrc`;
-      str_temp = stradd("_ipath=stradd(_ipath,\"",chpackagenameinc, ";\");");
-      foreach(token;str_chrc_file;"\0";" ")
-      {
-        if(!strcmp(token, str_temp))
-        {
-           token = "found";
-           break;
-        }
-      }
-      if(token == NULL)
-      {
-
-        if( (fptr_chrc = fopen(dotchrc, "a")) == NULL)
-        {
-           fprintf(stderr, "\nERROR: fopen: Unable to open ~/%s for append\n", dotchrc);
-        } 
-        else
-        { 
-           fprintf(fptr_chrc, "%s\n", str_temp);
-           str_temp = stradd("_ppath=stradd(_ppath,\"",chpackage, ";\");");
-           fprintf(fptr_chrc, "%s\n", str_temp);
-           fclose( fptr_chrc);
-        }
-      }
-      cd -
-   }
-
-   printf("Package '%s' has been successfully installed.\n\n", pkgname);
-   if(!access(stradd(chpackagename, "/demos"), R_OK)) {
-     printf("Please try demo programs for this package in \n"
-          "%s\n\n", stradd(chpackagename, "/demos")); 
-   }
-   if(!access("postinstall.ch", R_OK))
-   {
-      printf("You must run the post installation program,\n"
-             "   %s\nbefore running any demos.\n\n", "postinstall.ch");
-   }
-
-   return 0;
-}