]> gitweb.fluxo.info Git - simplepkg.git/commitdiff
git-svn-id: svn+slack://slack.fluxo.info/var/svn/simplepkg@810 04377dda-e619-0410...
authorrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Tue, 9 Jun 2009 13:06:05 +0000 (13:06 +0000)
committerrudson <rudson@04377dda-e619-0410-9926-eae83683ac58>
Tue, 9 Jun 2009 13:06:05 +0000 (13:06 +0000)
trunk/src/lspkg
trunk/src/mkpatch
trunk/src/mkpatch.new [new file with mode: 0755]
trunk/src/mkpatch.old [deleted file]

index e35baea5fffbfe93222ba4e8a11bfe521101f566..c5e4ec808a4280cd65c91df3523e0ef50c10e9ee 100755 (executable)
@@ -36,11 +36,16 @@ function usage {
     echo "
 options are:
 
-   -v, --view: view installed package contents
-   -p, --print: print the contents of a package file
-   -r, --remove: remove matching packages
-   -s, --search: search a file under installed packages
-   -d, --description: show matching packages' descriptions
+   -v, --view <package_name>
+            view installed package contents
+   -p, --print <package_name>
+            print the contents of a package file
+   -r, --remove <package_name>
+            remove matching packages
+   -s, --search <file_name>
+            search a file under installed packages
+   -d, --description <package_name>
+            show matching packages' descriptions
 "
 }
 
index b800a04176cd459ff980f3598b89ac441c36c7d0..bbf990b016cab20c7f18823ea491bde7084d7481 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 #
-# MKPatch 2.0.0: Simple patch program to .mkbuild models
+# mkpatch: Simple patch program to .mkbuild models
 # feedback: rudsonaalves at yahoo.com.br | gpl
 #
 #  mkbuild is free software; you can redistribute it and/or modify it under the
 #   - #2 Source_File
 #
 # Version:
-PROG_VERSION=2.0
+PROG_VERSION=1.1
 BASENAME=`basename $0`
 
-if [ "$1" = "--help" -o "$1" = "-h" ]; then
-    echo "Use: $BASENAME <diff_file> <source_file>"
-    exit $ERROR_HELP
-fi
+function get_line {
 
-# check number of parameters
-[ $# -ne 2 ] && exit 102
+    # get a line $1 from file $2
+    [ $# -ne 2 ] && exit $ERROR_PAR_NUMBER
+    ! is_number $1 && exit $ERROR_NOT_NUMBER
+    [ ! -e $2 ] && exit $ERROR_FILE_NOTFOUND
 
-# check diff_file exit
-[ ! -e $1 ] && exit 100
+    sed "$1 q;d" $2
+}
 
-# check source_file exit
-[ ! -e $2 ] && exit 100
+function get_diff_line {
 
-# Change IFS to <ENTER> only
-OLD_IFS=$IFS
-IFS='
-'
+    # get diff line e return:
+    #  - Action in Diff_Action
+    #  - Diff Line in Diff_Str_Line
+    if [ $1 -gt $Diff_N_Lines ]; then
+        Diff_Action=" "
+        Diff_Str_Line=""
+        return 0
+    fi
+    Line=`get_line $1 $2`
+    Diff_Action=`echo "$Line" | cut -c1`
+    Diff_Str_Line=`echo "$Line" | cut -c2-`
+}
 
-# Read file patch
-index=0
-while read line; do    
-    Diff_lines[index]="`echo $line | cut -c2-`"
-    Diff_action[index]="`echo $line | cut -c1`"
-    let index++
-done < $1
-let Diff_n_lines=index-1
 
-#for index in `seq 1 $Diff_n_lines`; do
-#    echo "Action:"${Diff_action[index]}"<  Line:"${Diff_lines[index]}"<"
-#done
+# ----------------------------------------------------------------
+# ------------------- mkpatch program ----------------------------
+# common.sh library start
+COMMON_SH="/usr/libexec/simplepkg/common.sh"
+if [ -f "$COMMON_SH" ]; then
+  source $COMMON_SH
+else
+  echo "$BASENAME: file $COMMON_SH not found. Check your $BASENAME installation"
+fi
 
-# Read source file
-index=0
-while read line; do
-    Source_lines[index]="$line"
-    let index++
-done < $2
-let Source_n_lines=index-1
+# Load error codes
+error_codes
+# ----------------
 
-#for index in `seq 1 $Source_n_lines`; do
-#    echo "${Source_lines[index]}"
-#done
+if [ "$1" = "--help" -o "$1" = "-h" ]; then
+    echo "Use: $BASENAME <diff_file> <source_file>"
+    exit $ERROR_HELP
+fi
+
+# Check input parameters
+[ $# -ne 2 ] && exit $ERROR_PAR_NUMBER
+[ ! -e $1 ] && exit $ERROR_FILE_NOTFOUND
+[ ! -e $2 ] && exit $ERROR_FILE_NOTFOUND
 
-IFS=$OLD_IFS
+# Start variables
+Diff_File=$1
+Source_File=$2
+Diff_N_Lines=`wc -l $1 | cut -f1 -d" "`
+Source_N_Lines=`wc -l $2 | cut -f1 -d" "`
 
-Source_index=0
-Diff_index=0
-Diff_pointer=0
-Status_diff=0
+# Start vars
+Diff_Line=1
+Diff_Pointer=1
+Status_Diff=0
 
-Output=""
-Output_index=0
+# Get frist Diff_File line
+get_diff_line $Diff_Line $Diff_File || exit $?
 
-#echo -e "\n\nStart Patch...\n\n"
-#set -x
-while [ $Source_index -le $Source_n_lines -a $Diff_index -le $Diff_n_lines ]; do
+Source_Line=1
+# Get frist Source_File line
+Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
+while [ $Source_Line -le $Source_N_Lines ];  do
     # make Actions
-    #echo ">${Diff_action[Diff_index]}<"
-    case "${Diff_action[Diff_index]}" in
+    case $Diff_Action in
         '-')
-            if [ "${Source_lines[Source_index]}" == "${Diff_lines[Diff_index]}" ]; then
-                Status_diff=1
-                let Diff_index++
+            if [ "$Source_Str_Line" = "$Diff_Str_Line" ]; then
+                Status_Diff=1
+                let Diff_Line++
             else
-                Diff_index=$Diff_pointer
-                Status_diff=0
-                Output[Output_index]="${Source_lines[Souce_index]}"
-                let Output_index++
+                Diff_Line=$Diff_Pointer
+                Status_Diff=0
+                echo "$Source_Str_Line"
             fi
-            let Source_index++
-            ;;
+            get_diff_line $Diff_Line $Diff_File || exit $?
+            let Source_Line++
+            Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
+        ;;
         '+')
-            Output[Output_index]="${Diff_lines[Diff_index]}"
-            let Diff_index++
-            let Output_index++
-            ;;
+            echo "$Diff_Str_Line"
+            let Diff_Line++
+            get_diff_line $Diff_Line $Diff_File || exit $?
+        ;;
         ' ')
