On 03/19/2012 06:56 AM, Mark Butler wrote: > Hello, > > First thanks for Bigtop! > > The client I am currently working for wants to create RPMs to install > Hadoop and friends in a custom layout, specifically > > /app/vscc/pkg/hadoop-0.20.205.2 > /app/vscc/pkg/hadoop-0.20.205.2/bin > /app/vscc/pkg/hadoop-0.20.205.2/lib > > /app/vscc/run/hadoop/pid > /app/vscc/run/hadoop/log > /app/vscc/run/hadoop/conf > > I note it is possible to reorganize the existing RPM layouts like this: > > rpm -i hadoop-0.20.205.0.2-1.x86-64.rpm --relocate > /usr=/app/vscc/pkg/hadoop-0.20.205.2 --relocate > /var/log/hadoop=/app/vscc/run/hadoop/log --relocate > /var/run/hadoop=/app/vscc/run/hadoop/pid --relocate > /etc/hadoop/conf.empty=/app/vscc/run/hadoop/conf.default --relocate > /etc/default=/app/vscc/run/hadoop/default --relocate > /etc/security/limits=/app/vscc/run/hadoop/limits > > However it would be nice to be able to specify this alternative layout > at build time, to avoid the complex RPM command at install time. > > Also, preferably the client should not have to maintain its own > internal version of Bigtop. > > Do you have any thoughts about the best way I could do this, so that > the changes could be incorporated back into Bigtop? > > Not the new layout obviously, just the ability to configure the > packages in a new layout? > > I have some ideas about this but I would be interested to here your > thoughts first? > > best wishes, > > Mark
Hi Mark, Great to know Apache Bigtop (incubating) can help you! The most obvious way I can think of from the top of my head would be to do something similar to what we do to pass versions: Somewhere in the Makefile/package.mk a variable is defined and is passed through %define to the build. It would require some changes to the packaging as well. But from your relocation example, you seem to not just change a prefix, but have a different relocation for each path. Is it a hard requirement? Limiting this to a single prefix would make things much simpler on the Apache Bigtop (incubating) side. Thanks, Bruno
