X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Flib%2Flinux%2Frpmfactory%2FRpmBuildEnvironment.java;h=ca4383bd3a9cc413af05c20392902450e70efbbd;hb=5fcacdb600e4c9e765cb93b46132932662832c1b;hp=a3b0d95c44050ab8590946a162cae8ba069c37f9;hpb=8f889799e6a47e28225dd0c9e8f9502f35adb42f;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/lib/linux/rpmfactory/RpmBuildEnvironment.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/lib/linux/rpmfactory/RpmBuildEnvironment.java index a3b0d95c4..ca4383bd3 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/lib/linux/rpmfactory/RpmBuildEnvironment.java +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/lib/linux/rpmfactory/RpmBuildEnvironment.java @@ -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 rpmmacros = new HashMap(); + private List archs = new ArrayList(); + + 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 archs) { + this.archs = archs; + } + + public List getArchs() { + return archs; + } + + public String getStagingBase() { + return stagingBase; + } + + public void setStagingBase(String stagingBase) { + this.stagingBase = stagingBase; + } }