[BACK]Return to gen-plist.c CVS log [TXT][DIR] Up to [local] / OpenXM / misc / packages / FreeBSD / openxm-ports / openxm-1.1.2 / files

Annotation of OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.2/files/gen-plist.c, Revision 1.7

1.7     ! takayama    1: /* $OpenXM: OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.2/files/gen-plist.c,v 1.6 2000/03/10 15:09:39 takayama Exp $ */
1.1       takayama    2: #include <stdio.h>
                      3: #include <sys/types.h>
                      4: #include <sys/stat.h>
                      5: #include <unistd.h>
                      6: /* References are
                      7:     /usr/src/bin/ls/print.c   readlink
                      8:     /usr/port/japanese/dvipsk-vflib/pkg/PLIST
                      9:
                     10: */
                     11:
                     12:
                     13: main() {
                     14:   char s[512];
                     15:   char s0[512];
                     16:   char lnk[1024];
                     17:   int i;
                     18:   int n;
                     19:   int flag = 0;
                     20:   struct stat sb;
                     21:   int p;
                     22:
1.2       takayama   23:   /* Initial data */
1.6       takayama   24:   system("grep \'$OpenXM\' ../pkg/PLIST");
1.7     ! takayama   25:   system("grep \'$OpenXM\' ../../pkg/PLIST");
1.2       takayama   26:   printf("bin/asir\n");
                     27:   printf("bin/sm1\n");
                     28:   printf("bin/oxMathematica\n");
                     29:   printf("bin/oxmath\n");
                     30:   printf("bin/ox\n");
1.3       takayama   31:   printf("bin/oxgp\n");
                     32:   printf("bin/openxm\n");
1.5       takayama   33:   printf("man/man1/sm1.1.gz\n");
                     34:   printf("man/man1/openxm.1.gz\n");
1.2       takayama   35:
1.1       takayama   36:   while (fgets(s0,512,stdin) != NULL) {
                     37:        n = strlen(s0);
                     38:        if (n <= 1) goto LLL;
                     39:        if (s0[n-1] == '\n') s0[n-1] = '\0';
                     40:        if (s0[0] == '.' && s0[1] == '/' && s0[2] == '.') goto LLL;
                     41:        if (s0[0] == '.' && s0[1] == '/' ) {
                     42:          strcpy(s,&(s0[2]));
                     43:        }else{
                     44:          strcpy(s,s0);
                     45:        }
                     46:        n = strlen(s);
                     47:        flag = 0;
                     48:        if (n == 0) goto LLL;
                     49:        if (isExclude(s,"/CVS/")) goto LLL;
                     50:        if (isExclude(s,".done")) goto LLL;
                     51:        if (isExclude(s,".uuencoded")) goto LLL;
                     52:        if (isExclude(s,"DO_NOT_EDIT")) goto LLL;
                     53:        if (isExclude(s,"~")) goto LLL;
                     54:        if (isExclude(s,".#")) goto LLL;
                     55:        if (isExclude(s,"OpenXM/doc/histrical-doc")) goto LLL;
                     56:        if (isExclude(s,".log")) goto LLL;
                     57:        if (isExclude(s,"fep.linux")) goto LLL;
                     58:        if (isExclude(s,"/Old/")) goto LLL;
                     59:        if (isExclude(s,"/debug/.sm1")) goto LLL;
                     60:        if (isExclude(s,".aux")) goto LLL;
                     61:        if (isExclude(s,".toc")) goto LLL;
                     62:        if (isExclude(s,".keepme")) goto LLL;
                     63:        if (isExclude(s,"/sm1/ole")) goto LLL;
                     64:        if (isExclude(s,"OpenXM/lib/sm1/ttt")) goto LLL;
                     65:        if (isExclude(s,".sm1.org")) goto LLL;
                     66:        if (isExclude(s,"OpenXM/lib/sm1/onlinehelp")) goto LLL;
                     67:        if (isExclude(s,"OpenXM/lib/sm1/printOnlineHelp")) goto LLL;
                     68:        if (isExclude(s,"OpenXM/lib/sm1/Makefile")) goto LLL;
                     69:        if (isExclude(s,"issac2000")) goto LLL;
                     70:        if (isExclude(s,"doc/Papers")) goto LLL;
                     71:        if (isExclude(s,"doc/OpenXM-web")) goto LLL;
                     72:        if (isExclude(s,"doc/Makefile")) goto LLL;
                     73:        if (isExclude(s,"doc/install")) goto LLL;
1.2       takayama   74:        if (isExclude(s,"doc/compalg")) goto LLL;
1.1       takayama   75:
                     76:
                     77:        if (lstat(s,&sb) < 0) fprintf(stderr,"The file %s is not found.\n",s);
                     78:        if (S_ISLNK(sb.st_mode)) {
                     79:          /* symbolic link */
                     80:          p = readlink(s,lnk,1024);
                     81:          if (p > 0) lnk[p] = '\0';
                     82:          else {
                     83:                fprintf(stderr,"readlink could not get the symbolic link of %s\n",s);
                     84:          }
                     85:          printf("@exec ln -fs %s %%D/%s\n",lnk,s);
                     86:        }else{
                     87:          printf("%s\n",s);
                     88:        }
                     89:
                     90:   LLL: ;
                     91:
                     92:   }
1.4       takayama   93:   printf("@dirrm OpenXM\n");
1.1       takayama   94: }
                     95:
                     96: isExclude(char *s,char *pattern) {
                     97:   int n;
                     98:   int m;
                     99:   int i,j;
                    100:   n = strlen(pattern);
                    101:   m = strlen(s);
                    102:   /* printf("%s %s\n",s,pattern); */
                    103:   for (i=0; i< m -n +1; i++) {
                    104:        for (j=0; j<n; j++) {
                    105:          /* printf("%c %c, ",pattern[j], s[i+j]); */
                    106:          if (pattern[j] != s[i+j]) goto PPP;
                    107:        }
                    108:        return(1);
                    109:   PPP: ;
                    110:   }
                    111:   return(0);
                    112: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>