summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2012-11-17 11:50:01 (EST)
committerPascal Rapicault2012-11-17 11:50:01 (EST)
commit05e4162dd7c8e9ac6149c5a82fdea75addb2fbb9 (patch)
tree656070a3ee6b8727b11021530b7f4620b5d0e200
parenta16de9d2be7a04f8541f7ad0dbbd4957a510f089 (diff)
downloadrt.equinox.incubator-05e4162dd7c8e9ac6149c5a82fdea75addb2fbb9.zip
rt.equinox.incubator-05e4162dd7c8e9ac6149c5a82fdea75addb2fbb9.tar.gz
rt.equinox.incubator-05e4162dd7c8e9ac6149c5a82fdea75addb2fbb9.tar.bz2
remove moved codeHEADmaster
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.classpath11
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.gitignore1
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.project40
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.core.prefs333
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.ui.prefs61
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.m2e.core.prefs5
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.maven.ide.eclipse.prefs8
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/pom.xml166
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf2
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-p22
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-paranoid2
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-trendy2
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/Comparator.java51
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/ExtractInstalled.java38
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/StanzaSorter.java36
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Log.java15
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java282
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java21
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java622
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IProvidedCapability.java38
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IRequiredCapability.java43
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/InstallableUnit.java159
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/NotRequirement.java50
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ORRequirement.java95
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ProvidedCapability.java53
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/RequiredCapability.java119
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/Version.java260
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/VersionRange.java214
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/CapabilityQuery.java51
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Collector.java134
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/IQueryable.java37
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/MatchQuery.java94
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Query.java40
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/QueryableArray.java151
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/AlignedMeasurementHelper.java119
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Explanation.java193
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ExplanationJob.java76
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Messages.java60
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java407
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/P2OptimizationFunction.java97
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Pair.java22
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ParanoidOptimizationFunction.java64
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ProfileChangeRequest.java90
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Projector.java517
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SimplePlanner.java84
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Slicer.java144
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SolverConfiguration.java23
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Tracing.java20
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java92
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TwoTierMap.java354
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction.java188
-rwxr-xr-xp2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction2012.java328
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/messages.properties44
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/osgi/util/NLS.java393
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/AllTests.java33
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CUDFTestHelper.java25
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllFailingInstances.java33
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllPassingInstances.java26
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckInstance.java50
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckMancoosiLists.java45
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/KeepHighestVersion.java37
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/ParserTest.java186
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/Rand31de2d.java65
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/SolverComparator.java50
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstall.java47
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstallRequestExample.java61
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestJosepExample.java71
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInDepends.java5
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInRequest.java5
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestOptional.java59
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestPascalExample.java61
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRecommends.java67
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRemoval.java62
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/failingInstall.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/aSelfProvides.cudf18
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest.cudf18
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest2.cudf17
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest3.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest4.cudf14
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest5.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/installTestFailure.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/strangeRequest.cudf16
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/testConflicts2.cudf13
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/virtualPackageConficts.cudf13
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/aSelfProvides.cudf16
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installRequest.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest.cudf11
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest2.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/keep-Feature.cudf0
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/provides.cudf14
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand101491-sol.cudf.txt11669
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand101491.cudf.bz2bin1131302 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand31de2d-sol-subset.cudf146
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand31de2d-sol-subset2.cudf52
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand31de2d-sol.cudf20082
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand31de2d.cudf.bz2bin1126982 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand35afbf-sol.cudf.txt25905
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand35afbf.cudf316965
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand396cf8-sol.cudf.txt19294
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand396cf8.cudf.bz2bin1126983 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randb992a4-sol.cudf.txt11669
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randb992a4.cudf.bz2bin1126707 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randbbb4ba-sol.cudf.txt18832
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randbbb4ba.cudf.bz2bin1127029 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randd6bc17-sol.cudf.txt11669
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randd6bc17.cudf.bz2bin1126690 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rande2165e-sol.cudf.txt21597
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rande2165e.cudf.bz2bin1126948 -> 0 bytes
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/randfa53aa-sol.cudf.txt17686
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/testConflict.cudf6
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/testConflicts2.cudf16
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/upgradeTest.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/upgradeTest2.cudf8
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/upgradeTest3.cudf17
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/upgradeTest4.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/upgradeVirtualPackage.cudf16
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/withoutExplicitRequest.cudf21
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/josep.cudf21
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/keepHighestVersion.cudf15
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/parsingTest.cudf81
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/pascal.cudf24
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/sample1.cudf48
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/simpleUpgrade.cudf17
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/testConflicts.cudf12
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/testKeep.cudf22
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/testRecommends.cudf20
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/testRemoval.cudf14
-rw-r--r--p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/virtualPackageConficts.cudf13
128 files changed, 0 insertions, 483746 deletions
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.classpath b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.classpath
deleted file mode 100644
index b6abe87..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" output="target/classes" path="src/main/java"/>
- <classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
- <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.gitignore b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.gitignore
deleted file mode 100644
index eb5a316..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-target
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.project b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.project
deleted file mode 100644
index f393c59..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.project
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.equinox.p2.cudf</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.maven.ide.eclipse.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.m2e.core.maven2Nature</nature>
- <nature>org.maven.ide.eclipse.maven2Nature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.core.prefs b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index aa36c42..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,333 +0,0 @@
-#Sat Dec 11 19:40:07 EST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.5
-org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
-org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
-org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
-org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
-org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
-org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
-org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
-org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
-org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_after_package=1
-org.eclipse.jdt.core.formatter.blank_lines_before_field=0
-org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
-org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
-org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
-org.eclipse.jdt.core.formatter.blank_lines_before_method=1
-org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
-org.eclipse.jdt.core.formatter.blank_lines_before_package=0
-org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
-org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
-org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
-org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
-org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
-org.eclipse.jdt.core.formatter.comment.format_block_comments=false
-org.eclipse.jdt.core.formatter.comment.format_header=false
-org.eclipse.jdt.core.formatter.comment.format_html=true
-org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=false
-org.eclipse.jdt.core.formatter.comment.format_line_comments=false
-org.eclipse.jdt.core.formatter.comment.format_source_code=true
-org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
-org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
-org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
-org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
-org.eclipse.jdt.core.formatter.comment.line_length=80
-org.eclipse.jdt.core.formatter.compact_else_if=true
-org.eclipse.jdt.core.formatter.continuation_indentation=2
-org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
-org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
-org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
-org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_empty_lines=false
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
-org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
-org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
-org.eclipse.jdt.core.formatter.indentation.size=4
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_member=insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
-org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
-org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
-org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
-org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
-org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
-org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
-org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
-org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
-org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
-org.eclipse.jdt.core.formatter.join_lines_in_comments=true
-org.eclipse.jdt.core.formatter.join_wrapped_lines=true
-org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
-org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
-org.eclipse.jdt.core.formatter.lineSplit=800
-org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
-org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
-org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
-org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=false
-org.eclipse.jdt.core.formatter.tabulation.char=tab
-org.eclipse.jdt.core.formatter.tabulation.size=4
-org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.ui.prefs b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.ui.prefs
deleted file mode 100644
index b03fc97..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.jdt.ui.prefs
+++ /dev/null
@@ -1,61 +0,0 @@
-#Fri Dec 18 00:54:02 CET 2009
-eclipse.preferences.version=1
-editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
-formatter_profile=_core
-formatter_settings_version=11
-org.eclipse.jdt.ui.ignorelowercasenames=true
-org.eclipse.jdt.ui.importorder=
-org.eclipse.jdt.ui.ondemandthreshold=3
-org.eclipse.jdt.ui.staticondemandthreshold=3
-sp_cleanup.add_default_serial_version_id=true
-sp_cleanup.add_generated_serial_version_id=false
-sp_cleanup.add_missing_annotations=true
-sp_cleanup.add_missing_deprecated_annotations=true
-sp_cleanup.add_missing_methods=false
-sp_cleanup.add_missing_nls_tags=false
-sp_cleanup.add_missing_override_annotations=true
-sp_cleanup.add_missing_override_annotations_interface_methods=true
-sp_cleanup.add_serial_version_id=false
-sp_cleanup.always_use_blocks=true
-sp_cleanup.always_use_parentheses_in_expressions=false
-sp_cleanup.always_use_this_for_non_static_field_access=false
-sp_cleanup.always_use_this_for_non_static_method_access=false
-sp_cleanup.convert_to_enhanced_for_loop=false
-sp_cleanup.correct_indentation=false
-sp_cleanup.format_source_code=true
-sp_cleanup.format_source_code_changes_only=false
-sp_cleanup.make_local_variable_final=false
-sp_cleanup.make_parameters_final=false
-sp_cleanup.make_private_fields_final=true
-sp_cleanup.make_type_abstract_if_missing_method=false
-sp_cleanup.make_variable_declarations_final=true
-sp_cleanup.never_use_blocks=false
-sp_cleanup.never_use_parentheses_in_expressions=true
-sp_cleanup.on_save_use_additional_actions=false
-sp_cleanup.organize_imports=true
-sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
-sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
-sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
-sp_cleanup.remove_private_constructors=true
-sp_cleanup.remove_trailing_whitespaces=false
-sp_cleanup.remove_trailing_whitespaces_all=true
-sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
-sp_cleanup.remove_unnecessary_casts=true
-sp_cleanup.remove_unnecessary_nls_tags=false
-sp_cleanup.remove_unused_imports=false
-sp_cleanup.remove_unused_local_variables=false
-sp_cleanup.remove_unused_private_fields=true
-sp_cleanup.remove_unused_private_members=false
-sp_cleanup.remove_unused_private_methods=true
-sp_cleanup.remove_unused_private_types=true
-sp_cleanup.sort_members=false
-sp_cleanup.sort_members_all=false
-sp_cleanup.use_blocks=false
-sp_cleanup.use_blocks_only_for_return_and_throw=false
-sp_cleanup.use_parentheses_in_expressions=false
-sp_cleanup.use_this_for_non_static_field_access=false
-sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
-sp_cleanup.use_this_for_non_static_method_access=false
-sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.m2e.core.prefs b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index 2032dd3..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,5 +0,0 @@
-#Tue Aug 23 21:43:25 CEST 2011
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.maven.ide.eclipse.prefs b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.maven.ide.eclipse.prefs
deleted file mode 100644
index 32e2b13..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/.settings/org.maven.ide.eclipse.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Sat Dec 11 19:40:05 EST 2010
-activeProfiles=
-eclipse.preferences.version=1
-fullBuildGoals=process-test-resources
-resolveWorkspaceProjects=true
-resourceFilterGoals=process-resources resources\:testResources
-skipCompilerPlugin=true
-version=1
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/pom.xml b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/pom.xml
deleted file mode 100644
index 1e044dd..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/pom.xml
+++ /dev/null
@@ -1,166 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <name>p2 CUDF resolver</name>
- <description>p2 CDUF resolver</description>
-
- <url>http://wiki.eclipse.org/Equinox/p2/CUDFResolver</url>
- <issueManagement>
- <system>Eclipse Bugzilla</system>
- <url>https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Equinox</url>
- </issueManagement>
- <inceptionYear>2010</inceptionYear>
- <developers>
- <developer>
- <id>leberre</id>
- <name>Daniel Le Berre</name>
- <email>daniel.leberre@sat4j.org</email>
- <url>http://www.sat4j.org/</url>
- <organization>CRIL CNRS 8188</organization>
- <organizationUrl>http://www.cril.fr</organizationUrl>
- <roles>
- <role>architect</role>
- <role>developer</role>
- </roles>
- <timezone>+1</timezone>
- </developer>
- <developer>
- <id>prapicau</id>
- <name>Pascal Rapicault</name>
- <email>pascal@sonatype.com</email>
- <organization>Sonatype</organization>
- <organizationUrl>http://sonatype.com</organizationUrl>
- <timezone>-6</timezone>
- <roles>
- <role>architect</role>
- <role>developer</role>
- </roles>
- </developer>
- </developers>
- <scm>
- <connection>scm:cvs:pserver:anonynous:@dev.eclipse.org:/cvsroot/rt:org.eclipse.equinox/incubator/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf</connection>
- <url>scm:cvs:pserver:anonynous:@dev.eclipse.org:/cvsroot/rt:org.eclipse.equinox/incubator/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf</url>
- </scm>
-
- <licenses>
- <license>
- <name>Eclipse Public License 1.0</name>
- <url>http://www.eclipse.org/org/documents/epl-v10.php</url>
- <distribution>Manual</distribution>
- </license>
- </licenses>
-
- <groupId>org.eclipse.equinox</groupId>
- <artifactId>org.eclipse.equinox.p2.cudf</artifactId>
- <version>1.15-SNAPSHOT</version>
-
-
- <organization>
- <name>Eclipse</name>
- <url>http://eclipse.org/equinox/</url>
- </organization>
- <repositories>
- <repository>
- <id>RSO</id>
- <url>https://oss.sonatype.org/</url>
- </repository>
- </repositories>
- <dependencies>
- <dependency>
- <groupId>org.eclipse.core</groupId>
- <artifactId>org.eclipse.core.jobs</artifactId>
- <version>3.5.0.v20100515</version>
- </dependency>
- <dependency>
- <groupId>org.sat4j</groupId>
- <artifactId>org.sat4j.pb</artifactId>
- <version>2.3.3-SNAPSHOT</version>
- </dependency>
- <dependency>
-
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>ant</groupId>
- <artifactId>ant</artifactId>
- <version>1.6.4</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-shade-plugin</artifactId>
- <version>1.4</version>
- <executions>
- <execution>
- <phase>package</phase>
- <goals>
- <goal>shade</goal>
- </goals>
- <configuration>
- <shadedArtifactAttached>false</shadedArtifactAttached>
- <artifactSet>
- <!-- Exclude job -->
- <excludes>
- <exclude>org.eclipse.core:org.eclipse.core.jobs</exclude>
- <exclude>org.eclipse.osgi:org.eclipse.osgi</exclude>
- </excludes>
- </artifactSet>
- <filters>
- <filter>
- <!-- Only copy a handful of classes from equinox.common -->
- <artifact>org.eclipse.equinox:org.eclipse.equinox.common</artifact>
- <includes>
- <include>org/eclipse/core/runtime/OperationCanceledException.class</include>
- <include>org/eclipse/core/runtime/IProgressMonitor.class</include>
- <include>org/eclipse/core/runtime/IStatus.class</include>
- <include>org/eclipse/core/runtime/MultiStatus.class</include>
- <include>org/eclipse/core/runtime/NullProgressMonitor.class</include>
- <include>org/eclipse/core/runtime/Status.class</include>
- <include>org/eclipse/core/internal/runtime/LocalizationUtils.class</include>
- <include>org/eclipse/core/runtime/Assert.class</include>
- <include>org/eclipse/core/runtime/AssertionFailedException.class</include>
- </includes>
- </filter>
- </filters>
- <transformers>
- <!-- Make the jar executable -->
- <transformer
- implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
- <mainClass>org.eclipse.equinox.p2.cudf.Main</mainClass>
- </transformer>
- </transformers>
- </configuration>
- </execution>
- </executions>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-enforcer-plugin</artifactId>
- <version>1.0</version>
- <executions>
- <execution>
- <id>enforce-maven</id>
- <goals>
- <goal>enforce</goal>
- </goals>
- <configuration>
- <rules>
- <requireMavenVersion>
- <version>[3.0.0,)</version>
- </requireMavenVersion>
- </rules>
- </configuration>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf
deleted file mode 100755
index 059dc18..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-java -jar -server -Xms700m -Xmx700m -jar p2cudf.jar $1 $2 $3
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-p2 b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-p2
deleted file mode 100755
index 2706a39..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-p2
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-./p2cudf $1 p2 $2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-paranoid b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-paranoid
deleted file mode 100755
index 2241396..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-paranoid
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-./p2cudf $1 paranoid $2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-trendy b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-trendy
deleted file mode 100755
index 04e8802..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/scripts/p2cudf-trendy
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-./p2cudf $1 trendy $2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/Comparator.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/Comparator.java
deleted file mode 100644
index 76be322..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/Comparator.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tools;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-
-public class Comparator {
- public static void main(String[] args) {
- ProfileChangeRequest stanza1 = new Parser().parse(new File(args[0]));
- ProfileChangeRequest stanza2 = new Parser().parse(new File(args[1]));
- Set set1 = new HashSet(stanza1.getInitialState().getList());
- Set set2 = new HashSet(stanza2.getInitialState().getList());
- if (set1.containsAll(set2) && set2.containsAll(set1)) {
- System.out.println("NO DIFFERENCE");
- return;
- }
- System.out.println(args[0] + " contains " + set1.size());
- System.out.println(args[1] + " contains " + set2.size());
- set1.removeAll(set2);
- if (set1.isEmpty())
- System.out.println(args[0] + " contains all elements of " + args[1]);
- else {
- System.out.println(args[0] + " contains the following additional elements over" + args[1]);
- for (Iterator iterator = set1.iterator(); iterator.hasNext();) {
- System.out.println(iterator.next());
- }
- }
- Set set1p = new HashSet(stanza1.getInitialState().getList());
- Set set2p = new HashSet(stanza2.getInitialState().getList());
- set2p.removeAll(set1p);
- if (set2p.isEmpty())
- System.out.println(args[1] + " contains all elements of " + args[0]);
- else {
- System.out.println(args[1] + " contains the following additional elements over" + args[0]);
- for (Iterator iterator = set2p.iterator(); iterator.hasNext();) {
- System.out.println(iterator.next());
- }
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/ExtractInstalled.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/ExtractInstalled.java
deleted file mode 100644
index 54e0dd7..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/ExtractInstalled.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tools;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Log;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-
-//Print on standard output the set of installed packages from the stanza
-public class ExtractInstalled {
- public static void main(String[] args) {
- ProfileChangeRequest pcr = new Parser().parse(new File(args[0]));
- List l = pcr.getInitialState().getList();
- Collections.sort(l);
- Log.println(("Solution contains:" + l.size()));
- for (Iterator iterator = l.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- if (!iu.isInstalled())
- continue;
- System.out.println("package: " + iu.getId());
- System.out.println("version: " + iu.getVersion().getMajor());
- System.out.println("installed: true");
- System.out.println();
- }
-
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/StanzaSorter.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/StanzaSorter.java
deleted file mode 100644
index 99bcc8b..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src-tools/org/eclipse/equinox/p2/cudf/tools/StanzaSorter.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tools;
-
-import java.io.File;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Log;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-
-//Sort a CUDF file on the standard otput
-public class StanzaSorter {
- public static void main(String[] args) {
- ProfileChangeRequest pcr = new Parser().parse(new File(args[0]));
- List state = pcr.getInitialState().getList();
- Collections.sort(state);
- Log.println(("Solution contains:" + state.size()));
- for (Iterator iterator = state.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- System.out.println("package: " + iu.getId());
- System.out.println("version: " + iu.getVersion().getMajor());
- System.out.println("installed: true");
- System.out.println();
- }
-
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Log.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Log.java
deleted file mode 100755
index f57d63a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Log.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package org.eclipse.equinox.p2.cudf;
-
-public class Log {
- static boolean verbose = true;
-
- public static void println(String s) {
- if (verbose)
- System.out.println("# " + s);
- }
-
- public static void printlnNoPrefix(String s) {
- if (verbose)
- System.out.println(s);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java
deleted file mode 100755
index b5e3463..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf;
-
-import java.io.*;
-import java.util.*;
-import java.util.Map.Entry;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class Main {
- public static final String PLUGIN_ID = "org.eclipse.equinox.p2.cudf"; //$NON-NLS-1$
- private static final String VERBOSE = "-verbose";
- private static final String OBJECTIVE = "-obj";
- private static final String TIMEOUT = "-timeout";
- private static final String SORT = "-sort";
- private static final String EXPLAIN = "-explain";
- private static final String ENCODING = "-encoding";
-
- protected static transient Thread shutdownHook = new Thread() {
- public void run() {
- if (planner != null) {
- if (options.encoding) {
- out.println(planner.getSolver().toString());
- PrintWriter outMapping = null;
- try {
- String mappingFilename;
- if (options.output == null) {
- mappingFilename = "stdout.mapping";
- } else {
- mappingFilename = options.output + ".mapping";
- }
- outMapping = new PrintWriter(new FileWriter(mappingFilename));
- Map mapping = planner.getMappingToDomain();
- Set entries = mapping.entrySet();
- for (Iterator it = entries.iterator(); it.hasNext();) {
- Map.Entry entry = (Entry) it.next();
- outMapping.println(entry.getKey() + "=" + entry.getValue());
- }
- } catch (IOException e) {
- System.out.println("# cannot write mapping: " + e.getMessage());
- } finally {
- if (outMapping != null) {
- outMapping.close();
- }
- }
- } else {
- planner.stopSolver();
- try {
- Thread.sleep(500);
- } catch (InterruptedException e) {
- // wait for the solver to stop properly.
- }
- long end = System.currentTimeMillis();
- Log.println(("Solving done (" + (end - begin) / 1000.0 + "s)."));
- Collection col = planner.getBestSolutionFoundSoFar();
- if (col == null) {
- printFail("Cannot find a solution");
- if (options.explain) {
- out.println(planner.getExplanation());
- }
- } else if (col.isEmpty()) {
- System.out.println("# There is nothing to install ????");
- out.println("# There is nothing to install ....");
- } else {
- if (planner.isSolutionOptimal()) {
- System.out.println("# The solution found IS optimal");
- } else {
- System.out.println("# WARNING: The solution found MIGHT NOT BE optimal");
- }
- printSolution(col, options);
- }
- if (options.output != null)
- out.close();
- }
- }
- }
- };
-
- static {
- Runtime.getRuntime().addShutdownHook(shutdownHook);
- }
-
- private static final void usage() {
- System.out.println("Usage: p2cudf [flags] inputFile [outputFile]");
- System.out.println("-obj paranoid|trendy|<user defined> The objective function to be used to resolve the problem.");
- System.out.println(" Users can define their own: +new,-changed,-notuptodate,-unsat_recommends,-removed,-sum(installedsize)");
- System.out.println("-timeout <number>(c|s) The time out after which the solver will stop. e.g. 10s stops after 10 seconds, 10c stops after 10 conflicts. Default is set to 200c for p2 and 2000c for other objective functions.");
- System.out.println("-sort Sort the output.");
- System.out.println("-explain Provides one reason of the unability to fullfil the request");
- System.out.println("-verbose Display details on the platform, internal SAT solver and steps reached");
- // System.out.println("-encoding Output the original cudf request into an OPB problem");
- }
-
- static PrintStream out = System.out;
- static SimplePlanner planner;
- static Options options;
- static long begin;
-
- public static Options processArguments(String[] args) {
- Options result = new Options();
- if (args == null)
- return result;
-
- for (int i = 0; i < args.length; i++) {
- if (args[i].equalsIgnoreCase(VERBOSE)) {
- result.verbose = true;
- continue;
- }
-
- if (args[i].equalsIgnoreCase(ENCODING)) {
- throw new IllegalArgumentException("Encoding not available for lexico solving");
- // result.encoding = true;
- // continue;
- }
- if (args[i].equalsIgnoreCase(EXPLAIN)) {
- result.explain = true;
- continue;
- }
-
- if (args[i].equalsIgnoreCase(OBJECTIVE)) {
- // if (args[i + 1].startsWith("-")) {
- // printFail("-obj should be followed by the name of the objective function.");
- // System.exit(1);
- // }
- result.objective = args[++i];
- if ("paranoid".equalsIgnoreCase(result.objective)) {
- result.objective = Options.PARANOID;
- } else if ("trendy".equalsIgnoreCase(result.objective)) {
- result.objective = Options.TRENDY;
- }
- continue;
- }
-
- if (args[i].equalsIgnoreCase(TIMEOUT)) {
- if (args[i + 1].startsWith("-")) {
- printFail("-" + TIMEOUT + " should be followed by a time in seconds or a number of conflicts.");
- System.exit(1);
- }
- result.timeout = args[++i];
- continue;
- }
-
- if (args[i].equalsIgnoreCase(SORT)) {
- result.sort = true;
- continue;
- }
- if (result.input == null)
- result.input = new File(args[i]);
- else
- result.output = new File(args[i]);
- }
- return result;
- }
-
- private static boolean validateOptions(Options theOptions) {
- boolean error = false;
- // if (!"paranoid".equalsIgnoreCase(options.objective) && !"trendy".equalsIgnoreCase(options.objective) && !"p2".equalsIgnoreCase(options.objective)) {
- // printFail("Wrong Optimization criteria: " + options.objective);
- // error = true;
- // }
- if (theOptions.input == null || !theOptions.input.exists()) {
- printFail("Missing input file.");
- error = true;
- }
- if (theOptions.timeout != null && !theOptions.timeout.equals("default") && !theOptions.timeout.endsWith("c") && !theOptions.timeout.endsWith("s")) {
- printFail("Timeout should be either <number>s (100s) or <number>c (100c)");
- error = true;
- }
- return error;
- }
-
- public static void main(String[] args) {
- if (args.length == 0) {
- usage();
- return;
- }
- options = processArguments(args);
- if (validateOptions(options)) {
- System.exit(1);
- }
- Log.verbose = options.verbose;
- logOptions(options);
- logVmDetails();
-
- if (options.output != null) {
- try {
- out = new PrintStream(new FileOutputStream(options.output));
- } catch (FileNotFoundException e) {
- printFail("Output file does not exist.");
- System.exit(1);
- }
- }
- try {
- invokeSolver(parseCUDF(options.input), new SolverConfiguration(options.objective, options.timeout, options.verbose, options.explain, options.encoding));
- } catch (Exception ex) {
- printFail(ex.getMessage());
- }
- System.exit(0);
- }
-
- private static void logOptions(Options theOptions) {
- if (!theOptions.verbose)
- return;
- Log.println("Solver launched on " + new Date());
- Log.println("Using input file " + theOptions.input.getAbsolutePath());
- Log.println("Using ouput file " + (theOptions.output == null ? "STDOUT" : theOptions.output.getAbsolutePath()));
- Log.println("Objective function " + theOptions.objective);
- Log.println("Timeout " + theOptions.timeout);
- }
-
- private static void logVmDetails() {
- Properties prop = System.getProperties();
- String[] infoskeys = {"java.runtime.name", "java.vm.name", "java.vm.version", "java.vm.vendor", "sun.arch.data.model", "java.version", "os.name", "os.version", "os.arch"}; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$//$NON-NLS-5$
- for (int i = 0; i < infoskeys.length; i++) {
- String key = infoskeys[i];
- Log.println((key + ((key.length() < 14) ? "\t\t" : "\t") + prop.getProperty(key))); //$NON-NLS-1$
- }
- Runtime runtime = Runtime.getRuntime();
- Log.println(("Free memory \t\t" + runtime.freeMemory())); //$NON-NLS-1$
- Log.println(("Max memory \t\t" + runtime.maxMemory())); //$NON-NLS-1$
- Log.println(("Total memory \t\t" + runtime.totalMemory())); //$NON-NLS-1$
- Log.println(("Number of processors \t" + runtime.availableProcessors())); //$NON-NLS-1$
- }
-
- static void printFail(String message) {
- out.println("FAIL");
- out.println(message);
- }
-
- private static Object invokeSolver(ProfileChangeRequest request, SolverConfiguration configuration) {
- Log.println("Solving ...");
- begin = System.currentTimeMillis();
- planner = new SimplePlanner();
- Object result = planner.getSolutionFor(request, configuration);
- return result;
- }
-
- private static ProfileChangeRequest parseCUDF(File file) {
- Log.println("Parsing ...");
- long myBegin = System.currentTimeMillis();
- String sumpProperty = extractSumProperty(options.objective);
- ProfileChangeRequest result = new Parser().parse(file, options.objective.contains("recommend"), sumpProperty);
- long myEnd = System.currentTimeMillis();
- Log.println(("Parsing done (" + (myEnd - myBegin) / 1000.0 + "s)."));
- return result;
- }
-
- private static String extractSumProperty(String objectiveFunction) {
- String[] criteria = objectiveFunction.split(",");
- for (String criterion : criteria) {
- if (criterion.contains("sum")) {
- return Options.extractSumProperty(criterion);
- }
- }
- return null;
- }
-
- static void printSolution(Collection state, Options theOptions) {
- if (theOptions.sort) {
- ArrayList tmp = new ArrayList(state);
- Collections.sort(tmp);
- state = tmp;
- }
- Log.println(("Solution contains:" + state.size()));
- for (Iterator iterator = state.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- out.println("package: " + iu.getId());
- out.println("version: " + iu.getVersion().getMajor());
- out.println("installed: true");
- out.println();
- }
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java
deleted file mode 100755
index 66ad31a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.equinox.p2.cudf;
-
-import java.io.File;
-
-public class Options {
- public static final String PARANOID = "-removed,-changed";
- public static final String TRENDY = "-removed,-notuptodate,-unsat_recommends,-new";
-
- public static String extractSumProperty(String sumCriterion) {
- return sumCriterion.substring(5, sumCriterion.length() - 1);
- }
-
- boolean verbose = false;
- String objective = PARANOID;
- String timeout = "default";
- boolean explain = false;
- public File input;
- public File output;
- public boolean sort = false;
- boolean encoding = false;
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java
deleted file mode 100755
index 29d8ea9..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java
+++ /dev/null
@@ -1,622 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf;
-
-import java.io.*;
-import java.util.*;
-import java.util.zip.GZIPInputStream;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.*;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-
-public class Parser {
-
- private static final boolean FORCE_QUERY = true; //TO SET TO FALSE FOR COMPETITION
- private static final boolean DEBUG = false; //TO SET TO FALSE FOR COMPETITION
- private static final boolean TIMING = true; //TO SET TO FALSE FOR COMPETITION
- private InstallableUnit currentIU = null;
- private ProfileChangeRequest currentRequest = null;
- private List allIUs = new ArrayList();
- private QueryableArray query = null;
- private List preInstalled = new ArrayList(10000);
- private List keepRequests = new ArrayList();
- private List currentKeepRequests = new ArrayList();
-
- class Tuple {
- String name;
- String version;
- String operator;
- Set extraData;
-
- Tuple(String line) {
- String[] tuple = new String[3];
- int i = 0;
- for (StringTokenizer iter = new StringTokenizer(line, " \t"); iter.hasMoreTokens(); i++)
- tuple[i] = iter.nextToken();
- name = tuple[0];
- operator = tuple[1];
- version = tuple[2];
- }
- }
-
- public ProfileChangeRequest parse(File file) {
- return parse(file, false, null);
- }
-
- public ProfileChangeRequest parse(File file, boolean includeRecommends, String sumProperty) {
- try {
- InputStream in = new FileInputStream(file);
- if (file.getName().endsWith(".gz")) {
- in = new GZIPInputStream(in);
- } else if (file.getName().endsWith(".bz2")) {
- in = Runtime.getRuntime().exec("bunzip2 -c " + file.getAbsolutePath()).getInputStream();
- }
- return parse(in, includeRecommends, sumProperty);
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- return null;
- } catch (IOException e) {
- e.printStackTrace();
- return null;
- }
- }
-
- public ProfileChangeRequest parse(InputStream stream) {
- return parse(stream, false, null);
- }
-
- public ProfileChangeRequest parse(InputStream stream, String sumProperty) {
- return parse(stream, false, sumProperty);
- }
-
- public ProfileChangeRequest parse(InputStream stream, boolean includeRecommends, String sumProperty) {
- long start;
- if (TIMING)
- start = System.currentTimeMillis();
- BufferedReader reader = null;
- try {
- reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
- String next = reader.readLine();
- while (true) {
-
- // look-ahead to check for line continuation
- String line = next;
- for (next = reader.readLine(); next != null && next.length() > 1 && next.charAt(0) == ' '; next = reader.readLine()) {
- line = line + next.substring(1);
- }
-
- // terminating condition of the loop... reached the end of the file
- if (line == null) {
- validateAndAddIU();
- break;
- }
-
- // end of stanza
- if (line.trim().length() == 0) {
- validateAndAddIU();
- continue;
- }
-
- // preamble stanza
- if (line.startsWith("#") || line.startsWith("preamble: ") || line.startsWith("property: ") || line.startsWith("univ-checksum: ")) {
- // ignore
- }
-
- // request stanza
- else if (line.startsWith("request: ")) {
- handleRequest(line);
- } else if (line.startsWith("install: ")) {
- handleInstall(line);
- } else if (line.startsWith("upgrade: ")) {
- handleUpgrade(line);
- } else if (line.startsWith("remove: ")) {
- handleRemove(line);
- }
-
- // package stanza
- else if (line.startsWith("package: ")) {
- handlePackage(line);
- handleExtraProperty(line);
- String[] values = line.split(":", 2);
- assert values.length == 2;
- currentIU.addExtraProperty("name", values[1].trim());
- } else if (line.startsWith("version: ")) {
- handleVersion(line);
- handleExtraProperty(line);
- } else if (line.startsWith("installed: ")) {
- handleInstalled(line);
- handleExtraProperty(line);
- } else if (line.startsWith("depends: ")) {
- handleDepends(line);
- handleExtraProperty(line);
- } else if (line.startsWith("conflicts: ")) {
- handleConflicts(line);
- handleExtraProperty(line);
- } else if (line.startsWith("provides: ")) {
- handleProvides(line);
- handleExtraProperty(line);
- } else if (line.startsWith("expected: ")) {
- handleExpected(line);
- handleExtraProperty(line);
- } else if (line.startsWith("recommends: ") && includeRecommends) {
- handleRecommends(line);
- handleExtraProperty(line);
- } else if (line.startsWith("keep: ")) {
- handleKeep(line);
- handleExtraProperty(line);
- } else {
- handleExtraProperty(line);
- if (sumProperty != null && line.startsWith(sumProperty + ":")) {
- handleSumProperty(line, sumProperty);
- }
- }
- }
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if (reader != null)
- try {
- reader.close();
- } catch (IOException e) {
- // ignore
- }
- }
- if (TIMING)
- Log.println("Time to parse:" + (System.currentTimeMillis() - start));
- if (DEBUG)
- for (Iterator iter = allIUs.iterator(); iter.hasNext();)
- debug((InstallableUnit) iter.next());
- if (FORCE_QUERY) {
- if (query == null)
- initializeQueryableArray();
- if (currentRequest == null)
- currentRequest = new ProfileChangeRequest(query);
- }
- debug(currentRequest);
- return currentRequest;
- }
-
- private void handleExtraProperty(String line) {
- String[] values = line.split(":", 2);
- assert values.length == 2;
- currentIU.addExtraProperty(values[0].trim(), values[1].trim());
- }
-
- private void handleSumProperty(String line, String sumProperty) {
- String value = line.substring(sumProperty.length() + 1).trim();
- try {
- currentIU.setSumProperty(Long.valueOf(value));
- } catch (NumberFormatException ex) {
- throw new IllegalArgumentException("The value \"" + value + "\" of property \"" + sumProperty + "\" cannot be summed up");
- }
- }
-
- private void handleKeep(String line) {
- line = line.substring("keep: ".length());
- if (line.contains("version")) {
- currentKeepRequests.add(new RequiredCapability(currentIU.getId(), new VersionRange(currentIU.getVersion()), false));
- return;
- }
- if (line.contains("package")) {
- currentKeepRequests.add(new RequiredCapability(currentIU.getId(), VersionRange.emptyRange, false));
- return;
- }
- if (line.contains("none"))
- return;
- if (line.contains("feature")) {
- IProvidedCapability[] caps = currentIU.getProvidedCapabilities();
- for (int i = 0; i < caps.length; i++) {
- if (!caps[i].getName().equals(currentIU.getId()))
- currentKeepRequests.add(new RequiredCapability(caps[i].getName(), caps[i].getVersion(), false));
- }
- }
-
- }
-
- private void handleExpected(String line) {
- currentRequest.setExpected(Integer.decode(line.substring("expected: ".length()).trim()).intValue());
- }
-
- /*
- * Ensure that the current IU that we have been building is validate and if so, then
- * add it to our collected list of all converted IUs from the file.
- */
- private void validateAndAddIU() {
- if (currentIU == null)
- return;
- // For a package stanza, the id and version are the only mandatory elements
- if (currentIU.getId() == null)
- throw new IllegalStateException("Malformed \'package\' stanza. No package element found.");
- if (currentIU.getVersion() == null)
- throw new IllegalStateException("Malformed \'package\' stanza. Package " + currentIU.getId() + " does not have a version.");
- if (currentIU.getProvidedCapabilities().length == 0) {
- currentIU.setCapabilities(new IProvidedCapability[] {new ProvidedCapability(currentIU.getId(), new VersionRange(currentIU.getVersion(), true, currentIU.getVersion(), true))});
- }
- if (currentIU.isInstalled()) {
- keepRequests.addAll(currentKeepRequests);
- }
- allIUs.add(currentIU);
- // reset to be ready for the next stanza
- currentIU = null;
- currentKeepRequests.clear();
- }
-
- private void handleInstalled(String line) {
- String value = line.substring("installed: ".length());
- if (value.length() != 0) {
- if (DEBUG)
- if (!Boolean.valueOf(value).booleanValue()) {
- System.err.println("Unexcepted value for installed.");
- return;
- }
- currentIU.setInstalled(true);
- preInstalled.add(new RequiredCapability(currentIU.getId(), new VersionRange(currentIU.getVersion()), true));
- }
- }
-
- private void handleInstall(String line) {
- line = line.substring("install: ".length());
- List installRequest = createRequires(line, true, false, true);
- for (Iterator iterator = installRequest.iterator(); iterator.hasNext();) {
- currentRequest.addInstallableUnit((IRequiredCapability) iterator.next());
- }
- return;
- }
-
- private void handleRequest(String line) {
- initializeQueryableArray();
- currentRequest = new ProfileChangeRequest(query);
- currentRequest.setPreInstalledIUs(preInstalled);
- currentRequest.setContrainstFromKeep(keepRequests);
- }
-
- private void handleRemove(String line) {
- line = line.substring("remove: ".length());
- List removeRequest = createRequires(line, true, false, true);
- for (Iterator iterator = removeRequest.iterator(); iterator.hasNext();) {
- currentRequest.removeInstallableUnit((IRequiredCapability) iterator.next());
- }
- return;
- }
-
- private void initializeQueryableArray() {
- query = new QueryableArray((InstallableUnit[]) allIUs.toArray(new InstallableUnit[allIUs.size()]));
- }
-
- private void handleUpgrade(String line) {
- line = line.substring("upgrade: ".length());
- List updateRequest = createRequires(line, true, false, true);
- for (Iterator iterator = updateRequest.iterator(); iterator.hasNext();) {
- IRequiredCapability requirement = (IRequiredCapability) iterator.next();
- currentRequest.upgradeInstallableUnit(requirement);
-
- //Add a requirement forcing uniqueness of the upgraded package in the resulting solution
- currentRequest.upgradeInstallableUnit(new RequiredCapability(requirement.getName(), VersionRange.emptyRange, 1));
-
- //Add a requirement forcing the solution to be greater or equal to the highest installed version
- requirement = getHighestInstalledVersion(requirement);
- if (requirement != null)
- currentRequest.upgradeInstallableUnit(requirement);
- }
- return;
- }
-
- private IRequiredCapability getHighestInstalledVersion(IRequiredCapability req) {
- Version highestVersion = null;
- Collector c = query.query(new CapabilityQuery(req), new Collector(), null);
- for (Iterator iterator = c.iterator(); iterator.hasNext();) {
- InstallableUnit candidate = (InstallableUnit) iterator.next();
- if (!candidate.isInstalled())
- continue;
- if (candidate.getId().equals(req.getName())) {
- if (highestVersion == null || candidate.getVersion().getMajor() > highestVersion.getMajor())
- highestVersion = candidate.getVersion();
- } else {
- //Requesting the upgrade of a virtual package
- IProvidedCapability[] prov = candidate.getProvidedCapabilities();
- for (int i = 0; i < prov.length; i++) {
- if (prov[i].getVersion().equals(VersionRange.emptyRange))
- continue;
- if (prov[i].getName().equals(req.getName()) && (highestVersion == null || prov[i].getVersion().getMinimum().getMajor() > highestVersion.getMajor()))
- highestVersion = prov[i].getVersion().getMinimum();
- }
- }
- }
- if (highestVersion == null)
- return null;
- return new RequiredCapability(req.getName(), new VersionRange(highestVersion, true, Version.maxVersion, true));
- }
-
- /*
- * Convert the version string to a version object and set it on the IU
- */
- private void handleVersion(String line) {
- currentIU.setVersion(new Version(cudfPosintToInt(line.substring("version: ".length()))));
- }
-
- private String cudfPosintToInt(String posint) {
- if (posint.startsWith("+")) {
- return posint.substring(1).trim();
- }
- return posint.trim();
- }
-
- private void handleDepends(String line) {
- mergeRequirements(createRequires(line.substring("depends: ".length()), true, false, true));
- }
-
- private void handleRecommends(String line) {
- mergeRequirements(createRequires(line.substring("recommends: ".length()), true, true, true));
- }
-
- /*
- * Conflicts are like depends except NOT'd.
- */
- private void handleConflicts(String line) {
- List reqs = createRequires(line.substring("conflicts: ".length()), false, false, false);
- List conflicts = new ArrayList();
- for (Iterator iter = reqs.iterator(); iter.hasNext();) {
- IRequiredCapability req = (IRequiredCapability) iter.next();
- if (currentIU.getId().equals(req.getName()) && req.getRange().equals(VersionRange.emptyRange)) {
- currentIU.setSingleton(true);
- } else {
- conflicts.add(new NotRequirement(req));
- }
- }
- mergeRequirements(conflicts);
- }
-
- /*
- * Set the given list of requirements on teh current IU. Merge if necessary.
- */
- private void mergeRequirements(List requirements) {
- if (currentIU.getRequiredCapabilities() != null) {
- IRequiredCapability[] current = currentIU.getRequiredCapabilities();
- for (int i = 0; i < current.length; i++)
- requirements.add(current[i]);
- }
- currentIU.setRequiredCapabilities((IRequiredCapability[]) requirements.toArray(new IRequiredCapability[requirements.size()]));
- }
-
- /*
- * Returns a map where the key is the package name and the value is a Tuple.
- * If there is more than one entry for a particular package, the extra entries are included
- * in the extraData field of the Tuple.
- */
- private List createPackageList(String line) {
- StringTokenizer tokenizer = new StringTokenizer(line, ",");
- List result = new ArrayList(tokenizer.countTokens());
- while (tokenizer.hasMoreElements()) {
- result.add(new Tuple(tokenizer.nextToken()));
- }
- return result;
- }
-
- private List createRequires(String line, boolean expandNotEquals, boolean optional, boolean dependency) {
- ArrayList ands = new ArrayList();
- StringTokenizer s = new StringTokenizer(line, ",");
- String subtoken;
- while (s.hasMoreElements()) {
- StringTokenizer subTokenizer = new StringTokenizer(s.nextToken(), "|");
- if (subTokenizer.countTokens() == 1) { //This token does not contain a |.
- subtoken = subTokenizer.nextToken().trim();
- // FIXME should be handled differently in depends and conflicts.
- if ("true!".equals(subtoken)) {
- if (dependency)
- continue;
- throw new RuntimeException("Cannot have true! in a conflict!!!!!");
- }
- if ("false!".equals(subtoken)) {
- if (!dependency)
- continue;
- throw new RuntimeException("Cannot have false! in a dependency!!!!!");
- }
- Object o = createRequire(subtoken, expandNotEquals, optional);
- if (o instanceof IRequiredCapability)
- ands.add(o);
- else
- ands.addAll((Collection) o);
- continue;
- }
-
- IRequiredCapability[] ors = new RequiredCapability[subTokenizer.countTokens()];
- int i = 0;
- while (subTokenizer.hasMoreElements()) {
- ors[i++] = (IRequiredCapability) createRequire(subTokenizer.nextToken(), expandNotEquals, optional);
- }
- ands.add(new ORRequirement(ors, optional));
- }
- return ands;
- }
-
- private Object createRequire(String nextToken, boolean expandNotEquals, boolean optional) {
- //>, >=, =, <, <=, !=
- StringTokenizer expressionTokens = new StringTokenizer(nextToken.trim(), ">=!<", true);
- int tokenCount = expressionTokens.countTokens();
-
- if (tokenCount == 1) // a
- return new RequiredCapability(expressionTokens.nextToken().trim(), VersionRange.emptyRange, optional);
-
- if (tokenCount == 3) // a > 2, a < 2, a = 2
- return new RequiredCapability(expressionTokens.nextToken().trim(), createRange3(expressionTokens.nextToken(), expressionTokens.nextToken()), optional);
-
- if (tokenCount == 4) { //a >= 2, a <=2, a != 2
- String id = expressionTokens.nextToken().trim();
- String signFirstChar = expressionTokens.nextToken();
- expressionTokens.nextToken();//skip second char of the sign
- String version = expressionTokens.nextToken().trim();
- if (!("!".equals(signFirstChar))) // a >= 2 a <= 2
- return new RequiredCapability(id, createRange4(signFirstChar, version), optional);
-
- //a != 2
- if (expandNotEquals) {
- return new ORRequirement(new IRequiredCapability[] {new RequiredCapability(id, createRange3("<", version), optional), new RequiredCapability(id, createRange3(">", version), optional)}, optional);
- }
- ArrayList res = new ArrayList(2);
- res.add(new RequiredCapability(id, createRange3("<", version), optional));
- res.add(new RequiredCapability(id, createRange3(">", version), optional));
- return res;
- }
- return null;
- }
-
- private VersionRange createRange3(String sign, String versionAsString) {
- int version = Integer.decode(cudfPosintToInt(versionAsString)).intValue();
- sign = sign.trim();
- if (">".equals(sign))
- return new VersionRange(new Version(version), false, Version.maxVersion, false);
- if ("<".equals(sign))
- return new VersionRange(Version.emptyVersion, false, new Version(version), false);
- if ("=".equals(sign))
- return new VersionRange(new Version(version));
- throw new IllegalArgumentException(sign);
- }
-
- private VersionRange createRange4(String sign, String versionAsString) {
- int version = Integer.decode(cudfPosintToInt(versionAsString)).intValue();
- if (">".equals(sign)) //THIS IS FOR >=
- return new VersionRange(new Version(version), true, Version.maxVersion, false);
- if ("<".equals(sign)) //THIS IS FOR <=
- return new VersionRange(Version.emptyVersion, false, new Version(version), true);
- return null;
- }
-
- private IProvidedCapability createProvidedCapability(Tuple tuple) {
- Set extraData = tuple.extraData;
- // one constraint so simply return the capability
- if (extraData == null)
- return new ProvidedCapability(tuple.name, createVersionRange(tuple.operator, tuple.version));
- // 2 constraints (e.g. a>=1, a<4) so create a real range like a[1,4)
- if (extraData.size() == 1)
- return new ProvidedCapability(tuple.name, createVersionRange(tuple, (Tuple) extraData.iterator().next()));
- // TODO merge more than 2 requirements (a>2, a<4, a>3)
- return new ProvidedCapability(tuple.name, createVersionRange(tuple.operator, tuple.version));
- }
-
- /*
- * Create and return a version range object which merges the 2 given versions and operators.
- * e.g a>=1 and a<4 becomes a[1,4)
- */
- private VersionRange createVersionRange(Tuple t1, Tuple t2) {
- Version one = Version.parseVersion(t1.version);
- Version two = Version.parseVersion(t2.version);
- if (one.compareTo(two) < 0) {
- return new VersionRange(one, include(t1.operator), two, include(t2.operator));
- } else if (one.compareTo(two) == 0) {
- return new VersionRange(one, include(t1.operator), one, include(t1.operator));
- } else if (one.compareTo(two) > 0) {
- return new VersionRange(two, include(t2.operator), one, include(t1.operator));
- }
- // should never reach this. avoid compile error.
- return null;
- }
-
- /*
- * Helper method for when we are creating version ranges and calculating "includeMin/Max".
- */
- private boolean include(String operator) {
- return "=".equals(operator) || "<=".equals(operator) || ">=".equals(operator);
- }
-
- /*
- * Create and return a version range based on the given operator and number. Note that != is
- * handled elsewhere.
- */
- private VersionRange createVersionRange(String operator, String number) {
- if (operator == null || number == null)
- return VersionRange.emptyRange;
- if ("=".equals(operator))
- return new VersionRange('[' + number + ',' + number + ']');
- if ("<".equals(operator))
- return new VersionRange("[0," + number + ')');
- if (">".equals(operator))
- return new VersionRange('(' + number + ',' + Integer.MAX_VALUE + ']');
- if ("<=".equals(operator))
- return new VersionRange("[0," + number + ']');
- if (">=".equals(operator))
- return new VersionRange('[' + number + ',' + Integer.MAX_VALUE + ']');
- return VersionRange.emptyRange;
- }
-
- // package name matches: "^[a-zA-Z0-9+./@()%-]+$"
- private void handlePackage(String readLine) {
- currentIU = new InstallableUnit();
- currentIU.setId(readLine.substring("package: ".length()));
- }
-
- private void handleProvides(String line) {
- line = line.substring("provides: ".length());
- List pkgs = createPackageList(line);
- IProvidedCapability[] providedCapabilities = new ProvidedCapability[pkgs.size() + 1];
- int i = 0;
- for (Iterator iter = pkgs.iterator(); iter.hasNext();) {
- providedCapabilities[i++] = createProvidedCapability((Tuple) iter.next());
- }
- providedCapabilities[i++] = new ProvidedCapability(currentIU.getId(), new VersionRange(currentIU.getVersion(), true, currentIU.getVersion(), true));
- currentIU.setCapabilities(providedCapabilities);
- }
-
- // // copied from ProfileSynchronizer
- private void debug(ProfileChangeRequest request) {
- if (!DEBUG || request == null)
- return;
- // Log.println("\nProfile Change Request:");
- // InstallableUnit[] toAdd = request.getAddedInstallableUnit();
- // if (toAdd == null || toAdd.length == 0) {
- // Log.println("No installable units to add.");
- // } else {
- // for (int i = 0; i < toAdd.length; i++)
- // Log.println("Adding IU: " + toAdd[i].getId() + ' ' + toAdd[i].getVersion());
- // }
- // Map propsToAdd = request.getInstallableUnitProfilePropertiesToAdd();
- // if (propsToAdd == null || propsToAdd.isEmpty()) {
- // Log.println("No IU properties to add.");
- // } else {
- // for (Iterator iter = propsToAdd.keySet().iterator(); iter.hasNext();) {
- // Object key = iter.next();
- // Log.println("Adding IU property: " + key + "->" + propsToAdd.get(key));
- // }
- // }
- //
- // InstallableUnit[] toRemove = request.getRemovedInstallableUnits();
- // if (toRemove == null || toRemove.length == 0) {
- // Log.println("No installable units to remove.");
- // } else {
- // for (int i = 0; i < toRemove.length; i++)
- // Log.println("Removing IU: " + toRemove[i].getId() + ' ' + toRemove[i].getVersion());
- // }
- // Map propsToRemove = request.getInstallableUnitProfilePropertiesToRemove();
- // if (propsToRemove == null || propsToRemove.isEmpty()) {
- // Log.println("No IU properties to remove.");
- // } else {
- // for (Iterator iter = propsToRemove.keySet().iterator(); iter.hasNext();) {
- // Object key = iter.next();
- // Log.println("Removing IU property: " + key + "->" + propsToRemove.get(key));
- // }
- // }
- }
-
- // dump info to console
- private void debug(InstallableUnit unit) {
- if (!DEBUG)
- return;
- Log.println("\nInstallableUnit: " + unit.getId());
- Log.println("Version: " + unit.getVersion());
- if (unit.isInstalled())
- Log.println("Installed: true");
- IRequiredCapability[] reqs = unit.getRequiredCapabilities();
- for (int i = 0; i < reqs.length; i++) {
- Log.println("Requirement: " + reqs[i]);
- }
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IProvidedCapability.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IProvidedCapability.java
deleted file mode 100755
index 83bdfb8..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IProvidedCapability.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2009 EclipseSource and others. All rights reserved. This
-* program and the accompanying materials are made available under the terms of
-* the Eclipse Public License v1.0 which accompanies this distribution, and is
-* available at http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* EclipseSource - initial API and implementation
- * IBM - ongoing development
-******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-/**
- * Describes a capability as exposed or required by an installable unit
- *
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IProvidedCapability {
-
- public String getName();
-
- public VersionRange getVersion();
-
- /**
- * Returns whether this provided capability is equal to the given object.
- *
- * This method returns <i>true</i> if:
- * <ul>
- * <li> Both this object and the given object are of type IProvidedCapability
- * <li> The result of <b>getName()</b> on both objects are equal
- * <li> The result of <b>getNamespace()</b> on both objects are equal
- * <li> The result of <b>getVersion()</b> on both objects are equal
- * </ul>
- */
- public boolean equals(Object other);
-
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IRequiredCapability.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IRequiredCapability.java
deleted file mode 100755
index 86f768e..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/IRequiredCapability.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2008, 2009 EclipseSource and others. All rights reserved. This
-* program and the accompanying materials are made available under the terms of
-* the Eclipse Public License v1.0 which accompanies this distribution, and is
-* available at http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* EclipseSource - initial API and implementation
-******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-/**
- * A required capability represents some external constraint on an {@link IInstallableUnit}.
- * Each capability represents something an {@link IInstallableUnit} needs that
- * it expects to be provided by another {@link IInstallableUnit}. Capabilities are
- * entirely generic, and are intended to be capable of representing anything that
- * an {@link IInstallableUnit} may need either at install time, or at runtime.
- * <p>
- * Capabilities are segmented into namespaces. Anyone can introduce new
- * capability namespaces. Some well-known namespaces are introduced directly
- * by the provisioning framework.
- *
- * @see IInstallableUnit#NAMESPACE_IU_ID
- *
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface IRequiredCapability {
-
- public String getName();
-
- public VersionRange getRange();
-
- public boolean equals(Object other);
-
- public boolean isNegation();
-
- public boolean isOptional();
-
- public int getArity();
-
- public void setArity(int arity);
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/InstallableUnit.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/InstallableUnit.java
deleted file mode 100755
index 52f7740..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/InstallableUnit.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * Genuitec, LLC - added license support
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-import java.util.HashMap;
-import java.util.Map;
-
-public class InstallableUnit implements Comparable {
-
- public static final IProvidedCapability[] NO_PROVIDES = new IProvidedCapability[0];
- public static final IRequiredCapability[] NO_REQUIRES = new IRequiredCapability[0];
- public static final String NAMESPACE_IU_ID = "org.eclipse.equinox.p2.iu"; //$NON-NLS-1$
-
- private String id;
- private Version version;
-
- IProvidedCapability[] providedCapabilities = NO_PROVIDES;
- private IRequiredCapability[] requires = NO_REQUIRES;
-
- private boolean singleton;
- private boolean installed;
-
- private long sumProperty;
-
- private Map<String, String> properties = new HashMap<String, String>();
-
- public InstallableUnit() {
- super();
- }
-
- public int compareTo(Object toCompareTo) {
- if (!(toCompareTo instanceof InstallableUnit)) {
- return -1;
- }
- InstallableUnit other = (InstallableUnit) toCompareTo;
- if (getId().compareTo(other.getId()) == 0)
- return (getVersion().compareTo(other.getVersion()));
- return getId().compareTo(other.getId());
- }
-
- public String getId() {
- return id;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof InstallableUnit))
- return false;
- final InstallableUnit other = (InstallableUnit) obj;
- if (id == null) {
- if (other.getId() != null)
- return false;
- } else if (!id.equals(other.getId()))
- return false;
- if (getVersion() == null) {
- if (other.getVersion() != null)
- return false;
- } else if (!getVersion().equals(other.getVersion()))
- return false;
- return true;
- }
-
- public IProvidedCapability[] getProvidedCapabilities() {
- return providedCapabilities;
- }
-
- public IRequiredCapability[] getRequiredCapabilities() {
- return requires;
-
- }
-
- public Version getVersion() {
- return version;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
- result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
- return result;
- }
-
- public boolean isResolved() {
- return false;
- }
-
- public boolean isSingleton() {
- return singleton;
- }
-
- public void setCapabilities(IProvidedCapability[] newCapabilities) {
- if (newCapabilities == null || newCapabilities.length == 0)
- providedCapabilities = NO_PROVIDES;
- else
- providedCapabilities = newCapabilities;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public void setRequiredCapabilities(IRequiredCapability[] capabilities) {
- if (capabilities.length == 0) {
- this.requires = NO_REQUIRES;
- } else {
- //copy array for safety
- this.requires = (IRequiredCapability[]) capabilities.clone();
- }
- }
-
- public void setSingleton(boolean singleton) {
- this.singleton = singleton;
- }
-
- public void setVersion(Version newVersion) {
- this.version = (newVersion != null ? newVersion : Version.emptyVersion);
- }
-
- public String toString() {
- return id + ' ' + getVersion();
- }
-
- public void setInstalled(boolean isInstalled) {
- installed = isInstalled;
- }
-
- public boolean isInstalled() {
- return installed;
- }
-
- public long getSumProperty() {
- return sumProperty;
- }
-
- public void setSumProperty(long sumProperty) {
- this.sumProperty = sumProperty;
- }
-
- public void addExtraProperty(String key, String value) {
- this.properties.put(key, value);
- }
-
- public String getExtraPropertyValue(String key) {
- return this.properties.get(key);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/NotRequirement.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/NotRequirement.java
deleted file mode 100755
index 1f80c21..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/NotRequirement.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-public class NotRequirement implements IRequiredCapability {
- private IRequiredCapability negatedRequirement;
-
- public NotRequirement(IRequiredCapability iRequiredCapabilities) {
- negatedRequirement = iRequiredCapabilities;
- }
-
- public IRequiredCapability getRequirement() {
- return negatedRequirement;
- }
-
- public String getName() {
- return negatedRequirement.getName();
- }
-
- public VersionRange getRange() {
- return negatedRequirement.getRange();
- }
-
- public boolean isNegation() {
- return true;
- }
-
- public String toString() {
- return "NOT(" + negatedRequirement.toString() + ')'; //$NON-NLS-1$
- }
-
- public boolean isOptional() {
- return negatedRequirement.isOptional();
- }
-
- public int getArity() {
- return -1;
- }
-
- public void setArity(int arity) {
- throw new IllegalStateException();
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ORRequirement.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ORRequirement.java
deleted file mode 100755
index 455ec0b..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ORRequirement.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-import java.util.Arrays;
-
-public class ORRequirement implements IRequiredCapability {
- private IRequiredCapability[] oredRequirements;
-
- private boolean optional;
-
- public ORRequirement(IRequiredCapability[] reqs, boolean optional) {
- oredRequirements = reqs;
- this.optional = optional;
- }
-
- public IRequiredCapability[] getRequirements() {
- return oredRequirements;
- }
-
- public String getFilter() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String getName() {
- return "OR" + Arrays.asList(oredRequirements);
- }
-
- public String getNamespace() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public VersionRange getRange() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public String[] getSelectors() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public boolean isGreedy() {
- // TODO Auto-generated method stub
- return true;
- }
-
- public boolean isMultiple() {
- // TODO Auto-generated method stub
- return false;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
- public void setFilter(String filter) {
- // TODO Auto-generated method stub
-
- }
-
- public void setSelectors(String[] selectors) {
- // TODO Auto-generated method stub
-
- }
-
- public boolean isNegation() {
- return false;
- }
-
- public String toString() {
- String result = "OR(";
- for (int i = 0; i < oredRequirements.length; i++) {
- result += oredRequirements[i].toString();
- }
- return result + ")";
- }
-
- public int getArity() {
- return -1;
- }
-
- public void setArity(int arity) {
- throw new IllegalStateException();
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ProvidedCapability.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ProvidedCapability.java
deleted file mode 100755
index c85f118..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/ProvidedCapability.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-/**
- * Describes a capability as exposed or required by an installable unit
- */
-public class ProvidedCapability implements IProvidedCapability {
- private final String name;
- private final VersionRange version;
-
- public ProvidedCapability(String name, VersionRange version) {
- this.name = name;
- this.version = version == null ? VersionRange.emptyRange : version;
- }
-
- public boolean equals(Object other) {
- if (other == null)
- return false;
- if (!(other instanceof IProvidedCapability))
- return false;
- IProvidedCapability otherCapability = (IProvidedCapability) other;
- if (!(name.equals(otherCapability.getName())))
- return false;
- return version.equals(otherCapability.getVersion());
- }
-
- public String getName() {
- return name;
- }
-
- public VersionRange getVersion() {
- return version;
- }
-
- public int hashCode() {
- return name.hashCode() * version.hashCode();
- }
-
- public String toString() {
- return name + '/' + version;
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/RequiredCapability.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/RequiredCapability.java
deleted file mode 100755
index 7ae336f..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/RequiredCapability.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-/**
- * A required capability represents some external constraint on an {@link IInstallableUnit}.
- * Each capability represents something an {@link IInstallableUnit} needs that
- * it expects to be provided by another {@link IInstallableUnit}. Capabilities are
- * entirely generic, and are intended to be capable of representing anything that
- * an {@link IInstallableUnit} may need either at install time, or at runtime.
- * <p>
- * Capabilities are segmented into namespaces. Anyone can introduce new
- * capability namespaces. Some well-known namespaces are introduced directly
- * by the provisioning framework.
- *
- * @see IInstallableUnit#NAMESPACE_IU_ID
- */
-public class RequiredCapability implements IRequiredCapability {
- private final String name;//never null
- private final VersionRange range;//never null
- private boolean optional;
- private int arity;
-
- public RequiredCapability(String name, VersionRange range) {
- this.name = name;
- this.range = range == null ? VersionRange.emptyRange : range;
- }
-
- public RequiredCapability(String name, VersionRange range, boolean optional) {
- this(name, range);
- this.optional = optional;
- }
-
- public RequiredCapability(String name, VersionRange range, int arity) {
- this(name, range);
- this.arity = arity;
- }
-
- public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (obj == null)
- return false;
- if (!(obj instanceof IRequiredCapability))
- return false;
- final IRequiredCapability other = (IRequiredCapability) obj;
- if (!name.equals(other.getName()))
- return false;
- if (!range.equals(other.getRange()))
- return false;
- return true;
- }
-
- public String getName() {
- return name;
- }
-
- /**
- * Returns the range of versions that satisfy this required capability. Returns
- * an empty version range ({@link VersionRange#emptyRange} if any version
- * will satisfy the capability.
- * @return the range of versions that satisfy this required capability.
- */
- public VersionRange getRange() {
- return range;
- }
-
- /**
- * Returns the properties to use for evaluating required capability filters
- * downstream from this capability. For example, if the selector "doc"
- * is provided, then a downstream InstallableUnit with a required capability
- * filtered with "doc=true" will be included.
- */
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + name.hashCode();
- result = prime * result + range.hashCode();
- return result;
- }
-
- public String toString() {
- StringBuffer result = new StringBuffer();
- result.append(getName());
- result.append(' ');
- //for an exact version match, print a simpler expression
- if (range.getMinimum().equals(range.getMaximum()))
- result.append('[').append(range.getMinimum()).append(']');
- else
- result.append(range);
- return result.toString();
- }
-
- public boolean isNegation() {
- return false;
- }
-
- public boolean isOptional() {
- return optional;
- }
-
- public int getArity() {
- return arity;
- }
-
- public void setArity(int arity) {
- this.arity = arity;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/Version.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/Version.java
deleted file mode 100755
index 3196570..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/Version.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (c) OSGi Alliance (2004, 2009). All Rights Reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.eclipse.equinox.p2.cudf.metadata;
-
-import java.util.NoSuchElementException;
-import java.util.StringTokenizer;
-
-/**
- * Version identifier for bundles and packages.
- *
- * <p>
- * Version identifiers have four components.
- * <ol>
- * <li>Major version. A non-negative integer.</li>
- * <li>Minor version. A non-negative integer.</li>
- * <li>Micro version. A non-negative integer.</li>
- * <li>Qualifier. A text string. See <code>Version(String)</code> for the
- * format of the qualifier string.</li>
- * </ol>
- *
- * <p>
- * <code>Version</code> objects are immutable.
- *
- * @since 1.3
- * @Immutable
- * @version $Revision: 1.4 $
- */
-
-public class Version implements Comparable {
- private final int major;
- private static final String SEPARATOR = "."; //$NON-NLS-1$
-
- /**
- * The empty version "0.0.0".
- */
- public static final Version emptyVersion = new Version(0, 0, 0);
- public static final Version maxVersion = new Version(Integer.MAX_VALUE);
-
- /**
- * Creates a version identifier from the specified numerical components.
- *
- * <p>
- * The qualifier is set to the empty string.
- *
- * @param major Major component of the version identifier.
- * @param minor Minor component of the version identifier.
- * @param micro Micro component of the version identifier.
- * @throws IllegalArgumentException If the numerical components are
- * negative.
- */
-
- public Version(int major) {
- this.major = major;
- }
-
- public Version(int major, int minor, int micro) {
- this(major, minor, micro, null);
- }
-
- /**
- * Creates a version identifier from the specified components.
- *
- * @param major Major component of the version identifier.
- * @param minor Minor component of the version identifier.
- * @param micro Micro component of the version identifier.
- * @param qualifier Qualifier component of the version identifier. If
- * <code>null</code> is specified, then the qualifier will be set to
- * the empty string.
- * @throws IllegalArgumentException If the numerical components are negative
- * or the qualifier string is invalid.
- */
- public Version(int major, int minor, int micro, String qualifier) {
- if (qualifier == null) {
- qualifier = ""; //$NON-NLS-1$
- }
-
- this.major = major;
- }
-
- /**
- * Created a version identifier from the specified string.
- *
- * <p>
- * Here is the grammar for version strings.
- *
- * <pre>
- * version ::= major('.'minor('.'micro('.'qualifier)?)?)?
- * major ::= digit+
- * minor ::= digit+
- * micro ::= digit+
- * qualifier ::= (alpha|digit|'_'|'-')+
- * digit ::= [0..9]
- * alpha ::= [a..zA..Z]
- * </pre>
- *
- * There must be no whitespace in version.
- *
- * @param version String representation of the version identifier.
- * @throws IllegalArgumentException If <code>version</code> is improperly
- * formatted.
- */
- public Version(String version) {
- int maj = 0;
- int min = 0;
- int mic = 0;
- String qual = ""; //$NON-NLS-1$
-
- try {
- StringTokenizer st = new StringTokenizer(version, SEPARATOR, true);
- maj = Integer.parseInt(st.nextToken());
-
- if (st.hasMoreTokens()) {
- st.nextToken(); // consume delimiter
- min = Integer.parseInt(st.nextToken());
-
- if (st.hasMoreTokens()) {
- st.nextToken(); // consume delimiter
- mic = Integer.parseInt(st.nextToken());
-
- if (st.hasMoreTokens()) {
- st.nextToken(); // consume delimiter
- qual = st.nextToken();
-
- if (st.hasMoreTokens()) {
- throw new IllegalArgumentException("invalid format"); //$NON-NLS-1$
- }
- }
- }
- }
- } catch (NoSuchElementException e) {
- throw new IllegalArgumentException("invalid format"); //$NON-NLS-1$
- }
-
- major = maj;
- }
-
- /**
- * Parses a version identifier from the specified string.
- *
- * <p>
- * See <code>Version(String)</code> for the format of the version string.
- *
- * @param version String representation of the version identifier. Leading
- * and trailing whitespace will be ignored.
- * @return A <code>Version</code> object representing the version
- * identifier. If <code>version</code> is <code>null</code> or
- * the empty string then <code>emptyVersion</code> will be
- * returned.
- * @throws IllegalArgumentException If <code>version</code> is improperly
- * formatted.
- */
- public static Version parseVersion(String version) {
- if (version == null) {
- return emptyVersion;
- }
-
- version = version.trim();
- if (version.length() == 0) {
- return emptyVersion;
- }
-
- return new Version(version);
- }
-
- /**
- * Returns the major component of this version identifier.
- *
- * @return The major component.
- */
- public int getMajor() {
- return major;
- }
-
- public String toString() {
- return Integer.toString(major);
- }
-
- /**
- * Returns a hash code value for the object.
- *
- * @return An integer which is a hash code value for this object.
- */
- public int hashCode() {
- return (major << 24);
- }
-
- /**
- * Compares this <code>Version</code> object to another object.
- *
- * <p>
- * A version is considered to be <b>equal to </b> another version if the
- * major, minor and micro components are equal and the qualifier component
- * is equal (using <code>String.equals</code>).
- *
- * @param object The <code>Version</code> object to be compared.
- * @return <code>true</code> if <code>object</code> is a
- * <code>Version</code> and is equal to this object;
- * <code>false</code> otherwise.
- */
- public boolean equals(Object object) {
- if (object == this) { // quicktest
- return true;
- }
-
- if (!(object instanceof Version)) {
- return false;
- }
-
- Version other = (Version) object;
- return (major == other.major);
- }
-
- /**
- * Compares this <code>Version</code> object to another object.
- *
- * <p>
- * A version is considered to be <b>less than </b> another version if its
- * major component is less than the other version's major component, or the
- * major components are equal and its minor component is less than the other
- * version's minor component, or the major and minor components are equal
- * and its micro component is less than the other version's micro component,
- * or the major, minor and micro components are equal and it's qualifier
- * component is less than the other version's qualifier component (using
- * <code>String.compareTo</code>).
- *
- * <p>
- * A version is considered to be <b>equal to</b> another version if the
- * major, minor and micro components are equal and the qualifier component
- * is equal (using <code>String.compareTo</code>).
- *
- * @param object The <code>Version</code> object to be compared.
- * @return A negative integer, zero, or a positive integer if this object is
- * less than, equal to, or greater than the specified
- * <code>Version</code> object.
- * @throws ClassCastException If the specified object is not a
- * <code>Version</code>.
- */
- public int compareTo(Object object) {
- if (object == this) { // quicktest
- return 0;
- }
-
- Version other = (Version) object;
-
- return major - other.major;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/VersionRange.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/VersionRange.java
deleted file mode 100755
index d0107ab..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/metadata/VersionRange.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.metadata;
-
-/**
- * This class represents a version range.
- * @since 3.1
- * @noextend This class is not intended to be subclassed by clients.
- */
-public class VersionRange {
- private static final Version versionMax = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE);
- /**
- * An empty version range: "0.0.0". The empty version range includes all valid versions
- * (any version greater than or equal to the version 0.0.0).
- */
- public static final VersionRange emptyRange = new VersionRange((String) null);
-
- private final Version minVersion;
- private final boolean includeMin;
- private final Version maxVersion;
- private final boolean includeMax;
-
- /**
- * Constructs a VersionRange with the specified minVersion and maxVersion.
- * @param minVersion the minimum version of the range. If <code>null</code>
- * then {@link Version#emptyVersion} is used.
- * @param maxVersion the maximum version of the range. If <code>null</code>
- * then new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE)
- * is used.
- */
- public VersionRange(Version minVersion, boolean includeMin, Version maxVersion, boolean includeMax) {
- this.minVersion = minVersion == null ? Version.emptyVersion : minVersion;
- this.includeMin = includeMin;
- this.maxVersion = maxVersion == null ? VersionRange.versionMax : maxVersion;
- this.includeMax = includeMax;
- }
-
- /**
- * Creates a version range from the specified string.
- *
- * <p>
- * Here is the grammar for version range strings.
- * <pre>
- * version-range ::= interval | atleast
- * interval ::= ( include-min | exclude-min ) min-version ',' max-version ( include-max | exclude-max )
- * atleast ::= version
- * floor ::= version
- * ceiling ::= version
- * include-min ::= '['
- * exclude-min ::= '('
- * include-max ::= ']'
- * exclude-max ::= ')'
- * </pre>
- * </p>
- *
- * @param versionRange string representation of the version range or <code>null</code>
- * for the empty range "0.0.0"
- * @see Version#Version(String) definition of <code>version</code>
- */
- public VersionRange(String versionRange) {
- if (versionRange == null || versionRange.length() == 0) {
- minVersion = Version.emptyVersion;
- includeMin = true;
- maxVersion = VersionRange.versionMax;
- includeMax = true;
- return;
- }
- versionRange = versionRange.trim();
- if (versionRange.charAt(0) == '[' || versionRange.charAt(0) == '(') {
- int comma = versionRange.indexOf(',');
- if (comma < 0)
- throw new IllegalArgumentException();
- char last = versionRange.charAt(versionRange.length() - 1);
- if (last != ']' && last != ')')
- throw new IllegalArgumentException();
-
- minVersion = Version.parseVersion(versionRange.substring(1, comma).trim());
- includeMin = versionRange.charAt(0) == '[';
- maxVersion = Version.parseVersion(versionRange.substring(comma + 1, versionRange.length() - 1).trim());
- includeMax = last == ']';
- } else {
- minVersion = Version.parseVersion(versionRange.trim());
- includeMin = true;
- maxVersion = VersionRange.versionMax;
- includeMax = true;
- }
- }
-
- /**
- * Returns the minimum Version of this VersionRange.
- * @return the minimum Version of this VersionRange
- */
- public Version getMinimum() {
- return minVersion;
- }
-
- /**
- * Indicates if the minimum version is included in the version range.
- * @return true if the minimum version is included in the version range;
- * otherwise false is returned
- */
- public boolean getIncludeMinimum() {
- return includeMin;
- }
-
- /**
- * Returns the maximum Version of this VersionRange.
- * @return the maximum Version of this VersionRange
- */
- public Version getMaximum() {
- return maxVersion;
- }
-
- /**
- * Indicates if the maximum version is included in the version range.
- * @return true if the maximum version is included in the version range;
- * otherwise false is returned
- */
- public boolean getIncludeMaximum() {
- return includeMax;
- }
-
- /**
- * Returns whether the given version is included in this VersionRange.
- * This will depend on the minimum and maximum versions of this VersionRange
- * and the given version.
- *
- * @param version a version to be tested for inclusion in this VersionRange.
- * If <code>null</code> then {@link Version#emptyVersion} is used.
- * @return <code>true</code> if the version is included,
- * <code>false</code> otherwise
- */
- public boolean isIncluded(Version version) {
- if (version == null)
- version = Version.emptyVersion;
- int minCheck = includeMin ? 0 : 1;
- int maxCheck = includeMax ? 0 : -1;
- return version.compareTo(minVersion) >= minCheck && version.compareTo(maxVersion) <= maxCheck;
-
- }
-
- public boolean equals(Object object) {
- if (!(object instanceof VersionRange))
- return false;
- VersionRange vr = (VersionRange) object;
- if (minVersion.equals(vr.getMinimum()) && includeMin == vr.includeMin)
- if (maxVersion.equals(vr.getMaximum()) && includeMax == vr.includeMax)
- return true;
- return false;
- }
-
- public int hashCode() {
- final int prime = 31;
- int result = 1;
- result = prime * result + maxVersion.hashCode();
- result = prime * result + minVersion.hashCode();
- result = prime * result + (includeMax ? 1231 : 1237);
- result = prime * result + (includeMin ? 1231 : 1237);
- return result;
- }
-
- /**
- * Returns the string representation of this version range.
- * The encoded format uses the following grammar:
- * <pre>
- * version-range ::= interval | atleast
- * interval ::= ( include-min | exclude-min ) min-version ',' max-version ( include-max | exclude-max )
- * atleast ::= version
- * floor ::= version
- * ceiling ::= version
- * include-min ::= '['
- * exclude-min ::= '('
- * include-max ::= ']'
- * exclude-max ::= ')'
- * </pre>
- * The following are some examples of version range strings and their predicate
- * equivalent:
- * <pre>
- * [1.2.3, 4.5.6) -> 1.2.3 <= x < 4.5.6
- * [1.2.3, 4.5.6] -> 1.2.3 <= x <= 4.5.6
- * (1.2.3, 4.5.6) -> 1.2.3 < x < 4.5.6
- * (1.2.3, 4.5.6] -> 1.2.3 < x <= 4.5.6
- * 1.2.3 -> 1.2.3 <= x
- * </pre>
- * Note that a simple version (e.g. &quot;1.2.3&quot;) indicates a version range which is
- * any version greater than or equal to the specified version.
- * @return The string representation of this version range.
- * @see Version#toString() string representation of <code>version</code>
- */
- public String toString() {
- StringBuffer result = new StringBuffer();
- result.append(includeMin ? '[' : '(');
- result.append(minVersion);
- result.append(',');
- result.append(maxVersion);
- result.append(includeMax ? ']' : ')');
- return result.toString();
- }
-
- public VersionRange(Version version) {
- minVersion = version;
- maxVersion = version;
- includeMax = true;
- includeMin = true;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/CapabilityQuery.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/CapabilityQuery.java
deleted file mode 100755
index 8feacae..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/CapabilityQuery.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-import org.eclipse.equinox.p2.cudf.metadata.IRequiredCapability;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-
-
-/**
- * A query that searches for {@link InstallableUnit} instances that provide
- * capabilities that match one or more required capabilities.
- */
-public class CapabilityQuery extends MatchQuery {
- private IRequiredCapability required;
-
- /**
- * Creates a new query on the given required capability.
- * @param required The required capability
- */
- public CapabilityQuery(IRequiredCapability required) {
- this.required = required;
- }
-
- /**
- * Returns the required capability that this query is matching against.
- * @return the required capability that this query is matching against.
- */
- public IRequiredCapability getRequiredCapabilities() {
- return required;
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.equinox.p2.query2.Query#isMatch(java.lang.Object)
- */
- public boolean isMatch(Object object) {
-// if (!(object instanceof InstallableUnit))
-// return false;
-// InstallableUnit candidate = (InstallableUnit) object;
-// if (!candidate.satisfies(required))
-// return false;
- return true;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Collector.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Collector.java
deleted file mode 100755
index d5c034c..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Collector.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-
-import java.lang.reflect.Array;
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-/**
- * A collector is a generic visitor that collects objects passed to it,
- * and can then express the result of the visit in various forms. The collector
- * can also short-circuit a traversal by returning <code>false</code> from
- * its {@link #accept(Object)} method.
- * <p>
- * This default collector just accepts all objects passed to it. Clients may subclass
- * to perform different processing on the objects passed to it.
- */
-public class Collector implements IQueryable {
- private Set collected = null;
-
- /**
- * Creates a new collector.
- */
- public Collector() {
- super();
- }
-
- /**
- * Accepts an object.
- * <p>
- * This default implementation adds the objects to a list. Clients may
- * override this method to perform additional filtering, add different objects
- * to the list, short-circuit the traversal, or process the objects directly without
- * collecting them.
- *
- * @param object the object to collect or visit
- * @return <code>true</code> if the traversal should continue,
- * or <code>false</code> to indicate the traversal should stop.
- */
- public boolean accept(Object object) {
- getCollection().add(object);
- return true;
- }
-
- /**
- * Returns the collection that is being used to collect results. Unlike {@linkplain #toCollection()},
- * this returns the actual modifiable collection that is being used to store results. The
- * return value is only intended to be used within subclasses and should not be exposed
- * outside of a collection class.
- *
- * @return the collection being used to collect results.
- */
- protected Collection getCollection() {
- if (collected == null)
- collected = new HashSet();
- return collected;
- }
-
- /**
- * Returns whether this collector is empty.
- * @return <code>true</code> if this collector has accepted any results,
- * and <code>false</code> otherwise.
- */
- public boolean isEmpty() {
- return collected == null || collected.isEmpty();
- }
-
- /**
- * Returns an iterator on the collected objects.
- *
- * @return an iterator of the collected objects.
- */
- public Iterator iterator() {
- return collected == null ? Collections.EMPTY_LIST.iterator() : collected.iterator();
- }
-
- /**
- * Returns the number of collected objects.
- */
- public int size() {
- return collected == null ? 0 : collected.size();
- }
-
- /**
- * Returns the collected objects as an array
- *
- * @param clazz The type of array to return
- * @return The array of results
- * @throws ArrayStoreException the runtime type of the specified array is
- * not a supertype of the runtime type of every collected object
- */
- public Object[] toArray(Class clazz) {
- int size = collected == null ? 0 : collected.size();
- Object[] result = (Object[]) Array.newInstance(clazz, size);
- if (size != 0)
- collected.toArray(result);
- return result;
- }
-
- /**
- * Returns the collected objects as an immutable collection.
- *
- * @return An unmodifiable collection of the collected objects
- */
- public Collection toCollection() {
- return collected == null ? Collections.EMPTY_SET : Collections.unmodifiableSet(collected);
- }
-
- /**
- * Performs a query on this results of this collector.
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- Iterator iter = collector == this ? toCollection().iterator() : iterator();
- if (monitor == null)
- monitor = new NullProgressMonitor();
- try {
- collector = query.perform(iter, collector);
- } finally {
- monitor.done();
- }
- return collector;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/IQueryable.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/IQueryable.java
deleted file mode 100755
index b74523d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/IQueryable.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-
-import org.eclipse.core.runtime.IProgressMonitor;
-
-/**
- * An IQueryable contains objects, and is able to perform queries on those objects.
- * <p>
- * This interface may be implemented by clients.
- */
-public interface IQueryable {
- /**
- * Performs a query, passing any objects that satisfy the
- * query to the provided collector.
- * <p>
- * This method is long-running; progress and cancellation are provided
- * by the given progress monitor.
- * </p>
- *
- * @param query The query to perform
- * @param collector Collects the results of the query
- * @param monitor a progress monitor, or <code>null</code> if progress
- * reporting is not desired
- * @return The collector argument
- */
- public Collector query(Query query, Collector collector, IProgressMonitor monitor);
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/MatchQuery.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/MatchQuery.java
deleted file mode 100755
index ec2e656..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/MatchQuery.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2009 EclipseSource and others. All rights reserved. This
-* program and the accompanying materials are made available under the terms of
-* the Eclipse Public License v1.0 which accompanies this distribution, and is
-* available at http://www.eclipse.org/legal/epl-v10.html
-*
-* Contributors:
-* EclipseSource - initial API and implementation
-* IBM Corporation - ongoing development
-******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-
-import java.util.Iterator;
-
-/**
- * This class represents the superclass of most of p2's queries. Every element
- * in the query can be evaluated by calling isMatch on it. If {@link #isMatch(Object)} returns true,
- * then the element WILL be included in the query result. If {@link #isMatch(Object)} returns false, then
- * the element WILL NOT be included in the query result.
- * <p>
- * This class may be subclassed by clients. Subclasses should specify the type
- * of object they support querying on. Subclasses are also encouraged to clearly
- * specify their match algorithm, and expose the parameters involved in the match
- * computation, to allow {@link IQueryable} implementations to optimize their
- * execution of the query.
- */
-public abstract class MatchQuery implements Query {
-
- /**
- * Returns whether the given object satisfies the parameters of this query.
- *
- * @param candidate The object to perform the query against
- * @return <code>true</code> if the unit satisfies the parameters
- * of this query, and <code>false</code> otherwise
- *
- * @noreference This method is not intended to be referenced by clients.
- * Clients should call {@link #perform(Iterator, Collector)}
- */
- public abstract boolean isMatch(Object candidate);
-
- /**
- * Gets the ID for this Query.
- */
-
- /**
- * Performs this query on the given iterator, passing all objects in the iterator
- * that match the criteria of this query to the given result.
- */
- public final Collector perform(Iterator iterator, Collector result) {
- prePerform();
- try {
- while (iterator.hasNext()) {
- Object candidate = iterator.next();
- if (isMatch(candidate))
- if (!result.accept(candidate))
- break;
- }
- } finally {
- postPerform();
- }
- return result;
- }
-
- /**
- * Execute any pre-processing that must be done before this query is performed against
- * a particular iterator. This method may be used by subclasses to do any calculations,
- * caching, or other preparation for the query.
- * <p>
- * This method is internal to the framework. Subclasses may override this method, but
- * should not call this method.
- *
- * @noreference This method is not intended to be referenced by clients.
- */
- public void prePerform() {
- // nothing to do by default
- }
-
- /**
- * Execute any post-processing that must be done after this query has been performed against
- * a particular iterator. This method may be used by subclasses to clear caches or any other
- * cleanup that should occur after a query.
- * <p>
- * This method will be called even if the query does not complete successfully.
- * <p>
- * This method is internal to the framework. Subclasses may override this method, but
- * should not call this method.
- *
- * @noreference This method is not intended to be referenced by clients.
- */
- public void postPerform() {
- // nothing to do by default
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Query.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Query.java
deleted file mode 100755
index d3eadc8..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/Query.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- * EclipseSource - ongoing development
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-
-import java.util.Iterator;
-
-/**
- * The superclass of all queries that can be performed on an {@link IQueryable}.
- * <p>
- *
- * <B>NOTE: This interface does not follow the proper naming convention. It should
- * be IQuery, however, for historic reasons it is Query. This is likely to change.</B>
- *
- * @noimplement This interface is not intended to be implemented by clients.
- * @noextend This interface is not intended to be extended by clients.
- */
-public interface Query {
-
- /**
- * Evaluates the query for a specific input.
- *
- * @param iterator The elements for which to evaluate the query on
- * @param result A collector to collect the results. For each element accepted
- * by the query,{@link Collector#accept(Object)} must be called.
- * @return The results of the query. The collector returned must be
- * the collector passed in.
- */
- public abstract Collector perform(Iterator iterator, Collector result);
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/QueryableArray.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/QueryableArray.java
deleted file mode 100755
index 28fd25c..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/query/QueryableArray.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.query;
-
-import java.util.*;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-
-public class QueryableArray implements IQueryable {
- static class IUCapability {
- final InstallableUnit iu;
- final IProvidedCapability capability;
-
- public IUCapability(InstallableUnit iu, IProvidedCapability capability) {
- this.iu = iu;
- this.capability = capability;
- }
- }
-
- private final List dataSet;
- private Map namedCapabilityIndex;
-
- public QueryableArray(InstallableUnit[] ius) {
- dataSet = Arrays.asList(ius);
- }
-
- public List getList() {
- return dataSet;
- }
-
- public Collector query(Query query, Collector collector, IProgressMonitor monitor) {
- if (query instanceof CapabilityQuery)
- return queryCapability((CapabilityQuery) query, collector, monitor);
- throw new IllegalArgumentException();
- }
-
- private Collector queryCapability(CapabilityQuery query, Collector collector, IProgressMonitor monitor) {
- generateNamedCapabilityIndex();
-
- Collection resultIUs = new ArrayList();
- IRequiredCapability iRequiredCapability = query.getRequiredCapabilities();
- if (iRequiredCapability instanceof ORRequirement) {
- IRequiredCapability[] ored = ((ORRequirement) iRequiredCapability).getRequirements();
- for (int j = 0; j < ored.length; j++) {
- Collection orMatches = findMatchingIUs(ored[j]);
- if (orMatches != null)
- resultIUs.addAll(orMatches);
- }
- } else {
- Collection matchingIUs = findMatchingIUs(iRequiredCapability);
- if (matchingIUs == null)
- return collector;
- resultIUs.addAll(matchingIUs);
- }
-
- for (Iterator iterator = resultIUs.iterator(); iterator.hasNext();)
- collector.accept(iterator.next());
-
- return collector;
- }
-
- private Collection findMatchingIUs(IRequiredCapability requiredCapability) {
- List iuCapabilities = (List) namedCapabilityIndex.get(requiredCapability.getName());
- if (iuCapabilities == null)
- return null;
-
- Set matchingIUs = new HashSet();
- for (Iterator iterator = iuCapabilities.iterator(); iterator.hasNext();) {
- IUCapability iuCapability = (IUCapability) iterator.next();
- if (intersect(requiredCapability.getRange(), iuCapability.capability.getVersion()) != null)
- matchingIUs.add(iuCapability.iu);
- }
- return matchingIUs;
- }
-
- private void generateNamedCapabilityIndex() {
- if (namedCapabilityIndex != null)
- return;
-
- namedCapabilityIndex = new HashMap();
- for (Iterator iterator = dataSet.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
-
- IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities();
- for (int i = 0; i < providedCapabilities.length; i++) {
- String name = providedCapabilities[i].getName();
- List iuCapabilities = (List) namedCapabilityIndex.get(name);
- if (iuCapabilities == null) {
- iuCapabilities = new ArrayList(5);
- namedCapabilityIndex.put(name, iuCapabilities);
- }
- iuCapabilities.add(new IUCapability(iu, providedCapabilities[i]));
- }
- }
- }
-
- public Iterator iterator() {
- return dataSet.iterator();
- }
-
- private VersionRange intersect(VersionRange r1, VersionRange r2) {
- Version resultMin = null;
- boolean resultMinIncluded = false;
- Version resultMax = null;
- boolean resultMaxIncluded = false;
-
- int minCompare = r1.getMinimum().compareTo(r2.getMinimum());
- if (minCompare < 0) {
- resultMin = r2.getMinimum();
- resultMinIncluded = r2.getIncludeMinimum();
- } else if (minCompare > 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum();
- } else if (minCompare == 0) {
- resultMin = r1.getMinimum();
- resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum();
- }
-
- int maxCompare = r1.getMaximum().compareTo(r2.getMaximum());
- if (maxCompare > 0) {
- resultMax = r2.getMaximum();
- resultMaxIncluded = r2.getIncludeMaximum();
- } else if (maxCompare < 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum();
- } else if (maxCompare == 0) {
- resultMax = r1.getMaximum();
- resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum();
- }
-
- int resultRangeComparison = resultMin.compareTo(resultMax);
- if (resultRangeComparison < 0)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded)
- return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded);
- else
- return null;
- }
-
- public int getSize() {
- return dataSet.size();
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/AlignedMeasurementHelper.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/AlignedMeasurementHelper.java
deleted file mode 100755
index 434dc5d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/AlignedMeasurementHelper.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-
-public class AlignedMeasurementHelper {
-
- private String firstLvlProperty;
- private String secondLvlProperty;
-
- protected Map<String, Map<String, List<InstallableUnit>>> clusterMap = new HashMap<String, Map<String, List<InstallableUnit>>>();
-
- public AlignedMeasurementHelper(String firstLvlProperty, String secondLvlProperty) {
- this.firstLvlProperty = firstLvlProperty;
- this.secondLvlProperty = secondLvlProperty;
- }
-
- public void addIU(InstallableUnit iu) {
- String firstLvlPropertyValue = iu.getExtraPropertyValue(this.firstLvlProperty);
- String secondLvlPropertyValue = iu.getExtraPropertyValue(this.secondLvlProperty);
- checkPropertyValuesAreNotNull(iu, firstLvlPropertyValue, secondLvlPropertyValue);
- Map<String, List<InstallableUnit>> secondLevelMap = this.clusterMap.get(firstLvlPropertyValue);
- if (secondLevelMap == null) {
- secondLevelMap = new HashMap<String, List<InstallableUnit>>();
- this.clusterMap.put(firstLvlPropertyValue, secondLevelMap);
- }
- List<InstallableUnit> ius = secondLevelMap.get(secondLvlPropertyValue);
- if (ius == null) {
- ius = new ArrayList<InstallableUnit>();
- secondLevelMap.put(secondLvlPropertyValue, ius);
- }
- ius.add(iu);
- }
-
- private void checkPropertyValuesAreNotNull(InstallableUnit iu, String firstLvlPropertyValue, String secondLvlPropertyValue) {
- if ((firstLvlPropertyValue == null) || (secondLvlPropertyValue == null)) {
- String exceptionMessage1 = (firstLvlPropertyValue == null) ? ("IU \"" + iu.toString() + "\" has no property \"" + this.firstLvlProperty + "\"") : ("");
- String exceptionMessage2 = (secondLvlPropertyValue == null) ? ("IU \"" + iu.toString() + "\" has no property \"" + this.secondLvlProperty + "\"") : ("");
- String exceptionMessageSep = ((firstLvlPropertyValue == null) || (secondLvlPropertyValue == null)) ? ("") : ("\n");
- String exceptionMessage = exceptionMessage1 + exceptionMessageSep + exceptionMessage2;
- throw new IllegalArgumentException(exceptionMessage);
- }
- }
-
- public Iterator<List<InstallableUnit>> firstLvlClustersIterator() {
- return new FirstLvlClusterIUsIterator();
- }
-
- public Iterator<List<InstallableUnit>> secondLvlClustersIterator() {
- return new SecondLvlClusterIUsIterator();
- }
-
- private class FirstLvlClusterIUsIterator implements Iterator<List<InstallableUnit>> {
-
- private Iterator<String> clusterMapKeysetIt;
-
- public FirstLvlClusterIUsIterator() {
- this.clusterMapKeysetIt = clusterMap.keySet().iterator();
- }
-
- public boolean hasNext() {
- return this.clusterMapKeysetIt.hasNext();
- }
-
- public List<InstallableUnit> next() {
- String currentKey = this.clusterMapKeysetIt.next();
- List<InstallableUnit> res = new ArrayList<InstallableUnit>();
- Map<String, List<InstallableUnit>> secondLvlMap = clusterMap.get(currentKey);
- Iterator<String> secondLvlMapKeysetIt = secondLvlMap.keySet().iterator();
- while (secondLvlMapKeysetIt.hasNext()) {
- res.addAll(secondLvlMap.get(secondLvlMapKeysetIt.next()));
- }
- return res;
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-
- private class SecondLvlClusterIUsIterator implements Iterator<List<InstallableUnit>> {
-
- private Iterator<String> clusterMapKeysetIt;
-
- private Iterator<String> currentClusterKeysetIt = null;
-
- private Map<String, List<InstallableUnit>> secondLvlMap;
-
- public SecondLvlClusterIUsIterator() {
- this.clusterMapKeysetIt = clusterMap.keySet().iterator();
- if (this.clusterMapKeysetIt.hasNext()) {
- nextSecondLvlIt();
- }
- }
-
- public boolean hasNext() {
- return this.clusterMapKeysetIt.hasNext() || (this.currentClusterKeysetIt != null && this.currentClusterKeysetIt.hasNext());
- }
-
- public List<InstallableUnit> next() {
- if (!this.currentClusterKeysetIt.hasNext()) {
- nextSecondLvlIt();
- }
- return new ArrayList<InstallableUnit>(this.secondLvlMap.get(this.currentClusterKeysetIt.next()));
- }
-
- private void nextSecondLvlIt() {
- String firstKey = this.clusterMapKeysetIt.next();
- this.secondLvlMap = clusterMap.get(firstKey);
- this.currentClusterKeysetIt = secondLvlMap.keySet().iterator();
- }
-
- public void remove() {
- throw new UnsupportedOperationException();
- }
-
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Explanation.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Explanation.java
deleted file mode 100755
index 1d535cc..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Explanation.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Daniel Le Berre - initial API and implementation
- * IBM - ongoing development
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.Arrays;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.cudf.Main;
-import org.eclipse.equinox.p2.cudf.metadata.IRequiredCapability;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.osgi.util.NLS;
-
-public abstract class Explanation implements Comparable {
-
- public static class HardRequirement extends Explanation {
- public final InstallableUnit iu;
- public final IRequiredCapability req;
-
- public HardRequirement(InstallableUnit iu, IRequiredCapability req) {
- this.iu = iu;
- this.req = req;
- }
-
- public int orderValue() {
- return 5;
- }
-
- public IStatus toStatus() {
- MultiStatus result = new MultiStatus(Main.PLUGIN_ID, 1, Messages.Explanation_unsatisfied, null);
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, NLS.bind(Messages.Explanation_from, getUserReadableName(iu))));
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, NLS.bind(Messages.Explanation_to, req)));
- return result;
- }
-
- public String toString() {
- return NLS.bind(Messages.Explanation_hardDependency, iu, req);
- }
- }
-
- public static class IUInstalled extends Explanation {
- public final InstallableUnit iu;
-
- public IUInstalled(InstallableUnit iu) {
- this.iu = iu;
- }
-
- public int orderValue() {
- return 2;
- }
-
- public String toString() {
- return NLS.bind(Messages.Explanation_alreadyInstalled, iu);
- }
-
- public IStatus toStatus() {
- return new Status(IStatus.ERROR, Main.PLUGIN_ID, NLS.bind(Messages.Explanation_alreadyInstalled, getUserReadableName(iu)));
- }
- }
-
- public static class IUToInstall extends Explanation {
- public final InstallableUnit iu;
-
- public IUToInstall(InstallableUnit iu) {
- this.iu = iu;
- }
-
- public int orderValue() {
- return 1;
- }
-
- public String toString() {
- return NLS.bind(Messages.Explanation_toInstall, iu);
- }
-
- public IStatus toStatus() {
- return new Status(IStatus.ERROR, Main.PLUGIN_ID, NLS.bind(Messages.Explanation_toInstall, getUserReadableName(iu)));
- }
- }
-
- public static class MissingIU extends Explanation {
- public final InstallableUnit iu;
- public final IRequiredCapability req;
-
- public MissingIU(InstallableUnit iu, IRequiredCapability req) {
- this.iu = iu;
- this.req = req;
- }
-
- public int orderValue() {
- return 3;
- }
-
- public int shortAnswer() {
- return MISSING_REQUIREMENT;
- }
-
- public String toString() {
- return NLS.bind(Messages.Explanation_missingRequired, iu, req);
- }
-
- public IStatus toStatus() {
- return new Status(IStatus.ERROR, Main.PLUGIN_ID, NLS.bind(Messages.Explanation_missingRequired, getUserReadableName(iu), req));
- }
- }
-
- public static class Singleton extends Explanation {
- public final InstallableUnit[] ius;
-
- public Singleton(InstallableUnit[] ius) {
- this.ius = ius;
- }
-
- public int orderValue() {
- return 4;
- }
-
- public int shortAnswer() {
- return VIOLATED_SINGLETON_CONSTRAINT;
- }
-
- public IStatus toStatus() {
- MultiStatus result = new MultiStatus(Main.PLUGIN_ID, 1, NLS.bind(Messages.Explanation_singleton, ""), null); //$NON-NLS-1$
- for (int i = 0; i < ius.length; i++)
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, getUserReadableName(ius[i])));
- return result;
- }
-
- public String toString() {
- return NLS.bind(Messages.Explanation_singleton, Arrays.asList(ius));
- }
-
- }
-
- public static final int MISSING_REQUIREMENT = 1;
-
- public static final Explanation OPTIONAL_REQUIREMENT = new Explanation() {
-
- public int orderValue() {
- return 6;
- }
-
- public String toString() {
- return Messages.Explanation_optionalDependency;
- }
- };
-
- public static final int VIOLATED_SINGLETON_CONSTRAINT = 2;
-
- protected Explanation() {
- super();
- }
-
- public int compareTo(Object arg0) {
- Explanation exp = (Explanation) arg0;
- if (this.orderValue() == exp.orderValue()) {
- return this.toString().compareTo(exp.toString());
- }
- return this.orderValue() - exp.orderValue();
- }
-
- protected abstract int orderValue();
-
- public int shortAnswer() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Returns a representation of this explanation as a status object.
- */
- public IStatus toStatus() {
- return new Status(IStatus.ERROR, Main.PLUGIN_ID, toString());
- }
-
- protected String getUserReadableName(InstallableUnit iu) {
- if (iu == null)
- return ""; //$NON-NLS-1$
- String result = getLocalized(iu);
- if (result == null)
- return iu.toString();
- return result + ' ' + iu.getVersion() + " (" + iu.toString() + ')'; //$NON-NLS-1$
- }
-
- private String getLocalized(InstallableUnit iu) {
- return iu.getId();
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ExplanationJob.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ExplanationJob.java
deleted file mode 100755
index 4519b5a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ExplanationJob.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008-2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.sat4j.pb.tools.DependencyHelper;
-import org.sat4j.specs.TimeoutException;
-
-/**
- * Job for computing SAT failure explanation in the background.
- */
-class ExplanationJob extends Job {
- private static final boolean DEBUG = false;
- private Set explanation;
- private DependencyHelper dependencyHelper;
-
- public ExplanationJob(DependencyHelper dependencyHelper) {
- super(Messages.Planner_NoSolution);
- this.dependencyHelper = dependencyHelper;
- //explanations cannot be canceled directly, so don't show it to the user
- setSystem(true);
- }
-
- public boolean belongsTo(Object family) {
- return family == ExplanationJob.this;
- }
-
- protected void canceling() {
- super.canceling();
- dependencyHelper.stopExplanation();
- }
-
- public Set getExplanationResult() {
- return explanation;
- }
-
- protected IStatus run(IProgressMonitor monitor) {
- long start = 0;
- if (DEBUG) {
- start = System.currentTimeMillis();
- Tracing.debug("Determining cause of failure: " + start); //$NON-NLS-1$
- }
- try {
- explanation = dependencyHelper.why();
- if (DEBUG) {
- long stop = System.currentTimeMillis();
- Tracing.debug("Explanation found: " + (stop - start)); //$NON-NLS-1$
- Tracing.debug("Explanation:"); //$NON-NLS-1$
- for (Iterator i = explanation.iterator(); i.hasNext();) {
- Tracing.debug(i.next().toString());
- }
- }
- } catch (TimeoutException e) {
- if (DEBUG)
- Tracing.debug("Timeout while computing explanations"); //$NON-NLS-1$
- } finally {
- //must never have a null result, because caller is waiting on result to be non-null
- if (explanation == null)
- explanation = Collections.EMPTY_SET;
- }
- synchronized (this) {
- ExplanationJob.this.notify();
- }
- return Status.OK_STATUS;
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Messages.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Messages.java
deleted file mode 100755
index 88c6b10..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Messages.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.equinox.p2.cudf.solver.messages"; //$NON-NLS-1$
-
- static {
- // initialize resource bundles
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Do not instantiate
- }
-
- public static String Director_Task_installer_plan;
- public static String Director_Task_Installing;
- public static String Director_Task_Updating;
- public static String Director_Task_Resolving_Dependencies;
- public static String Director_Unsatisfied_Dependencies;
- public static String Director_error_applying_configuration;
-
- public static String Explanation_alreadyInstalled;
- public static String Explanation_from;
- public static String Explanation_fromPatch;
- public static String Explanation_hardDependency;
- public static String Explanation_patchedHardDependency;
- public static String Explanation_missingRequired;
- public static String Explanation_missingRequiredFilter;
- public static String Explanation_optionalDependency;
- public static String Explanation_rootMissing;
- public static String Explanation_rootSingleton;
- public static String Explanation_singleton;
- public static String Explanation_to;
- public static String Explanation_toInstall;
- public static String Explanation_unsatisfied;
-
- public static String Planner_Timeout;
- public static String Planner_Problems_resolving_plan;
- public static String Planner_Unsatisfiable_problem;
- public static String Planner_Unsatisfied_dependency;
- public static String Planner_NoSolution;
- public static String Planner_Unexpected_problem;
- public static String Planner_actions_and_software_incompatible;
- public static String Planner_can_not_install_preq;
- public static String Planner_no_profile_registry;
- public static String Planner_profile_out_of_sync;
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
deleted file mode 100755
index 4da784c..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/OptimizationFunction.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Daniel Le Berre - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-import org.sat4j.core.Vec;
-import org.sat4j.pb.tools.LexicoHelper;
-import org.sat4j.pb.tools.WeightedObject;
-import org.sat4j.specs.ContradictionException;
-import org.sat4j.specs.IVec;
-
-public abstract class OptimizationFunction {
- protected Map slice;
- protected Map noopVariables;
- protected QueryableArray picker;
- protected LexicoHelper dependencyHelper;
- protected List removalVariables = new ArrayList();
- protected List changeVariables = new ArrayList();
- protected List versionChangeVariables = new ArrayList();
- protected List nouptodateVariables = new ArrayList();
- protected List newVariables = new ArrayList();
- protected List unmetVariables = new ArrayList();
- protected List upVariables = new ArrayList();
- protected List downVariables = new ArrayList();
- protected List firstLvlAlignedVariables = new ArrayList();
- protected List secondLvlAlignedVariables = new ArrayList();
- protected List optionalityVariables;
- protected List optionalityPairs;
-
- public abstract List createOptimizationFunction(InstallableUnit metaIu);
-
- public abstract void printSolutionValue();
-
- protected void removed(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- boolean installed = false;
- Object[] literals = new Object[versions.size()];
- int i = 0;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iuv = (InstallableUnit) iterator2.next();
- installed = installed || iuv.isInstalled();
- literals[i++] = dependencyHelper.not(iuv);
- }
- if (installed) {
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.getKey().toString());
- removalVariables.add(abs);
- // abs <=> not iuv1 and ... and not iuvn
- dependencyHelper.and("OPT1", abs, literals);
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should not happen
- e.printStackTrace();
- }
- }
-
- }
- }
-
- protected void versionChanged(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- boolean installed = false;
- IVec<InstallableUnit> changed = new Vec<InstallableUnit>(versions.size());
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator2.next();
- installed = installed || iu.isInstalled();
- if (!iu.isInstalled()) {
- changed.push(iu);
- }
- }
- if (installed) {
- Object[] changedarray = new Object[changed.size()];
- changed.copyTo(changedarray);
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.getKey().toString());
- versionChangeVariables.add(abs);
- // abs <=> iuv1 or not iuv2 or ... or not iuvn
- dependencyHelper.or("OPT3", abs, changedarray);
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should not happen
- e.printStackTrace();
- }
- }
- }
- }
-
- protected void changed(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- Object[] changed = new Object[versions.size()];
- int i = 0;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator2.next();
-
- changed[i++] = iu.isInstalled() ? dependencyHelper.not(iu) : iu;
- }
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.getKey().toString());
- changeVariables.add(abs);
- // abs <=> iuv1 or not iuv2 or ... or not iuvn
- dependencyHelper.or("OPT3", abs, changed);
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should not happen
- e.printStackTrace();
- }
- }
- }
-
- protected void changed2012(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- Object[] changed = new Object[versions.size()];
- int i = 0;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator2.next();
- changed[i++] = iu.isInstalled() ? dependencyHelper.not(iu) : iu;
- }
- for (Object obj : changed) {
- changeVariables.add(obj);
- weightedObjects.add(WeightedObject.newWO(obj, weight));
- }
- }
- }
-
- protected void up(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- List changed = null;
- int i = 0;
- boolean pkgInstalled = false;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator2.next();
- if (iu.isInstalled()) {
- changed = new ArrayList();
- pkgInstalled = true;
- } else {
- if (pkgInstalled) {
- changed.add(iu);
- }
- }
- }
- if (changed != null) {
- for (Object obj : changed) {
- upVariables.add(obj);
- weightedObjects.add(WeightedObject.newWO(obj, weight));
- }
- }
- }
- }
-
- protected void down(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- List changed = new ArrayList();
- int i = 0;
- boolean pkgInstalled = false;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator2.next();
- if (iu.isInstalled()) {
- pkgInstalled = true;
- break;
- } else {
- changed.add(iu);
- }
- }
- if (pkgInstalled) {
- for (Object obj : changed) {
- downVariables.add(obj);
- weightedObjects.add(WeightedObject.newWO(obj, weight));
- }
- }
- }
- }
-
- protected void uptodate(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- HashMap versions = (HashMap) entry.getValue();
- List toSort = new ArrayList(versions.values());
- Collections.sort(toSort, Collections.reverseOrder());
- weightedObjects.add(WeightedObject.newWO(toSort.get(0), weight));
- }
- }
-
- protected void notuptodate(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- HashMap versions = (HashMap) entry.getValue();
- List toSort = new ArrayList(versions.values());
- Collections.sort(toSort, Collections.reverseOrder());
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.getKey().toString());
- Object notlatest = dependencyHelper.not(toSort.get(0));
- try {
- // notuptodate <=> not iuvn and (iuv1 or iuv2 or ... iuvn-1)
- dependencyHelper.implication(new Object[] {abs}).implies(notlatest).named("OPT4");
- Object[] clause = new Object[toSort.size()];
- toSort.toArray(clause);
- clause[0] = dependencyHelper.not(abs);
- dependencyHelper.clause("OPT4", clause);
- for (int i = 1; i < toSort.size(); i++) {
- dependencyHelper.implication(new Object[] {notlatest, toSort.get(i)}).implies(abs).named("OPT4");
- }
- } catch (ContradictionException e) {
- // should never happen
- e.printStackTrace();
- }
-
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- nouptodateVariables.add(abs);
- }
- }
-
- protected void unmetRecommends(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- for (Iterator iterator = optionalityPairs.iterator(); iterator.hasNext();) {
- Pair entry = (Pair) iterator.next();
- if (entry.left == metaIu) {
- // weightedObjects.add(WeightedObject.newWO(entry.right, weight));
- continue;
- }
-
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.left.toString() + entry.right);
- try {
- dependencyHelper.and("OPTX", abs, new Object[] {entry.right, entry.left});
- } catch (ContradictionException e) {
- // should never happen
- e.printStackTrace();
- }
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- unmetVariables.add(abs);
- }
- }
-
- protected void niou(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- boolean installed = false;
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iuv = (InstallableUnit) iterator2.next();
- installed = installed || iuv.isInstalled();
- }
- if (!installed) {
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable(entry.getKey().toString());
- newVariables.add(abs);
- // a <=> iuv1 or ... or iuvn
- Object[] clause = new Object[versions.size()];
- versions.toArray(clause);
- dependencyHelper.or("OPT2", abs, clause);
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should not happen
- e.printStackTrace();
- }
- }
-
- }
- }
-
- protected void optional(List weightedObjects, BigInteger weight, InstallableUnit metaIu) {
- for (Iterator it = optionalityPairs.iterator(); it.hasNext();) {
- Pair pair = (Pair) it.next();
- if (pair.left != metaIu) {
- weightedObjects.add(WeightedObject.newWO(pair.right, weight));
- unmetVariables.add(pair.right);
- }
- }
- }
-
- protected void sum(List weightedObjects, boolean minimize, InstallableUnit metaIu, String sumProperty) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iuv = (InstallableUnit) iterator2.next();
- if (iuv.getSumProperty() != 0) {
- BigInteger weight = BigInteger.valueOf(iuv.getSumProperty());
- weightedObjects.add(WeightedObject.newWO(iuv, minimize ? weight : weight.negate()));
- }
- }
- }
- }
-
- protected void aligned(List weightedObjects, boolean minimize, InstallableUnit metaIu, String prop1, String prop2) {
- AlignedMeasurementHelper helper = new AlignedMeasurementHelper(prop1, prop2);
- fillHelper(metaIu, helper);
- processOnSecondLvlClusters(weightedObjects, minimize, helper);
- processOnFirstLvlClusters(weightedObjects, minimize, helper);
- }
-
- private void processOnFirstLvlClusters(List weightedObjects, boolean minimize, AlignedMeasurementHelper helper) {
- Iterator<List<InstallableUnit>> firstLvlClusterIt = helper.firstLvlClustersIterator();
- int cpt = 0;
- BigInteger weight = (!minimize) ? (BigInteger.ONE) : (BigInteger.valueOf(-1));
- while (firstLvlClusterIt.hasNext()) {
- List<InstallableUnit> ius = firstLvlClusterIt.next();
- if (ius.size() > 1) {
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable("aligned_lvl1_" + cpt);
- firstLvlAlignedVariables.add(abs);
- dependencyHelper.or("align_lvl1", abs, ius.toArray());
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should never happen
- e.printStackTrace();
- }
- ++cpt;
- } else {
- InstallableUnit iu = ius.get(0);
- firstLvlAlignedVariables.add(iu);
- weightedObjects.add(WeightedObject.newWO(iu, weight));
- }
- }
- }
-
- private void processOnSecondLvlClusters(List weightedObjects, boolean minimize, AlignedMeasurementHelper helper) {
- Iterator<List<InstallableUnit>> secondLvlClusterIt = helper.secondLvlClustersIterator();
- int cpt = 0;
- BigInteger weight = (minimize) ? (BigInteger.ONE) : (BigInteger.valueOf(-1));
- while (secondLvlClusterIt.hasNext()) {
- List<InstallableUnit> ius = secondLvlClusterIt.next();
- if (ius.size() > 1) {
- try {
- Projector.AbstractVariable abs = new Projector.AbstractVariable("aligned_lvl2_" + cpt);
- secondLvlAlignedVariables.add(abs);
- dependencyHelper.or("align_lvl2", abs, ius.toArray());
- weightedObjects.add(WeightedObject.newWO(abs, weight));
- } catch (ContradictionException e) {
- // should never happen
- e.printStackTrace();
- }
- ++cpt;
- } else {
- InstallableUnit iu = ius.get(0);
- secondLvlAlignedVariables.add(iu);
- weightedObjects.add(WeightedObject.newWO(iu, weight));
- }
-
- }
- }
-
- private void fillHelper(InstallableUnit metaIu, AlignedMeasurementHelper helper) {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- if (entry.getKey() == metaIu.getId())
- continue;
- Collection versions = ((HashMap) entry.getValue()).values();
- for (Iterator iterator2 = versions.iterator(); iterator2.hasNext();) {
- InstallableUnit iuv = (InstallableUnit) iterator2.next();
- helper.addIU(iuv);
- }
- }
- }
-
- public abstract String getName();
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/P2OptimizationFunction.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/P2OptimizationFunction.java
deleted file mode 100755
index 6229a4a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/P2OptimizationFunction.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Daniel Le Berre - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.metadata.IRequiredCapability;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.query.CapabilityQuery;
-import org.eclipse.equinox.p2.cudf.query.Collector;
-import org.sat4j.pb.tools.WeightedObject;
-
-public class P2OptimizationFunction extends OptimizationFunction {
-
- public List createOptimizationFunction(InstallableUnit metaIu) {
- List weightedObjects = new ArrayList();
-
- Set s = slice.entrySet();
- final BigInteger POWER = BigInteger.valueOf(2);
-
- BigInteger maxWeight = POWER;
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- HashMap conflictingEntries = (HashMap) entry.getValue();
- if (conflictingEntries.size() == 1) {
- continue;
- }
- List toSort = new ArrayList(conflictingEntries.values());
- Collections.sort(toSort, Collections.reverseOrder());
- BigInteger weight = POWER;
- int count = toSort.size();
- for (int i = 0; i < count; i++) {
- InstallableUnit iu = (InstallableUnit) toSort.get(i);
- weightedObjects.add(WeightedObject.newWO(iu, iu.isInstalled() ? BigInteger.ONE : weight));
- weight = weight.multiply(POWER);
- }
- if (weight.compareTo(maxWeight) > 0)
- maxWeight = weight;
- }
-
- // maxWeight = maxWeight.multiply(POWER);
- //
- // // Weight the no-op variables beneath the abstract variables
- // for (Iterator iterator = noopVariables.values().iterator(); iterator.hasNext();) {
- // weightedObjects.add(WeightedObject.newWO(iterator.next(), maxWeight));
- // }
-
- maxWeight = maxWeight.multiply(POWER);
-
- //DISABLED the complete following block because there was a compile error
- // // Add the abstract variables
- // BigInteger abstractWeight = maxWeight.negate();
- // for (Iterator iterator = abstractVariables.iterator(); iterator.hasNext();) {
- // weightedObjects.add(WeightedObject.newWO(iterator.next(), abstractWeight));
- // }
-
- maxWeight = maxWeight.multiply(POWER);
-
- BigInteger optionalWeight = maxWeight.negate();
- long countOptional = 1;
- List requestedPatches = new ArrayList();
- IRequiredCapability[] reqs = metaIu.getRequiredCapabilities();
- for (int j = 0; j < reqs.length; j++) {
- if (!reqs[j].isOptional())
- continue;
- Collector matches = picker.query(new CapabilityQuery(reqs[j]), new Collector(), null);
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- InstallableUnit match = (InstallableUnit) iterator.next();
- weightedObjects.add(WeightedObject.newWO(match, optionalWeight));
- }
- }
-
- BigInteger patchWeight = maxWeight.multiply(POWER).multiply(BigInteger.valueOf(countOptional)).negate();
- for (Iterator iterator = requestedPatches.iterator(); iterator.hasNext();) {
- weightedObjects.add(WeightedObject.newWO(iterator.next(), patchWeight));
- }
- if (!weightedObjects.isEmpty()) {
- return weightedObjects;
- }
- return null;
- }
-
- public String getName() {
- return "p2";
- }
-
- public void printSolutionValue() {
- // nothing to do
-
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Pair.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Pair.java
deleted file mode 100755
index dbd658d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Pair.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Daniel Le Berre - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-class Pair {
- public final Object left, right;
-
- Pair(Object left, Object right) {
- this.left = left;
- this.right = right;
- }
-
- public String toString() {
- return "(" + left + "," + right + ")";
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ParanoidOptimizationFunction.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ParanoidOptimizationFunction.java
deleted file mode 100755
index 38b66e8..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ParanoidOptimizationFunction.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Daniel Le Berre - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.List;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-
-// PARANOID: we want to answer the user request, minimizing the number
-// of packages removed in the solution, and also the packages
-// changed by the solution; the optimization criterion is
-//
-// lex( min #removed, min #changed)
-//
-// Hence, two solutions S1 and S2 will be compared as follows:
-//
-// i) compute ri = #removed(U,Si), ci = #changed(U,Si)
-//
-// ii) S1 is better than S2 iff r1 < r2 or (r1=r2 and c1<c2)
-public class ParanoidOptimizationFunction extends OptimizationFunction {
-
- public List createOptimizationFunction(InstallableUnit metaIu) {
- List weightedObjects = new ArrayList();
- BigInteger weight = BigInteger.valueOf(slice.size() + 1);
- removed(weightedObjects, weight, metaIu);
- changed(weightedObjects, BigInteger.ONE, metaIu);
- if (!weightedObjects.isEmpty()) {
- return weightedObjects;
- }
- return null;
- }
-
- public String getName() {
- return "misc 2010 paranoid";
- }
-
- public void printSolutionValue() {
- int removed = 0, changed = 0;
- List proof = new ArrayList();
- for (int i = 0; i < removalVariables.size(); i++) {
- Object var = removalVariables.get(i);
- if (dependencyHelper.getBooleanValueFor(var)) {
- removed++;
- proof.add(var);
- }
- }
- for (int i = 0; i < changeVariables.size(); i++) {
- Object var = changeVariables.get(i);
- if (dependencyHelper.getBooleanValueFor(var)) {
- changed++;
- proof.add(var);
- }
- }
- System.out.println("# Paranoid criteria value: -" + removed + ", -" + changed);
- System.out.println("# Proof: " + proof);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ProfileChangeRequest.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ProfileChangeRequest.java
deleted file mode 100755
index e812ea2..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/ProfileChangeRequest.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2008, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-
-public class ProfileChangeRequest {
-
- private QueryableArray initialState;
- private ArrayList iusToRemove = new ArrayList(10); // list of ius to remove
- private ArrayList iusToAdd = new ArrayList(10); // list of ius to add
- private ArrayList iusToUpdate = new ArrayList(10); // list of ius to add
- private List iusPreInstalled = new ArrayList(1); //this will get overwritten
- private List constraintsFromKeep = new ArrayList(1); //this will get overwritten
-
- private int expected = -10;
-
- public ProfileChangeRequest(QueryableArray initialState) {
- this.initialState = initialState;
- }
-
- public void setPreInstalledIUs(List list) {
- iusPreInstalled = list;
- }
-
- public void setContrainstFromKeep(List constraints) {
- constraintsFromKeep = constraints;
- }
-
- public void addInstallableUnit(IRequiredCapability req) {
- iusToAdd.add(req);
- }
-
- public void removeInstallableUnit(IRequiredCapability toUninstall) {
- iusToRemove.add(new NotRequirement(toUninstall));
- }
-
- public void upgradeInstallableUnit(IRequiredCapability toUpgrade) {
- iusToUpdate.add(toUpgrade);
- }
-
- public ArrayList getAllRequests() {
- ArrayList result = new ArrayList(iusToAdd.size() + iusToRemove.size() + iusToUpdate.size() + iusPreInstalled.size());
- result.addAll(constraintsFromKeep);
- result.addAll(iusToAdd);
- result.addAll(iusToRemove);
- result.addAll(iusToUpdate);
- result.addAll(iusPreInstalled);
- return result;
- }
-
- public QueryableArray getInitialState() {
- return initialState;
- }
-
- public int getExpected() {
- return expected;
- }
-
- public void setExpected(int expected) {
- this.expected = expected;
- }
-
- public void purge() {
- iusPreInstalled = null;
- iusToAdd = null;
- iusToRemove = null;
- iusToUpdate = null;
- initialState = null;
- }
-
- public List getExtraRequirements() {
- List result = new ArrayList(iusPreInstalled.size());
- for (Iterator iterator = iusPreInstalled.iterator(); iterator.hasNext();) {
- IRequiredCapability type = (IRequiredCapability) iterator.next();
- result.add(new RequiredCapability(type.getName(), VersionRange.emptyRange, false));
- }
- return result;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Projector.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Projector.java
deleted file mode 100755
index 609f39c..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Projector.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- * Daniel Le Berre - Fix in the encoding and the optimization function
- * Alban Browaeys - Optimized string concatenation in bug 251357
- * Jed Anderson - switch from opb files to API calls to DependencyHelper in bug 200380
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.io.PrintWriter;
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.p2.cudf.Log;
-import org.eclipse.equinox.p2.cudf.Main;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.*;
-import org.eclipse.osgi.util.NLS;
-import org.sat4j.minisat.restarts.LubyRestarts;
-import org.sat4j.pb.*;
-import org.sat4j.pb.core.PBSolverResolution;
-import org.sat4j.pb.tools.LexicoHelper;
-import org.sat4j.pb.tools.WeightedObject;
-import org.sat4j.specs.*;
-
-/**
- * This class is the interface between SAT4J and the planner. It produces a
- * boolean satisfiability problem, invokes the solver, and converts the solver result
- * back into information understandable by the planner.
- */
-public class Projector {
- private static final boolean DEBUG = false; //SET THIS TO FALSE FOR THE COMPETITION
- private static final boolean TIMING = false; //SET THIS TO FALSE FOR THE COMPETITION
- private static final boolean DEBUG_ENCODING = false; //SET THIS TO FALSE FOR THE COMPETITION
- private static final boolean PURGE = true;
-
- private QueryableArray picker;
-
- private Map noopVariables; //key IU, value AbstractVariable
- private List abstractVariables;
-
- private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
- LexicoHelper dependencyHelper;
- private Collection solution;
- private Collection assumptions;
-
- private MultiStatus result;
-
- private InstallableUnit entryPoint;
-
- private SolverConfiguration configuration;
- private OptimizationFunction optFunction;
-
- private List optionalityVariables;
- private List optionalityPairs;
-
- static class AbstractVariable {
- private String str;
-
- AbstractVariable() {
- // no value for str
- }
-
- AbstractVariable(String str) {
- this.str = str;
- }
-
- public String toString() {
- return "AbstractVariable: " + (str == null ? "" + hashCode() : str); //$NON-NLS-1$
- }
- }
-
- public Projector(QueryableArray q) {
- picker = q;
- noopVariables = new HashMap();
- slice = new TwoTierMap(q.getSize(), TwoTierMap.POLICY_BOTH_MAPS_PRESERVE_ORDERING);
- abstractVariables = new ArrayList();
- result = new MultiStatus(Main.PLUGIN_ID, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
- assumptions = new ArrayList();
- optionalityVariables = new ArrayList();
- optionalityPairs = new ArrayList();
- }
-
- private void purgeIU(InstallableUnit iu) {
- if (PURGE) {
- iu.setCapabilities(InstallableUnit.NO_PROVIDES);
- iu.setRequiredCapabilities(InstallableUnit.NO_REQUIRES);
- }
- }
-
- public void encode(InstallableUnit entryPointIU, SolverConfiguration conf) {
- this.configuration = conf;
- this.entryPoint = entryPointIU;
- solution = null;
- try {
- long start = 0;
- if (TIMING) {
- start = System.currentTimeMillis();
- Tracing.debug("Starting projection ... "); //$NON-NLS-1$
- }
- IPBSolver solver;
- if (DEBUG_ENCODING) {
- solver = new UserFriendlyPBStringSolver(); //.newOPBStringSolver();
- } else if (conf.encoding) {
- solver = SolverFactory.newOPBStringSolver();
- } else {
- PBSolverResolution mysolver = SolverFactory.newCompetPBResLongWLMixedConstraintsObjectiveExpSimp();
- mysolver.setSimplifier(mysolver.SIMPLE_SIMPLIFICATION);
- mysolver.setRestartStrategy(new LubyRestarts(512));
- // mysolver.setLearnedConstraintsDeletionStrategy(mysolver.memory_based);
- // mysolver.setSearchListener(new DecisionTracing("/tmp/rand992.dat"));
- solver = mysolver; // SolverFactory.newResolutionGlucoseSimpleSimp();// SolverFactory.newEclipseP2();
- }
- if ("default".equals(configuration.timeout)) {
- solver.setTimeout(300); // 5 minutes
- } else {
- int number = Integer.valueOf(configuration.timeout.substring(0, configuration.timeout.length() - 1)).intValue();
- if (configuration.timeout.endsWith("s")) {
- solver.setTimeout(number);
- } else {
- solver.setTimeoutOnConflicts(number);
- }
- }
- solver.setVerbose(configuration.verbose);
- solver.setLogPrefix("# ");
- Log.printlnNoPrefix(solver.toString("# "));
- dependencyHelper = new LexicoHelper(solver, conf.explain);
- if (DEBUG_ENCODING) {
- ((UserFriendlyPBStringSolver) solver).setMapping(dependencyHelper.getMappingToDomain());
- }
- Iterator iusToEncode = picker.iterator();
- List iusToOrder = new ArrayList(picker.getSize());
- while (iusToEncode.hasNext()) {
- iusToOrder.add(iusToEncode.next());
- }
- Collections.sort(iusToOrder);
- iusToEncode = iusToOrder.iterator();
- while (iusToEncode.hasNext()) {
- InstallableUnit iuToEncode = (InstallableUnit) iusToEncode.next();
- if (iuToEncode != entryPointIU) {
- processIU(iuToEncode, false);
- }
- }
- createConstraintsForSingleton();
-
- createMustHave(entryPointIU);
-
- optFunction = getOptimizationFactory(configuration.objective);
- setObjectiveFunction(optFunction.createOptimizationFunction(entryPointIU));
- if (TIMING) {
- Tracing.debug("Objective function contains " + solver.getObjectiveFunction().getVars().size() + " literals");
- long stop = System.currentTimeMillis();
- Tracing.debug("Projection completed: " + (stop - start) + "ms."); //$NON-NLS-1$
- }
- if (DEBUG_ENCODING) {
- Log.println(solver.toString());
- }
- } catch (IllegalStateException e) {
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, e.getMessage(), e));
- if (configuration.verbose) {
- Log.println("*** PBM *** " + e.getMessage());
- }
- } catch (ContradictionException e) {
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, Messages.Planner_Unsatisfiable_problem));
- if (configuration.verbose) {
- Log.println("Unsat OPB problem ");
- }
- }
- }
-
- private OptimizationFunction getOptimizationFactory(String optFunctionName) {
- OptimizationFunction function = null;
- function = new UserDefinedOptimizationFunction2012(optFunctionName);
- Log.println("Optimization function: " + function.getName());
- function.slice = slice;
- function.noopVariables = noopVariables;
- function.picker = picker;
- function.dependencyHelper = dependencyHelper;
- function.optionalityVariables = optionalityVariables;
- function.optionalityPairs = optionalityPairs;
- return function;
- }
-
- private void setObjectiveFunction(List weightedObjects) {
- if (weightedObjects == null)
- return;
- if (DEBUG) {
- StringBuffer b = new StringBuffer();
- for (Iterator i = weightedObjects.iterator(); i.hasNext();) {
- WeightedObject object = (WeightedObject) i.next();
- if (b.length() > 0)
- b.append(", "); //$NON-NLS-1$
- b.append(object.getWeight());
- b.append(' ');
- b.append(object.thing);
- }
- Tracing.debug("objective function: " + b); //$NON-NLS-1$
- }
- dependencyHelper.setObjectiveFunction((WeightedObject[]) weightedObjects.toArray(new WeightedObject[weightedObjects.size()]));
- }
-
- private void createMustHave(InstallableUnit iu) throws ContradictionException {
- processIU(iu, true);
- if (DEBUG) {
- Tracing.debug(iu + "=1"); //$NON-NLS-1$
- }
- dependencyHelper.setTrue(iu, new Explanation.IUToInstall(iu));
- // assumptions.add(iu);
- }
-
- private void createNegation(InstallableUnit iu, IRequiredCapability req) throws ContradictionException {
- if (DEBUG) {
- Tracing.debug(iu + "=0"); //$NON-NLS-1$
- }
- dependencyHelper.setFalse(iu, new Explanation.MissingIU(iu, req));
- }
-
- private void expandNegatedRequirement(IRequiredCapability req, InstallableUnit iu, boolean isRootIu) throws ContradictionException {
- IRequiredCapability negatedReq = ((NotRequirement) req).getRequirement();
- List matches = getApplicableMatches(negatedReq);
- matches.remove(iu);
- if (matches.isEmpty()) {
- return;
- }
- Explanation explanation;
- if (isRootIu) {
- InstallableUnit reqIu = (InstallableUnit) matches.iterator().next();
- explanation = new Explanation.IUToInstall(reqIu);
- } else {
- explanation = new Explanation.HardRequirement(iu, req);
- }
- createNegationImplication(iu, matches, explanation);
- }
-
- private void expandRequirement(IRequiredCapability req, InstallableUnit iu, boolean isRootIu) throws ContradictionException {
- if (req.isNegation()) {
- expandNegatedRequirement(req, iu, isRootIu);
- return;
- }
- List matches = getApplicableMatches(req);
- if (!req.isOptional()) {
- if (matches.isEmpty()) {
- missingRequirement(iu, req);
- } else {
- if (req.getArity() == 1) {
- createAtMostOne((InstallableUnit[]) matches.toArray(new InstallableUnit[matches.size()]));
- return;
- }
- InstallableUnit reqIu = (InstallableUnit) matches.iterator().next();
- Explanation explanation = new Explanation.IUToInstall(reqIu);
- createImplication(iu, matches, explanation);
- }
- } else {
- AbstractVariable abs = getAbstractVariable(iu.toString() + "->" + req.toString());
- matches.add(abs);
- createImplication(iu, matches, Explanation.OPTIONAL_REQUIREMENT);
- optionalityVariables.add(abs);
- optionalityPairs.add(new Pair(iu, abs));
- }
- }
-
- private void expandRequirements(IRequiredCapability[] reqs, InstallableUnit iu, boolean isRootIu) throws ContradictionException {
- if (reqs.length == 0) {
- return;
- }
- for (int i = 0; i < reqs.length; i++) {
- expandRequirement(reqs[i], iu, isRootIu);
- }
- }
-
- public void processIU(InstallableUnit iu, boolean isRootIU) throws ContradictionException {
- slice.put(iu.getId(), iu.getVersion(), iu);
- expandRequirements(getRequiredCapabilities(iu), iu, isRootIU);
- }
-
- private IRequiredCapability[] getRequiredCapabilities(InstallableUnit iu) {
- return iu.getRequiredCapabilities();
- }
-
- private void missingRequirement(InstallableUnit iu, IRequiredCapability req) throws ContradictionException {
- result.add(new Status(IStatus.WARNING, Main.PLUGIN_ID, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
- createNegation(iu, req);
- }
-
- /**
- * @param req
- * @return a list of mandatory requirements if any, an empty list if req.isOptional().
- */
- private List getApplicableMatches(IRequiredCapability req) {
- List target = new ArrayList();
- Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null);
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- InstallableUnit match = (InstallableUnit) iterator.next();
- target.add(match);
- }
- return target;
- }
-
- //This will create as many implication as there is element in the right argument
- private void createNegationImplication(Object left, List right, Explanation name) throws ContradictionException {
- if (DEBUG) {
- Tracing.debug(name + ": " + left + "->" + right); //$NON-NLS-1$ //$NON-NLS-2$
- }
- for (Iterator iterator = right.iterator(); iterator.hasNext();) {
- dependencyHelper.implication(new Object[] {left}).impliesNot(iterator.next()).named(name);
- }
-
- }
-
- private void createImplication(Object left, List right, Explanation name) throws ContradictionException {
- if (DEBUG) {
- Tracing.debug(name + ": " + left + "->" + right); //$NON-NLS-1$ //$NON-NLS-2$
- }
- dependencyHelper.implication(new Object[] {left}).implies(right.toArray()).named(name);
- }
-
- //Create constraints to deal with singleton
- //When there is a mix of singleton and non singleton, several constraints are generated
- private void createConstraintsForSingleton() throws ContradictionException {
- Set s = slice.entrySet();
- for (Iterator iterator = s.iterator(); iterator.hasNext();) {
- Map.Entry entry = (Map.Entry) iterator.next();
- HashMap conflictingEntries = (HashMap) entry.getValue();
- if (conflictingEntries.size() < 2)
- continue;
-
- Collection conflictingVersions = conflictingEntries.values();
- List singletons = new ArrayList();
- List nonSingletons = new ArrayList();
- for (Iterator conflictIterator = conflictingVersions.iterator(); conflictIterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) conflictIterator.next();
- if (iu.isSingleton()) {
- singletons.add(iu);
- } else {
- nonSingletons.add(iu);
- }
- }
- if (singletons.isEmpty())
- continue;
-
- InstallableUnit[] singletonArray;
- if (nonSingletons.isEmpty()) {
- singletonArray = (InstallableUnit[]) singletons.toArray(new InstallableUnit[singletons.size()]);
- createAtMostOne(singletonArray);
- } else {
- singletonArray = (InstallableUnit[]) singletons.toArray(new InstallableUnit[singletons.size() + 1]);
- for (Iterator iterator2 = nonSingletons.iterator(); iterator2.hasNext();) {
- singletonArray[singletonArray.length - 1] = (InstallableUnit) iterator2.next();
- createAtMostOne(singletonArray);
- }
- }
- }
- }
-
- private void createAtMostOne(InstallableUnit[] ius) throws ContradictionException {
- if (DEBUG) {
- StringBuffer b = new StringBuffer();
- for (int i = 0; i < ius.length; i++) {
- b.append(ius[i].toString());
- }
- Tracing.debug("At most 1 of " + b); //$NON-NLS-1$
- }
- dependencyHelper.atMost(1, ius).named(new Explanation.Singleton(ius));
- }
-
- private AbstractVariable getAbstractVariable(String name) {
- AbstractVariable abstractVariable = new AbstractVariable(name);
- abstractVariables.add(abstractVariable);
- return abstractVariable;
- }
-
- private void purge() {
- if (PURGE) {
- Iterator iusToEncode = picker.iterator();
- while (iusToEncode.hasNext()) {
- purgeIU((InstallableUnit) iusToEncode.next());
- }
-
- picker = null;
- noopVariables = null;
- abstractVariables = null;
- slice = null;
- // assumptions = null;
- }
- }
-
- private boolean isSatisfiable;
-
- public IStatus invokeSolver() {
- purge();
- isSatisfiable = false;
- if (result.getSeverity() == IStatus.ERROR)
- return result;
- // CNF filename is given on the command line
- long start = System.currentTimeMillis();
- if (TIMING)
- Tracing.debug("Invoking solver ..."); //$NON-NLS-1$
- try {
- Log.println("p cnf " + dependencyHelper.getSolver().nVars() + " " + dependencyHelper.getSolver().nConstraints());
- if (dependencyHelper.hasASolution(assumptions)) {
- isSatisfiable = true;
- if (DEBUG) {
- Tracing.debug("Satisfiable !"); //$NON-NLS-1$
- }
- if (TIMING)
- Tracing.debug("Solver first solution found: " + (System.currentTimeMillis() - start) + "ms."); //$NON-NLS-1$
- backToIU();
- long stop = System.currentTimeMillis();
- if (TIMING)
- Tracing.debug("Solver best solution decoded: " + (stop - start) + "ms."); //$NON-NLS-1$
- if (configuration.verbose)
- dependencyHelper.getSolver().printStat(new PrintWriter(System.out, true), "# ");
- } else {
- long stop = System.currentTimeMillis();
- if (DEBUG) {
- Tracing.debug("Unsatisfiable !"); //$NON-NLS-1$
- Tracing.debug("Solver solution NOT found: " + (stop - start)); //$NON-NLS-1$
- }
- result.merge(new Status(IStatus.ERROR, Main.PLUGIN_ID, Messages.Planner_Unsatisfiable_problem));
- }
- } catch (TimeoutException e) {
- result.merge(new Status(IStatus.ERROR, Main.PLUGIN_ID, Messages.Planner_Timeout));
- if (configuration.verbose) {
- Log.println("Timeout reached");
- }
- } catch (Exception e) {
- result.merge(new Status(IStatus.ERROR, Main.PLUGIN_ID, Messages.Planner_Unexpected_problem, e));
- if (configuration.verbose) {
- Log.println("*** PBM *** " + e.getMessage());
- }
- }
- return result;
- }
-
- private void backToIU() {
- solution = null;
- if (!isSatisfiable)
- return;
- solution = new ArrayList();
- IVec sat4jSolution = dependencyHelper.getSolution();
- if (sat4jSolution.isEmpty())
- return;
- if (configuration.verbose && optFunction != null)
- optFunction.printSolutionValue();
- for (Iterator i = sat4jSolution.iterator(); i.hasNext();) {
- Object var = i.next();
- if (var instanceof InstallableUnit) {
- InstallableUnit iu = (InstallableUnit) var;
- if (iu == entryPoint)
- continue;
- solution.add(iu);
- }
- }
- }
-
- private void printSolution(Collection state) {
- ArrayList l = new ArrayList(state);
- Collections.sort(l);
- Tracing.debug("Solution:"); //$NON-NLS-1$
- Tracing.debug("Numbers of IUs selected: " + l.size()); //$NON-NLS-1$
- for (Iterator iterator = l.iterator(); iterator.hasNext();) {
- Tracing.debug(iterator.next().toString());
- }
- }
-
- public Collection extractSolution() {
- if (DEBUG)
- printSolution(solution);
- return solution;
- }
-
- public Set getExplanation() {
- ExplanationJob job = new ExplanationJob(dependencyHelper);
- job.schedule();
- IProgressMonitor pm = new NullProgressMonitor();
- pm.beginTask(Messages.Planner_NoSolution, 1000);
- try {
- synchronized (job) {
- while (job.getExplanationResult() == null && job.getState() != Job.NONE) {
- if (pm.isCanceled()) {
- job.cancel();
- throw new OperationCanceledException();
- }
- pm.worked(1);
- try {
- job.wait(100);
- } catch (InterruptedException e) {
- if (DEBUG)
- Tracing.debug("Interrupted while computing explanations"); //$NON-NLS-1$
- }
- }
- }
- } finally {
- pm.done();
- }
- return job.getExplanationResult();
- }
-
- public void stopSolver() {
- if (dependencyHelper != null)
- dependencyHelper.stopSolver();
- }
-
- public Collection getBestSolutionFoundSoFar() {
- if (solution == null) {
- backToIU();
- }
- if (solution == null)
- return null;
- return extractSolution();
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SimplePlanner.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SimplePlanner.java
deleted file mode 100755
index 397255e..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SimplePlanner.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007-2009 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: IBM Corporation - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.equinox.p2.cudf.Log;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-import org.sat4j.pb.IPBSolver;
-
-public class SimplePlanner {
- private final static boolean PURGE = true;
- private Projector projector;
-
- public Object getSolutionFor(ProfileChangeRequest profileChangeRequest, SolverConfiguration configuration) {
- QueryableArray profile = profileChangeRequest.getInitialState();
-
- InstallableUnit updatedPlan = updatePlannerInfo(profileChangeRequest);
-
- Slicer slice = new Slicer(profile);
- profile = slice.slice(updatedPlan, configuration.objective.equals("p2") ? null : profileChangeRequest.getExtraRequirements());
- if (PURGE) {
- Log.println("Number of packages after slice: " + profile.getSize());
- if (profileChangeRequest.getInitialState().getSize() != 0)
- Log.println("Slice efficiency: " + (100 - ((profile.getSize() - 1) * 100) / profileChangeRequest.getInitialState().getSize()) + "%");
- profileChangeRequest.purge();
-
- }
- projector = new Projector(profile);
- projector.encode(updatedPlan, configuration);
- IStatus s = projector.invokeSolver();
- if (s.getSeverity() == IStatus.ERROR) {
- return s;
- }
- return projector.extractSolution();
- }
-
- private InstallableUnit updatePlannerInfo(ProfileChangeRequest profileChangeRequest) {
- return createIURepresentingTheProfile(profileChangeRequest.getAllRequests());
- }
-
- private InstallableUnit createIURepresentingTheProfile(ArrayList allRequirements) {
- InstallableUnit iud = new InstallableUnit();
- String time = Long.toString(System.currentTimeMillis());
- iud.setId(time);
- iud.setVersion(new Version(0, 0, 0, time));
- iud.setRequiredCapabilities((IRequiredCapability[]) allRequirements.toArray(new IRequiredCapability[allRequirements.size()]));
- Log.println("Request size: " + iud.getRequiredCapabilities().length);
- return iud;
- }
-
- public void stopSolver() {
- if (projector != null) {
- projector.stopSolver();
- }
- }
-
- public Collection getBestSolutionFoundSoFar() {
- return projector.getBestSolutionFoundSoFar();
- }
-
- public Set getExplanation() {
- return projector.getExplanation();
- }
-
- public IPBSolver getSolver() {
- return projector.dependencyHelper.getSolver();
- }
-
- public Map getMappingToDomain() {
- return projector.dependencyHelper.getMappingToDomain();
- }
-
- public boolean isSolutionOptimal() {
- return projector.dependencyHelper.isOptimal();
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Slicer.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Slicer.java
deleted file mode 100755
index 2135a56..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Slicer.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.util.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.equinox.p2.cudf.Log;
-import org.eclipse.equinox.p2.cudf.Main;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.*;
-import org.eclipse.osgi.util.NLS;
-
-public class Slicer {
- private static boolean TIMING = false; //SET THIS TO FALSE FOR THE COMPETITION
- private QueryableArray possibilites;
-
- private LinkedList toProcess;
- private Set considered; //IUs to add to the slice
- private TwoTierMap slice; //The IUs that have been considered to be part of the problem
-
- private MultiStatus result;
-
- public Slicer(QueryableArray input) {
- possibilites = input;
- slice = new TwoTierMap();
- result = new MultiStatus(Main.PLUGIN_ID, IStatus.OK, Messages.Planner_Problems_resolving_plan, null);
- }
-
- private void handleExtraRequirements(List extraRequirements) {
- if (extraRequirements != null)
- for (Iterator iterator = extraRequirements.iterator(); iterator.hasNext();) {
- expandRequirement(null, (IRequiredCapability) iterator.next());
- }
- }
-
- public QueryableArray slice(InstallableUnit ius, List extraRequirements) {
- try {
- IProgressMonitor monitor = new NullProgressMonitor();
- long start = 0;
- if (TIMING) {
- start = System.currentTimeMillis();
- }
-
- considered = new HashSet(possibilites.getSize());
- considered.add(ius);
- toProcess = new LinkedList(considered);
- handleExtraRequirements(extraRequirements);
- while (!toProcess.isEmpty()) {
- if (monitor.isCanceled()) {
- result.merge(Status.CANCEL_STATUS);
- throw new OperationCanceledException();
- }
- processIU((InstallableUnit) toProcess.removeFirst());
- }
- if (TIMING) {
- long stop = System.currentTimeMillis();
- Log.println("# Slicing complete: " + (stop - start)); //$NON-NLS-1$
- }
- } catch (IllegalStateException e) {
- result.add(new Status(IStatus.ERROR, Main.PLUGIN_ID, e.getMessage(), e));
- }
- // if (Tracing.DEBUG && result.getSeverity() != IStatus.OK)
- // LogHelper.log(result);
- if (result.getSeverity() == IStatus.ERROR)
- return null;
- return new QueryableArray((InstallableUnit[]) considered.toArray(new InstallableUnit[considered.size()]));
- }
-
- public MultiStatus getStatus() {
- return result;
- }
-
- protected void processIU(InstallableUnit iu) {
- slice.put(iu.getId(), iu.getVersion(), iu);
-
- addHighestVersion(iu);
- IRequiredCapability[] reqs = getRequiredCapabilities(iu);
- if (reqs.length == 0) {
- return;
- }
- for (int i = 0; i < reqs.length; i++) {
- expandRequirement(iu, reqs[i]);
- }
- }
-
- //Get the highest version available for the given IU
- private void addHighestVersion(InstallableUnit iu) {
- Collector matches = possibilites.query(new CapabilityQuery(new RequiredCapability(iu.getId(), VersionRange.emptyRange, 1)), new Collector(), null);
- if (matches.size() == 1 || matches.size() == 0)
- return;
-
- InstallableUnit highestVersion = iu;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- InstallableUnit candidate = (InstallableUnit) iterator.next();
- if (candidate.getId().equals(iu.getId())) {
- if (candidate.getVersion().getMajor() > highestVersion.getVersion().getMajor())
- highestVersion = candidate;
- }
- }
- //We only need to
- if (highestVersion != iu)
- considered.add(highestVersion);
-
- }
-
- private IRequiredCapability[] getRequiredCapabilities(InstallableUnit iu) {
- return iu.getRequiredCapabilities();
- }
-
- private void expandRequirement(InstallableUnit iu, IRequiredCapability req) {
- if (req.isNegation())
- return;
- Collector matches = possibilites.query(new CapabilityQuery(req), new Collector(), null);
- int validMatches = 0;
- for (Iterator iterator = matches.iterator(); iterator.hasNext();) {
- InstallableUnit match = (InstallableUnit) iterator.next();
- validMatches++;
- if (!slice.containsKey(match.getId(), match.getVersion()))
- consider(match);
- }
-
- if (validMatches == 0) {
- if (req.isOptional()) {
- if (TIMING)
- Log.println("No IU found to satisfy optional dependency of " + iu + " on req " + req); //$NON-NLS-1$//$NON-NLS-2$
- } else {
- result.add(new Status(IStatus.WARNING, Main.PLUGIN_ID, NLS.bind(Messages.Planner_Unsatisfied_dependency, iu, req)));
- }
- }
- }
-
- private void consider(InstallableUnit match) {
- if (considered.add(match))
- toProcess.addLast(match);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SolverConfiguration.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SolverConfiguration.java
deleted file mode 100755
index c77a0fb..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/SolverConfiguration.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.equinox.p2.cudf.solver;
-
-public class SolverConfiguration {
- public boolean verbose = false;
- public String objective = "p2";
- public String timeout = "default";
- public boolean explain = false;
- public boolean encoding = false;
-
- public SolverConfiguration(String objective, String timeout, boolean verbose, boolean explain, boolean encoding) {
- if (objective != null)
- this.objective = objective;
- if (timeout != null)
- this.timeout = timeout;
- this.verbose = verbose;
- this.explain = explain;
- this.encoding = encoding;
- }
-
- public SolverConfiguration(String objective, String timeout, boolean verbose, boolean explain) {
- this(objective, timeout, verbose, explain, false);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Tracing.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Tracing.java
deleted file mode 100755
index bc51271..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/Tracing.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import org.eclipse.equinox.p2.cudf.Log;
-
-public class Tracing {
-
- public static void debug(String string) {
- Log.println("# " + string);
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
deleted file mode 100755
index 3fc17a1..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TrendyOptimizationFunction.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Daniel Le Berre and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Eclipse Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Daniel Le Berre - initial API and implementation
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-
-// TRENDY: we want to answer the user request, minimizing the number
-// of packages removed in the solution, maximizing the number
-// of packages at their most recent version in the solution, and
-// minimizing the number of extra packages installed;
-// the optimization criterion is
-//
-// lex( min #removed, min #notuptodate, min #new)
-//
-// Hence, two solutions S1 and S2 will be compared as follows:
-//
-// i) compute ri = #removed(U,Si), ui = #uptodate(U,Si), ni = #new(U,Si)
-//
-// ii) S1 is better than S2 iff
-// r1 < r2 or (r1=r2 and (u1>u2 or (u1=u2 and n1<n2)))
-
-public class TrendyOptimizationFunction extends OptimizationFunction {
-
- public List createOptimizationFunction(InstallableUnit metaIu) {
- List weightedObjects = new ArrayList();
- BigInteger weight = BigInteger.valueOf(slice.size() + 1);
- removed(weightedObjects, weight.multiply(weight).multiply(weight), metaIu);
- notuptodate(weightedObjects, weight.multiply(weight), metaIu);
- optional(weightedObjects, weight, metaIu);
- niou(weightedObjects, BigInteger.ONE, metaIu);
- if (!weightedObjects.isEmpty()) {
- return weightedObjects;
- }
- return null;
- }
-
- public String getName() {
- return "misc 2010, trendy";
- }
-
- public void printSolutionValue() {
- int removed = 0, notUpToDate = 0, recommends = 0, niou = 0;
- List proof = new ArrayList();
-
- for (int i = 0; i < removalVariables.size(); i++) {
- Object var = removalVariables.get(i);
- if (dependencyHelper.getBooleanValueFor(var)) {
- removed++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# Removed packages: " + proof);
- proof.clear();
- for (int i = 0; i < nouptodateVariables.size(); i++) {
- Object var = nouptodateVariables.get(i);
- if (dependencyHelper.getBooleanValueFor(var)) {
- notUpToDate++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# Not up-to-date packages: " + proof);
- proof.clear();
- for (Iterator it = unmetVariables.iterator(); it.hasNext();) {
- Object var = it.next();
- if (dependencyHelper.getBooleanValueFor(var)) {
- recommends++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# Not installed recommended packages: " + proof);
- proof.clear();
- for (int i = 0; i < newVariables.size(); i++) {
- Object var = newVariables.get(i);
- if (dependencyHelper.getBooleanValueFor(var)) {
- niou++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# Newly installed packages: " + proof);
- proof.clear();
- System.out.println("# Trendy criteria value: -" + removed + ", -" + notUpToDate + ", -" + recommends + ", -" + niou);
-
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TwoTierMap.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TwoTierMap.java
deleted file mode 100755
index 6c8db20..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/TwoTierMap.java
+++ /dev/null
@@ -1,354 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.io.PrintStream;
-import java.io.Serializable;
-import java.util.*;
-
-/**
- * The purpose of this class is to provide a two-tier map.
- * MapOf(key1 => MapOf(key2 => value)).
- * Even though this class implements Map the behavior of
- * the methods aren't exactly the same as that of a real
- * Map - especially, entrySet(), keySet() etc. works off
- * the outer map while values() returns all the values of
- * all the inner maps.
- */
-public class TwoTierMap implements Map, Serializable {
-
- private static final long serialVersionUID = 362497720873186265L;
-
- private Map outerMap;
- private int policy;
-
- public static final int POLICY_NONE = 0, POLICY_BOTH_MAPS_PRESERVE_ORDERING = 1 << 0, POLICY_INNER_MAP_PRESERVE_EXISTING = 1 << 1, POLICY_INNER_MAP_SORTED_ASCENDING = 1 << 2, POLICY_INNER_MAP_SORTED_DESCENDING = 1 << 3, POLICY_INNER_MAP_ENSURE_SINGLETON = 1 << 4;
-
- private static final int POLICY_INNER_MAP_SORTED_MASK = POLICY_INNER_MAP_SORTED_ASCENDING | POLICY_INNER_MAP_SORTED_DESCENDING;
-
- public TwoTierMap() {
- this(8, POLICY_NONE);
- }
-
- public TwoTierMap(int initialCapacity) {
- this(initialCapacity, POLICY_NONE);
- }
-
- /**
- * Creates a two-tier map with the specified
- * initialCapacity and policy. The policy determines
- * whether the outer map is ordered, inner map is
- * sorted, clobber values of inner map etc.
- */
- public TwoTierMap(int initialCapacity, int policy) {
- this.policy = policy;
- this.outerMap = shouldUseOrderedMap() ? new LinkedHashMap(initialCapacity) : new HashMap(initialCapacity);
- }
-
- /**
- * Insert the value with key key1 into the inner map
- * that is obtained from the outer map with key key2.
- * If you have set POLICY_INNER_MAP_PRESERVE_EXISTING
- * at the time of creating this, it will not overwrite
- * if there is already a non-null value at key2.
- * The other POLICY_INNER_MAP_* policies determine
- * what kind of inner map is created.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @param value The value.
- * @return Existing value if any, otherwise null.
- */
- public Object put(Object key1, Object key2, Object value) {
- Map innerMap = (Map) this.outerMap.get(key1);
- if (innerMap == null) {
- if (shouldUseSingletonInnerMap()) {
- this.outerMap.put(key1, Collections.singletonMap(key2, value));
- return null;
- }
- innerMap = createInnerMap();
- this.outerMap.put(key1, innerMap);
- }
- // It is faster to check for already existing entry
- // this way instead of containsKey() check. Of course,
- // this will prevent us from recognizing a null entry,
- // which I think shouldn't be a problem.
- Object existing = innerMap.put(key2, value);
- if (existing != null && shouldPreserveExisting()) {
- innerMap.put(key2, existing);
- }
- return existing;
- }
-
- /**
- * Get the object stored in the inner map using key2
- * as key where the inner map is obtained from the
- * outer map using key1.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @return The object for key2 in inner map for key1
- * in the outer map.
- */
- public Object get(Object key1, Object key2) {
- if (key1 == null || key2 == null)
- return getAll(key1);
- Map innerMap = (Map) this.outerMap.get(key1);
- Object value = innerMap == null ? null : innerMap.get(key2);
- return value;
- }
-
- /**
- * Get all the values in the inner map for key1 in
- * the outer map.
- * @param key1 The key for outer map.
- * @return Collection of values in the inner map.
- */
- public Collection getAll(Object key1) {
- if (key1 == null)
- // return all
- return values();
- Map innerMap = (Map) this.outerMap.get(key1);
- return innerMap == null ? Collections.EMPTY_LIST : Collections.unmodifiableCollection(innerMap.values());
-
- }
-
- public Object remove(Object key1, Object key2) {
- if (key1 == null || key2 == null)
- return removeAll(key1);
- Map innerMap = (Map) this.outerMap.get(key1);
- if (innerMap == null)
- return null;
- if (shouldUseSingletonInnerMap()) {
- Object result = innerMap.get(key2);
- if (result != null) {
- this.outerMap.remove(key1);
- }
- return result;
- }
- Object result = innerMap.remove(key2);
- if (result != null && innerMap.isEmpty()) {
- this.outerMap.remove(key1);
- }
- return result;
- }
-
- public Collection removeAll(Object key1) {
- if (key1 == null)
- return Collections.EMPTY_LIST;
- Map innerMap = (Map) this.outerMap.remove(key1);
- return innerMap == null ? Collections.EMPTY_LIST : innerMap.values();
- }
-
- /**
- * Determine whether there exists a valid object for
- * key2 in the inner map for key1 in the outer map.
- * @param key1 The key for outer map.
- * @param key2 The key for inner map.
- * @return true if a non-null object exists; otherwise
- * false.
- */
- public boolean containsKey(Object key1, Object key2) {
- if (key1 == null)
- return false;
- if (key2 == null)
- return containsKey(key1);
- return get(key1, key2) != null;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#clear()
- */
- public void clear() {
- this.outerMap.clear();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#containsKey(java.lang.Object)
- */
- public boolean containsKey(Object key) {
- return this.outerMap.containsKey(key);
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#containsValue(java.lang.Object)
- */
- public boolean containsValue(Object value) {
- for (Iterator it = entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- Map innerMap = (Map) entry.getValue();
- if (innerMap.containsValue(value))
- return true;
- }
- return false;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#size()
- */
- public int size() {
- return this.outerMap.size();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#isEmpty()
- */
- public boolean isEmpty() {
- return this.size() == 0;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#entrySet()
- */
- public Set entrySet() {
- return Collections.unmodifiableSet(this.outerMap.entrySet());
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#values()
- */
- public Collection values() {
- ArrayList result = new ArrayList(size());
- for (Iterator it = this.outerMap.keySet().iterator(); it.hasNext();) {
- Object key = it.next();
- // A null key will cause infinite recursion!
- if (key != null) {
- result.addAll(getAll(key));
- }
- }
- return result;
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#get(java.lang.Object)
- */
- public Object get(Object key) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return get(keys[0], keys[1]);
- }
- return getAll(key);
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#keySet()
- */
- public Set keySet() {
- return Collections.unmodifiableSet(this.outerMap.keySet());
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#put(java.lang.Object, java.lang.Object)
- */
- public Object put(Object key, Object value) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return put(keys[0], keys[1], value);
- }
- throw new IllegalArgumentException("First arg should be an array!"); //$NON-NLS-1$
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#putAll(java.util.Map)
- */
- public void putAll(Map t) {
- throw new UnsupportedOperationException();
- }
-
- /* (non-Javadoc)
- * @see java.util.Map#remove(java.lang.Object)
- */
- public Object remove(Object key) {
- if (key instanceof Object[]) {
- Object[] keys = (Object[]) key;
- return remove(keys[0], keys[1]);
- }
- return removeAll(key);
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- if (this.outerMap.isEmpty()) {
- sb.append(" (Empty)"); //$NON-NLS-1$
- } else {
- for (Iterator it = this.outerMap.entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- sb.append(" ").append(entry.getKey()) //$NON-NLS-1$
- .append(" = ") //$NON-NLS-1$
- .append(entry.getValue()).append('\n');
- }
- sb.setLength(sb.length() - 1);
- }
- return sb.toString();
- }
-
- public void dump(PrintStream ps) {
- if (ps == null) {
- ps = System.out;
- }
- ps.println(this.toString());
- }
-
- private Map createInnerMap() {
- Map innerMap;
- if (shouldUseSortedInnerMap()) {
- innerMap = new TreeMap(new ValueComparator(shouldSortInAscendingOrder()));
- } else if (shouldUseOrderedMap()) {
- innerMap = new LinkedHashMap(2);
- } else {
- innerMap = new HashMap(2);
- }
- return innerMap;
- }
-
- private boolean shouldPreserveExisting() {
- return (this.policy & POLICY_INNER_MAP_PRESERVE_EXISTING) == POLICY_INNER_MAP_PRESERVE_EXISTING;
- }
-
- private boolean shouldUseOrderedMap() {
- return (this.policy & POLICY_BOTH_MAPS_PRESERVE_ORDERING) == POLICY_BOTH_MAPS_PRESERVE_ORDERING;
- }
-
- private boolean shouldUseSortedInnerMap() {
- return (this.policy & POLICY_INNER_MAP_SORTED_MASK) != 0;
- }
-
- private boolean shouldSortInAscendingOrder() {
- return (this.policy & POLICY_INNER_MAP_SORTED_MASK) == POLICY_INNER_MAP_SORTED_ASCENDING;
- }
-
- private boolean shouldUseSingletonInnerMap() {
- return (this.policy & POLICY_INNER_MAP_ENSURE_SINGLETON) == POLICY_INNER_MAP_ENSURE_SINGLETON;
- }
-
- private static class ValueComparator implements Comparator, Serializable {
- private static final long serialVersionUID = 362497720873186266L;
- private boolean ascending;
-
- public ValueComparator(boolean ascending) {
- this.ascending = ascending;
- }
-
- /* (non-Javadoc)
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- */
- public int compare(Object o1, Object o2) {
- try {
- if (o1 instanceof Comparable) {
- int cmp = ((Comparable) o1).compareTo(o2);
- return this.ascending ? cmp : (0 - cmp);
- }
- } catch (Exception e) {
- // Ignore
- }
- return 1;
- }
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction.java
deleted file mode 100755
index e7e4be6..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction.java
+++ /dev/null
@@ -1,188 +0,0 @@
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Options;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.sat4j.pb.tools.WeightedObject;
-import org.sat4j.specs.IVec;
-
-public class UserDefinedOptimizationFunction extends OptimizationFunction {
-
- private String optfunction;
-
- public UserDefinedOptimizationFunction(String optfunction) {
- this.optfunction = optfunction;
- }
-
- public List createOptimizationFunction(InstallableUnit metaIu) {
- List weightedObjects = new ArrayList();
- List objects = new ArrayList();
- BigInteger weight = BigInteger.valueOf(slice.size() + 1);
- String[] criteria = optfunction.split(",");
- BigInteger currentWeight = weight.pow(criteria.length - 1);
- int formermaxvarid = dependencyHelper.getSolver().nextFreeVarId(false);
- int newmaxvarid;
- boolean maximizes;
- Object thing;
- for (int i = 0; i < criteria.length; i++) {
- if (criteria[i].endsWith("new")) {
- weightedObjects.clear();
- niou(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("removed")) {
- weightedObjects.clear();
- removed(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("notuptodate")) {
- weightedObjects.clear();
- notuptodate(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("unsat_recommends")) {
- weightedObjects.clear();
- optional(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("versionchanged")) {
- weightedObjects.clear();
- versionChanged(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- } else if (criteria[i].endsWith("changed")) {
- weightedObjects.clear();
- changed(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].contains("sum")) {
- weightedObjects.clear();
- sum(weightedObjects, criteria[i].charAt(0) == '-', metaIu, Options.extractSumProperty(criteria[i]));
- dependencyHelper.addWeightedCriterion(weightedObjects);
- System.out.println("# criteria " + criteria[i].substring(1) + " size is " + weightedObjects.size());
- continue;
- } else {
- System.out.println("Skipping unknown criteria:" + criteria[i]);
- }
- objects.clear();
- maximizes = criteria[i].startsWith("+");
- for (Iterator it = weightedObjects.iterator(); it.hasNext();) {
- thing = ((WeightedObject) it.next()).thing;
- if (maximizes) {
- thing = dependencyHelper.not(thing);
- }
- objects.add(thing);
- }
- dependencyHelper.addCriterion(objects);
- newmaxvarid = dependencyHelper.getSolver().nextFreeVarId(false);
- System.out.println("# criteria " + criteria[i].substring(1) + " size is " + objects.size() + " using new vars " + formermaxvarid + " to " + newmaxvarid);
- formermaxvarid = newmaxvarid;
- }
- weightedObjects.clear();
- return null;
- }
-
- public String getName() {
- return "User defined:" + optfunction;
- }
-
- public void printSolutionValue() {
- int counter;
- List proof = new ArrayList();
- String[] criteria = optfunction.split(",");
- for (int i = 0; i < criteria.length; i++) {
- if (criteria[i].endsWith("new")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < newVariables.size(); j++) {
- Object var = newVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Newly installed packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("removed")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < removalVariables.size(); j++) {
- Object var = removalVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Removed packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("notuptodate")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < nouptodateVariables.size(); j++) {
- Object var = nouptodateVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Not up-to-date packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("recommended") || criteria[i].endsWith("unsat_recommends")) {
- proof.clear();
- counter = 0;
- for (Iterator it = unmetVariables.iterator(); it.hasNext();) {
- Object var = it.next();
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Not installed recommended packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("versionchanged")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < versionChangeVariables.size(); j++) {
- Object var = versionChangeVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Packages with version change: " + proof);
- continue;
- }
- if (criteria[i].endsWith("changed")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < changeVariables.size(); j++) {
- Object var = changeVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Changed packages: " + proof);
- continue;
- }
- if (criteria[i].contains("sum")) {
- String sumpProperty = Options.extractSumProperty(criteria[i]);
- long sum = 0;
- IVec sol = dependencyHelper.getSolution();
- for (Iterator it = sol.iterator(); it.hasNext();) {
- Object element = it.next();
- if (element instanceof InstallableUnit) {
- InstallableUnit iu = (InstallableUnit) element;
- sum += iu.getSumProperty();
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + sum);
- continue;
- }
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction2012.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction2012.java
deleted file mode 100755
index c903b39..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/UserDefinedOptimizationFunction2012.java
+++ /dev/null
@@ -1,328 +0,0 @@
-package org.eclipse.equinox.p2.cudf.solver;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Options;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.sat4j.pb.tools.WeightedObject;
-import org.sat4j.specs.IVec;
-
-public class UserDefinedOptimizationFunction2012 extends UserDefinedOptimizationFunction {
-
- private String optfunction;
-
- public UserDefinedOptimizationFunction2012(String optfunction) {
- super(optfunction);
- this.optfunction = optfunction;
- }
-
- public List createOptimizationFunction(InstallableUnit metaIu) {
- List weightedObjects = new ArrayList();
- List objects = new ArrayList();
- BigInteger weight = BigInteger.valueOf(slice.size() + 1);
- //String[] criteria = optfunction.split(",");
- String[] criteria = null;
- try {
- criteria = splitCriteria(optfunction);
- } catch (Exception e) {
- e.printStackTrace();
- }
- BigInteger currentWeight = weight.pow(criteria.length - 1);
- int formermaxvarid = dependencyHelper.getSolver().nextFreeVarId(false);
- int newmaxvarid;
- boolean maximizes;
- Object thing;
- for (int i = 0; i < criteria.length; i++) {
- if (criteria[i].endsWith("new")) {
- weightedObjects.clear();
- niou(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("removed")) {
- weightedObjects.clear();
- removed(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("notuptodate")) {
- weightedObjects.clear();
- notuptodate(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("unsat_recommends")) {
- weightedObjects.clear();
- optional(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("versionchanged")) {
- weightedObjects.clear();
- versionChanged(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- } else if (criteria[i].endsWith("changed")) {
- weightedObjects.clear();
- changed2012(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("up")) {
- weightedObjects.clear();
- up(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].endsWith("down")) {
- weightedObjects.clear();
- down(weightedObjects, criteria[i].startsWith("+") ? currentWeight.negate() : currentWeight, metaIu);
- currentWeight = currentWeight.divide(weight);
- } else if (criteria[i].contains("aligned")) {
- weightedObjects.clear();
- StringTokenizer tokenizer = new StringTokenizer(criteria[i].substring(9), ",)");
- String prop1 = tokenizer.nextToken();
- String prop2 = tokenizer.nextToken();
- aligned(weightedObjects, criteria[i].charAt(0) == '-', metaIu, prop1, prop2);
- dependencyHelper.addWeightedCriterion(weightedObjects);
- System.out.println("# criteria " + criteria[i].substring(1) + " size is " + weightedObjects.size());
- continue;
- } else if (criteria[i].contains("sum")) {
- weightedObjects.clear();
- sum(weightedObjects, criteria[i].charAt(0) == '-', metaIu, Options.extractSumProperty(criteria[i]));
- dependencyHelper.addWeightedCriterion(weightedObjects);
- System.out.println("# criteria " + criteria[i].substring(1) + " size is " + weightedObjects.size());
- continue;
- } else {
- System.out.println("Skipping unknown criteria:" + criteria[i]);
- }
- objects.clear();
- maximizes = criteria[i].startsWith("+");
- for (Iterator it = weightedObjects.iterator(); it.hasNext();) {
- thing = ((WeightedObject) it.next()).thing;
- if (maximizes) {
- thing = dependencyHelper.not(thing);
- }
- objects.add(thing);
- }
- dependencyHelper.addCriterion(objects);
- newmaxvarid = dependencyHelper.getSolver().nextFreeVarId(false);
- System.out.println("# criteria " + criteria[i].substring(1) + " size is " + objects.size() + " using new vars " + formermaxvarid + " to " + newmaxvarid);
- formermaxvarid = newmaxvarid;
- }
- weightedObjects.clear();
- return null;
- }
-
- private String[] splitCriteria(String opt) {
- List<String> res = new ArrayList<String>();
- String crit = "";
- int lookFrom = 0;
- while (crit != null) {
- crit = nextElement(opt, lookFrom);
- if (crit != null) {
- res.add(simplifyCriterion(crit));
- lookFrom += crit.length() + 1;
- }
- }
- String[] resArray = new String[res.size()];
- resArray = res.toArray(resArray);
- return resArray;
- }
-
- private String simplifyCriterion(String crit) {
- crit = removeCountFunction(crit);
- crit = removeSolutionToken(crit);
- return crit;
- }
-
- private String removeCountFunction(String crit) {
- String countFunction = "count";
- if (crit.substring(1).startsWith(countFunction + "(")) {
- crit = crit.substring(0, 1) + crit.substring(2 + countFunction.length(), crit.length() - 1);
- }
- return crit;
- }
-
- private String removeSolutionToken(String crit) {
- String solutionToken = "solution";
- int solutionTokenStart = crit.indexOf(solutionToken);
- if (solutionTokenStart != -1) {
- int solutionTokenEnd = solutionTokenStart + solutionToken.length();
- if (crit.charAt(solutionTokenEnd) == ',') {
- ++solutionTokenEnd;
- }
- crit = crit.substring(0, solutionTokenStart) + crit.substring(solutionTokenEnd);
- }
- return crit;
- }
-
- private String nextElement(String opt, int lookFrom) {
- if (lookFrom >= opt.length()) {
- return null;
- }
- int parCpt = 0;
- for (int i = lookFrom; i < opt.length(); ++i) {
- char curChar = opt.charAt(i);
- if (parCpt == 0 && curChar == ',') {
- return opt.substring(lookFrom, i);
- }
- if (curChar == '(') {
- ++parCpt;
- }
- if (curChar == ')') {
- --parCpt;
- }
- }
- return opt.substring(lookFrom, opt.length());
- }
-
- public String getName() {
- return "User defined:" + optfunction;
- }
-
- public void printSolutionValue() {
- int counter;
- List proof = new ArrayList();
- //String[] criteria = optfunction.split(",");
- String[] criteria = null;
- try {
- criteria = splitCriteria(optfunction);
- } catch (Exception e) {
- e.printStackTrace();
- }
- for (int i = 0; i < criteria.length; i++) {
- if (criteria[i].endsWith("new")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < newVariables.size(); j++) {
- Object var = newVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Newly installed packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("removed")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < removalVariables.size(); j++) {
- Object var = removalVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Removed packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("notuptodate")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < nouptodateVariables.size(); j++) {
- Object var = nouptodateVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Not up-to-date packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("recommended") || criteria[i].endsWith("unsat_recommends")) {
- proof.clear();
- counter = 0;
- for (Iterator it = unmetVariables.iterator(); it.hasNext();) {
- Object var = it.next();
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Not installed recommended packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("versionchanged")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < versionChangeVariables.size(); j++) {
- Object var = versionChangeVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString().substring(18));
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Packages with version change: " + proof);
- continue;
- }
- if (criteria[i].endsWith("changed")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < changeVariables.size(); j++) {
- Object var = changeVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString());
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Changed packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("up")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < upVariables.size(); j++) {
- Object var = upVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString());
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Upgraded packages: " + proof);
- continue;
- }
- if (criteria[i].endsWith("down")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < downVariables.size(); j++) {
- Object var = downVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- proof.add(var.toString());
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- System.out.println("# Downgraded packages: " + proof);
- continue;
- }
- if (criteria[i].contains("sum")) {
- String sumpProperty = Options.extractSumProperty(criteria[i]);
- long sum = 0;
- IVec sol = dependencyHelper.getSolution();
- for (Iterator it = sol.iterator(); it.hasNext();) {
- Object element = it.next();
- if (element instanceof InstallableUnit) {
- InstallableUnit iu = (InstallableUnit) element;
- sum += iu.getSumProperty();
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + sum);
- continue;
- }
-
- if (criteria[i].endsWith("aligned")) {
- proof.clear();
- counter = 0;
- for (int j = 0; j < secondLvlAlignedVariables.size(); j++) {
- Object var = secondLvlAlignedVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter++;
- }
- }
- for (int j = 0; j < firstLvlAlignedVariables.size(); j++) {
- Object var = firstLvlAlignedVariables.get(j);
- if (dependencyHelper.getBooleanValueFor(var)) {
- counter--;
- }
- }
- System.out.println("# " + criteria[i] + " criteria value: " + counter);
- continue;
- }
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/messages.properties b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/messages.properties
deleted file mode 100644
index 5ca20c9..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/solver/messages.properties
+++ /dev/null
@@ -1,44 +0,0 @@
-###############################################################################
-# Copyright (c) 2007, 2009 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-# IBM Corporation - initial API and implementation
-###############################################################################
-
-Director_Task_installer_plan=Computing prerequisite plan
-Director_Task_Installing=Installing into {0}
-Director_Task_Updating=Updating
-Director_Task_Resolving_Dependencies=Calculating requirements and dependencies.
-Director_Unsatisfied_Dependencies=\
-Cannot complete the install because some dependencies are not satisfiable
-Director_error_applying_configuration=Unexpected failure applying configuration after for the installer plan execution.
-
-Explanation_alreadyInstalled=Software currently installed: {0}
-Explanation_from=From: {0}
-Explanation_fromPatch=From Patch: {0}
-Explanation_hardDependency=Cannot satisfy dependency: {0} depends on: {1}
-Explanation_patchedHardDependency=Cannot satisfy patched ({0}) dependency: {1} depends on: {2}
-Explanation_missingRequired=Missing requirement: {0} requires ''{1}'' but it could not be found
-Explanation_missingRequiredFilter=Missing requirement for filter {0}: {1} requires ''{2}'' but it could not be found
-Explanation_optionalDependency=Optional dependency
-Explanation_rootMissing=Cannot complete the install because one or more required items could not be found.
-Explanation_rootSingleton=Cannot complete the install because of a conflicting dependency.
-Explanation_singleton=Only one of the following can be installed at once: {0}
-Explanation_to=To: {0}
-Explanation_toInstall=Software being installed: {0}
-Explanation_unsatisfied=Cannot satisfy dependency:
-
-Planner_Timeout=The solver timed out on problem {0}.
-Planner_Problems_resolving_plan=Problems resolving provisioning plan.
-Planner_Unsatisfiable_problem=No solution found because the problem is unsatisfiable.
-Planner_Unsatisfied_dependency=Unable to satisfy dependency from {0} to {1}.
-Planner_NoSolution=Cannot complete the request. Generating details.
-Planner_Unexpected_problem=An unexpected error occurred while resolving.
-Planner_actions_and_software_incompatible=The actions required to successfully install the requested software are incompatible with the software to install.
-Planner_can_not_install_preq=The actions required to successfully install the requested software can not be installed.
-Planner_no_profile_registry=Profile Registry is not registered.
-Planner_profile_out_of_sync=The copies of profile {0} are not in sync. \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/osgi/util/NLS.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/osgi/util/NLS.java
deleted file mode 100644
index 67fd150..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/osgi/util/NLS.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.osgi.util;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
-import java.util.*;
-
-/**
- * Common superclass for all message bundle classes. Provides convenience
- * methods for manipulating messages.
- * <p>
- * The <code>#bind</code> methods perform string substitution and should be considered a
- * convenience and <em>not</em> a full substitute replacement for <code>MessageFormat#format</code>
- * method calls.
- * </p>
- * <p>
- * Text appearing within curly braces in the given message, will be interpreted
- * as a numeric index to the corresponding substitution object in the given array. Calling
- * the <code>#bind</code> methods with text that does not map to an integer will result in an
- * {@link IllegalArgumentException}.
- * </p>
- * <p>
- * Text appearing within single quotes is treated as a literal. A single quote is escaped by
- * a preceeding single quote.
- * </p>
- * <p>
- * Clients who wish to use the full substitution power of the <code>MessageFormat</code> class should
- * call that class directly and not use these <code>#bind</code> methods.
- * </p>
- * <p>
- * Clients may subclass this type.
- * </p>
- *
- * @since 3.1
- */
-public abstract class NLS {
-
- private static final Object[] EMPTY_ARGS = new Object[0];
- private static final String EXTENSION = ".properties"; //$NON-NLS-1$
- private static String[] nlSuffixes;
- private static final String PROP_WARNINGS = "osgi.nls.warnings"; //$NON-NLS-1$
- private static final String IGNORE = "ignore"; //$NON-NLS-1$
- private static final boolean ignoreWarnings = true;
-
- /*
- * NOTE do not change the name of this field; it is set by the Framework using reflection
- */
- // private static FrameworkLog frameworkLog;
-
- static final int SEVERITY_ERROR = 0x04;
- static final int SEVERITY_WARNING = 0x02;
- /*
- * This object is assigned to the value of a field map to indicate
- * that a translated message has already been assigned to that field.
- */
- static final Object ASSIGNED = new Object();
-
- /**
- * Creates a new NLS instance.
- */
- protected NLS() {
- super();
- }
-
- /**
- * Bind the given message's substitution locations with the given string value.
- *
- * @param message the message to be manipulated
- * @param binding the object to be inserted into the message
- * @return the manipulated String
- * @throws IllegalArgumentException if the text appearing within curly braces in the given message does not map to an integer
- */
- public static String bind(String message, Object binding) {
- return internalBind(message, null, String.valueOf(binding), null);
- }
-
- /**
- * Bind the given message's substitution locations with the given string values.
- *
- * @param message the message to be manipulated
- * @param binding1 An object to be inserted into the message
- * @param binding2 A second object to be inserted into the message
- * @return the manipulated String
- * @throws IllegalArgumentException if the text appearing within curly braces in the given message does not map to an integer
- */
- public static String bind(String message, Object binding1, Object binding2) {
- return internalBind(message, null, String.valueOf(binding1), String.valueOf(binding2));
- }
-
- /**
- * Bind the given message's substitution locations with the given string values.
- *
- * @param message the message to be manipulated
- * @param bindings An array of objects to be inserted into the message
- * @return the manipulated String
- * @throws IllegalArgumentException if the text appearing within curly braces in the given message does not map to an integer
- */
- public static String bind(String message, Object[] bindings) {
- return internalBind(message, bindings, null, null);
- }
-
- /**
- * Initialize the given class with the values from the specified message bundle.
- *
- * @param bundleName fully qualified path of the class name
- * @param clazz the class where the constants will exist
- */
- public static void initializeMessages(final String bundleName, final Class clazz) {
- if (System.getSecurityManager() == null) {
- load(bundleName, clazz);
- return;
- }
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- load(bundleName, clazz);
- return null;
- }
- });
- }
-
- /*
- * Perform the string substitution on the given message with the specified args.
- * See the class comment for exact details.
- */
- private static String internalBind(String message, Object[] args, String argZero, String argOne) {
- if (message == null)
- return "No message available."; //$NON-NLS-1$
- if (args == null || args.length == 0)
- args = EMPTY_ARGS;
-
- int length = message.length();
- //estimate correct size of string buffer to avoid growth
- int bufLen = length + (args.length * 5);
- if (argZero != null)
- bufLen += argZero.length() - 3;
- if (argOne != null)
- bufLen += argOne.length() - 3;
- StringBuffer buffer = new StringBuffer(bufLen < 0 ? 0 : bufLen);
- for (int i = 0; i < length; i++) {
- char c = message.charAt(i);
- switch (c) {
- case '{' :
- int index = message.indexOf('}', i);
- // if we don't have a matching closing brace then...
- if (index == -1) {
- buffer.append(c);
- break;
- }
- i++;
- if (i >= length) {
- buffer.append(c);
- break;
- }
- // look for a substitution
- int number = -1;
- try {
- number = Integer.parseInt(message.substring(i, index));
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException();
- }
- if (number == 0 && argZero != null)
- buffer.append(argZero);
- else if (number == 1 && argOne != null)
- buffer.append(argOne);
- else {
- if (number >= args.length || number < 0) {
- buffer.append("<missing argument>"); //$NON-NLS-1$
- i = index;
- break;
- }
- buffer.append(args[number]);
- }
- i = index;
- break;
- case '\'' :
- // if a single quote is the last char on the line then skip it
- int nextIndex = i + 1;
- if (nextIndex >= length) {
- buffer.append(c);
- break;
- }
- char next = message.charAt(nextIndex);
- // if the next char is another single quote then write out one
- if (next == '\'') {
- i++;
- buffer.append(c);
- break;
- }
- // otherwise we want to read until we get to the next single quote
- index = message.indexOf('\'', nextIndex);
- // if there are no more in the string, then skip it
- if (index == -1) {
- buffer.append(c);
- break;
- }
- // otherwise write out the chars inside the quotes
- buffer.append(message.substring(nextIndex, index));
- i = index;
- break;
- default :
- buffer.append(c);
- }
- }
- return buffer.toString();
- }
-
- /*
- * Build an array of property files to search. The returned array contains
- * the property fields in order from most specific to most generic.
- * So, in the FR_fr locale, it will return file_fr_FR.properties, then
- * file_fr.properties, and finally file.properties.
- */
- private static String[] buildVariants(String root) {
- if (nlSuffixes == null) {
- //build list of suffixes for loading resource bundles
- String nl = Locale.getDefault().toString();
- ArrayList result = new ArrayList(4);
- int lastSeparator;
- while (true) {
- result.add('_' + nl + EXTENSION);
- lastSeparator = nl.lastIndexOf('_');
- if (lastSeparator == -1)
- break;
- nl = nl.substring(0, lastSeparator);
- }
- //add the empty suffix last (most general)
- result.add(EXTENSION);
- nlSuffixes = (String[]) result.toArray(new String[result.size()]);
- }
- root = root.replace('.', '/');
- String[] variants = new String[nlSuffixes.length];
- for (int i = 0; i < variants.length; i++)
- variants[i] = root + nlSuffixes[i];
- return variants;
- }
-
- private static void computeMissingMessages(String bundleName, Class clazz, Map fieldMap, Field[] fieldArray, boolean isAccessible) {
- // iterate over the fields in the class to make sure that there aren't any empty ones
- final int MOD_EXPECTED = Modifier.PUBLIC | Modifier.STATIC;
- final int MOD_MASK = MOD_EXPECTED | Modifier.FINAL;
- final int numFields = fieldArray.length;
- for (int i = 0; i < numFields; i++) {
- Field field = fieldArray[i];
- if ((field.getModifiers() & MOD_MASK) != MOD_EXPECTED)
- continue;
- //if the field has a a value assigned, there is nothing to do
- if (fieldMap.get(field.getName()) == ASSIGNED)
- continue;
- try {
- // Set a value for this empty field. We should never get an exception here because
- // we know we have a public static non-final field. If we do get an exception, silently
- // log it and continue. This means that the field will (most likely) be un-initialized and
- // will fail later in the code and if so then we will see both the NPE and this error.
- String value = "NLS missing message: " + field.getName() + " in: " + bundleName; //$NON-NLS-1$ //$NON-NLS-2$
- log(SEVERITY_WARNING, value, null);
- if (!isAccessible)
- field.setAccessible(true);
- field.set(null, value);
- } catch (Exception e) {
- log(SEVERITY_ERROR, "Error setting the missing message value for: " + field.getName(), e); //$NON-NLS-1$
- }
- }
- }
-
- /*
- * Load the given resource bundle using the specified class loader.
- */
- static void load(final String bundleName, Class clazz) {
- long start = System.currentTimeMillis();
- final Field[] fieldArray = clazz.getDeclaredFields();
- ClassLoader loader = clazz.getClassLoader();
-
- boolean isAccessible = (clazz.getModifiers() & Modifier.PUBLIC) != 0;
-
- //build a map of field names to Field objects
- final int len = fieldArray.length;
- Map fields = new HashMap(len * 2);
- for (int i = 0; i < len; i++)
- fields.put(fieldArray[i].getName(), fieldArray[i]);
-
- // search the variants from most specific to most general, since
- // the MessagesProperties.put method will mark assigned fields
- // to prevent them from being assigned twice
- final String[] variants = buildVariants(bundleName);
- for (int i = 0; i < variants.length; i++) {
- // loader==null if we're launched off the Java boot classpath
- final InputStream input = loader == null ? ClassLoader.getSystemResourceAsStream(variants[i]) : loader.getResourceAsStream(variants[i]);
- if (input == null)
- continue;
- try {
- final MessagesProperties properties = new MessagesProperties(fields, bundleName, isAccessible);
- properties.load(input);
- } catch (IOException e) {
- log(SEVERITY_ERROR, "Error loading " + variants[i], e); //$NON-NLS-1$
- } finally {
- if (input != null)
- try {
- input.close();
- } catch (IOException e) {
- // ignore
- }
- }
- }
- computeMissingMessages(bundleName, clazz, fields, fieldArray, isAccessible);
- }
-
- /*
- * The method adds a log entry based on the error message and exception.
- * The output is written to the System.err.
- *
- * This method is only expected to be called if there is a problem in
- * the NLS mechanism. As a result, translation facility is not available
- * here and messages coming out of this log are generally not translated.
- *
- * @param severity - severity of the message (SEVERITY_ERROR or SEVERITY_WARNING)
- * @param message - message to log
- * @param e - exception to log
- */
- static void log(int severity, String message, Exception e) {
- }
-
- /*
- * Class which sub-classes java.util.Properties and uses the #put method
- * to set field values rather than storing the values in the table.
- */
- private static class MessagesProperties extends Properties {
-
- private static final int MOD_EXPECTED = Modifier.PUBLIC | Modifier.STATIC;
- private static final int MOD_MASK = MOD_EXPECTED | Modifier.FINAL;
- private static final long serialVersionUID = 1L;
-
- private final String bundleName;
- private final Map fields;
- private final boolean isAccessible;
-
- public MessagesProperties(Map fieldMap, String bundleName, boolean isAccessible) {
- super();
- this.fields = fieldMap;
- this.bundleName = bundleName;
- this.isAccessible = isAccessible;
- }
-
- /* (non-Javadoc)
- * @see java.util.Hashtable#put(java.lang.Object, java.lang.Object)
- */
- public synchronized Object put(Object key, Object value) {
- Object fieldObject = fields.put(key, ASSIGNED);
- // if already assigned, there is nothing to do
- if (fieldObject == ASSIGNED)
- return null;
- if (fieldObject == null) {
- final String msg = "NLS unused message: " + key + " in: " + bundleName;//$NON-NLS-1$ //$NON-NLS-2$
- log(SEVERITY_WARNING, msg, null);
- return null;
- }
- final Field field = (Field) fieldObject;
- //can only set value of public static non-final fields
- if ((field.getModifiers() & MOD_MASK) != MOD_EXPECTED)
- return null;
- try {
- // Check to see if we are allowed to modify the field. If we aren't (for instance
- // if the class is not public) then change the accessible attribute of the field
- // before trying to set the value.
- if (!isAccessible)
- field.setAccessible(true);
- // Set the value into the field. We should never get an exception here because
- // we know we have a public static non-final field. If we do get an exception, silently
- // log it and continue. This means that the field will (most likely) be un-initialized and
- // will fail later in the code and if so then we will see both the NPE and this error.
-
- // Extra care is taken to be sure we create a String with its own backing char[] (bug 287183)
- // This is to ensure we do not keep the key chars in memory.
- field.set(null, new String(((String) value).toCharArray()));
- } catch (Exception e) {
- log(SEVERITY_ERROR, "Exception setting field value.", e); //$NON-NLS-1$
- }
- return null;
- }
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/AllTests.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/AllTests.java
deleted file mode 100644
index 6bfd744..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/AllTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import junit.framework.TestSuite;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(AllTests.class.getName());
- suite.addTestSuite(ParserTest.class);
- suite.addTest(CheckAllPassingInstances.suite());
- suite.addTest(CheckAllFailingInstances.suite());
- suite.addTestSuite(TestInstall.class);
- // suite.addTestSuite(TestInstallUpdateConflict.class);
- // suite.addTestSuite(TestNegationInDepends.class);
- // suite.addTestSuite(TestNegationInRequest.class);
- suite.addTestSuite(TestJosepExample.class);
- suite.addTestSuite(TestPascalExample.class);
- suite.addTestSuite(TestOptional.class);
- suite.addTestSuite(TestRemoval.class);
- return suite;
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CUDFTestHelper.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CUDFTestHelper.java
deleted file mode 100644
index f1f8a1a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CUDFTestHelper.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.*;
-import org.apache.tools.bzip2.CBZip2InputStream;
-
-public class CUDFTestHelper {
-
- public static InputStream getStream(File file) throws IOException {
- InputStream inputStream = null;
- if (file.getAbsolutePath().endsWith(".bz2")) {
- inputStream = new FileInputStream(file);
- int b = inputStream.read();
- if (b != 'B') {
- throw new IOException("not a bz2 file");
- }
- b = inputStream.read();
- if (b != 'Z') {
- throw new IOException("not a bz2 file");
- }
- inputStream = new CBZip2InputStream(inputStream);
- } else
- inputStream = new FileInputStream(file);
- return inputStream;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllFailingInstances.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllFailingInstances.java
deleted file mode 100644
index 33b1bb6..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllFailingInstances.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import junit.framework.*;
-
-public class CheckAllFailingInstances extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(CheckAllFailingInstances.class.getName());
- File resourceDirectory = new File(CheckAllFailingInstances.class.getClassLoader().getResource("testData/instances/expectedFailure/").toString().substring("file:".length()));
- File[] resources = resourceDirectory.listFiles(new FilenameFilter() {
-
- public boolean accept(File dir, String name) {
- if (name.startsWith("disabled-"))
- return false;
- return true;
- }
- });
- for (int i = 0; i < resources.length; i++) {
- suite.addTest(new CheckInstance(resources[i], false));
- }
- return suite;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllPassingInstances.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllPassingInstances.java
deleted file mode 100644
index d273c3d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckAllPassingInstances.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import junit.framework.*;
-
-//DISABLED - Made the class abstract to have the tests passing
-public abstract class CheckAllPassingInstances extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(CheckAllPassingInstances.class.getName());
- File resourceDirectory = new File("/Users/pascal/Downloads/problems/10orplus/");
- File[] resources = new File[] {new File("/Users/pascal/Desktop/problems/caixa/558.cudf")};
- for (int i = 0; i < resources.length; i++) {
- suite.addTest(new CheckInstance(resources[i], true));
- }
- return suite;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckInstance.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckInstance.java
deleted file mode 100644
index 808afd6..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckInstance.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import java.util.Collection;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class CheckInstance extends TestCase {
- private File inputFile = null;
- private boolean successExpected = true;
-
- public CheckInstance(File nextElement, boolean expected) {
- super(nextElement.getAbsolutePath());
- inputFile = nextElement;
- successExpected = expected;
- }
-
- protected void runTest() throws Throwable {
- System.out.println();
- System.out.println();
- System.out.println("# " + inputFile);
- ProfileChangeRequest req = new Parser().parse(CUDFTestHelper.getStream(inputFile));
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, successExpected);
- Object result = new SimplePlanner().getSolutionFor(req, configuration);
- if (successExpected) {
- if (!(result instanceof Collection))
- fail("Can not resolve: " + inputFile);
- if (req.getExpected() != -10)
- assertEquals(result.toString(), req.getExpected(), ((Collection) result).size());
- } else {
- if (result instanceof Collection)
- fail("No solution was expected: " + inputFile);
- }
- }
-
- protected void tearDown() throws Exception {
- System.gc();
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckMancoosiLists.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckMancoosiLists.java
deleted file mode 100644
index 83c34c1..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/CheckMancoosiLists.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import java.io.FilenameFilter;
-import junit.framework.*;
-
-public class CheckMancoosiLists extends TestCase {
- public static Test suite() {
- TestSuite suite = new TestSuite(CheckMancoosiLists.class.getName());
- File resourceDirectory = new File("/Users/pascal/Downloads/mancoosi.org/~abate/cudfproblems/rand.biglist/");
- File[] resources = resourceDirectory.listFiles(new FilenameFilter() {
-
- public boolean accept(File dir, String name) {
- if (name.endsWith(".cudf"))
- return true;
- return false;
- }
- });
- for (int i = 0; i < resources.length; i++) {
- suite.addTest(new CheckInstance(resources[i], resources[i].getName().endsWith("-sol.cudf") ? true : hasSuccessFile(resources[i])));
- }
- return suite;
- }
-
- private static boolean hasSuccessFile(final File file) {
- return file.getParentFile().list(new FilenameFilter() {
-
- public boolean accept(File dir, String name) {
- if (name.startsWith(file.getName()) && name.endsWith("success")) {
- return true;
- }
- return false;
- }
- }).length != 0;
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/KeepHighestVersion.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/KeepHighestVersion.java
deleted file mode 100644
index 5ffd527..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/KeepHighestVersion.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Sonatype, Inc. and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sonatype, Inc. - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.*;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-import org.eclipse.equinox.p2.cudf.solver.Slicer;
-
-public class KeepHighestVersion extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/keepHighestVersion.cudf").openStream());
- }
-
- public void testHighestVersion() {
- final String ID = "libxapian-dev";
- QueryableArray result = slice(pcr.getInitialState(), ID, new Version(2));
- assertEquals(2, result.getSize());
- assertEquals(1, result.query(new CapabilityQuery(new RequiredCapability(ID, new VersionRange(new Version(5), true, new Version(5), true))), new Collector(), null).size());
- assertEquals(1, result.query(new CapabilityQuery(new RequiredCapability(ID, new VersionRange(new Version(2), true, new Version(2), true))), new Collector(), null).size());
- }
-
- private QueryableArray slice(QueryableArray input, String id, Version version) {
- return new Slicer(input).slice((InstallableUnit) input.query(new CapabilityQuery(new RequiredCapability(id, new VersionRange(version))), new Collector(), null).iterator().next(), null);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/ParserTest.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/ParserTest.java
deleted file mode 100644
index 04fe458..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/ParserTest.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.solver.ProfileChangeRequest;
-
-public class ParserTest extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/parsingTest.cudf").openStream());
- }
-
- private InstallableUnit getIU(String id) {
- Iterator it = pcr.getInitialState().iterator();
- while (it.hasNext()) {
- InstallableUnit iu = (InstallableUnit) it.next();
- if (id.equals(iu.getId()))
- return iu;
- }
- fail("Can't find: " + id);
- return null;
- }
-
- public void testCheckPackageA() {
- InstallableUnit iu = getIU("a");
- assertRequirement(new RequiredCapability("b", new VersionRange(new Version(2), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- assertRequirement(new RequiredCapability("c", VersionRange.emptyRange), iu.getRequiredCapabilities());
- IRequiredCapability[] reqs = iu.getRequiredCapabilities();
- for (int i = 0; i < reqs.length; i++) {
- if (reqs[i] instanceof ORRequirement) {
- assertRequirement(new RequiredCapability("d", new VersionRange(Version.emptyVersion, false, new Version(2), false)), ((ORRequirement) reqs[i]).getRequirements());
- assertRequirement(new RequiredCapability("d", new VersionRange(new Version(2), false, Version.maxVersion, false)), ((ORRequirement) reqs[i]).getRequirements());
- }
- }
- assertRequirement(new RequiredCapability("e", VersionRange.emptyRange), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("f", VersionRange.emptyRange)), iu.getRequiredCapabilities());
- }
-
- public void testCheckPackageB() {
- InstallableUnit iu = getIU("b");
- assertRequirement(new RequiredCapability("a", new VersionRange(new Version(5), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- IRequiredCapability[] reqs = iu.getRequiredCapabilities();
- for (int i = 0; i < reqs.length; i++) {
- if (reqs[i] instanceof ORRequirement) {
- assertRequirement(new RequiredCapability("c", VersionRange.emptyRange), ((ORRequirement) reqs[i]).getRequirements());
- assertRequirement(new RequiredCapability("d", new VersionRange(new Version(2), false, Version.maxVersion, false)), ((ORRequirement) reqs[i]).getRequirements());
- }
- }
- assertRequirement(new RequiredCapability("f", new VersionRange(new Version(5), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("g", VersionRange.emptyRange)), iu.getRequiredCapabilities());
- }
-
- public void testCheckPackageLibcbin() {
- InstallableUnit iu = getIU("libc-bin");
- assertEquals(true, iu.isSingleton());
- assertRequirement(new NotRequirement(new RequiredCapability("libc0.1", new VersionRange(Version.emptyVersion, false, new Version(1), false))), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("libc0.3", new VersionRange(Version.emptyVersion, false, new Version(1), false))), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("libc6", new VersionRange(Version.emptyVersion, false, new Version(17), false))), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("libc6.1", new VersionRange(Version.emptyVersion, false, new Version(1), false))), iu.getRequiredCapabilities());
- }
-
- public void testCheckLibx11data() {
- InstallableUnit iu = getIU("libx11-data");
- assertEquals(true, iu.isSingleton());
- }
-
- public void testlibtextCharwidthPerl() {
- InstallableUnit iu = getIU("libtext-charwidth-perl");
- assertEquals(true, iu.isSingleton());
- assertRequirement(new RequiredCapability("libc6", new VersionRange(new Version(1), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- assertRequirement(new RequiredCapability("perl-base", new VersionRange(new Version(12), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- IRequiredCapability[] reqs = iu.getRequiredCapabilities();
- for (int i = 0; i < reqs.length; i++) {
- if (reqs[i] instanceof ORRequirement) {
- assertRequirement(new RequiredCapability("perlapi-5.10.0--virtual", VersionRange.emptyRange), ((ORRequirement) reqs[i]).getRequirements());
- assertRequirement(new RequiredCapability("perlapi-5.10.0", VersionRange.emptyRange), ((ORRequirement) reqs[i]).getRequirements());
- }
- }
- assertNotRequirement(new NotRequirement(new RequiredCapability("libtext-charwidth-perl", VersionRange.emptyRange)), iu.getRequiredCapabilities());
- }
-
- public void testFoo() {
- InstallableUnit iu = getIU("foo");
- assertEquals(false, iu.isSingleton());
- assertProvide(new ProvidedCapability("x", VersionRange.emptyRange), iu.getProvidedCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("x", VersionRange.emptyRange)), iu.getRequiredCapabilities());
- }
-
- // public void testmergeDepends1() {
- // InstallableUnit iu = getIU("mergeDepends1");
- // assertEquals(false, iu.isSingleton());
- // assertEquals(1, iu.getRequiredCapabilities().length);
- // assertRequirement(new RequiredCapability("a", new VersionRange(new Version(1), false, new Version(3), true)), iu.getRequiredCapabilities());
- // }
-
- // public void testmergeDepends2() {
- // InstallableUnit iu = getIU("mergeDepends2");
- // assertEquals(false, iu.isSingleton());
- // assertEquals(1, iu.getRequiredCapabilities().length);
- // assertRequirement(new RequiredCapability("a", new VersionRange(new Version(1), false, new Version(3), true)), iu.getRequiredCapabilities());
- // }
-
- public void testmergeDepends3() {
- InstallableUnit iu = getIU("mergeDepends3");
- assertEquals(false, iu.isSingleton());
- assertEquals(2, iu.getRequiredCapabilities().length);
- assertRequirement(new RequiredCapability("a", new VersionRange(Version.emptyVersion, false, new Version(1), false)), iu.getRequiredCapabilities());
- assertRequirement(new RequiredCapability("a", new VersionRange(new Version(3), true, Version.maxVersion, false)), iu.getRequiredCapabilities());
- }
-
- public void testmergeDepends4() {
- InstallableUnit iu = getIU("mergeDepends4");
- assertEquals(false, iu.isSingleton());
- assertEquals(3, iu.getRequiredCapabilities().length);
- assertRequirement(new RequiredCapability("a", new VersionRange(new Version(1), false, Version.maxVersion, false)), iu.getRequiredCapabilities());
- assertRequirement(new RequiredCapability("a", new VersionRange(Version.emptyVersion, false, new Version(3), true)), iu.getRequiredCapabilities());
- assertRequirement(new RequiredCapability("b", new VersionRange(new Version(2))), iu.getRequiredCapabilities());
- }
-
- // public void testmergeDepends5() {
- // InstallableUnit iu = getIU("mergeDepends5");
- // assertEquals(false, iu.isSingleton());
- // assertEquals(1, iu.getRequiredCapabilities().length);
- // assertRequirement(new RequiredCapability("a", new VersionRange(new Version(1), true, new Version(3), false)), iu.getRequiredCapabilities());
- // }
-
- public void testExceptionInConflicts() {
- InstallableUnit iu = getIU("testExceptionInConflicts");
- assertRequirement(new NotRequirement(new RequiredCapability("a", new VersionRange(Version.emptyVersion, false, new Version(1), false))), iu.getRequiredCapabilities());
- assertRequirement(new NotRequirement(new RequiredCapability("a", new VersionRange(new Version(1), false, Version.maxVersion, false))), iu.getRequiredCapabilities());
- assertEquals(2, iu.getRequiredCapabilities().length);
- }
-
- private void assertNotRequirement(IRequiredCapability asserted, IRequiredCapability[] reqs) {
- for (int i = 0; i < reqs.length; i++) {
- if (asserted.getName().equals(reqs[i].getName())) {
- if (asserted.getRange().equals(reqs[i].getRange()) && asserted.getArity() == reqs[i].getArity() && asserted.isNegation() == reqs[i].isNegation())
- fail("Requirement not expected:" + asserted);
- }
- }
- }
-
- private void assertRequirement(IRequiredCapability asserted, IRequiredCapability[] reqs) {
- boolean found = false;
- for (int i = 0; i < reqs.length; i++) {
- if (asserted.getName().equals(reqs[i].getName())) {
- if (asserted.getRange().equals(reqs[i].getRange()) && asserted.getArity() == reqs[i].getArity() && asserted.isNegation() == reqs[i].isNegation())
- found = true;
- }
- }
- assertEquals(true, found);
- }
-
- private void assertProvide(IProvidedCapability asserted, IProvidedCapability[] caps) {
- boolean found = true;
- for (int i = 0; i < caps.length; i++) {
- if (asserted.getName().equals(caps[i].getName())) {
- assertEquals(asserted.getVersion(), caps[i].getVersion());
- }
- }
- assertEquals(true, found);
- }
-
- public void testCheckPackageNegatedDepends() {
- InstallableUnit iu = getIU("negatedDepends");
- IRequiredCapability[] reqs = iu.getRequiredCapabilities();
- for (int i = 0; i < reqs.length; i++) {
- if (reqs[i] instanceof ORRequirement) {
- assertRequirement(new RequiredCapability("a", new VersionRange(Version.emptyVersion, false, new Version(2), false)), ((ORRequirement) reqs[i]).getRequirements());
- assertRequirement(new RequiredCapability("a", new VersionRange(new Version(2), false, Version.maxVersion, false)), ((ORRequirement) reqs[i]).getRequirements());
- }
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/Rand31de2d.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/Rand31de2d.java
deleted file mode 100644
index 0a33193..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/Rand31de2d.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.*;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class Rand31de2d extends TestCase {
- public void testLibdmx1() {
- ProfileChangeRequest pcr = new Parser().parse(new File("/Users/pascal/dev/competition/org.eclipse.equinox.p2.cudf/success/rand31de2d-sol.cudf"));
- pcr.addInstallableUnit(new RequiredCapability("libtext-wrapi18n-perl", VersionRange.emptyRange));
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- if (new SimplePlanner().getSolutionFor(pcr, configuration) instanceof Collection)
- return;
- String id = "libtext-wrapi18n-perl";
- Version v = new Version(1);
- QueryableArray res = null;
- res = slice(pcr.getInitialState(), id, v);
- restart: for (Iterator iterator = res.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- if (iu.getId() == id)
- continue;
- System.out.println("Trying out: " + iu.getId());
- ProfileChangeRequest pcr2 = new ProfileChangeRequest(res);
- pcr2.addInstallableUnit(new RequiredCapability(iu.getId(), new VersionRange(iu.getVersion())));
- if (!(new SimplePlanner().getSolutionFor(pcr2, configuration) instanceof Collection)) {
- System.err.println(iu);
- id = iu.getId();
- v = iu.getVersion();
- res = slice(pcr.getInitialState(), id, v);
- continue restart;
- }
- }
- }
-
- private QueryableArray slice(QueryableArray input, String id, Version version) {
- return new Slicer(input).slice((InstallableUnit) input.query(new CapabilityQuery(new RequiredCapability(id, new VersionRange(version))), new Collector(), null).iterator().next(), null);
- }
-
- public void testValidateAll() {
- ProfileChangeRequest pcr = new Parser().parse(new File("/Users/pascal/dev/competition/org.eclipse.equinox.p2.cudf/success/rand31de2d-sol.cudf"));
- QueryableArray allIUs = pcr.getInitialState();
- for (Iterator iterator = allIUs.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- ProfileChangeRequest pcr2 = new ProfileChangeRequest(allIUs);
- pcr2.addInstallableUnit(new RequiredCapability(iu.getId(), new VersionRange(iu.getVersion())));
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- if (!(new SimplePlanner().getSolutionFor(pcr2, configuration) instanceof Collection))
- System.err.println(iu);
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/SolverComparator.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/SolverComparator.java
deleted file mode 100644
index e31f1b6..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/SolverComparator.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class SolverComparator {
- public static void main(String[] args) throws IOException {
- File inputFile = new File("/Users/Pascal/tmp/compet/data.mancoosi.org/misc2010/results/problems/debian-dudf/58a4a468-38a5-11df-a561-00163e7a6f5e.cudf.bz2");
- File solutionFile = new File("/Users/Pascal/tmp/compet/data.mancoosi.org/misc2010/results/solutions/uns-paranoid-0.0002/58a4a468-38a5-11df-a561-00163e7a6f5e.cudf.debian-dudf.result.bz2");
- ProfileChangeRequest solution = new Parser().parse(CUDFTestHelper.getStream(solutionFile));
-
- ProfileChangeRequest req = new Parser().parse(CUDFTestHelper.getStream(inputFile));
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "25s", true, false, false);
- Object result = new SimplePlanner().getSolutionFor(req, configuration);
- if (result instanceof Collection) {
- if (((Collection) result).containsAll(solution.getInitialState().getList()) && solution.getInitialState().getList().containsAll((Collection) result))
- System.out.println("cool");
- else {
- System.err.println("Computed solution does not match expected one");
- System.err.println("The solution to compare with contains: " + solution.getInitialState().getList().size());
- System.err.println("Your solution contains: " + ((Collection) result).size());
- if (((Collection) result).size() > solution.getInitialState().getList().size()) {
- HashSet resultAsmap = new HashSet((Collection) result);
- resultAsmap.removeAll(solution.getInitialState().getList());
- for (Iterator iterator = resultAsmap.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- System.err.println("package: " + iu.getId());
- System.err.println("version: " + iu.getVersion().getMajor());
- System.err.println();
- }
- } else {
- HashSet originalSolution = new HashSet(solution.getInitialState().getList());
- originalSolution.removeAll((Collection) result);
- for (Iterator iterator = originalSolution.iterator(); iterator.hasNext();) {
- InstallableUnit iu = (InstallableUnit) iterator.next();
- System.err.println("package: " + iu.getId());
- System.err.println("version: " + iu.getVersion().getMajor());
- System.err.println();
- }
- }
- }
- } else {
- System.out.println("No solution found");
- }
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstall.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstall.java
deleted file mode 100644
index b646bb4..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstall.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class TestInstall extends TestCase {
- private QueryableArray dataSet;
-
- protected void setUp() throws Exception {
- InstallableUnit iu = new InstallableUnit();
- iu.setId("A");
- iu.setVersion(new Version(1, 0, 0));
- iu.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(1, 0, 0), true, new Version(1, 0, 0), true))});
-
- InstallableUnit iu2 = new InstallableUnit();
- iu2.setId("A");
- iu2.setVersion(new Version(2, 0, 0));
- iu2.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(2, 0, 0), true, new Version(2, 0, 0), true))});
-
- InstallableUnit iu3 = new InstallableUnit();
- iu3.setId("A");
- iu3.setVersion(new Version(3, 0, 0));
- iu3.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(3, 0, 0), true, new Version(3, 0, 0), true))});
-
- dataSet = new QueryableArray(new InstallableUnit[] {iu, iu2, iu3});
- }
-
- public void testRemoveEverything() {
- ProfileChangeRequest pcr = new ProfileChangeRequest(dataSet);
- pcr.addInstallableUnit(new RequiredCapability("A", VersionRange.emptyRange));
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- Collection result = (Collection) new SimplePlanner().getSolutionFor(pcr, configuration);
- System.out.println(result);
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstallRequestExample.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstallRequestExample.java
deleted file mode 100644
index 143539a..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestInstallRequestExample.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-//DISABLED - Made the class abstract to have the tests passing
-public abstract class TestInstallRequestExample extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/instances/expectedSuccess/installRequest.cudf").openStream());
- }
-
- public void testParanoid() {
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 2, col.size());
- } else {
- fail("No result found!");
- }
- }
-
- public void testP2() {
- SolverConfiguration configuration = new SolverConfiguration("p2", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 3, col.size());
- } else {
- fail("No result found!");
- }
- }
-
- public void testTrendy() {
- SolverConfiguration configuration = new SolverConfiguration("trndy", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 2, col.size());
- } else {
- fail("No result found!");
- }
- }
-
- private InstallableUnit getIU(Collection col, String id) {
- Iterator it = col.iterator();
- while (it.hasNext()) {
- InstallableUnit iu = (InstallableUnit) it.next();
- if (id.equals(iu.getId()))
- return iu;
- }
- fail("Can't find: " + id);
- return null;
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestJosepExample.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestJosepExample.java
deleted file mode 100644
index 30e04cf..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestJosepExample.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class TestJosepExample extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/josep.cudf").openStream());
- }
-
- public void testParanoid() {
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 2, col.size());
- assertEquals(col.toString(), 1, getIU(col, "A").getVersion().getMajor());
- // here the solver can install B1 or B2
- assertTrue(col.toString(), 1 == getIU(col, "B").getVersion().getMajor() || 2 == getIU(col, "B").getVersion().getMajor());
-
- } else {
- fail("No result found!");
- }
- }
-
- public void testP2() {
- SolverConfiguration configuration = new SolverConfiguration("p2", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 2, col.size());
- assertEquals(col.toString(), 1, getIU(col, "A").getVersion().getMajor());
- assertEquals(col.toString(), 2, getIU(col, "B").getVersion().getMajor());
-
- } else {
- fail("No result found!");
- }
- }
-
- //DISABLED
- // public void testTrendy() {
- // SolverConfiguration configuration = new SolverConfiguration("trendy", "1000c", true, false);
- // Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- // if (result instanceof Collection) {
- // Collection col = (Collection) result;
- // assertEquals(col.toString(), 2, col.size());
- // assertEquals(col.toString(), 2, getIU(col, "A").getVersion().getMajor());
- // assertEquals(col.toString(), 2, getIU(col, "B").getVersion().getMajor());
- //
- // } else {
- // fail("No result found!");
- // }
- // }
-
- private InstallableUnit getIU(Collection col, String id) {
- Iterator it = col.iterator();
- while (it.hasNext()) {
- InstallableUnit iu = (InstallableUnit) it.next();
- if (id.equals(iu.getId()))
- return iu;
- }
- fail("Can't find: " + id);
- return null;
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInDepends.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInDepends.java
deleted file mode 100644
index 8dd0415..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInDepends.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-public class TestNegationInDepends {
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInRequest.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInRequest.java
deleted file mode 100644
index a46fb5d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestNegationInRequest.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-public class TestNegationInRequest {
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestOptional.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestOptional.java
deleted file mode 100644
index 506d4e0..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestOptional.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class TestOptional extends TestCase {
- private QueryableArray dataSet;
-
- protected void setUp() throws Exception {
- InstallableUnit iu = new InstallableUnit();
- iu.setId("A");
- iu.setVersion(new Version(1, 0, 0));
- iu.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(1, 0, 0), true, new Version(1, 0, 0), true))});
-
- InstallableUnit iu2 = new InstallableUnit();
- iu2.setId("A");
- iu2.setVersion(new Version(2, 0, 0));
- iu2.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(2, 0, 0), true, new Version(2, 0, 0), true))});
-
- InstallableUnit iu3 = new InstallableUnit();
- iu3.setId("A");
- iu3.setVersion(new Version(3, 0, 0));
- iu3.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(3, 0, 0), true, new Version(3, 0, 0), true))});
- iu3.setRequiredCapabilities(new IRequiredCapability[] {new RequiredCapability("missing", VersionRange.emptyRange)});
-
- dataSet = new QueryableArray(new InstallableUnit[] {iu, iu2, iu3});
- }
-
- public void testFailInstall() {
- ProfileChangeRequest pcr = new ProfileChangeRequest(dataSet);
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[3.0.0, 3.0.0]")));
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[2.0.0, 2.0.0]")));
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[1.0.0, 1.0.0]")));
- Object result = new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("paranoid", "1000c", true, false));
- assertEquals(false, result instanceof Collection);
- }
-
- public void testPassInstall() {
- ProfileChangeRequest pcr = new ProfileChangeRequest(dataSet);
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[3.0.0, 3.0.0]"), true));
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[2.0.0, 2.0.0]")));
- pcr.addInstallableUnit(new RequiredCapability("A", new VersionRange("[1.0.0, 1.0.0]")));
- Object result = new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("paranoid", "1000c", true, false));
- assertEquals(true, result instanceof Collection);
- assertEquals(2, ((Collection) result).size());
- }
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestPascalExample.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestPascalExample.java
deleted file mode 100644
index 57d64aa..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestPascalExample.java
+++ /dev/null
@@ -1,61 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class TestPascalExample extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/pascal.cudf").openStream());
- }
-
- public void testParanoid() {
- Object result = new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("paranoid", "1000c", true, false));
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 1, col.size());
- assertEquals(col.toString(), 1, getIU(col, "A").getVersion().getMajor());
- } else {
- fail("No result found!");
- }
- }
-
- public void testP2() {
- Object result = new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("p2", "1000c", true, false));
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 1, col.size());
- assertEquals(col.toString(), 1, getIU(col, "A").getVersion().getMajor());
- } else {
- fail("No result found!");
- }
- }
-
- //DISABLED
- // public void testTrendy() {
- // Object result = new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("trendy", "1000c", true, false));
- // if (result instanceof Collection) {
- // Collection col = (Collection) result;
- // assertEquals(col.toString(), 1, col.size());
- // assertEquals(col.toString(), 3, getIU(col, "A").getVersion().getMajor());
- // } else {
- // fail("No result found!");
- // }
- // }
-
- private InstallableUnit getIU(Collection col, String id) {
- Iterator it = col.iterator();
- while (it.hasNext()) {
- InstallableUnit iu = (InstallableUnit) it.next();
- if (id.equals(iu.getId()))
- return iu;
- }
- fail("Can't find: " + id);
- return null;
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRecommends.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRecommends.java
deleted file mode 100644
index 574f4c5..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRecommends.java
+++ /dev/null
@@ -1,67 +0,0 @@
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.Collection;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.Parser;
-import org.eclipse.equinox.p2.cudf.metadata.InstallableUnit;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-//DISABLED - Made the class abstract to have the tests passing
-public abstract class TestRecommends extends TestCase {
- private ProfileChangeRequest pcr = null;
-
- protected void setUp() throws Exception {
- pcr = new Parser().parse(this.getClass().getClassLoader().getResource("testData/testRecommends.cudf").openStream());
- }
-
- public void testParanoid() {
- SolverConfiguration configuration = new SolverConfiguration("paranoid", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 1, col.size());
- assertEquals(col.toString(), 1, getIU(col, "d").getVersion().getMajor());
- } else {
- fail("No result found!");
- }
- }
-
- public void testP2() {
- SolverConfiguration configuration = new SolverConfiguration("p2", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 3, col.size());
- // here the solver can install B1 or B2
- assertEquals(col.toString(), 1, getIU(col, "d").getVersion().getMajor());
-
- } else {
- fail("No result found!");
- }
- }
-
- public void testTrendy() {
- SolverConfiguration configuration = new SolverConfiguration("trendy", "1000c", true, false);
- Object result = new SimplePlanner().getSolutionFor(pcr, configuration);
- if (result instanceof Collection) {
- Collection col = (Collection) result;
- assertEquals(col.toString(), 3, col.size());
- // here the solver can install B1 or B2
- assertEquals(col.toString(), 1, getIU(col, "d").getVersion().getMajor());
- } else {
- fail("No result found!");
- }
- }
-
- private InstallableUnit getIU(Collection col, String id) {
- Iterator it = col.iterator();
- while (it.hasNext()) {
- InstallableUnit iu = (InstallableUnit) it.next();
- if (id.equals(iu.getId()))
- return iu;
- }
- fail("Can't find: " + id);
- return null;
- }
-} \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRemoval.java b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRemoval.java
deleted file mode 100644
index 55c0ee3..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/java/org/eclipse/equinox/p2/cudf/tests/TestRemoval.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 IBM Corporation and others. All rights reserved.
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * IBM Corporation - initial implementation and ideas
- ******************************************************************************/
-package org.eclipse.equinox.p2.cudf.tests;
-
-import java.util.*;
-import junit.framework.TestCase;
-import org.eclipse.equinox.p2.cudf.metadata.*;
-import org.eclipse.equinox.p2.cudf.query.QueryableArray;
-import org.eclipse.equinox.p2.cudf.solver.*;
-
-public class TestRemoval extends TestCase {
- private QueryableArray dataSet;
- private List alreadyInstalled = new ArrayList(3);
-
- protected void setUp() throws Exception {
- InstallableUnit iu = new InstallableUnit();
- iu.setId("A");
- iu.setVersion(new Version(1, 0, 0));
- iu.setInstalled(true);
- iu.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(1, 0, 0), true, new Version(1, 0, 0), true))});
-
- InstallableUnit iu2 = new InstallableUnit();
- iu2.setId("A");
- iu2.setVersion(new Version(2, 0, 0));
- iu2.setInstalled(true);
- iu2.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(2, 0, 0), true, new Version(2, 0, 0), true))});
-
- InstallableUnit iu3 = new InstallableUnit();
- iu3.setId("A");
- iu3.setVersion(new Version(3, 0, 0));
- iu.setInstalled(true);
- iu3.setCapabilities(new ProvidedCapability[] {new ProvidedCapability("A", new VersionRange(new Version(3, 0, 0), true, new Version(3, 0, 0), true))});
-
- alreadyInstalled.add(new RequiredCapability(iu.getId(), new VersionRange(iu.getVersion()), true));
- alreadyInstalled.add(new RequiredCapability(iu2.getId(), new VersionRange(iu2.getVersion()), true));
- alreadyInstalled.add(new RequiredCapability(iu3.getId(), new VersionRange(iu3.getVersion()), true));
- dataSet = new QueryableArray(new InstallableUnit[] {iu, iu2, iu3});
- }
-
- public void testRemoveEverything() {
- ProfileChangeRequest pcr = new ProfileChangeRequest(dataSet);
- pcr.removeInstallableUnit(new RequiredCapability("A", VersionRange.emptyRange));
- Collection result = (Collection) new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("paranoid", "1000c", true, false));
- assertEquals(0, result.size());
- }
-
- public void testRemoveOne() {
- ProfileChangeRequest pcr = new ProfileChangeRequest(dataSet);
- pcr.removeInstallableUnit(new RequiredCapability("A", new VersionRange("[3.0.0, 3.0.0]")));
- pcr.setPreInstalledIUs(alreadyInstalled);
- Collection result = (Collection) new SimplePlanner().getSolutionFor(pcr, new SolverConfiguration("paranoid", "1000c", true, false));
- assertEquals(2, result.size());
- }
-
-}
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/failingInstall.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/failingInstall.cudf
deleted file mode 100644
index 3d13f87..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/failingInstall.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-preamble:
-property: installedsize: nat = [0], size: nat = [0], sourceversion: string, source: string, number: string
-
-package: a
-version: 1
-
-package: b
-version: 1
-
-package: c
-version: 1
-depends: foo
-
-request:
-install: a, b, c
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/aSelfProvides.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/aSelfProvides.cudf
deleted file mode 100644
index aec9470..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/aSelfProvides.cudf
+++ /dev/null
@@ -1,18 +0,0 @@
-#FAIL because a and python are in conflict through python-xmlbase--virtual
-package: python
-version: 16
-depends: b
-conflicts: python-xmlbase--virtual
-provides: python-xmlbase--virtual
-
-package: b
-version: 1
-
-package: a
-version: 1
-provides: python-xmlbase--virtual
-installed: true
-
-request:
-install: python, a
-expected: 2 \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest.cudf
deleted file mode 100644
index e427fce..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest.cudf
+++ /dev/null
@@ -1,18 +0,0 @@
-#FAIL.
-
-package: a
-version: 1
-installed: true
-conflicts: a
-
-package: a
-version: 2
-conflicts: a
-
-package: a
-version: 3
-conflicts: a
-
-request:
-install: a = 2, a = 3
-
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest2.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest2.cudf
deleted file mode 100644
index 2132dc4..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest2.cudf
+++ /dev/null
@@ -1,17 +0,0 @@
-#FAIL, install and upgrade are contradictory
-package: a
-version: 1
-installed: true
-conflicts: a
-
-package: a
-version: 2
-conflicts: a
-
-package: a
-version: 3
-conflicts: a
-
-request:
-install: a = 2
-upgrade: a > 2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest3.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest3.cudf
deleted file mode 100644
index ae01c83..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest3.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-#FAIL, install and remove are contradictory
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a
-remove: a
-
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest4.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest4.cudf
deleted file mode 100644
index d7a6daa..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest4.cudf
+++ /dev/null
@@ -1,14 +0,0 @@
-#FAIL, install and upgrade are contradictory
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a = 2
-upgrade: a > 2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest5.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest5.cudf
deleted file mode 100644
index b2d411c..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/bogusRequest5.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-#FAIL.
-
-package: a
-version: 1
-installed: true
-
-package: b
-version: 2
-
-package: c
-version: 3
-
-request:
-install: a = 1, b > 3
-
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/installTestFailure.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/installTestFailure.cudf
deleted file mode 100644
index dd58344..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/installTestFailure.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-#PASS - package a should be installed
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a > 3
-remove: a <= 2
-expected: 1
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/strangeRequest.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/strangeRequest.cudf
deleted file mode 100644
index a2dfe4d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/strangeRequest.cudf
+++ /dev/null
@@ -1,16 +0,0 @@
-#FAIL. This should fail because having a in upgrade forces the solution to only have one a
-
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a = 2
-upgrade: a > 2
-
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/testConflicts2.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/testConflicts2.cudf
deleted file mode 100644
index 433200f..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/testConflicts2.cudf
+++ /dev/null
@@ -1,13 +0,0 @@
-package: X
-version: 1
-depends: B = 1
-
-package: Y
-version: 1
-depends: B != 1
-
-package: B
-version: 1
-
-request:
-install: X, Y
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/virtualPackageConficts.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/virtualPackageConficts.cudf
deleted file mode 100644
index c6efa35..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedFailure/virtualPackageConficts.cudf
+++ /dev/null
@@ -1,13 +0,0 @@
-package: a
-version: 1
-provides: virtual-foo
-conflicts: virtual-foo
-
-package: b
-version: 1
-provides: virtual-foo
-conflicts: virtual-foo
-
-request:
-install: a, b
-
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/aSelfProvides.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/aSelfProvides.cudf
deleted file mode 100644
index 360c819..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/aSelfProvides.cudf
+++ /dev/null
@@ -1,16 +0,0 @@
-package: python
-version: 16
-depends: b
-conflicts: a, python-xmlbase--virtual
-provides: python-xmlbase--virtual
-
-package: b
-version: 1
-
-package: a
-version: 1
-installed: true
-
-request:
-install: python
-expected: 2 \ No newline at end of file
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installRequest.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installRequest.cudf
deleted file mode 100644
index 1a17095..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installRequest.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-#PASS - 3 versions are installed because, we always try to keep as much as possible from the previous state
-
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a = 2, a = 3
-expected: 2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest.cudf
deleted file mode 100644
index 292b193..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest.cudf
+++ /dev/null
@@ -1,11 +0,0 @@
-#PASS
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-request:
-install: a = 2
-expected: 2
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest2.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest2.cudf
deleted file mode 100644
index 950db4d..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/installTest2.cudf
+++ /dev/null
@@ -1,15 +0,0 @@
-#PASS - package a should be installed
-package: a
-version: 1
-installed: true
-
-package: a
-version: 2
-
-package: a
-version: 3
-
-request:
-install: a >= 3
-remove: a <= 2
-expected: 1
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/keep-Feature.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/keep-Feature.cudf
deleted file mode 100644
index e69de29..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/keep-Feature.cudf
+++ /dev/null
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/provides.cudf b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/provides.cudf
deleted file mode 100644
index 4d65410..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/provides.cudf
+++ /dev/null
@@ -1,14 +0,0 @@
-package: a
-version: 1
-provides: foo
-
-package: b
-version: 1
-depends: foo > 2
-
-package: c
-version: 1
-depends: foo < 2
-
-request:
-install: b, c
diff --git a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand101491-sol.cudf.txt b/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand101491-sol.cudf.txt
deleted file mode 100644
index aeac712..0000000
--- a/p2/demos/misc-conf-2010/org.eclipse.equinox.p2.cudf/src/test/resources/testData/instances/expectedSuccess/rand101491-sol.cudf.txt
+++ /dev/null
@@ -1,11669 +0,0 @@
-preamble:
-property: installedsize: nat = [0], size: nat = [0], sourceversion: string, source: string, number: string
-
-package: zip
-version: 1
-depends: libc6 >= 15
-conflicts: zip , zip-crypt <= 1
-installed: true
-number: 3.0-1
-source: zip
-sourceversion: 3.0-1
-installedsize: 628
-
-package: tsconf
-version: 1
-conflicts: tsconf
-installed: true
-number: 1.0-7
-source: tslib
-sourceversion: 1.0-7
-installedsize: 60
-
-package: openssh-blacklist-extra
-version: 1
-depends: dpkg >= 12
-conflicts: openssh-blacklist-extra
-installed: true
-number: 0.4.1
-source: openssh-blacklist
-sourceversion: 0.4.1
-installedsize: 4100
-
-package: mesa-common-dev
-version: 1
-depends: libx11-dev
-conflicts: mesa-common-dev
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 2972
-
-package: libfile-libmagic-perl
-version: 1
-depends: perl >= 43 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 1 , libmagic1 >= 1 , zlib1g >= 1
-conflicts: libfile-libmagic-perl
-installed: true
-number: 0.91-2
-source: libfile-libmagic-perl
-sourceversion: 0.91-2
-installedsize: 148
-
-package: libcurl3-gnutls
-version: 4
-depends: libc6 >= 14 , libgcrypt11 >= 3 , libgnutls26 >= 4 , libgssapi-krb5-2 >= 2 , libidn11 >= 2 , libldap-2.4-2 >= 1 , zlib1g >= 1 , ca-certificates
-conflicts: libcurl3-gnutls , libcurl4-gnutls
-installed: true
-number: 7.19.7-1
-source: curl
-sourceversion: 7.19.7-1
-installedsize: 436
-
-package: less
-version: 1
-depends: libc6 >= 5 , libncurses5 >= 3 , debianutils >= 3
-conflicts: less
-installed: true
-number: 436-1
-source: less
-sourceversion: 436-1
-installedsize: 260
-
-package: texlive
-version: 3
-depends: texlive-fonts-recommended >= 1 , texlive-latex-recommended >= 1 , texlive-latex-base >= 2
-conflicts: texlive
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 120
-
-package: libxslt1.1
-version: 4
-depends: libc6 >= 2 , libgcrypt11 >= 3 , libxml2 >= 17
-conflicts: libxslt1.1 , libxslt1 < 1
-installed: true
-number: 1.1.26-1
-source: libxslt
-sourceversion: 1.1.26-1
-installedsize: 480
-
-package: emacs21-nox
-version: 1
-depends: emacs21-bin-common = 1 , install-info , libc6 >= 2 , libncurses5 >= 3
-conflicts: emacs21-nox , emacs21--virtual , emacs21 , w3-el
-provides: editor--virtual , emacs21--virtual , emacsen--virtual , info-browser--virtual , mail-reader--virtual , news-reader
-installed: true
-number: 21.4a+1-5.7
-source: emacs21
-sourceversion: 21.4a+1-5.7
-installedsize: 7712
-
-package: libkadm5srv5
-version: 1
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 1 , libgssrpc4 >= 1 , libk5crypto3 >= 1 , libkdb5-4 >= 1 , libkrb5-3 >= 1
-conflicts: libkadm5srv5
-installed: true
-number: 1.6.dfsg.4~beta1-13
-source: krb5
-sourceversion: 1.6.dfsg.4~beta1-13
-installedsize: 200
-
-package: libxdelta2
-version: 2
-depends: libc6 >= 2 , libglib2.0-0 >= 13
-conflicts: libxdelta2
-installed: true
-number: 1.1.3-9
-source: xdelta
-sourceversion: 1.1.3-9
-installedsize: 192
-
-package: tk
-version: 4
-depends: tcl = 4 , tk8.4 >= 6
-conflicts: tk , tk8.3 < 2 , tk8.4 < 6 , tk8.5 < 1
-installed: true
-number: 8.4.16-2
-source: tcltk-defaults
-sourceversion: 8.4.16-2
-installedsize: 68
-
-package: libgs8
-version: 2
-depends: libc6 >= 3 , libcups2 >= 1 , libcupsimage2 >= 1 , libfontconfig1 >= 2 , libgnutls26 >= 3 , libgssapi-krb5-2 >= 1 , libjasper1 >= 1 , libjpeg62 , libpaper1 , libpng12-0 >= 3 , libstdc++6 >= 3 , libtiff4 , zlib1g >= 1
-conflicts: libgs8
-installed: true
-number: 8.70~dfsg-2+b1
-source: ghostscript
-sourceversion: 8.70~dfsg-2
-installedsize: 7956
-
-package: strace
-version: 1
-depends: libc6 >= 2
-conflicts: strace
-installed: true
-number: 4.5.19-1
-source: strace
-sourceversion: 4.5.19-1
-installedsize: 376
-
-package: tipa
-version: 2
-depends: texlive-latex-base , texlive-base-bin , dpkg >= 19 , tex-common >= 8
-conflicts: tipa , tipa-type1
-installed: true
-number: 2:1.3-14
-source: tipa
-sourceversion: 2:1.3-14
-installedsize: 5672
-
-package: libxml-sax-expat-perl
-version: 1
-depends: perl >= 9 , libxml-namespacesupport-perl >= 1 , libxml-parser-perl >= 2 , libxml-sax-perl >= 1
-conflicts: libxml-sax-expat-perl
-installed: true
-number: 0.40-1
-source: libxml-sax-expat-perl
-sourceversion: 0.40-1
-installedsize: 108
-
-package: groff-base
-version: 2
-depends: libc6 >= 2 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: groff-base , groff < 1 , jgroff < 1 , pmake < 1 , troffcvt < 1
-installed: true
-number: 1.20.1-6
-source: groff
-sourceversion: 1.20.1-6
-installedsize: 3400
-
-package: libtext-iconv-perl
-version: 2
-depends: libc6 >= 1 , perl-base >= 12 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libtext-iconv-perl
-installed: true
-number: 1.7-2
-source: libtext-iconv-perl
-sourceversion: 1.7-2
-installedsize: 48
-
-package: libxml-twig-perl
-version: 5
-depends: perl >= 9 , libxml-parser-perl
-conflicts: libxml-twig-perl
-installed: true
-number: 1:3.32-3
-source: libxml-twig-perl
-sourceversion: 1:3.32-3
-installedsize: 552
-
-package: libgssapi-krb5-2
-version: 3
-depends: libc6 >= 8 , libcomerr2 >= 3 , libk5crypto3 >= 3 , libkeyutils1 , libkrb5-3 = 4 , libkrb5support0 >= 1
-conflicts: libgssapi-krb5-2
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 248
-
-package: cron
-version: 5
-depends: libc6 >= 5 , libpam0g >= 2 , libselinux1 >= 5 , debianutils >= 2 , adduser , lsb-base >= 11
-conflicts: cron , lockfile-progs < 1 , suidmanager < 1
-installed: true
-number: 3.0pl1-106
-source: cron
-sourceversion: 3.0pl1-106
-installedsize: 324
-
-package: imagemagick
-version: 8
-depends: libbz2-1.0 , libc6 >= 1 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 3 , libgomp1 >= 1 , libice6 >= 1 , libjpeg62 , liblcms1 >= 2 , liblqr-1-0 >= 1 , libltdl7 >= 1 , libmagickcore2 >= 2 , libmagickwand2 >= 2 , libsm6 , libtiff4 , libx11-6 , libxext6 , libxt6 , zlib1g >= 1
-conflicts: imagemagick
-installed: true
-number: 7:6.5.7.8-1
-source: imagemagick
-sourceversion: 7:6.5.7.8-1
-installedsize: 312
-
-package: libssh2-1
-version: 3
-depends: libc6 >= 2 , libgcrypt11 >= 3 , zlib1g >= 1
-conflicts: libssh2-1
-installed: true
-number: 1.2.1-2
-source: libssh2
-sourceversion: 1.2.1-2
-installedsize: 192
-
-package: libboost-iostreams1.40.0
-version: 3
-depends: libbz2-1.0 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3 , zlib1g >= 1
-conflicts: libboost-iostreams1.40.0
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 132
-
-package: libxmlrpc-light-ocaml-dev
-version: 1
-depends: libnethttpd-ocaml-dev-tp6x3--virtual | libnethttpd-ocaml-dev-tp6x3 , libocamlnet-ocaml-dev-3rxe6--virtual | libocamlnet-ocaml-dev-3rxe6 , libxml-light-ocaml-dev-de4c2--virtual | libxml-light-ocaml-dev-de4c2 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , libocamlnet-ocaml , libxml-light-ocaml-dev , libnethttpd-ocaml-dev
-conflicts: libxmlrpc-light-ocaml-dev
-provides: libxmlrpc-light-ocaml-dev-0aul3
-installed: true
-number: 0.6.1-2
-source: xmlrpc-light
-sourceversion: 0.6.1-2
-installedsize: 600
-
-package: libncurses5
-version: 4
-depends: libc6 >= 5
-conflicts: libncurses5
-installed: true
-number: 5.7+20090803-2
-source: ncurses
-sourceversion: 5.7+20090803-2
-installedsize: 668
-
-package: javascript-common
-version: 1
-depends: wwwconfig-common
-conflicts: javascript-common
-installed: true
-number: 7
-source: javascript-common
-sourceversion: 7
-installedsize: 76
-
-package: cpp-4.1
-version: 4
-depends: gcc-4.1-base = 2 , libc6 >= 2
-conflicts: cpp-4.1 , gcj-4.1 < 1 , gnat-4.1 <= 3
-installed: true
-number: 4.1.2-27
-source: gcc-4.1
-sourceversion: 4.1.2-27
-installedsize: 5776
-
-package: libdevmapper1.02
-version: 1
-depends: libc6 >= 7 , libselinux1 >= 1 , libsepol1 >= 1
-conflicts: libdevmapper1.02
-provides: libdevmapper--virtual
-installed: true
-number: 2:1.02.08-1
-source: devmapper
-sourceversion: 2:1.02.08-1
-installedsize: 148
-
-package: php5-mysql
-version: 2
-depends: libc6 >= 1 , libmysqlclient16 >= 1 , php5 | phpapi-20060613--virtual | phpapi-20060613 , php5-common = 1
-conflicts: php5-mysql , php5-mysqli
-installed: true
-number: 5.2.11.dfsg.1-1
-source: php5
-sourceversion: 5.2.11.dfsg.1-1
-installedsize: 276
-
-package: cmake-data
-version: 2
-depends: emacsen-common
-conflicts: cmake-data , cmake <= 1
-installed: true
-number: 2.8.0-1
-source: cmake
-sourceversion: 2.8.0-1
-installedsize: 5792
-
-package: makedev
-version: 13
-depends: base-passwd >= 2
-conflicts: makedev , udev <= 1
-installed: true
-number: 2.3.1-89
-source: makedev
-sourceversion: 2.3.1-89
-installedsize: 148
-
-package: libhtml-template-perl
-version: 4
-depends: perl >= 9
-conflicts: libhtml-template-perl
-installed: true
-number: 2.9-1
-source: libhtml-template-perl
-sourceversion: 2.9-1
-installedsize: 208
-
-package: python-zope.interface
-version: 2
-depends: python-pkg-resources , python < 21 , python >= 10 , python-central >= 14 , libc6 >= 1
-conflicts: python-zope.interface , python-zope--virtual , python-zope , python-zopeinterface--virtual , python-zopeinterface , zope3
-provides: python-zope--virtual , python-zopeinterface--virtual , python2.4-zope.interface , python2.5-zope.interface
-installed: true
-number: 3.5.2-2
-source: zope.interface
-sourceversion: 3.5.2-2
-installedsize: 736
-
-package: libreact-ocaml-dev
-version: 1
-depends: libreact-ocaml-71dv4--virtual | libreact-ocaml-71dv4 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libreact-ocaml-dev
-provides: libreact-ocaml-dev-71dv4--virtual
-installed: true
-number: 0.9.0-2
-source: react
-sourceversion: 0.9.0-2
-installedsize: 1128
-
-package: ntpdate
-version: 1
-depends: netbase , libc6 >= 2 , libcap2 >= 1 , libssl0.9.8 >= 6
-conflicts: ntpdate
-installed: true
-number: 1:4.2.4p6+dfsg-2
-source: ntp
-sourceversion: 1:4.2.4p6+dfsg-2
-installedsize: 232
-
-package: libcupsys2
-version: 2
-depends: libcups2
-conflicts: libcupsys2
-installed: true
-number: 1.3.11-2
-source: cups
-sourceversion: 1.3.11-2
-installedsize: 100
-
-package: libio-compress-perl
-version: 2
-depends: perl , libcompress-raw-bzip2-perl >= 2 , libcompress-raw-zlib-perl >= 3
-conflicts: libio-compress-perl , libcompress-zlib-perl < 7 , libio-compress-base-perl < 2 , libio-compress-bzip2-perl < 3 , libio-compress-zlib-perl < 4
-provides: libcompress-zlib-perl--virtual , libio-compress-base-perl--virtual , libio-compress-bzip2-perl--virtual , libio-compress-zlib-perl--virtual
-installed: true
-number: 2.022-1
-source: libio-compress-perl
-sourceversion: 2.022-1
-installedsize: 888
-
-package: bsdutils
-version: 5
-depends: libc6 >= 2
-conflicts: bsdutils
-installed: true
-number: 1:2.16.1-4
-source: util-linux
-sourceversion: 2.16.1-4
-installedsize: 184
-
-package: tailor
-version: 1
-depends: python >= 10 , python-support >= 9
-conflicts: tailor , bzr < 2 , mercurial < 2
-installed: true
-number: 0.9.35+darcs20090615-1
-source: tailor
-sourceversion: 0.9.35+darcs20090615-1
-installedsize: 832
-
-package: info
-version: 4
-depends: libc6 >= 5 , libncurses5 >= 3 , install-info
-conflicts: info , xemacs-support
-provides: info-browser--virtual
-installed: true
-number: 4.13a.dfsg.1-5
-source: texinfo
-sourceversion: 4.13a.dfsg.1-5
-installedsize: 416
-
-package: logcheck-database
-version: 3
-conflicts: logcheck-database
-installed: true
-number: 1.3.3
-source: logcheck
-sourceversion: 1.3.3
-installedsize: 1084
-
-package: libselinux1
-version: 13
-depends: libc6 >= 5
-conflicts: libselinux1
-installed: true
-number: 2.0.89-3
-source: libselinux
-sourceversion: 2.0.89-3
-installedsize: 292
-
-package: libsqlite3-ocaml-dev
-version: 3
-depends: libsqlite3-dev , libsqlite3-ocaml-ddv02--virtual | libsqlite3-ocaml-ddv02 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libsqlite3-ocaml-dev , ocsigen < 4
-provides: libsqlite3-ocaml-dev-ddv02--virtual
-installed: true
-number: 1.5.6-3
-source: ocaml-sqlite3
-sourceversion: 1.5.6-3
-installedsize: 348
-
-package: fakeroot
-version: 4
-depends: libc6 >= 14
-conflicts: fakeroot , libc6-dev-i386 <= 2
-installed: true
-number: 1.14.4-1
-source: fakeroot
-sourceversion: 1.14.4-1
-installedsize: 376
-
-package: linda
-version: 1
-depends: python , python-support >= 1 , binutils , file , dash , man-db , dpkg-dev >= 6
-conflicts: linda , file = 2
-provides: lintian-python
-installed: true
-number: 0.3.26
-source: linda
-sourceversion: 0.3.26
-installedsize: 2360
-
-package: mktemp
-version: 2
-depends: coreutils >= 13
-conflicts: mktemp
-installed: true
-number: 8.0-2
-source: coreutils
-sourceversion: 8.0-2
-installedsize: 20
-
-package: python2.4-minimal
-version: 1
-depends: libc6 >= 2 , zlib1g >= 1
-conflicts: python2.4-minimal , binfmt-support < 1
-installed: true
-number: 2.4.6-2.2
-source: python2.4
-sourceversion: 2.4.6-2.2
-installedsize: 3464
-
-package: libxcomposite1
-version: 2
-depends: libc6 >= 1 , libx11-6 , libxext6 , libxfixes3 >= 1
-conflicts: libxcomposite1
-installed: true
-number: 1:0.4.0-4
-source: libxcomposite
-sourceversion: 1:0.4.0-4
-installedsize: 64
-
-package: libreadline6
-version: 1
-depends: readline-common , libc6 >= 2 , libncurses5 >= 3
-conflicts: libreadline6
-installed: true
-number: 6.0-5
-source: readline6
-sourceversion: 6.0-5
-installedsize: 356
-
-package: libocamlnet-ocaml
-version: 1
-depends: libpcre-ocaml-kh2c0--virtual | libpcre-ocaml-kh2c0 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1
-conflicts: libocamlnet-ocaml , libequeue-ocaml < 1
-provides: libequeue-ocaml--virtual , libocamlnet-ocaml-3rxe6--virtual
-installed: true
-number: 2.2.9-7
-source: ocamlnet
-sourceversion: 2.2.9-7
-installedsize: 84
-
-package: libminisat-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1 , libgcc1 >= 3 , libminisat
-conflicts: libminisat-ocaml
-installed: true
-number: 0.3
-source: ocaml-minisat
-sourceversion: 0.3
-installedsize: 64
-
-package: libgcj8-jar
-version: 1
-depends: gcj-4.2-base >= 1 , libgcj8-1 >= 1
-conflicts: libgcj8-jar , libgcj7-common
-installed: true
-number: 4.2.4-4
-source: gcj-4.2
-sourceversion: 4.2.4-4
-installedsize: 10780
-
-package: libocamlodbc-ocaml-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , unixodbc-dev
-conflicts: libocamlodbc-ocaml-dev
-installed: true
-number: 2.15-4+b1
-source: ocamlodbc
-sourceversion: 2.15-4
-installedsize: 232
-
-package: vim-nox
-version: 2
-depends: vim-common = 4 , vim-runtime = 3 , libacl1 >= 1 , libc6 >= 8 , libgpm2 >= 1 , libncurses5 >= 3 , libperl5.10 >= 2 , libruby1.8 >= 12 , libselinux1 >= 2 , python2.5 >= 1 , tcl8.4 >= 4
-conflicts: vim-nox
-provides: editor--virtual , vim--virtual , vim-perl , vim-python--virtual , vim-ruby , vim-tcl
-installed: true
-number: 2:7.2.284-1
-source: vim
-sourceversion: 2:7.2.284-1
-installedsize: 1944
-
-package: libpam-modules
-version: 5
-depends: libc6 >= 8 , libdb4.7 , libpam0g >= 3 , libselinux1 >= 10 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: libpam-modules , libpam-mkhomedir--virtual , libpam-mkhomedir , libpam-motd--virtual , libpam-motd , libpam-umask--virtual , libpam-umask
-provides: libpam-mkhomedir--virtual , libpam-motd--virtual , libpam-umask--virtual
-installed: true
-number: 1.1.0-4
-source: pam
-sourceversion: 1.1.0-4
-installedsize: 1080
-
-package: ldap-utils
-version: 3
-depends: libc6 >= 2 , libgnutls26 >= 4 , libldap-2.4-2 = 2 , libsasl2-2
-conflicts: ldap-utils , ldap-client--virtual , ldap-client , openldap-utils--virtual , openldap-utils , umich-ldap-utils
-provides: ldap-client--virtual , openldap-utils--virtual
-installed: true
-number: 2.4.17-2.1
-source: openldap
-sourceversion: 2.4.17-2.1
-installedsize: 696
-
-package: e2fsprogs
-version: 1
-depends: e2fslibs = 3 , libblkid1 >= 2 , libc6 >= 14 , libcomerr2 >= 4 , libss2 >= 2 , libuuid1 >= 3
-conflicts: e2fsprogs , dump < 1 , initscripts < 1 , quota < 1 , sysvinit < 2
-installed: true
-number: 1.41.9-1
-source: e2fsprogs
-sourceversion: 1.41.9-1
-installedsize: 2104
-
-package: libole-storage-lite-perl
-version: 2
-depends: perl >= 9 , libio-stringy-perl
-conflicts: libole-storage-lite-perl
-installed: true
-number: 0.18-1
-source: libole-storage-lite-perl
-sourceversion: 0.18-1
-installedsize: 156
-
-package: libxtst6
-version: 1
-depends: libc6 >= 12 , libx11-6 , libxext6 , x11-common
-conflicts: libxtst6
-installed: true
-number: 2:1.0.3-1
-source: libxtst
-sourceversion: 2:1.0.3-1
-installedsize: 72
-
-package: libedit2
-version: 2
-depends: libbsd0 >= 1 , libc6 >= 15 , libncurses5 >= 3
-conflicts: libedit2
-installed: true
-number: 2.11-20080614-1
-source: libedit
-sourceversion: 2.11-20080614-1
-installedsize: 164
-
-package: libtiff4
-version: 2
-depends: libc6 >= 2 , libjpeg62 , zlib1g >= 1
-conflicts: libtiff4
-installed: true
-number: 3.9.2-1
-source: tiff
-sourceversion: 3.9.2-1
-installedsize: 476
-
-package: texlive-lang-portuguese
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-portuguese
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 328
-
-package: libldap2-dev
-version: 1
-depends: libldap-2.4-2 = 2
-conflicts: libldap2-dev , libldap-dev--virtual , libldap-dev , libopenldap-dev
-provides: libldap-dev--virtual
-installed: true
-number: 2.4.17-2.1
-source: openldap
-sourceversion: 2.4.17-2.1
-installedsize: 3444
-
-package: libclass-errorhandler-perl
-version: 1
-depends: perl >= 9
-conflicts: libclass-errorhandler-perl
-installed: true
-number: 0.01-2
-source: libclass-errorhandler-perl
-sourceversion: 0.01-2
-installedsize: 64
-
-package: global
-version: 1
-depends: libc6 >= 15
-conflicts: global
-installed: true
-number: 5.7.1-1
-source: global
-sourceversion: 5.7.1-1
-installedsize: 1276
-
-package: libjpeg62
-version: 1
-depends: libc6 >= 1
-conflicts: libjpeg62
-installed: true
-number: 6b-15
-source: libjpeg6b
-sourceversion: 6b-15
-installedsize: 216
-
-package: ocamldsort
-version: 1
-depends: libc6 >= 15
-conflicts: ocamldsort
-installed: true
-number: 0.14.4-2+b2
-source: ocamldsort
-sourceversion: 0.14.4-2
-installedsize: 384
-
-package: dvidvi
-version: 1
-depends: libc6 >= 7
-conflicts: dvidvi
-installed: true
-number: 1.0-8etch2
-source: dvidvi
-sourceversion: 1.0-8etch2
-installedsize: 88
-
-package: tk8.5
-version: 4
-depends: libc6 >= 14 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libx11-6 , libxext6 , libxft2 > 1 , libxrender1 , libxss1 , tcl8.5 >= 2 , zlib1g >= 1
-conflicts: tk8.5 , libtk-img < 1 , tk40 <= 1
-provides: wish--virtual
-installed: true
-number: 8.5.8-1
-source: tk8.5
-sourceversion: 8.5.8-1
-installedsize: 3336
-
-package: libbsd0
-version: 2
-depends: libc6 >= 2
-conflicts: libbsd0
-installed: true
-number: 0.1.6-1
-source: libbsd
-sourceversion: 0.1.6-1
-installedsize: 108
-
-package: python-twisted-bin
-version: 1
-depends: python < 21 , python >= 10 , libc6 >= 3
-conflicts: python-twisted-bin , python2.3-twisted-bin , python2.4-twisted-bin--virtual , python2.4-twisted-bin
-provides: python2.4-twisted-bin--virtual , python2.5-twisted-bin
-installed: true
-number: 8.2.0-3
-source: twisted
-sourceversion: 8.2.0-3
-installedsize: 188
-
-package: dpatch
-version: 2
-depends: bash >= 13
-conflicts: dpatch
-installed: true
-number: 2.0.31
-source: dpatch
-sourceversion: 2.0.31
-installedsize: 344
-
-package: texlive-humanities-doc
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1
-conflicts: texlive-humanities-doc
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 10620
-
-package: libgsf-1-114
-version: 8
-depends: libgsf-1-common >= 1 , libbz2-1.0 , libc6 >= 1 , libglib2.0-0 >= 22 , libxml2 >= 17 , zlib1g >= 1
-conflicts: libgsf-1-114 , gnumeric < 1
-installed: true
-number: 1.14.16-1
-source: libgsf
-sourceversion: 1.14.16-1
-installedsize: 428
-
-package: libxapian15
-version: 2
-depends: libc6 >= 8 , libgcc1 >= 3 , libstdc++6 >= 9 , zlib1g >= 1
-conflicts: libxapian15 , libxapian2
-installed: true
-number: 1.0.16-3
-source: xapian-core
-sourceversion: 1.0.16-3
-installedsize: 1684
-
-package: libneon27-gnutls-dev
-version: 2
-depends: libneon27-gnutls = 5 , libgnutls-dev , libxml2-dev , libkrb5-dev , pkg-config
-conflicts: libneon27-gnutls-dev , libneon-dev--virtual , libneon-dev , libneon24-doc <= 1 , libneon25-dev < 1 , libneon27-dev
-provides: libneon-dev--virtual
-installed: true
-number: 0.29.0-1
-source: neon27
-sourceversion: 0.29.0-1
-installedsize: 1580
-
-package: libparse-debcontrol-perl
-version: 1
-depends: libcompress-zlib-perl--virtual | libcompress-zlib-perl , libio-stringy-perl , libwww-perl , perl >= 9
-conflicts: libparse-debcontrol-perl
-installed: true
-number: 2.005-2
-source: libparse-debcontrol-perl
-sourceversion: 2.005-2
-installedsize: 80
-
-package: dput
-version: 1
-depends: python >= 6 , gnupg
-conflicts: dput
-installed: true
-number: 0.9.5.1
-source: dput
-sourceversion: 0.9.5.1
-installedsize: 216
-
-package: libtext-ocaml-dev
-version: 1
-depends: libtext-ocaml-v45n9--virtual | libtext-ocaml-v45n9 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libtext-ocaml-dev
-provides: libtext-ocaml-dev-v45n9--virtual
-installed: true
-number: 0.2-3
-source: ocaml-text
-sourceversion: 0.2-3
-installedsize: 368
-
-package: libcups2
-version: 4
-depends: libavahi-client3 >= 1 , libavahi-common3 >= 1 , libc6 >= 8 , libgnutls26 >= 4 , libgssapi-krb5-2 >= 2 , zlib1g >= 1
-conflicts: libcups2 , libcupsys2 < 1
-provides: libcupsys2--virtual
-installed: true
-number: 1.4.2-2
-source: cups
-sourceversion: 1.4.2-2
-installedsize: 472
-
-package: texlive-latex-extra
-version: 2
-depends: preview-latex-style , dpkg >= 19 , tex-common >= 8 , texlive-common >= 1 , texlive-pictures >= 1 , texlive-latex-base >= 2
-conflicts: texlive-latex-extra , circ-tex , latex-svninfo , pbox-tex , textopo
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 19292
-
-package: python-debian
-version: 3
-depends: python >= 16 , python-support >= 9
-conflicts: python-debian , python-deb822--virtual , python-deb822
-provides: python-deb822--virtual
-installed: true
-number: 0.1.14
-source: python-debian
-sourceversion: 0.1.14
-installedsize: 336
-
-package: texpower
-version: 1
-depends: texlive-latex-recommended , texlive-fonts-recommended , tex-common >= 1
-conflicts: texpower , tpmultiinc--virtual , tpmultiinc , dvips-landscapeplus--virtual , dvips-landscapeplus , latex-automata--virtual , latex-automata
-provides: tpmultiinc--virtual , dvips-landscapeplus--virtual , latex-automata--virtual
-installed: true
-number: 0.2-7
-source: texpower
-sourceversion: 0.2-7
-installedsize: 432
-
-package: gconf2-common
-version: 3
-depends: dbus , ucf
-conflicts: gconf2-common
-installed: true
-number: 2.28.0-1
-source: gconf
-sourceversion: 2.28.0-1
-installedsize: 5574
-
-package: libxi6
-version: 3
-depends: libc6 >= 1 , libx11-6 , libxext6
-conflicts: libxi6
-installed: true
-number: 2:1.2.1-2
-source: libxi
-sourceversion: 2:1.2.1-2
-installedsize: 100
-
-package: libglade2-0
-version: 4
-depends: libatk1.0-0 >= 5 , libc6 >= 1 , libcairo2 >= 4 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 13 , libgtk2.0-0 >= 34 , libpango1.0-0 >= 7 , libxml2 >= 13
-conflicts: libglade2-0
-installed: true
-number: 1:2.6.4-1
-source: libglade2
-sourceversion: 1:2.6.4-1
-installedsize: 220
-
-package: unison
-version: 2
-depends: libc6 >= 2
-conflicts: unison , unison < 1
-installed: true
-number: 2.27.57-2
-source: unison
-sourceversion: 2.27.57-2
-installedsize: 1644
-
-package: libgtk2.0-common
-version: 1
-conflicts: libgtk2.0-common
-installed: true
-number: 2.18.3-1
-source: gtk+2.0
-sourceversion: 2.18.3-1
-installedsize: 20704
-
-package: cdebootstrap
-version: 1
-depends: libc6 >= 1 , libdebian-installer-extra4 >= 1 , libdebian-installer4 >= 1 , gpgv , wget , debian-archive-keyring
-conflicts: cdebootstrap
-installed: true
-number: 0.5.5
-source: cdebootstrap
-sourceversion: 0.5.5
-installedsize: 112
-
-package: libhtml-parser-perl
-version: 14
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 8 , liburi-perl , libhtml-tagset-perl
-conflicts: libhtml-parser-perl , libhtml-tree-perl < 1 , libwww-perl < 6
-installed: true
-number: 3.64-1
-source: libhtml-parser-perl
-sourceversion: 3.64-1
-installedsize: 324
-
-package: gcc-4.3
-version: 5
-depends: gcc-4.3-base = 3 , cpp-4.3 = 5 , binutils >= 5 , libgcc1 >= 12 , libgomp1 >= 3 , libc6 >= 14
-conflicts: gcc-4.3
-provides: c-compiler--virtual
-installed: true
-number: 4.3.4-6
-source: gcc-4.3
-sourceversion: 4.3.4-6
-installedsize: 4172
-
-package: libwrap0
-version: 2
-depends: libc6 >= 2
-conflicts: libwrap0
-installed: true
-number: 7.6.q-18
-source: tcp-wrappers
-sourceversion: 7.6.q-18
-installedsize: 100
-
-package: libnewt0.52
-version: 2
-depends: libc6 >= 2 , libslang2 >= 4
-conflicts: libnewt0.52 , libnewt0.51
-installed: true
-number: 0.52.10-4.1
-source: newt
-sourceversion: 0.52.10-4.1
-installedsize: 888
-
-package: openssl-blacklist
-version: 2
-depends: dpkg >= 12 , python , openssl >= 5
-conflicts: openssl-blacklist
-installed: true
-number: 0.5-2
-source: openssl-blacklist
-sourceversion: 0.5-2
-installedsize: 12216
-
-package: libaspell15
-version: 2
-depends: libc6 >= 5 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: libaspell15 , aspell-bin < 1 , aspell6-dictionary
-installed: true
-number: 0.60.6-2
-source: aspell
-sourceversion: 0.60.6-2
-installedsize: 2548
-
-package: doc-base
-version: 5
-depends: perl , libuuid-perl , dpkg >= 18 , libmldbm-perl
-conflicts: doc-base , dhelp < 3 , dwww < 1
-installed: true
-number: 0.9.5
-source: doc-base
-sourceversion: 0.9.5
-installedsize: 492
-
-package: tar
-version: 6
-depends: libc6 >= 11
-conflicts: tar , cpio <= 1
-installed: true
-number: 1.22-2
-source: tar
-sourceversion: 1.22-2
-installedsize: 2044
-
-package: libocsigen-ocaml-doc
-version: 1
-conflicts: libocsigen-ocaml-doc , ocsigen-doc < 2
-provides: ocsigen-doc--virtual
-installed: true
-number: 1.2.2-1
-source: ocsigen
-sourceversion: 1.2.2-1
-installedsize: 12552
-
-package: xz-utils
-version: 2
-depends: libc6 >= 11 , liblzma1 >= 1
-conflicts: xz-utils , xz-lzma < 1
-installed: true
-number: 4.999.9beta+20091116-1
-source: xz-utils
-sourceversion: 4.999.9beta+20091116-1
-installedsize: 476
-
-package: libio-string-perl
-version: 4
-depends: perl >= 9
-conflicts: libio-string-perl
-installed: true
-number: 1.08-2
-source: libio-string-perl
-sourceversion: 1.08-2
-installedsize: 32
-
-package: libxpm4
-version: 1
-depends: libc6 >= 2 , libx11-6
-conflicts: libxpm4
-installed: true
-number: 1:3.5.7-2
-source: libxpm
-sourceversion: 1:3.5.7-2
-installedsize: 100
-
-package: patchutils
-version: 1
-depends: libc6 >= 5 , perl , patch , debianutils >= 8
-conflicts: patchutils
-installed: true
-number: 0.3.1-2
-source: patchutils
-sourceversion: 0.3.1-2
-installedsize: 292
-
-package: libglu1-mesa
-version: 1
-depends: libc6 >= 1 , libgcc1 >= 3 , libgl1-mesa-glx | libgl1--virtual | libgl1 , libstdc++6 >= 3
-conflicts: libglu1-mesa , libglu1--virtual , libglu1 , mesag3 < 2 , xlibmesa3
-provides: libglu1--virtual
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 500
-
-package: vim-python
-version: 1
-depends: vim-gtk >= 1
-conflicts: vim-python
-installed: true
-number: 2:7.2.130-1
-source: vim
-sourceversion: 2:7.2.130-1
-installedsize: 120
-
-package: libmime-tools-perl
-version: 4
-depends: perl >= 24 , libmailtools-perl , libio-stringy-perl >= 2 , libconvert-binhex-perl , perl-modules >= 10
-conflicts: libmime-tools-perl , libmime-perl < 7
-provides: libmime-perl--virtual
-installed: true
-number: 5.427-2
-source: mime-tools
-sourceversion: 5.427-2
-installedsize: 628
-
-package: libfreezethaw-perl
-version: 1
-depends: perl >= 9
-conflicts: libfreezethaw-perl
-installed: true
-number: 0.45-1
-source: libfreezethaw-perl
-sourceversion: 0.45-1
-installedsize: 48
-
-package: libocsigen-ocaml-dev
-version: 1
-depends: ocaml-findlib , libgdbm-dev , camlp4-3.11.1--virtual | camlp4-3.11.1 , libcryptokit-ocaml-dev-jki10--virtual | libcryptokit-ocaml-dev-jki10 , libfindlib-ocaml-dev-dfzt4--virtual | libfindlib-ocaml-dev-dfzt4 , liblwt-ocaml-dev-rs5r6--virtual | liblwt-ocaml-dev-rs5r6 , liblwt-ssl-ocaml-dev-jf9s7--virtual | liblwt-ssl-ocaml-dev-jf9s7 , libocamlnet-ocaml-dev-3rxe6--virtual | libocamlnet-ocaml-dev-3rxe6 , libocsigen-ocaml-2k0y3--virtual | libocsigen-ocaml-2k0y3 , libpcre-ocaml-dev-kh2c0--virtual | libpcre-ocaml-dev-kh2c0 , libreact-ocaml-dev-71dv4--virtual | libreact-ocaml-dev-71dv4 , libsqlite3-ocaml-dev-ddv02--virtual | libsqlite3-ocaml-dev-ddv02 , libssl-ocaml-dev-m8hz4--virtual | libssl-ocaml-dev-m8hz4 , libzip-ocaml-dev-0lnk7--virtual | libzip-ocaml-dev-0lnk7 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocamlduce-3.11.1.0--virtual | ocamlduce-3.11.1.0
-conflicts: libocsigen-ocaml-dev , ocsigen < 4 , ocsigen-dev < 2
-provides: libocsigen-ocaml-dev-2k0y3
-installed: true
-number: 1.2.2-1
-source: ocsigen
-sourceversion: 1.2.2-1
-installedsize: 6020
-
-package: libpango1.0-common
-version: 3
-depends: debconf | debconf-2.0--virtual | debconf-2.0 , defoma >= 7 , fontconfig >= 1
-conflicts: libpango1.0-common , pango-libthai < 1
-installed: true
-number: 1.26.1-1
-source: pango1.0
-sourceversion: 1.26.1-1
-installedsize: 240
-
-package: debsums
-version: 1
-depends: perl >= 15 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: debsums
-installed: true
-number: 2.0.47
-source: debsums
-sourceversion: 2.0.47
-installedsize: 268
-
-package: texlive-pstricks
-version: 2
-depends: texlive-generic-recommended >= 1 , dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-pstricks
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 2088
-
-package: menhir
-version: 1
-depends: libc6 >= 2
-conflicts: menhir
-installed: true
-number: 20090505.dfsg-2
-source: menhir
-sourceversion: 20090505.dfsg-2
-installedsize: 1660
-
-package: aspell
-version: 7
-depends: libaspell15 = 2 , libc6 >= 1 , libgcc1 >= 3 , libncursesw5 >= 2 , libstdc++6 >= 3 , dictionaries-common > 9
-conflicts: aspell , aspell-bin < 1
-provides: aspell-bin--virtual
-installed: true
-number: 0.60.6-2
-source: aspell
-sourceversion: 0.60.6-2
-installedsize: 1180
-
-package: libexpat1-dev
-version: 2
-depends: libexpat1 = 2 , libc6-dev | libc-dev--virtual | libc-dev
-conflicts: libexpat1-dev , libexpat-dev--virtual , libexpat-dev
-provides: libexpat-dev--virtual
-installed: true
-number: 2.0.1-5
-source: expat
-sourceversion: 2.0.1-5
-installedsize: 960
-
-package: base-files
-version: 11
-depends: awk--virtual | awk , base-passwd >= 1
-conflicts: base-files
-provides: base
-installed: true
-number: 5.0.0
-source: base-files
-sourceversion: 5.0.0
-installedsize: 456
-
-package: libicu42
-version: 2
-depends: libc6 >= 2 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: libicu42 , icu , icu-locales
-installed: true
-number: 4.2.1-3
-source: icu
-sourceversion: 4.2.1-3
-installedsize: 19272
-
-package: libbin-prot-camlp4-dev
-version: 1
-depends: camlp4-3.11.1--virtual | camlp4-3.11.1 , libtype-conv-camlp4-dev-lvsx4--virtual | libtype-conv-camlp4-dev-lvsx4 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocaml-findlib , camlp4 , libtype-conv-camlp4-dev , libc6 >= 1
-conflicts: libbin-prot-camlp4-dev
-provides: libbin-prot-camlp4-dev-s7a61--virtual
-installed: true
-number: 1.2.20-1
-source: bin-prot
-sourceversion: 1.2.20-1
-installedsize: 1444
-
-package: libgraph-perl
-version: 1
-depends: libheap-perl , perl
-conflicts: libgraph-perl
-installed: true
-number: 1:0.91-1
-source: libgraph-perl
-sourceversion: 1:0.91-1
-installedsize: 488
-
-package: libqt3-mt
-version: 5
-depends: libaudio2 , libc6 >= 4 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libgcc1 >= 3 , libice6 >= 1 , libjpeg62 , libmng1 >= 1 , libpng12-0 >= 3 , libsm6 , libstdc++6 >= 3 , libx11-6 , libxcursor1 > 1 , libxext6 , libxft2 > 1 , libxi6 , libxinerama1 , libxrandr2 , libxrender1 , libxt6 , zlib1g >= 1 , fontconfig
-conflicts: libqt3-mt , libqt3c-mt , libqt3c102-mt , libqui1-emb
-installed: true
-number: 3:3.3.8b-6
-source: qt-x11-free
-sourceversion: 3:3.3.8b-6
-installedsize: 9424
-
-package: libexpat-ocaml-dev
-version: 2
-depends: libexpat1-dev , ocaml-findlib >= 1 , libexpat-ocaml-c8y98--virtual | libexpat-ocaml-c8y98
-conflicts: libexpat-ocaml-dev
-provides: libexpat-ocaml-dev-c8y98
-installed: true
-number: 0.9.1+debian1-6
-source: ocaml-expat
-sourceversion: 0.9.1+debian1-6
-installedsize: 252
-
-package: libpth20
-version: 2
-depends: libc6 >= 2
-conflicts: libpth20
-installed: true
-number: 2.0.7-14
-source: pth
-sourceversion: 2.0.7-14
-installedsize: 196
-
-package: mini-dinstall
-version: 1
-depends: python , python-support >= 9 , python-apt , apt-utils , python-crypto
-conflicts: mini-dinstall
-installed: true
-number: 0.6.27
-source: mini-dinstall
-sourceversion: 0.6.27
-installedsize: 260
-
-package: metche
-version: 1
-depends: debconf >= 9 | debconf-2.0--virtual | debconf-2.0 , mutt , bzip2 , ucf >= 4
-conflicts: metche
-installed: true
-number: 1:1.1-4
-source: metche
-sourceversion: 1:1.1-4
-installedsize: 152
-
-package: postgresql-common
-version: 4
-depends: postgresql-client-common >= 2 , procps , adduser , debconf >= 9 | debconf-2.0--virtual | debconf-2.0 , lsb-base >= 8 , lsb-release , ssl-cert >= 2
-conflicts: postgresql-common , postgresql-7.4 , postgresql-8.0
-installed: true
-number: 101
-source: postgresql-common
-sourceversion: 101
-installedsize: 488
-
-package: libgtk2.0-0
-version: 46
-depends: libgtk2.0-common , libatk1.0-0 >= 5 , libc6 >= 4 , libcairo2 >= 12 , libcups2 >= 2 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 30 , libgnutls26 >= 4 , libgssapi-krb5-2 >= 1 , libjasper1 >= 1 , libjpeg62 , libpango1.0-0 >= 22 , libpng12-0 >= 3 , libtiff4 , libx11-6 , libxcomposite1 >= 1 , libxcursor1 > 1 , libxdamage1 >= 1 , libxext6 , libxfixes3 >= 1 , libxi6 , libxinerama1 , libxrandr2 >= 3 , libxrender1 , zlib1g >= 1 , shared-mime-info
-conflicts: libgtk2.0-0
-provides: gtk2.0-binver-2.10.0--virtual
-installed: true
-number: 2.18.3-1
-source: gtk+2.0
-sourceversion: 2.18.3-1
-installedsize: 6168
-
-package: gcj-4.2-base
-version: 2
-conflicts: gcj-4.2-base
-installed: true
-number: 4.2.4-4
-source: gcj-4.2
-sourceversion: 4.2.4-4
-installedsize: 140
-
-package: libconfig-inifiles-perl
-version: 1
-conflicts: libconfig-inifiles-perl
-installed: true
-number: 2.52-1
-source: libconfig-inifiles-perl
-sourceversion: 2.52-1
-installedsize: 148
-
-package: libnss3-1d
-version: 7
-depends: libc6 >= 3 , libnspr4-0d >= 1 , libsqlite3-0 >= 12 , dpkg < 17 | dpkg >= 19
-conflicts: libnss3-1d , libnss3 , libnss3-0d >= 1 , libnss3-dev <= 1
-installed: true
-number: 3.12.4-1
-source: nss
-sourceversion: 3.12.4-1
-installedsize: 2864
-
-package: libcore-ocaml
-version: 2
-depends: ocaml-findlib , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 5
-conflicts: libcore-ocaml
-provides: libcore-ocaml-xsa16--virtual
-installed: true
-number: 0.6.0-1
-source: janest-core
-sourceversion: 0.6.0-1
-installedsize: 96
-
-package: subversion
-version: 4
-depends: libsvn1 = 6 , libapr1 >= 1 , libc6 >= 2 , libsasl2-2
-conflicts: subversion
-installed: true
-number: 1.6.6dfsg-1
-source: subversion
-sourceversion: 1.6.6dfsg-1
-installedsize: 4284
-
-package: libpcre-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 2 , libpcre3 >= 5
-conflicts: libpcre-ocaml
-provides: libpcre-ocaml-kh2c0--virtual
-installed: true
-number: 6.0.1-2
-source: pcre-ocaml
-sourceversion: 6.0.1-2
-installedsize: 68
-
-package: gpgv
-version: 1
-depends: libbz2-1.0 , libc6 >= 4 , libreadline6 , zlib1g >= 1
-conflicts: gpgv
-installed: true
-number: 1.4.10-2
-source: gnupg
-sourceversion: 1.4.10-2
-installedsize: 436
-
-package: dselect
-version: 2
-depends: libc6 >= 5 , libgcc1 >= 3 , libncursesw5 >= 2 , libstdc++6 >= 3 , dpkg >= 13
-conflicts: dselect , dpkg-ftp , dpkg-multicd
-installed: true
-number: 1.15.5.2
-source: dpkg
-sourceversion: 1.15.5.2
-installedsize: 2284
-
-package: coreutils
-version: 16
-depends: libacl1 >= 1 , libattr1 >= 3 , libc6 >= 11 , libselinux1 >= 2
-conflicts: coreutils , timeout
-installed: true
-number: 8.0-2
-source: coreutils
-sourceversion: 8.0-2
-installedsize: 11792
-
-package: g++-4.1
-version: 2
-depends: gcc-4.1-base = 2 , gcc-4.1 = 4 , libstdc++6-4.1-dev = 1 , libc6 >= 2
-conflicts: g++-4.1
-provides: c++-compiler--virtual , c++abi2-dev--virtual
-installed: true
-number: 4.1.2-27
-source: gcc-4.1
-sourceversion: 4.1.2-27
-installedsize: 6380
-
-package: libjasper1
-version: 3
-depends: libc6 >= 14 , libjpeg62
-conflicts: libjasper1 , libjasper-1.700-2
-installed: true
-number: 1.900.1-6.1
-source: jasper
-sourceversion: 1.900.1-6.1
-installedsize: 388
-
-package: libruby1.8
-version: 13
-depends: libc6 >= 8 , libncurses5 >= 3 , zlib1g >= 1
-conflicts: libruby1.8 , libbigdecimal-ruby1.8--virtual , libbigdecimal-ruby1.8 , libcurses-ruby1.8--virtual , libcurses-ruby1.8 , libdl-ruby1.8--virtual , libdl-ruby1.8 , libdrb-ruby1.8--virtual , libdrb-ruby1.8 , liberb-ruby1.8--virtual , liberb-ruby1.8 , libiconv-ruby1.8--virtual , libiconv-ruby1.8 , libopenssl-ruby1.8 < 2 , libpty-ruby1.8--virtual , libpty-ruby1.8 , libracc-runtime-ruby1.8--virtual , libracc-runtime-ruby1.8 , librexml-ruby1.8--virtual , librexml-ruby1.8 , libsdbm-ruby1.8--virtual , libsdbm-ruby1.8 , libsoap-ruby1.8--virtual , libsoap-ruby1.8 , libstrscan-ruby1.8--virtual , libstrscan-ruby1.8 , libsyslog-ruby1.8--virtual , libsyslog-ruby1.8 , libtest-unit-ruby1.8--virtual , libtest-unit-ruby1.8 , libwebrick-ruby1.8--virtual , libwebrick-ruby1.8 , libxmlrpc-ruby1.8--virtual , libxmlrpc-ruby1.8 , libyaml-ruby1.8--virtual , libyaml-ruby1.8 , libzlib-ruby1.8--virtual , libzlib-ruby1.8
-provides: libbigdecimal-ruby1.8--virtual , libcurses-ruby1.8--virtual , libdl-ruby1.8--virtual , libdrb-ruby1.8--virtual , liberb-ruby1.8--virtual , libiconv-ruby1.8--virtual , libpty-ruby1.8--virtual , libracc-runtime-ruby1.8--virtual , librexml-ruby1.8--virtual , libsdbm-ruby1.8--virtual , libsoap-ruby1.8--virtual , libstrscan-ruby1.8--virtual , libsyslog-ruby1.8--virtual , libtest-unit-ruby1.8--virtual , libwebrick-ruby1.8--virtual , libxmlrpc-ruby1.8--virtual , libyaml-ruby1.8--virtual , libzlib-ruby1.8--virtual
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 6324
-
-package: denyhosts
-version: 1
-depends: lsb-base >= 15 , python , python-central >= 14
-conflicts: denyhosts , denyhosts-common , denyhosts-python2.3 , denyhosts-python2.4
-installed: true
-number: 2.6-6
-source: denyhosts
-sourceversion: 2.6-6
-installedsize: 432
-
-package: libtask-weaken-perl
-version: 1
-depends: perl >= 26
-conflicts: libtask-weaken-perl
-installed: true
-number: 1.03-1
-source: libtask-weaken-perl
-sourceversion: 1.03-1
-installedsize: 64
-
-package: libounit-ocaml-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libounit-ocaml-dev
-installed: true
-number: 1.0.3-3
-source: ounit
-sourceversion: 1.0.3-3
-installedsize: 308
-
-package: mysql-client
-version: 4
-depends: mysql-client-5.1
-conflicts: mysql-client
-installed: true
-number: 5.1.40-1
-source: mysql-dfsg-5.1
-sourceversion: 5.1.40-1
-installedsize: 104
-
-package: libfcgi-perl
-version: 1
-depends: perl >= 40 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15
-conflicts: libfcgi-perl
-installed: true
-number: 0.67-3
-source: libfcgi-perl
-sourceversion: 0.67-3
-installedsize: 136
-
-package: python-apt
-version: 12
-depends: python < 21 , python >= 10 , python-central >= 14 , libapt-inst-libc6.9-6-1.1--virtual | libapt-inst-libc6.9-6-1.1 , libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9 , lsb-release
-conflicts: python-apt , debdelta < 1
-provides: python2.4-apt , python2.5-apt
-installed: true
-number: 0.7.13.3
-source: python-apt
-sourceversion: 0.7.13.3
-installedsize: 2604
-
-package: libbit-vector-perl
-version: 3
-depends: libc6 >= 2 , perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libcarp-clan-perl
-conflicts: libbit-vector-perl
-installed: true
-number: 7.1-1
-source: libbit-vector-perl
-sourceversion: 7.1-1
-installedsize: 552
-
-package: libgcj8-1-awt
-version: 1
-depends: gcj-4.2-base >= 2 , libgcj8-1 = 2 , libatk1.0-0 >= 5 , libc6 >= 15 , libcairo2 >= 4 , libfontconfig1 >= 2 , libfreetype6 >= 6 , libglib2.0-0 >= 13 , libgtk2.0-0 >= 23 , libice6 >= 1 , libpango1.0-0 >= 25 , libsm6 , libx11-6 , libxrandr2 >= 1 , libxrender1 , libxtst6 , zlib1g >= 1
-conflicts: libgcj8-1-awt
-installed: true
-number: 4.2.4-4
-source: gcj-4.2
-sourceversion: 4.2.4-4
-installedsize: 256
-
-package: libx11-6
-version: 3
-depends: libc6 >= 3 , libxcb1 >= 2 , libx11-data
-conflicts: libx11-6 , xlibs-data < 2
-installed: true
-number: 2:1.2.2-1
-source: libx11
-sourceversion: 2:1.2.2-1
-installedsize: 1432
-
-package: libdate-manip-perl
-version: 3
-depends: perl >= 9
-conflicts: libdate-manip-perl
-installed: true
-number: 5.54-1
-source: libdate-manip-perl
-sourceversion: 5.54-1
-installedsize: 492
-
-package: ruby1.8-dev
-version: 1
-depends: libruby1.8 = 13 , libc6-dev
-conflicts: ruby1.8-dev
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 2300
-
-package: libxxf86vm1
-version: 1
-depends: libc6 >= 15 , libx11-6 , libxext6
-conflicts: libxxf86vm1
-installed: true
-number: 1:1.0.2-1
-source: libxxf86vm
-sourceversion: 1:1.0.2-1
-installedsize: 72
-
-package: libgpgme11
-version: 6
-depends: libc6 >= 2 , libgpg-error0 >= 2 , libpth20 , gnupg >= 5
-conflicts: libgpgme11
-installed: true
-number: 1.2.0-1.1
-source: gpgme1.0
-sourceversion: 1.2.0-1.1
-installedsize: 752
-
-package: libmailtools-perl
-version: 7
-depends: perl >= 9 , libnet-perl--virtual | libnet-perl , libtimedate-perl
-conflicts: libmailtools-perl , mailtools <= 1
-provides: libmail-perl , mailtools--virtual
-installed: true
-number: 2.04-1
-source: libmailtools-perl
-sourceversion: 2.04-1
-installedsize: 272
-
-package: libgdbm-dev
-version: 1
-depends: libc6-dev | libc-dev--virtual | libc-dev , libgdbm3 = 2
-conflicts: libgdbm-dev , libgdbm1-dev , libgdbmg1-dev
-installed: true
-number: 1.8.3-8
-source: gdbm
-sourceversion: 1.8.3-8
-installedsize: 128
-
-package: mawk
-version: 2
-depends: libc6 >= 1
-conflicts: mawk
-provides: awk--virtual
-installed: true
-number: 1.3.3-15
-source: mawk
-sourceversion: 1.3.3-15
-installedsize: 244
-
-package: dpkg-dev
-version: 19
-depends: dpkg >= 24 , perl5--virtual | perl5 , perl-modules , bzip2 , lzma , xz-utils , patch >= 1 , make , binutils , libtimedate-perl , base-files >= 11
-conflicts: dpkg-dev , devscripts < 2 , dpkg-cross < 2
-installed: true
-number: 1.15.5.2
-source: dpkg
-sourceversion: 1.15.5.2
-installedsize: 2056
-
-package: libsys-hostname-long-perl
-version: 1
-depends: perl >= 9
-conflicts: libsys-hostname-long-perl
-installed: true
-number: 1.4-2
-source: libsys-hostname-long-perl
-sourceversion: 1.4-2
-installedsize: 84
-
-package: lsof
-version: 2
-depends: libc6 >= 15
-conflicts: lsof , suidmanager < 1
-installed: true
-number: 4.81.dfsg.1-1
-source: lsof
-sourceversion: 4.81.dfsg.1-1
-installedsize: 444
-
-package: libgstreamer0.10-0
-version: 24
-depends: libc6 >= 19 , libglib2.0-0 >= 13 , libxml2 >= 17
-conflicts: libgstreamer0.10-0 , libgstreamer-plugins-base0.10-0 < 4
-installed: true
-number: 0.10.25-3
-source: gstreamer0.10
-sourceversion: 0.10.25-3
-installedsize: 3188
-
-package: texlive-generic-extra
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-generic-extra
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 4156
-
-package: x-ttcidfont-conf
-version: 4
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , defoma >= 3 , xfonts-utils
-conflicts: x-ttcidfont-conf , psfontmgr <= 1
-installed: true
-number: 32
-source: x-ttcidfont-conf
-sourceversion: 32
-installedsize: 156
-
-package: libamd2.2.0
-version: 2
-depends: libc6 >= 1
-conflicts: libamd2.2.0
-installed: true
-number: 1:3.4.0-1
-source: suitesparse
-sourceversion: 1:3.4.0-1
-installedsize: 108
-
-package: libmldbm-perl
-version: 2
-depends: perl
-conflicts: libmldbm-perl
-installed: true
-number: 2.01-3
-source: libmldbm-perl
-sourceversion: 2.01-3
-installedsize: 92
-
-package: libconfig-file-perl
-version: 1
-depends: perl >= 9
-conflicts: libconfig-file-perl , libconfigfile-perl--virtual , libconfigfile-perl
-provides: libconfigfile-perl--virtual
-installed: true
-number: 1.50-2
-source: libconfig-file-perl
-sourceversion: 1.50-2
-installedsize: 64
-
-package: ntp
-version: 2
-depends: adduser , lsb-base >= 20 , netbase , libc6 >= 5 , libcap2 >= 1 , libedit2 >= 1 , libncurses5 >= 3 , libssl0.9.8 >= 6
-conflicts: ntp
-installed: true
-number: 1:4.2.4p6+dfsg-2
-source: ntp
-sourceversion: 1:4.2.4p6+dfsg-2
-installedsize: 1156
-
-package: python-pam
-version: 1
-depends: libc6 >= 7 , libpam0g >= 1
-conflicts: python-pam , python2.3-pam , python2.4-pam
-installed: true
-number: 0.4.2-12
-source: python-pam
-sourceversion: 0.4.2-12
-installedsize: 124
-
-package: vim-gtk
-version: 3
-depends: vim-gui-common = 2 , vim-common = 4 , vim-runtime = 3 , libacl1 >= 1 , libc6 >= 8 , libglib2.0-0 >= 3 , libgpm2 >= 1 , libgtk2.0-0 >= 45 , libice6 >= 1 , libncurses5 >= 3 , libpango1.0-0 >= 7 , libperl5.10 >= 2 , libruby1.8 >= 12 , libselinux1 >= 2 , libsm6 , libx11-6 , libxt6 , python2.5 >= 1 , tcl8.4 >= 4
-conflicts: vim-gtk
-provides: editor--virtual , gvim--virtual , vim--virtual , vim-perl , vim-python--virtual , vim-ruby , vim-tcl
-installed: true
-number: 2:7.2.284-1
-source: vim
-sourceversion: 2:7.2.284-1
-installedsize: 2272
-
-package: libgstreamer-plugins-base0.10-0
-version: 16
-depends: libc6 >= 14 , libglib2.0-0 >= 22 , libgstreamer0.10-0 >= 20
-conflicts: libgstreamer-plugins-base0.10-0 , gstreamer0.10-pulseaudio < 2 , totem-gstreamer <= 1
-installed: true
-number: 0.10.25-6
-source: gst-plugins-base0.10
-sourceversion: 0.10.25-6
-installedsize: 1628
-
-package: liburi-perl
-version: 10
-depends: perl >= 9 , libmime-base64-perl--virtual | libmime-base64-perl , libnet-perl--virtual | libnet-perl , data-dumper--virtual | data-dumper
-conflicts: liburi-perl , libwww-perl < 7
-installed: true
-number: 1.37+dfsg-1
-source: liburi-perl
-sourceversion: 1.37+dfsg-1
-installedsize: 372
-
-package: libxau6
-version: 1
-depends: libc6 >= 1
-conflicts: libxau6
-installed: true
-number: 1:1.0.5-1
-source: libxau
-sourceversion: 1:1.0.5-1
-installedsize: 68
-
-package: sed
-version: 12
-depends: libc6 >= 2 , libselinux1 >= 2 , dpkg >= 24 | install-info
-conflicts: sed
-installed: true
-number: 4.2.1-4
-source: sed
-sourceversion: 4.2.1-4
-installedsize: 968
-
-package: liblocale-gettext-perl
-version: 2
-depends: perl-base >= 15 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 1
-conflicts: liblocale-gettext-perl
-installed: true
-number: 1.05-6
-source: liblocale-gettext-perl
-sourceversion: 1.05-6
-installedsize: 48
-
-package: texlive-science
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-science
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 2068
-
-package: gcc-doc
-version: 2
-depends: gcc-4.3-doc >= 1
-conflicts: gcc-doc , g++ < 2 , gcc < 3
-installed: true
-number: 5:2
-source: gcc-doc-defaults
-sourceversion: 5:2
-installedsize: 52
-
-package: gcc-4.1-base
-version: 2
-conflicts: gcc-4.1-base
-installed: true
-number: 4.1.2-27
-source: gcc-4.1
-sourceversion: 4.1.2-27
-installedsize: 272
-
-package: graphviz
-version: 5
-depends: libc6 >= 14 , libexpat1 >= 1 , libgd2-noxpm >= 3 | libgd2-xpm >= 3 , libgraphviz4 >= 1 , libx11-6 , libxaw7 , libxmu6 , libxt6
-conflicts: graphviz , gdtclft
-installed: true
-number: 2.20.2-4
-source: graphviz
-sourceversion: 2.20.2-4
-installedsize: 1152
-
-package: libboost-graph1.40-dev
-version: 2
-depends: libboost1.40-dev = 2 , libboost-serialization1.40-dev = 2 , libboost-test1.40-dev = 2
-conflicts: libboost-graph1.40-dev , libboost-graph-dev < 1 , libboost-graph1.35-dev , libboost-graph1.36-dev , libboost-graph1.37-dev , libboost-graph1.38-dev , libboost-graph1.39-dev
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 592
-
-package: libgcrypt11
-version: 4
-depends: libc6 >= 2 , libgpg-error0 >= 2
-conflicts: libgcrypt11
-installed: true
-number: 1.4.4-5
-source: libgcrypt11
-sourceversion: 1.4.4-5
-installedsize: 564
-
-package: bzr
-version: 19
-depends: libc6 >= 1 , zlib1g >= 1 , python < 21 , python >= 10 , python-central >= 14 , python > 16 | python-celementtree
-conflicts: bzr
-installed: true
-number: 2.0.2-1
-source: bzr
-sourceversion: 2.0.2-1
-installedsize: 15212
-
-package: libgcrypt11-dev
-version: 2
-depends: libgcrypt11 = 4 , libc6-dev | libc-dev--virtual | libc-dev , libgpg-error-dev
-conflicts: libgcrypt11-dev , libgcrypt-dev--virtual , libgcrypt-dev
-provides: libgcrypt-dev--virtual
-installed: true
-number: 1.4.4-5
-source: libgcrypt11
-sourceversion: 1.4.4-5
-installedsize: 1104
-
-package: blt
-version: 2
-depends: libc6 >= 2 , libx11-6 , tcl8.5 >= 2 | tcl8.4 >= 4 , tk8.5 >= 2 | tk8.4 >= 5
-conflicts: blt , blt-common--virtual , blt-common , blt4.2 , blt8.0 , blt8.0-unoff
-provides: blt-common--virtual
-installed: true
-number: 2.4z-4.1
-source: blt
-sourceversion: 2.4z-4.1
-installedsize: 4360
-
-package: ssl-cert
-version: 4
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , openssl >= 5 , adduser
-conflicts: ssl-cert
-installed: true
-number: 1.0.25
-source: ssl-cert
-sourceversion: 1.0.25
-installedsize: 112
-
-package: libpam0g
-version: 4
-depends: libc6 >= 2 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: libpam0g
-installed: true
-number: 1.1.0-4
-source: pam
-sourceversion: 1.1.0-4
-installedsize: 248
-
-package: telnet
-version: 2
-depends: netbase , libc6 >= 15 , libgcc1 >= 3 , libncurses5 >= 3 , libstdc++6 >= 3
-conflicts: telnet
-provides: telnet-client
-installed: true
-number: 0.17-36
-source: netkit-telnet
-sourceversion: 0.17-36
-installedsize: 200
-
-package: geoip-database
-version: 2
-conflicts: geoip-database , libgeoip1 < 2
-installed: true
-number: 1.4.6.dfsg-14
-source: geoip
-sourceversion: 1.4.6.dfsg-14
-installedsize: 1320
-
-package: xfsprogs
-version: 3
-depends: libc6 >= 4 , libreadline5 >= 3 , libuuid1 >= 5
-conflicts: xfsprogs , xfsdump < 2
-provides: fsck-backend
-installed: true
-number: 3.0.4
-source: xfsprogs
-sourceversion: 3.0.4
-installedsize: 3036
-
-package: python2.5-dev
-version: 4
-depends: python2.5 = 7
-conflicts: python2.5-dev
-installed: true
-number: 2.5.4-2
-source: python2.5
-sourceversion: 2.5.4-2
-installedsize: 7072
-
-package: libfile-nfslock-perl
-version: 2
-depends: perl >= 9
-conflicts: libfile-nfslock-perl
-installed: true
-number: 1.20-2
-source: libfile-nfslock-perl
-sourceversion: 1.20-2
-installedsize: 96
-
-package: libcurl3
-version: 3
-depends: libc6 >= 14 , libgssapi-krb5-2 >= 2 , libidn11 >= 2 , libldap-2.4-2 >= 1 , libssh2-1 >= 2 , libssl0.9.8 >= 6 , zlib1g >= 1 , ca-certificates
-conflicts: libcurl3 , libcurl4
-installed: true
-number: 7.19.7-1
-source: curl
-sourceversion: 7.19.7-1
-installedsize: 480
-
-package: libperl5.10
-version: 3
-depends: libc6 >= 8 , perl-base = 17
-conflicts: libperl5.10
-installed: true
-number: 5.10.1-7
-source: perl
-sourceversion: 5.10.1-7
-installedsize: 12
-
-package: libutempter0
-version: 1
-depends: libc6 >= 1 , adduser
-conflicts: libutempter0
-installed: true
-number: 1.1.5-2
-source: libutempter
-sourceversion: 1.1.5-2
-installedsize: 80
-
-package: automake
-version: 5
-depends: autoconf >= 5 , autotools-dev >= 2 , dpkg >= 24 | install-info
-conflicts: automake , automake < 2 , automake1.10-doc , automake1.5 < 1 , automake1.6 < 1
-provides: automake1.11 , automaken--virtual
-installed: true
-number: 1:1.11-1
-source: automake1.11
-sourceversion: 1:1.11-1
-installedsize: 1840
-
-package: lsb-release
-version: 1
-depends: python < 21 , python >= 16 , python-support >= 9
-conflicts: lsb-release
-installed: true
-number: 3.2-23
-source: lsb
-sourceversion: 3.2-23
-installedsize: 108
-
-package: cowbuilder
-version: 2
-depends: libc6 >= 14 , pbuilder , cowdancer
-conflicts: cowbuilder
-installed: true
-number: 0.58
-source: cowdancer
-sourceversion: 0.58
-installedsize: 108
-
-package: libgd-gd2-noxpm-perl
-version: 1
-depends: libc6 >= 15 , libfreetype6 >= 6 , libgd2-noxpm >= 3 | libgd2-xpm >= 3 , libjpeg62 , libpng12-0 >= 3 , zlib1g >= 1 , perl >= 36 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libgd-gd2-noxpm-perl , libgd-gd1-noxpm-perl , libgd-gd1-perl , libgd-gd2-xpm-perl , libgd-noxpm-perl , libgd-perl
-installed: true
-number: 1:2.39-2
-source: libgd-gd2-noxpm-perl
-sourceversion: 1:2.39-2
-installedsize: 636
-
-package: php5-cli
-version: 2
-depends: libbz2-1.0 , libc6 >= 2 , libcomerr2 >= 1 , libdb4.7 , libgssapi-krb5-2 >= 1 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libncurses5 >= 3 , libpcre3 >= 5 , libssl0.9.8 >= 6 , libxml2 >= 17 , zlib1g >= 1 , mime-support , php5-common = 1 , libmagic1 , ucf , tzdata
-conflicts: php5-cli
-provides: phpapi-20060613--virtual
-installed: true
-number: 5.2.11.dfsg.1-1
-source: php5
-sourceversion: 5.2.11.dfsg.1-1
-installedsize: 5640
-
-package: python-dev
-version: 4
-depends: python = 20 , python2.5-dev >= 2
-conflicts: python-dev
-installed: true
-number: 2.5.4-2
-source: python-defaults
-sourceversion: 2.5.4-2
-installedsize: 24
-
-package: libfontconfig1
-version: 3
-depends: libc6 >= 1 , libexpat1 >= 1 , libfreetype6 >= 5 , zlib1g >= 1 , fontconfig-config = 1
-conflicts: libfontconfig1
-installed: true
-number: 2.6.0-4
-source: fontconfig
-sourceversion: 2.6.0-4
-installedsize: 392
-
-package: apt-xapian-index
-version: 3
-depends: python , python-xapian >= 1 , python-apt >= 10 , python-debian >= 2
-conflicts: apt-xapian-index
-installed: true
-number: 0.22
-source: apt-xapian-index
-sourceversion: 0.22
-installedsize: 208
-
-package: libreadline5
-version: 4
-depends: readline-common , libc6 >= 2 , libncurses5 >= 3
-conflicts: libreadline5
-installed: true
-number: 5.2-7
-source: readline5
-sourceversion: 5.2-7
-installedsize: 388
-
-package: libdrm-intel1
-version: 4
-depends: libc6 >= 1 , libdrm2 >= 2
-conflicts: libdrm-intel1
-installed: true
-number: 2.4.14-1
-source: libdrm
-sourceversion: 2.4.14-1
-installedsize: 456
-
-package: fontconfig
-version: 4
-depends: libc6 >= 1 , libfontconfig1 >= 2 , fontconfig-config
-conflicts: fontconfig
-installed: true
-number: 2.6.0-4
-source: fontconfig
-sourceversion: 2.6.0-4
-installedsize: 460
-
-package: readline-common
-version: 1
-depends: dpkg >= 24 | install-info
-conflicts: readline-common , libreadline-common , libreadline5 < 1
-installed: true
-number: 6.0-5
-source: readline6
-sourceversion: 6.0-5
-installedsize: 132
-
-package: python-matplotlib-data
-version: 2
-depends: ttf-lyx
-conflicts: python-matplotlib-data
-installed: true
-number: 0.99.1.2-1
-source: matplotlib
-sourceversion: 0.99.1.2-1
-installedsize: 3204
-
-package: libboost-dev
-version: 3
-depends: libboost1.40-dev
-conflicts: libboost-dev
-installed: true
-number: 1.40.0.1
-source: boost-defaults
-sourceversion: 1.40.0.1
-installedsize: 32
-
-package: libqt4-script
-version: 5
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-dbus = 5 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-script
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 1416
-
-package: libxfixes3
-version: 2
-depends: x11-common >= 4 , libc6 >= 9 , libx11-6
-conflicts: libxfixes3
-installed: true
-number: 1:4.0.3-2
-source: libxfixes
-sourceversion: 1:4.0.3-2
-installedsize: 72
-
-package: ocsigen-dev
-version: 3
-depends: ocsigen >= 5 , libocsigen-ocaml-doc >= 1 , libocsigen-ocaml-dev >= 1 , ocaml-findlib
-conflicts: ocsigen-dev
-installed: true
-number: 1.2.2-1
-source: ocsigen
-sourceversion: 1.2.2-1
-installedsize: 40
-
-package: openbsd-inetd
-version: 2
-depends: libc6 >= 2 , libwrap0 >= 1 , lsb-base >= 20 , update-inetd , tcpd
-conflicts: openbsd-inetd , netkit-inetd--virtual , netkit-inetd
-provides: inet-superserver--virtual , netkit-inetd--virtual
-installed: true
-number: 0.20080125-3
-source: openbsd-inetd
-sourceversion: 0.20080125-3
-installedsize: 132
-
-package: librarian0
-version: 2
-depends: libc6 >= 2 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: librarian0 , yelp < 2
-installed: true
-number: 0.8.1-4
-source: rarian
-sourceversion: 0.8.1-4
-installedsize: 164
-
-package: libxdmcp6
-version: 1
-depends: libc6 >= 15
-conflicts: libxdmcp6
-installed: true
-number: 1:1.0.2-3
-source: libxdmcp
-sourceversion: 1:1.0.2-3
-installedsize: 76
-
-package: libclass-inspector-perl
-version: 4
-depends: perl >= 9
-conflicts: libclass-inspector-perl
-installed: true
-number: 1.24-1
-source: libclass-inspector-perl
-sourceversion: 1.24-1
-installedsize: 92
-
-package: libcompress-bzip2-perl
-version: 1
-depends: perl >= 42 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libbz2-1.0 , libc6 >= 15
-conflicts: libcompress-bzip2-perl
-installed: true
-number: 2.09-2
-source: libcompress-bzip2-perl
-sourceversion: 2.09-2
-installedsize: 212
-
-package: libgraphviz-perl
-version: 1
-depends: perl , libipc-run-perl , libxml-twig-perl , graphviz , libparse-recdescent-perl
-conflicts: libgraphviz-perl
-installed: true
-number: 2.04-1
-source: libgraphviz-perl
-sourceversion: 2.04-1
-installedsize: 364
-
-package: libattr1
-version: 4
-depends: libc6 >= 1
-conflicts: libattr1 , attr < 1
-installed: true
-number: 1:2.4.44-1
-source: attr
-sourceversion: 1:2.4.44-1
-installedsize: 40
-
-package: libres-ocaml-dev
-version: 2
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libres-ocaml-dev
-provides: libres-ocaml-dev-sbxy3--virtual
-installed: true
-number: 3.2.0-2
-source: ocaml-res
-sourceversion: 3.2.0-2
-installedsize: 1556
-
-package: libneon26-gnutls
-version: 4
-depends: libc6 >= 2 , libcomerr2 >= 1 , libgnutls26 >= 4 , libgssapi-krb5-2 >= 2 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libxml2 >= 17 , zlib1g >= 1
-conflicts: libneon26-gnutls
-installed: true
-number: 0.26.4-3
-source: neon26
-sourceversion: 0.26.4-3
-installedsize: 204
-
-package: libpcre3
-version: 6
-depends: libc6 >= 2
-conflicts: libpcre3 , libpcre3-dev <= 1
-installed: true
-number: 7.8-3
-source: pcre3
-sourceversion: 7.8-3
-installedsize: 456
-
-package: gnupg-curl
-version: 1
-depends: libc6 >= 1 , libcurl3-gnutls >= 1 , libldap-2.4-2 >= 1 , gnupg
-conflicts: gnupg-curl
-installed: true
-number: 1.4.10-2
-source: gnupg
-sourceversion: 1.4.10-2
-installedsize: 152
-
-package: libdaemon0
-version: 3
-depends: libc6 >= 1
-conflicts: libdaemon0
-installed: true
-number: 0.14-1
-source: libdaemon
-sourceversion: 0.14-1
-installedsize: 80
-
-package: at
-version: 1
-depends: libc6 >= 2 , libpam0g >= 2 , lsb-base >= 11
-conflicts: at
-installed: true
-number: 3.1.11-1
-source: at
-sourceversion: 3.1.11-1
-installedsize: 220
-
-package: python-pkg-resources
-version: 7
-depends: python >= 10 , python < 22 , python-central >= 14
-conflicts: python-pkg-resources , python-setuptools < 3 , python2.3-setuptools < 1 , python2.4-setuptools < 1
-provides: python2.4-setuptools--virtual , python2.5-setuptools , python2.6-setuptools
-installed: true
-number: 0.6.8-1
-source: distribute
-sourceversion: 0.6.8-1
-installedsize: 220
-
-package: libdirectfb-1.2-0
-version: 1
-depends: libc6 >= 4 , libsysfs2 , libts-0.0-0 >= 1
-conflicts: libdirectfb-1.2-0
-installed: true
-number: 1.2.8-5
-source: directfb
-sourceversion: 1.2.8-5
-installedsize: 2404
-
-package: libbeecrypt-dev
-version: 1
-depends: libbeecrypt7 >= 1
-conflicts: libbeecrypt-dev , beecrypt-dev--virtual , beecrypt-dev , beecrypt2-dev--virtual , beecrypt2-dev , libbeecrypt6-dev--virtual , libbeecrypt6-dev
-provides: beecrypt-dev--virtual , beecrypt2-dev--virtual , libbeecrypt6-dev--virtual
-installed: true
-number: 4.2.1-1
-source: beecrypt
-sourceversion: 4.2.1-1
-installedsize: 696
-
-package: libsepol1
-version: 11
-depends: libc6 >= 2
-conflicts: libsepol1
-installed: true
-number: 2.0.40-2
-source: libsepol
-sourceversion: 2.0.40-2
-installedsize: 324
-
-package: ifupdown
-version: 6
-depends: net-tools , libc6 >= 2 , lsb-base
-conflicts: ifupdown , dhcp-client < 2
-installed: true
-number: 0.6.9
-source: ifupdown
-sourceversion: 0.6.9
-installedsize: 148
-
-package: libqt4-xmlpatterns
-version: 4
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-network = 7 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-xmlpatterns
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 3244
-
-package: reportbug
-version: 2
-depends: python >= 16 , apt , python-reportbug = 1
-conflicts: reportbug , python-central < 7 , python-urwid < 2
-installed: true
-number: 4.8
-source: reportbug
-sourceversion: 4.8
-installedsize: 256
-
-package: libmysql-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1 , libmysqlclient16 >= 1 , zlib1g >= 1
-conflicts: libmysql-ocaml
-provides: libmysql-ocaml-i0950--virtual
-installed: true
-number: 1.0.4-7
-source: mysql-ocaml
-sourceversion: 1.0.4-7
-installedsize: 68
-
-package: emacsen-common
-version: 3
-depends: bsdmainutils
-conflicts: emacsen-common
-installed: true
-number: 1.4.19
-source: emacsen-common
-sourceversion: 1.4.19
-installedsize: 152
-
-package: libnet-daemon-perl
-version: 1
-depends: perl >= 9
-conflicts: libnet-daemon-perl
-installed: true
-number: 0.43-1
-source: libnet-daemon-perl
-sourceversion: 0.43-1
-installedsize: 104
-
-package: libpthread-stubs0-dev
-version: 2
-depends: libpthread-stubs0 = 2
-conflicts: libpthread-stubs0-dev
-installed: true
-number: 0.3-2
-source: libpthread-stubs
-sourceversion: 0.3-2
-installedsize: 44
-
-package: libfile-sharedir-perl
-version: 4
-depends: perl >= 9 , libparams-util-perl , libclass-inspector-perl , libfile-spec-perl
-conflicts: libfile-sharedir-perl
-installed: true
-number: 1.00-0.1
-source: libfile-sharedir-perl
-sourceversion: 1.00-0.1
-installedsize: 116
-
-package: libssl-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1 , libssl0.9.8 >= 6
-conflicts: libssl-ocaml
-provides: libssl-ocaml-m8hz4--virtual
-installed: true
-number: 0.4.3-3
-source: ocaml-ssl
-sourceversion: 0.4.3-3
-installedsize: 100
-
-package: darcs
-version: 4
-depends: libc6 >= 5 , libcurl3-gnutls >= 1 , libffi5 >= 1 , libgmp3c2 , libncurses5 >= 3 , zlib1g >= 1
-conflicts: darcs
-installed: true
-number: 2.3.0-3
-source: darcs
-sourceversion: 2.3.0-3
-installedsize: 8120
-
-package: pdfjam
-version: 1
-depends: tetex-extra | texlive-latex-recommended , tetex-extra | texlive-fonts-recommended
-conflicts: pdfjam
-installed: true
-number: 1.20-2
-source: pdfjam
-sourceversion: 1.20-2
-installedsize: 112
-
-package: libkdb5-4
-version: 4
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssrpc4 >= 2 , libk5crypto3 >= 3 , libkeyutils1 , libkrb5-3 >= 3 , libkrb5support0 >= 1
-conflicts: libkdb5-4
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 132
-
-package: python-all
-version: 1
-depends: python = 20 , python2.4 >= 3 , python2.5 >= 6
-conflicts: python-all
-installed: true
-number: 2.5.4-2
-source: python-defaults
-sourceversion: 2.5.4-2
-installedsize: 20
-
-package: libqt4-test
-version: 4
-depends: libc6 >= 1 , libgcc1 >= 3 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-test
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 204
-
-package: camlp4-extra
-version: 1
-depends: libc6 >= 14 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , camlp4-3.11.1--virtual | camlp4-3.11.1
-conflicts: camlp4-extra
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 18968
-
-package: libcairo2
-version: 22
-depends: libc6 >= 5 , libdirectfb-1.2-0 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libpixman-1-0 >= 1 , libpng12-0 >= 3 , libx11-6 , libxcb-render-util0 >= 3 , libxcb-render0 , libxcb1 , libxrender1 , zlib1g >= 1
-conflicts: libcairo2 , libcairo1
-provides: libcairo
-installed: true
-number: 1.8.8-2
-source: cairo
-sourceversion: 1.8.8-2
-installedsize: 872
-
-package: libstdc++6-4.3-dev
-version: 2
-depends: gcc-4.3-base = 3 , g++-4.3 = 4 , libstdc++6 >= 14 , libc6-dev >= 1
-conflicts: libstdc++6-4.3-dev , libg++2.8-dev , libg++27-dev , libg++272-dev < 1 , libstdc++2.10-dev < 1 , libstdc++2.8-dev , libstdc++2.9-dev , libstdc++2.9-glibc2.1-dev , libstdc++3.0-dev
-provides: libstdc++-dev--virtual
-installed: true
-number: 4.3.4-6
-source: gcc-4.3
-sourceversion: 4.3.4-6
-installedsize: 10332
-
-package: libcarp-clan-perl
-version: 3
-depends: perl
-conflicts: libcarp-clan-perl
-installed: true
-number: 6.02-1
-source: libcarp-clan-perl
-sourceversion: 6.02-1
-installedsize: 72
-
-package: mime-support
-version: 1
-conflicts: mime-support , a2ps < 1 , metamail < 1
-installed: true
-number: 3.46-1
-source: mime-support
-sourceversion: 3.46-1
-installedsize: 196
-
-package: libmysqlclient-dev
-version: 2
-depends: libmysqlclient16 >= 3 , zlib1g-dev , libc6 >= 14 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: libmysqlclient-dev , libmysqlclient10-dev , libmysqlclient12-dev , libmysqlclient14-dev , libmysqlclient15-dev--virtual , libmysqlclient15-dev
-provides: libmysqlclient15-dev--virtual
-installed: true
-number: 5.1.40-1
-source: mysql-dfsg-5.1
-sourceversion: 5.1.40-1
-installedsize: 10900
-
-package: curl
-version: 3
-depends: libc6 >= 14 , libcurl3 >= 1 , zlib1g >= 1
-conflicts: curl
-provides: curl-ssl
-installed: true
-number: 7.19.7-1
-source: curl
-sourceversion: 7.19.7-1
-installedsize: 324
-
-package: libkrb5-dev
-version: 1
-depends: libkrb5-3 = 4 , libkadm5srv6 = 2 , comerr-dev , libk5crypto3 = 5 , libgssapi-krb5-2 = 3 , libgssrpc4 = 3
-conflicts: libkrb5-dev , heimdal-dev
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 432
-
-package: gnupg
-version: 7
-depends: libbz2-1.0 , libc6 >= 5 , libreadline6 , libusb-0.1-4 >= 1 , zlib1g >= 1 , dpkg >= 24 | install-info , gpgv
-conflicts: gnupg
-installed: true
-number: 1.4.10-2
-source: gnupg
-sourceversion: 1.4.10-2
-installedsize: 5288
-
-package: libgmp3c2
-version: 2
-depends: libc6 >= 14
-conflicts: libgmp3c2 , libgmp2 < 1 , libgmp3
-installed: true
-number: 2:4.3.1+dfsg-3
-source: gmp
-sourceversion: 2:4.3.1+dfsg-3
-installedsize: 696
-
-package: libbz2-ocaml-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , libbz2-ocaml = 1 , ocaml-findlib
-conflicts: libbz2-ocaml-dev
-installed: true
-number: 0.6.0-3+b1
-source: camlbz2
-sourceversion: 0.6.0-3
-installedsize: 104
-
-package: tex-common
-version: 9
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , ucf , debconf >= 25 | cdebconf >= 1 , dpkg >= 19
-conflicts: tex-common , tetex-base < 3
-installed: true
-number: 1.20
-source: tex-common
-sourceversion: 1.20
-installedsize: 1528
-
-package: libneon27
-version: 3
-depends: libc6 >= 2 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 2 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libssl0.9.8 >= 6 , libxml2 >= 17 , zlib1g >= 1
-conflicts: libneon27
-installed: true
-number: 0.29.0-1
-source: neon27
-sourceversion: 0.29.0-1
-installedsize: 292
-
-package: libatk1.0-data
-version: 3
-depends: libatk1.0-0 >= 6
-conflicts: libatk1.0-data
-installed: true
-number: 1.28.0-1
-source: atk1.0
-sourceversion: 1.28.0-1
-installedsize: 1724
-
-package: wwwconfig-common
-version: 6
-conflicts: wwwconfig-common
-installed: true
-number: 0.2.1
-source: wwwconfig-common
-sourceversion: 0.2.1
-installedsize: 192
-
-package: equivs
-version: 1
-depends: debhelper >= 5 , devscripts , dpkg-dev , fakeroot , make , perl
-conflicts: equivs
-installed: true
-number: 2.0.7-0.1
-source: equivs
-sourceversion: 2.0.7-0.1
-installedsize: 136
-
-package: texlive-lang-polish
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-lang-polish , ptex-bin
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 10076
-
-package: libdbus-1-3
-version: 6
-depends: libc6 >= 4
-conflicts: libdbus-1-3 , dbus < 3
-installed: true
-number: 1.2.16-2
-source: dbus
-sourceversion: 1.2.16-2
-installedsize: 348
-
-package: munin-node
-version: 1
-depends: perl , libnet-server-perl , procps , adduser , lsb-base >= 18 , gawk
-conflicts: munin-node
-installed: true
-number: 1.2.6-17
-source: munin
-sourceversion: 1.2.6-17
-installedsize: 1396
-
-package: libfreetype6
-version: 8
-depends: libc6 >= 1 , zlib1g >= 1
-conflicts: libfreetype6 , freetype , xpdf-reader < 1
-installed: true
-number: 2.3.11-1
-source: freetype
-sourceversion: 2.3.11-1
-installedsize: 796
-
-package: texlive-fonts-extra
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-fonts-extra
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 112704
-
-package: libxfont1
-version: 2
-depends: libc6 >= 2 , libfontenc1 , libfreetype6 >= 5 , zlib1g >= 1
-conflicts: libxfont1 , xprint < 3
-installed: true
-number: 1:1.4.0-3
-source: libxfont
-sourceversion: 1:1.4.0-3
-installedsize: 324
-
-package: ps2eps
-version: 1
-depends: libc6 >= 1 , ghostscript , perl
-conflicts: ps2eps
-installed: true
-number: 1.64-6
-source: ps2eps
-sourceversion: 1.64-6
-installedsize: 116
-
-package: libx11-data
-version: 1
-conflicts: libx11-data
-installed: true
-number: 2:1.2.2-1
-source: libx11
-sourceversion: 2:1.2.2-1
-installedsize: 2484
-
-package: mysql-client-5.1
-version: 2
-depends: debianutils >= 1 , libdbi-perl , libdbd-mysql-perl >= 3 , mysql-common >= 3 , libmysqlclient16 >= 3 , perl , libc6 >= 8 , libgcc1 >= 3 , libncurses5 >= 3 , libstdc++6 >= 3 , libwrap0 >= 1 , zlib1g >= 1
-conflicts: mysql-client-5.1 , mysql-client < 4 , mysql-client-5.0
-provides: mysql-client--virtual , mysql-client-4.1 , virtual-mysql-client--virtual
-installed: true
-number: 5.1.40-1
-source: mysql-dfsg-5.1
-sourceversion: 5.1.40-1
-installedsize: 22960
-
-package: libyaml-syck-perl
-version: 5
-depends: libc6 >= 2 , perl >= 43 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libyaml-syck-perl
-installed: true
-number: 1.07-1
-source: libyaml-syck-perl
-sourceversion: 1.07-1
-installedsize: 260
-
-package: tcl8.4
-version: 6
-depends: libc6 >= 3
-conflicts: tcl8.4 , tcl74 <= 1
-provides: tclsh--virtual
-installed: true
-number: 8.4.19-4
-source: tcl8.4
-sourceversion: 8.4.19-4
-installedsize: 3332
-
-package: libsasl2-2
-version: 2
-depends: libc6 >= 2 , libdb4.7
-conflicts: libsasl2-2 , libsasl2-gssapi-mit < 1 , libsasl2-krb4-mit < 1 , postfix < 4
-installed: true
-number: 2.1.23.dfsg1-3
-source: cyrus-sasl2
-sourceversion: 2.1.23.dfsg1-3
-installedsize: 276
-
-package: libgcj8-1
-version: 2
-depends: gcj-4.2-base >= 2 , libgcj-common >= 4 , libasound2 > 5 , libc6 >= 15 , libgcc1 >= 3 , zlib1g >= 1
-conflicts: libgcj8-1 , libgcj8
-installed: true
-number: 4.2.4-4
-source: gcj-4.2
-sourceversion: 4.2.4-4
-installedsize: 49256
-
-package: debmirror
-version: 1
-depends: libnet-perl--virtual | libnet-perl , libdigest-md5-perl--virtual | libdigest-md5-perl , libdigest-sha1-perl , liblockfile-simple-perl , rsync , libcompress-zlib-perl--virtual | libcompress-zlib-perl , bzip2 , libwww-perl
-conflicts: debmirror
-installed: true
-number: 1:2.3.1
-source: debmirror
-sourceversion: 1:2.3.1
-installedsize: 160
-
-package: libcrypt-ssleay-perl
-version: 2
-depends: libc6 >= 1 , libssl0.9.8 >= 6 , perl >= 46 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libmime-base64-perl--virtual | libmime-base64-perl , liburi-perl
-conflicts: libcrypt-ssleay-perl
-installed: true
-number: 0.57-2
-source: crypt-ssleay
-sourceversion: 0.57-2
-installedsize: 204
-
-package: debian-builder
-version: 1
-depends: build-essential , devscripts , dpkg-dev , perl , perl-modules
-conflicts: debian-builder
-installed: true
-number: 1.8
-source: debian-builder
-sourceversion: 1.8
-installedsize: 64
-
-package: python-pexpect
-version: 1
-depends: python , python-central >= 12
-conflicts: python-pexpect , python2.3-pexpect , python2.4-pexpect--virtual , python2.4-pexpect
-provides: python2.4-pexpect--virtual , python2.5-pexpect
-installed: true
-number: 2.3-1
-source: pexpect
-sourceversion: 2.3-1
-installedsize: 680
-
-package: defoma
-version: 9
-depends: whiptail | dialog , file , perl
-conflicts: defoma , defoma-gs , defoma-ps , defoma-x , dfontmgr < 1 , psfontmgr < 2 , x-ttcidfont-conf < 1
-installed: true
-number: 0.11.10-2
-source: defoma
-sourceversion: 0.11.10-2
-installedsize: 564
-
-package: texlive-pstricks-doc
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1
-conflicts: texlive-pstricks-doc
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 32640
-
-package: libio-pty-perl
-version: 3
-depends: libc6 >= 1 , perl >= 45 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libio-pty-perl
-provides: libio-tty-perl
-installed: true
-number: 1:1.07-2
-source: libio-pty-perl
-sourceversion: 1:1.07-2
-installedsize: 164
-
-package: libxxf86dga1
-version: 1
-depends: libc6 >= 13 , libx11-6 , libxext6 , x11-common
-conflicts: libxxf86dga1
-installed: true
-number: 2:1.0.2-1
-source: libxxf86dga
-sourceversion: 2:1.0.2-1
-installedsize: 76
-
-package: libreadonly-xs-perl
-version: 1
-depends: perl >= 33 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15
-conflicts: libreadonly-xs-perl
-installed: true
-number: 1.04-2+b1
-source: libreadonly-xs-perl
-sourceversion: 1.04-2
-installedsize: 92
-
-package: dash
-version: 3
-depends: libc6 >= 2 , debianutils >= 17 , dpkg >= 23
-conflicts: dash
-installed: true
-number: 0.5.5.1-3
-source: dash
-sourceversion: 0.5.5.1-3
-installedsize: 236
-
-package: libxmuu1
-version: 1
-depends: libc6 >= 1 , libx11-6
-conflicts: libxmuu1
-installed: true
-number: 2:1.0.4-2
-source: libxmu
-sourceversion: 2:1.0.4-2
-installedsize: 68
-
-package: python-lxml
-version: 4
-depends: python < 21 , python >= 10 , python-central >= 14 , libc6 >= 1 , libxml2 >= 17 , libxslt1.1 >= 3 , zlib1g >= 1
-conflicts: python-lxml , python2.3-lxml , python2.4-lxml--virtual , python2.4-lxml
-provides: python2.4-lxml--virtual , python2.5-lxml
-installed: true
-number: 2.2.2-2
-source: lxml
-sourceversion: 2.2.2-2
-installedsize: 3700
-
-package: python-twisted-web
-version: 5
-depends: python , python-central >= 13 , python-twisted-core >= 7
-conflicts: python-twisted-web , python-twisted < 2 , python2.3-twisted-web , python2.4-twisted-web
-installed: true
-number: 8.2.0-2
-source: twisted-web
-sourceversion: 8.2.0-2
-installedsize: 1764
-
-package: liblog4cxx10
-version: 1
-depends: libapr1 , libaprutil1 , libc6 >= 15 , libgcc1 >= 3 , libstdc++6 >= 9 , libuuid1 >= 1
-conflicts: liblog4cxx10
-installed: true
-number: 0.10.0-1
-source: log4cxx
-sourceversion: 0.10.0-1
-installedsize: 2044
-
-package: python-sqlobject
-version: 2
-depends: python , python-central >= 14 , python-pkg-resources >= 3 , python-formencode
-conflicts: python-sqlobject , python2.3-sqlobject , python2.4-sqlobject
-installed: true
-number: 0.11.0-1.1
-source: sqlobject
-sourceversion: 0.11.0-1.1
-installedsize: 1204
-
-package: libqt4-designer
-version: 6
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-script = 5 , libqt4-xml = 7 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3
-conflicts: libqt4-designer , libqt4-gui < 5
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 7404
-
-package: mutt
-version: 1
-depends: libc6 >= 5 , libcomerr2 >= 1 , libgdbm3 , libgnutls26 >= 4 , libgpg-error0 >= 2 , libgpgme11 >= 3 , libgssapi-krb5-2 >= 2 , libidn11 >= 1 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libncursesw5 >= 2 , libsasl2-2
-conflicts: mutt , mutt-utf8
-provides: imap-client , mail-reader--virtual
-installed: true
-number: 1.5.20-4
-source: mutt
-sourceversion: 1.5.20-4
-installedsize: 5532
-
-package: libpcre-ocaml-dev
-version: 1
-depends: libpcre3-dev , ocaml-findlib , libpcre-ocaml-kh2c0--virtual | libpcre-ocaml-kh2c0 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libpcre-ocaml-dev
-provides: libpcre-ocaml-dev-kh2c0--virtual
-installed: true
-number: 6.0.1-2
-source: pcre-ocaml
-sourceversion: 6.0.1-2
-installedsize: 364
-
-package: libisc50
-version: 1
-depends: libc6 >= 8 , libcap2 >= 1 , libxml2 >= 13
-conflicts: libisc50 , libbind0 , libbind9-41
-installed: true
-number: 1:9.6.1.dfsg.P1-3
-source: bind9
-sourceversion: 1:9.6.1.dfsg.P1-3
-installedsize: 404
-
-package: libbz2-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libbz2-1.0 , libc6 >= 1
-conflicts: libbz2-ocaml
-installed: true
-number: 0.6.0-3+b1
-source: camlbz2
-sourceversion: 0.6.0-3
-installedsize: 68
-
-package: libcore-ocaml-doc
-version: 1
-conflicts: libcore-ocaml-doc
-installed: true
-number: 0.6.0-1
-source: janest-core
-sourceversion: 0.6.0-1
-installedsize: 9624
-
-package: texlive-latex-base
-version: 3
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-latex-base , ivritex <= 1
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 8020
-
-package: libfindlib-ocaml
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1
-conflicts: libfindlib-ocaml , ocaml-findlib < 2
-provides: libfindlib-ocaml-dfzt4--virtual
-installed: true
-number: 1.2.5+debian-1
-source: findlib
-sourceversion: 1.2.5+debian-1
-installedsize: 316
-
-package: debian-archive-keyring
-version: 1
-depends: gnupg
-conflicts: debian-archive-keyring
-installed: true
-number: 2009.01.31
-source: debian-archive-keyring
-sourceversion: 2009.01.31
-installedsize: 60
-
-package: libgpg-error0
-version: 2
-depends: libc6 >= 1
-conflicts: libgpg-error0
-installed: true
-number: 1.6-1
-source: libgpg-error
-sourceversion: 1.6-1
-installedsize: 232
-
-package: util-linux
-version: 9
-depends: libblkid1 >= 4 , libc6 >= 8 , libncurses5 >= 3 , libselinux1 >= 2 , libslang2 >= 4 , libuuid1 >= 5 , zlib1g >= 1 , lsb-base >= 9 , tzdata >= 1 , initscripts , dpkg >= 24 | install-info
-conflicts: util-linux , console-tools < 1 , fdisk , kbd < 3 , linux32--virtual , linux32 , schedutils--virtual , schedutils , setterm
-provides: linux32--virtual , schedutils--virtual
-installed: true
-number: 2.16.1-4
-source: util-linux
-sourceversion: 2.16.1-4
-installedsize: 1968
-
-package: dh-make
-version: 1
-depends: debhelper >= 13 , make , perl , dpkg-dev
-conflicts: dh-make , ldap-utils < 1
-installed: true
-number: 0.50
-source: dh-make
-sourceversion: 0.50
-installedsize: 416
-
-package: libcore-ocaml-dev
-version: 2
-depends: ocaml-findlib , libbin-prot-camlp4-dev-s7a61--virtual | libbin-prot-camlp4-dev-s7a61 , libcore-ocaml-xsa16--virtual | libcore-ocaml-xsa16 , libfields-camlp4-dev-ziol5--virtual | libfields-camlp4-dev-ziol5 , libres-ocaml-dev-sbxy3--virtual | libres-ocaml-dev-sbxy3 , libsexplib-camlp4-dev-kovh0--virtual | libsexplib-camlp4-dev-kovh0 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libcore-ocaml-dev
-provides: libcore-ocaml-dev-xsa16--virtual
-installed: true
-number: 0.6.0-1
-source: janest-core
-sourceversion: 0.6.0-1
-installedsize: 6416
-
-package: libxext6
-version: 1
-depends: libc6 >= 15 , libx11-6 , libxau6 , x11-common
-conflicts: libxext6
-installed: true
-number: 2:1.0.4-1
-source: libxext
-sourceversion: 2:1.0.4-1
-installedsize: 140
-
-package: libgecode-dev
-version: 2
-depends: libgecode19 = 1 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9 , libqt4-dev , libboost-dev
-conflicts: libgecode-dev
-installed: true
-number: 3.2.1-1
-source: gecode
-sourceversion: 3.2.1-1
-installedsize: 40324
-
-package: darcs-load-dirs
-version: 2
-depends: load-dirs-common = 1 , darcs , python
-conflicts: darcs-load-dirs
-installed: true
-number: 1.1.7
-source: vcs-load-dirs
-sourceversion: 1.1.7
-installedsize: 16
-
-package: texlive-lang-spanish
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-spanish
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 228
-
-package: gcc-4.3-base
-version: 3
-conflicts: gcc-4.3-base
-installed: true
-number: 4.3.4-6
-source: gcc-4.3
-sourceversion: 4.3.4-6
-installedsize: 120
-
-package: vim-scripts
-version: 1
-conflicts: vim-scripts
-installed: true
-number: 20091011
-source: vim-scripts
-sourceversion: 20091011
-installedsize: 4092
-
-package: libexpat-ocaml
-version: 2
-depends: libc6 >= 1 , libexpat1 >= 1
-conflicts: libexpat-ocaml
-provides: libexpat-ocaml-c8y98--virtual
-installed: true
-number: 0.9.1+debian1-6
-source: ocaml-expat
-sourceversion: 0.9.1+debian1-6
-installedsize: 72
-
-package: libkrb5support0
-version: 2
-depends: libc6 >= 8 , libkeyutils1
-conflicts: libkrb5support0
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 92
-
-package: gawk
-version: 1
-depends: libc6 >= 2
-conflicts: gawk
-provides: awk--virtual
-installed: true
-number: 1:3.1.6.dfsg-4
-source: gawk
-sourceversion: 1:3.1.6.dfsg-4
-installedsize: 2112
-
-package: aptitude
-version: 5
-depends: libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libboost-iostreams1.40.0 >= 1 , libc6 >= 5 , libcwidget3 , libept0 >= 3 , libgcc1 >= 3 , liblog4cxx10 , libncursesw5 >= 2 , libsigc++-2.0-0c2a >= 1 , libsqlite3-0 >= 13 , libstdc++6 >= 9 , libxapian15 , zlib1g >= 1
-conflicts: aptitude
-installed: true
-number: 0.6.0.1-1
-source: aptitude
-sourceversion: 0.6.0.1-1
-installedsize: 11456
-
-package: odbcinst
-version: 2
-depends: libc6 >= 1 , libltdl7 >= 1 , odbcinst1debian1 >= 1
-conflicts: odbcinst , odbcinst1
-installed: true
-number: 2.2.11-21
-source: unixodbc
-sourceversion: 2.2.11-21
-installedsize: 104
-
-package: nscd
-version: 3
-depends: libc6 > 19 , libc6 < 21
-conflicts: nscd
-installed: true
-number: 2.10.1-7
-source: eglibc
-sourceversion: 2.10.1-7
-installedsize: 364
-
-package: libtimedate-perl
-version: 5
-depends: perl
-conflicts: libtimedate-perl , timedate--virtual , timedate
-provides: timedate--virtual
-installed: true
-number: 1.1900-1
-source: timedate
-sourceversion: 1.1900-1
-installedsize: 252
-
-package: libmagickcore2
-version: 3
-depends: libbz2-1.0 , libc6 >= 2 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 3 , libgomp1 >= 1 , libice6 >= 1 , libjasper1 >= 1 , libjpeg62 , liblcms1 >= 2 , liblqr-1-0 >= 1 , libltdl7 >= 1 , libpng12-0 >= 3 , libsm6 , libtiff4 , libx11-6 , libxext6 , libxml2 >= 17 , libxt6 , zlib1g >= 8
-conflicts: libmagickcore2
-installed: true
-number: 7:6.5.7.8-1
-source: imagemagick
-sourceversion: 7:6.5.7.8-1
-installedsize: 5852
-
-package: nano
-version: 2
-depends: libc6 >= 5 , libncursesw5 >= 2 , dpkg >= 24 | install-info
-conflicts: nano , alpine-pico <= 1 , nano-tiny <= 1 , pico
-provides: editor--virtual
-installed: true
-number: 2.1.99pre1-1
-source: nano
-sourceversion: 2.1.99pre1-1
-installedsize: 1784
-
-package: libalgorithm-diff-perl
-version: 4
-depends: perl >= 9
-conflicts: libalgorithm-diff-perl
-installed: true
-number: 1.19.02-1
-source: libalgorithm-diff-perl
-sourceversion: 1.19.02-1
-installedsize: 164
-
-package: libcgi-formbuilder-perl
-version: 2
-depends: perl
-conflicts: libcgi-formbuilder-perl , libhtml-parser-perl < 1 , libhtml-template-perl < 1 , libtemplate-perl < 4 , libtext-template-perl < 1
-installed: true
-number: 3.05.01-7
-source: libcgi-formbuilder-perl
-sourceversion: 3.05.01-7
-installedsize: 708
-
-package: debian-keyring
-version: 2
-conflicts: debian-keyring , debian-maintainers--virtual , debian-maintainers
-provides: debian-maintainers--virtual
-installed: true
-number: 2009.11.04
-source: debian-keyring
-sourceversion: 2009.11.04
-installedsize: 27494
-
-package: libdb4.7-dev
-version: 2
-depends: libdb4.7 = 1
-conflicts: libdb4.7-dev , libdb1-dev , libdb2-dev , libdb3-dev , libdb4.2-dev , libdb4.3-dev , libdb4.4-dev , libdb4.5-dev , libdb4.6-dev
-installed: true
-number: 4.7.25-8
-source: db4.7
-sourceversion: 4.7.25-8
-installedsize: 2520
-
-package: dctrl-tools
-version: 1
-depends: libc6 >= 15
-conflicts: dctrl-tools , grep-dctrl--virtual , grep-dctrl
-provides: grep-dctrl--virtual
-installed: true
-number: 2.13.1
-source: dctrl-tools
-sourceversion: 2.13.1
-installedsize: 508
-
-package: comerr-dev
-version: 1
-depends: libc6-dev | libc-dev--virtual | libc-dev , libcomerr2 = 5 , dpkg >= 24 | install-info
-conflicts: comerr-dev
-installed: true
-number: 2.1-1.41.9-1
-source: e2fsprogs
-sourceversion: 1.41.9-1
-installedsize: 252
-
-package: libio-stringy-perl
-version: 3
-depends: perl >= 9
-conflicts: libio-stringy-perl
-installed: true
-number: 2.110-4
-source: io-stringy
-sourceversion: 2.110-4
-installedsize: 352
-
-package: texlive-lang-german
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-german
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 1120
-
-package: x11-xserver-utils
-version: 1
-depends: x11-common >= 4 , libc6 >= 2 , libice6 >= 1 , libsm6 , libx11-6 , libxau6 , libxaw7 , libxext6 , libxi6 , libxmu6 , libxmuu1 , libxrandr2 >= 4 , libxrender1 , libxt6 , libxtrap6 , libxxf86misc1 , libxxf86vm1 , cpp
-conflicts: x11-xserver-utils , iceauth , sessreg , xgamma , xhost , xmodmap , xrandr , xrdb , xrefresh , xrgb , xset , xsetmode , xsetpointer , xsetroot , xstdcmap , xtrap , xvidtune
-installed: true
-number: 7.4+2
-source: x11-xserver-utils
-sourceversion: 7.4+2
-installedsize: 648
-
-package: jocaml
-version: 1
-depends: libc6 >= 14 , jocaml-base = 1 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: jocaml
-provides: jocaml-3.11.1
-installed: true
-number: 3.11.1-3
-source: jocaml
-sourceversion: 3.11.1-3
-installedsize: 14332
-
-package: libevent1
-version: 1
-depends: libc6 >= 15
-conflicts: libevent1
-installed: true
-number: 1.3e-3
-source: libevent
-sourceversion: 1.3e-3
-installedsize: 116
-
-package: libxt6
-version: 1
-depends: libc6 >= 3 , libice6 >= 1 , libsm6 , libx11-6
-conflicts: libxt6
-installed: true
-number: 1:1.0.6-1
-source: libxt
-sourceversion: 1:1.0.6-1
-installedsize: 432
-
-package: texlive-doc-base
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1
-conflicts: texlive-doc-base
-installed: true
-number: 2007.dfsg.2-2
-source: texlive-doc
-sourceversion: 2007.dfsg.2-2
-installedsize: 1216
-
-package: tcpd
-version: 1
-depends: libc6 >= 2 , libwrap0 >= 1
-conflicts: tcpd
-installed: true
-number: 7.6.q-18
-source: tcp-wrappers
-sourceversion: 7.6.q-18
-installedsize: 180
-
-package: libssl-dev
-version: 4
-depends: libssl0.9.8 = 9 , zlib1g-dev
-conflicts: libssl-dev , libssl08-dev , libssl09-dev , libssl095a-dev , libssl096-dev , ssleay < 1
-installed: true
-number: 0.9.8k-6
-source: openssl
-sourceversion: 0.9.8k-6
-installedsize: 7116
-
-package: tetex-bin
-version: 6
-depends: texlive >= 2
-conflicts: tetex-bin
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 120
-
-package: initscripts
-version: 6
-depends: libc6 >= 1 , mount >= 1 , debianutils >= 16 , lsb-base >= 9 , sysvinit-utils >= 3 , sysv-rc | file-rc , coreutils >= 11
-conflicts: initscripts , libdevmapper1.02.1 < 3
-installed: true
-number: 2.87dsf-8
-source: sysvinit
-sourceversion: 2.87dsf-8
-installedsize: 388
-
-package: python-magic
-version: 2
-depends: libc6 >= 1 , libmagic1
-conflicts: python-magic
-installed: true
-number: 5.03-3
-source: file
-sourceversion: 5.03-3
-installedsize: 132
-
-package: debhelper
-version: 25
-depends: perl , perl-base >= 11 , file >= 1 , dpkg-dev >= 14 , html2text , binutils , po-debconf , man-db >= 5
-conflicts: debhelper , dpkg-cross < 1 , python-central < 3 , python-support < 5
-installed: true
-number: 7.4.5
-source: debhelper
-sourceversion: 7.4.5
-installedsize: 1360
-
-package: python2.5-minimal
-version: 2
-depends: libc6 >= 2 , zlib1g >= 3
-conflicts: python2.5-minimal , binfmt-support < 1
-installed: true
-number: 2.5.4-2
-source: python2.5
-sourceversion: 2.5.4-2
-installedsize: 4628
-
-package: sun-java5-jre
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , java-common , locales--virtual | locales , sun-java5-bin = 1 | ia32-sun-java5-bin = 1
-conflicts: sun-java5-jre , j2se-common
-provides: java-runtime--virtual , java-runtime-headless--virtual , java-virtual-machine--virtual , java2-runtime--virtual , java2-runtime-headless--virtual , java5-runtime--virtual , java5-runtime-headless--virtual
-installed: true
-number: 1.5.0-20-1
-source: sun-java5
-sourceversion: 1.5.0-20-1
-installedsize: 16144
-
-package: java-common
-version: 6
-conflicts: java-common
-installed: true
-number: 0.33
-source: java-common
-sourceversion: 0.33
-installedsize: 484
-
-package: gcc-4.2
-version: 3
-depends: gcc-4.2-base = 2 , cpp-4.2 = 3 , binutils >= 3 , libgcc1 >= 10 , libc6 >= 15
-conflicts: gcc-4.2
-provides: c-compiler--virtual
-installed: true
-number: 4.2.4-6
-source: gcc-4.2
-sourceversion: 4.2.4-6
-installedsize: 1144
-
-package: libnet-openid-consumer-perl
-version: 2
-depends: perl >= 9 , libwww-perl , libdigest-sha1-perl , liburi-perl , libcrypt-dh-perl >= 1 , libxml-simple-perl
-conflicts: libnet-openid-consumer-perl
-installed: true
-number: 1.03-1
-source: libnet-openid-consumer-perl
-sourceversion: 1.03-1
-installedsize: 212
-
-package: pbuilder
-version: 2
-depends: cdebootstrap | debootstrap , wget , debianutils >= 6 , coreutils >= 5 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: pbuilder
-installed: true
-number: 0.192
-source: pbuilder
-sourceversion: 0.192
-installedsize: 1112
-
-package: librsvg2-2
-version: 5
-depends: libc6 >= 1 , libcairo2 >= 4 , libcroco3 >= 1 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 13 , libgsf-1-114 >= 5 , libgtk2.0-0 >= 13 , libpango1.0-0 >= 7 , libxml2 >= 16
-conflicts: librsvg2-2 , librsvg2-common < 2
-installed: true
-number: 2.26.0-1
-source: librsvg
-sourceversion: 2.26.0-1
-installedsize: 332
-
-package: help2man
-version: 1
-depends: perl >= 43 , libc6 >= 1
-conflicts: help2man
-installed: true
-number: 1.36.4+nmu1
-source: help2man
-sourceversion: 1.36.4+nmu1
-installedsize: 236
-
-package: libavahi-core6
-version: 2
-depends: libavahi-common3 >= 1 , libc6 >= 8
-conflicts: libavahi-core6
-installed: true
-number: 0.6.25-1
-source: avahi
-sourceversion: 0.6.25-1
-installedsize: 316
-
-package: tagcoll
-version: 1
-depends: libc6 >= 15 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: tagcoll
-installed: true
-number: 2.0.11-1
-source: tagcoll2
-sourceversion: 2.0.11-1
-installedsize: 436
-
-package: html2text
-version: 1
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: html2text
-installed: true
-number: 1.3.2a-14
-source: html2text
-sourceversion: 1.3.2a-14
-installedsize: 308
-
-package: irb1.8
-version: 1
-depends: ruby1.8 >= 5 , libreadline-ruby1.8 >= 1
-conflicts: irb1.8
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 592
-
-package: gcj-4.1-base
-version: 2
-conflicts: gcj-4.1-base
-installed: true
-number: 4.1.2-19
-source: gcj-4.1
-sourceversion: 4.1.2-19
-installedsize: 156
-
-package: sun-java5-jdk
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , sun-java5-jre = 1 , sun-java5-demo = 1 , libc6 , libx11-6
-conflicts: sun-java5-jdk
-provides: java-compiler--virtual , java-sdk--virtual , java2-compiler , java2-sdk , java5-sdk
-installed: true
-number: 1.5.0-20-1
-source: sun-java5
-sourceversion: 1.5.0-20-1
-installedsize: 11140
-
-package: rpm2cpio
-version: 1
-depends: libc6 >= 1 , libelf1 >= 1 , libnss3-1d >= 1 , libpopt0 >= 4 , librpm0 >= 1 , librpmio0 >= 1 , zlib1g >= 1
-conflicts: rpm2cpio , rpm < 8
-installed: true
-number: 4.7.1-11
-source: rpm
-sourceversion: 4.7.1-11
-installedsize: 688
-
-package: syslog-summary
-version: 1
-depends: python2.5
-conflicts: syslog-summary
-installed: true
-number: 1.14-1
-source: syslog-summary
-sourceversion: 1.14-1
-installedsize: 84
-
-package: texlive-common
-version: 3
-depends: tex-common >= 4
-conflicts: texlive-common , libkpathsea-dev < 1 , libkpathsea4 < 2 , tetex-base < 4 , tetex-bin < 5 , tetex-doc < 1 , tetex-extra < 2 , texlive < 2 , texlive-base < 2 , texlive-base-bin < 2 , texlive-base-bin-doc < 1 , texlive-bibtex-extra < 1 , texlive-chemistry , texlive-common < 2 , texlive-doc-base < 1 , texlive-doc-bg < 1 , texlive-doc-cs+sk < 1 , texlive-doc-de < 1 , texlive-doc-el < 1 , texlive-doc-en < 1 , texlive-doc-es < 1 , texlive-doc-fi < 1 , texlive-doc-fr < 1 , texlive-doc-it < 1 , texlive-doc-ja < 1 , texlive-doc-ko < 1 , texlive-doc-mn < 1 , texlive-doc-nl < 1 , texlive-doc-pl < 1 , texlive-doc-pt < 1 , texlive-doc-ru < 1 , texlive-doc-th < 1 , texlive-doc-tr < 1 , texlive-doc-uk < 1 , texlive-doc-vi < 1 , texlive-doc-zh < 1 , texlive-extra-utils < 3 , texlive-font-utils < 1 , texlive-fonts-extra < 1 , texlive-fonts-extra-doc < 1 , texlive-fonts-recommended < 1 , texlive-fonts-recommended-doc < 1 , texlive-formats-extra < 1 , texlive-full < 1 , texlive-games < 1 , texlive-generic-extra < 1 , texlive-generic-recommended < 1 , texlive-humanities < 1 , texlive-humanities-doc < 1 , texlive-lang-african < 1 , texlive-lang-all < 1 , texlive-lang-arab < 1 , texlive-lang-armenian < 1 , texlive-lang-croatian < 1 , texlive-lang-cyrillic < 1 , texlive-lang-czechslovak < 1 , texlive-lang-danish < 1 , texlive-lang-dutch < 1 , texlive-lang-finnish < 1 , texlive-lang-french < 1 , texlive-lang-german < 1 , texlive-lang-greek < 1 , texlive-lang-hebrew < 1 , texlive-lang-hungarian < 1 , texlive-lang-indic < 1 , texlive-lang-italian < 1 , texlive-lang-latin < 1 , texlive-lang-manju < 1 , texlive-lang-mongolian < 1 , texlive-lang-norwegian < 1 , texlive-lang-other < 1 , texlive-lang-polish < 1 , texlive-lang-portuguese < 1 , texlive-lang-spanish < 1 , texlive-lang-swedish < 1 , texlive-lang-tibetan < 1 , texlive-lang-ukenglish < 1 , texlive-lang-vietnamese < 1 , texlive-latex-base < 2 , texlive-latex-base-doc < 1 , texlive-latex-extra < 1 , texlive-latex-extra-doc < 1 , texlive-latex-recommended < 1 , texlive-latex-recommended-doc < 1 , texlive-latex3 < 1 , texlive-math-extra < 1 , texlive-metapost < 2 , texlive-metapost-doc < 1 , texlive-music < 1 , texlive-omega < 1 , texlive-pdfetex , texlive-pictures < 1 , texlive-pictures-doc < 1 , texlive-plain-extra < 1 , texlive-pstricks < 1 , texlive-pstricks-doc < 1 , texlive-publishers < 1 , texlive-publishers-doc < 1 , texlive-science < 1 , texlive-science-doc < 1 , texlive-xetex < 1
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 212
-
-package: tetex-frogg
-version: 1
-depends: texlive-latex-base | tetex-bin
-conflicts: tetex-frogg
-installed: true
-number: 0.4-3
-source: tetex-frogg
-sourceversion: 0.4-3
-installedsize: 164
-
-package: prosper
-version: 1
-depends: texlive-latex-base , texlive-pstricks , texlive-latex-recommended , ghostscript , tex-common >= 5
-conflicts: prosper
-installed: true
-number: 1.00.4+cvs.2007.05.01-4
-source: prosper
-sourceversion: 1.00.4+cvs.2007.05.01-4
-installedsize: 1004
-
-package: logcheck
-version: 4
-depends: adduser , exim4 | mail-transport-agent--virtual | mail-transport-agent , cron--virtual | cron , sysklogd | system-log-daemon--virtual | system-log-daemon | syslog-ng , bsd-mailx | mailx--virtual | mailx , logtail >= 1 , lockfile-progs
-conflicts: logcheck
-installed: true
-number: 1.3.3
-source: logcheck
-sourceversion: 1.3.3
-installedsize: 256
-
-package: deborphan
-version: 3
-depends: libc6 >= 5
-conflicts: deborphan
-installed: true
-number: 1.7.28
-source: deborphan
-sourceversion: 1.7.28
-installedsize: 460
-
-package: ucf
-version: 14
-depends: debconf >= 30 , coreutils >= 10
-conflicts: ucf
-installed: true
-number: 3.0024
-source: ucf
-sourceversion: 3.0024
-installedsize: 260
-
-package: debianutils
-version: 21
-depends: libc6 >= 14 , sensible-utils
-conflicts: debianutils
-installed: true
-number: 3.2.2
-source: debianutils
-sourceversion: 3.2.2
-installedsize: 220
-
-package: insserv
-version: 2
-depends: libc6 >= 8
-conflicts: insserv , sysv-rc < 3
-installed: true
-number: 1.12.0-14
-source: insserv
-sourceversion: 1.12.0-14
-installedsize: 288
-
-package: texlive-latex-base-doc
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1
-conflicts: texlive-latex-base-doc
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 37868
-
-package: logrotate
-version: 5
-depends: libc6 >= 2 , libpopt0 >= 3 , libselinux1 >= 10 , cron--virtual | cron | anacron | fcron , base-passwd >= 1
-conflicts: logrotate
-installed: true
-number: 3.7.8-4
-source: logrotate
-sourceversion: 3.7.8-4
-installedsize: 104
-
-package: qt4-qtconfig
-version: 1
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-qt3support = 6 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3
-conflicts: qt4-qtconfig , qt3-qtconfig <= 1
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 468
-
-package: python-crypto
-version: 2
-depends: python < 21 , python >= 10 , python-central >= 14 , libc6 >= 1 , libgmp3c2
-conflicts: python-crypto , python2.3-crypto , python2.4-crypto--virtual , python2.4-crypto
-provides: python2.4-crypto--virtual , python2.5-crypto
-installed: true
-number: 2.0.1+dfsg1-4
-source: python-crypto
-sourceversion: 2.0.1+dfsg1-4
-installedsize: 844
-
-package: m4
-version: 3
-depends: libc6 >= 2 , dpkg >= 24 | install-info
-conflicts: m4
-installed: true
-number: 1.4.13-3
-source: m4
-sourceversion: 1.4.13-3
-installedsize: 660
-
-package: bazaar
-version: 1
-depends: libc6 >= 15 , libgpgme11 >= 3 , libneon26-gnutls >= 2 , libpth20 >= 1 , diff >= 2 , patch >= 3 , gawk
-conflicts: bazaar
-installed: true
-number: 1.4.2-5.4
-source: bazaar
-sourceversion: 1.4.2-5.4
-installedsize: 1440
-
-package: perl-modules
-version: 13
-depends: perl >= 49
-conflicts: perl-modules , libansicolor-perl < 1 , libarchive-tar-perl < 2 , libattribute-handlers-perl < 1 , libautodie-perl < 1 , libcgi-pm-perl < 4 , libcpanplus-perl < 1 , libextutils-cbuilder-perl < 1 , libextutils-parsexs-perl < 2 , libfile-temp-perl < 2 , libi18n-langtags-perl < 1 , libio-zlib-perl < 3 , liblocale-codes-perl < 1 , liblocale-maketext-perl < 1 , liblocale-maketext-simple-perl < 1 , libmath-bigint-perl < 2 , libmodule-build-perl < 4 , libmodule-corelist-perl < 4 , libmodule-load-conditional-perl < 1 , libmodule-load-perl < 1 , libmodule-pluggable-perl < 2 , libnet-perl <= 2 , libnet-ping-perl < 1 , libparams-check-perl < 1 , libparent-perl < 2 , libparse-cpan-meta-perl < 4 , libpod-escapes-perl < 1 , libpod-parser-perl < 1 , libpod-simple-perl < 1 , libtest-harness-perl < 2 , libtest-simple-perl < 4 , libversion-perl < 2 , podlators-perl <= 1
-provides: libansicolor-perl--virtual , libarchive-tar-perl--virtual , libattribute-handlers-perl--virtual , libautodie-perl--virtual , libcgi-pm-perl--virtual , libcpanplus-perl--virtual , libextutils-cbuilder-perl--virtual , libextutils-parsexs-perl--virtual , libfile-temp-perl--virtual , libi18n-langtags-perl--virtual , libio-zlib-perl--virtual , liblocale-codes-perl--virtual , liblocale-maketext-perl--virtual , liblocale-maketext-simple-perl--virtual , libmath-bigint-perl--virtual , libmodule-build-perl--virtual , libmodule-corelist-perl--virtual , libmodule-load-conditional-perl--virtual , libmodule-load-perl--virtual , libmodule-pluggable-perl--virtual , libnet-perl--virtual , libnet-ping-perl--virtual , libparams-check-perl--virtual , libparent-perl--virtual , libparse-cpan-meta-perl--virtual , libpod-escapes-perl--virtual , libpod-parser-perl--virtual , libpod-simple-perl--virtual , libtest-harness-perl--virtual , libtest-simple-perl--virtual , libversion-perl--virtual , podlators-perl--virtual
-installed: true
-number: 5.10.1-7
-source: perl
-sourceversion: 5.10.1-7
-installedsize: 15848
-
-package: libdbus-glib-1-2
-version: 5
-depends: libc6 >= 1 , libdbus-1-3 >= 3 , libglib2.0-0 >= 13
-conflicts: libdbus-glib-1-2
-installed: true
-number: 0.82-2
-source: dbus-glib
-sourceversion: 0.82-2
-installedsize: 312
-
-package: postgresql-8.3-debversion
-version: 1
-depends: libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3 , postgresql-8.3
-conflicts: postgresql-8.3-debversion
-installed: true
-number: 1.0.2-1+b1
-source: postgresql-debversion
-sourceversion: 1.0.2-1
-installedsize: 44
-
-package: libfindlib-ocaml-dev
-version: 1
-depends: libfindlib-ocaml-dfzt4--virtual | libfindlib-ocaml-dfzt4 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libfindlib-ocaml-dev , ocaml-findlib < 2
-provides: libfindlib-ocaml-dev-dfzt4--virtual
-installed: true
-number: 1.2.5+debian-1
-source: findlib
-sourceversion: 1.2.5+debian-1
-installedsize: 832
-
-package: sgml-base
-version: 5
-depends: perl
-conflicts: sgml-base , sgml-data <= 1 , sgmltools-2 <= 1
-installed: true
-number: 1.26
-source: sgml-base
-sourceversion: 1.26
-installedsize: 148
-
-package: libpoppler5
-version: 1
-depends: libc6 >= 1 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libgcc1 >= 3 , libjpeg62 , liblcms1 >= 2 , libopenjpeg2 , libpng12-0 >= 3 , libstdc++6 >= 3 , libxml2 >= 17 , zlib1g >= 1
-conflicts: libpoppler5
-installed: true
-number: 0.12.0-2.1
-source: poppler
-sourceversion: 0.12.0-2.1
-installedsize: 2356
-
-package: apt-utils
-version: 3
-depends: libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libc6 >= 2 , libdb4.8 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: apt-utils
-provides: libapt-inst-libc6.9-6-1.1--virtual
-installed: true
-number: 0.7.24
-source: apt
-sourceversion: 0.7.24
-installedsize: 496
-
-package: ocaml-ulex
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , camlp4-3.11.1--virtual | camlp4-3.11.1 , ocaml-findlib
-conflicts: ocaml-ulex
-installed: true
-number: 1.1-1+b1
-source: ulex
-sourceversion: 1.1-1
-installedsize: 244
-
-package: libsqlite0-dev
-version: 1
-depends: libsqlite0 = 2 , libc6-dev
-conflicts: libsqlite0-dev , libsqlite-dev--virtual , libsqlite-dev
-provides: libsqlite-dev--virtual
-installed: true
-number: 2.8.17-6
-source: sqlite
-sourceversion: 2.8.17-6
-installedsize: 704
-
-package: libossp-uuid15
-version: 1
-depends: libc6 >= 15 , libgcc1 >= 5
-conflicts: libossp-uuid15
-installed: true
-number: 1.5.1-1.1+b1
-source: ossp-uuid
-sourceversion: 1.5.1-1.1
-installedsize: 156
-
-package: git-svn
-version: 2
-depends: git-core > 15 , git-core < 17 , libsvn-perl | libsvn-core-perl--virtual | libsvn-core-perl , libwww-perl , libterm-readkey-perl
-conflicts: git-svn
-installed: true
-number: 1:1.6.5.3-1
-source: git-core
-sourceversion: 1:1.6.5.3-1
-installedsize: 524
-
-package: xml-core
-version: 3
-depends: sgml-base >= 3 , sed >= 10
-conflicts: xml-core
-installed: true
-number: 0.13
-source: xml-core
-sourceversion: 0.13
-installedsize: 260
-
-package: libdigest-hmac-perl
-version: 1
-depends: libdigest-md5-perl--virtual | libdigest-md5-perl | perl >= 13 , libdigest-sha1-perl , perl >= 9
-conflicts: libdigest-hmac-perl
-installed: true
-number: 1.01-7
-source: libdigest-hmac-perl-dfsg
-sourceversion: 1.01-7
-installedsize: 80
-
-package: sqlfairy
-version: 1
-depends: perl , libsql-translator-perl = 1
-conflicts: sqlfairy
-installed: true
-number: 0.11003-1
-source: sqlfairy
-sourceversion: 0.11003-1
-installedsize: 136
-
-package: libqtgui4
-version: 6
-depends: libaudio2 , libc6 >= 1 , libfontconfig1 >= 2 , libfreetype6 >= 6 , libgcc1 >= 3 , libglib2.0-0 >= 3 , libice6 >= 1 , libjpeg62 , libmng1 >= 1 , libpng12-0 >= 3 , libqtcore4 = 7 , libsm6 , libstdc++6 >= 3 , libtiff4 , libx11-6 , libxext6 , libxrender1 , zlib1g >= 1 , fontconfig
-conflicts: libqtgui4 , libqt4-designer < 1
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 10820
-
-package: libgconf2-4
-version: 6
-depends: libc6 >= 1 , libdbus-1-3 >= 2 , libdbus-glib-1-2 >= 3 , libglib2.0-0 >= 22 , libldap-2.4-2 >= 1 , liborbit2 >= 3 , libxml2 >= 17 , gconf2-common >= 2 , gconf2-common < 4
-conflicts: libgconf2-4 , libbonobo2-0 < 3
-installed: true
-number: 2.28.0-1
-source: gconf
-sourceversion: 2.28.0-1
-installedsize: 592
-
-package: libcrypt-dh-perl
-version: 2
-depends: perl >= 9 , perl-modules
-conflicts: libcrypt-dh-perl
-installed: true
-number: 0.06-3
-source: libcrypt-dh-perl
-sourceversion: 0.06-3
-installedsize: 72
-
-package: latex-xcolor
-version: 3
-depends: texlive-latex-recommended
-conflicts: latex-xcolor
-installed: true
-number: 2.11-1
-source: latex-xcolor
-sourceversion: 2.11-1
-installedsize: 776
-
-package: x11proto-input-dev
-version: 3
-depends: x11-common >= 4
-conflicts: x11proto-input-dev , libxi-dev < 1
-installed: true
-number: 1.5.0-2
-source: x11proto-input
-sourceversion: 1.5.0-2
-installedsize: 148
-
-package: xpdf-utils
-version: 1
-depends: libc6 >= 15 , libfreetype6 >= 6 , libgcc1 >= 3 , libpaper1 , libstdc++6 >= 3 , libt1-5 >= 1 , gsfonts >= 2 , xpdf-common >= 2 , xpdf-common < 3
-conflicts: xpdf-utils , poppler-utils--virtual , poppler-utils , xpdf <= 1 , xpdf-i <= 1
-provides: pdf-viewer--virtual , poppler-utils--virtual , postscript-preview--virtual
-installed: true
-number: 3.02-1.4+lenny1
-source: xpdf
-sourceversion: 3.02-1.4+lenny1
-installedsize: 4688
-
-package: krb5-config
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , bind9-host
-conflicts: krb5-config
-installed: true
-number: 2.2
-source: kerberos-configs
-sourceversion: 2.2
-installedsize: 96
-
-package: patch
-version: 4
-depends: libc6 >= 15
-conflicts: patch
-installed: true
-number: 2.5.9-5
-source: patch
-sourceversion: 2.5.9-5
-installedsize: 204
-
-package: libusb-0.1-4
-version: 2
-depends: libc6 >= 15
-conflicts: libusb-0.1-4 , libccid < 1 , libusb0
-installed: true
-number: 2:0.1.12-13
-source: libusb
-sourceversion: 2:0.1.12-13
-installedsize: 96
-
-package: libxml-parser-perl
-version: 6
-depends: perl >= 33 , perlapi-5.10.0--virtual | perlapi-5.10.0 , liburi-perl , libwww-perl , libc6 >= 15 , libexpat1 >= 1
-conflicts: libxml-parser-perl
-installed: true
-number: 2.36-1.1+b1
-source: libxml-parser-perl
-sourceversion: 2.36-1.1
-installedsize: 740
-
-package: perl-doc
-version: 2
-depends: perl >= 49
-conflicts: perl-doc
-installed: true
-number: 5.10.1-7
-source: perl
-sourceversion: 5.10.1-7
-installedsize: 13144
-
-package: libcurl-ocaml
-version: 1
-depends: libc6 >= 1 , libcurl3-gnutls >= 1 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1
-conflicts: libcurl-ocaml
-provides: libcurl-ocaml-n7bv4--virtual
-installed: true
-number: 0.5.1-2
-source: ocurl
-sourceversion: 0.5.1-2
-installedsize: 132
-
-package: ocamlduce-base
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1
-conflicts: ocamlduce-base , ocamlduce < 1
-provides: ocamlduce-base-3.11.1.0--virtual
-installed: true
-number: 3.11.1.0-3
-source: ocamlduce
-sourceversion: 3.11.1.0-3
-installedsize: 2768
-
-package: python2.5
-version: 7
-depends: python2.5-minimal = 2 , mime-support , libbz2-1.0 , libc6 >= 2 , libdb4.5 >= 1 , libncursesw5 >= 2 , libreadline6 , libsqlite3-0 >= 12 , libssl0.9.8 >= 6
-conflicts: python2.5 , idle-python2.5 < 1 , python-central < 6 , python-tk < 3
-provides: python2.5-celementtree , python2.5-cjkcodecs , python2.5-ctypes , python2.5-elementtree--virtual , python2.5-plistlib , python2.5-wsgiref
-installed: true
-number: 2.5.4-2
-source: python2.5
-sourceversion: 2.5.4-2
-installedsize: 10740
-
-package: libextlib-ocaml
-version: 2
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1
-conflicts: libextlib-ocaml , libextlib-ocaml-dev < 1
-provides: libextlib-ocaml-qy507--virtual
-installed: true
-number: 1.5.1-5
-source: extlib
-sourceversion: 1.5.1-5
-installedsize: 1064
-
-package: python2.4-dev
-version: 4
-depends: python2.4 = 4
-conflicts: python2.4-dev
-installed: true
-number: 2.4.6-2.2
-source: python2.4
-sourceversion: 2.4.6-2.2
-installedsize: 6120
-
-package: libthai-data
-version: 2
-conflicts: libthai-data , libthai0 < 2
-installed: true
-number: 0.1.12-1
-source: libthai
-sourceversion: 0.1.12-1
-installedsize: 596
-
-package: libk5crypto3
-version: 5
-depends: libc6 >= 8 , libkeyutils1 , libkrb5support0 >= 1
-conflicts: libk5crypto3
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 236
-
-package: libreadline-ruby1.8
-version: 1
-depends: libc6 >= 2 , libncurses5 >= 3 , libreadline5 >= 3 , libruby1.8 >= 12
-conflicts: libreadline-ruby1.8
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 340
-
-package: libpaper1
-version: 1
-depends: libc6 >= 15 , debconf >= 21 | debconf-2.0--virtual | debconf-2.0 , ucf >= 4
-conflicts: libpaper1
-provides: libpaperg
-installed: true
-number: 1.1.23+nmu1
-source: libpaper
-sourceversion: 1.1.23+nmu1
-installedsize: 104
-
-package: libcurl4-gnutls-dev
-version: 4
-depends: libcurl3-gnutls = 4 , libc6-dev | libc-dev--virtual | libc-dev , libgnutls-dev , zlib1g-dev , libidn11-dev , libkrb5-dev | hurd , libldap2-dev
-conflicts: libcurl4-gnutls-dev , libcurl-dev--virtual , libcurl-dev
-provides: libcurl-dev--virtual , libcurl-ssl-dev , libcurl3-gnutls-dev , libcurl4-dev--virtual
-installed: true
-number: 7.19.7-1
-source: curl
-sourceversion: 7.19.7-1
-installedsize: 2516
-
-package: libsvn-perl
-version: 3
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libapr1 >= 1 , libc6 >= 1 , libsvn1 >= 4
-conflicts: libsvn-perl
-installed: true
-number: 1.6.6dfsg-1
-source: subversion
-sourceversion: 1.6.6dfsg-1
-installedsize: 4036
-
-package: libfont-freetype-perl
-version: 1
-depends: libc6 >= 15 , libfreetype6 >= 6 , perl >= 37 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libfont-freetype-perl
-installed: true
-number: 0.03-1
-source: libfont-freetype-perl
-sourceversion: 0.03-1
-installedsize: 268
-
-package: debian-policy
-version: 1
-conflicts: debian-policy , doc-base < 1 , dpkg-dev < 1 , packaging-manual
-installed: true
-number: 3.8.3.0
-source: debian-policy
-sourceversion: 3.8.3.0
-installedsize: 2748
-
-package: libqt4-sql-mysql
-version: 1
-depends: libc6 >= 1 , libgcc1 >= 3 , libmysqlclient16 >= 1 , libqt4-sql = 5 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-sql-mysql
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 148
-
-package: login
-version: 1
-depends: libc6 >= 2 , libpam0g >= 2 , libpam-runtime , libpam-modules
-conflicts: login , amavisd-new < 1 , backupninja < 1 , echolot < 1 , gnunet < 1 , python-4suite < 2
-installed: true
-number: 1:4.1.4.2-1
-source: shadow
-sourceversion: 1:4.1.4.2-1
-installedsize: 2488
-
-package: libxml-libxml-perl
-version: 9
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 8 , libxml2 >= 17 , zlib1g >= 1 , libxml-namespacesupport-perl , libxml-sax-perl
-conflicts: libxml-libxml-perl , libxml-libxml-common-perl
-installed: true
-number: 1.70.ds-1
-source: libxml-libxml-perl
-sourceversion: 1.70.ds-1
-installedsize: 1328
-
-package: texlive-humanities
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-humanities
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 1420
-
-package: bsd-mailx
-version: 1
-depends: libc6 >= 2 , liblockfile1 >= 1 , exim4 | mail-transport-agent--virtual | mail-transport-agent , base-files >= 4
-conflicts: bsd-mailx , mailutils < 1 , mailx < 1
-provides: mail-reader--virtual , mailx--virtual
-installed: true
-number: 8.1.2-0.20090911cvs-2
-source: bsd-mailx
-sourceversion: 8.1.2-0.20090911cvs-2
-installedsize: 244
-
-package: libqtcore4
-version: 7
-depends: libc6 >= 8 , libgcc1 >= 3 , libglib2.0-0 >= 3 , libstdc++6 >= 3 , zlib1g >= 1
-conflicts: libqtcore4
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 5656
-
-package: libnspr4-0d
-version: 5
-depends: libc6 >= 3
-conflicts: libnspr4-0d , libnspr4 , libnspr4-dev <= 1
-installed: true
-number: 4.8.2-1
-source: nspr
-sourceversion: 4.8.2-1
-installedsize: 344
-
-package: ttf-dejavu-core
-version: 1
-depends: defoma
-conflicts: ttf-dejavu-core , ttf-dejavu < 1
-installed: true
-number: 2.30-1
-source: ttf-dejavu
-sourceversion: 2.30-1
-installedsize: 2588
-
-package: libnfsidmap2
-version: 1
-depends: libc6 >= 2 , libldap-2.4-2 >= 1
-conflicts: libnfsidmap2 , libnfsidmap1
-installed: true
-number: 0.22-2
-source: libnfsidmap
-sourceversion: 0.22-2
-installedsize: 100
-
-package: python-scipy
-version: 4
-depends: python < 21 , python >= 10 , python-central >= 14 , python-numpy >= 7 , libamd2.2.0 >= 1 , libblas3gf | libblas.so.3gf--virtual | libblas.so.3gf | libatlas3gf-base , libc6 >= 2 , libgcc1 >= 3 , libgfortran3 >= 1 , liblapack3gf | liblapack.so.3gf--virtual | liblapack.so.3gf | libatlas3gf-base , libstdc++6 >= 3 , libumfpack5.4.0 >= 1
-conflicts: python-scipy , python-scipy-core , python2.3-scipy , python2.3-scipy-core , python2.4-scipy--virtual , python2.4-scipy , python2.4-scipy-core
-provides: python2.4-scipy--virtual , python2.5-scipy
-installed: true
-number: 0.7.0-2
-source: python-scipy
-sourceversion: 0.7.0-2
-installedsize: 34600
-
-package: libnetpbm10
-version: 1
-depends: libc6 >= 15
-conflicts: libnetpbm10
-installed: true
-number: 2:10.0-12
-source: netpbm-free
-sourceversion: 2:10.0-12
-installedsize: 208
-
-package: diff
-version: 3
-depends: diffutils
-conflicts: diff
-installed: true
-number: 1:2.8.1-18
-source: diffutils
-sourceversion: 1:2.8.1-18
-installedsize: 32
-
-package: libxml-simple-perl
-version: 3
-depends: perl >= 13 , libxml-namespacesupport-perl >= 2 , libxml-sax-perl , libxml-libxml-perl | libxml-sax-expat-perl
-conflicts: libxml-simple-perl
-installed: true
-number: 2.18-2
-source: libxml-simple-perl
-sourceversion: 2.18-2
-installedsize: 216
-
-package: libspreadsheet-parseexcel-perl
-version: 2
-depends: perl , libole-storage-lite-perl , libspreadsheet-writeexcel-perl , libjcode-pm-perl , libunicode-map-perl
-conflicts: libspreadsheet-parseexcel-perl
-installed: true
-number: 0.5500-1
-source: libspreadsheet-parseexcel-perl
-sourceversion: 0.5500-1
-installedsize: 564
-
-package: libdigest-sha1-perl
-version: 4
-depends: perl >= 44 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 1
-conflicts: libdigest-sha1-perl , libdigest-md5-perl < 1
-installed: true
-number: 2.12-1
-source: libdigest-sha1-perl
-sourceversion: 2.12-1
-installedsize: 56
-
-package: libcurl-ocaml-dev
-version: 1
-depends: libcurl-ocaml-n7bv4--virtual | libcurl-ocaml-n7bv4 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , libcurl4-gnutls-dev >= 1 , ocaml-findlib >= 3
-conflicts: libcurl-ocaml-dev
-provides: libcurl-ocaml-dev-n7bv4
-installed: true
-number: 0.5.1-2
-source: ocurl
-sourceversion: 0.5.1-2
-installedsize: 912
-
-package: perlmagick
-version: 3
-depends: perl >= 52 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 8 , libmagickcore2 >= 2 , libperl5.10 >= 2
-conflicts: perlmagick
-provides: libimage-magick-perl--virtual
-installed: true
-number: 7:6.5.7.8-1
-source: imagemagick
-sourceversion: 7:6.5.7.8-1
-installedsize: 628
-
-package: ncurses-base
-version: 3
-depends: libncurses5
-conflicts: ncurses-base , ncurses , ncurses-runtime--virtual , ncurses-runtime
-provides: ncurses-runtime--virtual
-installed: true
-number: 5.7+20090803-2
-source: ncurses
-sourceversion: 5.7+20090803-2
-installedsize: 488
-
-package: libxdamage1
-version: 2
-depends: libc6 >= 15 , libx11-6 , libxfixes3 >= 1
-conflicts: libxdamage1
-installed: true
-number: 1:1.1.1-4
-source: libxdamage
-sourceversion: 1:1.1.1-4
-installedsize: 64
-
-package: libnet-snmp-perl
-version: 3
-depends: perl
-conflicts: libnet-snmp-perl
-installed: true
-number: 5.2.0-3
-source: libnet-snmp-perl
-sourceversion: 5.2.0-3
-installedsize: 512
-
-package: python-egenix-mxdatetime
-version: 3
-depends: libc6 >= 1 , python < 21 , python >= 10 , python-central >= 14 , python-egenix-mxtools
-conflicts: python-egenix-mxdatetime , python2.3-egenix-mxdatetime , python2.4-egenix-mxdatetime--virtual , python2.4-egenix-mxdatetime
-provides: python2.4-egenix-mxdatetime--virtual , python2.5-egenix-mxdatetime
-installed: true
-number: 3.1.2-5
-source: egenix-mx-base
-sourceversion: 3.1.2-5
-installedsize: 1076
-
-package: libsqlite3-0
-version: 15
-depends: libc6 >= 2
-conflicts: libsqlite3-0
-installed: true
-number: 3.6.20-1
-source: sqlite3
-sourceversion: 3.6.20-1
-installedsize: 600
-
-package: tcl8.5
-version: 4
-depends: libc6 >= 14
-conflicts: tcl8.5 , tcl74 <= 1
-provides: tclsh--virtual
-installed: true
-number: 8.5.8-1
-source: tcl8.5
-sourceversion: 8.5.8-1
-installedsize: 4348
-
-package: docbook-xml
-version: 7
-depends: xml-core >= 2 , sgml-data >= 4 , sgml-base >= 3
-conflicts: docbook-xml
-provides: docbk-xml
-installed: true
-number: 4.5-7
-source: docbook-xml
-sourceversion: 4.5-7
-installedsize: 2488
-
-package: x11-session-utils
-version: 1
-depends: x11-common >= 4 , libc6 >= 13 , libice6 >= 1 , libsm6 , libx11-6 , libxaw7 , libxmu6 , libxt6 , cpp
-conflicts: x11-session-utils , smproxy , xsm <= 1
-installed: true
-number: 7.3+1
-source: x11-session-utils
-sourceversion: 7.3+1
-installedsize: 296
-
-package: ttf-lyx
-version: 1
-depends: defoma
-conflicts: ttf-lyx
-installed: true
-number: 1.6.4-1
-source: lyx
-sourceversion: 1.6.4-1
-installedsize: 352
-
-package: perl
-version: 52
-depends: perl-base = 17 , perl-modules >= 13 , libbz2-1.0 , libc6 >= 8 , libdb4.7 , libgdbm3 >= 1 , zlib1g >= 8
-conflicts: perl , libcompress-raw-bzip2-perl < 1 , libcompress-raw-zlib-perl < 2 , libcompress-zlib-perl < 6 , libdigest-md5-perl < 2 , libdigest-sha-perl < 1 , libio-compress-base-perl < 1 , libio-compress-bzip2-perl < 2 , libio-compress-perl < 1 , libio-compress-zlib-perl < 3 , libmime-base64-perl < 2 , libstorable-perl < 2 , libsys-syslog-perl < 3 , libthreads-perl < 1 , libthreads-shared-perl < 2 , libtime-hires-perl < 2 , libtime-piece-perl < 3 , perl-doc < 1
-provides: data-dumper--virtual , libcompress-raw-bzip2-perl--virtual , libcompress-raw-zlib-perl--virtual , libcompress-zlib-perl--virtual , libdigest-md5-perl--virtual , libdigest-sha-perl--virtual , libio-compress-base-perl--virtual , libio-compress-bzip2-perl--virtual , libio-compress-perl--virtual , libio-compress-zlib-perl--virtual , libmime-base64-perl--virtual , libstorable-perl--virtual , libsys-syslog-perl--virtual , libthreads-perl--virtual , libthreads-shared-perl--virtual , libtime-hires-perl--virtual , libtime-piece-perl--virtual , perl5--virtual
-installed: true
-number: 5.10.1-7
-source: perl
-sourceversion: 5.10.1-7
-installedsize: 17772
-
-package: man-db
-version: 7
-depends: groff-base >= 1 , bsdmainutils , debconf >= 17 | debconf-2.0--virtual | debconf-2.0 , dpkg >= 6 , libc6 >= 8 , libgdbm3 >= 1 , zlib1g >= 1
-conflicts: man-db , man--virtual , man , suidmanager < 1
-provides: man--virtual , man-browser
-installed: true
-number: 2.5.6-4
-source: man-db
-sourceversion: 2.5.6-4
-installedsize: 3472
-
-package: postgresql-8.3
-version: 1
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 1 , libkrb5-3 >= 1 , libldap-2.4-2 >= 1 , libpam0g >= 2 , libpq5 >= 3 , libssl0.9.8 >= 6 , libxml2 >= 13 , postgresql-client-8.3 , postgresql-common >= 2 , tzdata , ssl-cert , locales--virtual | locales
-conflicts: postgresql-8.3 , postgresql < 1
-installed: true
-number: 8.3.8-1
-source: postgresql-8.3
-sourceversion: 8.3.8-1
-installedsize: 13880
-
-package: libxml-namespacesupport-perl
-version: 3
-depends: perl >= 9
-conflicts: libxml-namespacesupport-perl
-installed: true
-number: 1.09-3
-source: libxml-namespacesupport-perl
-sourceversion: 1.09-3
-installedsize: 48
-
-package: zlib1g
-version: 10
-depends: libc6 >= 1
-conflicts: zlib1g , zlib1 <= 1
-provides: libz1--virtual
-installed: true
-number: 1:1.2.3.3.dfsg-15
-source: zlib
-sourceversion: 1:1.2.3.3.dfsg-15
-installedsize: 172
-
-package: librpmbuild0
-version: 3
-depends: libc6 >= 8 , libelf1 >= 1 , libmagic1 , libpopt0 >= 4 , librpm0 >= 1 , librpmio0 >= 3
-conflicts: librpmbuild0
-installed: true
-number: 4.7.1-11
-source: rpm
-sourceversion: 4.7.1-11
-installedsize: 844
-
-package: emacs21-bin-common
-version: 1
-depends: emacs21-common = 2 , libc6 >= 2 , liblockfile1 >= 1
-conflicts: emacs21-bin-common
-installed: true
-number: 21.4a+1-5.7
-source: emacs21
-sourceversion: 21.4a+1-5.7
-installedsize: 468
-
-package: libpostgresql-ocaml-dev
-version: 2
-depends: libpq-dev , libpostgresql-ocaml-8ujk4--virtual | libpostgresql-ocaml-8ujk4 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libpostgresql-ocaml-dev
-provides: libpostgresql-ocaml-dev-8ujk4
-installed: true
-number: 1.12.1-2
-source: postgresql-ocaml
-sourceversion: 1.12.1-2
-installedsize: 604
-
-package: nfs-common
-version: 2
-depends: portmap | rpcbind , adduser , ucf , lsb-base >= 3 , netbase >= 14 , initscripts >= 4 , libc6 >= 2 , libcomerr2 >= 1 , libevent-1.4-2 >= 3 , libgssapi-krb5-2 >= 1 , libgssglue1 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libnfsidmap2 , librpcsecgss3 , libwrap0 >= 1
-conflicts: nfs-common , nfs-client--virtual , nfs-client
-provides: nfs-client--virtual
-installed: true
-number: 1:1.2.0-4
-source: nfs-utils
-sourceversion: 1:1.2.0-4
-installedsize: 596
-
-package: libpam-script
-version: 1
-depends: libc6 >= 15
-conflicts: libpam-script
-installed: true
-number: 0.1.11
-source: libpam-script
-sourceversion: 0.1.11
-installedsize: 80
-
-package: liberror-perl
-version: 2
-depends: perl >= 9
-conflicts: liberror-perl
-installed: true
-number: 0.17-1
-source: liberror-perl
-sourceversion: 0.17-1
-installedsize: 96
-
-package: make
-version: 3
-depends: libc6 >= 2
-conflicts: make
-installed: true
-number: 3.81-7
-source: make-dfsg
-sourceversion: 3.81-7
-installedsize: 1588
-
-package: sudo
-version: 1
-depends: libc6 >= 2 , libpam0g >= 2 , libpam-modules
-conflicts: sudo , sudo-ldap
-installed: true
-number: 1.7.2p1-1
-source: sudo
-sourceversion: 1.7.2p1-1
-installedsize: 612
-
-package: libts-0.0-0
-version: 2
-depends: libc6 >= 1 , tsconf
-conflicts: libts-0.0-0 , libts0--virtual , libts0 , tslib--virtual , tslib
-provides: libts0--virtual , tslib--virtual
-installed: true
-number: 1.0-7
-source: tslib
-sourceversion: 1.0-7
-installedsize: 172
-
-package: libffi5
-version: 2
-depends: libc6 >= 1
-conflicts: libffi5
-installed: true
-number: 3.0.9~rc3-1
-source: libffi
-sourceversion: 3.0.9~rc3-1
-installedsize: 84
-
-package: libosp5
-version: 2
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: libosp5
-installed: true
-number: 1.5.2-8
-source: opensp
-sourceversion: 1.5.2-8
-installedsize: 2944
-
-package: dialog
-version: 5
-depends: libc6 >= 15 , libncursesw5 >= 2 , debianutils >= 1
-conflicts: dialog
-provides: libdialog-dev
-installed: true
-number: 1.1-20080819-1
-source: dialog
-sourceversion: 1.1-20080819-1
-installedsize: 1508
-
-package: bip
-version: 1
-depends: libc6 >= 2 , libssl0.9.8 >= 6 , adduser , lsb-base >= 21
-conflicts: bip
-installed: true
-number: 0.8.2-1
-source: bip
-sourceversion: 0.8.2-1
-installedsize: 396
-
-package: python-stats
-version: 1
-depends: python , python-central >= 13
-conflicts: python-stats
-installed: true
-number: 0.6-8
-source: python-stats
-sourceversion: 0.6-8
-installedsize: 312
-
-package: texlive-publishers
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-publishers
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 6216
-
-package: xbitmaps
-version: 1
-depends: x11-common >= 2
-conflicts: xbitmaps , xlibs-data < 1
-installed: true
-number: 1.0.1-2
-source: xbitmaps
-sourceversion: 1.0.1-2
-installedsize: 468
-
-package: libqt4-network
-version: 7
-depends: libc6 >= 2 , libgcc1 >= 3 , libqtcore4 = 7 , libstdc++6 >= 3 , zlib1g >= 1
-conflicts: libqt4-network
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 1244
-
-package: liblockfile-simple-perl
-version: 1
-depends: perl >= 9 , liblog-agent-perl
-conflicts: liblockfile-simple-perl
-installed: true
-number: 0.207-1
-source: liblockfile-simple-perl
-sourceversion: 0.207-1
-installedsize: 104
-
-package: liblzo2-dev
-version: 1
-depends: liblzo2-2 = 2 , libc6-dev
-conflicts: liblzo2-dev
-installed: true
-number: 2.03-2
-source: lzo2
-sourceversion: 2.03-2
-installedsize: 728
-
-package: psfontmgr
-version: 3
-depends: defoma >= 5 , whiptail | dialog , perl
-conflicts: psfontmgr , defoma-ps , scigraphica-common <= 1
-installed: true
-number: 0.11.10-2
-source: defoma
-sourceversion: 0.11.10-2
-installedsize: 172
-
-package: libxstr-ocaml-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocaml-findlib
-conflicts: libxstr-ocaml-dev
-installed: true
-number: 0.2.1-20+b1
-source: xstr
-sourceversion: 0.2.1-20
-installedsize: 376
-
-package: hevea
-version: 1
-depends: ghostscript , netpbm >= 2 , texlive-base | tetex-bin , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , dpkg >= 19 , tex-common >= 8
-conflicts: hevea
-installed: true
-number: 1.10-9
-source: hevea
-sourceversion: 1.10-9
-installedsize: 2124
-
-package: chrpath
-version: 1
-depends: libc6 >= 7
-conflicts: chrpath
-installed: true
-number: 0.13-2
-source: chrpath
-sourceversion: 0.13-2
-installedsize: 84
-
-package: libpcap0.8
-version: 6
-depends: libc6 >= 2
-conflicts: libpcap0.8
-installed: true
-number: 1.0.0-4
-source: libpcap
-sourceversion: 1.0.0-4
-installedsize: 304
-
-package: cmake
-version: 4
-depends: libc6 >= 14 , libcurl3-gnutls >= 1 , libexpat1 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9 , zlib1g >= 8 , cmake-data = 2
-conflicts: cmake
-installed: true
-number: 2.8.0-1
-source: cmake
-sourceversion: 2.8.0-1
-installedsize: 10632
-
-package: ttf-liberation
-version: 2
-depends: defoma
-conflicts: ttf-liberation
-installed: true
-number: 1.05.2.20091019-1
-source: ttf-liberation
-sourceversion: 1.05.2.20091019-1
-installedsize: 1756
-
-package: libapt-pkg-perl
-version: 4
-depends: perl-base >= 14 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: libapt-pkg-perl
-installed: true
-number: 0.1.24
-source: libapt-pkg-perl
-sourceversion: 0.1.24
-installedsize: 308
-
-package: libunicode-map-perl
-version: 1
-depends: libc6 >= 15 , perl >= 33 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libunicode-map-perl
-installed: true
-number: 0.112-10+b1
-source: libunicode-map-perl
-sourceversion: 0.112-10
-installedsize: 1124
-
-package: sun-java5-bin
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , sun-java5-jre = 1 , unixodbc , libc6
-conflicts: sun-java5-bin
-installed: true
-number: 1.5.0-20-1
-source: sun-java5
-sourceversion: 1.5.0-20-1
-installedsize: 59136
-
-package: ocaml-base
-version: 2
-depends: libc6 >= 14 , libx11-6 , tcl8.4 >= 4 , tk8.4 >= 5 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1
-conflicts: ocaml-base
-provides: ocaml-base-3.11.1--virtual
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 280
-
-package: liblzma0
-version: 3
-depends: libc6 >= 1
-conflicts: liblzma0
-installed: true
-number: 4.999.9beta+20091016-1
-source: xz-utils
-sourceversion: 4.999.9beta+20091016-1
-installedsize: 280
-
-package: libbeecrypt7
-version: 1
-depends: libc6 >= 2 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: libbeecrypt7 , beecrypt , beecrypt2 , libbeecrypt6
-installed: true
-number: 4.2.1-1
-source: beecrypt
-sourceversion: 4.2.1-1
-installedsize: 272
-
-package: unzip
-version: 1
-depends: libbz2-1.0 , libc6 >= 15
-conflicts: unzip , unzip-crypt < 1
-installed: true
-number: 6.0-1
-source: unzip
-sourceversion: 6.0-1
-installedsize: 384
-
-package: libcalendar-ocaml
-version: 3
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1
-conflicts: libcalendar-ocaml , libcalendar-ocaml-dev < 2
-provides: libcalendar-ocaml-912e6--virtual
-installed: true
-number: 2.01.1-6
-source: calendar
-sourceversion: 2.01.1-6
-installedsize: 360
-
-package: libclass-makemethods-perl
-version: 1
-depends: perl
-conflicts: libclass-makemethods-perl
-installed: true
-number: 1.01-4
-source: libclass-makemethods-perl
-sourceversion: 1.01-4
-installedsize: 1088
-
-package: libcalendar-ocaml-dev
-version: 3
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , libcalendar-ocaml = 3 , ocaml-findlib , libcalendar-ocaml-912e6--virtual | libcalendar-ocaml-912e6
-conflicts: libcalendar-ocaml-dev
-provides: libcalendar-ocaml-dev-912e6--virtual
-installed: true
-number: 2.01.1-6
-source: calendar
-sourceversion: 2.01.1-6
-installedsize: 664
-
-package: libsigc++-2.0-0c2a
-version: 2
-depends: libc6 >= 15 , libgcc1 >= 5 , libstdc++6 >= 5
-conflicts: libsigc++-2.0-0c2a , libsigc++-1.9-0 , libsigc++-2.0-0 , libsigc++-2.0-0c2
-installed: true
-number: 2.0.18-2
-source: libsigc++-2.0
-sourceversion: 2.0.18-2
-installedsize: 92
-
-package: iso-codes
-version: 1
-conflicts: iso-codes
-installed: true
-number: 3.11.1-1
-source: iso-codes
-sourceversion: 3.11.1-1
-installedsize: 11064
-
-package: libatk1.0-0
-version: 6
-depends: libc6 >= 1 , libglib2.0-0 >= 13
-conflicts: libatk1.0-0
-installed: true
-number: 1.28.0-1
-source: atk1.0
-sourceversion: 1.28.0-1
-installedsize: 232
-
-package: libocsigen-ocaml
-version: 1
-depends: libcryptokit-ocaml-jki10--virtual | libcryptokit-ocaml-jki10 , libfindlib-ocaml-dfzt4--virtual | libfindlib-ocaml-dfzt4 , liblwt-ocaml-rs5r6--virtual | liblwt-ocaml-rs5r6 , libocamlnet-ocaml-3rxe6--virtual | libocamlnet-ocaml-3rxe6 , libpcre-ocaml-kh2c0--virtual | libpcre-ocaml-kh2c0 , libreact-ocaml-71dv4--virtual | libreact-ocaml-71dv4 , libsqlite3-ocaml-ddv02--virtual | libsqlite3-ocaml-ddv02 , libssl-ocaml-m8hz4--virtual | libssl-ocaml-m8hz4 , libzip-ocaml-0lnk7--virtual | libzip-ocaml-0lnk7 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , ocamlduce-base-3.11.1.0--virtual | ocamlduce-base-3.11.1.0 , libc6 >= 14 , libgdbm3 , libpcre3 >= 5
-conflicts: libocsigen-ocaml , ocsigen < 4 , ocsigen-dev < 2
-provides: libocsigen-ocaml-2k0y3--virtual
-installed: true
-number: 1.2.2-1
-source: ocsigen
-sourceversion: 1.2.2-1
-installedsize: 3612
-
-package: ocaml-ulex08
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , camlp5 >= 1 , ocaml-findlib
-conflicts: ocaml-ulex08
-installed: true
-number: 0.8-8+b1
-source: ulex0.8
-sourceversion: 0.8-8
-installedsize: 320
-
-package: libboost-graph-dev
-version: 2
-depends: libboost-graph1.40-dev
-conflicts: libboost-graph-dev
-installed: true
-number: 1.40.0.1
-source: boost-defaults
-sourceversion: 1.40.0.1
-installedsize: 32
-
-package: ledit
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1
-conflicts: ledit
-provides: readline-editor
-installed: true
-number: 2.01-5
-source: ledit
-sourceversion: 2.01-5
-installedsize: 224
-
-package: menu
-version: 14
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9 , dpkg >= 24 | install-info
-conflicts: menu
-installed: true
-number: 2.1.42
-source: menu
-sourceversion: 2.1.42
-installedsize: 2028
-
-package: gs
-version: 2
-depends: ghostscript , ghostscript-x
-conflicts: gs
-installed: true
-number: 8.64~dfsg-1.1
-source: ghostscript
-sourceversion: 8.64~dfsg-1.1
-installedsize: 72
-
-package: python
-version: 20
-depends: python2.5 >= 5 , python-minimal = 1
-conflicts: python , python-base , python-bz2 , python-central < 2 , python-csv , python-xmlbase--virtual , python-xmlbase , python2.1 <= 1 , python2.3 < 1
-provides: python-ctypes--virtual , python-email , python-plistlib , python-wsgiref--virtual , python-xmlbase--virtual
-installed: true
-number: 2.5.4-2
-source: python-defaults
-sourceversion: 2.5.4-2
-installedsize: 620
-
-package: spass
-version: 1
-depends: libc6 >= 15
-conflicts: spass
-installed: true
-number: 2.1-4
-source: spass
-sourceversion: 2.1-4
-installedsize: 3084
-
-package: apt-file
-version: 1
-depends: perl , curl , libconfig-file-perl , libapt-pkg-perl , liblist-moreutils-perl
-conflicts: apt-file
-installed: true
-number: 2.3.0
-source: apt-file
-sourceversion: 2.3.0
-installedsize: 184
-
-package: libxrender1
-version: 2
-depends: libc6 >= 15 , libx11-6
-conflicts: libxrender1
-installed: true
-number: 1:0.9.4-2
-source: libxrender
-sourceversion: 1:0.9.4-2
-installedsize: 96
-
-package: cvs
-version: 1
-depends: libc6 >= 15 , libpam0g >= 2 , zlib1g >= 1 , debconf >= 9 | debconf-2.0--virtual | debconf-2.0 , libpam-runtime >= 2 , update-inetd
-conflicts: cvs , cvs-doc--virtual , cvs-doc , cvs2cl < 1
-provides: cvs-doc--virtual
-installed: true
-number: 1:1.12.13-12
-source: cvs
-sourceversion: 1:1.12.13-12
-installedsize: 3660
-
-package: libfile-copy-recursive-perl
-version: 2
-depends: perl >= 9
-conflicts: libfile-copy-recursive-perl
-installed: true
-number: 0.38-1
-source: libfile-copy-recursive-perl
-sourceversion: 0.38-1
-installedsize: 88
-
-package: libminisat
-version: 1
-depends: libstdc++6 >= 3 , libc6 >= 1 , libgcc1 >= 3
-conflicts: libminisat
-installed: true
-number: 070721-6.1
-source: minisat2
-sourceversion: 070721-6.1
-installedsize: 60
-
-package: libgecode19
-version: 1
-depends: libc6 >= 3 , libgcc1 >= 3 , libqtcore4 >= 6 , libqtgui4 >= 5 , libstdc++6 >= 9
-conflicts: libgecode19
-installed: true
-number: 3.2.1-1
-source: gecode
-sourceversion: 3.2.1-1
-installedsize: 10224
-
-package: libqt4-xml
-version: 7
-depends: libc6 >= 1 , libgcc1 >= 3 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-xml
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 376
-
-package: libboost1.40-dev
-version: 2
-depends: libc6 >= 1 , libgcc1 >= 3 , libicu42 >= 1 , libstdc++6 >= 9 , libstdc++6-4.4-dev | libstdc++-dev--virtual | libstdc++-dev
-conflicts: libboost1.40-dev , bcp--virtual , bcp , libboost-date-time1.40-dev <= 1 , libboost-dev < 2 , libboost-filesystem1.40-dev <= 1 , libboost-graph-parallel1.40-dev <= 1 , libboost-graph1.40-dev <= 1 , libboost-iostreams1.40-dev <= 1 , libboost-math1.40-dev <= 1 , libboost-mpi-python1.40-dev <= 1 , libboost-mpi1.40-dev <= 1 , libboost-program-options1.40-dev <= 1 , libboost-python1.40-dev <= 1 , libboost-regex1.40-dev <= 1 , libboost-serialization1.40-dev <= 1 , libboost-signals1.40-dev <= 1 , libboost-system1.40-dev <= 1 , libboost-test1.40-dev <= 1 , libboost-thread1.40-dev <= 1 , libboost-wave1.40-dev <= 1 , libboost1.35-dev , libboost1.36-dev , libboost1.37-dev , libboost1.38-dev , libboost1.39-dev , libboost1.40-dev <= 1
-provides: bcp--virtual
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 64920
-
-package: libglu1-mesa-dev
-version: 1
-depends: libglu1-mesa = 1 , libgl1-mesa-dev | libgl-dev--virtual | libgl-dev
-conflicts: libglu1-mesa-dev , mesa-glide2-dev < 1 , mesag-dev < 1 , mesag3+ggi-dev < 1 , xlibmesa-dev
-provides: libglu-dev--virtual , xlibmesa-glu-dev--virtual
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 972
-
-package: libpam-chroot
-version: 1
-depends: libpam0g >= 2
-conflicts: libpam-chroot
-installed: true
-number: 0.9-3
-source: libpam-chroot
-sourceversion: 0.9-3
-installedsize: 112
-
-package: libtext-recordparser-perl
-version: 1
-depends: perl , libio-stringy-perl , libclass-accessor-perl , libreadonly-perl , liblist-moreutils-perl , perl >= 31 | libversion-perl--virtual | libversion-perl
-conflicts: libtext-recordparser-perl
-installed: true
-number: 1.3.0-1
-source: libtext-recordparser-perl
-sourceversion: 1.3.0-1
-installedsize: 172
-
-package: liblzo1
-version: 1
-depends: libc6 >= 7
-conflicts: liblzo1 , lzop <= 1
-installed: true
-number: 1.08-3
-source: lzo
-sourceversion: 1.08-3
-installedsize: 188
-
-package: python-elementtree
-version: 5
-depends: python-support >= 7
-conflicts: python-elementtree , python2.3-elementtree , python2.4-elementtree--virtual , python2.4-elementtree
-provides: python2.4-elementtree--virtual
-installed: true
-number: 1.2.6-14
-source: elementtree
-sourceversion: 1.2.6-14
-installedsize: 184
-
-package: libboost-test1.40-dev
-version: 2
-depends: libboost1.40-dev = 2 , libboost-test1.40.0 = 3
-conflicts: libboost-test1.40-dev , libboost-test-dev < 1 , libboost-test1.35-dev , libboost-test1.36-dev , libboost-test1.37-dev , libboost-test1.38-dev , libboost-test1.39-dev
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 2348
-
-package: libsqlite3-dev
-version: 4
-depends: libsqlite3-0 = 15 , libc6-dev
-conflicts: libsqlite3-dev
-installed: true
-number: 3.6.20-1
-source: sqlite3
-sourceversion: 3.6.20-1
-installedsize: 1052
-
-package: libjcode-pm-perl
-version: 1
-depends: perl >= 9
-conflicts: libjcode-pm-perl
-installed: true
-number: 2.06-1
-source: libjcode-pm-perl
-sourceversion: 2.06-1
-installedsize: 120
-
-package: python-foolscap
-version: 1
-depends: python , python-support >= 9 , python2.5 , python-twisted-core , python-twisted-web , python-zopeinterface--virtual | python-zopeinterface
-conflicts: python-foolscap
-installed: true
-number: 0.4.2+dfsg-1
-source: foolscap
-sourceversion: 0.4.2+dfsg-1
-installedsize: 1348
-
-package: liblapack3gf
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , libblas3gf | libblas.so.3gf--virtual | libblas.so.3gf | libatlas3gf-base , libc6 >= 1 , libgcc1 >= 3 , libgfortran3 >= 1
-conflicts: liblapack3gf , lapack99
-provides: liblapack.so.3gf--virtual
-installed: true
-number: 3.2.1-2
-source: lapack
-sourceversion: 3.2.1-2
-installedsize: 8992
-
-package: netcat-traditional
-version: 2
-depends: libc6 >= 15
-conflicts: netcat-traditional
-provides: netcat--virtual
-installed: true
-number: 1.10-38
-source: netcat
-sourceversion: 1.10-38
-installedsize: 244
-
-package: postgresql-client-common
-version: 2
-depends: debconf >= 9 | debconf-2.0--virtual | debconf-2.0
-conflicts: postgresql-client-common
-installed: true
-number: 101
-source: postgresql-common
-sourceversion: 101
-installedsize: 176
-
-package: libreadline6-dev
-version: 1
-depends: libreadline6 = 1 , libncurses5-dev , dpkg >= 24 | install-info
-conflicts: libreadline6-dev , libreadline5-dev
-installed: true
-number: 6.0-5
-source: readline6
-sourceversion: 6.0-5
-installedsize: 760
-
-package: ocaml-compiler-libs
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: ocaml-compiler-libs
-provides: ocaml-compiler-libs-3.11.1
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 5696
-
-package: libqt4-qt3support
-version: 6
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-designer = 6 , libqt4-network = 7 , libqt4-sql = 5 , libqt4-xml = 7 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3
-conflicts: libqt4-qt3support
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 3712
-
-package: x11-common
-version: 6
-depends: debconf | debconf-2.0--virtual | debconf-2.0 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , debianutils >= 5 , lsb-base >= 2
-conflicts: x11-common , gdm < 2 , aee <= 1 , ascd <= 1 , beaver <= 1 , bibview <= 1 , bugsx <= 1 , buici-clock <= 1 , communicator-smotif-477 , ctwm <= 1 , emelfm <= 1 , epan , fte-xwindow <= 1 , fvwm1 <= 1 , fvwm95 <= 1 , gerstensaft <= 1 , ghostview , gipsc <= 1 , grace <= 1 , grace6 <= 1 , gradio <= 1 , groff <= 3 , guitar <= 1 , hamsoft < 1 , hanterm-classic <= 1 , hanterm-xf <= 1 , hfsutils-tcltk <= 1 , ibp <= 1 , isdnutils-xtools <= 1 , ivtools-bin <= 2 , ivtools-dev <= 1 , kdrill <= 1 , kinput2-canna <= 1 , kinput2-canna-wnn <= 1 , kinput2-wnn <= 1 , kterm <= 1 , lbxproxy < 1 , libmotif-dev <= 1 , libxft-dev <= 1 , lm-batmon <= 1 , login.app <= 1 , lsb-core <= 2 , lwm <= 1 , mctools-lite <= 1 , mgp <= 1 , motif-clients <= 1 , navigator-smotif-477 , netscape-base-4 , olvwm <= 1 , olwm <= 1 , oneko <= 1 , opera < 1 , pgaccess <= 1 , phototk , pixmap <= 1 , plotmtv <= 1 , pmud <= 1 , ppxp <= 1 , ppxp-x11 <= 1 , procmeter <= 1 , propsel <= 1 , proxymngr < 1 , qcam <= 1 , regexplorer <= 1 , seyon <= 1 , skkinput <= 1 , stella < 1 , tkdesk <= 1 , tkseti <= 1 , tkworld , twlog <= 1 , twm < 1 , ucbmpeg-play < 1 , vide <= 1 , videogen <= 1 , vtwm <= 1 , w9wm <= 1 , wdm <= 1 , wily <= 1 , wmavgload <= 1 , wmcpu <= 1 , wmdate <= 1 , wmnet <= 1 , wmnetselect <= 1 , wmscope <= 1 , wmsensors <= 1 , wmtv <= 1 , x-common , xautolock <= 1 , xbanner <= 1 , xbase-clients < 3 , xbatt <= 1 , xbattbar <= 1 , xcal <= 1 , xcalendar-i18n <= 1 , xcb <= 1 , xclip <= 1 , xclips <= 1 , xcolors <= 1 , xcolorsel <= 1 , xdkcal <= 1 , xdm <= 1 , xdmx < 1 , xdu <= 1 , xearth <= 1 , xengine <= 1 , xephem <= 1 , xext , xezmlm <= 1 , xfaces <= 1 , xfishtank <= 1 , xfm <= 1 , xfractint < 1 , xfree86-common , xfs < 1 , xfs-xtt <= 1 , xftp , xfwp < 1 , xgdipc <= 1 , xgmod <= 1 , xgobi , xgraph <= 1 , xinput <= 1 , xipmsg <= 1 , xisp , xlbiff < 1 , xli <= 1 , xlockmore <= 1 , xlockmore-gl <= 1 , xlogmaster <= 1 , xmailbox <= 1 , xmem <= 1 , xmeter <= 1 , xmh <= 1 , xmix <= 1 , xmon <= 1 , xnecview <= 1 , xnest < 1 , xodo <= 1 , xorg-common , xpaste , xpmumon <= 1 , xpostit <= 1 , xpostitplus , xprint <= 1 , xrn <= 1 , xserver-common < 1 , xserver-xfree86 < 2 , xserver-xfree86-dbg , xserver-xorg < 2 , xslideshow <= 1 , xsysinfo <= 1 , xtel <= 1 , xterm < 2 , xtoolwait <= 1 , xtrkcad <= 1 , xtrlock <= 1 , xturqstat <= 1 , xutils < 3 , xv <= 1 , xvfb < 1 , xview-clients <= 1 , xviewg <= 1 , xviewg-dev <= 1 , xvkbd <= 1 , xwit <= 1 , xxkb <= 1 , xzoom <= 1 , yank <= 1
-installed: true
-number: 1:7.4+4
-source: xorg
-sourceversion: 1:7.4+4
-installedsize: 568
-
-package: libpq-dev
-version: 7
-depends: libc6 >= 8 , libpq5 = 4 , libssl-dev , libkrb5-dev , comerr-dev
-conflicts: libpq-dev , postgresql-dev < 1
-installed: true
-number: 8.4.1-1
-source: postgresql-8.4
-sourceversion: 8.4.1-1
-installedsize: 1044
-
-package: e2fslibs
-version: 3
-depends: libc6 >= 2
-conflicts: e2fslibs
-provides: libe2p2 , libext2fs2
-installed: true
-number: 1.41.9-1
-source: e2fsprogs
-sourceversion: 1.41.9-1
-installedsize: 320
-
-package: libgssglue1
-version: 1
-depends: libc6 >= 2
-conflicts: libgssglue1 , libgssapi2 <= 1
-installed: true
-number: 0.1-4
-source: libgssglue
-sourceversion: 0.1-4
-installedsize: 72
-
-package: libcap2
-version: 3
-depends: libattr1 >= 3 , libc6 >= 2
-conflicts: libcap2
-installed: true
-number: 1:2.17-2
-source: libcap2
-sourceversion: 1:2.17-2
-installedsize: 72
-
-package: liburi-fetch-perl
-version: 2
-depends: perl >= 9 , liburi-perl , libwww-perl , libclass-errorhandler-perl
-conflicts: liburi-fetch-perl
-installed: true
-number: 0.08-1
-source: liburi-fetch-perl
-sourceversion: 0.08-1
-installedsize: 88
-
-package: libmail-box-perl
-version: 1
-depends: perl >= 21 , libtimedate-perl , libio-stringy-perl , libmime-types-perl >= 1 , libmailtools-perl >= 5 , libobject-realize-later-perl >= 1 , liburi-perl >= 4 , libdigest-hmac-perl , libuser-identity-perl , libfile-remove-perl
-conflicts: libmail-box-perl
-installed: true
-number: 2.091-1
-source: libmail-box-perl
-sourceversion: 2.091-1
-installedsize: 3364
-
-package: libcgi-session-perl
-version: 3
-depends: perl >= 9
-conflicts: libcgi-session-perl
-installed: true
-number: 4.41-1
-source: libcgi-session-perl
-sourceversion: 4.41-1
-installedsize: 364
-
-package: w3m
-version: 2
-depends: libc6 >= 2 , libgc1c2 >= 1 , libgpm2 >= 1 , libncurses5 >= 3 , libssl0.9.8 >= 6 , zlib1g >= 1
-conflicts: w3m , w3m-ssl
-provides: www-browser--virtual
-installed: true
-number: 0.5.2-2.1
-source: w3m
-sourceversion: 0.5.2-2.1
-installedsize: 1964
-
-package: libboost-program-options-dev
-version: 2
-depends: libboost-program-options1.40-dev
-conflicts: libboost-program-options-dev
-installed: true
-number: 1.40.0.1
-source: boost-defaults
-sourceversion: 1.40.0.1
-installedsize: 32
-
-package: libgssrpc4
-version: 3
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 2 , libk5crypto3 >= 1 , libkrb5-3 >= 1
-conflicts: libgssrpc4
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 180
-
-package: emacs21-common
-version: 2
-depends: emacsen-common >= 1 , dpkg >= 6
-conflicts: emacs21-common , emacs21-el < 1 , w3-el
-installed: true
-number: 21.4a+1-5.7
-source: emacs21
-sourceversion: 21.4a+1-5.7
-installedsize: 34060
-
-package: python-flup
-version: 1
-depends: python >= 10 , python-support >= 9
-conflicts: python-flup
-installed: true
-number: 1.0.2-1
-source: flup
-sourceversion: 1.0.2-1
-installedsize: 328
-
-package: docbook-xsl-doc-html
-version: 1
-conflicts: docbook-xsl-doc-html , docbook-xsl < 3 , docbook-xsl-doc < 1
-provides: docbook-xsl-doc--virtual
-installed: true
-number: 1.75.2-1
-source: docbook-xsl-doc
-sourceversion: 1.75.2-1
-installedsize: 5784
-
-package: x11proto-core-dev
-version: 3
-depends: x11-common >= 4
-conflicts: x11proto-core-dev , x-dev < 1
-installed: true
-number: 7.0.15-1
-source: x11proto-core
-sourceversion: 7.0.15-1
-installedsize: 488
-
-package: krb5-user
-version: 1
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 1 , libgssrpc4 >= 1 , libk5crypto3 >= 3 , libkadm5clnt6 >= 1 , libkeyutils1 , libkrb5-3 = 4 , libkrb5support0 >= 1 , libss2 >= 1 , krb5-config
-conflicts: krb5-user , heimdal-clients
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 316
-
-package: libcupsimage2
-version: 4
-depends: libavahi-client3 >= 1 , libavahi-common3 >= 1 , libc6 >= 14 , libcups2 >= 2 , libjpeg62 , libpng12-0 >= 3 , libtiff4 , zlib1g >= 1
-conflicts: libcupsimage2
-installed: true
-number: 1.4.2-2
-source: cups
-sourceversion: 1.4.2-2
-installedsize: 236
-
-package: libjpeg-progs
-version: 2
-depends: libc6 >= 14 , libjpeg7
-conflicts: libjpeg-progs
-installed: true
-number: 7-1
-source: libjpeg7
-sourceversion: 7-1
-installedsize: 224
-
-package: texlive-science-doc
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1
-conflicts: texlive-science-doc
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 9868
-
-package: xpdf-reader
-version: 2
-depends: lesstif2 , libc6 >= 15 , libfreetype6 >= 6 , libgcc1 >= 3 , libice6 >= 1 , libpaper1 , libsm6 , libstdc++6 >= 3 , libt1-5 >= 1 , libx11-6 , libxext6 , libxp6 , libxpm4 , libxt6 , gsfonts >= 2 , xpdf-common >= 2 , xpdf-common < 3
-conflicts: xpdf-reader , xpdf <= 1 , xpdf-i <= 1
-provides: pdf-viewer--virtual , postscript-preview--virtual
-installed: true
-number: 3.02-1.4+lenny1
-source: xpdf
-sourceversion: 3.02-1.4+lenny1
-installedsize: 2508
-
-package: libboost-serialization1.40.0
-version: 3
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: libboost-serialization1.40.0
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 900
-
-package: libxss1
-version: 1
-depends: libc6 >= 15 , libx11-6 , libxext6 , x11-common
-conflicts: libxss1
-installed: true
-number: 1:1.1.3-1
-source: libxss
-sourceversion: 1:1.1.3-1
-installedsize: 68
-
-package: libglib2.0-dev
-version: 30
-depends: libc6 >= 1 , libpcre3 >= 5 , libglib2.0-0 = 31 , pkg-config >= 1
-conflicts: libglib2.0-dev , libglib1.3-dev
-installed: true
-number: 2.22.2-2
-source: glib2.0
-sourceversion: 2.22.2-2
-installedsize: 5276
-
-package: ocamlduce
-version: 2
-depends: ocaml-interp , ocaml-findlib , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocamlduce-base-3.11.1.0--virtual | ocamlduce-base-3.11.1.0 , libc6 >= 2 , libncurses5 >= 3
-conflicts: ocamlduce
-provides: ocamlduce-3.11.1.0--virtual
-installed: true
-number: 3.11.1.0-3
-source: ocamlduce
-sourceversion: 3.11.1.0-3
-installedsize: 63712
-
-package: texlive-lang-other
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-other
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 380
-
-package: libumfpack5.4.0
-version: 2
-depends: libamd2.2.0 >= 1 , libblas3gf | libblas.so.3gf--virtual | libblas.so.3gf | libatlas3gf-base , libc6 >= 1
-conflicts: libumfpack5.4.0
-installed: true
-number: 1:3.4.0-1
-source: suitesparse
-sourceversion: 1:3.4.0-1
-installedsize: 836
-
-package: python-twisted-core
-version: 8
-depends: python >= 9 , python-central >= 14 , python-twisted-bin >= 1 , python-zope.interface | python-zopeinterface >= 2
-conflicts: python-twisted-core , python-twisted < 3 , python2.3-twisted < 1 , python2.3-twisted-core , python2.4-twisted < 1 , python2.4-twisted-core
-installed: true
-number: 8.2.0-3
-source: twisted
-sourceversion: 8.2.0-3
-installedsize: 5472
-
-package: libplrpc-perl
-version: 1
-depends: perl >= 9 , libstorable-perl--virtual | libstorable-perl | perl-modules >= 7 , libnet-daemon-perl
-conflicts: libplrpc-perl
-installed: true
-number: 0.2020-2
-source: libplrpc-perl
-sourceversion: 0.2020-2
-installedsize: 100
-
-package: libgl1-mesa-glx
-version: 2
-depends: libc6 >= 1 , libdrm2 >= 1 , libx11-6 , libxdamage1 >= 1 , libxext6 , libxfixes3 >= 1 , libxxf86vm1
-conflicts: libgl1-mesa-glx , libgl1--virtual , libgl1 , libgl1-mesa-dri < 1
-provides: libgl1--virtual
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 560
-
-package: texlive-lang-dutch
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-dutch
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 272
-
-package: libpq5
-version: 4
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 2 , libkrb5-3 >= 1 , libldap-2.4-2 >= 1 , libssl0.9.8 >= 6
-conflicts: libpq5
-installed: true
-number: 8.4.1-1
-source: postgresql-8.4
-sourceversion: 8.4.1-1
-installedsize: 560
-
-package: libnethttpd-ocaml-dev
-version: 1
-depends: ocaml-findlib , libocamlnet-ocaml-dev-3rxe6--virtual | libocamlnet-ocaml-dev-3rxe6 , libpcre-ocaml-dev-kh2c0--virtual | libpcre-ocaml-dev-kh2c0 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libnethttpd-ocaml-dev
-provides: libnethttpd-ocaml-dev-tp6x3--virtual
-installed: true
-number: 2.2.9-7
-source: ocamlnet
-sourceversion: 2.2.9-7
-installedsize: 3576
-
-package: libjs-jquery
-version: 6
-conflicts: libjs-jquery , jquery
-installed: true
-number: 1.3.3-2
-source: jquery
-sourceversion: 1.3.3-2
-installedsize: 168
-
-package: librpm-dev
-version: 2
-depends: librpm0 = 4 , librpmio0 = 4 , librpmbuild0 = 3 , libc6-dev , libpopt-dev >= 2 , libdb4.7-dev , libbz2-dev , libz-dev--virtual | libz-dev , libbeecrypt-dev , libneon27-gnutls-dev , libxml2-dev , libreadline-dev , libselinux1-dev , libsqlite3-dev
-conflicts: librpm-dev , librpm0-dev--virtual , librpm0-dev , librpm1-dev < 1
-provides: librpm0-dev--virtual
-installed: true
-number: 4.7.1-11
-source: rpm
-sourceversion: 4.7.1-11
-installedsize: 988
-
-package: net-tools
-version: 1
-depends: libc6 >= 2
-conflicts: net-tools , ja-trans <= 2
-installed: true
-number: 1.60-23
-source: net-tools
-sourceversion: 1.60-23
-installedsize: 1016
-
-package: libcap1
-version: 1
-depends: libc6 >= 7
-conflicts: libcap1
-installed: true
-number: 1:1.10-14
-source: libcap
-sourceversion: 1:1.10-14
-installedsize: 64
-
-package: libqt4-svg
-version: 5
-depends: libc6 >= 1 , libgcc1 >= 3 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3 , zlib1g >= 1
-conflicts: libqt4-svg , libqt4-gui < 5
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 532
-
-package: libboost-serialization1.40-dev
-version: 2
-depends: libboost1.40-dev = 2 , libboost-serialization1.40.0 = 3
-conflicts: libboost-serialization1.40-dev , libboost-serialization-dev < 1 , libboost-serialization1.35-dev , libboost-serialization1.36-dev , libboost-serialization1.37-dev , libboost-serialization1.38-dev , libboost-serialization1.39-dev
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 2184
-
-package: libbdd0c2
-version: 1
-depends: libc6 >= 13 , libgcc1 >= 9 , libstdc++6 >= 9
-conflicts: libbdd0c2 , libbdd0
-installed: true
-number: 2.4-6
-source: buddy
-sourceversion: 2.4-6
-installedsize: 176
-
-package: libqt4-sql
-version: 5
-depends: libc6 >= 1 , libgcc1 >= 3 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-sql
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 348
-
-package: libdbi-perl
-version: 20
-depends: perl >= 45 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 2 , libplrpc-perl
-conflicts: libdbi-perl
-installed: true
-number: 1.609-1
-source: libdbi-perl
-sourceversion: 1.609-1
-installedsize: 2124
-
-package: subversion-tools
-version: 2
-depends: subversion >= 2
-conflicts: subversion-tools
-installed: true
-number: 1.6.6dfsg-1
-source: subversion
-sourceversion: 1.6.6dfsg-1
-installedsize: 680
-
-package: xpdf
-version: 2
-depends: xpdf-reader , xpdf-utils--virtual | xpdf-utils , xpdf-common
-conflicts: xpdf , xpdf-i <= 1
-installed: true
-number: 3.02-1.4+lenny1
-source: xpdf
-sourceversion: 3.02-1.4+lenny1
-installedsize: 36
-
-package: grep
-version: 5
-depends: libc6 >= 15
-conflicts: grep , rgrep--virtual , rgrep
-provides: rgrep--virtual
-installed: true
-number: 2.5.4-4
-source: grep
-sourceversion: 2.5.4-4
-installedsize: 800
-
-package: manpages
-version: 3
-conflicts: manpages
-installed: true
-number: 3.23-1
-source: manpages
-sourceversion: 3.23-1
-installedsize: 1104
-
-package: libnet1
-version: 4
-depends: libc6 >= 2
-conflicts: libnet1
-installed: true
-number: 1.1.4-2
-source: libnet
-sourceversion: 1.1.4-2
-installedsize: 184
-
-package: libclass-base-perl
-version: 1
-depends: perl
-conflicts: libclass-base-perl
-installed: true
-number: 0.03-4
-source: libclass-base-perl
-sourceversion: 0.03-4
-installedsize: 88
-
-package: debconf-utils
-version: 2
-depends: debconf >= 20
-conflicts: debconf-utils , debconf < 1
-installed: true
-number: 1.5.28
-source: debconf
-sourceversion: 1.5.28
-installedsize: 164
-
-package: libcompress-raw-bzip2-perl
-version: 3
-depends: libbz2-1.0 , libc6 >= 1 , perl >= 47 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: libcompress-raw-bzip2-perl
-installed: true
-number: 2.021-1
-source: libcompress-raw-bzip2-perl
-sourceversion: 2.021-1
-installedsize: 148
-
-package: libparse-debianchangelog-perl
-version: 2
-depends: libclass-accessor-perl , libio-string-perl , liblocale-gettext-perl , libtimedate-perl , perl >= 9
-conflicts: libparse-debianchangelog-perl
-installed: true
-number: 1.1.1-2
-source: libparse-debianchangelog-perl
-sourceversion: 1.1.1-2
-installedsize: 252
-
-package: portmap
-version: 1
-depends: libc6 >= 1 , libwrap0 >= 1 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , lsb-base >= 21
-conflicts: portmap , sysv-rc < 2
-installed: true
-number: 6.0.0-1
-source: portmap
-sourceversion: 6.0.0-1
-installedsize: 172
-
-package: lacheck
-version: 1
-depends: libc6 >= 15
-conflicts: lacheck , auctex <= 1
-installed: true
-number: 1.26-11.1
-source: lacheck
-sourceversion: 1.26-11.1
-installedsize: 144
-
-package: lmodern
-version: 2
-depends: defoma >= 3 , tex-common >= 5 , xfonts-utils
-conflicts: lmodern , lm , lmodern-x11
-installed: true
-number: 1.010x-5
-source: lmodern
-sourceversion: 1.010x-5
-installedsize: 46180
-
-package: dpkg
-version: 26
-depends: libc6 >= 5 , coreutils >= 12 , lzma
-conflicts: dpkg , emacs21 < 2 , emacs21-nox < 1 , emacs22 <= 1 , emacs22-gtk <= 1 , emacs22-nox <= 1 , jed < 1 , jed-extra <= 2 , konqueror <= 3 , pinfo < 1 , tkinfo < 1 , xemacs21-support < 2 , xjed < 1 , apt < 9 , aptitude < 3 , dpkg-dev < 13 , dpkg-iasearch < 1 , sysvinit < 1
-installed: true
-number: 1.15.5.2
-source: dpkg
-sourceversion: 1.15.5.2
-installedsize: 6684
-
-package: liborbit2
-version: 4
-depends: libc6 >= 2 , libglib2.0-0 >= 13 , libidl0
-conflicts: liborbit2 , libbonobo-activation4 < 2 , liblinc1 < 1 , liborbit2-dev < 1
-installed: true
-number: 1:2.14.17-1
-source: orbit2
-sourceversion: 1:2.14.17-1
-installedsize: 736
-
-package: libsoap-lite-perl
-version: 5
-depends: perl >= 48 , libossp-uuid-perl , libxml-parser-perl , libwww-perl , libcrypt-ssleay-perl , liburi-perl , libfcgi-perl , libmime-tools-perl , libio-socket-ssl-perl , libio-stringy-perl , libtask-weaken-perl
-conflicts: libsoap-lite-perl , libsoap-perl
-installed: true
-number: 0.710.10-1
-source: libsoap-lite-perl
-sourceversion: 0.710.10-1
-installedsize: 1404
-
-package: libc6
-version: 20
-depends: libc-bin = 1 , libgcc1
-conflicts: libc6 , nscd < 2 , tzdata < 2 , tzdata-etch
-provides: glibc-2.10-1--virtual
-installed: true
-number: 2.10.1-7
-source: eglibc
-sourceversion: 2.10.1-7
-installedsize: 9928
-
-package: libkrb5-3
-version: 4
-depends: libc6 >= 17 , libcomerr2 >= 3 , libk5crypto3 >= 4 , libkeyutils1 , libkrb5support0 = 2
-conflicts: libkrb5-3 , libapache-mod-auth-kerb <= 1 , libapache2-mod-auth-kerb <= 1 , ssh-krb5 < 1
-installed: true
-number: 1.7dfsg~beta3-1
-source: krb5
-sourceversion: 1.7dfsg~beta3-1
-installedsize: 884
-
-package: dvipdfmx
-version: 2
-depends: texlive-base-bin , debconf | debconf-2.0--virtual | debconf-2.0 , libc6 >= 14 , libkpathsea4 >= 1 , libpaper1 , libpng12-0 >= 3 , zlib1g >= 1
-conflicts: dvipdfmx , dvipdfm-cjk < 1
-installed: true
-number: 1:20090708-1
-source: dvipdfmx
-sourceversion: 1:20090708-1
-installedsize: 916
-
-package: logtail
-version: 3
-depends: perl >= 14
-conflicts: logtail
-installed: true
-number: 1.3.3
-source: logcheck
-sourceversion: 1.3.3
-installedsize: 136
-
-package: libgl1-mesa-dri
-version: 2
-depends: libc6 >= 1 , libdrm-intel1 >= 3 , libdrm2 >= 1 , libexpat1 >= 1
-conflicts: libgl1-mesa-dri , libgl1-mesa-glx < 1 , xserver-xorg-core < 1 , xlibmesa-dri < 1
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 38408
-
-package: libcroco3
-version: 3
-depends: libc6 >= 1 , libglib2.0-0 >= 13 , libxml2 >= 17
-conflicts: libcroco3
-installed: true
-number: 0.6.2-1
-source: libcroco
-sourceversion: 0.6.2-1
-installedsize: 352
-
-package: libfontenc1
-version: 1
-depends: libc6 >= 15 , zlib1g >= 1
-conflicts: libfontenc1
-installed: true
-number: 1:1.0.4-3
-source: libfontenc
-sourceversion: 1:1.0.4-3
-installedsize: 84
-
-package: libc-bin
-version: 1
-conflicts: libc-bin , libc0.1 < 1 , libc0.3 < 1 , libc6 < 17 , libc6.1 < 1
-installed: true
-number: 2.10.1-7
-source: eglibc
-sourceversion: 2.10.1-7
-installedsize: 1588
-
-package: vim-common
-version: 4
-depends: libc6 >= 2
-conflicts: vim-common
-installed: true
-number: 2:7.2.284-1
-source: vim
-sourceversion: 2:7.2.284-1
-installedsize: 372
-
-package: libgl1-mesa-dev
-version: 1
-depends: libc6-dev , mesa-common-dev = 1 , libgl1-mesa-glx = 2
-conflicts: libgl1-mesa-dev , libgl-dev--virtual , libgl-dev , libgl1-mesa-dri-dev--virtual , libgl1-mesa-dri-dev
-provides: libgl-dev--virtual , libgl1-mesa-dri-dev--virtual
-installed: true
-number: 7.6-1
-source: mesa
-sourceversion: 7.6-1
-installedsize: 36
-
-package: procps
-version: 2
-depends: libc6 >= 5 , libncurses5 >= 3 , lsb-base >= 11 , initscripts
-conflicts: procps , libproc-dev < 1 , pgrep < 1 , procps-nonfree , w-bassman < 1 , watch--virtual , watch
-provides: watch--virtual
-installed: true
-number: 1:3.2.8-2
-source: procps
-sourceversion: 1:3.2.8-2
-installedsize: 656
-
-package: libauthen-sasl-perl
-version: 3
-depends: perl
-conflicts: libauthen-sasl-perl
-installed: true
-number: 2.13-1
-source: libauthen-sasl-perl
-sourceversion: 2.13-1
-installedsize: 141
-
-package: texlive-lang-swedish
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-swedish
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 360
-
-package: libssl0.9.8
-version: 9
-depends: libc6 >= 14 , zlib1g >= 1 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: libssl0.9.8 , libssl , libssl096-dev < 1 , openssl < 2 , ssleay < 1
-installed: true
-number: 0.9.8k-6
-source: openssl
-sourceversion: 0.9.8k-6
-installedsize: 2388
-
-package: hicolor-icon-theme
-version: 1
-conflicts: hicolor-icon-theme
-installed: true
-number: 0.11-1
-source: hicolor-icon-theme
-sourceversion: 0.11-1
-installedsize: 52
-
-package: libxml2-dev
-version: 18
-depends: libxml2 = 18
-conflicts: libxml2-dev , libxml2 <= 8 , libxml2-headers = 1
-installed: true
-number: 2.7.6.dfsg-1
-source: libxml2
-sourceversion: 2.7.6.dfsg-1
-installedsize: 2756
-
-package: libdb4.4
-version: 1
-depends: libc6 >= 15
-conflicts: libdb4.4 , libdb2 < 1
-installed: true
-number: 4.4.20-12
-source: db4.4
-sourceversion: 4.4.20-12
-installedsize: 1152
-
-package: libcryptokit-ocaml
-version: 2
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1 , zlib1g >= 1
-conflicts: libcryptokit-ocaml
-provides: libcryptokit-ocaml-jki10--virtual
-installed: true
-number: 1.3-14
-source: cryptokit
-sourceversion: 1.3-14
-installedsize: 824
-
-package: liblist-moreutils-perl
-version: 6
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 1
-conflicts: liblist-moreutils-perl
-installed: true
-number: 0.25~02-1
-source: liblist-moreutils-perl
-sourceversion: 0.25~02-1
-installedsize: 220
-
-package: libisccc50
-version: 1
-depends: libc6 >= 8 , libcap2 >= 1 , libisc50 = 1 , libxml2 >= 13
-conflicts: libisccc50 , libbind0 , libbind9-41
-installed: true
-number: 1:9.6.1.dfsg.P1-3
-source: bind9
-sourceversion: 1:9.6.1.dfsg.P1-3
-installedsize: 92
-
-package: libledit-ocaml-dev
-version: 1
-depends: camlp5-2k0x6--virtual | camlp5-2k0x6 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocaml-findlib , camlp5
-conflicts: libledit-ocaml-dev
-provides: libledit-ocaml-dev-kddg4
-installed: true
-number: 2.01-5
-source: ledit
-sourceversion: 2.01-5
-installedsize: 368
-
-package: libsvn1
-version: 6
-depends: libapr1 >= 2 , libaprutil1 >= 2 , libc6 >= 2 , libdb4.7 , libldap-2.4-2 >= 1 , libneon27-gnutls >= 4 , libsasl2-2 , libserf-0-0 >= 2 , libsqlite3-0 >= 13 , zlib1g >= 1
-conflicts: libsvn1
-installed: true
-number: 1.6.6dfsg-1
-source: subversion
-sourceversion: 1.6.6dfsg-1
-installedsize: 2256
-
-package: libt1-5
-version: 3
-depends: libc6 >= 15 , libx11-6
-conflicts: libt1-5
-installed: true
-number: 5.1.2-3
-source: t1lib
-sourceversion: 5.1.2-3
-installedsize: 380
-
-package: texlive-bibtex-extra
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-bibtex-extra
-installed: true
-number: 2007.dfsg.17-2
-source: texlive-extra
-sourceversion: 2007.dfsg.17-2
-installedsize: 11212
-
-package: python-support
-version: 11
-depends: python >= 16 , dpkg >= 20
-conflicts: python-support , debhelper < 19
-installed: true
-number: 1.0.4
-source: python-support
-sourceversion: 1.0.4
-installedsize: 116
-
-package: aspell-fr
-version: 1
-depends: aspell >= 3 , dictionaries-common >= 2
-conflicts: aspell-fr
-provides: aspell-dictionary
-installed: true
-number: 0.50-3-6
-source: aspell-fr
-sourceversion: 0.50-3-6
-installedsize: 644
-
-package: acl
-version: 2
-depends: libacl1 >= 1 , libattr1 >= 3 , libc6 >= 1
-conflicts: acl
-installed: true
-number: 2.2.48-1
-source: acl
-sourceversion: 2.2.48-1
-installedsize: 276
-
-package: libparams-util-perl
-version: 12
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 1
-conflicts: libparams-util-perl
-installed: true
-number: 1.00-1
-source: libparams-util-perl
-sourceversion: 1.00-1
-installedsize: 124
-
-package: gcc-4.4-base
-version: 4
-conflicts: gcc-4.4-base
-installed: true
-number: 4.4.2-3
-source: gcc-4.4
-sourceversion: 4.4.2-3
-installedsize: 168
-
-package: libsub-name-perl
-version: 3
-depends: perl >= 37 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15
-conflicts: libsub-name-perl
-installed: true
-number: 0.04-1
-source: libsub-name-perl
-sourceversion: 0.04-1
-installedsize: 88
-
-package: linux-modules-2.6.18-6-xen-amd64
-version: 1
-depends: module-init-tools >= 2
-conflicts: linux-modules-2.6.18-6-xen-amd64
-installed: true
-number: 2.6.18.dfsg.1-18etch6
-source: linux-2.6
-sourceversion: 2.6.18.dfsg.1-18etch6
-installedsize: 64308
-
-package: libexpat1
-version: 2
-depends: libc6 >= 1
-conflicts: libexpat1 , wink <= 1
-installed: true
-number: 2.0.1-5
-source: expat
-sourceversion: 2.0.1-5
-installedsize: 388
-
-package: libdb4.6
-version: 2
-depends: libc6 >= 3
-conflicts: libdb4.6 , libdb2 < 1
-installed: true
-number: 4.6.21-15
-source: db4.6
-sourceversion: 4.6.21-15
-installedsize: 1332
-
-package: jocaml-base
-version: 1
-depends: libc6 >= 14
-conflicts: jocaml-base
-provides: jocaml-base-
-installed: true
-number: 3.11.1-3
-source: jocaml
-sourceversion: 3.11.1-3
-installedsize: 1764
-
-package: python-gobject
-version: 18
-depends: python < 21 , python >= 16 , python-support >= 9 , python2.5 >= 3 , libc6 >= 1 , libffi5 >= 1 , libgirepository1.0-0 , libglib2.0-0 >= 26
-conflicts: python-gobject , python-gtk2 < 23
-provides: python2.5-gobject--virtual
-installed: true
-number: 2.20.0-1
-source: pygobject
-sourceversion: 2.20.0-1
-installedsize: 776
-
-package: sensible-utils
-version: 1
-conflicts: sensible-utils
-installed: true
-number: 0.0.1
-source: sensible-utils
-sourceversion: 0.0.1
-installedsize: 100
-
-package: x11-utils
-version: 1
-depends: x11-common >= 4 , libc6 >= 15 , libfontconfig1 >= 2 , libfontenc1 , libfreetype6 >= 6 , libgl1-mesa-glx | libgl1--virtual | libgl1 , libice6 >= 1 , libsm6 , libx11-6 , libxaw7 , libxext6 , libxft2 > 1 , libxi6 , libxinerama1 , libxmu6 , libxmuu1 , libxrender1 , libxt6 , libxtst6 , libxv1 , libxxf86dga1 , libxxf86vm1 , zlib1g >= 1 , cpp
-conflicts: x11-utils , appres , editres , listres , luit , viewres , xdpyinfo , xdriinfo , xev , xfd , xfontsel , xkill , xlsatoms , xlsclients , xlsfonts , xmessage , xprop , xvinfo , xwininfo
-installed: true
-number: 7.4+1
-source: x11-utils
-sourceversion: 7.4+1
-installedsize: 644
-
-package: talk
-version: 1
-depends: libc6 >= 1 , libncurses5 >= 3
-conflicts: talk
-installed: true
-number: 0.17-14
-source: netkit-ntalk
-sourceversion: 0.17-14
-installedsize: 92
-
-package: libgnutls13
-version: 1
-depends: libc6 >= 15 , libgcrypt11 >= 2 , libgpg-error0 >= 1 , liblzo2-2 , libopencdk10 >= 1 , libtasn1-3 >= 1 , zlib1g >= 1
-conflicts: libgnutls13 , gnutls0 , gnutls0.4
-installed: true
-number: 2.0.4-4
-source: gnutls13
-sourceversion: 2.0.4-4
-installedsize: 1080
-
-package: libneon27-gnutls
-version: 5
-depends: libc6 >= 2 , libcomerr2 >= 1 , libgnutls26 >= 4 , libgssapi-krb5-2 >= 2 , libk5crypto3 >= 1 , libkrb5-3 >= 1 , libxml2 >= 17 , zlib1g >= 1
-conflicts: libneon27-gnutls
-installed: true
-number: 0.29.0-1
-source: neon27
-sourceversion: 0.29.0-1
-installedsize: 248
-
-package: libtype-conv-camlp4-dev
-version: 2
-depends: ocaml-findlib , camlp4-3.11.1--virtual | camlp4-3.11.1 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libtype-conv-camlp4-dev
-provides: libtype-conv-camlp4-dev-lvsx4--virtual
-installed: true
-number: 1.6.10-1
-source: type-conv
-sourceversion: 1.6.10-1
-installedsize: 228
-
-package: camlp4
-version: 2
-depends: libc6 >= 14 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: camlp4
-provides: camlp4-3.11.1--virtual
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 49620
-
-package: libgomp1
-version: 6
-depends: gcc-4.4-base = 4 , libc6 >= 11
-conflicts: libgomp1
-installed: true
-number: 4.4.2-3
-source: gcc-4.4
-sourceversion: 4.4.2-3
-installedsize: 96
-
-package: gs-common
-version: 3
-depends: ghostscript
-conflicts: gs-common
-installed: true
-number: 8.70~dfsg-2
-source: ghostscript
-sourceversion: 8.70~dfsg-2
-installedsize: 100
-
-package: x11proto-kb-dev
-version: 1
-depends: x11-common >= 4
-conflicts: x11proto-kb-dev , libxkbfile-dev < 1
-installed: true
-number: 1.0.3-3
-source: x11proto-kb
-sourceversion: 1.0.3-3
-installedsize: 180
-
-package: ocsigen
-version: 5
-depends: adduser , psmisc , procps , libfindlib-ocaml-dfzt4--virtual | libfindlib-ocaml-dfzt4 , liblwt-ocaml-rs5r6--virtual | liblwt-ocaml-rs5r6 , libocamlnet-ocaml-3rxe6--virtual | libocamlnet-ocaml-3rxe6 , libocsigen-ocaml-2k0y3--virtual | libocsigen-ocaml-2k0y3 , libpcre-ocaml-kh2c0--virtual | libpcre-ocaml-kh2c0 , libreact-ocaml-71dv4--virtual | libreact-ocaml-71dv4 , libssl-ocaml-m8hz4--virtual | libssl-ocaml-m8hz4 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 14 , libpcre3 >= 5 , libssl0.9.8 >= 6
-conflicts: ocsigen , nurpawiki < 3
-provides: httpd--virtual , httpd-cgi--virtual
-installed: true
-number: 1.2.2-1
-source: ocsigen
-sourceversion: 1.2.2-1
-installedsize: 7400
-
-package: libpopt-dev
-version: 3
-depends: libc6-dev | libc-dev--virtual | libc-dev , libpopt0 = 5
-conflicts: libpopt-dev , popt
-installed: true
-number: 1.15-1
-source: popt
-sourceversion: 1.15-1
-installedsize: 164
-
-package: dhcp3-common
-version: 1
-depends: debianutils >= 15 , libc6 >= 2
-conflicts: dhcp3-common
-installed: true
-number: 3.1.3-1
-source: dhcp3
-sourceversion: 3.1.3-1
-installedsize: 588
-
-package: scrollkeeper
-version: 2
-depends: rarian-compat
-conflicts: scrollkeeper
-installed: true
-number: 0.8.1-4
-source: rarian
-sourceversion: 0.8.1-4
-installedsize: 32
-
-package: libtie-ixhash-perl
-version: 2
-depends: perl >= 9
-conflicts: libtie-ixhash-perl
-installed: true
-number: 1.21-2
-source: libtie-ixhash-perl
-sourceversion: 1.21-2
-installedsize: 84
-
-package: libfile-spec-perl
-version: 5
-depends: perl >= 51 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 8
-conflicts: libfile-spec-perl , libpathtools-perl < 1
-provides: libpathtools-perl--virtual
-installed: true
-number: 3.3100-1
-source: libfile-spec-perl
-sourceversion: 3.3100-1
-installedsize: 244
-
-package: libavahi-common3
-version: 3
-depends: libc6 >= 8 , libavahi-common-data
-conflicts: libavahi-common3
-installed: true
-number: 0.6.25-1
-source: avahi
-sourceversion: 0.6.25-1
-installedsize: 144
-
-package: libextlib-ocaml-dev
-version: 2
-depends: libextlib-ocaml-qy507--virtual | libextlib-ocaml-qy507 , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libextlib-ocaml-dev
-provides: libextlib-ocaml-dev-qy507--virtual
-installed: true
-number: 1.5.1-5
-source: extlib
-sourceversion: 1.5.1-5
-installedsize: 1996
-
-package: opensp
-version: 3
-depends: libc6 >= 2 , libgcc1 >= 3 , libosp5 >= 1 , libstdc++6 >= 3 , sgml-base
-conflicts: opensp
-installed: true
-number: 1.5.2-8
-source: opensp
-sourceversion: 1.5.2-8
-installedsize: 1044
-
-package: lintian
-version: 2
-depends: perl , libdigest-md5-perl--virtual | libdigest-md5-perl | perl > 13 , dpkg-dev >= 7 , file , binutils , diffstat >= 1 , man-db >= 1 , gettext >= 4 , intltool-debian , libclass-accessor-perl , libdigest-sha-perl--virtual | libdigest-sha-perl , libparse-debianchangelog-perl >= 1 , libtimedate-perl , liburi-perl , libipc-run-perl , libapt-pkg-perl
-conflicts: lintian
-installed: true
-number: 2.2.18
-source: lintian
-sourceversion: 2.2.18
-installedsize: 1844
-
-package: apt-listchanges
-version: 1
-depends: python >= 10 , python-support >= 9 , apt >= 4 , python-apt , ucf >= 4 , debianutils >= 11 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: apt-listchanges
-installed: true
-number: 2.83+nmu1
-source: apt-listchanges
-sourceversion: 2.83+nmu1
-installedsize: 504
-
-package: rpm-common
-version: 1
-conflicts: rpm-common , librpm0 < 3 , rpm < 8
-installed: true
-number: 4.7.1-11
-source: rpm
-sourceversion: 4.7.1-11
-installedsize: 840
-
-package: libttf2
-version: 1
-depends: libc6 >= 13
-conflicts: libttf2
-installed: true
-number: 1.4pre.cvs20060210-1
-source: freetype1
-sourceversion: 1.4pre.cvs20060210-1
-installedsize: 444
-
-package: libpng12-0
-version: 5
-depends: libc6 >= 1 , zlib1g >= 1
-conflicts: libpng12-0 , libpng12-dev <= 4 , mzscheme <= 2 , pngcrush <= 1 , pngmeta <= 1 , povray-3.5 <= 1 , qemacs <= 1
-installed: true
-number: 1.2.40-1
-source: libpng
-sourceversion: 1.2.40-1
-installedsize: 332
-
-package: ttf-dejavu-extra
-version: 1
-depends: defoma , ttf-dejavu-core
-conflicts: ttf-dejavu-extra , ttf-dejavu < 1
-installed: true
-number: 2.30-1
-source: ttf-dejavu
-sourceversion: 2.30-1
-installedsize: 5772
-
-package: dictionaries-common
-version: 18
-depends: debconf >= 28 | debconf-2.0--virtual | debconf-2.0 , libtext-iconv-perl
-conflicts: dictionaries-common , iamerican <= 1 , ibrazilian < 1 , ibritish <= 1 , ibulgarian <= 1 , icatalan <= 1 , iczech <= 1 , idanish < 1 , idutch <= 1 , iesperanto < 1 , ifaroese <= 1 , ifinnish < 1 , ifinnish-large < 1 , ifinnish-small < 1 , ifrench <= 1 , ifrench-gut <= 1 , igerman , ihungarian <= 1 , iitalian < 1 , ingerman < 1 , inorwegian < 1 , ipolish < 1 , iportuguese < 1 , irussian <= 1 , ispanish < 1 , ispell <= 2 , ispell-ga , iswedish <= 1 , miscfiles < 1 , openoffice.org-updatedicts--virtual , openoffice.org-updatedicts , wbritish <= 1 , wbulgarian <= 1 , wcatalan <= 1 , wdanish < 1 , wdutch <= 1 , wenglish <= 1 , wfaroese <= 1 , wfinnish < 1 , wfrench <= 1 , wgerman , witalian <= 1 , wngerman < 1 , wnorwegian < 1 , wpolish < 1 , wspanish <= 1 , wswedish <= 1
-provides: openoffice.org-updatedicts--virtual
-installed: true
-number: 1.3.2
-source: dictionaries-common
-sourceversion: 1.3.2
-installedsize: 1012
-
-package: libgcc1
-version: 15
-depends: gcc-4.4-base = 4 , libc6 >= 1
-conflicts: libgcc1
-installed: true
-number: 1:4.4.2-3
-source: gcc-4.4
-sourceversion: 4.4.2-3
-installedsize: 132
-
-package: linux-libc-dev
-version: 3
-conflicts: linux-libc-dev , linux-kernel-headers--virtual , linux-kernel-headers
-provides: linux-kernel-headers--virtual
-installed: true
-number: 2.6.31-2
-source: linux-2.6
-sourceversion: 2.6.31-2
-installedsize: 4348
-
-package: libpam-ldap
-version: 1
-depends: libc6 >= 1 , libldap-2.4-2 >= 1 , libpam0g >= 2 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: libpam-ldap
-installed: true
-number: 184-8.1
-source: libpam-ldap
-sourceversion: 184-8.1
-installedsize: 384
-
-package: libncursesw5
-version: 3
-depends: libc6 >= 5
-conflicts: libncursesw5
-installed: true
-number: 5.7+20090803-2
-source: ncurses
-sourceversion: 5.7+20090803-2
-installedsize: 712
-
-package: python-minimal
-version: 1
-depends: python2.5-minimal >= 1 , dpkg >= 14
-conflicts: python-minimal , python <= 11 , python-central < 2
-installed: true
-number: 2.5.4-2
-source: python-defaults
-sourceversion: 2.5.4-2
-installedsize: 88
-
-package: diffstat
-version: 2
-depends: libc6 >= 2
-conflicts: diffstat
-installed: true
-number: 1.47-1
-source: diffstat
-sourceversion: 1.47-1
-installedsize: 84
-
-package: debconf
-version: 32
-depends: perl-base >= 4 , debconf-i18n | debconf-english
-conflicts: debconf , apt < 2 , cdebconf < 3 , debconf-tiny , debconf-utils < 1 , dialog < 3 , menu <= 3 , whiptail < 1 , whiptail-utf8 <= 1
-provides: debconf-2.0--virtual
-installed: true
-number: 1.5.28
-source: debconf
-sourceversion: 1.5.28
-installedsize: 1344
-
-package: libxml-light-ocaml-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libxml-light-ocaml-dev
-provides: libxml-light-ocaml-dev-de4c2--virtual
-installed: true
-number: 2.2-12
-source: xml-light
-sourceversion: 2.2-12
-installedsize: 496
-
-package: texlive-lang-hungarian
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-hungarian
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 528
-
-package: localization-config
-version: 1
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , perl-base >= 3 , libapt-pkg-perl , libconfig-inifiles-perl , locales--virtual | locales | belocs-locales-data
-conflicts: localization-config , locale-config-skolelinux--virtual , locale-config-skolelinux
-provides: locale-config-skolelinux--virtual
-installed: true
-number: 1.05
-source: localization-config
-sourceversion: 1.05
-installedsize: 488
-
-package: texlive-lang-czechslovak
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1 , texlive-latex-base >= 2
-conflicts: texlive-lang-czechslovak
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 3976
-
-package: ruby1.8
-version: 5
-depends: libc6 >= 1 , libruby1.8 >= 12
-conflicts: ruby1.8
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 368
-
-package: libgcj7-1-awt
-version: 1
-depends: gcj-4.1-base >= 2 , libatk1.0-0 >= 5 , libc6 >= 15 , libcairo2 >= 6 , libfreetype6 >= 6 , libgcj7-1 = 2 , libglib2.0-0 >= 3 , libgtk2.0-0 >= 23 , libice6 >= 1 , libpango1.0-0 >= 20 , libsm6 , libx11-6 , libxrandr2 >= 2 , libxrender1 , libxtst6 , zlib1g
-conflicts: libgcj7-1-awt
-installed: true
-number: 4.1.2-19
-source: gcj-4.1
-sourceversion: 4.1.2-19
-installedsize: 280
-
-package: libparse-recdescent-perl
-version: 5
-depends: perl , perl-modules >= 10 | libversion-perl--virtual | libversion-perl
-conflicts: libparse-recdescent-perl
-installed: true
-number: 1.962.2+dfsg-1
-source: libparse-recdescent-perl
-sourceversion: 1.962.2+dfsg-1
-installedsize: 584
-
-package: libgd2-noxpm
-version: 4
-depends: libc6 >= 14 , libfreetype6 >= 5 , libjpeg62 , libpng12-0 >= 3 , zlib1g >= 1
-conflicts: libgd2-noxpm , libgd2--virtual , libgd2 , libgd2-xpm
-provides: libgd2--virtual
-installed: true
-number: 2.0.36~rc1~dfsg-3.1
-source: libgd2
-sourceversion: 2.0.36~rc1~dfsg-3.1
-installedsize: 668
-
-package: libtasn1-3
-version: 3
-depends: libc6 >= 2
-conflicts: libtasn1-3 , libtasn1-2 = 2
-installed: true
-number: 2.3-1
-source: libtasn1-3
-sourceversion: 2.3-1
-installedsize: 128
-
-package: libgcj-common
-version: 7
-depends: python , python-central >= 14
-conflicts: libgcj-common , classpath <= 1
-installed: true
-number: 1:4.4.1-1
-source: gcc-defaults
-sourceversion: 1.88
-installedsize: 288
-
-package: libxaw7
-version: 2
-depends: libc6 >= 2 , libsm6 , libx11-6 , libxext6 , libxmu6 , libxpm4 , libxt6
-conflicts: libxaw7
-installed: true
-number: 2:1.0.6-1
-source: libxaw
-sourceversion: 2:1.0.6-1
-installedsize: 484
-
-package: ruby
-version: 7
-depends: ruby1.8
-conflicts: ruby
-installed: true
-number: 4.2
-source: ruby-defaults
-sourceversion: 4.2
-installedsize: 100
-
-package: svn-buildpackage
-version: 1
-depends: subversion , devscripts >= 4 , perl , libsvn-perl , file , wget , unp , liburi-perl , libcapture-tiny-perl , libfile-libmagic-perl
-conflicts: svn-buildpackage , svn-devscripts < 1
-installed: true
-number: 0.6.29
-source: svn-buildpackage
-sourceversion: 0.6.29
-installedsize: 448
-
-package: libltdl3-dev
-version: 1
-depends: libltdl3 = 4
-conflicts: libltdl3-dev , libtool < 1 , libtool1.4
-installed: true
-number: 1.5.26-4
-source: libtool
-sourceversion: 1.5.26-4
-installedsize: 1656
-
-package: rubygems1.8
-version: 1
-depends: ruby1.8 , rdoc1.8
-conflicts: rubygems1.8 , libgems-ruby1.8 , rubygems <= 2
-installed: true
-number: 1.3.5-2
-source: libgems-ruby
-sourceversion: 1.3.5-2
-installedsize: 832
-
-package: libmime-types-perl
-version: 4
-depends: perl
-conflicts: libmime-types-perl
-installed: true
-number: 1.28-1
-source: libmime-types-perl
-sourceversion: 1.28-1
-installedsize: 124
-
-package: libstdc++6-4.2-dev
-version: 2
-depends: gcc-4.2-base = 2 , g++-4.2 = 3 , libstdc++6 >= 11 , libc6-dev >= 1
-conflicts: libstdc++6-4.2-dev , libg++2.8-dev , libg++27-dev , libg++272-dev < 1 , libgcj8-dev < 1 , libstdc++2.10-dev < 1 , libstdc++2.8-dev , libstdc++2.9-dev , libstdc++2.9-glibc2.1-dev , libstdc++3.0-dev , libstdc++6-4.2-dev < 1
-provides: libstdc++-dev--virtual
-installed: true
-number: 4.2.4-6
-source: gcc-4.2
-sourceversion: 4.2.4-6
-installedsize: 9164
-
-package: libxml-writer-perl
-version: 3
-depends: perl >= 9
-conflicts: libxml-writer-perl
-installed: true
-number: 0.605-1
-source: libxml-writer-perl
-sourceversion: 0.605-1
-installedsize: 132
-
-package: cpp-4.3
-version: 5
-depends: gcc-4.3-base = 3 , libc6 >= 14 , libgmp3c2 , libmpfr1ldbl
-conflicts: cpp-4.3
-installed: true
-number: 4.3.4-6
-source: gcc-4.3
-sourceversion: 4.3.4-6
-installedsize: 7968
-
-package: python-tk
-version: 5
-depends: python < 21 , python >= 10 , blt >= 2 , libc6 >= 2 , libx11-6 , tcl8.5 >= 2 , tk8.5 >= 2
-conflicts: python-tk , python2.3-tk , python2.4-tk--virtual , python2.4-tk
-provides: python2.4-tk--virtual , python2.5-tk--virtual
-installed: true
-number: 2.5.2-1.1
-source: python-stdlib-extensions
-sourceversion: 2.5.2-1.1
-installedsize: 184
-
-package: librpmio0
-version: 4
-depends: libbz2-1.0 , libc6 >= 8 , libelf1 >= 1 , liblua5.1-0 , liblzma0 >= 1 , libnss3-1d >= 1 , libpopt0 >= 4 , zlib1g >= 1
-conflicts: librpmio0
-installed: true
-number: 4.7.1-11
-source: rpm
-sourceversion: 4.7.1-11
-installedsize: 876
-
-package: libboost-graph1.40.0
-version: 2
-depends: libboost-regex1.40.0 >= 1 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: libboost-graph1.40.0
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 352
-
-package: diffutils
-version: 1
-depends: libc6 >= 2
-conflicts: diffutils
-installed: true
-number: 1:2.8.1-18
-source: diffutils
-sourceversion: 1:2.8.1-18
-installedsize: 764
-
-package: ikiwiki
-version: 2
-depends: perl , python , python-support >= 9 , libtext-markdown-perl | markdown , libhtml-scrubber-perl , libhtml-template-perl , libhtml-parser-perl , liburi-perl
-conflicts: ikiwiki , ikiwiki-plugin-table--virtual , ikiwiki-plugin-table
-provides: ikiwiki-plugin-table--virtual
-installed: true
-number: 3.20091113
-source: ikiwiki
-sourceversion: 3.20091113
-installedsize: 6784
-
-package: libdevel-symdump-perl
-version: 1
-depends: perl >= 9
-conflicts: libdevel-symdump-perl
-installed: true
-number: 2.08-2
-source: libdevel-symdump-perl
-sourceversion: 2.08-2
-installedsize: 80
-
-package: libcryptgps-ocaml-dev
-version: 1
-depends: ocaml-findlib , ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1
-conflicts: libcryptgps-ocaml-dev
-provides: libcryptgps-ocaml-dev-139d7--virtual
-installed: true
-number: 0.2.1-7
-source: cryptgps
-sourceversion: 0.2.1-7
-installedsize: 880
-
-package: python-dns
-version: 2
-depends: python , python-central >= 12
-conflicts: python-dns
-installed: true
-number: 2.3.3-2
-source: python-dns
-sourceversion: 2.3.3-2
-installedsize: 184
-
-package: libwmf0.2-7
-version: 2
-depends: gtk2.0-binver-2.10.0--virtual | gtk2.0-binver-2.10.0 , libc6 >= 2 , libexpat1 >= 1 , libfreetype6 >= 5 , libjpeg62 , libpng12-0 >= 3 , libx11-6 , zlib1g >= 1 , defoma >= 6 , gsfonts
-conflicts: libwmf0.2-7
-installed: true
-number: 0.2.8.4-6.1
-source: libwmf
-sourceversion: 0.2.8.4-6.1
-installedsize: 596
-
-package: ocaml-native-compilers
-version: 1
-depends: ocaml-nox = 4 , gcc , binutils , libc6 >= 14 , libncurses5 >= 3
-conflicts: ocaml-native-compilers
-provides: ocaml-best-compilers--virtual
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 9024
-
-package: hostname
-version: 2
-depends: libc6 >= 2
-conflicts: hostname , nis < 1
-installed: true
-number: 3.01
-source: hostname
-sourceversion: 3.01
-installedsize: 92
-
-package: exuberant-ctags
-version: 2
-depends: libc6 >= 5
-conflicts: exuberant-ctags
-provides: ctags--virtual
-installed: true
-number: 1:5.8-1
-source: exuberant-ctags
-sourceversion: 1:5.8-1
-installedsize: 324
-
-package: load-dirs-common
-version: 1
-depends: python , python-central >= 14
-conflicts: load-dirs-common , tla-load-dirs < 1
-installed: true
-number: 1.1.7
-source: vcs-load-dirs
-sourceversion: 1.1.7
-installedsize: 64
-
-package: libtemplate-perl
-version: 8
-depends: perl >= 38 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15 , libappconfig-perl >= 2
-conflicts: libtemplate-perl , libtemplate-stash-perl
-provides: templatetoolkit-perl
-installed: true
-number: 2.20-1
-source: libtemplate-perl
-sourceversion: 2.20-1
-installedsize: 5288
-
-package: libcapture-tiny-perl
-version: 1
-depends: perl >= 9
-conflicts: libcapture-tiny-perl
-installed: true
-number: 0.06-1
-source: libcapture-tiny-perl
-sourceversion: 0.06-1
-installedsize: 100
-
-package: libsepol1-dev
-version: 3
-depends: libc6 >= 2 , libsepol1 = 11
-conflicts: libsepol1-dev , libsepol-dev--virtual , libsepol-dev
-provides: libsepol-dev--virtual
-installed: true
-number: 2.0.40-2
-source: libsepol
-sourceversion: 2.0.40-2
-installedsize: 2116
-
-package: libobject-realize-later-perl
-version: 2
-depends: perl >= 9 , libscalar-list-utils-perl--virtual | libscalar-list-utils-perl
-conflicts: libobject-realize-later-perl
-installed: true
-number: 0.18-2
-source: libobject-realize-later-perl
-sourceversion: 0.18-2
-installedsize: 88
-
-package: libmagickcore2-extra
-version: 1
-depends: libbz2-1.0 , libc6 >= 2 , libcairo2 >= 4 , libdjvulibre21 >= 2 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglib2.0-0 >= 3 , libgomp1 >= 1 , libgraphviz4 >= 1 , libgtk2.0-0 >= 7 , libice6 >= 1 , libilmbase6 >= 1 , libjpeg62 , liblcms1 >= 2 , liblqr-1-0 >= 1 , libltdl7 >= 1 , libmagickcore2 >= 2 , libmagickwand2 >= 2 , libopenexr6 >= 1 , librsvg2-2 >= 4 , libsm6 , libtiff4 , libwmf0.2-7 >= 1 , libx11-6 , libxext6 , libxml2 >= 17 , libxt6 , zlib1g >= 1
-conflicts: libmagickcore2-extra , libmagickcore2 <= 1
-installed: true
-number: 7:6.5.7.8-1
-source: imagemagick
-sourceversion: 7:6.5.7.8-1
-installedsize: 292
-
-package: libstdc++6-4.1-dev
-version: 1
-depends: gcc-4.1-base = 2 , g++-4.1 = 2 , libstdc++6 >= 7 , libc6-dev >= 1
-conflicts: libstdc++6-4.1-dev , libg++2.8-dev , libg++27-dev , libg++272-dev < 1 , libstdc++2.10-dev < 1 , libstdc++2.8-dev , libstdc++2.9-dev , libstdc++2.9-glibc2.1-dev , libstdc++3.0-dev
-provides: libstdc++-dev--virtual
-installed: true
-number: 4.1.2-27
-source: gcc-4.1
-sourceversion: 4.1.2-27
-installedsize: 8260
-
-package: libaudio2
-version: 1
-depends: libc6 >= 2 , libxau6 , libxt6
-conflicts: libaudio2 , nas-lib--virtual , nas-lib
-provides: nas-lib--virtual
-installed: true
-number: 1.9.2-3
-source: nas
-sourceversion: 1.9.2-3
-installedsize: 204
-
-package: ocaml-nox
-version: 4
-depends: libc6 >= 14 , libncurses5 >= 3 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libncurses5-dev , ocaml-interp = 2 , gcc , binutils
-conflicts: ocaml-nox , camlidl < 1 , camlp4 < 1 , libnums-ocaml-dev--virtual , libnums-ocaml-dev , ocaml < 2 , ocaml-interp < 1
-provides: libnums-ocaml-dev--virtual , ocaml-nox-3.11.1--virtual
-installed: true
-number: 3.11.1-4
-source: ocaml
-sourceversion: 3.11.1-4
-installedsize: 27724
-
-package: libgnutls26
-version: 6
-depends: libc6 >= 2 , libgcrypt11 >= 3 , libtasn1-3 >= 2 , zlib1g >= 1
-conflicts: libgnutls26 , gnutls0 , gnutls0.4
-installed: true
-number: 2.8.5-2
-source: gnutls26
-sourceversion: 2.8.5-2
-installedsize: 1160
-
-package: libwxbase2.8-0
-version: 3
-depends: libc6 >= 3 , libexpat1 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9 , zlib1g >= 1
-conflicts: libwxbase2.8-0
-installed: true
-number: 2.8.7.1-2+b1
-source: wxwidgets2.8
-sourceversion: 2.8.7.1-2
-installedsize: 1776
-
-package: libblas3gf
-version: 1
-depends: libc6 >= 15 , libgcc1 >= 3 , libgfortran3 >= 1
-conflicts: libblas3gf
-provides: libblas.so.3gf--virtual
-installed: true
-number: 1.2-2
-source: blas
-sourceversion: 1.2-2
-installedsize: 652
-
-package: libdebian-installer4
-version: 3
-depends: libc6 >= 4
-conflicts: libdebian-installer4
-installed: true
-number: 0.69
-source: libdebian-installer
-sourceversion: 0.69
-installedsize: 76
-
-package: resolvconf
-version: 2
-depends: coreutils >= 11 , lsb-base >= 10 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: resolvconf , bind < 1 , bind9 < 2 , dhcp-client = 3 , dhcp-client < 1 , dhcp3-client < 1 , dhcpcd < 1 , divine , dnsmasq < 1 , ifupdown < 3 , laptop-net < 2 , pcmcia-cs < 1 , pdnsd < 1 , pppconfig < 1 , pppoeconf < 1 , pump < 1 , runit < 2 , totd < 1 , udhcpc < 1 , webmin < 1 , webmin-wvdial < 1 , whereami < 1 , xisp
-installed: true
-number: 1.45
-source: resolvconf
-sourceversion: 1.45
-installedsize: 268
-
-package: libboost-regex1.40.0
-version: 3
-depends: libc6 >= 1 , libgcc1 >= 3 , libicu42 >= 1 , libstdc++6 >= 9
-conflicts: libboost-regex1.40.0
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 1088
-
-package: libtool
-version: 3
-depends: gcc | c-compiler--virtual | c-compiler , cpp , libc6-dev | libc-dev--virtual | libc-dev , file , autotools-dev
-conflicts: libtool , autoconf <= 1 , automake <= 1 , libtool1.4
-installed: true
-number: 2.2.6a-4
-source: libtool
-sourceversion: 2.2.6a-4
-installedsize: 1328
-
-package: libopenjpeg2
-version: 1
-depends: libc6 >= 1
-conflicts: libopenjpeg2
-installed: true
-number: 1.3+dfsg-4
-source: openjpeg
-sourceversion: 1.3+dfsg-4
-installedsize: 204
-
-package: libreadonly-perl
-version: 3
-depends: perl >= 9
-conflicts: libreadonly-perl
-installed: true
-number: 1.03-2
-source: libreadonly-perl
-sourceversion: 1.03-2
-installedsize: 92
-
-package: libdatrie1
-version: 2
-depends: libc6 >= 1
-conflicts: libdatrie1
-installed: true
-number: 0.2.2-1
-source: libdatrie
-sourceversion: 0.2.2-1
-installedsize: 92
-
-package: perl-tk
-version: 7
-depends: libc6 >= 2 , libfontconfig1 >= 2 , libjpeg62 , libpng12-0 >= 3 , libx11-6 , libxft2 > 1 , zlib1g >= 1 , perl >= 47 , perlapi-5.10.0--virtual | perlapi-5.10.0
-conflicts: perl-tk , libtk-png-perl--virtual , libtk-png-perl
-provides: libtk-perl , libtk-png-perl--virtual
-installed: true
-number: 1:804.028-6
-source: perl-tk
-sourceversion: 1:804.028-6
-installedsize: 8768
-
-package: libzip-ocaml
-version: 2
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 1 , zlib1g >= 1
-conflicts: libzip-ocaml , libzip-ocaml-dev < 1
-provides: libzip-ocaml-0lnk7--virtual
-installed: true
-number: 1.04-6
-source: camlzip
-sourceversion: 1.04-6
-installedsize: 276
-
-package: libxcb1-dev
-version: 2
-depends: libxcb1 = 3 , libpthread-stubs0-dev , libxau-dev >= 1 , libxdmcp-dev >= 1
-conflicts: libxcb1-dev , libxcb0-dev
-installed: true
-number: 1.4-1
-source: libxcb
-sourceversion: 1.4-1
-installedsize: 704
-
-package: whiptail
-version: 2
-depends: libc6 >= 1 , libnewt0.52 >= 1 , libpopt0 >= 3 , libslang2 >= 4
-conflicts: whiptail , whiptail-provider--virtual , whiptail-provider
-provides: whiptail-provider--virtual , whiptail-utf8--virtual
-installed: true
-number: 0.52.10-4.1
-source: newt
-sourceversion: 0.52.10-4.1
-installedsize: 100
-
-package: etckeeper
-version: 1
-depends: git-core >= 11 | mercurial | bzr >= 8 | darcs , debconf >= 7 | debconf-2.0--virtual | debconf-2.0
-conflicts: etckeeper , bzr < 8
-installed: true
-number: 0.41
-source: etckeeper
-sourceversion: 0.41
-installedsize: 372
-
-package: bsdmainutils
-version: 3
-depends: libc6 >= 2 , libncurses5 >= 3 , bsdutils >= 3 , debianutils >= 3
-conflicts: bsdmainutils , bsdutils < 4
-installed: true
-number: 8.0.1
-source: bsdmainutils
-sourceversion: 8.0.1
-installedsize: 752
-
-package: lsb-base
-version: 22
-depends: sed , ncurses-bin
-conflicts: lsb-base , lsb < 2 , lsb-core < 1
-installed: true
-number: 3.2-23
-source: lsb
-sourceversion: 3.2-23
-installedsize: 72
-
-package: gettext-base
-version: 2
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3
-conflicts: gettext-base
-provides: libasprintf0c2
-installed: true
-number: 0.17-8
-source: gettext
-sourceversion: 0.17-8
-installedsize: 972
-
-package: gcc-4.1
-version: 4
-depends: gcc-4.1-base = 2 , cpp-4.1 = 4 , binutils >= 3 , libgcc1 >= 7 , libc6 >= 2
-conflicts: gcc-4.1 , libssp0-dev < 1
-provides: c-compiler--virtual , libssp0-dev--virtual
-installed: true
-number: 4.1.2-27
-source: gcc-4.1
-sourceversion: 4.1.2-27
-installedsize: 1112
-
-package: libbz2-1.0
-version: 1
-depends: libc6 >= 2
-conflicts: libbz2-1.0
-installed: true
-number: 1.0.5-3
-source: bzip2
-sourceversion: 1.0.5-3
-installedsize: 92
-
-package: liblog-agent-perl
-version: 1
-depends: perl >= 9
-conflicts: liblog-agent-perl
-installed: true
-number: 0.307-2
-source: liblog-agent-perl
-sourceversion: 0.307-2
-installedsize: 516
-
-package: adduser
-version: 16
-depends: perl-base >= 3 , passwd >= 4 , debconf | debconf-2.0--virtual | debconf-2.0
-conflicts: adduser
-installed: true
-number: 3.111
-source: adduser
-sourceversion: 3.111
-installedsize: 880
-
-package: monotone
-version: 2
-depends: libbotan-1.8.2 , libc6 >= 8 , libgcc1 >= 3 , libidn11 >= 2 , liblua5.1-0 , libpcre3 >= 5 , libsqlite3-0 >= 14 , libstdc++6 >= 12 , zlib1g >= 1
-conflicts: monotone
-installed: true
-number: 0.45-2
-source: monotone
-sourceversion: 0.45-2
-installedsize: 4836
-
-package: bash
-version: 18
-depends: dash >= 2 , libc6 >= 8 , libncurses5 >= 3 , base-files >= 2 , debianutils >= 17
-conflicts: bash , bash-completion < 1
-installed: true
-number: 4.0-7
-source: bash
-sourceversion: 4.0-7
-installedsize: 3100
-
-package: libfs6
-version: 1
-depends: libc6 >= 2
-conflicts: libfs6
-installed: true
-number: 2:1.0.2-1
-source: libfs
-sourceversion: 2:1.0.2-1
-installedsize: 120
-
-package: libio-compress-base-perl
-version: 3
-depends: libio-compress-perl--virtual | libio-compress-perl
-conflicts: libio-compress-base-perl
-installed: true
-number: 2.022-1
-source: libio-compress-perl
-sourceversion: 2.022-1
-installedsize: 44
-
-package: liblua5.1-0
-version: 1
-depends: libc6 >= 14
-conflicts: liblua5.1-0
-installed: true
-number: 5.1.4-5
-source: lua5.1
-sourceversion: 5.1.4-5
-installedsize: 232
-
-package: libdose2-ocaml
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocaml-findlib , libpcre-ocaml , libzip-ocaml , libbz2-ocaml , libc6 >= 1 , libpopt0 >= 3 , librpm0 >= 1 , librpmio0 >= 1
-conflicts: libdose2-ocaml
-installed: true
-number: 1.4.2-1
-source: dose2
-sourceversion: 1.4.2-1
-installedsize: 76
-
-package: libgraphviz4
-version: 3
-depends: libc6 >= 14 , libcairo2 >= 4 , libexpat1 >= 1 , libfreetype6 >= 5 , libgd2-noxpm >= 3 | libgd2-xpm >= 3 , libglib2.0-0 >= 3 , libjpeg62 , libltdl7 >= 1 , libpango1.0-0 >= 7 , libpng12-0 >= 3 , libx11-6 , zlib1g >= 1
-conflicts: libgraphviz4
-installed: true
-number: 2.20.2-4
-source: graphviz
-sourceversion: 2.20.2-4
-installedsize: 1420
-
-package: libidn11
-version: 3
-depends: libc6 >= 1
-conflicts: libidn11 , libidn9-dev
-installed: true
-number: 1.15-2
-source: libidn
-sourceversion: 1.15-2
-installedsize: 368
-
-package: lzma
-version: 2
-depends: libc6 >= 15 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: lzma
-installed: true
-number: 4.43-14
-source: lzma
-sourceversion: 4.43-14
-installedsize: 172
-
-package: libdate-calc-perl
-version: 1
-depends: perl >= 50 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 8 , libcarp-clan-perl , libbit-vector-perl >= 1
-conflicts: libdate-calc-perl
-installed: true
-number: 6.0-1
-source: libdate-calc-perl
-sourceversion: 6.0-1
-installedsize: 876
-
-package: libept0
-version: 3
-depends: libapt-pkg-libc6.9-6-4.8--virtual | libapt-pkg-libc6.9-6-4.8 , libc6 >= 5 , libgcc1 >= 3 , libstdc++6 >= 9 , libxapian15 , zlib1g >= 1
-conflicts: libept0
-installed: true
-number: 0.5.29
-source: libept
-sourceversion: 0.5.29
-installedsize: 548
-
-package: lockfile-progs
-version: 2
-depends: libc6 >= 1 , liblockfile1 >= 1
-conflicts: lockfile-progs
-installed: true
-number: 0.1.13
-source: lockfile-progs
-sourceversion: 0.1.13
-installedsize: 44
-
-package: php-pear
-version: 4
-depends: php5-common >= 1 , php5-cli | php4-cli
-conflicts: php-pear , php-xml-util--virtual , php-xml-util
-provides: php-xml-util--virtual
-installed: true
-number: 5.2.11.dfsg.1-1
-source: php5
-sourceversion: 5.2.11.dfsg.1-1
-installedsize: 2372
-
-package: xauth
-version: 1
-depends: x11-common >= 4 , libc6 >= 15 , libx11-6 , libxau6 , libxext6 , libxmuu1
-conflicts: xauth
-installed: true
-number: 1:1.0.3-2
-source: xauth
-sourceversion: 1:1.0.3-2
-installedsize: 100
-
-package: libqt4-scripttools
-version: 4
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-script = 5 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3
-conflicts: libqt4-scripttools
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 872
-
-package: libavahi-common-data
-version: 2
-conflicts: libavahi-common-data
-installed: true
-number: 0.6.25-1
-source: avahi
-sourceversion: 0.6.25-1
-installedsize: 104
-
-package: python-twisted-names
-version: 3
-depends: python , python-central >= 13 , python-twisted-core >= 6
-conflicts: python-twisted-names , python2.3-twisted-names , python2.4-twisted-names
-installed: true
-number: 8.2.0-1
-source: twisted-names
-sourceversion: 8.2.0-1
-installedsize: 416
-
-package: libnet-libidn-perl
-version: 1
-depends: perl >= 46 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 1 , libidn11 >= 1
-conflicts: libnet-libidn-perl
-installed: true
-number: 0.12.ds-1
-source: libnet-libidn-perl
-sourceversion: 0.12.ds-1
-installedsize: 116
-
-package: liblqr-1-0
-version: 4
-depends: libc6 >= 1 , libglib2.0-0 >= 3
-conflicts: liblqr-1-0
-installed: true
-number: 0.4.1-1
-source: liblqr
-sourceversion: 0.4.1-1
-installedsize: 132
-
-package: autotools-dev
-version: 3
-conflicts: autotools-dev
-installed: true
-number: 20090611.1
-source: autotools-dev
-sourceversion: 20090611.1
-installedsize: 172
-
-package: python-django
-version: 4
-depends: python < 21 , python >= 10 , python-support >= 9
-conflicts: python-django
-installed: true
-number: 1.1.1-1
-source: python-django
-sourceversion: 1.1.1-1
-installedsize: 14916
-
-package: ghostscript-x
-version: 2
-depends: libc6 >= 1 , libice6 >= 1 , libsm6 , libx11-6 , libxext6 , libxt6 , ghostscript = 3
-conflicts: ghostscript-x
-provides: gs--virtual , gs-afpl--virtual , gs-esp--virtual , gs-gpl--virtual
-installed: true
-number: 8.70~dfsg-2+b1
-source: ghostscript
-sourceversion: 8.70~dfsg-2
-installedsize: 176
-
-package: libscrollkeeper0
-version: 1
-depends: libc6 >= 15 , libxml2 >= 13 , libxslt1.1 >= 3
-conflicts: libscrollkeeper0
-installed: true
-number: 0.3.14-16
-source: scrollkeeper
-sourceversion: 0.3.14-16
-installedsize: 848
-
-package: tcsh
-version: 2
-depends: libc6 >= 7 , libncurses5 >= 1
-conflicts: tcsh , tcsh-kanji < 1
-provides: c-shell--virtual , tcsh-kanji--virtual
-installed: true
-number: 6.14.00-7
-source: tcsh
-sourceversion: 6.14.00-7
-installedsize: 736
-
-package: sysklogd
-version: 3
-depends: libc6 >= 15 , klogd | linux-kernel-log-daemon--virtual | linux-kernel-log-daemon
-conflicts: sysklogd , syslogd--virtual , syslogd
-provides: syslogd--virtual , system-log-daemon--virtual
-installed: true
-number: 1.5-5
-source: sysklogd
-sourceversion: 1.5-5
-installedsize: 216
-
-package: libfcgi0ldbl
-version: 1
-depends: libc6 >= 12 , libgcc1 >= 8 , libstdc++6 >= 8
-conflicts: libfcgi0ldbl , libfcgi0 , libfcgi0c2
-provides: libfcgi
-installed: true
-number: 2.4.0-7
-source: libfcgi
-sourceversion: 2.4.0-7
-installedsize: 757
-
-package: libfcgi-ruby1.8
-version: 1
-depends: libc6 >= 15 , libfcgi0ldbl , libruby1.8 >= 9
-conflicts: libfcgi-ruby1.8
-provides: libfcgi-ruby
-installed: true
-number: 0.8.7-4.1
-source: libfcgi-ruby
-sourceversion: 0.8.7-4.1
-installedsize: 104
-
-package: bzip2
-version: 2
-depends: libbz2-1.0 = 1 , libc6 >= 2
-conflicts: bzip2
-installed: true
-number: 1.0.5-3
-source: bzip2
-sourceversion: 1.0.5-3
-installedsize: 132
-
-package: traceroute
-version: 2
-depends: libc6 >= 2
-conflicts: traceroute
-installed: true
-number: 2.0.13-2
-source: traceroute
-sourceversion: 2.0.13-2
-installedsize: 192
-
-package: netcat
-version: 2
-depends: netcat-traditional >= 1
-conflicts: netcat
-installed: true
-number: 1.10-38
-source: netcat
-sourceversion: 1.10-38
-installedsize: 36
-
-package: binutils
-version: 8
-depends: libc6 >= 14 , zlib1g >= 1
-conflicts: binutils , elf-binutils--virtual , elf-binutils , gas , modutils < 3
-provides: elf-binutils--virtual
-installed: true
-number: 2.20-4
-source: binutils
-sourceversion: 2.20-4
-installedsize: 10160
-
-package: latex-make
-version: 1
-depends: perl , dpkg >= 19 , tex-common >= 8 , transfig , gs-common--virtual | gs-common , make >= 2
-conflicts: latex-make
-installed: true
-number: 2.1.13-1
-source: latex-make
-sourceversion: 2.1.13-1
-installedsize: 676
-
-package: libkeyutils1
-version: 1
-depends: libc6 >= 1
-conflicts: libkeyutils1
-installed: true
-number: 1.2-12
-source: keyutils
-sourceversion: 1.2-12
-installedsize: 56
-
-package: python-storm
-version: 1
-depends: python , python-central >= 12
-conflicts: python-storm
-installed: true
-number: 0.14-0ubuntu1
-source: storm
-sourceversion: 0.14-0ubuntu1
-installedsize: 408
-
-package: perl-base
-version: 17
-depends: libc6 >= 8 , dpkg >= 21
-conflicts: perl-base , autoconf2.13 < 1 , libscalar-list-utils-perl < 2 , libxsloader-perl < 1
-provides: libscalar-list-utils-perl--virtual , libxsloader-perl--virtual , perl5-base--virtual , perlapi-5.10.0--virtual , perlapi-5.10.1--virtual
-installed: true
-number: 5.10.1-7
-source: perl
-sourceversion: 5.10.1-7
-installedsize: 4692
-
-package: libio-socket-ssl-perl
-version: 4
-depends: perl , libnet-ssleay-perl >= 2 , netbase
-conflicts: libio-socket-ssl-perl
-installed: true
-number: 1.31-1
-source: libio-socket-ssl-perl
-sourceversion: 1.31-1
-installedsize: 188
-
-package: libipc-run-perl
-version: 1
-depends: perl >= 9 , libio-pty-perl >= 1
-conflicts: libipc-run-perl
-installed: true
-number: 0.84-1
-source: libipc-run-perl
-sourceversion: 0.84-1
-installedsize: 280
-
-package: rubygems
-version: 3
-depends: rubygems1.8 = 1
-conflicts: rubygems
-installed: true
-number: 1.3.5-2
-source: libgems-ruby
-sourceversion: 1.3.5-2
-installedsize: 96
-
-package: xfonts-utils
-version: 2
-depends: libc6 >= 2 , libfontenc1 , libfreetype6 >= 5 , libxfont1 >= 1 , zlib1g >= 1 , x11-common , xfonts-encodings
-conflicts: xfonts-utils
-installed: true
-number: 1:7.4+2
-source: xfonts-utils
-sourceversion: 1:7.4+2
-installedsize: 472
-
-package: libuser-identity-perl
-version: 1
-depends: perl >= 9
-conflicts: libuser-identity-perl
-installed: true
-number: 0.92-2
-source: libuser-identity-perl
-sourceversion: 0.92-2
-installedsize: 304
-
-package: sgml-data
-version: 5
-depends: perl , xml-core >= 1 , sgml-base >= 3
-conflicts: sgml-data , sp <= 1
-installed: true
-number: 2.0.3
-source: sgml-data
-sourceversion: 2.0.3
-installedsize: 1354
-
-package: gsfonts-x11
-version: 2
-depends: gsfonts >= 3 , xfonts-utils
-conflicts: gsfonts-x11 , gsfonts < 3
-installed: true
-number: 0.21
-source: gsfonts-x11
-sourceversion: 0.21
-installedsize: 116
-
-package: libgnutls-dev
-version: 7
-depends: libgnutls26 = 6 , libgcrypt11-dev >= 1 , libc6-dev | libc-dev--virtual | libc-dev , zlib1g-dev , libtasn1-3-dev >= 1
-conflicts: libgnutls-dev , gnutls-dev < 1 , gnutls0.4-dev , libgnutls11-dev
-provides: gnutls-dev--virtual
-installed: true
-number: 2.8.5-2
-source: gnutls26
-sourceversion: 2.8.5-2
-installedsize: 1932
-
-package: g++-4.3
-version: 4
-depends: gcc-4.3-base = 3 , gcc-4.3 = 5 , libstdc++6-4.3-dev = 2 , libc6 >= 14 , libgmp3c2 , libmpfr1ldbl
-conflicts: g++-4.3
-provides: c++-compiler--virtual , c++abi2-dev--virtual
-installed: true
-number: 4.3.4-6
-source: gcc-4.3
-sourceversion: 4.3.4-6
-installedsize: 9840
-
-package: libxml-sax-perl
-version: 6
-depends: perl >= 9 , libxml-namespacesupport-perl , ucf >= 4
-conflicts: libxml-sax-perl
-installed: true
-number: 0.96+dfsg-1
-source: libxml-sax-perl
-sourceversion: 0.96+dfsg-1
-installedsize: 452
-
-package: git-buildpackage
-version: 1
-depends: python >= 16 , python-support >= 9 , devscripts >= 3 , git-core >= 9 , python-dateutil
-conflicts: git-buildpackage
-installed: true
-number: 0.4.60
-source: git-buildpackage
-sourceversion: 0.4.60
-installedsize: 472
-
-package: texlive-base-bin
-version: 4
-depends: perl , ed , mime-support , dpkg >= 19 , tex-common >= 8 , libc6 >= 14 , libgcc1 >= 3 , libkpathsea4 >= 1 , libncurses5 >= 3 , libpng12-0 >= 3 , libpoppler5 , libstdc++6 >= 3 , libx11-6 , libxaw7 , libxmu6 , libxpm4 , libxt6 , zlib1g >= 1 , texlive-common >= 1
-conflicts: texlive-base-bin
-installed: true
-number: 2007.dfsg.2-8
-source: texlive-bin
-sourceversion: 2007.dfsg.2-8
-installedsize: 8964
-
-package: texlive-extra-utils
-version: 5
-depends: dpkg >= 19 , tex-common >= 8 , libc6 >= 14 , libkpathsea4 >= 1 , libx11-6 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-extra-utils , dviutils--virtual , dviutils
-provides: dviutils--virtual
-installed: true
-number: 2007.dfsg.2-8
-source: texlive-bin
-sourceversion: 2007.dfsg.2-8
-installedsize: 1796
-
-package: python-glade2
-version: 19
-depends: python < 21 , python >= 16 , python-support >= 9 , libatk1.0-0 >= 5 , libc6 >= 1 , libcairo2 >= 4 , libfontconfig1 >= 2 , libfreetype6 >= 5 , libglade2-0 >= 3 , libglib2.0-0 >= 13 , libgtk2.0-0 >= 39 , libpango1.0-0 >= 11 , libxml2 >= 13 , zlib1g >= 1 , python-gtk2 = 37
-conflicts: python-glade2 , python-gdk-imlib , python-glade , python-gnome , python-gtk , python2.3-glade2 , python2.4-glade2
-provides: python2.5-glade2
-installed: true
-number: 2.16.0-1
-source: pygtk
-sourceversion: 2.16.0-1
-installedsize: 60
-
-package: libmpfr1ldbl
-version: 1
-depends: libgmp3c2 >= 1 , libc6 >= 2
-conflicts: libmpfr1ldbl , libgmp3 < 1 , libmpfr1
-installed: true
-number: 2.4.1-2
-source: mpfr
-sourceversion: 2.4.1-2
-installedsize: 640
-
-package: python-xapian
-version: 2
-depends: python < 21 , python >= 10 , python-central >= 14 , libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 3 , libxapian15 >= 1
-conflicts: python-xapian , python2.1-xapian < 1 , python2.2-xapian < 1 , python2.3-xapian < 1 , python2.4-xapian < 1
-provides: python2.4-xapian--virtual , python2.5-xapian
-installed: true
-number: 1.0.16-2
-source: xapian-bindings
-sourceversion: 1.0.16-2
-installedsize: 1840
-
-package: xtrans-dev
-version: 1
-depends: x11-common >= 4
-conflicts: xtrans-dev
-installed: true
-number: 1.2.4-1
-source: xtrans
-sourceversion: 1.2.4-1
-installedsize: 332
-
-package: libqt4-dev
-version: 5
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-dbus = 5 , libqt4-qt3support = 6 , libqt4-xml = 7 , libqtcore4 = 7 , libqtgui4 = 6 , libstdc++6 >= 3 , zlib1g >= 1 , libqt4-network = 7 , libqt4-svg = 5 , libqt4-webkit = 5 , libqt4-sql = 5 , libqt4-script = 5 , libqt4-scripttools = 4 , libqt4-xmlpatterns = 4 , libqt4-designer = 6 , libqt4-help = 3 , libqt4-assistant = 6 , libqt4-test = 4 , libphonon4 = 9 , qt4-qmake = 1
-conflicts: libqt4-dev , libqtwebkit-dev , qt3-dev-tools <= 1
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 23412
-
-package: unp
-version: 1
-conflicts: unp
-installed: true
-number: 1.0.15
-source: unp
-sourceversion: 1.0.15
-installedsize: 76
-
-package: python-psycopg2
-version: 3
-depends: python < 21 , python >= 10 , python-central >= 14 , libc6 >= 2 , libpq5 >= 3 , python-egenix-mxdatetime
-conflicts: python-psycopg2
-provides: python2.4-psycopg2 , python2.5-psycopg2
-installed: true
-number: 2.0.13-1
-source: psycopg2
-sourceversion: 2.0.13-1
-installedsize: 580
-
-package: vim
-version: 2
-depends: vim-common = 4 , vim-runtime = 3 , libacl1 >= 1 , libc6 >= 14 , libgpm2 >= 1 , libncurses5 >= 3 , libselinux1 >= 2
-conflicts: vim , vim-common < 1
-provides: editor--virtual
-installed: true
-number: 2:7.2.284-1
-source: vim
-sourceversion: 2:7.2.284-1
-installedsize: 1732
-
-package: texlive-lang-finnish
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-finnish
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 228
-
-package: libxml2
-version: 18
-depends: libc6 >= 3 , zlib1g >= 8
-conflicts: libxml2 , libxslt1.1 <= 1
-installed: true
-number: 2.7.6.dfsg-1
-source: libxml2
-sourceversion: 2.7.6.dfsg-1
-installedsize: 1768
-
-package: rake
-version: 2
-depends: ruby > 2
-conflicts: rake
-installed: true
-number: 0.8.7-1
-source: rake
-sourceversion: 0.8.7-1
-installedsize: 1176
-
-package: libgdbm3
-version: 2
-depends: libc6 >= 1 , dpkg >= 24 | install-info
-conflicts: libgdbm3
-installed: true
-number: 1.8.3-8
-source: gdbm
-sourceversion: 1.8.3-8
-installedsize: 88
-
-package: python-wxversion
-version: 2
-depends: python < 21 , python >= 10 , python-central >= 14 , python-wxgtk2.6 >= 3 | python-wxgtk2.8 >= 1
-conflicts: python-wxversion , python-wxgtk2.4 < 1 , python-wxgtk2.6 < 3 , python-wxgtk2.8 < 1 , wxpython2.6-0
-installed: true
-number: 2.6.3.2.2-3.1
-source: wxwidgets2.6
-sourceversion: 2.6.3.2.2-3.1
-installedsize: 216
-
-package: libheap-perl
-version: 3
-depends: perl >= 9
-conflicts: libheap-perl
-installed: true
-number: 0.80-2
-source: libheap-perl
-sourceversion: 0.80-2
-installedsize: 184
-
-package: gettext
-version: 5
-depends: libc6 >= 2 , libcroco3 >= 1 , libglib2.0-0 >= 3 , libgomp1 >= 1 , libncurses5 >= 3 , libxml2 >= 13 , gettext-base , dpkg >= 24 | install-info
-conflicts: gettext
-provides: libasprintf-dev , libgettextpo-dev , libgettextpo0--virtual
-installed: true
-number: 0.17-8
-source: gettext
-sourceversion: 0.17-8
-installedsize: 7368
-
-package: libxv1
-version: 1
-depends: libc6 >= 15 , libx11-6 , libxext6
-conflicts: libxv1
-installed: true
-number: 2:1.0.4-1
-source: libxv
-sourceversion: 2:1.0.4-1
-installedsize: 76
-
-package: libice6
-version: 2
-depends: libc6 >= 2 , x11-common
-conflicts: libice6
-installed: true
-number: 2:1.0.5-1
-source: libice
-sourceversion: 2:1.0.5-1
-installedsize: 156
-
-package: libboost-test1.40.0
-version: 3
-depends: libc6 >= 1 , libgcc1 >= 3 , libstdc++6 >= 9
-conflicts: libboost-test1.40.0
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 912
-
-package: ssh
-version: 4
-depends: openssh-client , openssh-server
-conflicts: ssh
-installed: true
-number: 1:5.1p1-8
-source: openssh
-sourceversion: 1:5.1p1-8
-installedsize: 44
-
-package: libequeue-ocaml-dev
-version: 2
-depends: libocamlnet-ocaml-dev
-conflicts: libequeue-ocaml-dev
-installed: true
-number: 2.2.9-4
-source: ocamlnet
-sourceversion: 2.2.9-4
-installedsize: 44
-
-package: libio-multiplex-perl
-version: 1
-depends: perl >= 9
-conflicts: libio-multiplex-perl
-installed: true
-number: 1.10-1
-source: libio-multiplex-perl
-sourceversion: 1.10-1
-installedsize: 112
-
-package: rdoc1.8
-version: 1
-depends: ruby1.8 >= 5 , irb1.8 >= 1 , libruby1.8 >= 13
-conflicts: rdoc1.8 , rdoc <= 1
-installed: true
-number: 1.8.7.174-2
-source: ruby1.8
-sourceversion: 1.8.7.174-2
-installedsize: 948
-
-package: libpopt0
-version: 5
-depends: libc6 >= 2
-conflicts: libpopt0 , libpopt-dev <= 1 , popt , rpm <= 2
-installed: true
-number: 1.15-1
-source: popt
-sourceversion: 1.15-1
-installedsize: 492
-
-package: libdatrie0
-version: 2
-depends: libc6 >= 1
-conflicts: libdatrie0
-installed: true
-number: 0.1.4-1
-source: libdatrie
-sourceversion: 0.1.4-1
-installedsize: 92
-
-package: texlive-pictures
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-pictures
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 2752
-
-package: libfont-afm-perl
-version: 2
-depends: perl >= 9
-conflicts: libfont-afm-perl
-installed: true
-number: 1.20-1
-source: libfont-afm-perl
-sourceversion: 1.20-1
-installedsize: 120
-
-package: libodbcinstq1c2
-version: 2
-depends: libc6 >= 1 , libgcc1 >= 3 , libltdl7 >= 1 , libqt3-mt >= 4 , libstdc++6 >= 3 , libx11-6 , libxext6 , odbcinst1debian1 >= 1 , unixodbc >= 4
-conflicts: libodbcinstq1c2 , libodbcinstq1 , unixodbc < 2
-installed: true
-number: 2.2.11-21
-source: unixodbc
-sourceversion: 2.2.11-21
-installedsize: 576
-
-package: libjson-static-camlp4-dev
-version: 1
-depends: ocaml-nox-3.11.1--virtual | ocaml-nox-3.11.1 , ocaml-findlib , camlp4 , libjson-wheel-ocaml-dev
-conflicts: libjson-static-camlp4-dev
-installed: true
-number: 0.9.8-1
-source: json-static
-sourceversion: 0.9.8-1
-installedsize: 80
-
-package: rarian-compat
-version: 1
-depends: libc6 >= 2 , libgcc1 >= 3 , librarian0 >= 1 , libstdc++6 >= 3 , xml-core >= 2 , docbook-xml
-conflicts: rarian-compat , scrollkeeper < 1
-provides: scrollkeeper--virtual
-installed: true
-number: 0.8.1-4
-source: rarian
-sourceversion: 0.8.1-4
-installedsize: 409
-
-package: libncurses5-dev
-version: 1
-depends: libncurses5 = 4 , libc-dev--virtual | libc-dev
-conflicts: libncurses5-dev , libncurses-dev--virtual , libncurses-dev , ncurses-dev--virtual , ncurses-dev , ncurses-developer
-provides: libncurses-dev--virtual , ncurses-dev--virtual
-installed: true
-number: 5.7+20090803-2
-source: ncurses
-sourceversion: 5.7+20090803-2
-installedsize: 6836
-
-package: vim-runtime
-version: 3
-depends: dpkg >= 21
-conflicts: vim-runtime
-installed: true
-number: 2:7.2.284-1
-source: vim
-sourceversion: 2:7.2.284-1
-installedsize: 24572
-
-package: libc6-dev
-version: 3
-depends: libc6 = 20 , libc-dev-bin = 1 , linux-libc-dev
-conflicts: libc6-dev , binutils < 4
-provides: libc-dev--virtual
-installed: true
-number: 2.10.1-7
-source: eglibc
-sourceversion: 2.10.1-7
-installedsize: 11084
-
-package: liblwres50
-version: 1
-depends: libc6 >= 8 , libcap2 >= 1 , libxml2 >= 13
-conflicts: liblwres50 , libbind0
-installed: true
-number: 1:9.6.1.dfsg.P1-3
-source: bind9
-sourceversion: 1:9.6.1.dfsg.P1-3
-installedsize: 136
-
-package: libglib2.0-data
-version: 1
-depends: libglib2.0-0 >= 31
-conflicts: libglib2.0-data , libglib1.3-data
-installed: true
-number: 2.22.2-2
-source: glib2.0
-sourceversion: 2.22.2-2
-installedsize: 4096
-
-package: odbcinst1debian1
-version: 3
-depends: libc6 >= 2 , libltdl7 >= 1 , odbcinst
-conflicts: odbcinst1debian1 , odbcinst1
-installed: true
-number: 2.2.11-21
-source: unixodbc
-sourceversion: 2.2.11-21
-installedsize: 256
-
-package: xsltproc
-version: 5
-depends: libc6 >= 1 , libgcrypt11 >= 3 , libxml2 >= 17 , libxslt1.1 >= 3
-conflicts: xsltproc
-installed: true
-number: 1.1.26-1
-source: libxslt
-sourceversion: 1.1.26-1
-installedsize: 152
-
-package: edos-rpmcheck
-version: 2
-depends: edos-distcheck >= 1
-conflicts: edos-rpmcheck
-installed: true
-number: 1.0-9
-source: edos-debcheck
-sourceversion: 1.0-9
-installedsize: 32
-
-package: postfix
-version: 7
-depends: libc6 >= 8 , libdb4.7 , libsasl2-2 , libssl0.9.8 >= 6 , debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , netbase , adduser >= 10 , dpkg >= 4 , lsb-base >= 9 , ssl-cert
-conflicts: postfix , libnss-db < 1 , mail-transport-agent--virtual , mail-transport-agent , postfix-tls--virtual , postfix-tls , smail
-provides: mail-transport-agent--virtual , postfix-tls--virtual
-installed: true
-number: 2.6.5-3
-source: postfix
-sourceversion: 2.6.5-3
-installedsize: 3236
-
-package: bind9-host
-version: 1
-depends: libbind9-50 = 1 , libc6 >= 8 , libcap2 >= 1 , libdns50 = 1 , libgssapi-krb5-2 >= 1 , libisc50 = 1 , libisccfg50 = 1 , liblwres50 = 1 , libssl0.9.8 >= 6 , libxml2 >= 13
-conflicts: bind9-host , dnsutils < 1 , host--virtual , host
-provides: host--virtual
-installed: true
-number: 1:9.6.1.dfsg.P1-3
-source: bind9
-sourceversion: 1:9.6.1.dfsg.P1-3
-installedsize: 176
-
-package: libltdl3
-version: 4
-depends: libc6 >= 15
-conflicts: libltdl3
-installed: true
-number: 1.5.26-4
-source: libtool
-sourceversion: 1.5.26-4
-installedsize: 252
-
-package: latex-beamer
-version: 2
-depends: pgf >= 1 , latex-xcolor >= 1 , texlive-latex-base
-conflicts: latex-beamer
-installed: true
-number: 3.07-2
-source: latex-beamer
-sourceversion: 3.07-2
-installedsize: 3136
-
-package: libgpmg1
-version: 1
-depends: libc6 >= 15
-conflicts: libgpmg1 , libgpm1 < 1
-installed: true
-number: 1.20.3~pre3-3.1
-source: gpm
-sourceversion: 1.20.3~pre3-3.1
-installedsize: 116
-
-package: libnet-ssleay-perl
-version: 3
-depends: perl >= 40 , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15 , libssl0.9.8 >= 6
-conflicts: libnet-ssleay-perl
-installed: true
-number: 1.35-2
-source: libnet-ssleay-perl
-sourceversion: 1.35-2
-installedsize: 964
-
-package: libio-compress-zlib-perl
-version: 5
-depends: libio-compress-perl--virtual | libio-compress-perl
-conflicts: libio-compress-zlib-perl
-installed: true
-number: 2.022-1
-source: libio-compress-perl
-sourceversion: 2.022-1
-installedsize: 44
-
-package: tcpdump
-version: 1
-depends: libc6 >= 14 , libpcap0.8 >= 4 , libssl0.9.8 >= 6
-conflicts: tcpdump
-installed: true
-number: 4.0.0-5
-source: tcpdump
-sourceversion: 4.0.0-5
-installedsize: 796
-
-package: libcompress-raw-zlib-perl
-version: 5
-depends: perl >= 52 , perlapi-5.10.1--virtual | perlapi-5.10.1 , libc6 >= 1 , zlib1g >= 8
-conflicts: libcompress-raw-zlib-perl
-installed: true
-number: 2.023-1
-source: libcompress-raw-zlib-perl
-sourceversion: 2.023-1
-installedsize: 248
-
-package: libjpeg7
-version: 1
-depends: libc6 >= 14
-conflicts: libjpeg7
-installed: true
-number: 7-1
-source: libjpeg7
-sourceversion: 7-1
-installedsize: 288
-
-package: edos-distcheck
-version: 2
-depends: python-debian , python , perl , libbz2-1.0 , libc6 >= 2 , libgdbm3 , libpcre3 >= 5 , libpopt0 >= 3 , librpm0 >= 1 , librpmio0 >= 1 , zlib1g >= 1
-conflicts: edos-distcheck , edos-debcheck <= 1 , edos-rpmcheck <= 1
-provides: edos-debcheck--virtual , edos-rpmcheck--virtual
-installed: true
-number: 1.4.2-5
-source: pkglab
-sourceversion: 1.4.2-5
-installedsize: 1372
-
-package: libclass-accessor-perl
-version: 4
-depends: perl , libsub-name-perl
-conflicts: libclass-accessor-perl
-installed: true
-number: 0.34-1
-source: libclass-accessor-perl
-sourceversion: 0.34-1
-installedsize: 104
-
-package: python2.4
-version: 4
-depends: python2.4-minimal = 1 , mime-support , libbz2-1.0 , libc6 >= 2 , libdb4.8 , libncursesw5 >= 2 , libreadline5 >= 3 , libssl0.9.8 >= 6
-conflicts: python2.4 , idle-python2.4 < 1 , python-central < 1 , python-tk < 3 , python2.4-dev < 2
-provides: python2.4-cjkcodecs , python2.4-plist
-installed: true
-number: 2.4.6-2.2
-source: python2.4
-sourceversion: 2.4.6-2.2
-installedsize: 9732
-
-package: libmysqlclient16
-version: 3
-depends: mysql-common >= 3 , libc6 >= 8 , zlib1g >= 1
-conflicts: libmysqlclient16
-installed: true
-number: 5.1.40-1
-source: mysql-dfsg-5.1
-sourceversion: 5.1.40-1
-installedsize: 4856
-
-package: cowdancer
-version: 2
-depends: libc6 >= 14 , cowbuilder
-conflicts: cowdancer
-installed: true
-number: 0.58
-source: cowdancer
-sourceversion: 0.58
-installedsize: 152
-
-package: libidn11-dev
-version: 1
-depends: libidn11 = 3 , pkg-config , dpkg >= 24 | install-info
-conflicts: libidn11-dev , libidn9-dev
-installed: true
-number: 1.15-2
-source: libidn
-sourceversion: 1.15-2
-installedsize: 1096
-
-package: libpthread-stubs0
-version: 2
-conflicts: libpthread-stubs0
-installed: true
-number: 0.3-2
-source: libpthread-stubs
-sourceversion: 0.3-2
-installedsize: 36
-
-package: texlive-lang-norwegian
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-norwegian
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 380
-
-package: libossp-uuid-perl
-version: 1
-depends: perl , perlapi-5.10.0--virtual | perlapi-5.10.0 , libc6 >= 15 , libossp-uuid15
-conflicts: libossp-uuid-perl , libdata-uuid-perl--virtual , libdata-uuid-perl
-provides: libdata-uuid-perl--virtual
-installed: true
-number: 1.5.1-1.1+b1
-source: ossp-uuid
-sourceversion: 1.5.1-1.1
-installedsize: 136
-
-package: libuuid1
-version: 6
-depends: passwd , libc6 >= 2
-conflicts: libuuid1
-installed: true
-number: 2.16.1-4
-source: util-linux
-sourceversion: 2.16.1-4
-installedsize: 112
-
-package: libxmu6
-version: 1
-depends: libc6 >= 2 , libsm6 , libx11-6 , libxext6 , libxt6
-conflicts: libxmu6
-installed: true
-number: 2:1.0.4-2
-source: libxmu
-sourceversion: 2:1.0.4-2
-installedsize: 160
-
-package: dc
-version: 1
-depends: libc6 >= 2 , dpkg >= 24 | install-info
-conflicts: dc
-installed: true
-number: 1.06.95-2
-source: bc
-sourceversion: 1.06.95-2
-installedsize: 216
-
-package: bc
-version: 1
-depends: libc6 >= 2 , libncurses5 >= 3 , libreadline5 >= 3 , dpkg >= 24 | install-info
-conflicts: bc
-installed: true
-number: 1.06.95-2
-source: bc
-sourceversion: 1.06.95-2
-installedsize: 312
-
-package: dbus
-version: 9
-depends: libc6 >= 17 , libdbus-1-3 >= 2 , libexpat1 >= 1 , libselinux1 >= 9 , adduser , lsb-base >= 21
-conflicts: dbus , dbus-1-utils < 2
-provides: dbus-1-utils--virtual
-installed: true
-number: 1.2.16-2
-source: dbus
-sourceversion: 1.2.16-2
-installedsize: 624
-
-package: liblwt-ocaml
-version: 1
-depends: libfindlib-ocaml-dfzt4--virtual | libfindlib-ocaml-dfzt4 , libreact-ocaml-71dv4--virtual | libreact-ocaml-71dv4 , libtext-ocaml-v45n9--virtual | libtext-ocaml-v45n9 , ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1 , libc6 >= 14
-conflicts: liblwt-ocaml , liblwt-ocaml-dev < 2
-provides: liblwt-ocaml-rs5r6--virtual
-installed: true
-number: 2.0.0-1
-source: lwt
-sourceversion: 2.0.0-1
-installedsize: 64
-
-package: libselinux1-dev
-version: 2
-depends: libc6 >= 5 , libselinux1 = 13 , libsepol1-dev >= 1
-conflicts: libselinux1-dev , libselinux-dev--virtual , libselinux-dev
-provides: libselinux-dev--virtual
-installed: true
-number: 2.0.89-3
-source: libselinux
-sourceversion: 2.0.89-3
-installedsize: 2240
-
-package: libnss-mdns
-version: 1
-depends: libc6 >= 1 , base-files >= 5 , perl , avahi-daemon >= 3
-conflicts: libnss-mdns
-installed: true
-number: 0.10-3.1
-source: nss-mdns
-sourceversion: 0.10-3.1
-installedsize: 116
-
-package: git-core
-version: 16
-depends: libc6 >= 5 , libcurl3-gnutls >= 1 , libexpat1 >= 1 , zlib1g >= 3 , perl-modules , liberror-perl , libdigest-sha1-perl
-conflicts: git-core , git < 1 , git-completion--virtual , git-completion , qgit < 1
-provides: git-completion--virtual
-installed: true
-number: 1:1.6.5.3-1
-source: git-core
-sourceversion: 1:1.6.5.3-1
-installedsize: 14924
-
-package: libxft2
-version: 2
-depends: libc6 >= 15 , libfontconfig1 >= 2 , libfreetype6 >= 6 , libx11-6 , libxrender1 , zlib1g >= 1
-conflicts: libxft2
-installed: true
-number: 2.1.13-3
-source: xft
-sourceversion: 2.1.13-3
-installedsize: 148
-
-package: sysvinit-utils
-version: 5
-depends: libc6 >= 2 , libselinux1 >= 2
-conflicts: sysvinit-utils , chkconfig < 1 , last , sysvconfig
-installed: true
-number: 2.87dsf-8
-source: sysvinit
-sourceversion: 2.87dsf-8
-installedsize: 268
-
-package: libsasl2-modules
-version: 4
-depends: libsasl2-2 = 2 , libc6 >= 2 , libssl0.9.8 >= 6
-conflicts: libsasl2-modules
-installed: true
-number: 2.1.23.dfsg1-3
-source: cyrus-sasl2
-sourceversion: 2.1.23.dfsg1-3
-installedsize: 464
-
-package: python-tz
-version: 3
-depends: tzdata , python , python-central >= 14
-conflicts: python-tz
-installed: true
-number: 2009p-1
-source: python-tz
-sourceversion: 2009p-1
-installedsize: 176
-
-package: libfile-remove-perl
-version: 3
-depends: perl >= 9
-conflicts: libfile-remove-perl
-installed: true
-number: 1.42-2
-source: libfile-remove-perl
-sourceversion: 1.42-2
-installedsize: 64
-
-package: vim-latexsuite
-version: 1
-depends: python , vim-common , vim--virtual | vim
-conflicts: vim-latexsuite
-installed: true
-number: 20091002-1
-source: vim-latexsuite
-sourceversion: 20091002-1
-installedsize: 1164
-
-package: python-cairo
-version: 11
-depends: libc6 >= 1 , libcairo2 >= 20 , python < 21 , python >= 16 , python-support >= 9
-conflicts: python-cairo
-provides: python2.5-cairo--virtual
-installed: true
-number: 1.8.6-1
-source: pycairo
-sourceversion: 1.8.6-1
-installedsize: 216
-
-package: libopenexr6
-version: 2
-depends: libc6 >= 1 , libgcc1 >= 3 , libilmbase6 >= 1 , libstdc++6 >= 9 , zlib1g >= 1
-conflicts: libopenexr6
-installed: true
-number: 1.6.1-4.1
-source: openexr
-sourceversion: 1.6.1-4.1
-installedsize: 856
-
-package: php5-suhosin
-version: 1
-depends: libc6 >= 2 , phpapi-20060613--virtual | phpapi-20060613
-conflicts: php5-suhosin
-installed: true
-number: 0.9.29-1
-source: php-suhosin
-sourceversion: 0.9.29-1
-installedsize: 244
-
-package: python-formencode
-version: 4
-depends: python-support >= 7 , python-dns , python-pkg-resources , python >= 16 | python-elementtree
-conflicts: python-formencode , python2.3-formencode < 1 , python2.4-formencode < 1
-installed: true
-number: 1.2.2-1
-source: python-formencode
-sourceversion: 1.2.2-1
-installedsize: 972
-
-package: sun-java5-demo
-version: 1
-depends: sun-java5-jre = 1 , sun-java5-jdk = 1 , libc6 >= 1
-conflicts: sun-java5-demo
-installed: true
-number: 1.5.0-20-1
-source: sun-java5
-sourceversion: 1.5.0-20-1
-installedsize: 10876
-
-package: apt
-version: 12
-depends: libc6 >= 5 , libgcc1 >= 3 , libstdc++6 >= 9 , debian-archive-keyring
-conflicts: apt
-provides: libapt-pkg-libc6.9-6-4.8--virtual
-installed: true
-number: 0.7.24
-source: apt
-sourceversion: 0.7.24
-installedsize: 5228
-
-package: libxcb1
-version: 3
-depends: libc6 >= 3 , libxau6 , libxdmcp6
-conflicts: libxcb1 , libxcb-xlib0
-installed: true
-number: 1.4-1
-source: libxcb
-sourceversion: 1.4-1
-installedsize: 176
-
-package: psmisc
-version: 1
-depends: libc6 >= 5 , libncurses5 >= 3
-conflicts: psmisc
-installed: true
-number: 22.8-1
-source: psmisc
-sourceversion: 22.8-1
-installedsize: 340
-
-package: libdes425-3
-version: 2
-depends: libc6 >= 8 , libcomerr2 >= 1 , libk5crypto3 >= 1 , libkrb5-3 >= 1
-conflicts: libdes425-3
-installed: true
-number: 1.6.dfsg.4~beta1-13
-source: krb5
-sourceversion: 1.6.dfsg.4~beta1-13
-installedsize: 104
-
-package: libboost-program-options1.40-dev
-version: 2
-depends: libboost1.40-dev = 2 , libboost-program-options1.40.0 = 3
-conflicts: libboost-program-options1.40-dev , libboost-program-options-dev < 1 , libboost-program-options1.35-dev , libboost-program-options1.36-dev , libboost-program-options1.37-dev , libboost-program-options1.38-dev , libboost-program-options1.39-dev
-installed: true
-number: 1.40.0-4
-source: boost1.40
-sourceversion: 1.40.0-4
-installedsize: 892
-
-package: libqt4-dbus
-version: 5
-depends: libc6 >= 1 , libgcc1 >= 3 , libqt4-xml = 7 , libqtcore4 = 7 , libstdc++6 >= 3
-conflicts: libqt4-dbus
-installed: true
-number: 4:4.5.3-4
-source: qt4-x11
-sourceversion: 4:4.5.3-4
-installedsize: 624
-
-package: texlive-base
-version: 3
-depends: texlive-doc-base >= 1 , dpkg >= 19 , tex-common >= 8 , texlive-base-bin >= 2 , texlive-common >= 1
-conflicts: texlive-base , texinfo < 1
-installed: true
-number: 2007.dfsg.2-4
-source: texlive-base
-sourceversion: 2007.dfsg.2-4
-installedsize: 17368
-
-package: cpio
-version: 2
-depends: libc6 >= 11
-conflicts: cpio , cpio-mt , mt-st < 1
-installed: true
-number: 2.10-1
-source: cpio
-sourceversion: 2.10-1
-installedsize: 664
-
-package: findutils
-version: 9
-depends: libc6 >= 8
-conflicts: findutils
-installed: true
-number: 4.4.2-1
-source: findutils
-sourceversion: 4.4.2-1
-installedsize: 1520
-
-package: mc
-version: 1
-depends: libc6 >= 2 , libglib2.0-0 >= 13 , libgpm2 >= 1 , libslang2 >= 4
-conflicts: mc
-installed: true
-number: 2:4.7.0-pre1-3
-source: mc
-sourceversion: 2:4.7.0-pre1-3
-installedsize: 6452
-
-package: dnsutils
-version: 2
-depends: libbind9-50 = 1 , libc6 >= 8 , libcap2 >= 1 , libdns50 = 1 , libgssapi-krb5-2 >= 1 , libisc50 = 1 , libisccfg50 = 1 , liblwres50 = 1 , libssl0.9.8 >= 6 , libxml2 >= 13 , bind9-host | host--virtual | host
-conflicts: dnsutils , netstd < 2
-installed: true
-number: 1:9.6.1.dfsg.P1-3
-source: bind9
-sourceversion: 1:9.6.1.dfsg.P1-3
-installedsize: 392
-
-package: tasksel
-version: 3
-depends: debconf >= 7 | debconf-2.0--virtual | debconf-2.0 , debconf >= 28 | cdebconf >= 4 , liblocale-gettext-perl , aptitude >= 1 , tasksel-data
-conflicts: tasksel , base-config < 1 , debconf < 22
-installed: true
-number: 2.80
-source: tasksel
-sourceversion: 2.80
-installedsize: 904
-
-package: libpam-runtime
-version: 6
-depends: debconf >= 30 , libpam-modules >= 4
-conflicts: libpam-runtime , libpam0g-util
-installed: true
-number: 1.1.0-4
-source: pam
-sourceversion: 1.1.0-4
-installedsize: 1228
-
-package: libsql-translator-perl
-version: 1
-depends: perl , libclass-data-inheritable-perl , libclass-base-perl , libclass-makemethods-perl , libclass-accessor-perl , libdigest-sha1-perl >= 1 , libparse-recdescent-perl >= 4 , libdbi-perl , libcarp-clan-perl , libfile-sharedir-perl >= 3 , libio-stringy-perl , libxml-writer-perl
-conflicts: libsql-translator-perl
-installed: true
-number: 0.11003-1
-source: sqlfairy
-sourceversion: 0.11003-1
-installedsize: 3684
-
-package: transfig
-version: 2
-depends: libc6 >= 2 , libpng12-0 >= 3 , libxpm4 , x11-common , gawk
-conflicts: transfig
-installed: true
-number: 1:3.2.5.a-2
-source: transfig
-sourceversion: 1:3.2.5.a-2
-installedsize: 1244
-
-package: libgeoip1
-version: 5
-depends: libc6 >= 1 , zlib1g >= 1
-conflicts: libgeoip1
-installed: true
-number: 1.4.6.dfsg-14
-source: geoip
-sourceversion: 1.4.6.dfsg-14
-installedsize: 324
-
-package: libkadm5clnt5
-version: 1
-depends: libc6 >= 8 , libcomerr2 >= 1 , libgssapi-krb5-2 >= 1 , libgssrpc4 >= 1 , libk5crypto3 >= 1 , libkrb5-3 >= 1
-conflicts: libkadm5clnt5
-installed: true
-number: 1.6.dfsg.4~beta1-13
-source: krb5
-sourceversion: 1.6.dfsg.4~beta1-13
-installedsize: 176
-
-package: libdb4.7
-version: 1
-depends: libc6 >= 3
-conflicts: libdb4.7 , libdb2 < 1
-installed: true
-number: 4.7.25-8
-source: db4.7
-sourceversion: 4.7.25-8
-installedsize: 1532
-
-package: python-serial
-version: 1
-depends: python , python-central >= 12
-conflicts: python-serial
-installed: true
-number: 2.3-1
-source: pyserial
-sourceversion: 2.3-1
-installedsize: 264
-
-package: libacl1
-version: 2
-depends: libattr1 >= 3 , libc6 >= 1
-conflicts: libacl1 , acl < 1 , libacl1-kerberos4kth
-installed: true
-number: 2.2.48-1
-source: acl
-sourceversion: 2.2.48-1
-installedsize: 80
-
-package: texlive-lang-danish
-version: 2
-depends: dpkg >= 19 , tex-common >= 8 , texlive-base >= 2 , texlive-common >= 1
-conflicts: texlive-lang-danish
-installed: true
-number: 2007.dfsg.4-2
-source: texlive-lang
-sourceversion: 2007.dfsg.4-2
-installedsize: 196
-
-package: headache
-version: 1
-depends: ocaml-base-nox-3.11.1--virtual | ocaml-base-nox-3.11.1