Author: locilka
Date: Fri Nov 9 11:11:30 2007
New Revision: 41908
URL: http://svn.opensuse.org/viewcvs/yast?rev=41908&view=rev
Log:
- Addded new check_deps script for basic checking of imported
YCP or Perl (YaST) modules.
Added:
trunk/devtools/devtools/bin/check_deps (with props)
Modified:
trunk/devtools/devtools/bin/Makefile.am
trunk/devtools/package/yast2-devtools.changes
Modified: trunk/devtools/devtools/bin/Makefile.am
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/bin/Makefile.am?rev=41908&r1=41907&r2=41908&view=diff
==============================================================================
--- trunk/devtools/devtools/bin/Makefile.am (original)
+++ trunk/devtools/devtools/bin/Makefile.am Fri Nov 9 11:11:30 2007
@@ -28,7 +28,8 @@
y2compile \
y2makeall \
y2makepot \
- check_icons
+ check_icons \
+ check_deps
EXTRA_DIST = $(bin_SCRIPTS) $(ybin_SCRIPTS) $(pkgdata_SCRIPTS) version.in
Added: trunk/devtools/devtools/bin/check_deps
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/devtools/bin/check_deps?rev=41908&view=auto
==============================================================================
--- trunk/devtools/devtools/bin/check_deps (added)
+++ trunk/devtools/devtools/bin/check_deps Fri Nov 9 11:11:30 2007
@@ -0,0 +1,111 @@
+#!/bin/bash
+
+MODULES_DIRECTORY="/usr/share/YaST2/modules"
+
+#
+# ==Authors==
+# Lukas Ocilka
+#
+# ==About==
+# This script greps for all imported YCP or YaST-Perl modules
+# and finds out to which RPM those YCP or Perl modules belong.
+#
+# ==Syntax==
+# ./check_deps [src_directory [be_verbose [RPM_root]]]
+#
+# ==Usage==
+# 1.) ./check_deps
+# Writes all imported modules
+# Writes all used RPMs
+#
+# 2.) ./check_deps /SVN/openSUSE_11.0/yast2-network/
+# Checks the /SVN/openSUSE_11.0/yast2-network/ directory
+#
+# 3.) ./check_deps . .
+# Checks the current directory and it's more verbose
+# (writes which module belongs to which RPM)
+#
+# 4.) ./check_deps . . /other_directory/
+# Checks the current directory and it's more verbose
+# Information which module belongs to which RPM is taken
+# from /other_directory/ directory (RPMs have to be installed
+# there, not only copied, see `man rpm` and '--root').
+#
+
+CHECK_DIRECTORY=$1
+
+BE_VERBOSE=$2
+
+ROOT=$3
+
+##################################################################
+
+if [ "${CHECK_DIRECTORY}" != "" ]; then
+ echo "Working in directory: "${CHECK_DIRECTORY}
+ cd "${CHECK_DIRECTORY}"
+else
+ echo "Working in directory: "`pwd`
+fi
+
+if [ "${ROOT}" == "" ]; then
+ ROOT="/"
+fi
+echo "Root: "${ROOT}
+
+TMPFILE=`mktemp`
+
+USED_MODULES_YCP=`grep -r "import \".*\"" * 2>/dev/null | \
+ grep -v "\(/\*\|//\).*import \".*\"" | \
+ grep "\.ycp:" | \
+ grep -v "\(\.svn\|doc/\|testsuite\/\|.changes:\)" | \
+ sed 's/.*import "\([^"]*\)".*/\1/' \
+ >> ${TMPFILE}
+`
+
+USED_MODULES_PERL=`grep -r "YaST::YCP::Import[^#]*\"" * * 2>/dev/null | \
+ grep -v "#.*YaST::YCP::Import" | \
+ grep "\.pm:" | \
+ grep -v "\(\.svn\|doc/\|testsuite\/\|.changes:\)" | \
+ sed 's/.*YaST::YCP::Import *( *"\([^"]*\)" *).*/\1/' \
+ >> ${TMPFILE}
+`
+USED_MODULES=`cat ${TMPFILE} | grep -v "^\(SCR\|UI\|Pkg\)$" | sort | uniq`
+rm -rf ${TMPFILE}
+
+if [ "$USED_MODULES" == "" ]; then
+ echo "No imported YCP modules..."
+ exit 0;
+fi
+
+echo
+echo "All imported modules:"
+echo "---------------------"
+echo ${USED_MODULES}
+
+ALL_USED_MODULES=""
+for MODULE in ${USED_MODULES}; do
+ if [ -e "${MODULES_DIRECTORY}/${MODULE}.ycp" ]; then
+ ALL_USED_MODULES=${ALL_USED_MODULES}" ${MODULES_DIRECTORY}/${MODULE}.ycp"
+ elif [ -e "${MODULES_DIRECTORY}/${MODULE}.pm" ]; then
+ ALL_USED_MODULES=${ALL_USED_MODULES}" ${MODULES_DIRECTORY}/${MODULE}.pm"
+ else
+ echo "Can't find ${MODULE} module!"
+ fi
+done
+
+# echo ${ALL_USED_MODULES}
+
+echo
+echo "All imported YaST packages:"
+echo "---------------------------"
+if [ "${BE_VERBOSE}" == "" ]; then
+ rpm --queryformat "%{NAME}\n" -qf ${ALL_USED_MODULES} | sort | uniq
+else
+ OUTPUT=""
+ for MODULE in ${ALL_USED_MODULES}; do
+ OUTPUT="${OUTPUT}"`rpm --root=${ROOT} --queryformat "%{NAME}\n" -qf ${MODULE}`"\\tFile: ${MODULE}\\n"
+ done
+ echo -e ${OUTPUT} | sort
+fi
+
+echo
Modified: trunk/devtools/package/yast2-devtools.changes
URL: http://svn.opensuse.org/viewcvs/yast/trunk/devtools/package/yast2-devtools.changes?rev=41908&r1=41907&r2=41908&view=diff
==============================================================================
--- trunk/devtools/package/yast2-devtools.changes (original)
+++ trunk/devtools/package/yast2-devtools.changes Fri Nov 9 11:11:30 2007
@@ -1,4 +1,10 @@
-------------------------------------------------------------------
+Fri Nov 9 11:10:19 CET 2007 - locilka@suse.cz
+
+- Addded new check_deps script for basic checking of imported
+ YCP or Perl (YaST) modules.
+
+-------------------------------------------------------------------
Wed Oct 10 14:34:01 CEST 2007 - mvidner@suse.cz
- Suppresed portability warnings from automake. We know that we use
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org