-            if [ "${Source_lines[Source_index]}" == "${Diff_lines[Diff_index]}" ]; then
-                Status_diff=1
-                let Diff_index++
+            if [ "$Source_Str_Line" = "$Diff_Str_Line" ]; then
+                Status_Diff=1
+                let Diff_Line++
             else
-                Status_diff=0
-                Diff_index=$Diff_pointer
+                Status_Diff=0
+                Diff_Line=$Diff_Pointer
             fi
-            Output[Output_index]="${Source_lines[Source_index]}"
-            let Output_index++
-            let Source_index++
-            ;;
+            echo "$Source_Str_Line"
+            get_diff_line $Diff_Line $Diff_File || exit $?
+            let Source_Line++
+            Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
+        ;;
         '=')
-            let Diff_index++
-            Status_diff=0
-            Diff_pointer=$Diff_index
-            ;;
-        '*')
+            let Diff_Line++
+            Status_Diff=0
+            Diff_Pointer=$Diff_Line
+            get_diff_line $Diff_Line $Diff_File || exit $?
+        ;;
+        *)
             echo "Invalid diff action."
-            exit 600
-            ;;
+            exit $ERROR_MKPATCH
+        ;;
     esac
-    #read ANS; clear
-done
-#set -x
-if [ $Diff_index -gt $Diff_n_lines -a $Source_index -le $Source_n_lines ]; then
-    for index in `seq $Source_index $Source_n_lines`; do
-        Output[Output_index]="${Source_lines[index]}"
-        let Output_index++
-    done
-elif [ $Diff_index -le $Diff_n_lines ]; then
-    # Make others addline "+" in the end file
-    while [ "${Diff_Action[Diff_index]}" == "+" ]; do
-        Output[Output_index]="${Diff_lines[Diff_index]}"
-        let Diff_index++
-        let Output_index++
-    done
-fi
-#exit 1
-# Print Output file
-for index in `seq 1 $Output_index`; do
-    echo "${Output[$index-1]}"
 done
 
