version 1.27, 1998/09/09 15:49:32
|
version 1.28, 1998/09/14 14:46:11
|
Line 59 rpmDataPtr rpmOpenRdf(char *nameRdf, rpm
|
Line 59 rpmDataPtr rpmOpenRdf(char *nameRdf, rpm
|
rpm->subdir = NULL; |
rpm->subdir = NULL; |
|
|
/* Add the package files to the real filesystem tree if asked for */ |
/* Add the package files to the real filesystem tree if asked for */ |
if ((dir->build_tree != 0) && (rpm->filelist != NULL)) { |
if ((dir->build_tree != 0) && (rpm->extra->filelist != NULL)) { |
char *cur, *filename; |
char *cur, *filename; |
|
|
cur = rpm->filelist; |
cur = rpm->extra->filelist; |
while ((*cur != '\0') && (*cur != '/')) cur++; |
while ((*cur != '\0') && (*cur != '/')) cur++; |
filename = cur; |
filename = cur; |
while (*cur != '\0') { |
while (*cur != '\0') { |
Line 88 rpmDataPtr rpmOpenRdf(char *nameRdf, rpm
|
Line 88 rpmDataPtr rpmOpenRdf(char *nameRdf, rpm
|
dumpRpmRdf(rpm, tree); |
dumpRpmRdf(rpm, tree); |
|
|
/* free large amount of data not used later */ |
/* free large amount of data not used later */ |
if (rpm->filelist) free(rpm->filelist); |
rpmFreeExtraData(rpm); |
rpm->filelist = NULL; |
|
if (rpm->copyright) free(rpm->copyright); |
|
rpm->copyright = NULL; |
|
if (rpm->changelog) free(rpm->changelog); |
|
rpm->changelog = NULL; |
|
if (rpm->description) free(rpm->description); |
|
rpm->description = NULL; |
|
|
|
/* increment the counters */ |
/* increment the counters */ |
rpm2html_files++; |
rpm2html_files++; |
Line 149 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 142 rpmDataPtr rpmOpenRdfFile(char *file) {
|
|
|
/* |
/* |
* We are pretty sure that it will be a valid schema, |
* We are pretty sure that it will be a valid schema, |
* Allocate the rpmData structure, initialize it. |
* allocate a new rpmData block, and an rpmExtraData block fill them |
*/ |
*/ |
rpm = (rpmDataPtr) malloc(sizeof(rpmData)); |
rpm = (rpmDataPtr) malloc(sizeof(rpmData)); |
if (rpm == NULL) { |
if (rpm == NULL) { |
fprintf(stderr, "rpmOpenRdf : out of memory !\n"); |
fprintf(stderr, "cannot allocate %d bytes: %s\n", sizeof(rpmData), |
rdfDestroySchema(rdf); |
strerror(errno)); |
return(NULL); |
return(NULL); |
} |
} |
memset(rpm, 0, sizeof(rpmData)); |
memset(rpm, 0, sizeof(rpmData)); |
|
rpm->extra = (rpmExtraDataPtr) malloc(sizeof(rpmExtraData)); |
|
if (rpm == NULL) { |
|
fprintf(stderr, "cannot allocate %d bytes: %s\n", sizeof(rpmExtraData), |
|
strerror(errno)); |
|
return(NULL); |
|
} |
|
memset(rpm->extra, 0, sizeof(rpmExtraData)); |
|
|
stat(file, &buf); |
stat(file, &buf); |
rpm->stamp = buf.st_mtime; |
rpm->extra->stamp = buf.st_mtime; |
|
|
/* |
/* |
* Now extract all the metadata informations from the RDF tree |
* Now extract all the metadata informations from the RDF tree |
Line 207 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 207 rpmDataPtr rpmOpenRdfFile(char *file) {
|
else rpm->vendor = strdup(localizedStrings[LANG_UNKNOWN]); |
else rpm->vendor = strdup(localizedStrings[LANG_UNKNOWN]); |
|
|
rdfGetValue(desc, "Packager", rpmNs, &value, NULL); |
rdfGetValue(desc, "Packager", rpmNs, &value, NULL); |
if (value != NULL) rpm->packager = strdup(value); |
if (value != NULL) rpm->extra->packager = strdup(value); |
else rpm->packager = NULL; |
else rpm->extra->packager = NULL; |
|
|
rdfGetValue(desc, "Group", rpmNs, &value, NULL); |
rdfGetValue(desc, "Group", rpmNs, &value, NULL); |
if (value != NULL) rpm->group = strdup(value); |
if (value != NULL) rpm->group = strdup(value); |
Line 219 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 219 rpmDataPtr rpmOpenRdfFile(char *file) {
|
else rpm->summary = strdup(localizedStrings[LANG_NO_SUMMARY]); |
else rpm->summary = strdup(localizedStrings[LANG_NO_SUMMARY]); |
|
|
rdfGetValue(desc, "Description", rpmNs, &value, NULL); |
rdfGetValue(desc, "Description", rpmNs, &value, NULL); |
if (value != NULL) rpm->description = strdup(value); |
if (value != NULL) rpm->extra->description = strdup(value); |
else rpm->description = strdup(localizedStrings[LANG_NO_DESCRIPTION]); |
else rpm->extra->description = strdup(localizedStrings[LANG_NO_DESCRIPTION]); |
|
|
rdfGetValue(desc, "Copyright", rpmNs, &value, NULL); |
rdfGetValue(desc, "Copyright", rpmNs, &value, NULL); |
if (value != NULL) rpm->copyright = strdup(value); |
if (value != NULL) rpm->extra->copyright = strdup(value); |
else rpm->copyright = NULL; |
else rpm->extra->copyright = NULL; |
|
|
rdfGetValue(desc, "Changelog", rpmNs, &value, NULL); |
rdfGetValue(desc, "Changelog", rpmNs, &value, NULL); |
if (value != NULL) rpm->changelog = strdup(value); |
if (value != NULL) rpm->extra->changelog = strdup(value); |
else rpm->changelog = NULL; |
else rpm->extra->changelog = NULL; |
|
|
rdfGetValue(desc, "Sources", rpmNs, &value, NULL); |
rdfGetValue(desc, "Sources", rpmNs, &value, NULL); |
if (value != NULL) { |
if (value != NULL) { |
rpm->srcrpm = strdup(value); |
rpm->extra->srcrpm = strdup(value); |
} else rpm->srcrpm = strdup(""); |
} else rpm->extra->srcrpm = strdup(""); |
|
|
rdfGetValue(desc, "Size", rpmNs, &value, NULL); |
rdfGetValue(desc, "Size", rpmNs, &value, NULL); |
if (value != NULL) { |
if (value != NULL) { |
Line 250 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 250 rpmDataPtr rpmOpenRdfFile(char *file) {
|
} else rpm->date = 0; |
} else rpm->date = 0; |
|
|
rdfGetValue(desc, "BuildHost", rpmNs, &value, NULL); |
rdfGetValue(desc, "BuildHost", rpmNs, &value, NULL); |
if (value != NULL) rpm->host = strdup(value); |
if (value != NULL) rpm->extra->host = strdup(value); |
else rpm->host = strdup(localizedStrings[LANG_NO_HOST]); |
else rpm->extra->host = strdup(localizedStrings[LANG_NO_HOST]); |
|
|
rdfGetValue(desc, "Files", rpmNs, &value, NULL); |
rdfGetValue(desc, "Files", rpmNs, &value, NULL); |
if (value != NULL) rpm->filelist = strdup(value); |
if (value != NULL) rpm->extra->filelist = strdup(value); |
else rpm->filelist = NULL; |
else rpm->extra->filelist = NULL; |
|
|
/* |
/* |
* Fetching packages provided is a bit more tricky, one have to |
* Fetching packages provided is a bit more tricky, one have to |
* find the RDF Bag, and scan it's values. |
* find the RDF Bag, and scan it's values. |
*/ |
*/ |
rpm->nb_resources = 0; |
rpm->extra->nb_resources = 0; |
rdfGetValue(desc, "Provides", rpmNs, NULL, &bag); |
rdfGetValue(desc, "Provides", rpmNs, NULL, &bag); |
if (bag != NULL) { |
if (bag != NULL) { |
elem = rdfFirstChild(bag); |
elem = rdfFirstChild(bag); |
rpm->max_resources = 5; |
rpm->extra->max_resources = 5; |
rpm->resources = (rpmRessPtr *) malloc(rpm->max_resources * |
rpm->extra->resources = (rpmRessPtr *) malloc(rpm->extra->max_resources * |
sizeof(rpmRessPtr)); |
sizeof(rpmRessPtr)); |
if (rpm->resources == NULL) { |
if (rpm->extra->resources == NULL) { |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
exit(1); |
exit(1); |
} |
} |
i = 0; |
i = 0; |
while (elem != NULL) { |
while (elem != NULL) { |
if (i >= rpm->max_resources) { |
if (i >= rpm->extra->max_resources) { |
rpm->max_resources *= 2; |
rpm->extra->max_resources *= 2; |
rpm->resources = (rpmRessPtr *) realloc(rpm->resources, |
rpm->extra->resources = (rpmRessPtr *) realloc(rpm->extra->resources, |
rpm->max_resources * sizeof(rpmRessPtr)); |
rpm->extra->max_resources * sizeof(rpmRessPtr)); |
if (rpm->resources == NULL) { |
if (rpm->extra->resources == NULL) { |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
exit(1); |
exit(1); |
} |
} |
Line 290 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 290 rpmDataPtr rpmOpenRdfFile(char *file) {
|
(rdfElemGetNamespace(elem) == rpmNs)) { |
(rdfElemGetNamespace(elem) == rpmNs)) { |
value = rdfElemGetValue(elem); |
value = rdfElemGetValue(elem); |
if (value != NULL) { |
if (value != NULL) { |
rpm->resources[i] = rpmRessAdd(value, rpm, 0); |
rpm->extra->resources[i] = rpmRessAdd(value, rpm, 0); |
i++; |
i++; |
rpm->nb_resources++; |
rpm->extra->nb_resources++; |
} else if (rpm2htmlVerbose > 1) { |
} else if (rpm2htmlVerbose > 1) { |
fprintf(stderr, "%s : malformed Resource element !\n", file); |
fprintf(stderr, "%s : malformed Resource element !\n", file); |
} |
} |
Line 308 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 308 rpmDataPtr rpmOpenRdfFile(char *file) {
|
/* |
/* |
* idem for the dependencies. |
* idem for the dependencies. |
*/ |
*/ |
rpm->nb_requires = 0; |
rpm->extra->nb_requires = 0; |
rdfGetValue(desc, "Requires", rpmNs, NULL, &bag); |
rdfGetValue(desc, "Requires", rpmNs, NULL, &bag); |
if (bag != NULL) { |
if (bag != NULL) { |
elem = rdfFirstChild(bag); |
elem = rdfFirstChild(bag); |
rpm->max_requires = 5; |
rpm->extra->max_requires = 5; |
rpm->requires = (rpmRessPtr *) malloc(rpm->max_requires * |
rpm->extra->requires = (rpmRessPtr *) malloc(rpm->extra->max_requires * |
sizeof(rpmRessPtr)); |
sizeof(rpmRessPtr)); |
if (rpm->requires == NULL) { |
if (rpm->extra->requires == NULL) { |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
exit(1); |
exit(1); |
} |
} |
i = 0; |
i = 0; |
while (elem != NULL) { |
while (elem != NULL) { |
if (i >= rpm->max_requires) { |
if (i >= rpm->extra->max_requires) { |
rpm->max_requires *= 2; |
rpm->extra->max_requires *= 2; |
rpm->requires = (rpmRessPtr *) realloc(rpm->requires, |
rpm->extra->requires = (rpmRessPtr *) realloc(rpm->extra->requires, |
rpm->max_requires * sizeof(rpmRessPtr)); |
rpm->extra->max_requires * sizeof(rpmRessPtr)); |
if (rpm->requires == NULL) { |
if (rpm->extra->requires == NULL) { |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
fprintf(stderr, "rpmOpenRdf : ran out of memory\n"); |
exit(1); |
exit(1); |
} |
} |
Line 337 rpmDataPtr rpmOpenRdfFile(char *file) {
|
Line 337 rpmDataPtr rpmOpenRdfFile(char *file) {
|
(rdfElemGetNamespace(elem) == rpmNs)) { |
(rdfElemGetNamespace(elem) == rpmNs)) { |
value = rdfElemGetValue(elem); |
value = rdfElemGetValue(elem); |
if (value != NULL) { |
if (value != NULL) { |
rpm->requires[i] = rpmRequAdd(value, rpm, 0); |
rpm->extra->requires[i] = rpmRequAdd(value, rpm, 0); |
i++; |
i++; |
rpm->nb_requires++; |
rpm->extra->nb_requires++; |
} else if (rpm2htmlVerbose > 1) { |
} else if (rpm2htmlVerbose > 1) { |
fprintf(stderr, "%s : malformed Resource element !\n", file); |
fprintf(stderr, "%s : malformed Resource element !\n", file); |
} |
} |
Line 469 void dumpRpmRdf(rpmDataPtr rpm, rpmSubdi
|
Line 469 void dumpRpmRdf(rpmDataPtr rpm, rpmSubdi
|
rdfSetValue(desc, "Distribution", rpmNs, rpm->distribution); |
rdfSetValue(desc, "Distribution", rpmNs, rpm->distribution); |
if (rpm->vendor) |
if (rpm->vendor) |
rdfSetValue(desc, "Vendor", rpmNs, rpm->vendor); |
rdfSetValue(desc, "Vendor", rpmNs, rpm->vendor); |
if (rpm->packager) |
if (rpm->extra->packager) |
rdfSetValue(desc, "Packager", rpmNs, rpm->packager); |
rdfSetValue(desc, "Packager", rpmNs, rpm->extra->packager); |
if (rpm->group) |
if (rpm->group) |
rdfSetValue(desc, "Group", rpmNs, rpm->group); |
rdfSetValue(desc, "Group", rpmNs, rpm->group); |
if (rpm->summary) |
if (rpm->summary) |
rdfSetValue(desc, "Summary", rpmNs, rpm->summary); |
rdfSetValue(desc, "Summary", rpmNs, rpm->summary); |
if (rpm->description) |
if (rpm->extra->description) |
rdfSetValue(desc, "Description", rpmNs, rpm->description); |
rdfSetValue(desc, "Description", rpmNs, rpm->extra->description); |
if (rpm->copyright) |
if (rpm->extra->copyright) |
rdfSetValue(desc, "Copyright", rpmNs, rpm->copyright); |
rdfSetValue(desc, "Copyright", rpmNs, rpm->extra->copyright); |
if (rpm->changelog) |
if (rpm->extra->changelog) |
rdfSetValue(desc, "Changelog", rpmNs, rpm->changelog); |
rdfSetValue(desc, "Changelog", rpmNs, rpm->extra->changelog); |
if (rpm->srcrpm) { |
if (rpm->extra->srcrpm) { |
rdfSetValue(desc, "Sources", rpmNs, rpm->srcrpm); |
rdfSetValue(desc, "Sources", rpmNs, rpm->extra->srcrpm); |
if (dir->ftpsrc) { |
if (dir->ftpsrc) { |
rdfSetValue(desc, "SourcesFtp", rpmNs, dir->ftpsrc); |
rdfSetValue(desc, "SourcesFtp", rpmNs, dir->ftpsrc); |
} |
} |
Line 498 void dumpRpmRdf(rpmDataPtr rpm, rpmSubdi
|
Line 498 void dumpRpmRdf(rpmDataPtr rpm, rpmSubdi
|
rdfSetValue(desc, "Date", rpmNs, buf); |
rdfSetValue(desc, "Date", rpmNs, buf); |
sprintf(buf, "%d", rpm->size); |
sprintf(buf, "%d", rpm->size); |
rdfSetValue(desc, "Size", rpmNs, buf); |
rdfSetValue(desc, "Size", rpmNs, buf); |
if (rpm->host) |
if (rpm->extra->host) |
rdfSetValue(desc, "BuildHost", rpmNs, rpm->host); |
rdfSetValue(desc, "BuildHost", rpmNs, rpm->extra->host); |
if (rpm->nb_resources > 0) { |
if (rpm->extra->nb_resources > 0) { |
/** !!!!! |
/** !!!!! |
sprintf(buf, "%d", rpm->nb_resources); |
sprintf(buf, "%d", rpm->nb_resources); |
rdfSetValue(desc, "NbProvides", rpmNs, buf); |
rdfSetValue(desc, "NbProvides", rpmNs, buf); |
*/ |
*/ |
bag = rdfBagCreate(rdf, desc, "Provides", rpmNs); |
bag = rdfBagCreate(rdf, desc, "Provides", rpmNs); |
for (i = 0;i < rpm->nb_resources;i++) { |
for (i = 0;i < rpm->extra->nb_resources;i++) { |
rdfBagAddValue(bag, "Resource", rpmNs, |
rdfBagAddValue(bag, "Resource", rpmNs, |
rpm->resources[i]->name, NULL); |
rpm->extra->resources[i]->name, NULL); |
} |
} |
} |
} |
if (rpm->nb_requires > 0) { |
if (rpm->extra->nb_requires > 0) { |
/** !!!!! |
/** !!!!! |
sprintf(buf, "%d", rpm->nb_requires); |
sprintf(buf, "%d", rpm->nb_requires); |
rdfSetValue(desc, "NbRequires", rpmNs, buf); |
rdfSetValue(desc, "NbRequires", rpmNs, buf); |
*/ |
*/ |
bag = rdfBagCreate(rdf, desc, "Requires", rpmNs); |
bag = rdfBagCreate(rdf, desc, "Requires", rpmNs); |
for (i = 0;i < rpm->nb_requires;i++) { |
for (i = 0;i < rpm->extra->nb_requires;i++) { |
rdfBagAddValue(bag, "Resource", rpmNs, |
rdfBagAddValue(bag, "Resource", rpmNs, |
rpm->requires[i]->name, NULL); |
rpm->extra->requires[i]->name, NULL); |
} |
} |
} |
} |
if (rpm->filelist) |
if (rpm->extra->filelist) |
rdfSetValue(desc, "Files", rpmNs, rpm->filelist); |
rdfSetValue(desc, "Files", rpmNs, rpm->extra->filelist); |
|
|
/* |
/* |
* Save the RDF to a buffer, remove the tree. |
* Save the RDF to a buffer, remove the tree. |