added doRmSource()
authorroot <devnull@localhost>
Wed, 14 Feb 1996 20:07:09 +0000 (20:07 +0000)
committerroot <devnull@localhost>
Wed, 14 Feb 1996 20:07:09 +0000 (20:07 +0000)
CVS patchset: 267
CVS date: 1996/02/14 20:07:09

build/build.c
build/pack.c
build/pack.h

index 5613ad1..71ea5c0 100644 (file)
@@ -633,5 +633,9 @@ int doBuild(Spec s, int flags)
        doSweep(s);
     }
 
+    if (flags & RPMBUILD_RMSOURCE) {
+       doRmSource(s);
+    }
+
     return 0;
 }
index f1daccb..0f85c7e 100644 (file)
@@ -945,3 +945,37 @@ int packageSource(Spec s)
     
     return 0;
 }
+
+/****************** Source Removal ********************/
+
+int doRmSource(Spec s)
+{
+    char filename[1024];
+    struct sources *source;
+    struct PackageRec *package;
+
+    /* spec file */
+    sprintf(filename, "%s%s", getVar(RPMVAR_SPECDIR),
+           strrchr(s->specfile, '/'));
+    unlink(filename);
+
+    /* sources and patches */
+    source = s->sources;
+    while (source) {
+       sprintf(filename, "%s/%s", getVar(RPMVAR_SOURCEDIR), source->source);
+       unlink(filename);
+       source = source->next;
+    }
+
+    /* icons */
+    package = s->packages;
+    while (package) {
+       if (package->icon) {
+           sprintf(filename, "%s/%s", getVar(RPMVAR_SOURCEDIR),
+                   package->icon);
+           unlink(filename);
+       }
+       package = package->next;
+    }
+    
+}
index 1117827..53857a2 100644 (file)
@@ -6,5 +6,6 @@
 void markBuildTime(void);
 int packageBinaries(Spec s);
 int packageSource(Spec s);
+int doRmSource(Spec s);
 
 #endif _PACK_H_