+# Make others addline "+" in the end file
+while [ "$Diff_Action" = "+" -a $Diff_Line -le $Diff_N_Lines ]; do
+    echo "$Diff_Str_Line"
+    let Diff_Line++
+    get_diff_line $Diff_Line $Diff_File || exit $?
+done
diff --git a/trunk/src/mkpatch.new b/trunk/src/mkpatch.new
new file mode 100755 (executable)
index 0000000..cacab52
--- /dev/null
@@ -0,0 +1,145 @@
+#!/bin/bash
+#
+# MKPatch 2.0.0: Simple patch program to .mkbuild models
+# feedback: rudsonaalves at yahoo.com.br | gpl
+#
+#  mkbuild is free software; you can redistribute it and/or modify it under the
+#  terms of the GNU General Public License as published by the Free Software
+#  Foundation; either version 2 of the License, or any later version.
+#
+#  mkbuild is distributed in the hope that it will be useful, but WITHOUT ANY
+#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+#  You should have received a copy of the GNU General Public License along with
+#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+#  Place - Suite 330, Boston, MA 02111-1307, USA
+#
+# Input:
+#   - $1 Diff_File
+#   - #2 Source_File
+#
+# Version:
+PROG_VERSION=2.0
+BASENAME=`basename $0`
+
+# Errors codes. From common.sh
+ERROR_FILE_NOTFOUND=${ERROR_FILE_NOTFOUND:=100}
+ERROR_PAR_NUMBER=${ERROR_PAR_NUMBER:=102}
+ERROR_MKPATCH=${ERROR_MKPATCH:=600}
+
+# check input arguments
+if [ "$1" = "--help" -o "$1" = "-h" ]; then
+    echo "Use: $BASENAME <diff_file> <source_file>"
+    exit $ERROR_HELP
+fi
+
+# check number of parameters
+[ $# -ne 2 ] && exit $ERROR_PAR_NUMBER
+
+# check diff_file exit
+[ ! -e $1 ] && exit $ERROR_FILE_NOTFOUND
+
+# check source_file exit
+[ ! -e $2 ] && exit $ERROR_FILE_NOTFOUND
+
+# Change IFS value to <ENTER> only
+OLD_IFS=$IFS
+IFS='
+'
+
+# Read vector from patch file
+index=0
+while read line; do
+    Diff_lines[index]="`echo $line | cut -c2-`"
+    Diff_action[index]="`echo $line | cut -c1`"
+    let index++
+done < $1
+let Diff_n_lines=index-1
+
+# Read vector from source file
+index=0
+while read line; do
+    Source_lines[index]="$line"
+    let index++
+done < $2
+let Source_n_lines=index-1
+
+# Rescue IFS value
+IFS=$OLD_IFS
+
+# Stating variables
+Source_index=0
+Diff_index=0
+Diff_pointer=0
+Status_diff=0
+
+# Output vector
+Output=""
+Output_index=0
+
+# Apply patch
+while [ $Source_index -le $Source_n_lines -a $Diff_index -le $Diff_n_lines ]; do
+    # make Actions
+    case "${Diff_action[Diff_index]}" in
+        '-')
+            if [ "${Source_lines[Source_index]}" == "${Diff_lines[Diff_index]}" ]; then
+                Status_diff=1
+                let Diff_index++
+            else
+                Diff_index=$Diff_pointer
+                Status_diff=0
+                Output[Output_index]="${Source_lines[Souce_index]}"
+                let Output_index++
+            fi
+            let Source_index++
+            ;;
+        '+')
+            Output[Output_index]="${Diff_lines[Diff_index]}"
+            let Diff_index++
+            let Output_index++
+            ;;
+        ' ')
+            if [ "${Source_lines[Source_index]}" == "${Diff_lines[Diff_index]}" ]; then
+                Status_diff=1
+                let Diff_index++
+            else
+                Status_diff=0
+                Diff_index=$Diff_pointer
+            fi
+            Output[Output_index]="${Source_lines[Source_index]}"
+            let Output_index++
+            let Source_index++
+            ;;
+        '=')
+            let Diff_index++
+            Status_diff=0
+            Diff_pointer=$Diff_index
+            ;;
+        '*')
+            echo "Invalid diff action."
+            exit $ERROR_MKPATCH
+            ;;
+    esac
+done
+
+# Check end of file mkSlackBuild
+if [ $Diff_index -gt $Diff_n_lines -a $Source_index -le $Source_n_lines ]; then
+    # write the rest of mkSlackBuild in Output vector
+    for index in `seq $Source_index $Source_n_lines`; do
+        Output[Output_index]="${Source_lines[index]}"
+        let Output_index++
+    done
+elif [ $Diff_index -le $Diff_n_lines ]; then
+    # Write others addlines, "+", in Output vector
+    while [ "${Diff_Action[Diff_index]}" == "+" ]; do
+        Output[Output_index]="${Diff_lines[Diff_index]}"
+        let Diff_index++
+        let Output_index++
+    done
+fi
+
+# Print Output file
+for index in `seq 1 $Output_index`; do
+    echo "${Output[$index-1]}"
+done
diff --git a/trunk/src/mkpatch.old b/trunk/src/mkpatch.old
deleted file mode 100755 (executable)
index bbf990b..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-#!/bin/bash
-#
-# mkpatch: Simple patch program to .mkbuild models
-# feedback: rudsonaalves at yahoo.com.br | gpl
-#
-#  mkbuild is free software; you can redistribute it and/or modify it under the
-#  terms of the GNU General Public License as published by the Free Software
-#  Foundation; either version 2 of the License, or any later version.
-#
-#  mkbuild is distributed in the hope that it will be useful, but WITHOUT ANY
-#  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
-#  A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License along with
-#  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
-#  Place - Suite 330, Boston, MA 02111-1307, USA
-#
-# Input:
-#   - $1 Diff_File
-#   - #2 Source_File
-#
-# Version:
-PROG_VERSION=1.1
-BASENAME=`basename $0`
-
-function get_line {
-
-    # get a line $1 from file $2
-    [ $# -ne 2 ] && exit $ERROR_PAR_NUMBER
-    ! is_number $1 && exit $ERROR_NOT_NUMBER
-    [ ! -e $2 ] && exit $ERROR_FILE_NOTFOUND
-
-    sed "$1 q;d" $2
-}
-
-function get_diff_line {
-
-    # get diff line e return:
-    #  - Action in Diff_Action
-    #  - Diff Line in Diff_Str_Line
-    if [ $1 -gt $Diff_N_Lines ]; then
-        Diff_Action=" "
-        Diff_Str_Line=""
-        return 0
-    fi
-    Line=`get_line $1 $2`
-    Diff_Action=`echo "$Line" | cut -c1`
-    Diff_Str_Line=`echo "$Line" | cut -c2-`
-}
-
-
-# ----------------------------------------------------------------
-# ------------------- mkpatch program ----------------------------
-# common.sh library start
-COMMON_SH="/usr/libexec/simplepkg/common.sh"
-if [ -f "$COMMON_SH" ]; then
-  source $COMMON_SH
-else
-  echo "$BASENAME: file $COMMON_SH not found. Check your $BASENAME installation"
-fi
-
-# Load error codes
-error_codes
-# ----------------
-
-if [ "$1" = "--help" -o "$1" = "-h" ]; then
-    echo "Use: $BASENAME <diff_file> <source_file>"
-    exit $ERROR_HELP
-fi
-
-# Check input parameters
-[ $# -ne 2 ] && exit $ERROR_PAR_NUMBER
-[ ! -e $1 ] && exit $ERROR_FILE_NOTFOUND
-[ ! -e $2 ] && exit $ERROR_FILE_NOTFOUND
-
-# Start variables
-Diff_File=$1
-Source_File=$2
-Diff_N_Lines=`wc -l $1 | cut -f1 -d" "`
-Source_N_Lines=`wc -l $2 | cut -f1 -d" "`
-
-# Start vars
-Diff_Line=1
-Diff_Pointer=1
-Status_Diff=0
-
-# Get frist Diff_File line
-get_diff_line $Diff_Line $Diff_File || exit $?
-
-Source_Line=1
-# Get frist Source_File line
-Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
-while [ $Source_Line -le $Source_N_Lines ];  do
-    # make Actions
-    case $Diff_Action in
-        '-')
-            if [ "$Source_Str_Line" = "$Diff_Str_Line" ]; then
-                Status_Diff=1
-                let Diff_Line++
-            else
-                Diff_Line=$Diff_Pointer
-                Status_Diff=0
-                echo "$Source_Str_Line"
-            fi
-            get_diff_line $Diff_Line $Diff_File || exit $?
-            let Source_Line++
-            Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
-        ;;
-        '+')
-            echo "$Diff_Str_Line"
-            let Diff_Line++
-            get_diff_line $Diff_Line $Diff_File || exit $?
-        ;;
-        ' ')
-            if [ "$Source_Str_Line" = "$Diff_Str_Line" ]; then
-                Status_Diff=1
-                let Diff_Line++
-            else
-                Status_Diff=0
-                Diff_Line=$Diff_Pointer
-            fi
-            echo "$Source_Str_Line"
-            get_diff_line $Diff_Line $Diff_File || exit $?
-            let Source_Line++
-            Source_Str_Line=`get_line $Source_Line $Source_File` || exit $?
-        ;;
-        '=')
-            let Diff_Line++
-            Status_Diff=0
-            Diff_Pointer=$Diff_Line
-            get_diff_line $Diff_Line $Diff_File || exit $?
-        ;;
-        *)
-            echo "Invalid diff action."
-            exit $ERROR_MKPATCH
-        ;;
-    esac
-done
-
-# Make others addline "+" in the end file
-while [ "$Diff_Action" = "+" -a $Diff_Line -le $Diff_N_Lines ]; do
-    echo "$Diff_Str_Line"
-    let Diff_Line++
-    get_diff_line $Diff_Line $Diff_File || exit $?
-done