Annotation of OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.2/files/gen-plist.c, Revision 1.6
1.6 ! takayama 1: /* $OpenXM: OpenXM/misc/packages/FreeBSD/openxm-ports/openxm-1.1.2/files/gen-plist.c,v 1.5 2000/03/06 04:29:02 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.2 takayama 25: printf("bin/asir\n");
26: printf("bin/sm1\n");
27: printf("bin/oxMathematica\n");
28: printf("bin/oxmath\n");
29: printf("bin/ox\n");
1.3 takayama 30: printf("bin/oxgp\n");
31: printf("bin/openxm\n");
1.5 takayama 32: printf("man/man1/sm1.1.gz\n");
33: printf("man/man1/openxm.1.gz\n");
1.2 takayama 34:
1.1 takayama 35: while (fgets(s0,512,stdin) != NULL) {
36: n = strlen(s0);
37: if (n <= 1) goto LLL;
38: if (s0[n-1] == '\n') s0[n-1] = '\0';
39: if (s0[0] == '.' && s0[1] == '/' && s0[2] == '.') goto LLL;
40: if (s0[0] == '.' && s0[1] == '/' ) {
41: strcpy(s,&(s0[2]));
42: }else{
43: strcpy(s,s0);
44: }
45: n = strlen(s);
46: flag = 0;
47: if (n == 0) goto LLL;
48: if (isExclude(s,"/CVS/")) goto LLL;
49: if (isExclude(s,".done")) goto LLL;
50: if (isExclude(s,".uuencoded")) goto LLL;
51: if (isExclude(s,"DO_NOT_EDIT")) goto LLL;
52: if (isExclude(s,"~")) goto LLL;
53: if (isExclude(s,".#")) goto LLL;
54: if (isExclude(s,"OpenXM/doc/histrical-doc")) goto LLL;
55: if (isExclude(s,".log")) goto LLL;
56: if (isExclude(s,"fep.linux")) goto LLL;
57: if (isExclude(s,"/Old/")) goto LLL;
58: if (isExclude(s,"/debug/.sm1")) goto LLL;
59: if (isExclude(s,".aux")) goto LLL;
60: if (isExclude(s,".toc")) goto LLL;
61: if (isExclude(s,".keepme")) goto LLL;
62: if (isExclude(s,"/sm1/ole")) goto LLL;
63: if (isExclude(s,"OpenXM/lib/sm1/ttt")) goto LLL;
64: if (isExclude(s,".sm1.org")) goto LLL;
65: if (isExclude(s,"OpenXM/lib/sm1/onlinehelp")) goto LLL;
66: if (isExclude(s,"OpenXM/lib/sm1/printOnlineHelp")) goto LLL;
67: if (isExclude(s,"OpenXM/lib/sm1/Makefile")) goto LLL;
68: if (isExclude(s,"issac2000")) goto LLL;
69: if (isExclude(s,"doc/Papers")) goto LLL;
70: if (isExclude(s,"doc/OpenXM-web")) goto LLL;
71: if (isExclude(s,"doc/Makefile")) goto LLL;
72: if (isExclude(s,"doc/install")) goto LLL;
1.2 takayama 73: if (isExclude(s,"doc/compalg")) goto LLL;
1.1 takayama 74:
75:
76: if (lstat(s,&sb) < 0) fprintf(stderr,"The file %s is not found.\n",s);
77: if (S_ISLNK(sb.st_mode)) {
78: /* symbolic link */
79: p = readlink(s,lnk,1024);
80: if (p > 0) lnk[p] = '\0';
81: else {
82: fprintf(stderr,"readlink could not get the symbolic link of %s\n",s);
83: }
84: printf("@exec ln -fs %s %%D/%s\n",lnk,s);
85: }else{
86: printf("%s\n",s);
87: }
88:
89: LLL: ;
90:
91: }
1.4 takayama 92: printf("@dirrm OpenXM\n");
1.1 takayama 93: }
94:
95: isExclude(char *s,char *pattern) {
96: int n;
97: int m;
98: int i,j;
99: n = strlen(pattern);
100: m = strlen(s);
101: /* printf("%s %s\n",s,pattern); */
102: for (i=0; i< m -n +1; i++) {
103: for (j=0; j<n; j++) {
104: /* printf("%c %c, ",pattern[j], s[i+j]); */
105: if (pattern[j] != s[i+j]) goto PPP;
106: }
107: return(1);
108: PPP: ;
109: }
110: return(0);
111: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>