Author: suresh Date: Mon Nov 12 19:39:37 2012 New Revision: 1408416 URL: http://svn.apache.org/viewvc?rev=1408416&view=rev Log: MAPREDUCE-4780. MapReduce distribution build fails on Windows. Contributed by Chris Nauroth.
Modified: hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/CHANGES.branch-trunk-win.txt hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/pom.xml Modified: hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/CHANGES.branch-trunk-win.txt URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/CHANGES.branch-trunk-win.txt?rev=1408416&r1=1408415&r2=1408416&view=diff ============================================================================== --- hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/CHANGES.branch-trunk-win.txt (original) +++ hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/CHANGES.branch-trunk-win.txt Mon Nov 12 19:39:37 2012 @@ -3,3 +3,5 @@ branch-trunk-win changes - unreleased MAPREDUCE-4739. Some MapReduce tests fail to find winutils. (Chris Nauroth via suresh) + MAPREDUCE-4780. MapReduce distribution build fails on Windows. + (Chris Nauroth via suresh) Modified: hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/pom.xml URL: http://svn.apache.org/viewvc/hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/pom.xml?rev=1408416&r1=1408415&r2=1408416&view=diff ============================================================================== --- hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/pom.xml (original) +++ hadoop/common/branches/branch-trunk-win/hadoop-mapreduce-project/pom.xml Mon Nov 12 19:39:37 2012 @@ -178,22 +178,22 @@ <goal>run</goal> </goals> <configuration> - <!-- this is identical from hadoop-project-dist, eventually they must be unified --> <target if="tar"> - <!-- Using Unix script to preserve symlinks --> - <echo file="${project.build.directory}/dist-maketar.sh"> + <!-- This script preserves permissions and symlinks. --> + <!-- Python requires resetting indentation to far left. --> + <echo file="${project.build.directory}/dist-maketar.py"> +from os.path import join, normpath +import tarfile - which cygpath 2> /dev/null - if [ $? = 1 ]; then - BUILD_DIR="${project.build.directory}" - else - BUILD_DIR=`cygpath --unix '${project.build.directory}'` - fi - cd $BUILD_DIR - tar czf ${project.artifactId}-${project.version}.tar.gz ${project.artifactId}-${project.version} +base_name = "${project.artifactId}" + "-" + "${project.version}" +dir_name = normpath(join(r"${project.build.directory}", base_name)) +tar_name = dir_name + ".tar.gz" + +with tarfile.open(tar_name, "w:gz") as tar: + tar.add(dir_name, arcname=base_name) </echo> - <exec executable="sh" dir="${project.build.directory}" failonerror="true"> - <arg line="./dist-maketar.sh"/> + <exec executable="python" dir="${project.build.directory}" failonerror="true"> + <arg value="dist-maketar.py" /> </exec> </target> </configuration>