diff --git a/bin/mkpackage.pike b/bin/mkpackage.pike index e7b7e28eb2f3883d9c5cfbc0c04129eac8c6c3ca..6ac2827279c51ffe2c320460b011283ddf048ffb 100644 --- a/bin/mkpackage.pike +++ b/bin/mkpackage.pike @@ -63,6 +63,11 @@ class Package return sprintf("%ctmP%07x", c, random(0xfffffff)); } + string basename(string path) + { + return (path/"/")[-1]; + } + string make(string package_filename) { string setup_filename = unique_name('S')+".sh"; @@ -71,7 +76,7 @@ class Package string setup = ("#!/bin/sh\n" "TARFILE=\"$1\"; shift; ARGS=''\n" "CONTENTS=`tar tf \"$TARFILE\" | sed -ne '/^"+ - (replace(install_filename, ".", "\\.")/"/")[-1]+"/,$p'`\n" + replace(basename(install_filename), ".", "\\.")+"/,$p'`\n" // Check all arguments for possible options. "while [ $# != 0 ]\n" "do\n" @@ -89,8 +94,9 @@ class Package "mkdir "+unpack_directory+"\n" "(cd "+unpack_directory+"\n" " tar xf ../\"$TARFILE\" $CONTENTS\n" - " ./"+(pike_filename/"/")[-1]+" " - "--script \"`pwd`\"/"+install_filename+")\n" + " ./"+basename(pike_filename)+" " + "--script \"`pwd`\"/"+ + basename(install_filename)+")\n" "rm -rf "+setup_filename+" "+unpack_directory+"\n"); string bootstrap = sprintf("#!/bin/sh\n"