headerlist.c: former pre-production changes not committed
This commit is contained in:
parent
fa6aab80e1
commit
b94d504063
@ -855,9 +855,11 @@ void getXMLPackageChangelog(xmlNode *parent,
|
||||
int i = *count -1;
|
||||
for (xmlNode *entry=parent->children; entry; entry=entry->next) {
|
||||
if (entry->type == XML_ELEMENT_NODE && !strcmp((char*)entry->name, "changelog")) {
|
||||
(*changelogtime)[i] = atoi((char*)findXMLAttributeByName(entry, "date"));
|
||||
(*changelogrelease)[i] = strdup((char*)findXMLAttributeByName(entry, "author"));
|
||||
(*changelogtext)[i] = strdup((char*)entry->children->content);
|
||||
char *tmp = (char*)findXMLAttributeByName(entry, "date");
|
||||
(*changelogtime)[i] = atoi(tmp);
|
||||
free(tmp);
|
||||
(*changelogrelease)[i] = (char*)findXMLAttributeByName(entry, "author");
|
||||
(*changelogtext)[i] = (char*)entry->children->content;
|
||||
i--;
|
||||
}
|
||||
}
|
||||
@ -867,6 +869,7 @@ void getXMLPackageChangelog(xmlNode *parent,
|
||||
|
||||
void getXMLPackageNFV(xmlNode *parent, char ***name,
|
||||
uint_32 **flags, char ***version, int *count) {
|
||||
char buf[PATH_MAX];
|
||||
|
||||
*count = xmlChildElementCount(parent);
|
||||
if (*count == 0) {
|
||||
@ -887,15 +890,26 @@ void getXMLPackageNFV(xmlNode *parent, char ***name,
|
||||
*count);
|
||||
return;
|
||||
}
|
||||
(*name)[i] = strdup((char*)findXMLAttributeByName(entry, "name"));
|
||||
char *ver = (char*)findXMLAttributeByName(entry, "version");
|
||||
if (ver) {
|
||||
(*version)[i] = strdup(ver);
|
||||
free(ver);
|
||||
} else
|
||||
(*version)[i] = strdup("");
|
||||
(*name)[i] = (char*)findXMLAttributeByName(entry, "name");
|
||||
(*flags)[i] = XMLFlagToInt(
|
||||
(char*)findXMLAttributeByName(entry, "flags"));
|
||||
buf[0] = '\0';
|
||||
if ((*flags)[i] != RPMSENSE_ANY) {
|
||||
char *epoch = (char*)findXMLAttributeByName(entry, "epoch");
|
||||
char *ver = (char*)findXMLAttributeByName(entry, "ver");
|
||||
char *rel = (char*)findXMLAttributeByName(entry, "rel");
|
||||
if (epoch && ver && rel) {
|
||||
snprintf(buf, PATH_MAX,"%s:%s-%s", epoch, ver, rel);
|
||||
free(epoch);
|
||||
free(ver);
|
||||
free(rel);
|
||||
} else if (epoch && ver) {
|
||||
snprintf(buf, PATH_MAX,"%s:%s", epoch, ver);
|
||||
free(epoch);
|
||||
free(ver);
|
||||
}
|
||||
}
|
||||
(*version)[i] = strdup(buf);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@ -982,6 +996,7 @@ void addNewToSourceHeaderList(struct headerSourceList *newheadersourcelist,
|
||||
|
||||
int addToSourceHeaderList(struct configTag *ct, int mode, int altrepository) {
|
||||
char *scanpath;
|
||||
char *tmp;
|
||||
struct repoData* repodata = NULL;
|
||||
struct headerSourceList *newheadersourcelist;
|
||||
struct dirent **namelist;
|
||||
@ -1051,9 +1066,11 @@ int addToSourceHeaderList(struct configTag *ct, int mode, int altrepository) {
|
||||
newheadersourcelist->name = strdup((char*)
|
||||
findXMLPropertyByName(package_node, "name")->children->content);
|
||||
xmlNode *version = findXMLPropertyByName(package_node, "version");
|
||||
newheadersourcelist->epoch = atoi((char*)findXMLAttributeByName(version, "epoch"));
|
||||
newheadersourcelist->version = strdup((char*)findXMLAttributeByName(version, "ver"));
|
||||
newheadersourcelist->release = strdup((char*)findXMLAttributeByName(version, "rel"));
|
||||
tmp = (char*)findXMLAttributeByName(version, "epoch");
|
||||
newheadersourcelist->epoch = atoi(tmp);
|
||||
free(tmp);
|
||||
newheadersourcelist->version = (char*)findXMLAttributeByName(version, "ver");
|
||||
newheadersourcelist->release = (char*)findXMLAttributeByName(version, "rel");
|
||||
newheadersourcelist->summary = strdup((char*)
|
||||
findXMLPropertyByName(package_node, "summary")->children->content);
|
||||
newheadersourcelist->arch = strdup((char*)
|
||||
@ -1090,11 +1107,13 @@ int addToSourceHeaderList(struct configTag *ct, int mode, int altrepository) {
|
||||
logmsg(LOG_WARNING,"missing URL definition for package %s.",
|
||||
newheadersourcelist->name);
|
||||
xmlNode *ptime = findXMLPropertyByName(package_node, "time");
|
||||
newheadersourcelist->buildtime = atoi(
|
||||
(char*)findXMLAttributeByName(ptime, "build"));
|
||||
tmp = (char*)findXMLAttributeByName(ptime, "build");
|
||||
newheadersourcelist->buildtime = atoi(tmp);
|
||||
free(tmp);
|
||||
xmlNode *psize = findXMLPropertyByName(package_node, "size");
|
||||
newheadersourcelist->size = atoi(
|
||||
(char*)findXMLAttributeByName(psize, "package"));
|
||||
tmp = (char*)findXMLAttributeByName(psize, "package");
|
||||
newheadersourcelist->size = atoi(tmp);
|
||||
free(tmp);
|
||||
// FIXME: information missing from repodata
|
||||
newheadersourcelist->buildarchs = NULL;
|
||||
newheadersourcelist->excludearch = NULL;
|
||||
@ -1379,6 +1398,7 @@ char* advanceXMLPackageNode(xmlNode **primary_node, xmlNode **filelists_node) {
|
||||
xmlNode *primary_node[ALT_REPS_MAX + 1], *filelists_node[ALT_REPS_MAX + 1];
|
||||
char *currnames[ALT_REPS_MAX + 1];
|
||||
char nextname[bufsize + 1];
|
||||
char *tmp;
|
||||
|
||||
char scanpath[bufsize + 1], *altscanpath[ALT_REPS_MAX];
|
||||
char *scantag, *altscantag[ALT_REPS_MAX];
|
||||
@ -1534,9 +1554,11 @@ char* advanceXMLPackageNode(xmlNode **primary_node, xmlNode **filelists_node) {
|
||||
newheaderlist->name = strdup((char*)
|
||||
findXMLPropertyByName(primary_node[altidx], "name")->children->content);
|
||||
xmlNode *version = findXMLPropertyByName(primary_node[altidx], "version");
|
||||
newheaderlist->epoch = atoi((char*)findXMLAttributeByName(version, "epoch"));
|
||||
newheaderlist->version = strdup((char*)findXMLAttributeByName(version, "ver"));
|
||||
newheaderlist->release = strdup((char*)findXMLAttributeByName(version, "rel"));
|
||||
tmp = (char*)findXMLAttributeByName(version, "epoch");
|
||||
newheaderlist->epoch = atoi(tmp);
|
||||
free(tmp);
|
||||
newheaderlist->version = (char*)findXMLAttributeByName(version, "ver");
|
||||
newheaderlist->release = (char*)findXMLAttributeByName(version, "rel");
|
||||
newheaderlist->summary = strdup((char*)
|
||||
findXMLPropertyByName(primary_node[altidx], "summary")->children->content);
|
||||
newheaderlist->arch = strdup((char*)
|
||||
@ -1555,8 +1577,9 @@ char* advanceXMLPackageNode(xmlNode **primary_node, xmlNode **filelists_node) {
|
||||
newheaderlist->sourcename = strdup((char*)
|
||||
findXMLPropertyByName(format, "sourcerpm")->children->content);
|
||||
xmlNode *psize = findXMLPropertyByName(primary_node[altidx], "size");
|
||||
newheaderlist->size = atoi(
|
||||
(char*)findXMLAttributeByName(psize, "package"));
|
||||
tmp = (char*)findXMLAttributeByName(psize, "package");
|
||||
newheaderlist->size = atoi(tmp);
|
||||
free(tmp);
|
||||
|
||||
int ret = addNewToHeaderList(&currheaderlist, newheaderlist, ct,
|
||||
altidx, arch);
|
||||
|
Loading…
Reference in New Issue
Block a user