Drop support for half-baked rzr file idea.
authorKristian Høgsberg <krh@redhat.com>
Fri, 9 Nov 2007 03:36:16 +0000 (22:36 -0500)
committerKristian Høgsberg <krh@redhat.com>
Fri, 9 Nov 2007 03:36:16 +0000 (22:36 -0500)
import.c
razor.h

index 23faa16..c223ea5 100644 (file)
--- a/import.c
+++ b/import.c
 #include "sha1.h"
 #include "razor.h"
 
-static void
-parse_package(struct razor_importer *importer, const char **atts, void *data)
-{
-       const char *name = NULL, *version = NULL;
-       int i;
-
-       for (i = 0; atts[i]; i += 2) {
-               if (strcmp(atts[i], "name") == 0)
-                       name = atts[i + 1];
-               else if (strcmp(atts[i], "version") == 0)
-                       version = atts[i + 1];
-       }
-
-       if (name == NULL || version == NULL) {
-               fprintf(stderr, "invalid package tag, "
-                       "missing name or version attributes\n");
-               return;
-       }
-
-       razor_importer_begin_package(importer, name, version);
-}
-
-enum {
-       RZR_REQUIRES, RZR_PROVIDES
-};
-
-static void
-parse_property(struct razor_importer *importer, const char **atts, void *data)
-{
-       const char *name = NULL, *version = NULL;
-       int i;
-
-       for (i = 0; atts[i]; i += 2) {
-               if (strcmp(atts[i], "name") == 0)
-                       name = atts[i + 1];
-               if (strcmp(atts[i], "version") == 0)
-                       version = atts[i + 1];
-       }
-       
-       if (name == NULL) {
-               fprintf(stderr, "invalid tag, missing name attribute\n");
-               return;
-       }
-
-       switch ((int) data) {
-       case RZR_REQUIRES:
-               razor_importer_add_property(importer, name, version,
-                                           RAZOR_PROPERTY_REQUIRES);
-               break;
-       case RZR_PROVIDES:
-               razor_importer_add_property(importer, name, version,
-                                           RAZOR_PROPERTY_PROVIDES);
-               break;
-       }
-}
-
-static void
-start_element(void *data, const char *name, const char **atts)
-{
-       struct razor_importer *importer = data;
-
-       if (strcmp(name, "package") == 0)
-               parse_package(importer, atts, NULL);
-       else if (strcmp(name, "requires") == 0)
-               parse_property(importer, atts, (void *) RZR_REQUIRES);
-       else if (strcmp(name, "provides") == 0)
-               parse_property(importer, atts, (void*) RZR_PROVIDES);
-}
-
-static void
-end_element (void *data, const char *name)
-{
-       struct razor_importer *importer = data;
-
-       if (strcmp(name, "package") == 0)
-               razor_importer_finish_package(importer);
-}
-
-static int
-import_rzr_file(struct razor_importer *importer, const char *filename)
-{
-       SHA_CTX sha1;
-       XML_Parser parser;
-       int fd;
-       void *p;
-       struct stat stat;
-       unsigned char hash[20];
-
-       fd = open(filename, O_RDONLY);
-       if (fstat(fd, &stat) < 0)
-               return -1;
-       p = mmap(NULL, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0);
-       if (p == MAP_FAILED)
-               return -1;
-
-       parser = XML_ParserCreate(NULL);
-       XML_SetUserData(parser, importer);
-       XML_SetElementHandler(parser, start_element, end_element);
-       if (XML_Parse(parser, p, stat.st_size, 1) == XML_STATUS_ERROR) {
-               fprintf(stderr,
-                       "%s at line %ld, %s\n",
-                       XML_ErrorString(XML_GetErrorCode(parser)),
-                       XML_GetCurrentLineNumber(parser),
-                       filename);
-               return 1;
-       }
-
-       XML_ParserFree(parser);
-
-       SHA1_Init(&sha1);
-       SHA1_Update(&sha1, p, stat.st_size);
-       SHA1_Final(hash, &sha1);
-
-       close(fd);
-
-       munmap(p, stat.st_size);
-
-       return 0;
-}
-
-struct razor_set *
-razor_import_rzr_files(int count, const char *files[])
-{
-       struct razor_importer *importer;
-       int i;
-
-       importer = razor_importer_new();
-
-       for (i = 0; i < count; i++) {
-               if (import_rzr_file(importer, files[i]) < 0) {
-                       fprintf(stderr, "failed to import %s\n", files[i]);
-                       exit(-1);
-               }
-       }
-
-       return razor_importer_finish(importer);
-}
-
 /* Import a yum filelist as a razor package set. */
 
 enum {
diff --git a/razor.h b/razor.h
index 17f6fef..9009da9 100644 (file)
--- a/razor.h
+++ b/razor.h
@@ -62,7 +62,6 @@ int razor_importer_add_rpm(struct razor_importer *importer,
 
 struct razor_set *razor_importer_finish(struct razor_importer *importer);
 
-struct razor_set *razor_import_rzr_files(int count, const char **files);
 struct razor_set *razor_set_create_from_yum(void);
 struct razor_set *razor_set_create_from_rpmdb(void);