[ https://issues.apache.org/jira/browse/HADOOP-6255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13006276#comment-13006276 ]
Eric Yang commented on HADOOP-6255: ----------------------------------- Package builder design For supporting multiple type of packages, this project layout the packaging source code structure like this: {noformat} src/packages/rpm /deb /conf-pseudo {noformat} rpm - meta data for creating rpm packages. SysV init style startup script is also included for start up process in Redhat like environment. deb - meta data for creating debian packages. BSD init style startup script is also included for start up process in Ubuntu like environment. conf-pseudo - Configuration template for demo pseudo cluster setup. By default both rpm, or deb binary package does not startup the system. The purpose of conf-pseudo is to create a (rpm/deb) package as demonstration of how to setup a single node cluster and turn on services by configuration. Software home directory is designed to locate in: ${prefix}/share/${project} src/packages/update-${project}-env.sh runs in the post installation phase which creates symlinks and making software structure to map to the proposed layout in HADOOP-6255 /etc/default/${project}-evn.sh is symlinked to the project environment script. Hence, project environment variables are shared across projects. Project build file can override the package path in the build phase: Sample build.properties {noformat} package.prefix=/usr package.conf.dir=/etc/${project} package.log.dir=/var/log/${project} package.pid.dir=/var/log/${project} {noformat} For RPM package, it is possible to override location at installation phase by specifying: {noformat} rpm -i ${project}-[version]-[rev].[arch].rpm \ --relocate /usr=/usr/local/hadoop \ --relocate /etc/hadoop=/usr/local/etc/hadoop \ --relocate /var/log/hadoop=/opt/logs/hadoop \ --relocate /var/run/hadoop=/opt/run/hadoop {noformat} The same build structure can be apply to both ant or maven build scripts. It also expandable to include mac native package installer using this design pattern. > Create an rpm integration project > --------------------------------- > > Key: HADOOP-6255 > URL: https://issues.apache.org/jira/browse/HADOOP-6255 > Project: Hadoop Common > Issue Type: New Feature > Affects Versions: 0.20.100 > Reporter: Owen O'Malley > Assignee: Eric Yang > Fix For: 0.20.100 > > Attachments: HADOOP-6255-branch-0.20-security-1.patch, > HADOOP-6255-branch-0.20-security-2.patch, > HADOOP-6255-branch-0.20-security-3.patch, > HADOOP-6255-branch-0.20-security-4.patch, > HADOOP-6255-branch-0.20-security.patch, HADOOP-6255.patch, deployment.pdf, > deployment.tex > > > We should be able to create RPMs for Hadoop releases. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira