[137500] branches/gsoc15-dependency/base/src/macports1.0
ijackson at macports.org
ijackson at macports.org
Fri Jun 12 22:59:01 PDT 2015
Revision: 137500
https://trac.macports.org/changeset/137500
Author: ijackson at macports.org
Date: 2015-06-12 22:59:01 -0700 (Fri, 12 Jun 2015)
Log Message:
-----------
WIP: Implement search using libsolv
Modified Paths:
--------------
branches/gsoc15-dependency/base/src/macports1.0/macports.tcl
branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl
Modified: branches/gsoc15-dependency/base/src/macports1.0/macports.tcl
===================================================================
--- branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-06-13 05:31:55 UTC (rev 137499)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports.tcl 2015-06-13 05:59:01 UTC (rev 137500)
@@ -2741,8 +2741,9 @@
if {[info exists macports::global_options(ports_depengine)]} {
if {$macports::global_options(ports_depengine) eq "libsolv"} {
- macports::libsolv::print
macports::libsolv::create_pool
+ # macports::libsolv::print
+ set search_res [macports::libsolv::search $pattern]
}
}
set found 0
Modified: branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl
===================================================================
--- branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-06-13 05:31:55 UTC (rev 137499)
+++ branches/gsoc15-dependency/base/src/macports1.0/macports_libsolv.tcl 2015-06-13 05:59:01 UTC (rev 137500)
@@ -47,12 +47,18 @@
## Variable to keep check if libsolv cache is created or not.
variable libsolv_pool
+ ## Variable for pool
+ variable pool
+
proc print {} {
+ variable libsolv_pool
puts $solv::Job_SOLVER_SOLVABLE
+ puts $libsolv_pool
}
proc create_pool {} {
variable libsolv_pool
+ variable pool
if {![info exists libsolv_pool]} {
global macports::sources
@@ -63,7 +69,8 @@
foreach source $sources {
set source [lindex $source 0]
set repo [$pool add_repo $source]
-
+ set solvable [$repo add_solvable]
+
if {[catch {set fd [open [macports::getindex $source] r]} result]} {
ui_warn "Can't open index file for source: $source"
} else {
@@ -77,7 +84,8 @@
set line [read $fd $len]
#puts "\nname = ${name}\n"
- set solvable [$repo add_solv $name]
+ $solvable configure -name $name
+ #puts [$solvable cget -name]
}
}
}
@@ -91,5 +99,32 @@
proc search {pattern} {
# Search using libsolv
+ # puts "pattern = $pattern"
+ # global macports::libsolv::pool
+ variable pool
+
+ set sel [$pool Selection]
+ #set di [$pool Dataiterator $solv::SOLVABLE_NAME $pattern [expr $solv::Dataiterator_SEARCH_SUBSTRING | $solv::Dataiterator_SEARCH_NOCASE]]
+ #puts [$pool Dataiterator $solv::SOLVABLE_NAME $pattern [expr $solv::Dataiterator_SEARCH_SUBSTRING | $solv::Dataiterator_SEARCH_NOCASE]]
+
+ #puts [$di __next__ ]
+
+ foreach data [$pool Dataiterator $solv::SOLVABLE_NAME $pattern [expr $solv::Dataiterator_SEARCH_SUBSTRING | $solv::Dataiterator_SEARCH_NOCASE]] {
+ #while {[$di __next__] ne "NULL"}
+ puts "data = $data"
+ $sel add_raw $solv::Job_SOLVER_SOLVABLE $data::solvid
+ }
+
+ foreach s [$sel solvables] {
+ puts "solvable = $s"
+ }
+
+ #puts $res
+
+ #if {[info exists res]} {
+ # puts "$pattern found by libsolv"
+ #} else {
+ # puts "$pattern not found by libsolv"
+ #}
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20150612/fc4dd216/attachment.html>
More information about the macports-changes
mailing list