]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/lib/linux/rpmfactory/RpmBuildEnvironment.java
Update license header
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.simple / src / main / java / org / argeo / slc / lib / linux / rpmfactory / RpmBuildEnvironment.java
index a3b0d95c44050ab8590946a162cae8ba069c37f9..ca4383bd3a9cc413af05c20392902450e70efbbd 100644 (file)
@@ -10,10 +10,25 @@ import java.util.Map;
 import org.apache.commons.io.FileUtils;
 import org.argeo.slc.SlcException;
 
+/**
+ * Defines a build environment. This information is typically used by other
+ * components performing the various actions related to RPM build.
+ */
 public class RpmBuildEnvironment {
-       private String defaultMacroFiles = "/usr/lib/rpm/macros:/usr/lib/rpm/ia32e-linux/macros:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/ia32e-linux/macros:~/.rpmmacros";
+       static String defaultMacroFiles = "/usr/lib/rpm/macros:/usr/lib/rpm/ia32e-linux/macros:/usr/lib/rpm/redhat/macros:/etc/rpm/macros.*:/etc/rpm/macros:/etc/rpm/ia32e-linux/macros:~/.rpmmacros";
+
        private Map<String, String> rpmmacros = new HashMap<String, String>();
 
+       private List<String> archs = new ArrayList<String>();
+
+       private String stagingBase = "/srv/rpmfactory";
+
+       /** Write (topdir)/rpmmacros and (topdir)/rpmrc */
+       public void writeRpmbuildConfigFiles(File topdir) {
+               writeRpmbuildConfigFiles(topdir, new File(topdir, "rpmmacros"),
+                               new File(topdir, "rpmrc"));
+       }
+
        public void writeRpmbuildConfigFiles(File topdir, File rpmmacroFile,
                        File rpmrcFile) {
                try {
@@ -30,8 +45,7 @@ public class RpmBuildEnvironment {
                                        + rpmmacroFile.getCanonicalPath());
                        FileUtils.writeLines(rpmrcFile, rpmrcLines);
                } catch (IOException e) {
-                       throw new SlcException("Cannot write rpmbuild config files",
-                                       e);
+                       throw new SlcException("Cannot write rpmbuild config files", e);
                }
 
        }
@@ -52,4 +66,19 @@ public class RpmBuildEnvironment {
                this.defaultMacroFiles = defaultMacroFiles;
        }
 
+       public void setArchs(List<String> archs) {
+               this.archs = archs;
+       }
+
+       public List<String> getArchs() {
+               return archs;
+       }
+
+       public String getStagingBase() {
+               return stagingBase;
+       }
+
+       public void setStagingBase(String stagingBase) {
+               this.stagingBase = stagingBase;
+       }
 }