Annotation of OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.3/files/gen-plist.c, Revision 1.1
1.1 ! takayama 1: /* $OpenXM$ */
! 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:
! 23: /* Initial data */
! 24: system("grep \'$OpenXM\' ../pkg/PLIST");
! 25: system("grep \'$OpenXM\' ../../pkg/PLIST");
! 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");
! 31: printf("bin/oxgp\n");
! 32: printf("bin/openxm\n");
! 33: printf("man/man1/sm1.1.gz\n");
! 34: printf("man/man1/openxm.1.gz\n");
! 35:
! 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;
! 74: if (isExclude(s,"doc/compalg")) goto LLL;
! 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: }
! 93: printf("@dirrm OpenXM\n");
! 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>