[Abtlinux-svn] SF.net SVN: abtlinux: [446] src/trunk
Status: Alpha
Brought to you by:
eschabell
From: <esc...@us...> - 2007-12-27 19:09:16
|
Revision: 446 http://abtlinux.svn.sourceforge.net/abtlinux/?rev=446&view=rev Author: eschabell Date: 2007-12-27 11:09:13 -0800 (Thu, 27 Dec 2007) Log Message: ----------- Implemented show-frozen package list method. Modified Paths: -------------- src/trunk/abt.rb src/trunk/abtreportmanager.rb src/trunk/testabtreportmanager.rb Modified: src/trunk/abt.rb =================================================================== --- src/trunk/abt.rb 2007-12-27 13:16:27 UTC (rev 445) +++ src/trunk/abt.rb 2007-12-27 19:09:13 UTC (rev 446) @@ -325,10 +325,31 @@ end when "show-frozen" - # FIXME : show frozen pkg's implementation. - puts "Display all packages frozen at current version." - show.usage( "queries" ) - + if ( ARGV.length == 1 ) + logger.info( "Starting display of frozen packages." ) + frozenResults = reporter.show_frozen_packages + if ( frozenResults.empty? ) + puts "\n\nNothing is frozen at this time.\n\n" + logger.info( "Completed display of frozen packages." ) + exit + else + # we have results hash! + puts "\n\n\t========================" + puts "\tAbTLinux frozen packages" + puts "\t========================" + puts "\nPackage name: \t\tFrozen since:" + puts "============\t\t=============" + frozenResults.each_pair { |name, timestamp| puts "#{name} \t\t#{timestamp}" } + end + + #puts "===========================================" + puts "\n\n" + logger.info( "Completed display of frozen packages." ) + else + show.usage( "queries" ) + exit + end + when "show-untracked" # FIXME : show untracked files implementation. puts "Display all files on system not tracked by AbTLinux." Modified: src/trunk/abtreportmanager.rb =================================================================== --- src/trunk/abtreportmanager.rb 2007-12-27 13:16:27 UTC (rev 445) +++ src/trunk/abtreportmanager.rb 2007-12-27 19:09:13 UTC (rev 446) @@ -133,10 +133,44 @@ ## # Display a list of the packages found in the frozen list. # - # <b>RETURN</b> <i>void.</i> + # <b>RETURN</b> <i>hash</i> - a hash of the frozen packages, keys are package + # names and values are the frozen timestamps. ## def show_frozen_packages - return false + + # determine if there are frozen pacakges. + frozenHash = Hash.new # has for values found. + + if ( Dir.entries( $PACKAGE_INSTALLED ) - [ '.', '..' ] ).empty? + return Hash.new # empty hash, no entries. + else + Dir.foreach( $PACKAGE_INSTALLED ) { |package| + if ( package != "." && package != "..") + # split the installed entry into two parts, + # the package name and the version number. + #packageArray = package.split( "-" ) + #packageName = packageArray[0] + + # check for frozen log file. + if ( File.exist?( "#{$PACKAGE_INSTALLED}/#{package}/frozen.log" ) ) + # dump packgae + frozen.log timestamp in packageHash. + begin + file = File.new("#{$PACKAGE_INSTALLED}/#{package}/frozen.log", "r") + #while (line = file.gets) + line = file.gets + frozenHash = frozenHash.merge( Hash[ "#{package}" => "#{line}" ] ) + #end + file.close + rescue => error + puts "Exception: #{error}" + return false + end + end + end + } + end + + return frozenHash end ## Modified: src/trunk/testabtreportmanager.rb =================================================================== --- src/trunk/testabtreportmanager.rb 2007-12-27 13:16:27 UTC (rev 445) +++ src/trunk/testabtreportmanager.rb 2007-12-27 19:09:13 UTC (rev 446) @@ -90,7 +90,10 @@ @manager.install_package( "ipc" ) end - # TODO: freeze test pacakge. + # ensure test package freeze. + if !@system.package_frozen( "ipc" ) + @manager.freeze_package "ipc" + end assert( @report.show_frozen_packages(), "test_show_frozen_packages()" ) end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |