]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
createpkg: Terminado a seleção de pacotes por nomes com curringas (*, ?, ...)
authorrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Sun, 19 Nov 2006 23:10:09 +0000 (23:10 +0000)
committerrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Sun, 19 Nov 2006 23:10:09 +0000 (23:10 +0000)
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@35 04377dda-e619-0410-9926-eae83683ac58

src/createpkg

index 81187155593054f010a16d635af189c6f6c15586..4280a7d449007541c068e87ea6d19356e14553dd 100644 (file)
@@ -353,6 +353,25 @@ fi
 # Get SlackBuild script
 BUILD_SCRIPT="`find_script $PACKAGE`"
 
+# Select one SlackBuild
+if [ "`echo $BUILD_SCRIPT | wc -w`" -gt 1 ]; then
+    AUX="$PS3"
+    PS3="Choice: "
+    LIST=`echo $BUILD_SCRIPT | sed 's/ /\n/g' | sed -r 's/.*\/(.*)\.SlackBuild$/\1/'`" EXIT"
+    select PACKAGE in `echo $LIST`; do
+        break
+    done
+    if [ "$PACKAGE" = "EXIT" ]; then
+        echo -e "$CL_ERROR error: None package select $CL_OFF"
+        exit 1
+    fi
+    # Select only one SlackBuild in BUILD_SCRIPT
+    BUILD_SCRIPT=`echo $BUILD_SCRIPT | sed 's/ /\n/g' | grep "/$PACKAGE.SlackBuild"`
+    PS3="$AUX"
+else
+    PACKAGE=`echo $BUILD_SCRIPT | sed -r 's/.*\/(.*)\.SlackBuild$/\1/'`
+fi
+
 # Check SlackBuild script found
 if [ -z "$BUILD_SCRIPT" ]; then
     handle_error 5 $PACKAGE
@@ -389,14 +408,18 @@ echo -e "$CL_MENSG $BASENAME: processing $SCRIPT_NAME $CL_OFF"
 
 # Built package
 cd $SCRIPT_BASE
-INTERACT=no ./$SCRIPT_NAME
+# Execute SlackBuild script with variables protection
+( INTERACT=no ./$SCRIPT_NAME )
 
 # Check if package was built
 handle_error $? $PACKAGE
 
+PKG_TGZ="`ls -1 -c $REPOS/$PACKAGE-*-*-*tgz | head -n 1`"
+mkdir -p $PKG_TGZ $REPOS/${SCRIPT_BASE/$BUILD_SCRIPT}
+
 if [ "$INSTALL" == "1" ]; then
     # as we dont have the full package file name, we'll
     # use the newer file name that matches our wildcard:
-    PACKAGE="`ls -1 -c $REPOS/$PACKAGE-*-*-*tgz | head -n 1`"
-    upgradepkg --install-new $PACKAGE
+
+    upgradepkg --install-new $PKG_TGZ
 fi