## Process this file with automake to produce Makefile.in
## ##################################################
-SUBDIRS =
+SUBDIRS = detail
## ##################################################
--- /dev/null
+Arch.lo Arch.o: Arch.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/sys/utsname.h \
+ /usr/include/bits/utsname.h ../../../zypp/solver/detail/Arch.h \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/utils.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/sys/utsname.h:
+
+/usr/include/bits/utsname.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
--- /dev/null
+Channel.lo Channel.o: Channel.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Channel.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Channel.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
--- /dev/null
+Dependency.lo Dependency.o: Dependency.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/OrDependency.h \
+ ../../../zypp/solver/detail/Version.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/OrDependency.h:
+
+../../../zypp/solver/detail/Version.h:
--- /dev/null
+Edition.lo Edition.o: Edition.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Edition.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Edition.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
--- /dev/null
+Importance.lo Importance.o: Importance.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Importance.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Importance.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+Match.lo Match.o: Match.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Match.h /usr/include/YaST2/y2util/Ustring.h \
+ /usr/include/c++/4.0.2/iostream /usr/include/c++/4.0.2/ostream \
+ /usr/include/c++/4.0.2/ios /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Match.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
--- /dev/null
+MultiWorld.lo MultiWorld.o: MultiWorld.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/MultiWorld.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/ServiceWorldPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/ServiceWorld.h \
+ ../../../zypp/solver/detail/StoreWorld.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/MultiWorld.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/ServiceWorldPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/ServiceWorld.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
--- /dev/null
+OrDependency.lo OrDependency.o: OrDependency.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/OrDependency.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/OrDependency.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
--- /dev/null
+Package.lo Package.o: Package.cc ../../../zypp/solver/detail/utils.h \
+ /usr/include/sys/types.h /usr/include/features.h \
+ /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+ /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/postypes.h \
+ /usr/include/c++/4.0.2/cwchar /usr/include/c++/4.0.2/ctime \
+ /usr/include/stdint.h /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/Version.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Spec.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/Version.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
--- /dev/null
+PackageUpdate.lo PackageUpdate.o: PackageUpdate.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/libgen.h \
+ ../../../zypp/solver/detail/utils.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Spec.h /usr/include/YaST2/y2util/Ustring.h \
+ /usr/include/c++/4.0.2/iostream /usr/include/c++/4.0.2/ostream \
+ /usr/include/c++/4.0.2/ios /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/libgen.h:
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
--- /dev/null
+Packman.lo Packman.o: Packman.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+Pending.lo Pending.o: Pending.cc ../../../zypp/solver/detail/Pending.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h
+
+../../../zypp/solver/detail/Pending.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
--- /dev/null
+QueueItem.lo QueueItem.o: QueueItem.cc \
+ ../../../zypp/solver/detail/QueueItem.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverContext.h
+
+../../../zypp/solver/detail/QueueItem.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
--- /dev/null
+QueueItemBranch.lo QueueItemBranch.o: QueueItemBranch.cc \
+ ../../../zypp/solver/detail/QueueItemBranch.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemBranchPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/Resolver.h \
+ ../../../zypp/solver/detail/ResolverPtr.h \
+ ../../../zypp/solver/detail/ResolverQueue.h \
+ ../../../zypp/solver/detail/ResolverQueuePtr.h
+
+../../../zypp/solver/detail/QueueItemBranch.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemBranchPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/Resolver.h:
+
+../../../zypp/solver/detail/ResolverPtr.h:
+
+../../../zypp/solver/detail/ResolverQueue.h:
+
+../../../zypp/solver/detail/ResolverQueuePtr.h:
--- /dev/null
+QueueItemConflict.lo QueueItemConflict.o: QueueItemConflict.cc \
+ ../../../config.h ../../../zypp/solver/detail/QueueItemConflict.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemConflictPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/QueueItemBranch.h \
+ ../../../zypp/solver/detail/QueueItemBranchPtr.h \
+ ../../../zypp/solver/detail/QueueItemInstall.h \
+ ../../../zypp/solver/detail/QueueItemInstallPtr.h \
+ ../../../zypp/solver/detail/QueueItemUninstall.h \
+ ../../../zypp/solver/detail/QueueItemUninstallPtr.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWith.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoMisc.h \
+ ../../../zypp/solver/detail/ResolverInfoMiscPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoObsoletes.h \
+ ../../../zypp/solver/detail/ResolverInfoObsoletesPtr.h
+
+../../../config.h:
+
+../../../zypp/solver/detail/QueueItemConflict.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemConflictPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/QueueItemBranch.h:
+
+../../../zypp/solver/detail/QueueItemBranchPtr.h:
+
+../../../zypp/solver/detail/QueueItemInstall.h:
+
+../../../zypp/solver/detail/QueueItemInstallPtr.h:
+
+../../../zypp/solver/detail/QueueItemUninstall.h:
+
+../../../zypp/solver/detail/QueueItemUninstallPtr.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWith.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoMisc.h:
+
+../../../zypp/solver/detail/ResolverInfoMiscPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoObsoletes.h:
+
+../../../zypp/solver/detail/ResolverInfoObsoletesPtr.h:
--- /dev/null
+QueueItemGroup.lo QueueItemGroup.o: QueueItemGroup.cc \
+ ../../../zypp/solver/detail/QueueItemGroup.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemGroupPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h
+
+../../../zypp/solver/detail/QueueItemGroup.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemGroupPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
--- /dev/null
+QueueItemInstall.lo QueueItemInstall.o: QueueItemInstall.cc \
+ ../../../config.h ../../../zypp/solver/detail/QueueItemInstall.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemInstallPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/QueueItemUninstall.h \
+ ../../../zypp/solver/detail/QueueItemUninstallPtr.h \
+ ../../../zypp/solver/detail/QueueItemRequire.h \
+ ../../../zypp/solver/detail/QueueItemRequirePtr.h \
+ ../../../zypp/solver/detail/QueueItemConflict.h \
+ ../../../zypp/solver/detail/QueueItemConflictPtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWith.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoMisc.h \
+ ../../../zypp/solver/detail/ResolverInfoMiscPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededBy.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededByPtr.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h
+
+../../../config.h:
+
+../../../zypp/solver/detail/QueueItemInstall.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemInstallPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/QueueItemUninstall.h:
+
+../../../zypp/solver/detail/QueueItemUninstallPtr.h:
+
+../../../zypp/solver/detail/QueueItemRequire.h:
+
+../../../zypp/solver/detail/QueueItemRequirePtr.h:
+
+../../../zypp/solver/detail/QueueItemConflict.h:
+
+../../../zypp/solver/detail/QueueItemConflictPtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWith.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoMisc.h:
+
+../../../zypp/solver/detail/ResolverInfoMiscPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededBy.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededByPtr.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
--- /dev/null
+QueueItemRequire.lo QueueItemRequire.o: QueueItemRequire.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemRequire.h \
+ ../../../zypp/solver/detail/QueueItemRequirePtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/QueueItemBranch.h \
+ ../../../zypp/solver/detail/QueueItemBranchPtr.h \
+ ../../../zypp/solver/detail/QueueItemUninstall.h \
+ ../../../zypp/solver/detail/QueueItemUninstallPtr.h \
+ ../../../zypp/solver/detail/QueueItemInstall.h \
+ ../../../zypp/solver/detail/QueueItemInstallPtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/ResolverInfoDependsOn.h \
+ ../../../zypp/solver/detail/ResolverInfoDependsOnPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoMisc.h \
+ ../../../zypp/solver/detail/ResolverInfoMiscPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededBy.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededByPtr.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemRequire.h:
+
+../../../zypp/solver/detail/QueueItemRequirePtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/QueueItemBranch.h:
+
+../../../zypp/solver/detail/QueueItemBranchPtr.h:
+
+../../../zypp/solver/detail/QueueItemUninstall.h:
+
+../../../zypp/solver/detail/QueueItemUninstallPtr.h:
+
+../../../zypp/solver/detail/QueueItemInstall.h:
+
+../../../zypp/solver/detail/QueueItemInstallPtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/ResolverInfoDependsOn.h:
+
+../../../zypp/solver/detail/ResolverInfoDependsOnPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoMisc.h:
+
+../../../zypp/solver/detail/ResolverInfoMiscPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededBy.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededByPtr.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
--- /dev/null
+QueueItemUninstall.lo QueueItemUninstall.o: QueueItemUninstall.cc \
+ ../../../zypp/solver/detail/QueueItemUninstall.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/QueueItemUninstallPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/QueueItemRequire.h \
+ ../../../zypp/solver/detail/QueueItemRequirePtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/ResolverInfoMissingReq.h \
+ ../../../zypp/solver/detail/ResolverInfoMissingReqPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/Version.h
+
+../../../zypp/solver/detail/QueueItemUninstall.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/QueueItemUninstallPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/QueueItemRequire.h:
+
+../../../zypp/solver/detail/QueueItemRequirePtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/ResolverInfoMissingReq.h:
+
+../../../zypp/solver/detail/ResolverInfoMissingReqPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/Version.h:
--- /dev/null
+Resolvable.lo Resolvable.o: Resolvable.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+ResolvableAndDependency.lo ResolvableAndDependency.o: \
+ ResolvableAndDependency.cc ../../../config.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h ../../../zypp/solver/detail/debug.h
+
+../../../config.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+Resolver.lo Resolver.o: Resolver.cc \
+ ../../../zypp/solver/detail/Resolver.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverQueue.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverQueuePtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/StoreWorld.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/MultiWorld.h \
+ ../../../zypp/solver/detail/ServiceWorldPtr.h
+
+../../../zypp/solver/detail/Resolver.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverQueue.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverQueuePtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/MultiWorld.h:
+
+../../../zypp/solver/detail/ServiceWorldPtr.h:
--- /dev/null
+ResolverContext.lo ResolverContext.o: ResolverContext.cc \
+ /usr/include/values.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/float.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/cstdarg /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/sys/sysmacros.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoMisc.h \
+ ../../../zypp/solver/detail/ResolverInfoMiscPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h
+
+/usr/include/values.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/float.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoMisc.h:
+
+../../../zypp/solver/detail/ResolverInfoMiscPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
--- /dev/null
+ResolverInfo.lo ResolverInfo.o: ResolverInfo.cc \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
--- /dev/null
+ResolverInfoChildOf.lo ResolverInfoChildOf.o: ResolverInfoChildOf.cc \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoChildOf.h \
+ ../../../zypp/solver/detail/ResolverInfoChildOfPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoChildOf.h:
+
+../../../zypp/solver/detail/ResolverInfoChildOfPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
--- /dev/null
+ResolverInfoConflictsWith.lo ResolverInfoConflictsWith.o: \
+ ResolverInfoConflictsWith.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWith.h \
+ ../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWith.h:
+
+../../../zypp/solver/detail/ResolverInfoConflictsWithPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
--- /dev/null
+ResolverInfoContainer.lo ResolverInfoContainer.o: \
+ ResolverInfoContainer.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
--- /dev/null
+ResolverInfoDependsOn.lo ResolverInfoDependsOn.o: \
+ ResolverInfoDependsOn.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoDependsOn.h \
+ ../../../zypp/solver/detail/ResolverInfoDependsOnPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoDependsOn.h:
+
+../../../zypp/solver/detail/ResolverInfoDependsOnPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
--- /dev/null
+ResolverInfoMisc.lo ResolverInfoMisc.o: ResolverInfoMisc.cc \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoMisc.h \
+ ../../../zypp/solver/detail/ResolverInfoMiscPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoMisc.h:
+
+../../../zypp/solver/detail/ResolverInfoMiscPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
--- /dev/null
+ResolverInfoMissingReq.lo ResolverInfoMissingReq.o: \
+ ResolverInfoMissingReq.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoMissingReq.h \
+ ../../../zypp/solver/detail/ResolverInfoMissingReqPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoMissingReq.h:
+
+../../../zypp/solver/detail/ResolverInfoMissingReqPtr.h:
--- /dev/null
+ResolverInfoNeededBy.lo ResolverInfoNeededBy.o: ResolverInfoNeededBy.cc \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededBy.h \
+ ../../../zypp/solver/detail/ResolverInfoNeededByPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededBy.h:
+
+../../../zypp/solver/detail/ResolverInfoNeededByPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
--- /dev/null
+ResolverInfoObsoletes.lo ResolverInfoObsoletes.o: \
+ ResolverInfoObsoletes.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverInfo.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/ResolverInfoObsoletes.h \
+ ../../../zypp/solver/detail/ResolverInfoObsoletesPtr.h \
+ ../../../zypp/solver/detail/ResolverInfoContainer.h \
+ ../../../zypp/solver/detail/ResolverInfoContainerPtr.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/ResolverInfoObsoletes.h:
+
+../../../zypp/solver/detail/ResolverInfoObsoletesPtr.h:
+
+../../../zypp/solver/detail/ResolverInfoContainer.h:
+
+../../../zypp/solver/detail/ResolverInfoContainerPtr.h:
--- /dev/null
+ResolverQueue.lo ResolverQueue.o: ResolverQueue.cc \
+ /usr/include/c++/4.0.2/map /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/ResolverQueue.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/ResolverQueuePtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/QueueItemBranch.h \
+ ../../../zypp/solver/detail/QueueItemBranchPtr.h \
+ ../../../zypp/solver/detail/QueueItemConflict.h \
+ ../../../zypp/solver/detail/QueueItemConflictPtr.h \
+ ../../../zypp/solver/detail/QueueItemGroup.h \
+ ../../../zypp/solver/detail/QueueItemGroupPtr.h \
+ ../../../zypp/solver/detail/QueueItemInstall.h \
+ ../../../zypp/solver/detail/QueueItemInstallPtr.h \
+ ../../../zypp/solver/detail/QueueItemRequire.h \
+ ../../../zypp/solver/detail/QueueItemRequirePtr.h \
+ ../../../zypp/solver/detail/QueueItemUninstall.h \
+ ../../../zypp/solver/detail/QueueItemUninstallPtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/Version.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/vector /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/ResolverQueue.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/ResolverQueuePtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/QueueItemBranch.h:
+
+../../../zypp/solver/detail/QueueItemBranchPtr.h:
+
+../../../zypp/solver/detail/QueueItemConflict.h:
+
+../../../zypp/solver/detail/QueueItemConflictPtr.h:
+
+../../../zypp/solver/detail/QueueItemGroup.h:
+
+../../../zypp/solver/detail/QueueItemGroupPtr.h:
+
+../../../zypp/solver/detail/QueueItemInstall.h:
+
+../../../zypp/solver/detail/QueueItemInstallPtr.h:
+
+../../../zypp/solver/detail/QueueItemRequire.h:
+
+../../../zypp/solver/detail/QueueItemRequirePtr.h:
+
+../../../zypp/solver/detail/QueueItemUninstall.h:
+
+../../../zypp/solver/detail/QueueItemUninstallPtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/Version.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
--- /dev/null
+Section.lo Section.o: Section.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Section.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Section.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+ServiceWorld.lo ServiceWorld.o: ServiceWorld.cc \
+ ../../../zypp/solver/detail/ServiceWorld.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ ../../../zypp/solver/detail/ServiceWorldPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/StoreWorld.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h
+
+../../../zypp/solver/detail/ServiceWorld.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+../../../zypp/solver/detail/ServiceWorldPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
--- /dev/null
+Spec.lo Spec.o: Spec.cc ../../../zypp/solver/detail/Spec.h \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+../../../zypp/solver/detail/Spec.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+StoreWorld.lo StoreWorld.o: StoreWorld.cc ../../../config.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Version.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/StoreWorld.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/debug.h
+
+../../../config.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Version.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+Subscription.lo Subscription.o: Subscription.cc \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Subscription.h /usr/include/sys/time.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Subscription.h:
+
+/usr/include/sys/time.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+UndumpWorld.lo UndumpWorld.o: UndumpWorld.cc \
+ ../../../zypp/solver/detail/UndumpWorld.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ ../../../zypp/solver/detail/UndumpWorldPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/StoreWorld.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/extract.h
+
+../../../zypp/solver/detail/UndumpWorld.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+../../../zypp/solver/detail/UndumpWorldPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/extract.h:
--- /dev/null
+Version.lo Version.o: Version.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Version.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Version.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+World.lo World.o: World.cc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/World.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Channel.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/Subscription.h /usr/include/sys/time.h \
+ ../../../zypp/solver/detail/Version.h
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/World.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/Subscription.h:
+
+/usr/include/sys/time.h:
+
+../../../zypp/solver/detail/Version.h:
--- /dev/null
+XmlNode.lo XmlNode.o: XmlNode.cc ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
--- /dev/null
+XmlParser.lo XmlParser.o: XmlParser.cc ../../../config.h \
+ /usr/include/ctype.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/bits/typesizes.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/xlocale.h /usr/include/assert.h \
+ ../../../zypp/solver/detail/XmlParser.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/string.h /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/sys/types.h \
+ /usr/include/time.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/Channel.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependency.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/utils.h ../../../zypp/solver/detail/debug.h
+
+../../../config.h:
+
+/usr/include/ctype.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/assert.h:
+
+../../../zypp/solver/detail/XmlParser.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/string.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/Channel.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependency.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/utils.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+debug.lo debug.o: debug.cc /usr/include/YaST2/y2util/stringutil.h \
+ /usr/include/c++/4.0.2/cstdio \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/stdio.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h \
+ /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/string.h \
+ /usr/include/xlocale.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/vector \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/bits/char_traits.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ ../../../zypp/solver/detail/debug.h
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+extract.lo extract.o: extract.cc ../../../zypp/solver/detail/extract.h \
+ ../../../zypp/solver/detail/Channel.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/XmlParser.h \
+ ../../../zypp/solver/detail/utils.h ../../../zypp/solver/detail/debug.h
+
+../../../zypp/solver/detail/extract.h:
+
+../../../zypp/solver/detail/Channel.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/XmlParser.h:
+
+../../../zypp/solver/detail/utils.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+utils.lo utils.o: utils.cc /usr/include/sys/mman.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/bits/typesizes.h /usr/include/bits/mman.h \
+ /usr/include/stdio.h /usr/include/libio.h /usr/include/_G_config.h \
+ /usr/include/wchar.h /usr/include/bits/wchar.h /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/fcntl.h \
+ /usr/include/bits/fcntl.h /usr/include/sys/types.h /usr/include/time.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/sys/stat.h \
+ /usr/include/bits/stat.h /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/xlocale.h /usr/include/alloca.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h /usr/include/ctype.h \
+ /usr/include/string.h /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/utils.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/c++/4.0.2/bits/postypes.h \
+ /usr/include/c++/4.0.2/cwchar /usr/include/c++/4.0.2/ctime \
+ /usr/include/stdint.h /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc /usr/include/zlib.h \
+ /usr/include/zconf.h ../../../zypp/solver/detail/debug.h
+
+/usr/include/sys/mman.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/bits/mman.h:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/fcntl.h:
+
+/usr/include/bits/fcntl.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/alloca.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/ctype.h:
+
+/usr/include/string.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/zlib.h:
+
+/usr/include/zconf.h:
+
+../../../zypp/solver/detail/debug.h:
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Arch.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+#include <sys/utsname.h>
+
+#include <zypp/solver/detail/Arch.h>
+#include <zypp/solver/detail/utils.h>
+
+#if 0
+static char *known_archs[] = {
+ "", "*", "?", // noarch, any, unknown
+ "i386", "i486", "i586", "i686",
+ "x86-64", "x86_64", "ia32e", "athlon",
+ "ppc", "ppc64",
+ "s390", "s390x",
+ "ia64",
+ "sparc", "sparc64"
+};
+#endif
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+static const string system_arch (void);
+static const string canonical_arch (const string & arch);
+
+//---------------------------------------------------------------------------
+
+const Arch * Arch::Unknown = Arch::create ("unknown");
+const Arch * Arch::Any = Arch::create ("any");
+const Arch * Arch::Noarch = Arch::create ("noarch");
+const Arch * Arch::System = Arch::create (system_arch ());
+
+//---------------------------------------------------------------------------
+// architecture stuff
+
+static const string
+canonical_arch (const string & arch)
+{
+ typedef struct { char *from; char *to; } canonical;
+ // convert machine string to known_arch
+static canonical canonical_archs[] = {
+ { "noarch", "noarch" },
+ { "unknown", "unknown" },
+ { "any", "any" },
+ { "all", "any" },
+ { "i386", "i386" },
+ { "ix86", "i386" }, /* OpenPKG uses this */
+ { "i486", "i486" },
+ { "i586", "i586" },
+ { "i686", "i686" },
+ { "x86_64", "x86_64" },
+ { "ia32e", "ia32e" },
+ { "athlon", "athlon" },
+ { "ppc", "ppc" },
+ { "ppc64", "ppc64" },
+ { "s390", "s390" },
+ { "s390x", "s390x" },
+ { "ia64", "ia64" },
+ { "sparc", "sparc" },
+ { "sun4c", "sparc" },
+ { "sun4d", "sparc" },
+ { "sun4m", "sparc" },
+ { "sparc64", "sparc64" },
+ { "sun4u", "sparc64" },
+ { "sparcv9", "sparc64" },
+ { 0 }
+};
+
+ for (canonical *ptr = canonical_archs; ptr->from; ptr++) {
+ if (arch == ptr->from) {
+ return ptr->to;
+ }
+ }
+
+ return "canonical";
+}
+
+
+static const string
+system_arch (void)
+{
+ static struct utsname buf;
+ static bool checked = false;
+
+ if (!checked) {
+ if (uname (&buf) < 0) {
+ return NULL;
+ }
+ checked = true;
+ }
+
+ return string (buf.machine);
+}
+
+
+//---------------------------------------------------------------------------
+
+const string
+Arch::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+const string
+Arch::toString ( const Arch & arch )
+{
+ return arch._arch;
+}
+
+
+ostream &
+Arch::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream & os, const Arch & arch)
+{
+ return os << arch.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Arch::Arch( const string & a)
+ : _arch (a)
+{
+}
+
+
+const Arch *
+Arch::create (const string & arch)
+{
+typedef std::map<const std::string, const Arch *> ArchTable;
+
+ static ArchTable table;
+ ArchTable::iterator pos = table.find (arch);
+ if (pos != table.end()) {
+ return pos->second;
+ }
+ const Arch *new_arch = new Arch(canonical_arch (arch));
+ table.insert (ArchTable::value_type (arch, new_arch));
+
+ return new_arch;
+}
+
+
+ArchList
+Arch::getCompatList () const
+{
+ typedef struct {
+ const char *arch;
+ const char *compat_arch;
+ } ArchAndCompatArch;
+
+ /* _NOARCH should never be listed in this table (other than as the
+ * terminator), as it will automatically be added. Every architecture
+ * is implicitly compatible with itself. Compatible architectures
+ * should be listed in most-preferred to least-preferred order. */
+
+ static ArchAndCompatArch compat_table[] = {
+ { "i486", "i386" },
+ { "i586", "i486" },
+ { "i586", "i386" },
+ { "i686", "i586" },
+ { "i686", "i486" },
+ { "i686", "i386" },
+ { "athlon", "i686" },
+ { "athlon", "i586" },
+ { "athlon", "i486" },
+ { "athlon", "i386" },
+ { "x86_64", "i686" },
+ { "x86_64", "i586" },
+ { "x86_64", "i486" },
+ { "x86_64", "i386" },
+ { "x86_64", "athlon" },
+ { "x86_64", "ia32e" },
+ { "ppc64", "ppc" },
+ { "s390x", "s390" },
+ { "sparc64", "sparc" },
+ { 0 }
+ };
+
+
+ ArchAndCompatArch *iter;
+ ArchList ret;
+
+ ret.push_back (this); // be compatible with yourself
+
+ iter = compat_table;
+ while (iter->arch != NULL) {
+ if (_arch == iter->arch) {
+ ret.push_back (create (iter->compat_arch));
+ }
+ iter++;
+ }
+
+ return ret;
+}
+
+
+int
+Arch::getCompatScore (const ArchList & archlist) const
+{
+ int score = 0;
+
+ for (ArchList::const_iterator iter = archlist.begin(); iter != archlist.end(); iter++) {
+ if (*iter == this) {
+ return score;
+ }
+ score++;
+ }
+ return -1;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Arch.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Arch_h
+#define _Arch_h
+
+#include <iosfwd>
+#include <list>
+#include <map>
+#include <string>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+class Arch;
+typedef std::list<const Arch *> ArchList;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Arch
+/**
+ *
+ **/
+class Arch {
+
+ private:
+
+ std::string _arch;
+
+ explicit Arch( const std::string & a = "" );
+
+ public:
+ static const Arch *Any;
+ static const Arch *Unknown;
+ static const Arch *Noarch;
+ static const Arch *System;
+
+ static const Arch *create ( const std::string & arch ); // factory
+ virtual ~Arch() {};
+
+ // ---------------------------------- I/O
+
+ static const std::string toString ( const Arch & arch );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<< ( std::ostream &, const Arch & arch);
+
+ const std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ bool isAny (void) const { return this == Any; }
+ bool isUnknown (void) const { return this == Unknown; }
+ bool isNoarch (void) const { return this == Noarch; }
+
+ ArchList getCompatList () const;
+ int getCompatScore (const ArchList & archlist) const;
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Arch_h
--- /dev/null
+2005-06-22 Tambet Ingo <tambet@ximian.com>
+
+ Backport changes from the stable branch:
+
+ 2005-05-12 James Willcox <james@ximian.com>
+
+ * rc-rollback.c: (file_changes_to_xml), (get_file_changes),
+ (rc_rollback_restore_files):
+
+ Store symlink targets, and restore them after rollback.
+
+ 2005-04-27 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: (rc_rpmman_find_system_headers_v4),
+ (rc_rpmman_query), (load_rpm_syms):
+ * rc-rpmman.h: add headerLink
+
+ Ref the headers in rc_rpmman_find_system_headers_v4, as rpm
+ unrefs them after each iteration.
+
+2005-06-22 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c: Update the dependency creation functions.
+ Add support to RPM 4.4.
+
+ * rc-resolvable-match.c (rc_resolvable_match_equal): Check the type
+ of the dependency in case it's set.
+ (rc_resolvable_match_test): Update the dependency creation functions.
+
+ * Makefile.am: Remove atom, precondition and solution from the build
+ for now. Add support for RPM 4.4.
+
+ * rc-resolvable-dep.c: Add type information RCResolvableDep.
+ (dep_new): ditto.
+ (dep_equal): Compare type as well.
+ (rc_resolvable_dep_new): ditto.
+ (rc_resolvable_dep_new_from_spec): Ditto.
+ (rc_resolvable_dep_get_type): Provide accessor for type.
+
+ * rc-debman-general.c (rc_debman_fill_depends): Update the
+ rc_resolvable_dep_new call to use the new API.
+
+ * rc-debman.c (rc_debman_query_file): Ditto.
+
+ * rc-rollback.c (resolvable_match_cb, get_action_from_xml_node): Ditto.
+
+ * rc-dep-or.c (rc_dep_or_new_provide): Ditto.
+
+ * rc-world.c (rc_world_get_resolvable_with_constraint): Ditto.
+
+ * rc-extract-packages.c (fill_debian_package): Ditto.
+
+ * rc-xml.c (parse_dep_attrs)
+ (rc_xml_node_to_resolvable_dep_internal): Ditto.
+
+2005-06-08 Tambet Ingo <tambet@ximian.com>
+
+ * rc-solution.c:
+ * rc-solution.h:
+ * rc-atom.c:
+ * rc-atom.h:
+ * rc-precondition.c:
+ * rc-precondition.h: Add.
+
+ * Makefile.am: Add new files to the build.
+
+2005-05-23 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-service.c (rc_world_service_serialize)
+ (rc_world_service_unserialize): Implement.
+
+2005-05-19 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-local-dir.c (serialize_local_dir_cb)
+ (rc_world_local_dir_serialize_fn, unserialize_local_dir_cb)
+ (rc_world_local_dir_unserialize_fn): Implement serialization.
+ (rc_world_local_dir_class_init): Register serialization functions to
+ vtable.
+
+ * rc-world.c (rc_world_sync): Don't sync if we're operating on
+ unserialized world.
+ (rc_world_sync_conditional): Ditto.
+ (rc_world_refresh): Ditto for refresh.
+ (rc_world_can_transact_resolvable): Ditto for transact.
+ (serialize_lock, rc_world_serialize, rc_world_to_file)
+ (rc_world_unserialize, rc_world_from_file): Implement RCWorld
+ serialization/unserialization.
+
+ * rc-world-system.c (serialize_system_cb)
+ (rc_world_system_serialize, unserialize_system_cb)
+ (rc_world_system_unserialize): Implement serialization.
+ (rc_world_system_class_init): Register serialization functions to
+ vtable.
+
+ * rc-xml.c (rc_resolvable_dep_to_xml_node): Fix ResolvableSpec casting.
+
+ * rc-world-multi.c (serialize_multi_cb)
+ (rc_world_multi_serialize_fn, rc_world_multi_unserialize_fn):
+ Implement serialization and unserialization.
+ (rc_world_multi_class_init): Register serialization functions
+ to vtable.
+
+2005-05-18 Tambet Ingo <tambet@ximian.com>
+
+ * rc-version-rpm.h: New file.
+
+ * rc-version-rpm.c: New file.
+
+ * rc-version-deb.h: New file.
+
+ * rc-version-deb.c: New file.
+
+ * rc-rpmman.c (read_patch_parents): Use the new versioning API.
+ Remove version parser and comparer from here.
+
+ * Makefile.am: Build rc-version-deb.[ch] and rc-version-rpm.[ch].
+
+ * rc-debman.c (query_all_read_line_cb): Use the new versioning API.
+ (rc_debman_version_compare): Remove from here.
+ (rc_debman_parse_version_wrapper): Remove.
+
+ * rc-version.h: Add version related packman capabilites here as
+ version properties. Update API declarations.
+
+ * rc-dep-or.c (rc_dep_string_to_or_dep_slist): Use the new versioning
+ API.
+
+ * rc-version.c: Remove the barely working, non extensible versioning
+ system, add a new and 100% better one.
+
+ * rc-extract-packages.c: Clean up some compiler warnings.
+ (fill_debian_package): Use the new version API.
+ (package_into_hash): Ditto.
+
+ * rc-packman.h: Remove versioning related capabilities.
+ Remove versioning related virtual functions from packman.
+
+ * rc-packman.c (rc_packman_version_compare): Remove. It's not only
+ packman specific anymore.
+ (rc_packman_parse_version): Ditto.
+
+ * libredcarpet.h: Add "rc-version-deb.h" and "rc-version-rpm.h"
+
+ * rc-debman-general.h: Remove versionfing function declarations.
+
+ * rc-resolvable-dep.c (rc_resolvable_dep_verify_relation): Use new
+ versioning api.
+
+ * rc-debman-general.c: Clean up, move version related functions out
+ of here.
+
+2005-05-06 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c: Use correct path for rpmroot. General cleanup.
+
+ * rc-util.c (rc_file_exists): Get rid of it, glib already has that.
+
+ * rc-packman.c (rc_packman_set_root_path)
+ (rc_packman_get_root_path): Implement.
+
+ * rc-world-system.c (rc_world_system_assemble): Set packman's root
+ path.
+ (rc_world_system_new): Take uri argument.
+
+ * rc-resolvable.c (rc_resolvable_to_str): Use class function instead
+ of hard coded one.
+
+2005-04-10 James Willcox <james@ximian.com>
+
+ * rc-world.c: (foreach_system_upgrade_cb):
+
+ Do not append a package of the same name and version to the list.
+ Avoids duplicate packages in the list of packages to update.
+
+2005-03-24 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_foreach_subworld): Make a private
+ referenced copy of subworlds before calling callback to avoid race
+ conditions.
+
+2005-03-17 Tambet Ingo <tambet@ximian.com>
+
+ * distributions.xml: Fix sles-9 target.
+
+2005-03-04 James Willcox <james@ximian.com>
+
+ * rc-package.c: (rc_package_get_install_only),
+ (rc_package_set_install_only):
+ * rc-package.h:
+
+ add rc_package_set_install_only
+
+2005-03-04 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package.c (rc_package_is_local): Implement.
+
+ * rc-package.h (rc_package_is_local): Declare.
+
+2005-02-23 James Willcox <james@ximian.com>
+
+ * rc-verification.c: (rc_verification_cleanup), (rc_verify_gpg):
+ * rc-verification.h:
+
+ Only create the gpg directory once, and add a function for
+ removing it at shutdown time. This should speed up verification
+ some. Also, pass the GNUPGHOME env var to gpg and don't do any
+ 'gpg --list-keys' stuff.
+
+2005-01-17 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: Up the supported rpm version, to support 4.3.3
+ * distributions.xml: Add rhel4 platforms
+
+2005-02-03 Peter Teichman <peter@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_patch_parents): remove debugging printf
+
+2005-01-31 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_equal): Test archs too.
+ (rc_package_spec_to_str): Add arch to output string.
+
+2005-01-26 James Willcox <james@ximian.com>
+
+ * rc-package.c: (rc_package_copy), (rc_package_get_id),
+ (rc_package_set_id):
+ * rc-package.h:
+
+ Add an 'id' to packages.
+
+2005-01-26 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_copy): Fix a typo.
+
+2005-01-21 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rollback.c (rc_rollback_action_get_synth_package): Implement.
+ Well, actually mostly moved it here from rcd.
+
+2005-01-14 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_transact_real): Implement. Move
+ the real work out of (rc_world_multi_transact_fn).
+ (rc_world_multi_transact_fn): Change the order of transacting:
+ First, transact system world(s), then, if there were no errors
+ transact all other worlds. Fixes #70427.
+
+2005-01-10 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c (in_set):
+ (depends_fill_helper): Add back the white listing of file deps.
+
+2005-01-04 Tambet Ingo <tambet@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): Fix the leftover from arch
+ moving.
+
+ Add the beginnings of patch RPM support.
+
+ * rc-xml.h (rc_package_spec_to_xml_node): Declare.
+
+ * rc-xml.c (rc_package_spec_to_xml_node): Implement.
+
+ * rc-rpmman.c (read_patch_parents): Implement.
+ (rc_rpmman_patch_parents): Implement.
+ (rc_rpmman_class_init): Connect patch_parents virtual function.
+ (rc_rpmman_init): Add RC_PACKMAN_CAP_PATCHES to capabilities.
+
+ * rc-packman.h: Add new packman capability, RC_PACKMAN_CAP_PATCHES.
+ Add new virtual function, rc_packman_real_patch_parents.
+
+ * rc-packman.c (rc_packman_patch_parents): Implement.
+
+ * rc-debman.c (rc_rpmman_debman_parents): Add a dummy virtual function,
+ debman doesn't support patches.
+ (rc_debman_class_init): Add virtual function for patch parents.
+
+2005-01-03 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_get_arch): Fix typo.
+
+ Move arch from RCPackage to RCPackageSpec.
+
+ * rc-xml.c (parser_package_end, rc_xml_node_to_package)
+ (rc_package_to_xml_node):
+
+ * rc-world-store.c (rc_world_store_add_package)
+ (rc_world_store_add_package):
+
+ * rc-rpmman.c (rc_rpmman_read_header):
+
+ * rc-package.h:
+
+ * rc-package.c (rc_package_new, rc_package_copy):
+
+ * rc-package-spec.h:
+
+ * rc-package-spec.c (rc_package_spec_new, rc_package_spec_init)
+ (rc_package_spec_copy, rc_package_spec_get_epoch)
+ (rc_package_spec_set_epoch):
+
+ * rc-package-dep.c (dep_new):
+
+ * rc-extract-packages.c (fill_debian_package):
+
+2004-12-21 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_find_system_headers_v3): Checking for 0
+ once is quiet enough.
+
+2004-12-09 James Willcox <james@ximian.com>
+
+ * rc-resolver-context.c: (context_package_collector),
+ (rc_resolver_context_get_installs),
+ (rc_resolver_context_get_uninstalls):
+
+ Filter out bogus packages from installs and uninstalls
+
+2004-12-09 James Willcox <james@ximian.com>
+
+ * rc-subscription.c: (rc_subscription_save),
+ (rc_subscription_load), (rc_subscription_set_file):
+ * rc-subscription.h:
+
+ add rc_subscription_set_file() to allow us to change where it
+ will save/load subscriptions.
+
+2004-12-03 James Willcox <james@ximian.com>
+
+ * distributions.xml: add suse-91-x86_64
+
+2004-12-03 James Willcox <james@ximian.com>
+
+ * distributions.xml: add suse-92-i586 and suse-92-x86_64
+
+2004-12-03 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-spec.h:
+ * rc-package-spec.c (rc_package_spec_new): Remove arguments. This was
+ needed so that wrappers could have required default constructor.
+
+2004-12-01 Peter Teichman <peter@ximian.com>
+
+ * rc-package-dep.c: (rc_package_relation_from_string),
+ (rc_package_relation_to_string): change dependency
+ serialization to use letters (gt, gte, eq, etc) rather
+ than symbols (>, >=, =, etc)
+
+2004-12-01 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_get_file_deps): If we're not asked to filter
+ anything out, don't. No white listing, you get 'em all.
+
+ * rc-package.c (rc_package_get_latest_update): Do checks for NULL's
+ *before* accessing data.
+
+2004-11-30 James Willcox <james@ximian.com>
+
+ * rc-resolver-context.c: (get_info_foreach_cb),
+ (rc_resolver_context_get_info): return a list of strings
+ * rc-resolver-context.h:
+ * rc-resolver-queue.c: (rc_resolver_queue_get_context): added
+ * rc-resolver-queue.h:
+
+2004-11-30 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rollback.c (foreach_package_cb): Handle multiple installed
+ packages with same name (kernel package usually).
+ (rc_rollback_info_new): Ditto.
+
+ * rc-rpmman.c (rc_rpmman_find_system_headers_v3): Ignore matches with
+ zero offset. Fixes #70011.
+ (rc_rpmman_get_file_deps): Move file dependency fetching to it's own
+ function. Optimize the case where we don't want file deps.
+ Add "filter_file_deps" argument.
+
+ * rc-rpmman.h: Add "filter_file_deps" argument.
+
+ * rc-packman.h: Ditto.
+
+ * rc-packman.c (rc_packman_query_file)
+ (rc_packman_query_file_list): Ditto.
+
+ * rc-debman.c (rc_debman_query_file): Ditto.
+
+ * rc-extract-packages.c: Use updated api.
+
+2004-11-19 James Willcox <james@ximian.com>
+
+ * rc-package-spec.c: (rc_package_spec_new), (rc_package_spec_free): new
+ * rc-package-spec.h: added the above
+ * rc-package-update.c: (rc_package_update_copy),
+ (rc_package_update_free), (rc_package_update_slist_sort),
+ (rc_package_update_get_parent), (rc_package_update_set_parent):
+ * rc-package-update.h:
+ * rc-package.c: (rc_package_add_update),
+ (rc_package_get_latest_update), (rc_package_set_channel):
+
+ Added a 'parent' member to RCPackageUpdate, which is set if the update
+ is a patch rpm. Also added logic to rc_package_add_update and
+ rc_package_get_latest_update for patch updates. It tries to give you
+ a patch if it can, otherwise the full rpm (if it exists), otherwise
+ nothing.
+
+2004-11-16 James Willcox <james@ximian.com>
+
+ * rc-distro.c: (sax_start_element), (sax_end_element):
+ * rc-distro.h: add rc_distro_get_role()
+ * rc-package-update.c: (rc_package_update_new): set the name on the spec
+
+2004-11-08 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package.c (rc_package_set_channel): Increment channel's reference
+ count, it gets decremented in finalize().
+
+2004-11-03 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: (rc_rpmman_is_database_changed), (yast_running),
+ (rc_rpmman_query_all):
+
+ Don't read the rpm database while yast is running.
+
+2004-10-29 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package.c (rc_package_set_arch, rc_package_set_section)
+ (rc_package_set_file_size, rc_package_set_installed_size)
+ (rc_package_set_summary, rc_package_set_description): Add setters.
+ (rc_package_set_signature_filename): Fix memory leak.
+ (rc_package_get_requires, rc_package_set_requires)
+ (rc_package_get_provides, rc_package_set_provides)
+ (rc_package_get_conflicts, rc_package_set_conflicts)
+ (rc_package_get_obsoletes, rc_package_set_obsoletes)
+ (rc_package_get_children, rc_package_set_children)
+ (rc_package_get_suggests, rc_package_set_suggests)
+ (rc_package_get_recommends, rc_package_set_recommends):
+ Add setters, rewrite getters. Don't expose PackageDepArrays.
+
+ * rc-package-update.c (rc_package_update_set_importance)
+ (rc_package_update_set_package_url)
+ (rc_package_update_set_signature_url)
+ (rc_package_update_set_md5sum, rc_package_update_set_description)
+ (rc_package_update_set_license)
+ (rc_package_update_set_package_size)
+ (rc_package_update_set_installed_size)
+ (rc_package_update_set_signature_size, rc_package_update_set_hid):
+ Add setters.
+
+ * rc-package-spec.c (rc_package_spec_set_name)
+ (rc_package_spec_get_version, rc_package_spec_set_version)
+ (rc_package_spec_get_release, rc_package_spec_set_release)
+ (rc_package_spec_has_epoch, rc_package_spec_get_epoch)
+ (rc_package_spec_set_epoch): Add getters and setters.
+
+ * rc-package-dep.c (rc_package_dep_array_to_slist): Implement.
+ (rc_package_dep_array_nth): Remove.
+
+2004-10-08 Peter Teichman <peter@ximian.com>
+
+ * rc-distro.c: make the distro detect string comparison
+ case-insensitive
+
+2004-09-20 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package.h: Make some accessor functions to use 'const gchar*'
+ to unify the logic.
+
+ * rc-package.c: Ditto. Add g_return_if_fail checks to accessors.
+
+2004-09-17 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-update.[ch]: Add accessor functions for all members.
+
+2004-09-10 Tambet Ingo <tambet@ximian.com>
+
+ * rc-resolver-info.h: Add argument names to virtual function
+ prototypes. This makes mono bindings' life easier.
+
+ * rc-resolver-context.h: Ditto.
+
+ * rc-package.h: Ditto.
+
+ * rc-package-match.h: Ditto.
+
+ * rc-package-dep.h: Ditto.
+
+ * rc-channel.h: Ditto.
+
+ * rc-package.c (rc_package_is_install_only): Add for bindings.
+ (rc_package_get_updates): Ditto.
+ (rc_package_get_suggests): Ditto.
+ (rc_package_get_recommends): Ditto.
+
+2004-09-02 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package-match.h: Use typedef'ed RCPackageMatch everywhere,
+ otherwise poor gapi-parser gets confused about it.
+
+2004-09-01 Tambet Ingo <tambet@ximian.com>
+
+ * rc-package.c (rc_package_get_file_size): Implement.
+ (rc_package_get_requires): Implement.
+ (rc_package_get_provides): Implement.
+ (rc_package_get_conflicts): Implement.
+ (rc_package_get_obsoletes): Implement.
+ (rc_package_get_children): Implement.
+
+ * rc-package-dep.c (rc_package_dep_get_spec): Implement.
+ (rc_package_dep_array_nth): Implement.
+
+2004-08-30 James Willcox <james@ximian.com>
+
+ * distributions.xml: Add rhel-3es-x86_64
+
+2004-08-18 James Willcox <james@ximian.com>
+
+ * rc-resolver-context.c: (get_info_foreach_cb),
+ (rc_resolver_context_get_info):
+ * rc-resolver-context.h:
+ * rc-resolver.c: (rc_resolver_get_best_context),
+ (rc_resolver_get_invalid_queues):
+ * rc-resolver.h:
+
+ Add some more API for mono bindings.
+
+2004-08-06 James Willcox <james@ximian.com>
+
+ * distributions.xml: Apparently there is also no i686 sles9. Oops.
+
+2004-08-04 Tambet Ingo <tambet@ximian.com>
+
+ * rc-extract-packages.c (rc_extract_packages_from_directory): Implement
+ packageinfo.xml reading.
+
+2004-07-29 Tambet Ingo <tambet@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_section_to_package_section): Suse uses fancy
+ package sections, map those correctly to RCPackageSection.
+
+2004-07-21 James Willcox <james@ximian.com>
+
+ * Makefile.am:
+
+2004-07-20 James Willcox <james@ximian.com>
+
+ * rc-channel.c: (rc_channel_get_type),
+ (rc_channel_get_channel_type):
+ * rc-channel.h:
+ * rc-world-service.c: (rc_world_service_set_assemble_function):
+ * rc-world-service.h:
+ * rc-world.c: (rc_world_set_refresh_function):
+ * rc-world.h:
+
+ Add some crackrock API for bindings to avoid writing glue. Also
+ make RCChannel a boxed type.
+
+2004-07-20 James Willcox <james@ximian.com>
+
+ * Makefile.am: generate a shared library instead of a static one
+
+2004-07-14 James Willcox <james@ximian.com>
+
+ * rc-channel.c: (get_packages_foreach_fn),
+ (rc_channel_get_packages):
+ * rc-channel.h:
+ * rc-extract-packages.h:
+ * rc-package-spec.h:
+ * rc-package.c: (rc_package_get_type), (rc_package_unref),
+ (rc_package_set_filename), (rc_package_get_spec),
+ (rc_package_get_arch), (rc_package_get_section),
+ (rc_package_get_installed_size), (rc_package_get_summary),
+ (rc_package_get_description), (rc_package_get_signature_filename),
+ (rc_package_set_signature_filename):
+ * rc-package.h:
+ * rc-resolver-context.c: (rc_resolver_get_type),
+ (marked_package_collector),
+ (rc_resolver_context_get_marked_packages),
+ (rc_resolver_context_get_installs), (pair_package_collector),
+ (rc_resolver_context_get_upgrades),
+ (rc_resolver_context_foreach_uninstall),
+ (rc_resolver_context_get_uninstalls):
+ * rc-resolver-context.h:
+ * rc-resolver.c: (rc_resolver_fake_ref),
+ (rc_resolver_context_get_type), (rc_resolver_resolve_dependencies),
+ (rc_resolver_get_best_context):
+ * rc-resolver.h:
+ * rc-world-multi.c: (subworld_foreach_fn),
+ (rc_world_multi_get_subworlds):
+ * rc-world-multi.h:
+ * rc-world-service.c: (rc_world_service_get_url),
+ (rc_world_service_set_url), (rc_world_service_get_name),
+ (rc_world_service_set_name), (rc_world_service_get_id),
+ (rc_world_service_set_id), (rc_world_service_get_is_sticky),
+ (rc_world_service_set_is_sticky),
+ (rc_world_service_get_is_invisible),
+ (rc_world_service_set_is_invisible),
+ (rc_world_service_get_is_singleton),
+ (rc_world_service_set_is_singleton):
+ * rc-world-service.h:
+ * rc-world.c: (get_channel_foreach_fn), (rc_world_get_channels),
+ (get_locks_foreach_fn), (rc_world_get_locks),
+ (rc_world_foreach_upgrade), (get_upgrades_foreach_fn),
+ (rc_world_get_upgrades):
+ * rc-world.h:
+
+ Add a ton of API for mono bindings.
+
+2004-06-17 James Willcox <james@ximian.com>
+
+ * rc-channel.h:
+ * rc-extract-channels.c: (rc_extract_channels_from_helix_buffer):
+ * rc-extract-packages.c: (rc_extract_yum_package):
+ * rc-extract-packages.h:
+ * rc-world-store.c: (package_dup_fn), (channel_dup_fn),
+ (rc_world_store_dup_fn):
+
+ Fix rc_world_dup(), and add a function for 'extracting' a yum
+ package (it basically just loads the rpm header).
+
+2004-06-17 Tambet Ingo <tambet@ximian.com>
+
+ * rc-debug.h: Make it #include'able from C++.
+
+2004-06-11 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-service.c (rc_world_service_register): Don't assume
+ GType is 32 bit integer. Fixes crash on startup on ia64 machines.
+ (rc_world_service_lookup): Ditto.
+
+2004-06-10 Tambet Ingo <tambet@ximian.com>
+
+ * rc-distro.h: Add declaration of rc_distro_get_current().
+
+ * rc-distro.c: Cache previously parsed RCDistro
+ (rc_distro_copy): Implement.
+ (rc_distro_set_current): Implement.
+ (rc_distro_get_current): Implement.
+
+ * rc-arch.h: Make it #include'able from C++
+
+ * rc-channel.h: ditto.
+
+ * rc-world.h: Ditto.
+
+ * rc-util.h: Ditto.
+
+ * rc-pending.h: Ditto.
+
+ * rc-package-spec.h: Ditto.
+
+ * rc-package-importance.h: Ditto.
+
+2004-06-09 James Willcox <james@ximian.com>
+
+ * rc-arch.h: Sigh, fix the build
+
+2004-06-09 James Willcox <james@ximian.com>
+
+ * distributions.xml:
+ * rc-arch.c:
+
+ Support SuSE Linux Enterprise Server 9, and Novell Linux Desktop
+
+2004-06-04 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: (rc_rpmman_read_header):
+
+ Correct a logic error
+
+2004-06-03 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: (rc_rpmman_read_header):
+
+ Don't munge noarch packages
+
+2004-05-20 Vladimir Vukicevic <vladimir@pobox.com>
+
+ * Makefile.am: Added 4.3 stub (rpm 4.3 .so links against the
+ right libs, so maybe we can dispense with the stub, but it's
+ easier to just keep it there)
+
+ * rc-rpmman.c bumped LATEST_SUPPORTED_RPM_VERSION to 40301.
+ (load_fake_syms): the hdrVec entries for 4.1-4.2.2 are valid for 4.3.1
+ (load_rpm_syms): the hdrVec entries for 4.1-4.2.2 are valid for 4.3.1
+
+ * distributions.xml: added fc2
+
+2004-05-18 Tambet Ingo <tambet@ximian.com>
+
+ * rc-extract-channels.c (rc_extract_channels_from_helix_buffer):
+ Free 'id_str' when done, fixes a memory leak.
+
+2004-05-13 James Willcox <james@ximian.com>
+
+ * rc-rpmman.c: (load_fake_syms), (load_rpm_syms):
+
+ Support RPM 4.2.2.
+
+2004-05-13 James Willcox <james@ximian.com>
+
+ * distributions.xml: Add rhel-3ws-x86_64
+ * rc-arch.c: Add compat stuff for x86)64
+ * rc-distro.c: (sax_end_element): Pick the best distro, not just the
+ first one we see that happens to be compatible.
+ * rc-rpmman.c: (rc_package_to_rpm_name), (rc_rpmman_read_header):
+ Munge the package names coming out of the rpm database to have
+ "-32bit" appended to the non-64bit packages on Red Hat opteron systems.
+
+2004-05-06 James Willcox <james@ximian.com>
+
+ * distributions.xml:
+
+ Add SUSE 9.1 support
+
+2004-04-09 James Willcox <james@ximian.com>
+
+ * rc-arch.c:
+ * rc-arch.h:
+
+ Add RC_ARCH_X86_64
+
+2004-04-08 James Willcox <james@ximian.com>
+
+ * rc-arch.c: flip the order of ix86 and i386 in the arch table. This
+ was causing some lookup issues.
+
+2004-04-06 James Willcox <james@ximian.com>
+
+ * rc-queue-item.c: (install_item_process), (require_process_cb),
+ (require_item_process), (unlink_check_cb), (uninstall_process_cb):
+ * rc-queue-item.h:
+ * rc-resolver-context.c: (requirement_met_cb),
+ (rc_resolver_context_requirement_is_met):
+ * rc-resolver-context.h:
+
+ Fix the resolver such that package set child deps are always
+ satisfied by the exact version required.
+
+2004-04-01 Tambet Ingo <tambet@ximian.com>
+
+ * rc-packman.c (rc_packman_finalize): Set the file extension to NULL.
+
+ * rc-rpmman.c (rc_rpmman_database_filename): RPM leaks the value
+ of rpmGetPath in most versions, so keep around a static pointer to
+ our built path and just return that if it's set so we don't leak
+ all the time. Make the function return const.
+
+2004-02-19 Joe Shaw <joe@ximian.com>
+
+ * rc-arch.c (arch_table): Detect "ix86" as RC_ARCH_I386. OpenPKG
+ uses that convention. Patch from Christopher Chan
+ <cchan@spikesource.com>
+
+2004-02-04 Vladimir Vukicevic <vladimir@pobox.com>
+
+ * rc-util.c: check if avail_in is 0 in loop in bunzip2_memory;
+ if it goes to 0, we have an incomplete stream (an error that
+ bzlib can't detect by itself)
+
+2004-01-20 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Change the RHEL 3 strings to detect both
+ "Taroon" and "Taroon Update 1"
+
+2003-11-13 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: We do a first-sufficient match, so we
+ need to look for s390x before s390.
+
+ * rc-world-service.c (rc_world_service_register,
+ rc_world_service_lookup): GTypes are unsigned ints, so use
+ the unsigned variants of the glib integer/pointer conversion
+ macros.
+
+ * rc-line-buf.c (rc_line_buf_cb): Make bytes_read a gsize from
+ a guint for 64-bit cleanliness.
+
+2003-11-12 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for SLES 8 on s390 and s390x.
+
+ * rc-arch.[ch]: Add support for s390 and s390x.
+
+2003-11-12 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for SLES 8 on ppc.
+
+ * rc-arch.[ch]: Add support for ppc64 and make it superior (but
+ backward compatible) to ppc.
+
+2003-11-11 Joe Shaw <joe@ximian.com>
+
+ * rc-queue-item.c (install_item_process): When iterating through
+ our list of conflicts, if the conflicting package is the same as
+ ourself, don't create an uninstall queue item.
+
+2003-11-11 Joe Shaw <joe@ximian.com>
+
+ * rc-extract-packages.c (rc_extract_package_from_undump_buffer):
+ Call the channel callback for the system channel too.
+
+ * rc-world-undump.c (rc_world_undump_class_init): Implement the
+ get_subscribed_fn and set_subscribed_fn virtual methods since we
+ don't want these saved to our subscriptions.xml file.
+ (rc_world_undump_get_subscription): Check to see if the channel is
+ in our GSList of subscribed channels.
+ (rc_world_undump_set_subscription): Add or remove the channel
+ to/from our list of subscribed channels.
+ (rc_world_undump_finalize): Unref the channels in our
+ subscriptions list.
+ (add_channel_cb): Don't set the subscription if the channel is a
+ system channel.
+
+ * rc-world-undump.h (RCWorldUndump): Add a GSList of RCChannels
+ for storing our subscriptions; we never want to save undumped
+ subscriptions to disk.
+
+2003-11-06 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for Fedora Core 1 (fedora-1-i386).
+
+2003-11-03 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (sax_parser_enable): Set ctxt->sax->initialized to 1
+ to avoid a crash against libxml 2.6.1.
+
+2003-10-30 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_find_file_v3): Any non-zero return from
+ rpmdbFindByFile is a failure, not just -1. Fixes #50373.
+
+ * rc-world-store.c (rc_package_and_dep_verify_relation): Fix
+ backwards arguments, so that asking if "= 1.0" verifies against
+ "1.0-9" returns TRUE.
+
+2003-10-29 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_add_subworld): Revert not emitting
+ signals on subworld add while refreshing.
+ (rc_world_multi_remove_subworld): Ditto for removal.
+
+2003-10-28 Joe Shaw <joe@ximian.com>
+
+ * rc-world-store.c (rc_package_and_dep_verify_relation): Added.
+ Verifies both the dependency relationship between pad->dep and the
+ passed-in dep, but also the channel in pad->package and the
+ channel in the passed-in dep.
+ (rc_world_store_foreach_providing_fn): Change the call of
+ rc_package_dep_verify_Relation() to
+ rc_package_and_dep_verify_relation() so we can verify channels
+ too.
+
+ * rc-world.c (foreach_system_poackage_cb): Instead of calling
+ rc_world_get_best_upgrade() for rc_world_foreach_system_upgrade(),
+ iterate through them by hand and find a list of best upgrades,
+ because it's possible for packages which have exactly the same
+ version to be in more than one channel, and we need to return all
+ matches so that doing something like an update in a channel with
+ that package always works (instead of just picking one at
+ random). Fixes #50202.
+
+2003-10-28 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for Mandrake 9.2.
+
+2003-10-24 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for RHEL 3 AS, ES, and WS and
+ SuSE 9.0.
+
+ * Makefile.am: Build two stubs for RPM 4.1: ones linked against
+ libpopt.so.1 (SuSE) and ones against libpopt.so.0 (everyone else).
+
+ * rc-rpmman.c (write_objects, rc_rpmman_init): Split the RPM 4.1
+ stubs in two.
+
+2003-10-21 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): Raise the debug level of
+ the UTF-8 filename warning from WARNING to INFO since it seems to
+ scare people and it's not that important.
+
+2003-10-20 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (load_fake_syms): Fix a typo on gnameToGid() in the
+ static linking case.
+
+2003-10-20 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_add_subworld): Emit signal only
+ if not refreshing.
+ (rc_world_multi_remove_subworld): Ditto.
+
+2003-10-16 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_is_database_changed): If the db_clean
+ flag is FALSE, always return TRUE from this function.
+ (open_database): Set the db_clean flag to TRUE on a successful
+ open and FALSE on a failed one.
+
+2003-10-15 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_foreach_system_upgrade): Create a unique
+ hash of packages, so if foo 1.0 and foo 2.0 are both installed,
+ we'll only try to get an upgrade for foo 2.0.
+
+2003-10-10 Joe Shaw <joe@ximian.com>
+
+ * rc-queue-item.c (install_item_process): When creating uninstall
+ items due to conflicts, call
+ rc_queue_item_uninstall_set_due_to_conflict().
+ (conflict_process_cb): Call
+ rc_queue_item_uninstall_set_due_to_obsolete() or
+ _due_to_conflict() depending on the info's actually_an_obsolete
+ flag.
+ (uninstall_item_process): If we're uninstalling due to conflict or
+ obsolete, don't display the missing requirement, since it doesn't
+ make any sense.
+ (uninstall_item_copy): Also copy the explicitly_requested,
+ due_to_conflict, due_to_obsolete, and unlink flags.
+ (rc_queue_item_uninstall_set_due_to_conflict,
+ rc_queue_item_uninstall_set_due_to_obsolete): Added these, just
+ sets the appropriate bits.
+
+ * rc-queue-item.h (RCQueueItem_Uninstall): Add a due_to_conflict
+ bit.
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): Create
+ the status hash with NULL, NULL as the parameters so that packages
+ in the hash are compared by pointer value instead of their
+ RCPackageSpecs. Comparing package specs isn't sufficient since it
+ is common for a package that is installed to have the same spec as
+ a package in a channel. But since these two packages are not the
+ same package, their statuses could be different and we shouldn't
+ treat them as equal. This was fixed in the more specific,
+ optimized case by Jon in his commit on 2003-06-17.
+ (rc_resolver_context_get_status): Remove a redundant spec
+ comparison; if the pointers are equal, we can assume that the
+ specs are also equal.
+
+2003-10-08 Joe Shaw <joe@ximian.com>
+
+ * rpm-ugid.h: "Borrow" a header from RPM in the spirit of
+ rpm-signature.h and rpm-rpmlead.h so we can build statically on
+ Solaris.
+
+ * rc-rpmman.c: #include rpm-ugid.h
+
+2003-10-07 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.c (rc_packman_transact): Remove rollback from here.
+ (rc_packman_get_rollback_enabled): Added.
+
+ * rc-rollback.c (RCRollbackInfo): Drop the packman element.
+ (file_changes_to_xml): Take a GError. Get the packman with
+ rc_packman_get_global().
+ (add_tracked_package): Take a GError. Don't call
+ file_changes_to_xml() if the package is synthetic.
+ (rc_rollback_info_new): Take an RCWorld instead of an RCPackman.
+ Also take a GError. Use RCWorld functions to find installed
+ packages instead of RCPackman.
+
+ * rc-world-multi.c (rc_world_multi_transact_fn): Disable rollback
+ on the packman before calling rc_world_transact() on the subworlds
+ to prevent rollback recursion.
+
+ * rc-world.c (rc_sync_world): Nuke this and some other dead code.
+ (rc_world_transact): Set up rollback structures before running the
+ transaction, and save them as necessary afterward.
+
+2003-10-07 Joe Shaw <joe@ximian.com>
+
+ * rc-queue-item.c (uninstall_item_process): If the system can't
+ provide a package set's child when we're trying to remove it,
+ don't assert. It's entirely possible that the child was removed
+ using rpm -e.
+
+2003-10-06 Joe Shaw <joe@ximian.com>
+
+ * rc-world-system.c (rc_world_system_transact): Return FALSE if
+ the transaction fails in the packman.
+
+ * rc-distman.c (rc_distman_new): Fix the case where we try to
+ instantiate a packman but no packaging backends are chosen.
+
+2003-10-03 Joe Shaw <joe@ximian.com>
+
+ * rc-extract-packages.c (rc_extract_packages_from_undump_buffer,
+ rc_extract_packages_from_undump_file): Take another callback for
+ each lock in an undumped world, and remove the #if 0 and FIXME for
+ dealing with locks saved to a dump. For the system packages,
+ create a system packages channel and add the packages into it. In
+ the general channel case, fix some overloading of local variables
+ and some misuse.
+
+ * rc-package-match.c (rc_package_match_from_xml_node): We don't
+ need to take an RCWorld anymore, so drop that argument.
+
+ * rc-world-undump.c (rc_world_undump_new): Check to make sure the
+ file exists and return NULL if it doesn't.
+ (add_lock_cb): Added, gets passed in as the callback to
+ rc_extract_packages_from_undump_file().
+
+ * rc-world.c (add_channel_packages_cb): Skip over system packages
+ when creating a dump, since those go into the "system_packages"
+ section.
+
+2003-10-03 Joe Shaw <joe@ximian.com>
+
+ * rc-package.c (rc_package_unref): If the RC_DEBUG_PACKAGE_UNREF
+ environment variable is set, don't free the package elements, but
+ do decrement (and assert) on the refcount. Helps debugging
+ ref-count related bugs.
+
+ * rc-queue-item.c (uninstall_item_copy): rc_package_ref the
+ package when we copy an uninstall queue item.
+
+2003-09-30 Joe Shaw <joe@ximian.com>
+
+ * rc-world-system.c (rc_world_system_finalize): Fix a
+ thinko... the signal is on the packman, not the system world.
+
+2003-09-30 Joe Shaw <joe@ximian.com>
+
+ * rc-world-system.c (rc_world_system_finalize): Disconnect from
+ the packman's database_changed signal when we are finalized.
+ (rc_world_system_init): Save the signal connection id to the
+ database_changed signal on the packman.
+
+2003-09-26 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c: Add subworld_added and subworld_removed
+ signals.
+
+2003-09-23 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (vercmp): Remove #ifdefs for STRICT_RPM_ORDER.
+ Ximian's packages are all fixed now and the order is defined in
+ newer RPM versions. Patch from Peter Bowen (pzb@ximian.com).
+
+2003-09-23 Joe Shaw <joe@ximian.com>
+
+ * rc-queue-item.c (install_item_process): We need to call
+ rc_world_foreach_conflicting_package() on everything that we
+ provide, not just our name.
+
+2003-09-23 Joe Shaw <joe@ximian.com>
+
+ * rc-queue-item.c (require_process_cb): Ref the package before
+ putting it in the unique hash table.
+ (require_item_process): Call g_hash_table_new_full() and pass in
+ rc_package_unref() as the key destroy function.
+ (uninstall_item_destory): Unref the package.
+ (rc_queue_item_new_uninstall): Ref the package.
+
+ * rc-resolver-context.c (rc_resolver_context_unref): If
+ last_checked_package is set, unref it.
+ (rc_resolver_context_get_status): Unref the old
+ last_checked_package, ref the new one.
+
+ * rc-world-system.c (rc_world_system_foreach_providing): Set the
+ installed bit to TRUE and set the channel to the system channel.
+
+2003-09-22 Joe Shaw <joe@ximian.com>
+
+ * rc-world-local-dir.c (rc_world_local_dir_assemble_fn): Use else
+ ifs, since we can only match one token at a time. Fix a thinko
+ where the alias was always being set to the directory's basename
+ and not the passed-in alias.
+
+ * rc-world-multi.c (rc_world_multi_add_subworld): Add some code to
+ check to see if any other services have the same name and then
+ differentiate them with a number. Kind of ugly code, could
+ probably be virtualized at some point. Also, always append to the
+ list of subworlds, not prepend, since it makes more sense and it's
+ not particularly long list.
+
+2003-09-19 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c (touch_all_sequence_numbers): Touches all four
+ world sequence numbers.
+ (rc_world_multi_add_subworld): After adding a subworld, touch all
+ the sequence numbers.
+ (rc_world_multi_remove_subworld): Ditto.
+
+2003-09-18 Joe Shaw <joe@ximian.com>
+
+ * rc-subscription.c (rc_subscription_match): A NULL legacy ID is
+ okay, so handle it gracefully instead of crashing on strlen().
+
+ * rc-world-system.c (rc_world_system_load_packages):
+ rc_world_store_clear() calls rc_world_store_remove_packages(), so
+ we don't need to do both. Just do the former, and do it after try
+ to query the system packages so we can fall back on that cached
+ data if we fail.
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): Make sure the package
+ filename is valid UTF-8 before adding it as a provide. Works
+ around some broken SuSE packages.
+
+2003-09-17 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (rc_debman_find_file): Return an RCPackageSList.
+
+ * rc-packman.c (rc_packman_find_file): Return an
+ RCPackageSList... RPM can have files which are owned by multiple
+ packages (notably /etc/rc.d/init.d).
+
+ * rc-rpmman.c (rc_rpmman_section_to_package_section): Fix some
+ pointer arithmetic which is technically undefined in C.
+ (rc_rpmman_find_file_v4, rc_rpmman_find_file_v3): Fix these to
+ return a list of packages instead of just one. Also set the
+ installed bit on these packages (they weren't set before), which
+ is technically correct.
+ (rc_rpmman_fine_file): Return an RCPackageSList.
+
+ * rc-world-system.c (rc_world_system_foreach_providing): If the
+ parent's function returns 0 and we're dealing with a file
+ dependency, ask the packman for a list of packages which provide
+ that dep.
+ (rc_world_system_class_init): Connect our implementation of
+ foreach_providing_fn.
+
+2003-09-16 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (RCChannel): Add a legacy_id field for migrating
+ old channel IDs to the new ones.
+ (rc_channel_unref): Free the legacy ID.
+ (rc_channel_{set|get}_legacy_id): Added.
+
+ * rc-extract-channels.c (rc_extract_channels_from_helix_buffer):
+ Set the channel ID to the "bid" field in the XML. Fall back on
+ "id" if "bid" isn't present. Set the legacy id to "id".
+
+ * rc-subscription.c (rc_subscription_match): When matching
+ old-style ids, check the channel's legacy ID. When we rewrite the
+ subscription entry as a new-style one, change it to the channel
+ id.
+
+2003-09-15 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_refresh_fn): If the pending
+ isn't active after we call rc_world_refresh(), don't add it to the
+ pending list. We'll just be mucking around with freed data and we
+ don't care about watching it if it doesn't work anymore anyway.
+
+ * rc-distro.c (rc_distro_parse_xml): Set up a push parser instead
+ of a doc parser so that we don't have to null-terminate our distro
+ data.
+
+ * rc-xml.c (rc_package_sax_context_parse_chunk): Remove some old
+ code which could cause problems in rather exotic cases.
+
+2003-09-11 Joe Shaw <joe@ximian.com>
+
+ * rc-extract-packages.c (rc_extract_packages_from_directory): Add
+ a recursive flag.
+
+ * rc-world-local-dir.c (rc_world_local_dir_assemble_fn): Check for
+ the "recursive" flag in the URI.
+ (rc_world_local_dir_populate): Pass the recursive flag into
+ rc_extract_packages_from_directory().
+
+2003-09-10 Joe Shaw <joe@ximian.com>
+
+ * rc-world-local-dir.c (rc_world_local_dir_assemble_fn): name and
+ alias aren't mutually exclusive, so don't use an else if. Set the
+ service's unique ID to the path, not the alias so you can't mount
+ the same directory multiple times.
+
+2003-09-10 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_refresh_begin): New function which just
+ sets world->refresh_pending to TRUE.
+ (rc_world_refresh): Don't set refresh_pending to TRUE
+ before calling the refresh_fn. If we don't have a refresh_fn,
+ call it immediately before calling rc_world_refresh_complete().
+ (rc_world_refresh_complete): Remove some dead #if 0ed code.
+
+ * rc-world-multi.c (RefreshInfo): Move multi_pending out of here
+ and into the main RCWorldMulti object.
+ (rc_world_multi_cut_over_to_new_subworlds): Unref and set the
+ multi_pending to NULL after we've cut over.
+ (refresh_info_free): Don't do it here.
+ (rc_world_multi_refresh_fn): Make the multi world more robust
+ against simultaneous refreshes. If another refresh is already
+ running, just return the multi_pending as our own pending. If we
+ don't have any subworlds, just call rc_world_refresh_begin() and
+ rc_world_refresh_complete() and return NULL. Otherwise, start the
+ multi_pending immediately.
+
+ * rc-world-synthetic.c (rc_world_synthetic_refresh): Call
+ rc_world_refresh_begin() before loading the synthetic packages.
+
+ * rc-world-system.c (rc_world_system_refresh): Call
+ rc_world_refresh_begin() before loading the system packages.
+
+2003-09-10 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_cut_over_to_new_subworlds):
+ Return a gboolean indicating whether we've cut over or not.
+ (refresh_info_free): Disconnect the refreshed and update signals.
+ (refreshed_cb): Call rc_pending_finished() if we've cut over to
+ new subworlds and then just free the refresh info. Simplifies
+ things a *lot* and makes refreshes block correctly.
+ (pending_complete_cb): Nuke this. It added too much complexity
+ and didn't work right.
+ (rc_world_multi_refresh_fn): Don't initialize signal IDs to
+ -1... they're unsigned and 0 is an invalid ID. Don't connect to
+ the "complete" signal anymore.
+
+ * rc-extract-packages.c (add_fake_history): Added. Creates an
+ RCPackageUpdate entry for this package and adds it to the history.
+ (rc_extract_packages_from_directory): Call add_fake_history()
+ after initializing the package.
+
+2003-09-09 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_error_quark): Added. Gets a quark for use with
+ GError.
+
+ * rc-world-local-dir.c (rc_world_local_dir_assemble_fn): Take a
+ GError argument and set it if the directory doesn't exist.
+
+ * rc-world-multi.c (rc_world_multi_mount_service): Take a GError
+ argument and set it if the service can't be mounted for whatever
+ reason.
+
+ * rc-world-service. (rc_world_service_mount): Take a GError
+ argument and set it if the URI can't be parsed or handled by any
+ service.
+
+ * rc-world-synthetic.c (rc_world_synthetic_assemble): Take a
+ GError argument and set it if the synthetic DB can't be loaded or
+ the URI is malformed.
+
+ * rc-world-system.c (rc_world_system_assemble): Take a GError
+ argument and set it if the system DB can't be loaded.
+
+2003-09-09 Joe Shaw <joe@ximian.com>
+
+ * rc-package-set.[ch]: Kill off this very, very old and
+ confusingly irrelevant code.
+
+ * rc-util.c (rc_gunzip_memory, rc_bunzip2_memory): Don't append a
+ nul byte to the end of decompressed data.
+ (rc_parse_xml_from_buffer): Call xmlParseMemory() on the whole
+ block of data, not len - 1.
+
+ * rc-xml.c (rc_package_sax_context_done): Don't tack on a nul byte
+ at the end of the block of data, just call xmlParseChunk() with
+ NULL data and a length of 0 to end the parsing. Fixes #48299.
+
+2003-09-09 Frank Belew <frb@ximian.com>
+
+ * rc-util.c: include stdio.h for older bz2 headers
+
+2003-09-05 Joe Shaw <joe@ximian.com>
+
+ * rc-world-system.c (rc_world_system_init): Connect to the
+ packman's "database_changed" signal so we can detect when the
+ package database changes from underneath us and reload the system
+ packages. Also hold a ref to the packman and release it in
+ finalize.
+
+2003-09-04 Joe Shaw <joe@ximian.com>
+
+ * rc-pending.c (rc_pending_complete_handler): The pending debug
+ messages are getting chatty, so make aborted and failed output at
+ level WARNING and everything else up to INFO.
+
+ * rc-world-multi.c (pending_update_cb): Only call
+ rc_pending_update() if the pending is active. Fixes some
+ g_warnings.
+ (pending_complete_cb): Ditto, for rc_pending_finished().
+ (rc_world_multi_refresh_fn): Reorganize this to reduce an
+ indentation level in the more common (and much longer) case.
+
+2003-08-28 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_refresh_fn): Begin the pending
+ after we create it instead of later, since we could hit the
+ main loop and get failed assertions.
+
+2003-08-28 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_mount_service): See if we have
+ mounted another service with the same id.
+
+2003-08-28 Tambet Ingo <tambet@ximian.com>
+
+ * rc-world-multi.c (rc_world_multi_lookup_service_by_id):
+ Helper function to get RCWorldService by server_id.
+
+2003-08-27 Joe Shaw <joe@ximian.com>
+
+ * rc-world-synthetic.c (rc_world_synthetic_transact): Make a copy
+ of the package coming in and assign its channel to the synthetic
+ channel. Unref it after we've added it to the world.
+
+2003-08-27 Joe Shaw <joe@ximian.com>
+
+ * rc-pending.c (rc_pending_class_init): Fix a cut-and-paste error
+ that was pointing the message signal at the complete signal's
+ class structure offset.
+
+ * rc-world-synthetic.c (rc_world_synthetic_assemble):
+ Conditionally prepend the forward slash.
+
+ * rc-rollback.c: Use rc_debug() instead of g_warning() throughout.
+ (dump_file_changes, get_action_from_xml_node): Remove some
+ debugging output.
+
+ * rc-xml.c (parser_package_end, rc_xml_node_to_package,
+ rc_package_to_xml_node): Change "is_packageset" to "package_set"
+ to match server implementation and to more closely match the
+ structure definition.
+
+2003-08-26 Joe Shaw <joe@ximian.com>
+
+ * rc-package.c: Remove the "hold" bit, it wasn't being used for
+ anything, and add a "package_set" bit, which tells us if we're
+ dealing with a package set or not. (Just checking the children
+ isn't sufficient, since we could have an empty package set)
+ (rc_package_is_package_set): Update this to just check the bit,
+ instead of the children.
+
+ * rc-world.c (rc_world_package_is_locked): Remove a reference to
+ the hold bit.
+
+ * rc-xml.c (parser_package_end, rc_xml_node_to_package): Set the
+ package set bit when "is_packageset" is set in the XML.
+ (rc_package_to_xml_node): Serialize the package set bit.
+
+2003-08-26 Joe Shaw <joe@ximian.com>
+
+ * rc-rollback.c (rc_rollback_info_new): Unref the list of packages
+ after the query. Fixes a leak.
+
+2003-08-25 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.c (rc_packman_transact): Don't do rollback if the
+ NO_ACT flag is set.
+
+2003-08-25 Joe Shaw <joe@ximian.com>
+
+ * rc-packman-private.h: Remove the repackage_dir field.
+
+ * rc-packman.c (rc_packman_finalize, rc_packman_init): Don't deal
+ with the repackage_dir field.
+ (rc_packman_set_repackage_dir, rc_packman_get_repackage_dir):
+ Delete these.
+
+ * rc-rpmman.c: Don't do any repackaging stuff anymore, we don't
+ need it.
+ (rc_rpmman_init): Always set the rollback capability.
+
+ * rc-util.c (rc_compress_memory): Remove this. Use
+ rc_gzip_memory() or rc_bzip2_memory() directly.
+
+ * rc-world-synthetic.c (rc_world_synthetic_transact): Obey the
+ NO_ACT flag.
+
+ * rc-world.c (rc_world_guess_package_channel): We need to check
+ against the actual package, not the list of matching packages.
+
+2003-08-22 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_guess_package_channel): Skip over system
+ and hidden channels, reimplement.
+
+2003-08-21 Joe Shaw <joe@ximian.com>
+
+ * rc-extract-channels.c (rc_extract_channels_from_helix_buffer):
+ g_strfreev() the distro target vector, not g_free().
+
+ * rc-world-multi.c (rc_world_multi_cut_over_to_new_subworlds):
+ Unref the subworld after it's been added to the multi world, this
+ fixes a HUUUUUUUUUGE memleak.
+ (refresh_info_free): Conditionally unref the multi world's
+ pending.
+ (rc_world_multi_refresh_fn): Fix the case where none of the
+ subworld's have a pending to return.
+
+ * rc-world-store.c (rc_world_store_finalize): Clear our locks.
+
+ * rc-world-system.c (rc_world_system_finalize): Added. Unref the
+ system channel.
+
+ * rc-xml.c (sax_start_element): Free the text buffer whenever we
+ enter a tag, because we don't care about (or want) the old data.
+
+2003-08-20 Joe Shaw <joe@ximian.com>
+
+ * Makefile.am: Fix a lot of srcdir/builddir issues.
+
+ * rc-rpmman.c: Add support for RPM 4.2.1
+
+2003-08-19 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (rc_distro_parse_xml): Make the size a required
+ parameter, and decompress the data on the fly.
+
+ * rc-world.c (rc_set_world, rc_get_world): Be less strict about
+ having a global world set.
+
+ * rc-extract-packages.c (rc_extract_packages_from_directory): Call
+ g_dir_close() when we're finished.
+
+ * rc-world-local-dir.c (rc_world_local_dir_assemble_fn): Allow the
+ name and alias of the channel to be passed in as a query string to
+ the URI.
+ (rc_world_local_dir_populate): Freeze/thaw the local dir.
+ (rc_world_local_dir_sync_fn): Check to see if we're frozen before
+ repopulating. This fixes a nasty infinite recursion between
+ populate and sync (since adding a package to a store causes a sync);
+
+2003-08-18 Joe Shaw <joe@ximian.com>
+
+ * rc-world-multi.c: Move the service mounts here from being
+ global. Fixes a big leak.
+
+ * rc-world-service.c (rc_world_service_dup): Dup the service's
+ attributes. Nuke the global mount stuff.
+
+ * rc-world-system.c (rc_world_system_assemble): Load the system
+ packages here.
+ (rc_world_system_init): Not here. Fixes the double loading during
+ a refresh.
+
+2003-08-16 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_channel_set_hidden): Added.
+
+ * rc-world-synthetic.c (rc_world_synthetic_init): Set the hidden
+ flag on the synthetic package channel.
+
+ * rc-world-system.c (rc_world_system_init): Ditto here for the
+ system package channel.
+
+ * rc-world.c (rc_world_remove_lock_impl): Fix a cut-and-paste bug
+ that was causing locks to be duplicated, not removed.
+
+2003-08-16 Joe Shaw <joe@ximian.com>
+
+ * Land libredcarpet-multiserver-branch onto the trunk. Adds
+ multiple worlds, which makes the implementation of package sets
+ and undumped worlds much cleaner and allows us to have multiple
+ servers.
+
+2003-06-27 Jose Mercado <jose@ximian.com>
+
+ * distributions.xml: SLD's version is "1" not "1.0".
+
+2003-06-17 Jon Trowbridge <jon@trowbridge.org>
+
+ * rc-resolver-context.c (rc_resolver_context_get_status): When we
+ check whether or not we can use the cached status, it isn't
+ sufficient to just compare the package specs: the last checked
+ status might be the in-channel package (for example), while the
+ current check might be for the system version of the package. To
+ fix this, we compare the pointers as well as the specs.
+
+2003-06-15 Jon Trowbridge <jon@trowbridge.org>
+
+ * rc-world.c: Use the global packman instead of our lame
+ virtualized version comparison function.
+
+ * rc-channel.h: For some reason, a bunch of the rc_channel
+ functions tooks const RCChannel pointers as args. This was
+ a good thing to do in theory, but since we make no effort to
+ be const-correct anywhere else, I've removed the consts.
+
+ * rc-channel.c: Ditto.
+
+2003-06-12 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Change "SuSE Linux Enterprise Client" to
+ "SuSE Linux Desktop" and change the target. Again.
+
+2003-06-10 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_parse_xml_from_file): Only unmap the buffer if we
+ successfully mapped it.
+
+2003-06-06 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): Fix some undefined C
+ pointer magic. Fixes #44114.
+
+2003-06-04 Joe Shaw <joe@ximian.com>
+
+ * rc-world-import.c (add_packages_from_hash_cb): Set the
+ package_url in the RCPackageUpdate to be a file URL pointed at the
+ file on disk.
+
+2003-06-03 Joe Shaw <joe@ximian.com>
+
+ * rc-package.h: Add an "install_only" flag for kernel packages
+ which we want to do an RPM install (not upgrade) on.
+
+ * rc-rpmman.c (transaction_add_install_packages): Check the
+ install_only bit and set the bit on the corresponding RPM call.
+
+ * rc-xml.c (parser_package_end, rc_xml_node_to_package)): Check
+ for the presence of the install_only tag.
+ (rc_package_to_xml_node): Write out the install_only tag if the
+ bit is set.
+
+2003-05-30 Joe Shaw <joe@ximian.com>
+
+ * rc-rollback.c (add_tracked_package): Make sure we save the
+ package epochs if they're present.
+ (package_match_cb): Fix up some broken matching... we care about
+ name matches only at the package level, not total dep relations.
+ (get_action_from_xml_node): Read the epoch from the XML file and
+ pass it into rc_package_dep_new().
+
+2003-05-29 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): Add RPMPROB_FILTER_REPLACEPKG
+ to the problem filter. We'll need to be able to replace currently
+ installed packages with same version for rollback, and I can't
+ think of a particularly good reason for it to be off otherwise.
+
+2003-05-28 Joe Shaw <joe@ximian.com>
+
+ * rc-rollback.c (file_changes_to_xml): We only want to copy the
+ file if it's a regular file.
+ (rc_rollback_restore_files): We only want to copy the file back if
+ it was a regular file (but we still want to chown and chmod it
+ regardless).
+
+ * rc-rollback.h: Add a previously missing prototype for
+ rc_rollback_restore_files().
+
+ * rc-util.c (rc_cp): Correctly handle zero-byte files.
+
+2003-05-27 Joe Shaw <joe@ximian.com>
+
+ * rc-rollback.c (strip_whitespace_node_recursive): Added, removes
+ text nodes so that xmlSaveFormat() always saves a nicely-formatted
+ XML file (since whitespace is not significant in this file).
+ (rc_rollback_info_save): Call strip_whitespace_node_recursive() on
+ the root node.
+ (package_match_cb): Check to make sure the package matches the
+ RCPackageDep.
+ (get_file_changes): Skip over comments, text regions and any
+ non-"file" nodes.
+ (get_action_from_xml_node): Call rc_world_foreach_package()
+ instead of rc_world_foreach_package_by_name() because we don't
+ want any filtering of channel vs. installed packages to happen.
+ (rc_rollback_restore_files): Correctly handle files that have been
+ removed.
+
+ * xml-util.c (xml_get_node): Return NULL if nothing matches.
+
+2003-05-21 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Update the detection and arch for SLEC
+
+2003-05-15 Jose Mercado <jose@ximian.com>
+
+ * distributions.xml: Added rhel-21es-i386 and rhel-21ws-i386.
+
+2003-05-12 Joe Shaw <joe@ximian.com>
+
+ * libredcarpet.h: Add rc-rollback.h.
+
+ * rc-packman.h: Nuke the RC_PACKMAN_CAP_REPACKAGING define.
+
+2003-05-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (rc_world_add_channel_from_directory): Instead
+ of setting the channel's subscription flag (which no longer
+ exists) directly, set it in the world.
+
+ * rc-world.c: Added a subscriptions hash table to the RCWorld
+ struct.
+ (rc_world_set_subscription): Added. Subscription info is now
+ stored in the world.
+ (rc_world_is_subscribed): Ditto.
+ (rc_world_free): Clean up our subscriptions hash.
+ (rc_world_new): Allocate our subscriptions hash.
+
+ * rc-channel.c (rc_channel_subscribed): Query the channel's world
+ to get the subscription status. We do this since the channel
+ struct no longer carries that piece of state around.
+ (rc_channel_set_subscription): Change the channel's subscription
+ status in it's world.
+
+ * rc-channel-private.h: Removed the subscribed flag from the
+ channel struct. From here on out, channel structs should be
+ stateless (well, except for their initial state of course) and
+ immutable.
+
+ * rc-distro.c (rc_distro_parse_xml): We don't need to try to parse
+ the buffer as both compressed and uncompressed, because if the
+ distro file is compressed it will be automagically uncompressed
+ when we map it.
+
+ * rc-util.c: I've rearranged some things in the file in an attempt
+ to group similar functions.
+ (rc_memory_looks_gzipped): Added. Checks if a block of memory
+ begins with the gzip magic numbers.
+ (rc_buffer_map_file): If we map a file that appears to be
+ compressed, magically uncompress it.
+ (rc_buffer_unmap_file): If we are 'unmapping' a file that was
+ actually compressed, we don't actually unmap the memory; we gfree
+ it instead.
+ (rc_parse_xml_from_buffer): A wrapper around xmlParseMemory that
+ transparently handles compressed buffers. This is a
+ slightly-nicer replacement for rc_uncompress_xml, which has been
+ removed.
+ (rc_parse_xml_from_file): Like rc_parse_xml_from_file, this is a
+ convenience function that transparently uncompresses a gzipped
+ file before applying the xml parser.
+
+2003-05-09 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-info.c (rc_resolver_info_missing_req_new):
+ Constructor for a new type of info message, corresponding to a
+ report of a misisng requirement.
+ (rc_resolver_info_copy): Copy the missing req.
+ (rc_resolver_info_free): Free the missing req.
+ (rc_resolver_info_to_string): Stringify our missing req type.
+
+2003-05-08 Joe Shaw <joe@ximian.com
+
+ Checkpoint the rollback code.
+
+ * Makefile.am: Add rc-rollback.[ch]
+
+ * rc-packman-private.h: s/transaction_tracing/rollback_enabled
+
+ * rc-packman.c: Move all the rollback stuff into rc-rollback.[ch].
+
+ * rc-rollback.c: Move the rollback code in here. Tracks changes
+ to files on the filesystem, saves backups, and restores them.
+
+ * rc-util.c (rc_hash_values_to_list): Added. Utility function to
+ convert the values of a GHashTable to a GSList.
+ (rc_hash_keys_to_list): Added. Does keys.
+
+ * xml-util.c (xml_get_node): Added. Gets an xmlNode * for a given
+ name.
+
+2003-08-08 Joe Shaw <joe@ximian.com>
+
+ * rc-dep-or.c (rc_dep_or_dep_slist_to_string): Get rid of the weak
+ relation check.
+
+ * rc-package-dep.[ch]: Remove RC_RELATION_WEAK and cousins.
+ They're not used anywhere in libredcarpet anymore.
+
+2003-05-08 Joe Shaw <joe@ximian.com>
+
+ * rc-arch.c: The _to_string() functiosn do a first-match, and we
+ want to prefer "noarch" to "all".
+
+2003-05-05 Joe Shaw <joe@ximian.com>
+
+ * rc-package-file.c (rc_package_file_free,
+ rc_package_file_slist_free): Added.
+
+ * rc-packman-private.h: Change track_changes to
+ transaction_tracking.
+
+ * rc-packman.c: Do the tracking in /var/lib/rcd/tracking. Track
+ all transactions, not just changes to the individual files during
+ upgrades and removals. Update the code to correctly handle errors
+ that occur doing the transaction itself. And other minor fixes.
+
+2003-05-02 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_add_package): Fix backwards arch score
+ comparison. Fixes #42236.
+
+2003-05-02 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): For RPM < 4.1, check for -1
+ from rpmRunTransactions() which means that the transaction failed
+ but we don't have a problem set to show for it.
+
+2003-05-02 Joe Shaw <joe@ximian.com>
+
+ * rc-verification.c (rc_verification_type_to_string): I got sick
+ of doing this all by hand everywhere, so I added this function.
+
+2003-05-01 Ian Peters <itp@ximian.com>
+
+ * rc-util.c, rc-util.h: fix to use the correct mkdtemp, optimize
+ some behavior in our implementation of mkdtemp
+
+2003-04-30 Joe Shaw <joe@ximian.com>
+
+ * make_stub.sh: Make this so it doesn't clobber files when run
+ with -j.
+
+ * rc-packman-private.h: Remove the "busy" flag, add a
+ "track_changes" flag.
+
+ * rc-packman.c (rc_packman_track_changes): Added. Iterates
+ through the list of updates and removals and calls
+ rc_packman_track_change() on each.
+ (rc_packman_track_change): Pretty hairy function which iterates
+ the files in a package and checks to see if any have changed. It
+ stores change info in an xmlNode and copies the modified file to a
+ safe location.
+ (rc_packman_transact): Remove the busy flag stuff, it wasn't
+ really being used. Track file changes before running the
+ transaction.
+ (rc_packman_set_track_changes): Flag which turns on/off change
+ tracking.
+
+ * rc-util.c (rc_cp): Added. Copies a file using mmap().
+
+2003-04-30 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for Mandrake 9.1
+ (mandrake-91-i586) and SuSE 8.2 (suse-82-i586; yes, i586). Fixes
+ #41870.
+
+ * rc-rpmman.c (rc_rpmman_init): Try RPM versions newest-first, so
+ we don't pull in rpm 4.0.4 from librpm404 on machines upgraded
+ from rh8.0 to 9. Fixes #41838.
+
+2003-04-28 Joe Shaw <joe@ximian.com>
+
+ * rc-package-file.h: Nuke the "flags" and replace it with a
+ "ghost" boolean.
+
+ * rc-rpmman.c (HeaderInfo): Add an FD_t element for reading
+ headers out of package files.
+ (rc_rpmman_header_info_free): Free the file descriptor if it's
+ set.
+ (rc_rpmman_read_package_file): Added. Reads a filename into a
+ HeaderInfo struct, and abstracts out a lot of duplicated code.
+ (transaction_add_install_packages): Use
+ rc_rpmman_read_package_file().
+ (rc_rpmman_query_file): Ditto.
+ (rc_rpmman_package_is_repackaged): Ditto.
+ (rc_rpmman_file_list): Add support for reading the file list out
+ of a package file on disk. Flesh this out so we get the file
+ sizes, md5sums, UIDs and GIDs, the file modes and mtimes.
+ (load_fake_syms, load_rpm_syms): Add unameToUid() and gnameToGid()
+ to symbols we load from RPM.
+
+2003-04-28 Ian Peters <itp@ximian.com>
+
+ * rc-world.c (struct _RCWorld): add a database_changed_id field to
+ keep the id of our handler
+ (rc_world_new): ref the RCPackman, and keep the handler id around
+ in database_changed_id
+ (rc_world_free): disconnect our handler, and unref our RCPackman
+
+2003-04-25 Joe Shaw <joe@ximian.com>
+
+ * Makefile.am: Add rc-package-file.[ch].
+
+ * rc-package-file.[ch]: Added. Represents a file in an RCPackage.
+
+ * rc-packman.c: Add rc_packman_file_list(), which lists the files
+ in a package. Added rc_packman_real_file_list virtual method.
+
+ * rc-debman.c (rc_debman_file_list): Added. g_spawns dpkg -L and
+ attaches an RCLineBuf to it to get the list of files in a package.
+
+ * rc-rpmman.c (rc_rpmman_find_system_headers): Took a bunch of
+ similar code from a few functions within rc-rpmman.c and made this
+ function. Given a package name (with optional version and
+ release) it will return a list of headers from the system database
+ which match it.
+ (transaction_add_remove_packages_v4): Use
+ rc_rpmman_find_system_headers()
+ (transaction_add_remove_packages_v3): Ditto.
+ (rc_rpmman_query_v4, rc_rpmman_query_v3): Removed, no longer
+ needed.
+ (rc_rpmman_query): We don't need to call version-specific query
+ functions anymore, this is largely just a wrapper around
+ rc_rpmman_find_system_headers() (which has its own
+ version-specific functions).
+ (rc_rpmman_file_list): Added. Returns a list of files within a
+ package.
+
+2003-04-23 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_verify):
+ Create require items for each package set's children. This
+ allows verify to re-assemble broken package sets.
+
+ * rc-package-dep.c (rc_package_dep_spew_cache): Added; this is a
+ debugging function meant to help find memory leaks.
+
+ * rc-world-dump.c (rc_world_undump): Fixed memory leak.
+
+ * rc-channel.c (rc_channel_unref): Fixed memory leak.
+
+ * rc-queue-item.c (uninstall_item_process): Fixed memory leak.
+
+2003-04-22 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (rc_queue_item_new_install): When comparing
+ the to-be-installed version with an already-installed version,
+ actually use rc_package_spec_equal instead of comparing the
+ pointers.
+
+2003-04-21 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): Do the right thing if we
+ are asked to 'install' and unlinked package. Removed some dead
+ code.
+ (uninstall_item_process): If this is an unlink, try to determine
+ if the package is required by other installed software. When
+ uninstalling a package, uninstall its parents. Do a better job
+ unlinking a package set's children.
+ (uninstall_item_destroy): Unref dep_leading_to_uninstall.
+ (uninstall_item_copy): Ref dep_leading_to_uninstall.
+ (rc_queue_item_uninstall_set_dep): Ref dep_leading_to_uninstall.
+ (rc_queue_item_uninstall_set_unlink): When flagging an uninstall
+ as an unlink, reduce the priority.
+
+ * rc-resolver-context.c: Added handling for a new state,
+ RC_PACKAGE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK.
+ (rc_package_status_to_string): Handle _UNINSTALLED_DUE_TO_UNLINK.
+ (rc_resolver_context_set_status): Ditto.
+ (rc_resolver_context_install_package): Ditto.
+ (rc_resolver_context_uninstall_package): Ditto.
+ (requirement_possible_cb): Ditto.
+ (rc_resolver_context_package_is_possible): Check that
+ children can be installed when trying to pre-determine if it
+ is possible to install a package.
+
+ * rc-resolver-info.c: Added a new 'child of' info type, which we
+ used when we pull in package sets. This is analogous to the
+ 'depends on' type for when we pull in requirements.
+
+ * rc-world.c: Add a 'children_by_name' GHashTable to the RCWorld
+ struct.
+ (rc_world_new): Allocate children_by_name.
+ (rc_world_free): Free children_by_name.
+ (rc_world_freeze): Freeze children_by_name.
+ (rc_world_thaw): Thaw children_by_name.
+ (rc_world_add_package): Store the package's child info in
+ children_by_name.
+ (rc_world_remove_package): Remove from children_by_name.
+ (rc_world_remove_packages): Remove from children_by_name.
+ (rc_world_foreach_parent_package): Added. Find all parents of a
+ given dep.
+ (rc_world_spew): Spew child info.
+
+ * rc-xml.c (rc_xml_strip): Do the right thing with NULL strings.
+
+2003-04-18 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_get_system_packages): Load the installed
+ synthetic packages along with the system packages.
+ (rc_world_set_synthetic_package_db): Added. Sets the filename of
+ the synthetic package database.
+ (rc_world_load_synthetic_packages): Load the packages from the
+ synthetic package database into the world.
+ (rc_world_save_synthetic_packages): Write the installed synthetic
+ packages out to the synthetic package database.
+ (rc_world_get_single_provider): A convenience function -- find the
+ package that provides a dep, as long as there is exactly one
+ match.
+ (rc_world_transact): Added. This is a wrapper around
+ rc_packman_transact that filters out and handles the installation
+ and removal of synthetic packages.
+
+ * rc-world-import.c (rc_world_add_packages_from_buffer): Handle
+ the case of adding packages to the system.
+ (refresh_channel_from_dir): If we find a file with the extension
+ '.synpkg' in the mounted directory, try to read package XML from
+ it. If the file contains package XML describing a synthetic
+ package, create an RCPackage and add it to the channel.
+
+ * rc-queue-item.c (install_item_process): Treat child deps as
+ requires when installing.
+ (uninstall_item_process): Unlink any children when uninstalling.
+ (rc_queue_item_uninstall_set_unlink): Added.
+
+ * rc-xml.c: We are calling the subitems in a package set
+ the 'children'... I had been inconsistent on this before.
+
+ * rc-package.c (rc_package_copy): Added.
+ (rc_package_is_package_set): We aren't a package set if the child
+ array exists but has length 0.
+ (rc_package_is_synthetic): Added. Currently the only synthetic
+ packages we have are package sets.
+
+ * rc-package-update.c (rc_package_update_copy): This function
+ was mentioned in the header, but wasn't defined. Go figure.
+ (rc_package_update_slist_copy): Ditto.
+
+2003-04-17 Jon Trowbridge <trow@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): Initialize the provides
+ deps as RC_CHANNEL_ANY.
+ (rc_debman_query_file): Initialize the package's self-provide
+ as RC_CHANNEL_ANY.
+
+ * Lots of small changes throughout lots of files, implementing two
+ changes:
+ (1) An RCPackageDep can now specify a channel or a channel
+ wildcard.
+ (2) Channel IDs are now arbitrary strings, not unsigned
+ integers.
+
+2003-04-16 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-set.h: Removed. None of this code was being used by
+ anything
+
+ * rc-package-set.c: Ditto.
+
+ * rc-channel.c: Removed all references to rc-package-set.[ch] and
+ its contents.
+
+ * rc-channel.h: Ditto.
+
+ * rc-channel-private.h: Ditto.
+
+ * libredcarpet.h: Ditto.
+
+2003-04-15 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (rc_package_sax_context_parse_chunk): Check to see if
+ the last character is a nul character and terminate XML processing
+ there. This'll fix the harmless but annoying "extra content"
+ warnings when parsing channel data.
+ (rc_package_update_to_xml_node): Write out the temporary string,
+ not the integer-casted-to-a-string.
+
+2003-04-08 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (rc_distro_parse_xml): Check to see if
+ RC_DISTRIBUTIONS_FILE is set when we're asked for our internal
+ distributions.xml representation and use it if so.
+
+2003-04-08 Joe Shaw <joe@ximian.com>
+
+ * rc-package-update.c (rc_package_update_copy): Nuke this.
+ (rc_package_update_slist_copy): Ditto.
+ (rc_package_update_free): Free the license string.
+
+ * rc-rpmman.h: Add a define for "fnpyKey" if our RPM is older than
+ 4.0.4.
+
+ * rc-world.c (rc_world_migrate_channel): Added. Migrates a
+ channel from one RCWorld to another.
+
+ * rc-xml.c (parser_update_end): Don't free/realloc the md5sum for
+ the package... must have been missed before. Read the "license"
+ tag out of the packageinfo.xml file and feed it into the update's
+ license field.
+ (rc_xml_node_to_package_update): Ditto here, for the DOM parser.
+ (rc_package_update_to_xml_node): Serialize the HID and the license
+ string to XML for dumps and pkg_to_xml and the like.
+
+2003-04-08 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman-types.h: add a missing field to RCrpmProblemOlder
+
+ * rc-rpmman.h: rpmdbMatchIterator needs to be
+ rc_rpmdbMatchIterator
+
+2003-04-04 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.h: Missed a place where rpmdbMatchIterator should have
+ been changed to rc_rpmdbMatchIterator.
+
+2003-04-04 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add support for SLEC 1 and Red Hat 9, from
+ Peter Teichman.
+
+2003-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-util.c (rc_rmdir): lstat not stat. Also fixed Jose's
+ ChangeLog entry 3 below this.
+
+2003-04-03 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_add_package): If a package is installed,
+ don't ever filter it out due to an incompatible arch.
+
+2003-04-03 Ian Peters <itp@ximian.com>
+
+ * rc-util.c (rc_rmdir): remove symlinks, too, if we can
+
+2003-03-27 Jose Mercado <jose@ximian.com>
+
+ * distributions.xml: Change detect string for SuSE 8.1 to
+ something more unique.
+
+2003-03-27 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_foreach_system_upgrade): Add a
+ subscribed_only flag so we can iterate across upgrades outside of
+ only subscribed channels.
+
+2003-03-25 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Change "Linux Mandrake" to "Mandrake Linux"
+ starting with version 8.1.
+
+2003-03-20 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman-types.h: Include the structure definitions for
+ rpmProblem in its three different versions, 3.0.x/4.0,
+ 4.0.2-4.0.4, and 4.1/4.2.
+
+ * rc-rpmman.c (render_problems): Do all the type magic at runtime
+ based on the types we added in rc-rpmman-types.h. Coerce the data
+ into the type we want and pass it off to the applicably typed
+ rpmProblemString function pointer.
+ (rc_rpmman_transact): Remove a chunk of code which basically
+ duplicated the render_problems() functionality poorly with a call
+ to the real thing.
+ (load_fake_syms, load_rpm_syms): Add an rpmProblemStringOlder()
+ method.
+
+ * rc-rpmman.h: Remove the conditional defines of
+ rpmProblemString() and rpmProblemStringOld() and add
+ rpmProblemStringOlder().
+
+2003-03-18 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Make the indenting of the new distros
+ consistent with the rest of the file.
+
+ * rc-util.[ch]: Remove a bunch of dead, unused code related to
+ various hash tables of lists or whatever. Add rc_str_case_hash()
+ and rc_str_case_equal() for case-insensitive hash tables.
+
+2003-03-17 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): account for packages that are
+ obsoleted when computing the total number of transaction steps
+
+2003-03-13 Jose Mercado <jose@ximian.com>
+
+ * distributions.xml: Added SLES8 and rhel 2.1AS support.
+
+2003-03-13 Joe Shaw <joe@ximian.com>
+
+ * RPM 4.1/4.2 support.
+
+ * Makefile.am: Generate stubs for RPM 4.1 and 4.2's dynamic
+ libraries.
+
+ * rc-rpmman-types.h: Add a bunch of compatibility types so we can
+ build on any version of RPM.
+
+ * rc-rpmman.c: Define LATEST_SUPPORTED_RPM_VERSION and have
+ libredcarpet neither build nor run against a version newer than
+ this, both for safety and so people don't complain when it doesn't
+ build/run. Add some compatibility defines and types for various
+ API and type changes. ABI for rpmReadSignature() changed, so read
+ it into one of two function pointers of different signatures
+ depending on version. Create an rpmts when opening the database,
+ since most things operate on that instead of a db now. Add a ton
+ of #ifdefs and in-code version checks for the various API changes,
+ and so forth. Boring stuff, really, read the patch to get the
+ gist of it.
+
+2003-03-13 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c, rc-verification.c: Change deprecated use of
+ __FUNCTION__ to G_GNUC_PRETTY_FUNCTION.
+
+2003-03-13 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver.c (rc_resolver_set_timeout): Added. Sets the
+ maximum no. of seconds to be spent on any resolution.
+ (rc_resolver_resolve_dependencies): If a timeout has been set and
+ a resolution attempt has taken too long, set the 'timed_out' flag
+ and bail out.
+
+2003-03-12 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_read_header): Fix a cut-and-paste-o when
+ the summary is UTF-8 valid.
+
+2003-03-10 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_read_header): Check to make sure that the
+ summary and description are valid UTF-8 and do a conversion of
+ ISO-8859-1 -> UTF-8 if not.
+
+2003-03-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): Don't filter file
+ dependencies if the RC_PLEASE_DONT_FILTER_FILE_DEPS env variable
+ is set.
+
+2003-02-21 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_touch_channel_sequence_number): Fix a
+ cut-and-paste-o where we were signaling that the subscriptions
+ seqno had changed, not the channel seqno.
+
+2003-02-07 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): Set the arch to NOARCH by
+ default, read the "architecture" setting out of the
+ /var/lib/dpkg/status file if it's there.
+
+2003-02-06 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman-types.h, rc-rpmman.h: Change RPM includes to remove
+ the directory; our CFLAGS will be set to the actual include
+ directory for RPM.
+
+2003-02-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_xml_node_to_package_dep_internal): Free some
+ leaked strings.
+
+ * rc-package-match.c (rc_package_match_set_dep): Ref the new dep
+ before unreffing the old dep, just in case we are in some weird
+ situation where they are equal. It never hurts to be paranoid.
+ (rc_package_match_from_xml_node): Unref the dep we created from
+ the xml node after we call rc_package_match_set_dep. This fixes a
+ small memory leak.
+
+ * rc-world.c (rc_world_get_system_packages): Unref the contents of
+ system_packages before freeing the slist. If our system query
+ fails, free the slist. (Probably fixes most of #37576)
+
+2003-01-24 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (require_item_process): If there are no
+ installable providers, give a slightly more detailed error
+ message.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Flag the
+ temporary 'Local Packages' channel as silent.
+
+ * rc-world.c (rc_world_add_channel_with_priorities): Added a
+ 'is_silent' argument, which (duh) causes the new channel to be
+ flagged as silent.
+ (rc_world_add_channel): Rather than add a new arg to this
+ function, just always make the created channel non-silent.
+ (rc_world_remove_channel): Don't touch the sequence numbers if the
+ channel is silent.
+ (rc_world_add_package): Ditto.
+ (rc_world_remove_package): Ditto.
+ (rc_world_remove_packages): Ditto.
+
+ * rc-channel.c (rc_channel_get_silent): Added. Test if a channel
+ is flagged as silent.
+ (rc_channel_set_subscription): If a channel is marked as 'silent',
+ don't change the world sequence number if its subscription status
+ changes.
+
+ * rc-channel-private.h: Added "silent" flag to the
+ RCChannel struct.
+
+2003-01-22 Jon Trowbridge <trow@ximian.com>
+
+ * rc-arch.c: Make "all" (which is what debian uses) a synonym for
+ "noarch".
+
+ * rc-world-import.c (rc_world_add_packages_from_xml): Removed
+ GHashTable *packages, which is no longer being used for anything.
+ (fill_debian_package): Set the architecture properly when
+ loading debian package files.
+
+2003-01-21 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (depends_fill_helper): We were being way too
+ aggressive with some memory management but it never seems to bite
+ us with RPM 4. RPM 3, however, is a different matter. Revert to
+ the previous behaviour, but use my own free_v() function instead
+ of g_strfreev() to fix the potential memory leak.
+
+2003-01-21 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (parser_package_end): Removed all of the arch-related
+ checks. That all happens inside of rc_world_add_packages_from_xml
+ now.
+ (rc_package_sax_context_done): Since arch checks are being done by
+ the RCWorld, this is all much simpler.
+
+ * rc-world-import.c (rc_world_add_packages_from_xml): Removed all
+ arch-related checks. That all happens inside of
+ rc_world_add_package now.
+
+ * rc-world.c (rc_world_add_package): Do all arch checks when a
+ package is added to the world, taking version numbers into
+ account. Now a higher version number trumps a superior arch
+ score. This function returns a gboolean instead of void: if
+ the package actually gets added it returns TRUE. If not
+ (for example, if the arch is bad), return FALSE.
+
+2003-01-08 Joe Shaw <joe@ximian.com>
+
+ * Makefile.am: Remove rc-pretty-name.[ch]
+
+ * rc-package.c (rc_package_compare_pretty_name): Added. Compares
+ the packages' pretty names, falling back to the regular names.
+ (rc_package_slist_sort_by_pretty_name): Changed to use
+ rc_package_compare_pretty_name(), which gets it from the RCPackage
+ structure instead of looking it up in a hash from the old
+ prettypackages.xml file.
+
+ * rc-package.h: Reorder some stuff, add pretty_name.
+
+ * rc-xml.c (parser_package_end): Parse the "pretty_name" out of
+ the XML in the <package> section.
+
+2002-12-18 Joe Shaw <joe@ximian.com>
+
+ * rc-verification.c (rc_verify_gpg): When the $HOME environment
+ variable isn't set, gnupg will have a fit when trying to create
+ the $HOME/.gnupg directory and bail out. So we create a temporary
+ directory in /tmp and create a temporary environment setting that
+ as $HOME and pass it into our g_spawn function calls. Clean up
+ after we're done.
+
+2002-12-16 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c: Get rid of <command> tags and replace them with
+ <os_name> and <os_release>
+
+ * distributions.xml: Replace <command> tags with <os_name> and
+ <os_release> tags.
+
+2002-12-10 Joe Shaw <joe@ximian.com>
+
+ * rc-resolver-info.c (rc_resolver_info_to_string): Change
+ "replaces" to "replaced by"
+
+2002-12-06 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c: Pass in the address to a gboolean as the third
+ parameter to rpmReadPackageHeader() which tells us if we're
+ dealing with a source package. If we are, abort out since we
+ don't handle source packages right now.
+
+2002-12-05 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-subscriptions.c (clear_sub_cb): When resetting our
+ subscriptions, maintain the current subscription state for
+ transient channels. (Fixes #35148)
+
+2002-12-05 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_add_channel_with_priorities): Added.
+ Allows the channel creator to set priorities for dependency
+ resolution.
+
+2002-12-03 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Change Woody to supported.
+
+ * rc-arch.c (rc_arch_from_string): Handle NULL argument.
+
+ * rc-xml.c (rc_xml_strip): Added. Returns NULL if g_strstrip()
+ returns an empty string.
+ (parser_package_end, parser_update_end): Use rc_xml_strip()
+ instead of g_strstrip().
+
+2002-12-02 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c: Added a #define for RPMTAG_REMOVETID
+
+2002-11-22 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_package_update_to_xml_node): Make sure that
+ update->package_url isn't NULL or empty before writing it out in
+ the XML. (Probably fixes bug #34499.)
+
+2002-11-22 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_package_is_repackaged): Added. Opens up
+ the package file and looks for the header to indicate that it's a
+ repackaged RPM.
+ (split_rpm): Remove the hack that we used before to guess that it
+ was a repackaged RPM as it won't work in 4.1.
+
+2002-11-21 Joe Shaw <joe@ximian.com>
+
+ * rc-package.c (rc_package_copy, rc_package_slist_copy): Removed.
+ Everything should just use rc_package_ref().
+
+ * rc-debman.c (package_list_append): Change the one instance of
+ rc_package_copy() in libredcarpet to rc_package_ref().
+
+2002-11-21 Joe Shaw <joe@ximian.com>
+
+ * packer.pl: Use binmode so perl 5.8.0 doesn't read in the data
+ as UTF-8. Patch from Michael Doppler.
+
+2002-11-18 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (rc_package_to_xml_node): Write the description out to
+ the description field, not the summary.
+
+2002-11-14 Joe Shaw <joe@ximian.com>
+
+ * rc-dep-or.c (rc_dep_string_to_or_dep_slist): Return NULL if
+ there isn't a trailing parenthesis.
+
+2002-11-14 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (rc_debman_is_database_changed): Destroy our cache
+ of packages when the db changes out from underneath us.
+ (unlock_database, rc_debman_init): Make the timeouts 5 seconds,
+ like the RPM backend.
+
+ * rc-rpmman.c (open_database): Fix an occasional glib warning.
+
+2002-11-14 Joe Shaw <joe@ximian.com>
+
+ * rc-package-dep.c (rc_package_dep_verify_relation): Go back to
+ evaluating the version and release separately as that wasn't quite
+ right, instead use the capability as to whether we should always
+ evaluate the release or not.
+
+ * rc-packman.h: Rename RC_PACKMAN_CAP_VERSION_AND_RELEASE to
+ RC_PACKMAN_CAP_ALWAYS_VERIFY_RELEASE.
+
+ * rc-debman.c (rc_debman_init): Ditto.
+
+2002-11-14 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.h: Add a huge comment block describing what each of
+ the capabilities does. Remove the SELF_CONFLICT capability since
+ it wasn't being used and it's handled for all backends by the
+ resolver. Renamed LEGACY_EPOCH_HANDLING to IGNORE_ABSENT_EPOCHS
+ because it makes more sense to me. Add a new VERSION_AND_RELEASE
+ capability which does Debian's relation logic on version+release
+ as one.
+
+ * rc-debman.c (rc_debman_init): Set capabilities to
+ VERSION_AND_RELEASE.
+
+ * rc-rpmman.c (rc_rpmman_init):
+ s/LEGACY_EPOCH_HANDLING/IGNORE_ABSENT_EPOCHS.
+
+ * rc-package-dep.c (rc_package_dep_verify_relation): If the
+ VERSION_AND_RELEASE capability is set, compare version and release
+ at once instead of separately. Also
+ s/LEGACY_EPOCH_HANDLING/IGNORE_ABSENT_EPOCHS.
+
+ * rc-queue-item.c (conflict_process_cb): Add a comment about how
+ we ignore when we conflict with ourself. Mention that some of the
+ obsolete handling should probably be a packman capability
+
+2002-11-14 Joe Shaw <joe@ximian.com>
+
+ * rc-debman-general.c (rc_debman_fill_depends): Don't muck around
+ with the dep if it's NULL.
+
+ * rc-debman.c (query_all_read_line_cb, rc_debman_query_file):
+ Initialize the package's obsoletes array.
+
+ * rc-package-dep.c (rc_package_dep_array_from_slist): Allow the
+ argument to be NULL, and short circuit in the case where the list
+ is valid but empty.
+
+ * rc-util.c (count_gzip_header, rc_uncompress_memory,
+ rc_compress_memory, rc_uncompress_xml): Make the buffers const.
+
+ * rc-world-import.c (rc_world_add_channel_from_buffer,
+ rc_world_add_packages_from_buffer, rc_world_parse_helix,
+ rc_world_parse_debian, rc_world_parse_redhat): Make the buffers
+ const.
+ (rc_world_parse_debian): Rewrote the debian Packages file parser
+ to (a) be cleaner and (b) deal with entries that span multiple
+ lines. It's a little bit slower than the old one, by about .4
+ seconds, and there's plenty of room to speed it up. Make it
+ initialize the obsoletes package dep array, and remove a lot of
+ redundant code.
+
+ * rc-xml.c (rc_package_sax_context_parse_chunk): Make the buffer
+ const.
+
+2002-11-11 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (close_database): do nothing if the database isn't
+ open
+ (open_database): set the db_watcher id to 0 when we
+ g_source_remove it
+ (rc_rpmman_finalize): remove the db_watcher timeout when we
+ finalize the object to avoid crashing, d'oh
+
+2002-11-05 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (refresh_channel_from_dir): If there are
+ multiple packages w/ the same name in the directory, filter out
+ all but the one with the highest version number. This fixes
+ half of bug #33323.
+
+ * rc-queue-item.c (require_item_process): Set a meaningful branch
+ label. This is helpful when debugging dependency problems.
+ (branch_item_destroy): Free the branch label.
+ (branch_item_to_string): Include the branch label in the
+ stringification.
+ (rc_queue_item_branch_set_label): Added. Attaches a label to a
+ branch item. This label is not user-visible, unless they are
+ looking at debugging output.
+ (install_item_process): Added log info to the uninstall items we
+ construct to handle removals due to conflicts with the installed
+ package. (Fixes bug #33312)
+
+2002-11-01 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (rc_world_add_channel_from_directory):
+ Increase the priority of mounted channels.
+
+2002-10-31 Joe Shaw <joe@ximian.com>
+
+ * distributions.xml: Add Mandrake 9 and SuSE 8.1 as supported
+ distros. Change Red Hat 8 to supported. Add Debian Woody as
+ presupported.
+
+2002-10-23 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_database_filename): Added. Returns the
+ filename of the RPM database, based on rpmman->rpmroot, the
+ %{_dbpath} macro, and which version of RPM is being run (v3 or
+ v4).
+ (rc_rpmman_is_database_changed, open_database): Use new function.
+ (open_database): Look for the __db.0xx files in the right location,
+ as well.
+
+ * rc-rpmman.h: Add rpmGetPath().
+
+2002-10-24 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-dump.c (rc_world_dump_to_xml): Write the world's locks
+ out in the dump XML.
+ (rc_world_undump_from_xml): Read the locks from the dump XML.
+
+ * rc-package-match.c (rc_package_match_from_xml_node): We need to
+ extract the RCPackageDep from the xml node, not from the node's
+ child.
+
+2002-10-23 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (rc_world_add_packages_from_xml): When pulling
+ in packages, don't do any filtering by architecture on system
+ packages. This lets us reproduce broken systems with multiple
+ installs when undumping.
+
+2002-10-18 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: only include rpm-stubs.h in the non-static case
+ (rc_rpmman_query_file): if we've opened the file but it's not a
+ valid RPM file, we still have to close it before we return.
+ (write_object): only compile in the non-static case
+
+2002-10-17 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-match.c (rc_package_match_new): Initialize the
+ ->importance field to RC_IMPORTANCE_INVALID.
+ (rc_package_match_equal): Added.
+ (rc_package_match_test): Handle the case of packages whose channel
+ is NULL.
+
+ * rc-world.c (rc_world_add_lock): Append to the list of locks.
+ This is less annoying, since newly-added locks show up at the end
+ of the list.
+
+2002-10-11 Joe Shaw <joe@ximian.com>
+
+ * rc-md5.c (rc_md5_digest, rc_md5_digest_from_string): Plug a leak.
+
+ * rc-md5.c (rc_md5_string): Renamed to rc_md5_digest().
+ (rc_md5_from_string, rc_md5_digest_from_string): Added.
+
+ * rc-verification.c (rc_verify_md5_string): Change to
+ rc_md5_digest().
+
+2002-10-10 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.h (RCRpmman): rpmDefineMacro() actually takes a
+ MacroContext *. Fixes the build against 3.0.6.
+
+2002-10-10 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.[ch]: Change the "perform" gboolean on
+ rc_packman_transact() to be a bitfield. Create the
+ RC_TRANSACT_FLAG_NO_ACT and RC_TRANSACT_FLAG_REPACKAGE flags. Add
+ the RC_PACKMAN_CAP_REPACKAGING capability.
+ (rc_packman_{set|get}_repackage_dir): Added.
+
+ * rc-debman.c (do_unpack, rc_debman_transact): update for the
+ above flags change.
+
+ * rc-package-spec.c (rc_package_spec_slist_find_name): Make the
+ name argument const.
+
+ * rc-rpmman.c (rc_rpmman_transact): Update for the flags change.
+ If we're on RPM 4.0.4 or greater and the REPACKAGE flag is set,
+ define an RPM macro with the repackage directory. If we can read
+ the signature header in the RPM, proceed as normal. If we get an
+ RPMRC_BADSIZE return value and we're on 4.0.4, we're probably
+ trying to install a repackaged RPM (which are technically
+ invalid).
+ (load_fake_syms, load_rpm_syms): Get rpmDefineMacro out of the rpm
+ library.
+ (rc_rpmman_init): If we're on RPM 4.0.4, add the REPACKAGING
+ capability.
+
+2002-10-10 Jon Trowbridge <trow@ximian.com>
+
+ * Makefile.am: Added rc-package-match.c and rc-package-match.h to
+ the build.
+
+ * libredcarpet.h: Added rc-package-match.h.
+
+ * rc-world-import.c (rc_world_add_channel_from_directory): Added.
+ Allows the contents of a directory full of packages to be added to
+ the world as a custom channel.
+
+ * rc-world-subscriptions.c (to_xml_cb): Don't write out
+ subscription XML for transient channels.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Set the
+ channel id and base id to zero when we create our local packages
+ channel. (They will now get replaced by valid unused ids by
+ rc_world_add_channel.)
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ Flag the initial install items as explicitly requested.
+ (rc_resolver_queue_add_package_to_remove): Flag the initial remove
+ items as explicitly requested.
+
+ * rc-queue-item.c (install_item_process): If this install was
+ explicitly requested and is an upgrade, flag the uninstall half of
+ the operation as also being explicitly requested.
+ (rc_queue_item_install_set_explicitly_requested): Added.
+ (require_process_cb): Don't consider the provider if it is locked.
+ (require_item_process): Pass the world via the info struct. (We
+ need it when checking if packages are locked.)
+ (uninstall_item_process): Fail if we are trying to uninstall a
+ locked package and it hasn't been explicitly requested.
+ (rc_queue_item_uninstall_set_explicitly_requested): Added.
+
+ * rc-world.c (rc_world_free): Free our package locks.
+ (rc_world_add_channel): If the channel_id or base_id is zero,
+ generate a valid, unused id. Flag TYPE_UNKNOWN channels as
+ transient.
+ (rc_world_add_lock): Added.
+ (rc_world_remove_lock): Added.
+ (rc_world_clear_locks): Added.
+ (rc_world_foreach_lock): Added.
+ (rc_world_package_is_locked): Added.
+ (rc_world_add_package): Treat "recommends" as requires. This is
+ what Debian policy says we should do.
+ (rc_world_foreach_package_by_match): Added.
+ (foreach_upgrade_cb): Don't show locked packages when iterating
+ available upgrades.
+ (get_best_upgrade_cb): Don't consider locked packages when looking
+ for the best upgrade.
+ (system_upgrade_cb): Skip locked packages when look for system
+ upgrades.
+
+ * rc-package-match.h:
+ * rc-package-match.c: Added.
+
+ * rc-channel.c (rc_channel_has_refresh_magic): Added.
+ (rc_channel_use_refresh_magic): Added.
+ (rc_channel_get_transient): Added.
+
+ * rc-channel-private.h: Added refresh_magic hook and transient
+ flag to RCChannel struct.
+
+2002-10-01 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_rmdir): If S_ISSOCK is defined, remove any sockets
+ in the directory as well.
+
+2002-09-27 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (split_rpm): Don't free the buffer we get back from
+ headerGetEntry() for the md5 signature. It causes a double free
+ and a crash on SuSE.
+
+2002-09-23 Ian Peters <itp@ximian.com>
+
+ * rc-arch.c (rc_arch_get_system_arch): handle a wider range of
+ uname return values
+
+2002-09-20 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (sax_end_element): Check to make sure the arch score
+ is greater than -1, not non-zero. I guess Ian would have never
+ caught this bug with his crappy processor.
+
+2002-09-19 Joe Shaw <joe@ximian.com>
+
+ * rc-world-subscriptions.c (rc_world_export_subscriptions_to_xml):
+ When we're writing out our old subscriptions, if one is being
+ handled by the world, skip it.
+
+2002-09-18 Ian Peters <itp@ximian.com>
+
+ * rc-verification.h: add RC_VERIFICATION_TYPE_SANITY
+
+ * rc-rpmman.c (rc_rpmman_verify): if we're unable to split the rpm
+ into header and payload, return a failed sanity verification, to
+ make life easier on joe
+
+2002-09-11 Jon Trowbridge <trow@ximian.com>
+
+ * rc-channel.c (rc_channel_set_subscription): If we changed the
+ state of the channel's subscription, call
+ rc_world_touch_sequence_number on the channel's world so that we
+ can detect the change.
+
+ * rc-world.c (rc_world_touch_sequence_number): Added. Marks the
+ world as changed so that the sequence number will increment.
+
+2002-09-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: missing include
+
+2002-09-09 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c: Add some missing header includes.
+
+2002-09-06 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_verify): Fix a typo. We want a bitwise
+ and, not a logical and.
+
+2002-09-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-channel.c (rc_channel_get_subs_file): Added an accessor for
+ the channel's subscribed file.
+ (rc_channel_get_unsubs_file): Add an accessor for the channel's
+ unsubscribed file.
+
+ * rc-package-spec.c (rc_package_spec_to_str): Produce nice-looking
+ output if the spec's version is empty. (Bug #29736)
+ (rc_package_spec_version_to_str): Be careful to not print a "-" in
+ the spec version string if it isn't needed. (Also bug #29736)
+
+ * rc-resolver-context.c (rc_resolver_context_uninstall_package):
+ Make the "can't uninstall to-be-installed" error message a bit
+ more sane. (Also bug #29736)
+
+2002-09-03 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (parser_package_end): We need to get the file_size and
+ installed_size from the most recent RCPackageUpdate and copy it
+ into the RCPackage.
+
+2002-08-29 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver.c (rc_resolver_free): Clean up our list of extra
+ initial queue items.
+ (verify_system_cb): Insertion-sort our list of packages.
+ (rc_resolver_verify_system): Walk across our list of installed
+ packages and look for cases where we have installed multiple
+ packages with the same name. For each such case, construct a set
+ of group item for removing each of the packages but one. Then
+ bundle all of the group items into a branch item and add it to our
+ list of extras.
+ (rc_resolver_resolve_dependencies): Add the contents of
+ initial_items to our newly-constructed queue.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_item): Added. This
+ is the sort of thing we should have an accessor for, even if it is
+ trivial.
+ (rc_resolver_queue_add_package_to_install): Use
+ rc_resolver_queue_add_item.
+ (rc_resolver_queue_add_package_to_remove): Ditto.
+ (rc_resolver_queue_add_package_to_verify): Ditto.
+ (rc_resolver_queue_add_extra_dependency): Ditto.
+ (rc_resolver_queue_add_extra_conflict): Ditto.
+
+ * rc-queue-item.h: Added RC_QUEUE_ITEM_TYPE_GROUP to
+ RCQueueItemType enum. Added definition of RCQueueItem_Group
+ struct and prototypes for group functions.
+
+ * rc-queue-item.c (require_item_cmp): Added. A comparison function
+ for require items.
+ (rc_queue_item_new_require): Put require_item_cmp in the require
+ vtable.
+ (conflict_item_cmp): Added. A comparison function for conflict
+ items.
+ (rc_queue_item_new_conflict): Put conflict_item_cmp in the require
+ vtable.
+ (group_item_process): Added. Functionality for group items.
+ (group_item_destroy): Ditto.
+ (group_item_copy): Ditto.
+ (group_item_cmp): Ditto.
+ (group_item_to_string): Ditto.
+ (rc_queue_item_new_group): Ditto.
+ (rc_queue_item_group_add_item): Ditto.
+
+2002-08-28 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): If we are in
+ verification mode and it looks like our install is about to fail,
+ don't let it happen. Instead, back out the install and remove
+ whatever packages caused us to need to install this thing in the
+ first place. Set the is_soft mode on our install and upgrade
+ operation if we are in verification mode.
+ (require_item_process): If we are in verification mode, we always
+ need to try the uninstall branch.
+
+ * rc-resolver.c (rc_resolver_verify_system): Set the ->verifying
+ flag to TRUE.
+ (rc_resolver_resolve_dependencies): Initialize the ->verifying
+ flag on our initial queue's context.
+
+ * rc-resolver.h: Added 'verifying' flag to RCResolver struct.
+
+ * rc-resolver-context.c (rc_package_status_to_string): Added a
+ string for RC_PACKAGE_STATUS_TO_BE_INSTALLED_SOFT.
+ (rc_resolver_context_new_child): Initialize the ->verifying flag.
+ (rc_resolver_context_set_status): Use the
+ rc_package_status_is_to_be_installed macro.
+ (rc_resolver_context_install_package): Added an is_soft argument.
+ When it is set, the installed package's status is set to
+ RC_PACKAGE_STATUS_TO_BE_INSTALLED_SOFT instead of
+ RC_PACKAGE_STATUS_TO_BE_INSTALLED. Changed to use the
+ rc_package_status_is_to_be_installed macro. Removed a totally
+ useless elog message.
+ (rc_resolver_context_upgrade_package): Added an is_soft argument,
+ and changed to use the rc_package_status_is_to_be_installed macro.
+ (rc_resolver_context_uninstall_package): Terminate early if
+ rc_package_status_is_to_be_uninstalled succeeds. The is probably
+ a pointless optimization, since I think we already filter for this
+ before calling the function... but I added in anyway, mostly for
+ symmetry with the other rc_resolver_context_*_package functions.
+ (rc_resolver_context_package_is_present): Use
+ rc_package_status_is_to_be_installed macro.
+ (install_pkg_cb): Ditto.
+ (upgrade_pkg_cb): Ditto.
+
+ * rc-resolver-context.h: Added
+ RC_PACKAGE_STATUS_TO_BE_INSTALLED_SOFT to RCPackageStatus enum.
+ Added rc_package_status_is_to_be_installed macro. Added
+ 'verifying' flag to RCResolverContext struct.
+
+2002-08-28 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: add libpopt.so to the shared stubs, as there are
+ undefined popt symbols in librpm.so.
+
+ * rc-package-spec.h: no more inline rc_package_spec_equal, no more
+ rc_package_spec_compare
+
+ * rc-package-spec.c: always define rc_package_spec_equal here. No
+ more das_global_packman, yay! No more rc_package_spec_compare,
+ either.
+
+ * rc-package.h, rc-package.c: removed unused functions
+ rc_package_slist_sort_by_spec,
+ rc_package_slist_sort_by_spec_reverse,
+ rc_pakcage_slist_find_duplicates, and
+ rc_packages_slist_remove_older_duplicates
+
+ * rc-package-dep.h, rc-package-dep.c
+ (rc_package_dep_verify_relation): there's no more
+ das_global_packman, pass a packman in instead
+
+ * rc-packman.h, rc-packman.c: no more rc_packman_set_packman or
+ rc_packman_set_packman
+
+ * rc-queue-item.c (install_item_cmp): use
+ rc_packman_version_compare instead of rc_package_spec_compare here
+ (uninstall_item_cmp): and here
+
+ * rc-resolver-queue.c (rc_resolver_queue_split_first_branch): and
+ here
+
+ * rc-world.c: add a global world for rc_get_world
+ (rc_world_register_packman): removed
+ (rc_set_world): added, set the world you get with rc_get_world
+ (rc_world_new): take and setup the packman here, because we don't
+ work very well without one
+ (struct ForeachUpgradeInfo): add a pointer to the world here
+ (foreach_upgrade_cb): use rc_packman_version_compare rather than
+ rc_package_spec_compare
+ (rc_world_foreach_upgrade): set the world
+ (struct BestUpgradeInfo): add a pointer to the world here
+ (get_best_upgrade_cb): use rc_packman_version_compare rather than
+ rc_package_spec_compare
+ (rc_world_get_best_upgrade): set the world
+ (rc_world_get_package_with_constraint):
+ rc_package_dep_verify_relation needs a packman
+ (rc_world_check_providing_package): here too
+ (rc_world_foreach_requiring_package): and here
+ (rc_world_foreach_conflicting_package): and here
+
+ * rc-world.h: remove rc_world_register_packman, add rc_set_world,
+ modify rc_world_new declaration
+
+ * rc-rpmman.c (rc_rpmman_transact): rc_package_dep_verify_relation
+ needs a packman
+
+2002-08-28 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: reinstate the hack in lesser form -- interactive
+ debian packages cause the process to be killed, and an error set.
+
+2002-08-26 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_buffer_map_file): Fix a nasty file descriptor leak.
+
+ * rc-world-subscriptions.c
+ (rc_world_import_subscriptions_from_xml): Make the
+ can't-subscribe-to-channel-because-it-wasn't-in-the-XML error a
+ little more clear.
+
+2002-08-23 Joe Shaw <joe@ximian.com>
+
+ * rc-debman-general.c (rc_debman_parse_version): Make input a
+ const gchar *.
+
+ * rc-packman.c (rc_packman_parse_version): Added. Calls the
+ backend's parse_version function.
+
+ * rc-packman.h: Added rc_packman_real_parse_version function
+ pointer.
+
+ * rc-debman.c (rc_debman_parse_version_wrapper): Wraps
+ rc_debman_parse_version(), sets has_epoch to TRUE always.
+
+ * rc-rpmman.c (rc_rpmman_parse_version): Call parse_version().
+
+ * rc-world.c (rc_world_sequence_number): Move to after the
+ definition of rc_world_sync() to fix some warnings.
+
+2002-08-22 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_sequence_number): Call rc_world_sync()
+ before we get our sequence number, so we can flip the changed flag
+ and increment it if the database changed underneath us.
+
+2002-08-22 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (branch_item_process): An optimization: Instead
+ of processing a 1-item branch into that item, simply execute the
+ item immediately.
+
+2002-08-20 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (require_item_process): Don't skip exploring the
+ uninstall branch in the case of codependent packages when our
+ requirement comes from a lost package. This might not be the
+ right thing to do.
+
+ * rc-resolver-context.c (rc_resolver_context_spew): Added. Another
+ debug-spew function that prints out a list of the packages to be
+ installed, removed and upgraded.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Make sure that
+ our dummy local packages channel has a non-zero cid and bid.
+ (rc_resolver_resolve_dependencies): When in extremely_noisy mode,
+ print a final total of the number of queues in each category.
+
+2002-08-19 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_channel_to_xml_node): Put the base-id in the XML.
+
+ * rc-world-import.c (rc_world_add_channels_from_xml): Handle the
+ base-id.
+ (rc_world_add_channel_from_buffer): Added an argument for the
+ base-id.
+
+ * rc-world-dump.c (rc_world_undump_from_xml): Get the base-id from
+ the channel XML.
+
+ * rc-world.c (rc_world_add_channel): Added an argument for
+ specifying a base-id.
+ (rc_world_get_channel_by_base_id): Added.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_extra_dependency): Added.
+
+ * rc-resolver.c (rc_resolver_free): Clean up our extra conflicts.
+ (rc_resolver_add_extra_conflict): Added.
+ (rc_resolver_resolve_dependencies): Specify a fake base-id for our
+ temporary local packages channel.
+ (rc_resolver_resolve_dependencies): Iterate over our extra
+ conflicts, adding them to the queue.
+
+ * rc-resolver-info.c (rc_resolver_info_conflicts_with_new): Handle
+ a NULL conflicts_with.
+ (rc_resolver_info_obsoletes_new): Handle a NULL obsoletes.
+
+ * rc-queue-item.c (conflict_process_cb): Respond gracefully when
+ conflicting_package is NULL.
+ (conflict_item_process): Ditto.
+ (conflict_item_to_string): Ditto.
+ (rc_queue_item_new_conflict): Ditto.
+
+ * rc-channel.c (rc_channel_get_base_id): Added accessor.
+
+ * rc-channel-private.h: Added base_id field to RCChannel struct.
+
+ * rc-resolver.c (rc_resolver_free): Clean up after our deferred
+ branch list.
+ (rc_resolver_resolve_dependencies): Added deferred branching
+ support. If we exhaust the pending queues without finding a
+ solution, try deferred queues until we find a solution (or run out
+ of deferred queues, of course).
+
+ * rc-resolver-queue.c (rc_resolver_queue_process_once): Added an
+ optimization that makes a pass over our new queue item and throws
+ out any branches that are supersets of other branches.
+ (rc_resolver_queue_split_first_branch): Added deferred branching.
+ This is an optimization where we will try to recognize branches
+ that are less likely to lead to high-scoring solutions; the
+ deferred branches are explored only if we are unable to produce a
+ valid resolution using the favored branches.
+
+ * rc-queue-item.c (rc_queue_item_cmp): Added. A comparison
+ function for queue items, so that we can sort them into a
+ canonical ordering.
+ (install_item_cmp): Implements cmp for install items.
+ (rc_queue_item_new_install): Store the cmp function in our vtable.
+ (branch_item_cmp): Implements cmp for branch items.
+ (rc_queue_item_new_branch): Store the cmp function in our vtable.
+ (uninstall_item_cmp): Implements cmp for uninstall items.
+ (rc_queue_item_new_uninstall): Store the cmp function in our
+ vtable.
+ (rc_queue_item_branch_contains): Added. Checks if one branch item
+ is a proper subset of the other.
+ (rc_queue_item_branch_add_item): Insertion-sort the added branch
+ items instead of just prepending.
+
+ * rc-channel.c (rc_channel_get_path): Added accessor.
+ (rc_channel_get_icon_file): Added accessor.
+
+2002-08-17 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_sequence_number): Added. If the sequence
+ number increases, that means that the RCWorld has changed.
+ (rc_world_new): Initialize seqno-related variables.
+ (rc_world_add_channel): Set 'changed' flag so that the sequence
+ number will get incremented.
+ (rc_world_remove_channel): Ditto.
+ (rc_world_add_package): Ditto.
+ (rc_world_remove_package): Ditto.
+ (rc_world_remove_packages): Ditto.
+
+2002-08-16 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_xml_node_to_package_dep_internal): Wow... the way
+ this code tried to extract the epoch from the dep tag was _really_
+ broken. Fixed.
+
+ * rc-queue-item.c (require_item_process): When there are no
+ providers for the requirement, cause the resolution attempt to
+ fail if we can't come up with either something to uninstall or an
+ upgrade branch to explore.
+
+2002-08-15 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-compare.c (churn_factor): Use the
+ rc_resolver_context_*_count fns instead of directly accessing the
+ struct elements.
+
+ * rc-queue-item.c (install_item_process): Use
+ rc_package_status_is_to_be_uninstalled macro.
+ (require_process_cb): Ditto.
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): No need
+ to copy install_count, etc. to the child context.
+ (rc_resolver_context_set_status): Use
+ rc_package_status_is_to_be_uninstalled macro.
+ (rc_resolver_context_install_package): Use
+ rc_package_status_is_to_be_uninstalled macro. Don't try to count
+ installs as we go.
+ (rc_resolver_context_upgrade_package): Ditto.
+ (rc_resolver_context_uninstall_package): Ditto.
+ (uninstall_pkg_cb): Use rc_package_status_is_to_be_uninstalled
+ macro.
+ (rc_resolver_context_install_count): Added.
+ (rc_resolver_context_uninstall_count): Added.
+ (rc_resolver_context_upgrade_count): Added.
+ (requirement_possible_cb): Use
+ rc_package_status_is_to_be_uninstalled macro.
+
+ * rc-resolver-context.h: Removed install_count, upgrade_count and
+ uninstall_count from RCResolverContext. Added
+ rc_package_status_is_to_be_uninstalled macro.
+
+2002-08-14 Ian Peters <itp@ximian.com>
+
+ * rc-util.h (rc_is_program_in_path): removed
+
+ * rc-util.c (rc_is_program_in_path): removed
+
+ * rc-verification.c (rc_verify_gpg): use g_find_program_in_path
+ instead of rc_is_program_in_path
+
+2002-08-14 Ian Peters <itp@ximian.com>
+
+ * rc-world.c (rc_package_and_dep_new_package): removed
+ (rc_world_add_package): every package doesn't implicitly provide
+ itself, it explicitly provides itself, which means we don't have
+ to do this.
+
+2002-08-14 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (rc_debman_class_init): remove some very old
+ commented out code
+ (rc_debman_init): remove RC_PACKMAN_CAP_VIRTUAL_CONFLICTS from our
+ capabilities list, since it doesn't exist anymore
+
+ * rc-packman.h: remove RC_PACKMAN_CAP_VIRTUAL_CONFLICTS
+
+ * rc-resolver-context.h (struct _RCResolverContext): get rid of
+ the allow_conflicts_with_virtual_provides field
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): no more
+ allow_conflicts_with_virtual_provides
+
+ * rc-resolver.h (struct _RCResolver): bye bye
+ allow_conflicts_with_virtual_provides
+ (rc_resolver_allow_virtual_conflicts): removed
+
+ * rc-resolver.c (rc_resolver_new): adios
+ allow_conflicts_with_virtual_provides
+ (rc_resolver_allow_virtual_conflicts): removed
+ (rc_resolver_resolve_dependencies): l8r
+ allow_conflicts_with_virtual_provides
+
+ * rc-queue-item.c (conflict_process_cb): altered the virtual
+ provide / conflict logic to match what we now believe is the
+ actual rpm behavior. Conflicts apply to any provide, regardless
+ of whether it's "virtual" or not. An obsolete only applies to the
+ package itself, not just a provide -- so check to make sure that a
+ provide spec matches the package spec that provides it before we
+ process the "obsolete" conflict.
+
+ * rc-package-spec.h: no more RCWorld needed, get rid of the
+ RCPackageSpecType enum
+ (struct _RCPackageSpec): no more type field
+ (rc_package_spec_get_type): removed
+
+ * rc-package-spec.c (rc_package_spec_init): no more type field
+ (rc_package_spec_copy): no more type field
+ (struct SpecTypeInfo): removed
+ (spec_type_cb): removed
+ (rc_package_spec_get_type): removed
+
+ * rc-world.c (rc_package_and_dep_new_package): no more type field
+ in RCPackageSpecs
+
+2002-08-10 Ian Peters <itp@ximian.com>
+
+ * rc-util.h: if HAVE_MKDTEMP is defined, then rc_mkdtemp is just
+ mkdtemp, otherwise we need to declare our own.
+
+ * rc-util.c (rc_mkdtemp): our very own implementation of mkdtemp,
+ since we need to build on platforms that don't offer this function
+
+ * rc-rpmman.c (write_objects): call rc_mkdtemp, not mkdtemp
+
+2002-08-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (split_rpm): change the way we handle errors in this
+ function to plug a few small potential memory and fd leaks
+
+2002-08-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (open_database): fix a small memory leak and a
+ leaked file descriptor on failed database opens
+
+2002-08-09 Ian Peters <itp@ximian.com>
+
+ * rc-package-spec.h (struct _RCPackageSpec): removed the name
+ field in favor of the nameq, a GQuark. Note to the reader: every
+ place in this entry that I say GQuark fixup, I mean: did the right
+ thing, whether that means directly comparing two GQuarks for
+ equality, g_quark_[to|from|try]_string, etc
+ (rc_package_spec_equal): no need for a strcmp, just compare the
+ two quarks
+
+ * rc-package-spec.c (rc_package_spec_init): really obvious name ->
+ nameq changes, I'm not going to enumerate them
+
+ * rc-package-dep.c: Our global_deps table is now keyed on the name
+ quark, not the name, so some of the hash table logic in _unref,
+ _new, and _new_from_spec is dramatically simpler, since we don't
+ have allocated keys.
+ (rc_package_dep_verify_relation): GQuark fixup
+
+ * rc-dep-or.h (rc_dep_string_to_or_dep_slist): take a const gchar
+ *, not gchar *
+
+ * rc-dep-or.c (rc_dep_or_dep_slist_to_string): GQuark fixup
+
+ * rc-package.c (rc_package_slist_sort_by_name): GQuark fixup
+ (rc_package_slist_find_duplicates): GQuark fixup
+
+ * rc-packman.c (rc_packman_transact): GQuark fixup
+ (rc_packman_generic_version_compare): GQuark fixup
+
+ * rc-rpmman.c (rc_package_to_rpm_name): GQuark fixup
+ (rc_rpmman_transact): GQuark fixup
+ (rc_rpmman_read_header): GQuark fixup
+ (rc_rpmman_depends_fill): GQuark fixup
+ (rc_rpmman_version_compare): GQuark fixup
+
+ * rc-debman.c (hash_destroy_pair): the key is a GQuark
+ (hash_destroy): my hash should be NULL, NULL now
+ (package_accept): GQuark fixup
+ (query_all_read_line_cb): GQuark fixup
+ (rc_debman_query_all_real): GQuark fixup
+ (rc_debman_query): GQuark fixup
+ (rc_debman_init): my hash is NULL, NULL now
+
+ * rc-queue-item.c (codependent_packages): GQuark fixup
+
+ * rc-resolver-context.c (uninstall_pkg_cb): GQuark fixup. Also,
+ my hash is keyed on GQuarks now.
+ (rc_resolver_context_foreach_uninstall): make my hash NULL, NULL
+ now to be keyed on GQuarks
+ (dup_name_check_cb): GQuark fixup
+
+ * rc-resolver-info.c (rc_resolver_info_packages_to_string): GQuark
+ fixup
+ (rc_resolver_info_mentions): GQuark fixup
+
+ * rc-world-info.c (add_package_to_world): key is a GQuark
+ (rc_world_add_packages_from_xml): my little
+ temporary hash table is keyed on GQuarks now, etc
+ (debian_packages_helper): GQuark fixup
+
+ * rc-world.c (struct _SListAnchor): key is a GQuark
+ (hashed_slist_new): my hash table is direct, not str
+ (hashed_slist_add): key is a GQuark, GINT_TO_POINTER wrap the
+ quark when playing with the hash
+ (hashed_slist_get): key is a GQuark, GINT_TO_POINTER wrap the
+ quark...
+ (hashed_slist_foreach_cb): GINT_TO_POINTER
+ (foreach_remove_func): don't free the key, it's not allocated
+ anymore
+ (rc_world_add_package): hashed_slist_add gets a GQuark
+ (rc_world_find_installed_version): hashed_slist_get needs a GQuark
+ (rc_world_get_package): hashed_slist_get needs a GQuark
+ (rc_world_guess_package_channel): hashed_slist_get needs a GQuark
+ (rc_world_foreach_package_by_name): hashed_slist_get needs a
+ GQuark
+ (rc_world_foreach_upgrade): GQuark fixup
+ (rc_world_foreach_providing_package): GQuark fixup,
+ hashed_slist_get needs a GQuark
+ (rc_world_check_providing_package): GQuark fixup, hashed_slist_get
+ needs a GQuark
+ (rc_world_foreach_requiring_package): hashed_slist_get needs a
+ GQuark
+ (rc_world_foreach_conflicting_package): hashed_slist_get needs a
+ GQuark
+
+ * rc-xml.c (struct _RCPackageSAXContext): our hash table is by
+ GQuark
+ (parser_history_start): GQuark fixup
+ (parser_package_end): GQuark fixup, hash table changes
+ (package_slist_build): key is a GQuark
+ (rc_package_sax_context_new): hash table is NULL, NULL
+ (rc_xml_node_to_package): GQuark fixup
+ (rc_xml_node_to_package_update): GQuark fixup
+ (rc_package_to_xml_node): GQuark fixup
+ (rc_package_dep_to_xml_node): GQuark fixup
+
+2002-08-09 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-context.c (rc_resolver_context_upgrade_package):
+ Added an extra argument for the to-be-upgraded RCPackage. If that
+ package's status is TO_BE_UNINSTALLED, decrement the
+ uninstall_count to keep the accounting straight: the removal will
+ be accounted for when we increment upgrade_count.
+
+ * rc-queue-item.c (install_item_process): Pass the to-be-upgraded
+ package into rc_resolver_context_upgrade_package.
+
+2002-08-08 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-context.c (spew_cb): Changed to use
+ rc_resolver_info_to_string instead of the _to_str version.
+
+ * rc-resolver-info.c (rc_resolver_info_type_to_string): Renamed
+ from _to_str.
+ (rc_resolver_info_type_from_string): Renamed from _from_str.
+ (rc_resolver_info_to_string): Renamed from _to_str. Changed to
+ call _to_string version of other functions.
+
+2002-08-08 Ian Peters <itp@ximian.com>
+
+ * distributions.xml: fix a typo in the version of TurboLinux 7.0
+
+ * rc-package-dep.c, rc-package-dep.h: massively cleaned up and
+ refactored. RCPackageDep is now an opaque struct, for the most
+ part... modulo the opening exposed by the RCPackageSpec.
+ Functions are cleaned up, dead code removed, and lots of the stuff
+ from last night has been commented.
+
+ * rc-debman.c (query_all_read_line_cb): whoops, don't post-munge
+ the pre bit of the RCPackageDeps in the pre-depends: section,
+ we've already taken care of it
+
+ * rc-dep-or.c (rc_dep_or_dep_slist_to_string): opaque
+ RCPackageDeps
+ (rc_dep_string_to_or_dep_slist): ditto
+
+ * rc-queue-item.c (dep_slist_to_string): opaque RCPackageDeps
+ (require_item_process): ditto
+ (require_item_to_string): ditto
+ (conflict_item_process) ditto
+ (conflict_item_to_string): ditto
+ (uninstall_item_process): ditto
+
+ * rc-resolver.c (rc_resolver_add_extra_dependency):
+ rc_package_dep_copy is just an rc_package_dep_ref
+
+ * rc-world.c (rc_package_and_dep_new_package): opaque
+ RCPackageDeps
+ (rc_world_add_package): ditto
+ (rc_world_foreach_providing_package): ditto
+ (rc_world_check_providing_package): ditto
+ (rc_world_foreach_requiring_package): ditto
+ (rc_world_foreach_conflicting_package): ditto
+ (foreach_provides_by_name_cb): ditto
+ (foreach_requires_by_name_cb): ditto
+ (foreach_conflicts_by_name_cb): ditto
+
+ * rc-xml.c (parse_dep_attrs): opaque RCPackageDeps
+ (parser_package_end): ditto
+ (rc_xml_node_to_package): ditto
+ (rc_xml_node_to_package_dep_internal): ditto
+ (rc_package_dep_to_xml_node): ditto
+
+2002-08-08 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-info.c (rc_resolver_info_type_to_str): Added.
+ (rc_resolver_info_type_from_str): Added.
+
+2002-08-08 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): add the extra parameter to
+ all of the rc_debman_fill_depends calls
+
+2002-08-08 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-dep.h: By making the refs field in RCPackageDep a
+ 20-bit int and shrinking relation to 8 bits, we can save 4 bytes
+ per object. Not a huge savings, but it doesn't hurt.
+
+ * rc-xml.c (parser_package_start): Got rid of some unnecessary mem
+ allocs and string copies.
+ (parse_dep_attrs): Got rid of some unnecessary mem allocs and
+ string copies.
+ (parser_package_end): Got rid of some unnecessary mem allocs and
+ string copies.
+ (parser_update_end): Got rid of some unnecessary mem allocs and
+ string copies.
+ In all, these changes reduce the number of memallocs done by
+ rcd on startup on a RH73 system by about 15%.
+
+2002-08-07 Ian Peters <itp@ximian.com>
+
+ * rc-package-dep.c, rc-package-dep.h: RCPackageDep is now a ref
+ counted structure. It really should be an opaque struct, too, but
+ that'll come. rc_package_dep_new now tries to return a pointer to
+ an existing RCPackageDep struct rather than creating a new one.
+ (struct _RCPackageDepArray): data now has to be an array of
+ RCPackageDep *
+ (struct _RCPackageDep): add a ref count
+ (rc_package_dep_ref): added
+ (rc_package_dep_unref): added
+ (rc_package_dep_new): now takes a pre and is_or parameter
+ (rc_package_dep_new_from_spec): ditto
+ (rc_package_dep_free): removed
+ (rc_package_dep_slist_remove_duplicates): removed
+ (rc_package_dep_array_from_slist): updated to new
+ RCPackageDepArray
+ (rc_package_dep_array_free): ditto
+ (rc_package_dep_array_copy): ditto
+
+ * rc-debman-general.c, rc-debman-general.h
+ (rc_debman_fill_depends): take a pre parameter, pass it along to
+ rc_package_dep_new
+
+ * rc-debman.c (query_all_read_line_cb): add FALSE, FALSE to
+ rc_package_dep_new when we self-provide
+ (rc_debman_query_all): ditto
+
+ * rc-dep-or.c: this file really needs some loving and rewriting.
+ yikes.
+ (rc_dep_or_new_provide): add FALSE, TRUE to rc_package_dep_new
+ (rc_dep_string_to_or_dep_slist): we can't assemble the dep bit by
+ bit; accumulate the elements and create the RCPackageDep at the
+ end
+
+ * rc-queue-item.c (install_item_process): change the way we
+ iterate over RCPackageDepArrays, again. Add FALSE, FALSE to the
+ end of rc_package_dep_new_from_spec.
+ s/rc_package_dep_free/rc_package_dep_unref.
+
+ * rc-resolver-context.c (rc_resolver_context_package_is_possible):
+ change the way we iterate over RCPackageDepArrays
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_verify):
+ change the way we ... etc
+
+ * rc-rpmman.c (rc_rpmman_transact): change the ... blah blah. add
+ FALSE, FALSE to the end of rc_package_dep_new, and of course,
+ _unref instead of _free.
+ (depends_fill_helper): FALSE, FALSE to rc_package_dep_new in a few
+ places
+ (rc_rpmman_depends_fill): FALSE, FALSE yadda yadda
+
+ * rc-world-import.c (debian_packages_helper): add FALSE to every
+ call to rc_debman_fill_depends except for our pre-requires, which
+ get TRUE. Also, for our self-provide, add FALSE, FALSE to
+ _dep_new_from_spec.
+
+ * rc-world.c (struct _RCPackageAndDep): kill the own_dep field
+ (rc_package_and_dep_new_package): add FALSE, FALSE to
+ _dep_new_from_spec, remove the own_dep
+ (rc_package_and_dep_new_pair): remove the own_dep stuff, and ref
+ the dep we're passed
+ (rc_package_and_dep_free): always unref our dep, no own_dep
+ (rc_world_add_package): change the way we iterate over
+ RCPackageDepArrays
+ (rc_world_get_package_with_constraint): add FALSE, FALSE to
+ rc_package_dep_new_from_spec, and unref, don't free, the dep when
+ we're done
+
+ * rc-xml.c (dep_attrs): we're no longer given a dep to fill out,
+ but a dep pointer that we're to allocate and return. We have to
+ create it at the end, so we accumulate all of the members and
+ create it at the end.
+ (parser_dep_start): don't create our own dep, get one from
+ dep_attrs
+ (rc_xml_node_to_package): change the way we iterate over
+ RCPackageDepArrays
+ (rc_xml_node_to_package_dep_internal): don't create a dep and then
+ fill it out, accumulate the members we need and then create it
+ (rc_package_to_xml_node): change the way we iterate over
+ RCPackageDepArrays
+
+2002-08-07 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-dump.c: s/xmlGetProp/xml_get_prop/.
+
+ * rc-world-subscriptions.c
+ (rc_world_import_subscriptions_from_xml):
+ s/xmlGetProp/xml_get_prop/.
+
+ * rc-world-dump.c (rc_world_undump_from_xml): Fixed memory leak.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): At the
+ beginning of the resolution, create a temporary channel for the
+ local packages that we are installing. This allows the RCWorld to
+ see the local packages, and we can take their provides into
+ account when resolving. When the resolution is finished,
+ we destroy the channel.
+
+2002-08-07 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (sax_end_element): If RC_DISTRO_TARGET is set, use
+ it instead of whatever it should be. It ain't pretty, but it
+ works.
+
+2002-08-07 Ian Peters <itp@ximian.com>
+
+ * rc-verification.c (rc_verify_gpg): refactored to use g_spawn
+ instead of handling it myself. Other miscellaneous cleanups, too.
+
+2002-08-07 Ian Peters <itp@ximian.com>
+
+ * rc-distro.c (child_setup_func): added, dup2 stderr to stdout.
+ (distro_check_command_eval): use g_spawn_async_with_pipes instead
+ or pipe/fork/exec ourselves
+
+2002-08-06 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: libredcarpet, not 2.0
+
+2002-08-06 Ian Peters <itp@ximian.com>
+
+ * rc-package-dep.c (rc_package_dep_array_from_slist): just because
+ we don't have to rc_package_dep_free the dep doesn't mean we don't
+ have to g_free it
+
+2002-08-06 Joe Shaw <joe@ximian.com>
+
+ * rc-verification.c: Declare keyring static.
+
+2002-08-06 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: kill the private namespace stuff, build the shared
+ objects into header files, and all the automake crap to handle
+ conditionally built sources
+
+ * packer.pl: handle disallowed characters in the array name
+
+ * rc-debman-private.h: include a helper_object name in the
+ RCDebmanPrivate struct
+
+ * rc-debman.c: include dpkg-helper.h, write out the object file on
+ _init, clean it up on _finalize, use it when we fork
+
+ * rc-packman.h, rc-packman.c: remove the rc_libdir stuff
+
+ * rc-rpmman.c: include rpm-stubs.h, write out the object files on
+ _init, clean them up when we're done dlopening some
+
+ * rc-verification.c: if keyring is NULL, just return UNDEF out of
+ rc_verify_gpg
+
+2002-08-06 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (sax_warning): Always print out SAX warnings.
+ (sax_error): Always print out SAX errors.
+ (sax_handler): Call sax_error() for error and fatalError
+ conditions.
+
+2002-08-05 Joe Shaw <joe@ximian.com>
+
+ * rc-resolver-info.c (rc_resolver_info_merge): Need to ref the
+ package when we're merging infos, as well.
+
+2002-08-05 Ian Peters <itp@ximian.com>
+
+ * rc-queue-item.c (require_item_process): if you never increment
+ the iterator, the loop never exits
+
+2002-08-05 Ian Peters <itp@ximian.com>
+
+ * rc-package-dep.c (rc_package_dep_array_from_slist): don't
+ _dep_copy and _dep_free, just memcpy the dep, since we were just
+ going to free it anyway
+
+2002-08-05 Ian Peters <itp@ximian.com>
+
+ * rc-package-dep.h, rc-package-dep.c: added an RCPackageDepArray
+ type, and rc_package_dep_array_from_slist,
+ rc_package_dep_array_free, rc_package_dep_array_copy methods.
+ Storing deps as arrays rather than lists should save a good chunk
+ of memory. Note that _from_slist takes an RCPackageDepSList **,
+ and uses the RCPackageDep *'s directly, g_slist_frees the list,
+ and sets it to NULL.
+
+ * rc-package.h (struct _RCPackage): no more RCPackageDepSLists
+ here; long live the RCPackageDepArray
+
+ * rc-package.c (rc_package_copy):
+ s/rc_package_dep_slist_copy/rc_package_dep_array_copy
+ (rc_package_free):
+ s/rc_package_dep_slist_free/rc_package_dep_array_free
+
+ * rc-debman.c (struct DebmanQueryInfo): include buffers to
+ assemble temporary RCPackageDepSLists
+ (query_all_read_line_cb): add deps to these temporary lists, not
+ to the package itself.
+ (rc_debman_query_all_real): convert the temporary dep lists to
+ arrays inside the package
+ (rc_debman_query_file): ditto
+
+ * rc-debug-misc.c (rc_package_dump): #if 0'd it out, nothing uses
+ it now and i didn't want to fix it for dep arrays. I'll go on a
+ dead code hunting spree soon.
+
+ * rc-rpmman.c (rc_rpmman_transact): change the way we iterate over
+ the obsoletes, since they're now an array
+ (rc_rpmman_depends_fill): assemble all of the deps in local lists,
+ instead of the package, and then convert them into arrays in the
+ package at the end.
+
+ * rc-queue-item.c (install_item_process): change the way we
+ iterate over deps, they're now arrays
+ (uninstall_item_process): ditto
+
+ * rc-resolver-context.c (rc_resolver_context_package_is_possible):
+ more dependency iteration changes
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_verify):
+ see a pattern here?
+
+ * rc-world-import.c (debian_packages_helper): assemble
+ dependencies in local lists, convert them all to arrays inside the
+ package at the end.
+
+ * rc-world.c (rc_world_add_package): more dependency iteration
+ changes
+
+ * rc-xml.c (struct _RCPackageSAXContext): add all 6 dependency
+ lists
+ (parser_toplevel_start): set all 6 lists to NULL
+ (parser_package_start): add deps to the context lists, not the
+ context package
+ (parser_dep_start): ditto
+ (parser_package_end): iterate over the provides list in the
+ context. convert the context lists to arrays in the context
+ package
+ (struct DepTable): added, for the DOM parser. Has 6
+ RCPackageDepSLists.
+ (extract_dep_info): takes a DepTable, not an RCPackage, and
+ assembles the dep lists in the dep_table.
+ (rc_xml_node_to_package): fill in the deps into a DepTable.
+ convert those lists into arrays inside the package at the end.
+ when looking for our version, walk the provides array.
+ (rc_package_to_xml_node): change the way we iterate all of the
+ deps, since they're arrays now.
+
+2002-08-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): joe was right a few days ago,
+ real_remove_packages doesn't need to be a deep copy or free
+
+2002-08-05 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: get rid of the rc-marshal.[ch] stamp stuff, and add
+ them to libredcarpettmp_a_SOURCES
+
+2002-08-05 Joe Shaw <joe@ximian.com>
+
+ * rc-package.c (rc_package_is_installed): If local_package is set,
+ always return FALSE.
+
+ * rc-package.h: Add a local_package bit
+
+ * rc-packman.c (rc_packman_query_file): Set the local_package bit.
+
+ * rc-resolver-context.c (rc_resolver_context_install_package,
+ rc_resolver_context_upgrade_package): If the local_package bit is
+ set, set the priority to 0.
+
+ * rc-resolver-info.c: Ref and unref RCPackages throughout.
+
+2002-08-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-dump.c (rc_world_undump_from_xml): Extract the
+ priorities from the XML and put them in our channel.
+
+ * rc-xml.c (rc_channel_to_xml_node): Store priorities in the XML.
+
+2002-08-03 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: list distributions-xml.h in
+ libredcarpettmp_a_SOURCES, as well as BUILT_SOURCES
+
+2002-08-03 Ian Peters <itp@ximian.com>
+
+ * distributions.xml: added. XML file describing every
+ distribution we recognize, and whether it's supported or not.
+
+ * packer.pl: added. perl script to generate a C character array
+ from a file.
+
+ * Makefile.am: add distributions-xml.h to BUILT_SOURCES, packer.pl
+ to EXTRA_DIST, build distributions-xml.h out of distributions.xml
+ using packer.pl, and add distributions-xml.h to clean-local.
+
+ * .cvsignore: added distributions-xml.h
+
+ * rc-distro.[ch]: added. Now parses distribution information out
+ of a supplied XML file -- or, if no XML file is supplied, uses a
+ gzipped backup copy as a fallback (the distribution-xml.h stuff
+ from above). distributions.xml in CVS should be kept up to date,
+ and is used for things like the tools, etc, that have no need to
+ download their own copies, but long term, the client and daemon
+ should be downloading copies of these files. Also has a new,
+ simpler public interface.
+
+ * rc-distman.c (rc_distman_new): no rc_figure_distro anymore,
+ simply use rc_distro_get_package_type directly
+
+ * rc-world-import.c (rc_world_add_channels_from_xml): no
+ rc_figure_distro, simply use rc_distro_get_target instead
+
+2002-08-02 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_process_once): Fixed
+ memory leak.
+
+ * rc-world-dump.c (rc_world_undump_from_xml): Fixed memory leak.
+
+2002-08-01 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (close_database): Reset the lock_fd to 0 after
+ closing it, so we don't go around closing other file descriptors
+ all willy nilly.
+
+2002-08-01 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_query_file): only open the database if
+ it's not already open, yo.
+
+2002-08-01 Joe Shaw <joe@ximian.com>
+
+ * rc-world-subscriptions.c
+ (rc_world_import_subscriptions_from_xml): Keep around a list of
+ subscriptions which do not match any valid channel for this
+ session.
+ (rc_world_export_subscriptions_to_xml): Write out the unmatched
+ subscriptions, so we don't lose them anymore.
+
+2002-08-01 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_query_file): open the database read-only
+ before attempting to query the file. This shouldn't be at all
+ necessary, but it fixes the rather bizarre hang some people were
+ getting, due to an unitialized variable in rpmlib.
+
+2002-08-01 Ian Peters <itp@ximian.com>
+
+ * rc-world.h: rc_world_get_best_upgrade now takes a
+ subscribed_only flag to control what channels to look in
+
+ * rc-world.c (struct BestUpgradeInfo): added
+ (get_best_upgrade_cb): user_data is not a BestUpgradeInfo, of
+ which best_upgrade is an element. Check the subscribed_only flag
+ in the info struct to filter upgrades from unsubscribed channels.
+ (rc_world_get_best_upgrade): create a BestUpgradeInfo struct,
+ initialize it with the subscribed_only flag, and pass it to the
+ cb, rather than just the best_upgrade.
+
+ * rc-package.h: rc_package_get_best_upgrade now takes a
+ subscribed_only flag
+
+ * rc-package.c: pass the subscribed_only flag to
+ rc_world_get_best_upgrade
+
+2002-07-31 Ian Peters <itp@ximian.com>
+
+ * rc-arch.c, rc-arch.h: added
+
+ * Makefile.am: rc-arch.[ch] added as part of the build
+
+ * rc-distro.h, rc-distro.c: remove the old arch stuff, use the new
+ arch stuff, remove the NO_GLIB stuff
+
+ * rc-package.h, rc-package.c: RCPackage now has an arch field that
+ must be initialized and copied appropriately
+
+ * rc-rpmman.c (rc_rpmman_read_header): check RPMTAG_ARCH and set
+ it in the package
+
+ * rc-xml.c (RCPackageSAXContext): keep the packages in a hash
+ instead of a list, and keep the arch compat list here
+ (parser_package_end): make sure the parsed package has an arch --
+ if one was missing in the xml, set it (as a hack) to the system
+ arch. make sure the package is compatible with the system before
+ adding it to the hash. if that package is already present in the
+ hash, make sure ours is a better arch before adding it to the
+ hash, and removing the other. parse an arch field out of the
+ package, if present.
+ (package_slist_build): added. builds an slist as a hash cb func.
+ (rc_package_sax_context_done): convert the ctx hash into a list,
+ destroy the hash, return the list. also free the arch compat list
+ here.
+ (rc_package_sax_context_new): create the package hash and the arch
+ compat list here
+ (rc_xml_node_to_package): parse an arch field, if present. fake
+ one if necessary, as above
+ (rc_package_to_xml_node): add the arch field to the xmlNode
+
+ * rc-world-import.c (add_package_to_world): added. hash cb func.
+ (rc_world_add_packages_to_xml): rather than just adding packages
+ one by one to the world, create a hash, just like in the SAX
+ parser, with the same logic to pick the best package/arch pair.
+
+2002-07-31 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c: Don't output the SAX parser spew normally. Only do it
+ if the RC_SPEW_XML env var is set.
+
+2002-07-31 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (parser_package_start): Add a comment about the deps
+ tag being ignored in the SAX parser.
+ (extract_dep_info): Extract parsing of the various dependency
+ fields, like requires, provides, etc. into here.
+ (rc_xml_node_to_package): If we get a deps tag, call
+ extract_dep_info() on our children, and set a flag. If the flag
+ isn't set, extract our deps like we used to.
+
+2002-07-30 Ian Peters <itp@ximian.com>
+
+ * rc-channel.c, rc-debman-general.c, rc-line-buf.c,
+ rc-verification.c: get rid of some RC_[ENTRY/EXIT]
+
+ * rc-xml.c (sanitize_string): s/gint/guint to make this comparison
+ meaningful
+
+ * rc-world-dump.c (rc_world_dump_to_xml): get rid of unused info
+ variable
+
+ * rc-debug.h, rc-debug.c: overhauled a little more. If
+ RC_DEBUG_VERBOSE is defined, all rc_debug calls will also print
+ file, function, and line information
+
+2002-07-30 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c, rc-packman.h, rc-rpmman.c, rc-debman.c:
+ s/_check_database/_is_database_changed, because it was bugging me
+ just that much
+
+ * rc-world.c (struct _RCWorld): remove the did_sync_with_this_lock
+ field
+ (rc_world_sync): changed the logic around quite a bit to only sync
+ at appropriate times; keep the world dirty if
+ rc_world_get_system_packages fails
+ (database_unlocked_cb): removed
+ (rc_world_register_packman): removed reference to
+ database_unlocked_cb
+ (rc_world_get_system_packages): rather than retrying a failed
+ query, return a gboolean to indicate status of the query
+
+ * rc-world.h: change prototype for rc_world_get_system_packages
+
+2002-07-30 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_verify): Initialize signature_filename
+ and payload_filename to NULL.
+
+2002-07-30 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (close_database): s/close/rc_close
+ (open_database): try to get a shared lock on the rpm database
+ prior to opening it, to avoid the rpm database locking bug
+ discovered yesterday
+
+2002-07-30 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-context.c
+ (rc_resolver_context_propagate_importance): #ifdef-ed away.
+ (mark_important_info): Added. A new implementation of importance
+ propagation, with somewhat simpler rules. This should do a better
+ job of picking out which info items actually matter.
+ (rc_resolver_context_foreach_info): Call mark_important_info on
+ our list.
+
+ * rc-resolver-info.c (rc_resolver_info_is_about): Added. A
+ convenience method for testing if an info item is about a
+ particular package.
+
+ * rc-world-dump.c (rc_world_dump_to_xml): Added an argument
+ allowing extra XML to be passed in and prepended to the world
+ dump.
+ (rc_world_dump): Ditto.
+
+2002-07-30 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (depends_fill_helper): plug a small memory leak
+ (thanks, valgrind!)
+
+2002-07-29 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_package_to_xml_node): Strip 8-bit characters out of
+ the package summary and description that we put into the XML.
+ This is a brute-force solution to make sure we don't end up with
+ something that libxml2 will reject due to invalid UTF-8.
+
+2002-07-27 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (rc_xml_node_to_package): Support the epoch, version
+ and release tags outside of the history section. We need to do
+ this to ensure that system packages are properly versioned.
+ (rc_package_to_xml_node): Produce XML that rc_xml_node_to_package
+ can process. This fixes bugs with dump/undump.
+
+2002-07-27 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c (rc_packman_real_check_database): g_assert the
+ right function, d'oh
+
+2002-07-26 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-dump.c (add_channel_packages_cb): Removed
+ debug spew.
+
+ * rc-world.c (rc_world_sync): Added. Basically just rescans the
+ package db for the system packages, but contains some extra logic
+ to avoid checking/scanning the database more than is absolutely
+ necessary.
+ (rc_world_conditional_sync): Conditions an rc_world_sync on a
+ channel. If we are performing a query that is filtered on a
+ channel or channels rather than the system packages, there is no
+ need to sync at that point -- it won't change the results of the
+ actual query.
+ (database_changed_cb): Just call rc_world_sync.
+ (rc_world_register_packman): Listen for the "database_unlocked"
+ signal, use it to reset the "did_sync_with_this_lock" flag that
+ allows us to avoid syncs in some cases.
+ (rc_world_find_installed_version): Added a sync.
+ (rc_world_get_package): Added a conditional sync.
+ (rc_world_get_package_with_constraint): Added a comment explaining
+ why we don't need to sync here.
+ (rc_world_guess_package_channel): Added a comment explaining why
+ we don't need to sync here.
+ (rc_world_foreach_package): Added a conditional sync.
+ (rc_world_foreach_package_by_name): Added a conditional sync.
+ (rc_world_foreach_upgrade): Added a conditional sync.
+ (rc_world_get_best_upgrade): Added a comment explaining why we
+ don't need to sync here.
+ (rc_world_foreach_system_upgrade): Added a comment explaining why
+ we don't need to sync here.
+ (rc_world_foreach_providing_package): Added a conditional sync.
+ (rc_world_check_providing_package): Added a conditional sync.
+ (rc_world_foreach_requiring_package): Added a conditional sync.
+ (rc_world_foreach_conflicting_package): Added a conditional sync.
+ (rc_world_spew): Added a sync.
+
+ * rc-rpmman.c (rc_rpmman_class_init): Actually initialize
+ rc_packman_real_check_database.
+
+ * rc-packman.c: Added DATABASE_LOCKED and DATABASE_UNLOCKED to the
+ signals enum.
+ (rc_packman_class_init): Define the "database_locked" and
+ "database_unlocked" signals.
+ (rc_packman_init): Initialize the lock_count to 0.
+ (rc_packman_is_locked): Added.
+ (rc_packman_lock): Tweaked to allow lock to be called multiple
+ times, with successive calls only incrementing the lock count (and
+ always succeeding). Emit "database_locked" on the first call to
+ rc_packman_lock.
+ (rc_packman_unlock): Allow unlock to be called multiple times, and
+ do nothing if the db isn't actually locked. On the final call
+ to rc_packman_unlock that actually unlocks the db, emit the
+ "database_unlocked" signal.
+
+ * rc-packman-private.h: Added a lock_count field to the
+ RCPackmanPrivate struct.
+
+2002-07-26 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (open_database): turns out rpm database locking is
+ broken; to make sure things work correctly, after opening the
+ database in O_RDWR, we need to use fcntl to lock the database by
+ hand. Fun.
+ (close_database): close the db fd to release the lock
+
+ * rc-rpmman.h: add a lock_fd to the Rpmman struct
+
+2002-07-26 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (verify_status): Make sure we unlock the database in
+ the successful case as well.
+
+2002-07-26 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c, rc-packman.h (rc_packman_check_database): added
+
+ * rc-rpmman.c: expose check_database for manual checking, keep the
+ timeout with signal emmission as well
+
+ * rc-debman.c: ditto
+
+2002-07-26 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_register_packman): Connect to the packman's
+ database_changed signal.
+ (database_changed_cb): Added. Rescans the system packages.
+
+2002-07-26 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c, rc-debman.c (check_database): pass a bool to
+ determine whether to emit the database_changed signal at all.
+ This is always set to FALSE except in the timeout function
+
+2002-07-26 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (open_database): rescan the db mtime before
+ reenabling the db watch timeout
+
+ * rc-debman.c (lock_database): ditto
+
+2002-07-26 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c, rc-packman.h: Add _lock and _unlock methods. Add
+ a database_changed signal.
+
+ * rc-rpmman.c, rc-rpmman.h: Remove the global lock, make each
+ function specifically ask for the minimum lock it requires. Add
+ _lock and _unlock methods. Add a timeout to watch for database
+ changes and emit database_changed when it does.
+
+ * rc-debman.c, rc-debman-private.h: pretty much same as above, but
+ I'm less confident about this code. It's not really my fault,
+ though, because the locking in debian really sucks. So, let's
+ call it alpha quality. *shrug*
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-package.c (rc_package_slist_copy): actually copy. duh.
+
+2002-07-25 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (RCPackageSAXContext): Add an obsoletes list.
+ (parser_package_start): If the tag is named "conflicts", check to
+ see if there is an obsoletes attribute and set the dep list to be
+ the temporary obsoletes list. This handles the
+ <conflicts obsoletes="1">...</conflicts> case.
+ (parse_dep_attrs): Change to return a gboolean on whether or not
+ the dep is actually an obsolete. This handles the
+ <conflicts><dep blah blah obsoletes="1"/></conflits> case.
+ (parser_dep_start): If parse_dep_attrs() returns TRUE, add it to
+ the temporary obsoletes list. Otherwise, tack it onto the current
+ dep list (should only ever be conflicts).
+ (parser_package_end): Concatenate the actual obsolete list (from
+ <obsoletes></obsoletes>) with the one in the temporary list.
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): fix a small memory leak caught
+ by Jon
+
+2002-07-25 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (conflict_process_cb): If this is actually an
+ obsolete, log an obsoletes info item instead of a conflicts-with
+ info item.
+
+ * rc-resolver-info.c (rc_resolver_info_obsoletes_new): Added.
+ (rc_resolver_info_to_str): Added handling of _TYPE_OBSOLETES.
+
+ * rc-resolver-info.h: Added RC_RESOLVER_INFO_TYPE_OBSOLETES to
+ RCResolverInfoType enum.
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-package.h, rc-package.c (rc_package_slist_copy): added
+
+ * rc-rpmman.c (rc_rpmman_transact): massively fixed. Now only
+ runs one transaction, instead of two. Filters out packages from
+ the remove list that are obsoleted by packages in the install
+ list, which gets rid of the entire problem we had that caused us
+ to use two transactions in the first place.
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: whoops, fix _transact in the case where the
+ to-be-installed package is not an upgrade
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-packman.h, rc-packman.c: rc_packman_transact takes a final
+ gboolean, if set to TRUE, the transaction is actually run, if
+ FALSE, equivalent to settting RC_JUST_KIDDING.
+
+ * rc-rpmman.c, rc-debman.c: update to new _transact.
+
+2002-07-25 Jon Trowbridge <trow@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): The epoch is now a
+ bitfield, so we can't take the address of it.
+
+ * rc-xml.c (rc_channel_to_xml_node): Added.
+
+ * rc-channel.h: Removed the prototype for rc_xml_node_to_channel,
+ which doesn't actually exist.
+
+ * rc-package-dep.h: Make the relation a 28-bit bitfield,
+ shaving a few bytes off of our struct.
+
+ * rc-package-spec.h: Make the epoch a 29-bit bitfield, shaving
+ a few bytes off of our struct.
+
+ * rc-dep-or.c (rc_dep_string_to_or_dep_slist): The epoch is now a
+ bitfield, so we can't take the address of it.
+
+ * rc-world-import.c (debian_packages_helper): The epoch is now
+ a bitfield, so we can't take the address of it.
+
+ * rc-world.c: (rc_world_dump): Moved to rc-world-dump.c, renamed
+ rc_world_dump_to_xml.
+
+ * rc-world-dump.c (rc_world_dump_to_xml): Added. Basically a
+ slightly revised version of the rc_world_dump function that used
+ to be in rc-world.c.
+ (rc_world_dump): Added. A convenience routine that writes the xml
+ to a buffer.
+ (rc_world_undump_from_xml): Added. Reassembles the dump
+ information into the world.
+ (rc_world_undump): Added. A convenience routine that reads the
+ xml from a buffer.
+
+ * libredcarpet.h: Added #include "rc-world-dump.h"
+
+2002-07-25 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c, rc-packman.h: rc_packman_query now returns an
+ RCPackageSList
+
+ * rc-rpmman.c: rc_rpmman_query, rc_rpmman_query_v3, and
+ rc_rpmman_query_v4 now all return an RCPackageSList. Streamlined
+ rc_rpmman_read_header to now take an RCPackage, got rid of
+ rc_rpmman_check_match, and fixed rc_rpmman_transact to use _query
+ properly.
+
+ * rc-debman.c: rc_debman_query now returns an RCPackageSList.
+ rc_debman_find_file updated to use _query properly.
+
+2002-07-24 Peter Bowen <pzb@ximian.com>
+
+ * rc-xml.c (rc_package_to_xml_node): Put the dependencies in a
+ deps tag. This allows the addition of additional dependency types
+ without changes to the parser used in the server code.
+
+2002-07-23 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (rc_world_add_channels_from_xml): Look for a
+ channel alias in the XML and use it, if possible.
+ (rc_world_add_channel_from_buffer): Added a new argument to
+ specify the channel's alias. Also, now returns a boolean
+ indicating if adding the packages was successful or not.
+
+ * rc-world.c (rc_world_add_channel): Added a new argument to
+ specify the channel's alias.
+ (rc_world_get_channel_by_alias): Added.
+
+ * rc-channel.c (rc_channel_get_alias): Added. An accessor for the
+ alias field.
+
+ * rc-channel-private.h: Added "alias" field to the RCChannel
+ struct.
+
+ * rc-queue-item.c (install_item_process): Generate a "needed by"
+ info item whenever we can. For some weird reason we were
+ explicitly not creating the proper info items in the case of
+ upgrades.
+
+2002-07-22 Joe Shaw <joe@ximian.com>
+
+ * rc-debug.c (rc_debug): Changed the signature of the RCDebugFn
+ callback to pass in the level of the current message.
+
+2002-07-21 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-context.c (rc_resolver_context_uninstall_package):
+ Fix a totally harmless logical glitch.
+
+ * rc-queue-item.c (require_item_process): Gracefully handle the case
+ of ->requiring_package being NULL. This happens when a requirement
+ is added as an extra dependency.
+
+
+2002-07-15 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-context.c (rc_resolver_context_foreach_info): Filter
+ by package and priority before we merge info items, not
+ afterwards. Since merging is a relatively expensive operation,
+ operating on a much shorter list can result in a substantial
+ improvement in performance when dealing with complex resolutions
+ (i.e. removing glibc).
+
+2002-07-12 Frank Belew <frb@ximian.com>
+
+ * Makefile.am: add libredcarpet_a_SOURCES to fix make dist
+
+2002-07-12 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.c (rc_packman_query_file): Make sure we're returned a
+ valid package (and not NULL) before we try to set things in it.
+
+2002-07-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Fix a cast
+ that was causing a compiler warning.
+
+2002-07-11 Joe Shaw <joe@ximian.com>
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): When we are
+ building the initial queue, add the extra dependencies to the
+ queue.
+
+2002-07-11 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_extra_dependency): A
+ corresponding "extra dependency" function, which just creates
+ a RCQueueItem_Require item for the given RCPackageDep and adds
+ it to the item queue.
+
+ * rc-resolver.c (rc_resolver_add_extra_dependency): Add an "extra
+ dependency", which is just a RCPackageDep which we want to have
+ satisfied.
+ (rc_resolver_free): Clean up our list of extra dependencies.
+
+ * rc-xml.c (rc_package_to_xml_node): Add the file_size and
+ installed_size to the XML.
+
+ * rc-packman.c (rc_packman_query_file): Stat the file and set
+ the file_size of the RCPackage, but only if the implementation
+ of query_file didn't do so already.
+
+2002-07-10 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (rc_package_to_xml_node): Add back in writing out the
+ epoch, version, and release to the XML file.
+
+2002-07-10 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_compress_memory): Added. Returns a zlib
+ compressed byte array, like rc_uncompress_memory().
+
+2002-07-09 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (add_channel_xml_cb): Include the channel name and ID
+ when listing the channel packages.
+
+2002-07-09 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_dump): First pass at a function which will
+ XMLify the RCWorld. Currently dumps subscriptions, system
+ packages, and packages in each channel, so output is huuuuuuuuge.
+
+ * rc-world-import.c: Fix a couple of g_error()s which should be
+ g_warning()s.
+
+2002-07-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c: Added "own_dep" flag to the RCPackageAndDep struct.
+ (rc_package_and_dep_new_package): Set own_dep to TRUE, since we
+ create the RCPackageDep ourselves.
+ (rc_package_and_dep_new_pair): Just use the passed-in RCPackageDep
+ pointer and set own_dep to FALSE. We used to copy the object, but
+ that ended up consuming a lot of memory unnecessarily.
+ (rc_package_and_dep_free): Only free the RCPackageDep if own_dep
+ is TRUE.
+
+ * rc-distro.c (rc_figure_distro): Fixed a small memory leak.
+
+ * rc-world-import.c (rc_world_add_channels_from_xml): Fixed a
+ small memory leak.
+
+2002-07-02 Joe Shaw <joe@ximian.com>
+
+ * rc-line-buf.c (rc_line_buf_class_init): Set the parameter type
+ to INT from ENUM, since the latter wasn't working.
+
+ * rc-rpmman.c (split_rpm): Don't free uninitialized memory. Doh.
+
+2002-07-01 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_guess_package_channel): Added. Guesses
+ which channel a package came from.
+
+2002-06-14 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.h: Add a RC_PACKMAN_STEP_PREPARE
+
+ * rc-rpmman.c (transact_cb): Set the step to be
+ RC_PACKMAN_STEP_PREPARE instead of RC_PACKMAN_STEP_CONFIGURE,
+ since that's more accurate as to what it's actually doing.
+
+2002-06-14 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (split_rpm): Use g_file_open_tmp () instead of
+ mkstemp () things like TMPDIR are obeyed.
+ (rc_rpmman_verify): Don't need to bother passing in templates to
+ split_rpm ().
+
+2002-06-13 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_rmdir): Argument should be const.
+
+2002-06-12 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (GTKFLUSH): Reenable this macro so we can get decent
+ responsiveness from the RPM transaction callbacks.
+
+2002-06-12 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (parser_update_end): Get the description tag. Must
+ have missed it before.
+
+2002-06-12 Joe Shaw <joe@ximian.com>
+
+ * rc-xml.c (parser_update_end): Assign the installed size to the
+ correct struct element.
+
+2002-06-11 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package.c (rc_package_get_latest_update): Just return NULL if
+ package->history is NULL, rather than complaining via
+ g_return_val_if_fail.
+
+2002-06-07 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_foreach_channel): Protect against removing
+ a channel from inside a foreach function.
+
+2002-06-06 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (mark_status_read_line_cb): remove an unused
+ variable
+
+ * rc-rpmman.c (transact_cb): handle two more enum cases to kill a
+ warning
+
+2002-06-06 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: no more RC_RPM4, now check #if RPM_VERSION >= 40000
+
+2002-06-05 Ian Peters <itp@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_version_to_str): man solaris
+ sucks
+
+2002-06-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (parse_version): added, guts of parse_versions
+ (parse_versions): just calls parse_version now
+
+2002-06-05 Ian Peters <itp@ximian.com>
+
+ * rc-verification.h: add RC_VERIFICATION_TYPE_ALL, add bit values
+ to RC_VERIFICATION_TYPE_*
+
+ * rc-packman.h, rc-packman.c: rc_packman_real_verify
+ takes a type argument
+
+ * rc-rpmman.c (rc_rpmman_verify): only run the requested
+ verifications as per the type parameter
+
+ * rc-debman.c (rc_debman_verify): only run the requested
+ verifications as per the type parameter
+
+2002-06-05 Ian Peters <itp@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_version_to_str): fix a stupid
+ solaris crash, because solaris sucks
+
+2002-06-04 Ian Peters <itp@ximian.com>
+
+ * rc-world-import.c (debian_packages_helper): this package update,
+ like all of them in debian, has an epoch
+ * rc-xml.c (parse_dep_attrs): set has_epoch when we find an epoch
+ (rc_xml_node_to_package): has_epoch isn't always 1, it depends on
+ the update spec
+ (rc_xml_node_to_package_dep_internal): don't blindly check for an
+ epoch with a default value, check if there is one instead, and set
+ has_epoch appropriately
+
+2002-06-04 Ian Peters <itp@ximian.com>
+
+ * rc-package-spec.h (struct _RCPackageSpec): add a has_epoch
+ bitfield
+ (rc_package_spec_init): take a has_epoch parameter
+ (rc_package_spec_equal): take the has_epoch flag into account
+
+ * rc-package-spec.c (rc_package_spec_init): has_epoch parameter
+ (rc_package_spec_copy): has_epoch parameter
+ (rc_package_spec_to_str, rc_package_spec_to_str_static,
+ rc_package_spec_version_to_str,
+ rc_package_spec_version_to_str_static): rewritten to not suck
+ (rc_package_spec_equal): take the has_epoch flag into account
+
+ * rc-package-dep.h (rc_package_dep_new): take a has_epoch flag
+
+ * rc-package-dep.c (rc_package_dep_new): has_epoch flag, pass it
+ to rc_package_spec_init
+ (rc_package_dep_new_from_spec): pass the has_epoch from the spec
+ to rc_package_dep_new
+ (rc_package_dep_verify_relation): reformat flow, make
+ modifications as appropriate for the has_epoch flag according to
+ comments in the code from pzb
+
+ * rc-debman-general.c (rc_debman_fill_depends): rc_package_dep_new
+ takes has_epoch now
+
+ * rc-dep-or.c (rc_dep_or_new_provide): rc_package_dep_new never
+ has an epoch here
+
+ * rc-world-import.c (rc_world_parse_debian): all debian packages
+ have epochs
+
+ * rc-debman.c (query_all_read_line_cb): all debian packages have
+ epochs
+
+ * rc-rpmman.c (rc_rpmman_read_header): take a has_epoch parameter,
+ and use it wisely
+ (parse_versions): take a has_epochs parameter, use it right
+ (depends_fill_helper): parse_versions needs has_epochs, pass that
+ into rc_package_dep_new
+ (rc_rpmman_depends_fill): when we provide ourselves, note whether
+ we have an epoch or not. when we provide or require files, they
+ never have epochs
+ (rc_rpmman_check_match): take has_epoch into account
+ (rc_rpmman_query_file, rc_rpmman_query_all_v4,
+ rc_rpmman_query_all_v3, rc_rpmman_find_file_v4,
+ rc_rpmman_find_file_v3): take has_epoch into account
+ (rc_rpmman_version_compare): take has_epoch into account as per
+ pzb's comments in the code
+
+ * rc-xml.c: only write out epochs if has_epoch is set, set
+ has_epoch when we find an epoch in the xml -- if there's no epoch
+ in the xml, has_epoch remains 0
+
+2002-06-04 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c, rc-debman.h: compiles again against glib 2.0
+
+2002-06-03 Joe Shaw <joe@ximian.com>
+
+ * rc-package.c (rc_package_slist_ref): Added.
+ (rc_package_slist_unref): Don't free the list after unreffing it.
+
+ * rc-rpmman.c (rc_rpmman_query_all_v3):
+ * rc-world-import.c (rc_world_parse_helix): Free the list after
+ unreffing it here.
+
+2002-06-03 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): Fix the relation tag on
+ the RCPackageDep we build to find conflicting packages. This
+ fixes a bug with versioned conflicts.
+
+ * rc-debug.c (rc_debug): Make the format string arg const.
+
+2002-05-30 Joe Shaw <joe@ximian.com>
+
+ * rc-world.c (rc_world_get_packman): Get the packman associated
+ with the RCWorld.
+ (rc_world_get_system_packages): rc_packman_get_reason() returns a
+ const gchar *, so declare reason const and don't free it afterward.
+
+2002-05-29 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-subscriptions.c: Added. Functions for
+ importing/exporting the RCWorld's subscription data to/from XML.
+
+ * rc-world-import.c (rc_world_add_packages_from_buffer): Added. We
+ want to make maximum use of our cool SAX parser.
+
+ * rc-channel.c (rc_channel_get_last_update): Added.
+
+2002-05-28 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world-import.c (rc_world_add_channels_from_xml): Added.
+ Processes the red-carpet channel XML file, filtering out channels
+ that don't match our distro.
+
+ * rc-util.c (rc_uncompress_xml): Added. Uncompresses & xml-parses
+ a block of memory.
+
+ * rc-debug.c (rc_debug_set_display_handler): Added the ability to
+ set a displayed message handler.
+ (rc_debug): If a displayed message handler is set, use it.
+
+ * rc-channel.c: Removed rc_chanel_parse_xml, Worldifiying it and
+ moving it to rc-world-import.c.
+
+ * rc-world.c (rc_world_add_channel): Added debug spew.
+
+2002-05-23 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver.c: (rc_resolver_add_subscribed_channel) Removed.
+ (rc_resolver_resolve_dependencies): Don't worry about propogating
+ any lists of subscribed channels.
+
+ * rc-resolver-context.c
+ (rc_resolver_context_get_channel_priority): Get the subscription
+ status directly from the channel.
+
+ * rc-channel.c (rc_channel_subscribed): Added.
+ (rc_channel_set_subscription): Added.
+
+ * rc-channel-private.h: Added subscribed flag (and made two other
+ gbooleans into single-bit entries.)
+
+ * rc-world.c (rc_world_register_packman): The beginnings of
+ our RCWorld/RCPackman integration...
+ (rc_world_get_system_packages): Use the packman to find all of
+ the packages installed on the system and store them in the world.
+
+2002-05-23 Joe Shaw <joe@ximian.com>
+
+ * rc-util.c (rc_buffer_map_file): Added, mmap()s a file into an
+ easy-to-use structure!
+ (rc_buffer_unmap_file): Unmaps an RCBuffer.
+
+2002-05-23 Jon Trowbridge <trow@ximian.com>
+
+ * rc-packman.h: Don't include rc-packman-private.h; actually make
+ it private instead.
+
+ * Makefile.am: Fixed to install libredcarpet and its headers like
+ any other library.
+
+ * rc-package.c (rc_package_get_best_upgrade): Added.
+
+2002-05-10 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): When installing,
+ uninstall any packages that explicitly conflicts with us.
+
+ * rc-world.c (rc_world_new): Initialize ->conflict_by_name.
+ (rc_world_freeze): Freeze ->conflict_by_name.
+ (rc_world_thaw): Thaw ->conflict_by_name.
+ (rc_world_add_package): Populate ->conflict_by_name.
+ (rc_world_foreach_conflicting_package): Added. Iterate over
+ conflicts.
+
+ * rc-xml.c (rc_package_to_xml_node): Properly write out obsoletes.
+
+2002-05-09 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package.c (rc_package_unref): Unref our channel.
+
+ * rc-xml.c (parser_toplevel_start): Ref our channel.
+ (rc_xml_node_to_package): Ref our channel.
+
+ * rc-world-import.c (rc_world_add_channel_from_buffer): Renamed
+ from rc_world_parse_channel, and better integrated with the new
+ "the world constructs and contains all channels".
+ (rc_world_parse_debian): Ref our channel.
+
+ * rc-world.c (rc_world_free): Set the channel's world pointer to
+ NULL before we unref it.
+ (rc_world_add_channel): Store the world pointer inside the
+ channel.
+ (rc_world_remove_channel): Set the channel's world pointer to
+ NULL before we unref it.
+
+ * rc-channel.c (rc_channel_ref): Added.
+ (rc_channel_unref): Added.
+ (rc_channel_foreach_package): Added. Use the channel's
+ RCWorld (which we now carry around inside of the struct)
+ to iterate over the channel's packages.
+ (rc_channel_package_count): Added.
+
+ * rc-channel-private.h: Store the associated
+ RCWorld * in the channel's struct.
+
+ * rc-channel-private.c (rc_channel_new): Set refs to 1 initially.
+ (rc_channel_free): Removed.
+
+2002-05-08 Joe Shaw <joe@ximian.com>
+
+ * rc-package-dep.c, rc-package-dep.h (rc_package_dep_new): The
+ string arguments should really be const.
+
+ * rc-package-spec.c, rc-package-spec.h (rc_package_spec_init): Ditto.
+
+2002-05-07 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c: Include rc-channel-private.h.
+
+ * rc-world-import.c: Include rc-channel-private.h.
+
+ * rc-world.c: Moved the RCWorld struct definition into the .c file
+ to make it opaque.
+ (rc_world_free): Free our channels.
+ (rc_world_add_channel): Added. Creates a new channel and stores
+ it in the RCWorld.
+ (rc_world_remove_channel): Added.
+ (rc_world_foreach_channel): Added.
+ (rc_world_get_channel_by_name): Added.
+ (rc_world_get_channel_by_id): Added.
+ (rc_world_foreach_system_upgrade): Used to be called
+ rc_world_foreach_system_package_with_upgrade, but that was just
+ too long.
+
+ * rc-package.c (rc_package_to_str): Use rc_channel_get_name
+ accessor function.
+
+ * rc-channel.c: Moved rc_channel_new and rc_channel_free to
+ rc-channel-private.c.
+ (rc_channel_get_id): Added.
+ (rc_channel_get_name): Added.
+ (rc_channel_get_description): Added.
+ (rc_channel_get_type): Added.
+ (rc_channel_slist_free): Removed.
+
+ * rc-channel-private.c (rc_channel_new): Moved from rc-channel.c.
+ (rc_channel_free): Moved from rc-channel.c.
+
+ * rc-channel-private.h: Moved the RCChannel struct into a private
+ header to make it opaque.
+
+2002-05-06 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c: (hashed_slist_*): Added a set of functions for
+ dealing with hashtables of slists. This gets rid of our
+ extensive use of g_slist_append... now all list additions
+ are done via prepends.
+ (remove_packages_generic): Removed.
+ (remove_package_structs_generic): Removed.
+ (rc_world_new): Use hashed slists.
+ (rc_world_free): Use hashed slists.
+ (rc_world_add_package): Use hashed slists.
+ (remove_package_cb): Use hashed slists.
+ (remove_package_struct_cb): Use hashed slists.
+ (rc_world_remove_package): Use hashed slists.
+ (remove_package_by_channel_cb): Use hashed slists.
+ (remove_package_struct_by_channel_cb): Use hashed slists.
+ (rc_world_remove_packages): Use hashed slists.
+ (rc_world_find_installed_version): Use hashed slists.
+ (rc_world_get_package): Use hashed slists.
+ (rc_world_foreach_package): Use hashed slists.
+ (rc_world_foreach_package_by_name): Use hashed slists.
+ (rc_world_foreach_providing_package): Use hashed slists.
+ (rc_world_check_providing_package): Use hashed slists.
+ (rc_world_foreach_requiring_package): Use hashed slists.
+
+ * rc-resolver-info.c (rc_resolver_info_misc_add_action): Added.
+ (rc_resolver_info_misc_add_trigger): Added. These two functions
+ are related to improved error reporting in the dependency code.
+
+ * libredcarpet.h: include rc-xml.h.
+
+2002-05-02 Jon Trowbridge <trow@ximian.com>
+
+ * rc-xml.c (sax_end_document): Set ctx->text_buffer to NULL so
+ that we won't double-free it.
+
+ * rc-xml.c (sax_end_document): Just to be sure, free
+ ->text_buffer.
+ (parser_package_end): Set our package variables using a
+ g_strstripped version of ->text_buffer.
+ (parser_update_end): Set of update variables using a g_strstripped
+ version of ->text_buffer.
+ (sax_end_element): Clear ->text_buffer when we hit channel or
+ subchannel elements.
+ (sax_characters): If we get multiple sax_characters calls in a
+ row, concatenate the characters into text_buffer instead of
+ leaking/dropping the previous characters.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Don't leak the
+ split resolver queue.
+
+ * rc-xml.c (parser_package_end): strdup the version and release
+ when copying the update spec info to the package spec, thus
+ avoiding a segfault when the package is unrefed.
+ (parser_update_end): Use the rc_package_add_update instead of
+ directly accessing the package's ->history.
+ (rc_package_sax_context_done): s/rc_package_free/rc_package_unref/
+ (rc_xml_node_to_package): Use rc_package_add_update.
+ (rc_xml_node_to_package): strdup the version and release when
+ copying the update spec info to the package spec.
+
+ * rc-world.c (rc_package_and_dep_new_package): Added as a
+ convenience function.
+ (rc_package_and_dep_new_pair): Added as a convenience function.
+ (rc_package_and_dep_free): Added as a convenience function.
+ (rc_world_free): Actually try to free all of our resources when we
+ free the world. Previously we've just leaked with gusto.
+ (rc_world_add_package): Use our rc_package_and_dep_* convenience
+ functions.
+ (remove_package_structs_generic): Use our rc_package_and_dep_*
+ convenience functions. Since we no longer have RCPackageAndSpec
+ structs, this code now is slightly less generic, and thus easier
+ to understand.
+
+ * rc-world-import.c (rc_world_add_packages_from_xml): Unref
+ package after adding it to the world.
+ (rc_world_parse_helix): Unref package after adding it to the
+ world.
+ (rc_world_parse_debian): Unref package after adding it to the
+ world.
+ (debian_packages_helper): Call rc_package_add_update instead
+ of directly manipulating the package's ->history.
+
+ * rc-package.c (rc_package_new): Add leak-checking code.
+ (rc_package_unref): Add leak-checking code.
+ (rc_package_spew_leaks): Added. If leak-checking is enabled,
+ dump a list of all leaked packages.
+ (rc_package_add_update): Added.
+
+ * rc-package-update.c (rc_package_update_free): Don't cast the
+ update to a spec, just pass a pointer to that element of the
+ structure.
+
+2002-05-01 Joe Shaw <joe@ximian.com>
+
+ * Makefile.am: Add rc-xml.[ch].
+
+ * rc-package-dep.[ch], rc-package-update.[ch], rc-package.[ch]:
+ Move the DOM XML routines out of these files.
+
+ * rc-xml.c: New file, contains the DOM routines above and a new
+ SAX parser for packageinfo files.
+
+ * rc-util.c (rc_string_to_guint32_with_default): Added.
+
+ * rc-world-import.c (rc_world_parse_helix): Conditionalize whether
+ the SAX or DOM parser is used depending on the RC_OLD_XML
+ environment variable.
+
+2002-05-01 Jon Trowbridge <trow@ximian.com>
+
+ * rc-packman.c (rc_packman_query_file_list): Use rc_package_unref.
+
+ * rc-rpmman.c (rc_rpmman_query_all_v3): Use
+ rc_package_slist_unref.
+ (rc_rpmman_transact): Use rc_package_unref instead of _free.
+
+ * rc-world-import.c (rc_world_parse_debian): Use rc_package_new
+ to create an RCPackage, not g_new0.
+
+ * rc-world.c (rc_world_add_package): Ref our packages when added.
+ (remove_packages_generic): Unref our packages when removed.
+
+ * rc-package.c (rc_package_new): Set initial refcount to 1.
+ (rc_package_ref): Added.
+ (rc_package_unref): Added.
+ (rc_package_free): Removed.
+ (rc_package_slist_unref): Created from rc_package_slist_free.
+
+2002-04-30 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (rc_figure_distro): The semantics of the
+ g_strsplit() function changed in glib2. Update.
+
+ * *.[ch]: Update libxml header includes, check the xmlNode's types
+ to ensure that we only get XML_NODE_ELEMENTs and not
+ XML_NODE_TEXTs which break the fragile DOM parsing.
+
+2002-04-30 Jon Trowbridge <trow@ximian.com>
+
+ * Ported to glib2.
+
+2002-04-24 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (require_item_process): Attach the requiring
+ package to the "There are no installable providers..." log entry.
+ (require_item_process): Attach both packages foo and bar to the
+ "Upgrade to foo to avoid removing bar..." log entry.
+ (conflict_process_cb): Attach packages to the "A conflict over foo
+ (bar) requires..." log entry, and flag it as an error. Attach
+ packages to the "Marking foo as uninstallable due to conflicts..."
+ log entry.
+
+ * rc-resolver-context.c (rc_resolver_context_install_package):
+ "Can't install foo since it is already marked as needing to be
+ uninstalled" and "Can't install foo, since a package of the same
+ name..." are error conditions, so add them to the log via
+ _add_error_str.
+ (rc_resolver_context_uninstall_package): "Can't uninstall the
+ to-be-installed..." is an error condition, log it via
+ _add_error_str.
+ (rc_resolver_context_invalidate): Removed.
+ (rc_resolver_context_add_info): Set the propagated_importance flag
+ to FALSE. If the info item that we are adding is flag as an
+ error, invalidate the context. This replaces the need for
+ explicit calls to rc_resolver_context_invalidate.
+ (rc_resolver_context_add_error_str): Added. A convenience routine
+ for logging errors.
+ (rc_resolver_context_propagate_importance): Repeatedly walk across
+ the log items, flagging as important any items that are mentioned
+ in an "important" or "error" info item. We repeat this process
+ until no new items are flagged. The point of this is, in the case
+ of an error, to try to distinguish a subset of the entire log and
+ allow us to highlight the "important" log entries.
+ (rc_resolver_context_foreach_info): Call _propagate_importance
+ before iterating.
+ (spew_cb): Preceed "important" items with "[!!!!!]" and "error"
+ items with "[ERROR]" when spewing.
+
+ * rc-resolver-info.c (rc_resolver_info_add_related_package):
+ Added. Pushes a package onto the package_list.
+ (rc_resolver_info_is_error): Added. Accessor for is_error flag.
+ (rc_resolver_info_flag_as_error): Added. Sets is_error to TRUE.
+ (rc_resolver_info_is_important): Added. Returns is_error ||
+ is_important. After all, errors are inherently important. :)
+ (rc_resolver_info_flag_as_important): Added. Sets is_important to
+ TRUE.
+ (rc_resolver_info_copy): Copy is_error and is_important flags.
+
+ * rc-resolver-info.h: Add is_error and is_important
+ flags to the RCResolverInfo struct.
+
+2002-04-18 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (rc_queue_item_branch_is_empty): Added.
+ (require_item_process): If none of the potential upgrades are
+ actually installable, we have no choice but to just go ahead and
+ remove the package in question.
+
+2002-04-16 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package.c (rc_package_to_xml_node): Restored.
+
+ * rc-package-update.c (rc_package_update_to_xml_node): Restored.
+
+ * rc-package-dep.c (rc_package_dep_or_slist_to_xml_node): Restored.
+ (rc_package_dep_to_xml_node): Restored.
+
+2002-04-16 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package.c (rc_xml_node_to_package): Treat a conflicts section
+ in the XML as obsoletes if the 'obsoletes' property is set.
+
+2002-04-12 Peter Bowen <pzb@ximian.com>
+
+ * rc-distro.c: YDL2.2, MDK8.2, SuSE 8.0, RHL7.3, and Debian 3.0 support
+
+ * rc-rpmman.c (vercmp): use STRICT_RPM_VERCMP define to decide sort
+ order for alpha and numeric chars and whether
+ we string "mdk" from the end of strings
+
+2002-04-11 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): Check to make sure that
+ a package with the same version number isn't already installed.
+ If it is, do nothing. (Previously this case got treated like an
+ upgrade, and we would try to add and remove the same package,
+ which is not cool.)
+
+2002-04-09 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package.c (rc_xml_node_to_package): Check if the "obsoletes"
+ property is set in a RCPackageDep in the conflict section. If so,
+ treat it like an obsolete.
+
+ * rc-world.c: Moved rc_world_add_packages_from_xml and
+ rc_world_add_packages_from_slist to rc-world-import.c. Added some
+ gtk-doc docs.
+
+ * rc-world-import.c (rc_world_add_packages_from_xml): Moved here
+ from rc-world.c.
+ (rc_world_add_packages_from_slist): Moved here from rc-world.c.
+
+2002-03-29 Peter Bowen <pzb@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_version_compare): always use epochs in
+ version comparisions
+
+2002-03-27 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (install_item_process): Add support for
+ _DUE_TO_OBSOLETE. If the conflict item is generated from an
+ obsolete, flag it as such.
+ (require_process_cb): Add support for _DUE_TO_OBSOLETE.
+ (conflict_process_cb): If the conflict comes from an obsolete,
+ flag the uninstall items as such. Add support for
+ _DUE_TO_OBSOLETE.
+ (conflict_item_process): If the conflict item comes from an
+ obsolete, set a flag in the ConflictProcessInfo struct.
+ (uninstall_item_process): Pass a flag to
+ rc_resolver_context_uninstall_package which indicates whether or
+ not the uninstall is due to an obsolete.
+
+ * rc-resolver-context.c (rc_package_status_to_string): Add support
+ for _DUE_TO_OBSOLETE.
+ (rc_resolver_context_set_status): Add support for
+ _DUE_TO_OBSOLETE.
+ (rc_resolver_context_install_package): Add support for
+ _DUE_TO_OBSOLETE.
+ (rc_resolver_context_upgrade_package): Add support for
+ _DUE_TO_OBSOLETE.
+ (rc_resolver_context_uninstall_package): Added an argument to
+ indicate whether or not this uninstall is due to an obsolete.
+ Change the status accordingly.
+ (rc_resolver_context_package_is_absent): Add support for
+ _DUE_TO_OBSOLETE.
+ (uninstall_pkg_cb): Add support for _DUE_TO_OBSOLETE.
+ (requirement_possible_cb): Add support for _DUE_TO_OBSOLETE.
+
+ * rc-resolver-context.h: Added new element to RCPackageSpec enum:
+ RC_PACKAGE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE.
+
+ * rc-package.h: Added a list of obsoletes to the RCPackage struct.
+
+ * rc-package.c (rc_package_copy): Copy the list of obsoletes.
+ (rc_package_free): Free the list of obsoletes.
+ (rc_xml_node_to_package): Read obsoletes in from XML.
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): Store obsoletes in a
+ separate list, instead of just treating them as conflicts.
+
+ * rc-queue-item.c (install_item_process): Generate conflict items
+ from a package's obsoletes.
+
+2002-03-26 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_add_packages_from_xml): Added.
+ (rc_world_get_package): Fixed input variable checks.
+ (rc_world_get_package_with_constraint): Added. Replaces the
+ similarly-named function from rc-package-info.c.
+
+ * rc-verification.c: #include <stdlib.h> to get rid of
+ compiler warnings.
+ (rc_verify_gpg): Removed unused local variable.
+
+ * rc-resolver.c: Each RCResolver now carries around an RCWorld,
+ which is to be used for all package queries related to that
+ resolution.
+ (rc_resolver_set_world): Added.
+ (rc_resolver_get_world): Added. Use the global RCWorld as a
+ fallback.
+ (rc_resolver_verify_system): Use our local RCWorld.
+ (rc_resolver_resolve_dependencies): Initialize our root context
+ with our local world.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ Initialize the install item using the RCResolverContext's RCWorld.
+ (rc_resolver_queue_add_package_to_remove): Ditto with the
+ uninstall item.
+ (rc_resolver_queue_add_package_to_verify): Ditto with the require
+ and conflict items.
+
+ * rc-resolver-context.c: Each RCResolverContext now carries around
+ an RCWorld, which it uses for all package queries.
+
+ * rc-queue-item.c: Each RCQueueItem now carries around an RCWorld,
+ which it uses for all package queries. This change leads to a
+ bunch of small changes throughout the API and in the code.
+
+ * rc-package.c (rc_xml_node_to_package): If a package doesn't have
+ any history, we try to guess the version number information by
+ looking for a provide with the same name as the package.
+
+ * rc-package-spec.c (rc_package_spec_get_type): Added an
+ RCWorld argument.
+
+ * rc-package-info.c (rc_channel_parse): Took all of this code
+ and...
+
+ * rc-world-import.c (rc_world_parse_channel): ...moved it
+ here, along with some renaming.
+
+ * rc-dep-or.c: Removed rc_dep_or_process_system_and_channels and
+ associated helper functions.
+
+ * rc-channel.c: Removed inclusion of "rc-package-info.h".
+ Removed rc_xml_node_process and rc_xml_node_to_channel.
+
+2002-03-22 Peter Bowen <pzb@ximian.com>
+
+ * rc-rpmman.c (vercmp): add comments, remove #if 0 code,
+ small amount of refactoring
+ (rc_rpmman_version_compare): bring code inline with rpmlib
+
+2002-03-20 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: minor fix to how we parse EVRs
+
+2002-03-20 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_foreach_requiring_package): The order of
+ the arguments to rc_package_dep_verify_relation matters, or
+ so I'm told...
+
+ * rc-world.c (rc_world_get_best_upgrade): Added. Returns the best
+ upgrade for a package, or NULL if none is available. Right now
+ this function just returns the package of the same name with the
+ highest version number, but it would be nice to do something a bit
+ more nuanced later.
+ (rc_world_foreach_system_package_with_upgrade): Added. Iterates
+ across the installed system packages, invoking the callback for
+ each one that has an upgrade.
+
+2002-03-19 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_get_package): Added. Looks up a
+ package by channel and name.
+
+2002-03-18 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-info.c (rc_resolver_info_merge): Fix logic bug
+ that was causing non-duplicate _TYPE_MISC info messages to be
+ incorrectly "merged".
+
+2002-03-18 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: minor build fixes for static linking, ie solaris
+
+2002-03-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.h: added rpmExpandNumeric
+
+ * rc-rpmman.c: if we're using a new enough version of RPM, and
+ there are stale concurrent db files in /var/lib/rpm, and we're not
+ supposed to be using concurrent access shit, clean up after the
+ library.
+
+2002-03-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): reverse the order we run
+ removes and installs in, to work around some previously unknown
+ behaviour with rpm obsoletes. Also, make one error fatal instead
+ of abort, so that the client will exit correctly.
+
+2002-03-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (foreach_package_cb): Doh! We weren't using the
+ iter variable.
+
+2002-03-12 Joe Shaw <joe@ximian.com>
+
+ * rc-packman-private.h: Move RC_PACKMAN_CAP_* out of here, move
+ rc_packman_set_capabilities() into here.
+
+ * rc-packman.h: Move RC_PACKMAN_CAP_* into here, move
+ rc_packman_set_capabilities() out of here.
+
+2002-03-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-info.c (rc_channel_parse_debian): Store packages
+ in RCWorld only, not in the channel.
+ (pkginfo_find_package_with_constraint): Find the package in
+ the RCWorld, not in the channel.
+
+ * rc-dep-or.c (package_process_helper_fn): Changed to work with
+ rc_world_foreach_package_by_name instead of g_hash_table_foreach.
+ (rc_dep_or_process_system_and_channels): Use
+ rc_world_foreach_package.
+
+ * rc-channel.c (rc_channel_new): Removed initialization of
+ ->packages, ->dep_table, ->dep_name_table.
+ (rc_channel_free): Removed clean-up of ->packages, ->dep_table,
+ ->dep_name_table.
+ (rc_xml_node_process): Only store the loaded package in RCWorld,
+ not in the channel.
+
+ * rc-world.c (foreach_package_cb): Doh! We weren't using the
+ iter variable.
+
+2002-03-12 Joe Shaw <joe@ximian.com>
+
+ * rc-packman-private.h: Move RC_PACKMAN_CAP_* out of here, move
+ rc_packman_set_capabilities() into here.
+
+ * rc-packman.h: Move RC_PACKMAN_CAP_* into here, move
+ rc_packman_set_capabilities() out of here.
+
+2002-03-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (channel_match): Added. A small function to do our
+ channel compares for us, properly handling
+ RC_WORLD_SYSTEM_PACKAGES, RC_WORLD_ANY_CHANNEL and our new
+ RC_WORLD_ANY_NON_SYSTEM.
+ (remove_packages_generic): Use channel_match.
+ (remove_package_structs_generic): Use channel_match.
+ (foreach_package_cb): Use channel_match.
+ (rc_world_foreach_package_by_name): Use channel_match.
+ (rc_world_foreach_providing_package): Use channel_match.
+ (rc_world_check_providing_package): Use channel_match.
+ (rc_world_foreach_requiring_package): Use channel_match.
+
+2002-03-11 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_channel_priority_parse): Step through the
+ priority_str so we don't infinitely loop.
+
+2002-03-10 Peter Bowen <pzb@ximian.com>
+
+ * rc-package-dep.c: (rc_package_dep_verify_relation): Fix dumb typo
+ that was causing a segfault. Also initialize
+ compare_ret at function start.
+
+2002-03-10 Peter Bowen <pzb@ximian.com>
+
+ * rc-debman.c: (rc_debman_init): set capabilities instead of rpmish
+ * rc-package-dep.c: remove rpmish
+ (rc_package_dep_verify_relation): rewrite to
+ support paking two RCPackageDeps
+ (rc_package_dep_verify_package_relation): removed
+ (rc_package_dep_equal): removed
+ (rc_package_dep_slist_is_item_subset): removed
+ (rc_package_dep_is_subset): removed
+ (rc_package_dep_is_subset_real): removed
+ (rc_package_dep_invert): removed
+ (rc_package_dep_slist_invert): removed
+ (rc_package_dep_weaken): removed
+ (rc_package_dep_slist_weaken): removed
+ (rc_package_dep_is_fully_weak): removed
+ (rc_package_dep_slist_is_fully_weak): removed
+ (rc_package_dep_slist_has_dep): removed
+ (rc_package_dep_system_is_rpmish): removed
+ * rc-package-dep.h: removed prototypes for removed functions
+ * rc-package-update.h: include rc-util.h
+ * rc-packman-private.h: add RC_PACKMAN_CAP_* defines and add
+ capabilities to _RCPackmanPrivate struct
+ * rc-packman.c: (rc_packman_init): initial capabilities field
+ (rc_packman_set_capabilities): new
+ (rc_packman_get_capabilities): new
+ * rc-packman.h: add rc_packman_{get,set}_capabilities prototypes
+ * rc-rpmman.c: (rc_rpmman_init): set capabilities instead of rpmish
+
+2002-03-09 Ian Peters <itp@ximian.com>
+
+ * rc-deps.c, rc-deps.h, rc-deps-util.c, rc-deps-util.h,
+ rc-deps-private.h: removed
+
+ * rc-dep-or.c: added
+
+ * rc-dep-or.h: added
+
+ * Makefile.am: remove and add the above files from the build
+
+ * libredcarpet.h: remove rc-deps.h
+
+ * rc-debman-general.c: s/rc-deps-util.h/rc-dep-or.h/
+
+ * rc-debman.c: remove rc-deps.h
+
+ * rc-debug-misc.h: remove rc-deps.h
+
+ * rc-package-dep.h (rc_package_dep_verify_relation): take a second
+ RCPackageDep, not an RCPackageSpec
+
+ * rc-package-dep.c: s/rc-deps-util.h/rc-dep-or.h
+ (rc_package_dep_slist_verify_relation): removed
+ (rc_package_dep_verify_relation): take a second RCPackageDep, not
+ an RCPackageSpec
+ (rc_package_dep_verify_package_relation): update for new
+ rc_package_dep_verify_relation, no need to check the package by
+ hand, since it provides itself
+
+ * rc-package-info.c (pkginfo_find_package_with_constraint): update
+ to handle new rc_package_dep_verify_relation -- this one is
+ special, because we don't have an RCPackageDep here, so we make
+ one
+
+ * rc-package-spec.c: minor das_global_packman changes
+
+ * rc-packman.h, rc-packman.c (rc_packman_set_packman): added
+
+ * rc-queue-item.c (uninstall_item_process): new
+ rc_package_dep_verify_relation behaviour
+
+ * rc-world.h (rc_world_foreach_requiring_package): take an
+ RCPackageDep, not an RCPackageSpec
+
+ * rc-world.c: s/rc-deps-util.h/rc-dep-or.h/
+ (rc_world_foreach_providing_package): pass pad->dep, not
+ pad->dep->spec, to rc_package_dep_verify_relation
+ (rc_world_foreach_requiring_package): take a dep not a spec
+
+2002-03-09 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (remove_package_structs_generic): Uh, don't go
+ into an infinite loop if we decide not to remove a specific
+ package struct. Double-doh!
+
+ * rc-queue-item.c (require_process_cb): Screen out "impossible"
+ installs from the list. This could save us a lot of fruitless
+ branchless in some cases.
+
+ * rc-world.c (remove_packages_generic): Don't test for a non-NULL
+ channel parameter when removing by channel, since a NULL value is
+ perfectly legal (and denotes a system package). Doh!
+ (remove_package_structs_generic): Ditto. These two changes together
+ fix Ximian #21344.
+
+2002-03-08 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (require_item_process): Don't search our
+ "uninstall" branch if it looks like the upgrade will install
+ cleanly. Filter out uninstallable upgrades. (Fixes case #39)
+
+ * rc-resolver-context.c
+ (rc_resolver_context_requirement_is_possible): Added.
+
+ * rc-world.c (rc_world_add_package): Track provides as
+ RCPackageDeps, not RCPackageSpecs.
+ (rc_world_foreach_providing_package): Provides are now
+ RCPackageDeps.
+ (rc_world_check_providing_package): Provides are now
+ RCPackageDeps. Added "filter_dups_of_installed" flag. Fixed
+ idiotic bug of the century: we were looking at the first list
+ element repeatedly, instead of actually iterating. Doh!
+
+2002-03-08 Ian Peters <itp@ximian.com>
+
+ * rc-deps-util.c (free_package_hash_helper): not needed
+ (rc_dep_or_process_system_and_channels): i knew there had to be a
+ function to destroy our unique hash tables, just couldn't find it;
+ now uses rc_hash_table_slist_free
+
+2002-03-07 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (rc_debman_init): the extension was only being set
+ after the abort for non-root, leading to a crash for normal users.
+
+ * rc-deps-util.c (rc_dep_or_new): we were leaking the depstr when
+ we found an identical or_dep in the hash table.
+ (free_package_hash_helper): added
+ (rc_dep_or_process_system_and_channels): free the hash table and
+ shallow free the element slists, using free_package_hash_helper
+
+ * rc-package.c (rc_package_to_str_static): the local variable
+ wasn't flagged as static, so it was never freed. whoops!
+
+ * rc-rpmman.c (load_fake_syms): whoops, the hdrVec stuff is
+ conditional at compile, not runtime, in the static case.
+
+ * rc-world.c (rc_world_check_providing_package): plug a huge
+ memory leak, the hash table constructed in this function was only
+ freed if our search was a failure and we returned FALSE. Our
+ search succeeds quite a bit, is the thing.
+
+2002-03-06 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): Free the correct transaction
+ set; cut-and-paste error.
+
+2002-03-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: renamed configuring to installing in the
+ InstallState struct
+ (transact_cb): since we're doing installs and removes in separate
+ transactions, some of the hairy logic here gets a lot cleaner.
+ still have to count to get configures and removes right,
+ though... :(
+ (render_problems): added. takes an rpmProblemSet, and adds it,
+ formatted, to the RCPackman error string.
+ (rc_rpmman_transact): massive rewriting. now assembles an
+ install/remove transaction set, tests it, but then constructs two
+ more, an install only and remove only, to actually run them
+ separately. please test heavily.
+
+2002-03-05 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_xml_node_to_channel): Move the priority stuff
+ from here (basically parsing packageinfo.xml.gz) to...
+ (rc_channel_parse_xml): ... here (parsing channels.xml.gz). Man,
+ these function names are confusing.
+
+2002-03-05 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.h: Add concept of priority to queue items.
+
+ * rc-queue-item.c (package_slist_to_string): Added back.
+ (install_item_to_string): Made more verbose.
+ (rc_queue_item_new_uninstall): Boost the priority of uninstall
+ items, so that they get processed first.
+ (install_item_process): If we have ->needed_by packages, and if
+ they are all marked as to-be-uninstalled, do nothing. (This fixes
+ verification case #37.)
+
+ * rc-resolver-queue.c (rc_resolver_queue_process_once): Process
+ items in order of priority.
+
+ * rc-world.c (rc_world_remove_package): Added. Allows a single
+ package to be removed from the RCWorld.
+ (remove_packages_generic): Added. This is a static function for
+ removing packages from slists -- the code was originally in one of
+ the g_hash_table_foreach_remove callbacks, but I've split it out
+ to avoid some code duplication.
+ (remove_package_structs_generic): Added. Same as above, except it
+ acts on package structs (RCPackageAndSpec, RCPackageAndDep)
+ instead of packages.
+
+2002-03-04 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (rc_queue_item_uninstall_set_dep): Changed from
+ _add_dep; only allow one dep per uninstall item.
+ (require_item_process): s/_add_dep/_set_dep/
+ (conflict_process_cb): s/_add_dep/_set_dep/
+ (uninstall_item_process): Use rc_package_dep_to_str to set
+ dep_str.
+ (uninstall_item_destroy): There is no more dep slist to free.
+ (uninstall_item_to_string): If we have a dep, add it to the
+ string.
+ (uninstall_item_copy): Copy the single dep, not a list.
+
+ * rc-package-dep.c (rc_package_dep_to_str): Added.
+ (rc_package_dep_to_str_static): Added.
+
+2002-03-01 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-spec.c (rc_package_spec_get_type): Added. Tries to
+ figure out whether or not a provide is virtual.
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): Track
+ whether or not we want to allow conflicts w/ virtual provides.
+
+ * rc-queue-item.c (conflict_process_cb): Check our context whether
+ or not we should allow conflicts w/ virtual provides.
+
+ * rc-world.c (rc_world_add_package): Mark our self-provides as
+ being of type 'package'.
+
+ * rc-channel.c (rc_channel_parse_xml): Removed unused variable.
+
+ * rc-world.c (rc_world_check_providing_package): Handle Debian
+ 'or'-dependencies.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies):
+ s/RC_EXTEMELY_NOISY/RC_SPEW/. There is no reason to have two
+ separate "dump everything to the console with extreme prejudice"
+ environment variables.
+
+ * rc-resolver-queue.c (rc_resolver_queue_process): Ditto.
+
+2002-02-28 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c: Replaced several instances of
+ rc_package_spec_to_str with rc_package_to_str.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): Added more
+ RC_EXTREMELY_NOISY spew.
+
+ * rc-resolver-context.c
+ (rc_resolver_context_get_channel_priority): Call
+ rc_channel_get_priority with the arguments in the correct order.
+ Doh!
+ (rc_resolver_context_new_child): OK, once and for all, we do need
+ to hash on package spec.
+
+ * rc-package.c (rc_package_to_str_static): Added.
+ (rc_package_to_str): Added. Produces a string of the package
+ name w/ the channel name attached.
+
+ * rc-channel.c (rc_channel_get_priority): Fixed to make the
+ current channel implicitly subscribed.
+ (rc_channel_parse_xml): Don't try to read the channel priority
+ here...
+ (rc_xml_node_to_channel): ...do it here instead. Looking at the
+ correct xmlNode can work wonders.
+
+ * rc-resolver-compare.c (rc_resolver_context_partial_cmp): Get all
+ inequalities pointed in the right direction, so we don't
+ accidentally favor worse solutions.
+ (rc_resolver_context_cmp): Ditto.
+
+ * rc-queue-item.c (install_item_process): Don't generated the
+ "needed-by" info on upgrades.
+ (require_item_process): When upgrading due to a codependency,
+ explicity attach a "needed-by" log item for the package that
+ triggering the upgrade.
+
+ * rc-resolver.c (rc_resolver_free): Free ->packages_to_verify.
+ (rc_resolver_verify_system): Added. Adds all system packages to
+ ->packages_to_verify, then calls rc_resolver_resolve_dependencies.
+ (rc_resolver_resolve_dependencies): Iterate across
+ ->packages_to_verify and add them to our initial queue.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_verify):
+ Added. Walks across the package's list of requires and conflicts
+ and converts them into queue items.
+
+ * rc-world.c (rc_world_foreach_package): Added.
+
+2002-02-28 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (load_rpm_syms): RPM 4.0.4 marked two functions that
+ we need as static, making them unavailable through dlsym. The
+ answer turns out to be to dlsym a global virtual function table
+ and find the functions we need through absolute offset. Ick.
+ (load_fake_syms): same fix, one less dlsym, for static linking
+ (rc_rpmman_init): add the RPM 4.0.4 specific stub file to the
+ list, use rpmEVR rather than RPMVERSION to get the version of the
+ RPM library.
+
+ * Makefile.am: build an RPM 4.0.4 specific stub file
+
+2002-02-27 Jon Trowbridge <trow@ximian.com>
+
+ * rc-package-info.c (rc_channel_parse_debian): Store packages
+ in our RCWorld as we parse them.
+
+ * rc-world.c (rc_world_foreach_providing_package): If we are
+ handed an or-dependency, split it up and call
+ rc_world_foreach_providing_package on each of the component
+ pieces.
+
+ * rc-resolver.c (rc_resolver_set_current_channel): Added.
+ (rc_resolver_add_subscribed_channel): Added.
+ (rc_resolver_resolve_dependencies): Store the current/subscribed
+ channel info in the context.
+
+ * rc-resolver-queue.c (copy_queue_except_for_branch): Get
+ priorities from the context instead of directly from the channel.
+
+ * rc-resolver-info.c (rc_resolver_info_merge): Use a hash to make
+ sure that our package list contains only unique entries when we
+ merge.
+ (rc_resolver_info_to_str): Add default stringifications for our
+ new types.
+ (rc_resolver_info_conflicts_with_new):
+ s/NEEDED_BY/CONFLICTS_WITH/. The peril of cut&pasting code...
+ (rc_resolver_info_depends_on_new): Added.
+
+ * rc-resolver-context.c (rc_resolver_context_install_package):
+ Remove "favored" arg, get priorities from the new, improved
+ rc_resolver_context_get_channel_priority function.
+ (rc_resolver_context_upgrade_package): Ditto.
+ (rc_resolver_context_get_channel_priority): Added. Use our
+ locally stored info about current/subscribed channels and
+ rc_channel_get_priority to compute priorities properly.
+
+ * rc-queue-item.c (rc_queue_item_free): Free pending info items.
+ (rc_queue_item_copy): Copy pending info items.
+ (rc_queue_item_add_info): Added. Allows a pending info item to be
+ attached to a queue item. The idea is that this info item will be
+ logged into the context if the queue item is successfully
+ processed.
+ (rc_queue_item_log_info): Added. Moves any pending info items out
+ of the queue item and into the context.
+ (install_item_process): Use rc_r_c_install_package's new
+ signature. Properly log our NEEDED_BY info. Produce better
+ verbose logging in the case of upgrades.
+ (require_item_process): Log DEPENDS_ON info.
+ (conflict_process_cb): Log CONFLICTS_WITH info.
+ (uninstall_process_cb): Track the "lost" package in our require
+ queue item.
+ (uninstall_item_process): Log pending queue items on success.
+
+ * rc-channel.c (rc_channel_new): Set the various channel
+ priorities to -1, so that the default values will be used if no
+ other value is set.
+ (rc_channel_get_priority): Changed to return different priorities
+ depending on whether or not the channel is current or subscribed.
+
+2002-02-26 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (codependent_pair): Recognize codependent pairs
+ by name.
+ (require_item_process): An evil optimization -- when doing an
+ upgrade involving codependency (that we can recognize via the
+ codependent_pair fn)q, don't explore the "remove" branch.
+ (uninstall_item_process): Avoid copying the list of require items,
+ instead just add them directly to the to the *new_items list.
+
+ * rc-package-spec.c (rc_package_spec_hash): As long as we are
+ optimizing, we might as well be able to do this hash without any
+ function calls.
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): Since we
+ now do proper dup-checking in our rc_world_foreach functions, we
+ can go back to hashing on package pointers.
+ (rc_resolver_context_get_status): Cache the results of the last
+ get_status call, and return it w/o any hash lookups if we ask for
+ the same info in the next call. This actually happens a lot, and
+ this optimization lets us avoid hash lookups in about 50% of all
+ cases.
+ (rc_resolver_context_set_status): Update the cache if we change
+ the status of the last package we called get_status on.
+
+2002-02-25 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ Remove used variable.
+
+ * rc-resolver-context.c (upgrade_pkg_cb): Make sure to_be_upgraded
+ isn't NULL.
+
+ * rc-queue-item.c (rc_queue_item_new_install): Make sure upgrades
+ != package.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ We don't need to check if this install is an upgrade here, since
+ it now happens automatically when we construct a install item.
+
+ * rc-queue-item.c (rc_queue_item_new_install): Check if this is an
+ upgrade, and do the appropriate magic, every time we construct an
+ install item.
+
+ * rc-util.c (rc_maybe_merge_paths): g_strconcat-ing printf
+ format strings is not a good idea.
+
+ * rc-package-spec.c (rc_package_spec_hash): Constructing the whole
+ RCPackageSpec string only to call g_str_hash is pretty wasteful,
+ so I've changed this to build up a hash value out of the spec's
+ various string elements.
+ (rc_package_spec_to_str_static): Changed to just call
+ rc_package_spec_to_str. This avoids a bunch of snprintfs, but
+ means that the previous pointer becomes invalid each time this is
+ called. But this isn't really a problem, since that pointer would
+ contain the wrong answer anyway under the old implementation.
+ (rc_package_spec_version_to_str_static): Ditto.
+ (rc_package_spec_to_str): Replaced g_strdup_printf with
+ g_strconcat.
+ (rc_package_spec_version_to_str): Ditto.
+
+ * rc-queue-item.c: Replaced g_strdup_printf with g_strconcat in
+ a whole bunch of places.
+
+ * rc-resolver-context.c (rc_resolver_context_install_package):
+ Replaced g_strdup_printf with g_strconcat.
+ (rc_resolver_context_uninstall_package): Ditto.
+
+ * rc-util.c (rc_mkdir): Replaced g_strdup_printf with g_strconcat.
+ (rc_rmdir): Ditto.
+ (rc_is_program_in_path): Ditto.
+ (rc_maybe_merge_paths): Ditto.
+
+ * rc-resolver-context.c (rc_resolver_context_foreach_upgrade):
+ Implemented.
+ (rc_resolver_context_foreach_uninstall): Build a hash of all of
+ our upgrade-related removals, and use it to make sure that we
+ don't report and of those as uninstalls.
+
+ * rc-resolver-info.c (rc_resolver_info_merge): Merge misc info
+ items with identical message strings.
+
+ * rc-queue-item.c (install_item_process): Track the upgraded
+ package when we generate an uninstall item associated with an
+ upgrade.
+ (require_item_process): If we need to remove items because of lost
+ dependencies associated with an upgrade, make a branch and try
+ upgrading the to-be-removed items. (This is the foo/foo-devel
+ co-dependency case.)
+ (require_item_process): The requiring package in the require item
+ is now a singleton, not a list.
+ (require_item_copy): Ditto.
+ (rc_queue_item_require_add_package): Ditto.
+ (uninstall_process_cb): Track the upgraded package. Don't try to
+ consolidate require items --- consolidation will happen when info
+ items are merged.
+ (uninstall_item_process): Track the upgraded package.
+ (uninstall_item_copy): Ditto.
+ (rc_queue_item_uninstall_set_upgraded_to): Ditto.
+
+ * rc-resolver-context.c (rc_resolver_context_foreach_info): Add a
+ merging pass.
+
+ * rc-resolver-info.c (rc_resolver_info_copy): Added.
+ (rc_resolver_info_conflicts_with_new): Added.
+
+ * rc-resolver-queue.c (rc_resolver_queue_process):
+
+ * rc-world.c (rc_world_foreach_upgrade): Added.
+ (rc_world_add_package): Use _slist_insert instead of
+ _slist_insert_unique.
+
+2002-02-23 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-update.c (rc_xml_node_to_package_update): use
+ rc_maybe_merge_paths instead of g_strconcat, so that we can
+ handle absolute URLs in history file paths.
+
+2002-02-22 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ Print a message if we try to install an already-installed package.
+ (rc_resolver_queue_process): Spew lots of debugging info if
+ the RC_EXTREMELY_NOISY env variable is set.
+
+ * rc-package-info.c (rc_channel_parse_debian): Store the channel
+ in the RCPackages we construct.
+
+ * rc-world.c (rc_world_foreach_package_by_name): Filter out
+ non-installed duplicates of an installed package.
+ (rc_world_foreach_providing_package): Ditto.
+ (rc_world_check_providing_package): Ditto.
+ (rc_world_foreach_requiring_package): Ditto.
+
+ * rc-queue-item.c (conflict_process_cb): Check package equality
+ using rc_package_spec_equal, not pointer equality.
+
+ * rc-queue-item.c (uninstall_process_cb): Group multiple packages
+ with a common requirement.
+
+ * rc-world.c (remove_package_cb): Comment out rc_package_free.
+ Why does this fix our memory corruption problem? Where else is it
+ being freed?
+ (rc_world_spew): Added.
+
+ * rc-resolver-context.c (dup_name_check_cb): Make sure we don't
+ mistake two identical packages for a parallel install situation.
+
+2002-02-21 Jon Trowbridge <trow@ximian.com>
+
+ * rc-channel.c: Removed misleading comment about priorities.
+
+ * rc-resolver-info.c (rc_resolver_info_to_str): Renamed from
+ rc_resolver_info_to_text.
+ (rc_resolver_info_packages_to_str): Added. Return a string with
+ comma-separated list of the names of the packages in package_list.
+ (rc_resolver_info_needed_by_new): Added.
+ (rc_resolver_info_needed_add): Added.
+ (rc_resolver_info_needed_add_slist): Added.
+
+ * rc-resolver-context.c (rc_resolver_context_is_parallel_install):
+ Added. Check to see if a package with the same name is
+ to-be-installed.
+ (rc_resolver_context_install_package): Move the parallel install
+ check logic into its own function.
+
+ * rc-queue-item.c (install_item_process): Make our text-string log
+ messages have priority _VERBOSE. Log what packages need the
+ installed package.
+ (rc_queue_item_install_add_needed_by): Added.
+ (require_process_cb): Packages that would be parallel installs do
+ not satisfy requires, since they are uninstallable.
+ (require_item_process): Track the packages that this requirement
+ comes from by passing them along to the newly-created install
+ items.
+
+2002-02-20 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ If another version of the package is already installed, mark our
+ install queue item as being an upgrade.
+
+ * rc-resolver-context.c (rc_resolver_context_unref): Free info
+ items in log list.
+ (rc_resolver_context_install_package): Replaced log entries with
+ info items.
+ (rc_resolver_context_uninstall_package): Track if we are part of
+ an upgrade, adjust stats accordingly. Replaced log entries with
+ info items.
+ (rc_resolver_context_invalidate): Replaced log entry with info
+ item.
+ (rc_resolver_context_add_info): Replaces _add_log_entry.
+ (rc_resolver_context_add_info_str): Added. A convenience function
+ that creates a misc info item and adds it to the log.
+ (rc_resolver_context_foreach_info): Replaces _foreach_log_entry.
+ (rc_resolver_context_spew_info): Replaces _spew_log.
+
+ * rc-queue-item.c (install_item_process): If this is an upgrade,
+ add a request to remove the currently-installed version.
+ (rc_queue_item_install_set_upgrade_package): Added. Specify
+ that this install is upgrading (or downgrading, for that matter)
+ the given package.
+ (require_item_process): Replaced log entry with info items.
+ (conflict_process_cb): Replaced log entries with info items.
+ (uninstall_item_process): Replaced log entries with info items.
+ (rc_queue_item_uninstall_is_part_of_upgrade): Added. Indicates
+ that this uninstall is really half of an upgrade.
+
+ * rc-world.c (remove_package_struct_cb): Check that our_struct !=
+ NULL.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_install):
+ If there is another version of the package already installed,
+ remove the old version. (In other words, do the right thing for
+ upgrades.)
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): Hash by
+ package spec, not pointer.
+ (rc_resolver_context_install_package): Don't flag a package as
+ needing to be installed if another package of the same name is
+ already scheduled for installation.
+
+2002-02-18 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c (copy_queue_except_for_branch): Use new
+ generalized branches.
+ (rc_resolver_queue_split_first_branch): Use new generalized
+ branches.
+
+ * rc-resolver.c (rc_resolver_add_packages_to_install_from_slist): Added.
+ (rc_resolver_add_packages_to_remove_from_slist): Added.
+
+ * rc-resolver-context.c (rc_resolver_context_install_package):
+ Attach packages to log entries.
+ (rc_resolver_context_upgrade_package): Attach packages to log
+ entries.
+ (rc_resolver_context_uninstall_package): Attach packages to log
+ entries.
+ (rc_resolver_context_foreach_marked_package): Change callback
+ function type to RCMarkedPackageFn.
+ (rc_resolver_context_add_log_entry): Allow a package to be tied to
+ a log entry.
+ (rc_resolver_context_foreach_log_entry): Allow the log messages to
+ be selected by package.
+ (rc_resolver_context_log_to_string): Added. Get the log messages
+ (possibly for a single package) as one big string.
+ (rc_resolver_context_foreach_install): Added.
+ (rc_resolver_context_foreach_uninstall): Added.
+ (rc_resolver_context_invalidate): Attach NULL package to log
+ entry.
+ (rc_resolver_context_spew_log): Changed for
+ rc_resolver_context_foreach_uninstall's new signature.
+
+ * rc-queue-item.c (rc_queue_item_is_redundant): Added.
+ (rc_queue_item_is_satisfied): Added.
+ (item_slist_to_string): Added.
+ (install_item_is_satisfied): Added.
+ (install_item_process): Attach package to log entry.
+ (install_item_destroy): Remove our needed-by list.
+ (install_item_copy): Copy some stuff I forgot to copy before.
+ Doh.
+ (rc_queue_item_new_install): Initialize ->is_satisfied.
+ (require_item_process): Attach packages to log entries. Use the
+ new-style generalized branches.
+ (require_item_copy): Copy the remove-only flag.
+ (branch_item_process): Generalized processing no longer assumes
+ that a branch is just a set of installs.
+ (branch_item_destroy): Don't leak the branch items.
+ (branch_item_copy): Generalized.
+ (branch_item_to_string): Generalized.
+ (rc_queue_item_branch_add_item): Added, replaces
+ rc_queue_item_add_package.
+ (conflict_process_cb): Attach packages to log entries.
+ (uninstall_item_process): Attach packages to log entries.
+ (uninstall_item_copy): Copy the remove-only flag.
+
+ * rc-package.c: Include stdlib.h to get rid of warning.
+
+2002-02-18 Jon Trowbridge <trow@ximian.com>
+
+ * rc-world.c (rc_world_find_installed_version): Added.
+
+ * rc-resolver.c (rc_resolver_resolve_dependencies): When removing
+ packages, always do so in remove-only mode.
+
+ * rc-resolver-queue.c (rc_resolver_queue_add_package_to_remove):
+ Add remove_only_mode arg, which causes the approrpriate flag to be
+ set in the uninstall item that is added to the queue.
+
+ * rc-resolver-context.c (rc_resolver_context_package_is_absent):
+ Doh! Replaced a == with a != in a g_return_val_if_fail.
+
+ * rc-queue-item.c (rc_queue_item_require_set_remove_only): Added.
+ (rc_queue_item_uninstall_set_remove_only): Added.
+ (require_item_process): Modified so that remove-only-mode require
+ items will only generate (set-remove-only) uninstall items, and
+ will never try to pull in alternative providers.
+ (uninstall_process_cb): Make sure that set-remove-only uninstall
+ items generate set-remove-only require items.
+
+2002-02-17 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver.c (remove_head): The type of thing that really
+ should be one line in glib (and is in 2.0, IIRC).
+ (rc_resolver_resolve_dependencies): Store invalid solutions in
+ their own list. The processing of pending_queues has been
+ re-designed to do on-the-fly scoring and pruning.
+ Also, I've dropped our iterator functions. For now, just read
+ the lists and other data directly from the struct (ugh).
+
+ * rc-resolver-queue.c (copy_queue_except_for_branch): Take a
+ penalty value as an argument, and attach it to the created install
+ item.
+ (rc_resolver_queue_split_first_branch): Track penalties, pass them
+ along to copy_queue_except_for_branch.
+
+ * rc-resolver-context.c (rc_resolver_context_new_child): Copy
+ stats from the parent.
+ (rc_resolver_context_set_status): I've moved the intelligence out
+ of this routine and into the _(un)?install_package functions.
+ (rc_resolver_context_get_status): Simplified, no longer recursive.
+ (rc_resolver_context_install_package): Added. Updates info
+ relevant to scoring.
+ (rc_resolver_context_upgrade_package): Added. Updates info
+ relevant to scoring. Currently unused.
+ (rc_resolver_context_uninstall_package): Added. Updates info
+ relevant to scoring.
+ (rc_resolver_context_add_channel_priority): Added.
+ (rc_resolver_context_add_log_entry): If the log entry duplicates
+ the previous entry, drop it.
+ (requirement_met_cb): Return TRUE until we find a match.
+ (rc_resolver_context_requirement_is_met): Changed to use
+ rc_world_check_providing_package.
+
+ * rc-queue-item.c (install_item_process): Changed to use
+ rc_resolver_context_install_package.
+ (rc_queue_item_install_set_channel_priority): Added.
+ (rc_queue_item_install_get_channel_penalty): Added.
+ (rc_queue_item_install_set_other_penalty): Added.
+ (rc_queue_item_install_get_other_penalty): Added.
+ (uninstall_item_process): Changed to use
+ rc_resolver_context_uninstall_package.
+
+ * rc-package.c (rc_package_is_installed): Added.
+ (rc_xml_node_to_package): Parse file size and installed size out
+ of the package XML.
+
+ * rc-channel.c (rc_channel_priority_parse): Added. Convert a
+ string into a priority rating.
+ (rc_channel_new): Set ->priority and ->favored_priority to the
+ default values.
+ (rc_channel_get_priority): Added. A simple accessor.
+ (rc_channel_get_favored_priority): Ditto.
+ (rc_channel_parse_xml): Parse channel priorities.
+
+ * rc-world.c (rc_world_check_providing_package): Added. This is
+ like rc_world_foreach_providing_package, except that it terminates
+ when the callback function returns FALSE.
+ (rc_world_foreach_requiring_package): Deal with list items with
+ NULL data.
+ (rc_world_foreach_providing_package): Deal with list items with
+ NULL data.
+ (rc_world_remove_packages): Implemented.
+
+2002-02-15 Jon Trowbridge <trow@ximian.com>
+
+ * rc-queue-item.c (conflict_process_cb): Add a missing break that
+ was causing us to fall through into our default:
+ g_assert_not_reached () case.
+
+ * rc-channel.c (rc_xml_node_process): Moved our call to
+ rc_world_add_package down into the if (package) block so we don't
+ get warnings on empty channels.
+
+ * rc-channel.h: Added 'priority' to RCChannel struct.
+ (Still not used for anything.)
+
+ * rc-package.h: Added RCPackageAndSpecFn.
+
+ * rc-world.c: Finished initial implementation.
+
+ * rc-resolver-context.c: Finished initial implementation.
+
+ * rc-queue-item.c: Finished initial implementation.
+
+ * rc-resolver-queue.c: Finished initial implementation.
+
+ * libredcarpet.h: Including rc-resolver.h, rc-world.h.
+
+2002-02-12 Jon Trowbridge <trow@ximian.com>
+
+ * rc-resolver-queue.c: Added. Still under development.
+
+ * rc-queue-item.c: Added. Still under development.
+
+ * rc-resolver-context.c: Added. Still under development.
+
+ * rc-world.c: Added. Still under development.
+
+ * rc-package-dep.h: Added RCPackageAndDepFn typedef.
+
+ * rc-package.h: Added RCPackageFn typedef.
+
+2002-02-05 Jon Trowbridge <trow@ximian.com>
+
+ * rc-channel.c: Removed RCSubchannel struct and functions.
+ (rc_channel_new): Initialize ->package, ->dep_table and
+ ->dep_name_table hashes.
+ (rc_channel_free): Free the ->package, ->dep_table and
+ ->dep_name_table hashes. Removed subchannel stuff.
+ (rc_xml_node_process): This used to be rc_channel_get_subchannel.
+ Removed all subchannelisms.
+ (rc_xml_node_to_channel): Removed subchannel stuff. Call
+ rc_xml_node_process to do the actual work.
+
+ * rc-deps-private.h: Remove pref argument from all prototypes.
+
+ * rc-deps-util.c (rc_dep_fix_system): Removed pref argument in
+ call to rc_dep_resolution_new.
+ (rc_dep_or_process_system_and_channels): Removed subchannel logic,
+ get channel directly from package.
+
+ * rc-deps.c: Drop pref arguments everywhere -- they were used for
+ selecting subchannels, which no longer exist.
+ (deps_find_provide): Get channel directly from package.
+ (deps_update_install_list): Get channel directly from package.
+
+ * rc-package-dep.c (rc_xml_node_to_package_dep): Removed libxml
+ version check, using ->xmlChildrenNode instead.
+
+ * rc-package-info.c: Renamed rc_subchannel_foo functions to
+ rc_channel_foo, and removed all subchannel-related logic.
+ (pkginfo_find_package_with_constraint): Removed subchannel-related
+ stuff, including the max_pref argument.
+ (pkginfo_find_package): Removed the max_pref argument and fix our
+ call to pkginfo_find_package_with_constraint.
+
+ * rc-package-set.c (rc_package_set_parse): Changed to use
+ ->xmlChildrenNode.
+
+ * rc-package-update.c (rc_xml_node_to_package_update): Get the
+ channel directly from the package struct. Changed to use
+ ->xmlChildrenNode.
+
+ * rc-package.c (rc_package_copy): s/subchannel/channel/.
+ (rc_xml_node_to_package): s/subchannel/channel/. Removed libxml
+ version check, using ->xmlChildrenNode instead.
+
+ * rc-package.h: Replace occurances of RCSubchannel by
+ RCChannel.
+
+ * rc-pretty-name.c (rc_pretty_name_parse_xml): Removed libxml
+ version check, using ->xmlRootNode and ->xmlChildrenNode instead.
+
+ * rc-rpmman.c (rc_rpmman_query_file): Wrap some unreachable code
+ in #if 0/#endif.
+
+ * xml-util.c (xml_get_value): Removed #if check for libxml version,
+ using ->xmlChildrenNode instead.
+
+2002-02-06 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: only look in unsubscribed channels if and only if
+ nothing appropriate was found in any subscribed channels.
+
+2002-01-29 Joe Shaw <joe@ximian.com>
+
+ * rc-package-info.c (rc_subchannel_parse_helix): If we don't have
+ an XML document, we really shouldn't be continuing to parse that.
+ This function was crack-smoking.
+
+ * rc-util.c (rc_hash_table_slist_insert_unique): Fix a potential leak.
+
+2002-01-14 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_query_file): First check to see if the
+ file exists, and then try to open it, but bail out if it doesn't
+ work.
+
+2002-01-11 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (i18n_fixer): Set the PATH environment variable to
+ include /sbin, /usr/sbin, and /usr/local/sbin, where dpkg and
+ friends are located. Fixes #18157.
+
+2002-01-04 Joe Shaw <joe@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): Add back in my RC_JUST_KIDDING
+ envvar that Ian backed out for some reason. Boo! Hiss!
+
+2001-12-17 Ian Peters <itp@ximian.com>
+
+ * rc-deps.c: some stuff I don't understand
+
+2001-12-07 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: fix the /usr/share/magic.mime problem, don't ask
+
+2001-11-20 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: readd RPMPROB_FILTER_REPLACE[NEW|OLD]FILES for a
+ little while because of broken packages
+
+2001-11-08 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (parse_versions): take out an unnecessary assert
+ that caused problems for a customer :-)
+
+2001-11-08 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c, rc-deps.h: rc_dep_resolution_new now takes a flage as
+ to whether you will be doing an INSTALL or a REMOVE mainly with
+ this resolution. If Install, it will try to resolve all
+ dependencies and will do its best to never remove packages. If
+ REMOVE, it will remove things more aggressively.
+
+ * rc-deps-util.c: Update call to rc_dep_resolution_new.
+
+ * rc-rpmman.c: Add patch to ignore rpm epochs as appropriate to
+ conform to RPM behaviour.
+
+2001-11-08 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: get rid of RPMPROB_FILTER_REPLACEPKG,
+ _REPLACENEWFILES, and _REPLACEOLDFILES. The only problem we're
+ left filtering is _OLDPACKAGE, which isn't really a problem.
+
+2001-11-06 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.[ch]: Remove the channel_select field from the
+ RCChannel struct. Mmmm, bitrot.
+
+2001-10-30 <itp@ximian.com>
+
+ * rc-distro.c: add ydl 2.1 and suse 7.3
+
+2001-10-30 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_channel_parse_xml): Get the new channel tier,
+ if it's there.
+
+2001-10-25 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: don't assume that only things which are an ANY
+ relation are a virtual provide; instead use the provide's virtual
+ setting.
+
+ * rc-package-dep.c: When verifying a spec, take into account rpm
+ conflicts and virtual provides.
+
+2001-10-24 Joe Shaw <joe@ximian.com>
+
+ * rc-package-update.c (rc_xml_node_to_package_update): Get the
+ HID.
+ * rc-package-update.h (RCPackageUpdate): add the HID.
+
+2001-10-17 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-util.c: oops, really make it work
+
+ * rc-util.c (rc_unompress_memory): Complain if zlib uncompression
+ fails. This will require changes to the tools.
+
+2001-10-04 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: only build rc-dpkg-helper.so when dpkg support
+ enabled, only build the rpm helpers when non-static rpm support
+ enabled
+
+2001-10-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c, Makefile.am: change it one more time
+
+2001-10-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmamn.c, Makefile.am: change the .so file names -again- for
+ broken old rpm
+
+2001-10-04 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: add things to CLEANFILES in a few places
+
+2001-10-04 Ian Peters <itp@ximian.com>
+
+ * make_stub.sh: simplified
+
+ * Makefile.am: new calling convention for make_stub.sh
+
+ * rc-package-dep.c, rc-package-info.c, rc-package-spec.c,
+ rc-package-spec.h: revert accidental commit
+
+2001-09-30 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: don't try to add packages if all we're doing is
+ removing them.
+
+2001-09-28 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (do_unpack): Don't change the "--no-act" parameter
+ (hence just "testing" an install) if we have the RC_JUST_KIDDING
+ environment variable set.
+
+ * rc-rpmman.c (rc_rpmman_transact): Set the transaction_flags to
+ RPMTRANS_FLAG_TEST if RC_JUST_KIDDING is set.
+
+2001-09-25 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: minor mem leak fixes, also make sure
+ deps_find_newer finds the biggest version package it can
+
+2001-09-24 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c: add some sanity checks to the rc_packman_transact
+ wrapper to check for duplicate installs, duplicate removes, and
+ install/removes of the same package
+
+2001-09-24 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Don't add a package if we're removing a newer
+ version of it.
+
+2001-09-24 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c, rc-deps.h: give a reason when we abort, so the GUI
+ can display a useful message.
+
+2001-09-21 Ian Peters <itp@ximian.com>
+
+ pulled in from red-carpet-1-1 branch
+
+ * rc-rpmman.c: fix a typo that resulted in memory corruption after
+ each install
+
+2001-09-21 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: caught one of the odd counting cases -- in the case
+ of an install of an already installed package, we'll get a
+ configure, remove, and install callback event -- unless the
+ package of the same version is already installed, in which case
+ the remove event doesn't occur. Note that this shouldn't happen
+ in the RC gui anyway, so it's probably a dependency bug as well,
+ but for correctness...
+
+2001-09-21 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: check what version of RPM we're using before we add
+ a self-dependency -- RPM 4.0 and beyond don't need this
+
+2001-09-21 Ian Peters <itp@ximian.com>
+
+ * rc-rpm-helper-1.so, rc-rpm-helper-2.so, rc-rpm-helper-3.so:
+ removed.
+
+ * [rpm].so.0, [rpm_rpmio].so.0, [rpm_rpmio_rpmdb]-4.0.3.so,
+ [rpm_rpmio_rpmdb].so: added
+
+ * Makefile.am, rc-rpmman.c: handle the new shared stubs.
+
+2001-09-20 Ian Peters <itp@ximian.com>
+
+ * rc-rpm-helper-1.so, rc-rpm-helper-2.so, rc-rpm-helper-3.so:
+ rebuilt all of these using an amazingly simple and clever
+ technique I just now worked out. We should be able to ship all of
+ our RC builds on i386 platforms using just --enable-backend-rpm,
+ which gives us near-maximal flexibility for dealing with the
+ various RPM versions. I haven't bothered to fix the build process
+ to handle the other architectures, so we'll continue to ship those
+ static. Joe, I apologize for making you have to redo the
+ installer stuff...
+
+2001-09-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Also, do a sanity check of the results to make
+ sure we don't return packages with the same name in the install
+ list, or in the install/remove lists.
+
+2001-09-19 Ian Peters <itp@ximian.com>
+
+ * rc-verification.c: pull up fixes
+
+2001-09-19 Ian Peters <itp@ximian.com>
+
+ * rc-deps.c, rc-distro.c: fixes from red-carpet-1-1
+
+2001-09-19 Ian Peters <itp@ximian.com>
+
+ * rc-deps.c: bug fix to multiple install problem as dictated by
+ vlad over a cell phone from europe
+
+ * rc-distro.c: mandrake 81 strings added
+
+ * rc-verification.c: check for ~/.gnupg, and if it doesn't exist,
+ attempt to run gpg --list-keys before verifying the signature. If
+ gpg is unable to find ~/.gnupg, it creates it, and then aborts,
+ giving a spurious signature failure.
+
+2001-09-19 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: lame hacks to avoid over/under counts during
+ transactions
+
+2001-09-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Call deps_find_provide after adding a non-older package
+ in deps_find_provide, since it probably just added the package that
+ we want (if we wait for the outside loop to catch it, we might add
+ a bad package); also use rc_package_slist_sort_by_spec_reverse to
+ get the latest versions of a package first.
+
+ * rc-package.c, rc-package.h: rc_package_slist_sort_by_spec_reverse,
+ and a secial static c_sucks_rc_package_spec_compare_reverse() to
+ inverse the sense of rc_package_spec_compare.
+
+2001-09-14 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: new rpm-helper .so files
+
+ * rc-rpmman.c, rc-rpmman.h: some rpmProblemString fixes, new .so
+ files
+
+2001-09-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.h: forgot the 04000* comparisons here
+
+2001-09-14 Ian Peters <itp@ximian.com>
+
+ * rc-distro.c: add RH 7.2 support
+
+ * rc-rpmman.c: sigh, forgot all about that octal shit... get
+ rid of the leading 0 in the rpm version
+
+2001-09-13 Ian Peters <itp@ximian.com>
+
+ * rc-rpm-helper-with-rpmio-and-rpmdb.so: another shared
+ object, works with RPM 4.0.3
+
+ * Makefile.am: dist and install
+ rc-rpm-helper-with-rpmio-and-rpmdb.so
+
+ * rc-rpmman.c, rc-rpmman.h: conditionalize a lot of stuff
+ on both the API and ABI version using both the preprocessor and
+ runtime checks. Add the third shared object to the list of things
+ we attempt to dlopen.
+
+2001-08-27 Joe Shaw <joe@ximian.com>
+
+ * rc-deps-util.c (rc_dep_string_to_or_dep_slist): Fix a crash that
+ would happen in the case where a munged string would come in as
+ (||package1|package2|package3&>=&1.0) and when processing the
+ first package (package1) it would strchr() for the '&' and get
+ the one in package3 and barf trying to allocate negative memory
+ because of bad pointer arithmetic.
+
+2001-08-17 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_channel_parse_xml): Don't panic if there aren't
+ any channels. Sean found this.
+
+2001-08-17 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_channel_parse_xml): Don't panic if there isn't
+ a distro_target.
+
+2001-08-17 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.c (rc_xml_node_to_subchannel): Don't puke on empty
+ subchannels.
+
+2001-08-16 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-dep.c: Add print statements for RELATION_NOT_EQUAL
+ and RELATION_NONE
+
+2001-08-15 Joe Shaw <joe@ximian.com>
+
+ * Merge the redcarpet-parternet branch into HEAD.
+
+2001-08-04 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: create the system packages hash tables even if
+ we don't have system packages, to avoid null hash table
+ lookup warnings later on.
+
+2001-08-01 Ian Peters <itp@ximian.com>
+
+ * rc-distro.c: undo, sigh
+
+ * rc-distro.c: s/sun4/sun4u/
+
+2001-08-01 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * libredcarpet/src/rc-package-dep.c: Don't return TRUE
+ if RC_RELATION_NONE on a dep with no release/version, argh.
+
+2001-07-31 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c: Don't keep rof as a static struct,
+ and make sure we update the subchannel's hash tables
+ if they exist.
+
+ * rc-deps-util.c: Keep rof as a static struct, so that
+ we can call dep_or_process multiple times.
+
+ * rc-deps.c: Oops, get rid of references to a package
+ that probably just got deleted. Pesky FMR's and SEGV's!
+ I wish C didn't suck.
+
+2001-07-27 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Oops, sort a list correctly
+
+ * rc-deps-private.h, rc-deps.c: Don't blindly reject
+ all but the first package in a list
+
+2001-07-26 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-distro.c: Add solaris 5.7
+
+ * rc-deps.c: Fixed memory corruption resulting from using
+ uninitialized variable; also fixes bug with removes
+ and the "control center" issue
+
+2001-07-26 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-rpmman.c: fix a memleak
+
+2001-07-26 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Try to find another package that can
+ provide a missing dependency before removing packages
+ that depend on it.
+
+2001-07-25 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.h (RCChannel): Rename subs_url and unsubs_url to
+ subs_file and unsubs_file respectively, for consistency (and to
+ intentionally break compatibility).
+
+ * rc-channel.c (rc_channel_parse_xml): Build as much of a path
+ as possible for file_path, icon_file, pkginfo_file, pkgset_file,
+ subs_file and unsubs_file.
+ (rc_channel_free): (un)subs_url -> (un)subs_file
+
+ * rc-util.c (rc_build_url): Kill.
+ (rc_maybe_merge_paths): Takes a "parent path" and a "child path"
+ and merges them, depending on the semantics of the child path.
+ FQURLs and absolute child paths are left in tact, and relative child
+ paths are merged with the parent path.
+ (rc_url_is_absolute): Add https.
+
+2001-07-25 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-spec.c, rc-package-spec.h: New
+ rc_package_spec_to_str_static and version_to_str_static
+ functions.
+
+ * rc-deps.c, rc-deps.h: Use new _static functions for all
+ debugging output to avoid memory leaks. Also plug some more
+ leaks where the RCDepProvide struct wasn't getting freed,
+ and where some deps that were created weren't being kept
+ track of.
+
+ * rc-deps.c: Fix a good chunk of memory leaks, thanks Purify!
+
+ * rc-line-buf.c: Minor array bounds read fix.
+
+2001-07-24 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: look for *, not *.o, in the static libraries we
+ unpack, as libdb-3.1.a isn't make up of .o files, apparently
+
+2001-07-24 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): add /usr/local/bin and
+ /usr/local/sbin to the list of directories for which we honor
+ files as provisions, needed to support msc linux according to
+ peter -- note that this shouldn't be necessary, as packages are
+ not supposed to provide files in the /usr/local tree. Bah.
+
+2001-07-24 Vladimir Vukicevic <vladimir@rain.ximian.com>
+
+ * rc-deps.c: deep copy the dep structure in a DAP; I'm really
+ going to need to get purify working to make sure everything
+ gets cleaned up right. Also use rpmish from rc-package-dep
+ to decide whether to call debian_find_self_provides.
+
+ * rc-package-dep.c: make rpmish be not static
+
+2001-07-24 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.h: Fix an erroneous comment about a signal's parameters.
+
+2001-07-24 Vladimir Vukicevic <vladimir@rain.ximian.com>
+
+ * rc-deps.c: Don't do a stupid check for a dependency
+ based on the name of the package; use the new function
+ that checks the package's dependencies.
+
+2001-07-23 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: erm, don't return the same system package
+ multiple times, causing a nasty loop
+
+2001-07-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-distro.c: added suse 7.2 string
+
+ * rc-deps.c: Got rid of fix_missing, needs testing; changed
+ rc_package_dep_verify_relation to use new
+ rc_package_dep_verify_package_relation
+
+ * rc-package-dep.c, rc-package-dep.h: Added new
+ rc_package_dep_verify_package_relation call.
+
+2001-07-19 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transact_cb): send the basename of the package
+ we're installing, not the full path
+ (transact_cb): double the install_total and add the install_extra
+ to account for a) packages we're installing being both configured
+ and installed, and b) packages we're installing that are really
+ upgrades being removed, configured, and installed.
+
+2001-07-12 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-private.h, rc-deps.c: Add an extra parameter to
+ upgrade_or_remove so that we can create correct remove info.
+
+2001-07-12 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: #if 0 out some more code for more testing later
+
+2001-07-12 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: #if 0 out the last commit until Vlad and I work
+ through some issues
+
+2001-07-12 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (query_all_read_line_cb): some code to handle
+ Conflicts: + Replaces: == Provides:
+
+2001-07-11 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Fix merging of require short-circuit; it isn't working
+ for some reason.
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: #if 0 out some currently unused code
+
+ * rc-packman.c: fix two warnings
+
+2001-07-11 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-private, rc-deps.c, rc-deps-util.c, rc-md5.c, rc-package-dep.h,
+ rc-package-spec.h, rc-pretty-name.c, rc-util.c: Fix compiler warnings
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-deps.c (deps_create_extra_info): s/_append/_prepend
+
+ * rc-util.c (rc_slist_unique): actually return out at the end ;-)
+
+2001-07-11 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Oops, we need to look at what a package provides,
+ not what it requires, when figuring out what other packages
+ depend on it.
+
+ * rc-deps.c: Oops, rc_hash_table_slist_insert_unique needs
+ a comparison function argument
+
+ * rc-deps.c, rc-package-dep.c, rc-package-spec.c, rc-package-spec.h:
+ Some speed optimizations
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: #if 0 the rpmGetRpmlibProvides for now, as this
+ interface -is- only in rpm 4.0.2 as I feared
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_section_to_package_section): fix stupid
+ crash
+
+2001-07-11 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c, rc-deps.h: Add some helper functions to give better
+ info about what packages depend on others to the GUI (include
+ packages that are pulled in because of things like library provides
+ instead of just the package name itself)
+
+ * rc-util.c, rc-util.h: rc_slist_unique()
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: added the fake version hack to the mark purge step,
+ now renamed to mark_status. This should make RC more resilient in
+ the face of strangely ordered packages.
+
+ * rc-distro.c: applied patch from Rodney to add support for
+ Mandrake 8.0, SuSE 7.1, and LinuxPPC 2000 Q4.
+
+ * rc-package-info.c (debian_packages_helper): correctly offset the
+ buf pointer by the length of the initial string when calling
+ rc_debman_fill_depends so we stop getting completely bogus
+ dependency information.
+
+2001-07-11 Ian Peters <itp@ximian.com>
+
+ * rc-debman-general.h: rc_debman_fill_depends no longer takes a
+ list to append to, but instead returns a new list
+
+ * rc-debman-general.c: no more list paramater, instead declare and
+ return a new RCPackageSList *
+
+ * rc-package-dep.h: add the pre field to the RCPackageDep struct
+ -- when set, this is a Pre-Depends, only used in Debian
+
+ * rc-package-dep.c (rc_package_dep_new): set pre to FALSE by
+ default
+ (rc_package_dep_copy): copy the pre field
+
+ * rc-package-info.c (debian_packages_helper): call
+ rc_debman_fill_depends correctly, concatenate the returned list
+
+ * rc-packman-private.h: get rid of the features member
+
+ * rc-package.h: cosmetic fixes
+
+ * rc-package.c (rc_package_new): set package->section to MISC
+
+ * rc-packman.h: remove the RCPackmanFeatures enum, no longer used.
+ Add the RCPackmanStep enum, which describes what kind of step
+ occured during a transaction_step. Ditch all of the configure_*
+ signals, and update/reorder the arguments to the transact_*
+ signals.
+ (rc_packman_get_features): removed
+
+ * rc-packman.c: remove CONFIGURE_* from the class signals. Remove
+ reference to ->priv->features.
+ (rc_packman_get_features): removed
+
+ * rc-rpmman.h: add rpmGetRpmlibProvides to the RCRpmman struct
+
+ * rc-rpmman.c: s/g_slist_append/g_slist_prepend/ in lots of places
+ (transact_cb): fixes to emit the correct signals -- no more
+ configure_*, lots more transact_* with a few extra arguments.
+ (rc_rpmman_section_to_package_section): fixes to stop using
+ g_strsplit, stop using g_strcasecmp, stop being stupid.
+ (parse_versions): stop using g_strsplit, stop being so slow and
+ stupid.
+ (in_set): fix a warning
+ (depends_fill_helper): added, single code path to read a variety
+ of dependency information from the Header
+ (rc_rpmman_depends_fill): rewritten to use depends_fill_helper,
+ now much shorter and fewer bugs
+ (rc_rpmman_query_all): use rpmGetRpmlibProvides to create the
+ rpmlib-internal package, to provide all of the "rpmlib(...)"
+ provides used for internal rpm package format versioning
+ (load_rpm_syms): grab rpmGetRpmlibProvides
+ (load_fake_syms): grab rpmGetRpmlibProvides
+ (rc_rpmman_init): no more features
+
+ * rc-debman.c (split_status): added, breaks a status line into
+ three words
+ (verify_status_read_line_cb): use split_status where possible,
+ downcase some words and stop using g_strcasecmp, rewrote the logic
+ to detect acceptable/unacceptable status lines
+ (do_purge_read_line_cb): updates to new signal prototype
+ (do_unpack_read_line_cb): emit new signal, including step_type
+ (do_configure_read_line_cb): emit new signal
+ (node_new): added
+ (node_free): added
+ (node_add_prereq): added
+ (construct_graph): added
+ (process_predeps): added
+ (resolve_graph): added
+ (order_packages): added. uses the previous helper functions to
+ construct the dependency graph of the pre-deps and walk it using a
+ BFS to correctly order packages. Not actually used yet, sigh.
+ (rc_debman_transact): new signals
+ (query_all_read_line_cb): speedups including getting rid of
+ g_strcasecmp, some small bug fixes, fixes to use
+ rc_debman_fill_depends correctly.
+
+2001-07-10 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-debman.c: get rid of warning
+
+2001-06-25 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Don't be fascist about removing packages;
+ give 'em a chance to get upgraded.
+
+ * rc-deps-util.c: finish up package_hash_helper.
+
+2001-06-21 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-line-buf.c: debugging output die die die
+
+ * rc-deps.c, rc-deps-private.h: minor cleanup
+
+ * rc-deps-util.c: minor cleanup
+
+2001-06-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-info.c: Oops, dep_name_table needs slists to be
+ hashed into it, not packages
+
+ * rc-deps-util.c: Added the one line to make debian work
+
+ * rc-deps.c, rc-deps-private.h: Fixed some memory corruption
+ double-free issues.
+
+ * rc-channel.c: Fixed compile warning
+
+2001-06-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-info.c: forgot to merge
+
+ * merge in from libredcarpet-or-dep-fixup branch
+
+ * Makefile.am: dist rc-deps-private.h
+
+2001-06-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-channel.c, rc-channel.h: Added dep_name_table along with dep_table
+ which is indexed by name not by spec. Also changed both to have values
+ which are slists of packages, instead of just one package. dep_table
+ might go away in the near future.
+
+ * rc-debman-general.c, rc-debman.c: Updated to handle or deps using
+ the rc_dep_or interface.
+
+ * rc-deps-private.h: added.
+
+ * rc-deps-util.c, rc-deps-util.h: renamed rc_deps_fix_system to
+ rc_dep_fix_system; added rc_dep_or interface functions, and first
+ pass at debian package list munging to provide the right things.
+
+ * rc-deps.c: Updated to understand and use dep_name_table correctly.
+
+ * rc-package-dep.c, rc-package-dep.h: fixed xml parsing bits to create
+ ors
+
+ * rc-util.c, rc-util.h: added utility functions to manage hash tables
+ of slists.
+
+ * rc-debug-misc.c: minor typo fixes
+
+2001-06-07 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-channel.c, rc-debman-general.c, rc-debug-misc.c,
+ rc-debug-misc.h, rc-debug-misc.c, rc-deps-util.c,
+ rc-deps.c, rc-deps.h, rc-distro.c, rc-package-dep.h,
+ rc-package-info.c, rc-rpmman.c:
+
+ Changes to make a RCPackageDep into what used to be a
+ RCPackageDepItem. RCPackageDep isn't a SList anymore; the debian
+ backend hasn't been fully fixed to understand this -- as it is now,
+ it will only use the first part of an or dep. To be fixed later.
+
+2001-06-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact):
+ s/RPMDBI_PACKAGES/RPMDBI_AVAILABLE/
+
+ * rc-rpmman-types.h: remove the unneeded definition of
+ RPMDBI_AVAILABLE
+
+2001-06-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): use RPMDBI_PACKAGES, an rpm4
+ specific define, to decide what kind of rpmProblem we have at our
+ disposal.
+
+2001-06-14 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transaction_add_install_packages): clarify the
+ INSTALL_UPGRADE bit
+ (rc_rpmman_transact): fix the rpmProblem fuckup
+ (split_rpm): s/close/rc_close/
+ (load_fake_syms): fix two typos, we never statically link against
+ rpm4 so this never came up before
+
+ * rc-md5.c (rc_md5): s/close/rc_close/
+
+2001-05-15 Joe Shaw <joe@ximian.com>
+
+ * rc-packman-private.h (RCPackmanPrivate): Add an extension field for
+ the default file extension. Added prototype for
+ rc_packman_set_file_extension().
+
+ * rc-packman.c (rc_packman_init): Set extension to NULL.
+ (rc_packman_set_file_extension): Added.
+ (rc_packman_get_file_extension): Added.
+
+ * rc-debman.c (rc_debman_init): Set the file extension to "deb".
+
+ * rc-rpmman.c (rc_rpmman_init): Set the file extension to "rpm".
+
+2001-05-14 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-channel.c (rc_channel_parse_xml): if file_path isn't specified,
+ don't copy path into it -- it should be null, since path is always
+ prepended.
+
+2001-05-07 Joe Shaw <joe@ximian.com>
+
+ * rc-md5.c (rc_md5): Close the file descriptor when we're done. Plugs
+ the infamous fd leak.
+
+2001-05-01 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Oops. fix bug where some dependants weren't getting
+ correctly upgraded.
+
+2001-05-01 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c: Change the string for Yellow Dog because it was totally
+ wrong before.
+
+2001-04-23 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: if the provide we read out of the
+ RPMTAG_PROVIDENAME is the same as the name of the package we're
+ in, don't include the provide, since it looks like rpmlib picked
+ up the same hack we did.
+
+2001-04-23 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: add some stupid /opt/gnome SuSE directories
+
+2001-04-23 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: sort of reverted older commit where we were passing a
+ dep to upgrade_or_remove package -- this doesn't make sense,
+ as we're trying to upgrade the /package/ not the dep -- so, the case
+ of foo-dev 1.0 requiring foo 1.0; we don't want to know about the
+ foo 1.0 dependency, we just want a newer foo.
+
+ * rc-deps.c: don't pull in an older version while trying to remove
+ the intermediate failed dependency on system package version; we
+ need to check if the "existing" package is newer, not merely
+ equal. I now realize that this makes no sense to anyone but me,
+ and I might as well have written about pink elephants and blue
+ clouds in this changelog.
+
+
+2001-04-23 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: a questionable but apparently necessary fix to no
+ longer break up the unpack onto multiple lines. Ugh.
+
+2001-04-22 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package.c: It helps to return a new packages array
+ from rc_package_slist_remove_older_duplicates.
+
+ * rc-package.c, rc-package.h: Added
+ rc_package_slist_remove_older_duplicates.
+
+2001-04-21 Ian Peters <itp@ximian.com>
+
+ * rc-distro.c: cleaned up, put YDL 1.2 in the list, removed
+ Caldera, fixed a LinuxPPC naming issue
+
+2001-04-21 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: some speed fixes; fixed the doubling bug (oops), also
+ we're a bit more smarter in finding an upgrade/remove package case.
+
+ * rc-package-dep.c: On rpm systems, don't merge dep items with
+ different epochs since the dependency semantics with epochs on
+ rpm are too weird.
+
+2001-04-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: only mark provides to avoid in provide_require_check
+ if nothing succeeds; otherwise we run the risk of marking something
+ as avoid that's really providing what we want.
+
+2001-04-20 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: fix my last commit
+
+2001-04-20 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: in rc_debman_verify, check the size of the file as
+ well
+
+2001-04-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-distro.c: We can't create a hash in dtype->extra_hash
+ if dtype is NULL. "Oops."
+
+ * rc-distro.c, rc-distro.h: add a RC_DISTRO_NO_GLIB conditional
+ section, for compiling rc-distro without a glib dependency.
+
+ * rc-distro.c: Mandrake uses -i586, debian potato is
+ debian-potato-i386, not -22-.
+
+ * rc-distro.c: recognize RH 7.1 by 7.1 in redhat-release, not
+ 7.0.9
+
+2001-04-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: oops. process system packages /before/ the package
+ that's about to be installed, so that we catch conflicts and the
+ like correctly.
+
+ * rc-deps.c: stopped calling deps_fix_missing in loop. This
+ probably isn't necessary any more; will need a good chunk of testing
+ to make sure, though.
+
+2001-04-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: don't make a conflict in some cases, but wait until
+ the end to see if it can indeed be provided
+
+2001-04-18 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (split_rpm): close the payload file when we're done
+ writing to it. This will fix a fd leak, as well as allowing the
+ unlink to actually succeed, meaning that the disk space will be
+ returned to the user. Reported to me from tigert via joe.
+
+2001-04-18 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: oops, get rid of some fprintfs
+
+ * rc-deps.c: Make sure that the require is added with the joined
+ name before we start adding other things, so that we don't get into
+ a nasty loop. Also break out of a loop of daps after we
+ upgrade_or_remove, as we probably lost the pointer at this point.
+ The duplicate dep bug exists now.
+
+2001-04-18 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (fill_depends): attempt to handle both the the pre
+ 3.0.3 and 3.0.4 and above cases for file dependencies. This
+ commit may be broken; I'll revert this commit if testing doesn't
+ pan out.
+
+2001-04-17 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (fill_depends): when adding the contents of an RPM
+ file in the provides list, handle the rpm < 3.0.4 case where we
+ don't have RPMTAG_BASENAMES, RPMTAG_DIRNAMES, or
+ RPMTAG_DIRINDEXES. Here we use the RPMTAG_FILENAMES tag, which
+ was renamed to RPMTAG_OLDFILENAMES in rpm 3.0.4 and above, and no
+ longer works.
+
+2001-04-16 Ian Peters <itp@ximian.com>
+
+ * rc-line-buf.c: corrected bizarre ben-bug behaviour
+
+ * rc-rpmman.c: add my file-deps hack, we can remove this later if
+ people object too much
+
+2001-04-13 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: when rpmRunTransactions returns < 0, don't treat
+ this as a bad error. Stupid rpm.
+
+2001-04-10 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c, rc-rpmman.h: introduce rc_rpm_open, rc_rpm_close,
+ and rc_rpm_read to wrap fdOpen, fdClose, fdRead, Fopen, Fclose,
+ and Fread. jbj makes me upset sometimes. Also get those symbols
+ from rpmlib when necessary.
+
+2001-04-10 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman-types.h: the borrowed FDIO struct from rpmio.h
+
+ * rc-rpmman.c: if we can't get fdOpen, maybe that's because fdOpen
+ is actually fdio->_open. did you ever think of that?
+
+2001-04-09 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: oops, fix an infinite loop case..
+
+2001-04-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: if we can't open rc-rpm-helper.so, try
+ rc-rpm-helper-with-rpmio.so, not rc-rpm-helper.so again. I suck.
+
+2001-04-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c, rc-rpmman.h: rename fd* to rc_fd*, because jbj is
+ an idiot. fixes a bug that only shows up on rpm 3.0.4. god what
+ a fucker.
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: sigh, s/RPMTAG_NAMES/RPMTAG_NAME/, this is the
+ problem with editing code you can't actually compile.
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: whoops, fix the rpmlead and signature references
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: the rpmlead and signature includes were the same
+ for rpm 3.0.x and 4.0.x, so just include the one copy regardless
+ of rpm version
+
+ * rpmlead-3-0-x.h, rpmlead-4-0-x.h, signature-3-0-x.h,
+ signature-4-0-x.h: removed
+
+ * rpm-rpmlead.h, rpm-signature.h: added
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.h, rc-rpmman.c: comment out all references to Ferror
+ for the time being. i was only using this twice, and in both
+ places if there's an error fdOpen should just return NULL anyway,
+ so this seems harmless. this was required because rpm 3.0.3 lacks
+ Ferror. sigh.
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-packman.h, rc-packman.c: added rc_packman_set_libdir and
+ rc_libdir, which let you configure the directory that rc-debman
+ and rc-rpmman look for the rc-*-helper.so files.
+
+ * rc-debman.h (rc_debman_set_helper): removed
+
+ * rc-debman.c (rc_debman_set_helper): removed
+ use rc_libdir where appropriate
+
+ * rc-rpmman.c: use rc_libdir to find the rc-rpm-helper*.so files
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_init): remove unused variable
+
+2001-04-04 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_init): reverse the order that we dlopen
+ the rc-rpm-helper files in. this is a weak attempt to get around
+ a potential glibc bug, this shouldn't affect how anything else
+ goes.
+
+2001-04-03 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_init): d'oh, it's rc-rpm-helper.so not
+ rpm-rpm-helper.so
+
+2001-04-03 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (vercmp): add a hack to correctly sort/compare alpha
+ and numeric chunks, so that ximian.1 is larger than 0_helix_1.
+
+2001-04-03 Ian Peters <itp@ximian.com>
+
+ * rc-md5.c: #include <config.h> to pick up on the endian check
+
+ * rc-rpmman.c: #if 0 out some code that just causes memprof to get
+ mad at me. It's not like rpmlib is ever going to free this shit
+ anyway.
+
+2001-04-02 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Fixed an unreported conflict case. Oops.
+ Not sure if this breaks anything else, shouldn't...
+
+2001-04-01 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: only add rpmhelperdir and rpmhelper_DATA if
+ ENABLE_RPM and not STATIC_RPM. don't get rid of libredcarpettmp.a
+ at the end of the libredcarpet.a STATIC_RPM case -- i don't know
+ why i did this in the first place, and now it doesn't get rebuilt
+ every time you pass over this target. i think. automake is still
+ my bitch.
+
+2001-04-01 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: add rc-rpmman-types.h to rpm_sources. add
+ rc-rpm-helper-with-rpmio.so and rc-rpm-helper.so to EXTRA_DIST.
+ Get rid of helperdir and helper_DATA, and conditionally use
+ rpmhelperdir, rpmhelper_DATA, dpkghelperdir, dpkghelper_DATA.
+ conditionally compile rc-dpkg-helper.c into rc-dpkg-helper.so,
+ otherwise just touch this file. remove libredcarpet.a in
+ clean-local. automake is now my bitch.
+
+2001-04-01 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: pick more proper names for the rpm .so files
+
+ * rc-rpmman.c: use those more proper names
+
+ * rc-rpm-helper.so, rc-rpm-helper-with-rpmio.so: here are those
+ more proper names we were speaking of
+
+2001-04-01 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: hacked it up to parse RPM_STATIC_LIBS and do some
+ ar magic to put the object files from those libraries into
+ libredcarpet.a.
+
+ * rc-rpmman.c: if RC_RPM4 is defined in the STATIC_RPM case, use
+ the rpm4 symbols, otherwise rpm3
+
+2001-03-30 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: dist rpm-sucks-with-rpmio.so and
+ rpm-sucks-without-rpmio.so
+
+ * rc-rpmman.h: include gmodule.h. Make major_, minor_, and
+ micro_version gint instead of guint. Optionally include a GModule
+ for the rpm_lib if we're using the dlopen hack.
+
+ * rc-rpmman.c: if RC_NO_RPM_DB is set, don't try to close the
+ database on destroy. Possibly g_module_close the rpm_lib on
+ destroy. Store the rpm_lib GModule in the rpmman struct.
+ g_module_open rpm-sucks-with-rpmio.so or
+ rpm-sucks-without-rpmio.so, not librpm.so and librpmio.so
+ directly.
+ (parse_rpm_version): correctly rip a version string, like x.y.z,
+ into major, minor, and micro parts.
+
+ * rpm-sucks-with-rpmio.so, rpm-sucks-without-rpmio.so: little
+ shared objects that link against the assorted rpm libraries.
+ These are generated with:
+ ld -shared -o rpm-sucks-with[out]-rpmio.so \
+ -lrpm [-lrpmio] -lpopt
+
+2001-03-30 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Got rid of a stray fprintf
+
+ * rc-package-dep.c: Make dep_to_str take an arg of '2' if you
+ want html-ized symbols (< instead of <, etc.) It's a gint
+ now instead of a boolean.
+
+2001-03-30 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: if we're building the static version, do the evil
+ hack, otherwise don't, just build the libredcarpet.a
+
+ * rc-rpmman-types.h: added. evil file with types we need to
+ compile on either rpm3 or rpm4 base platforms.
+
+ * rc-rpmman.c, rc-rpmman.h: eww. either dlopen the librpm.so file
+ and read symbols out of it, or use the statically linked versions.
+ wrap all rpm functions through function pointers in the rpmman
+ struct.
+
+2001-03-29 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c (deps_find_best_package_for_dep): Doh. Don't iterate
+ over the variable you just made a copy of in a temporary iterator.
+
+ * rc-deps.c (deps_find_provide): Only upgrade at most one package
+ per pass, since we might have the same package in there twice
+ at this point and we don't want to remove the wrong thing.
+
+2001-03-29 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c, rc-verification.c, rc-debman.h, rc-verification.h:
+ add some nasty hacks so that joe can override the location of the
+ .so and the .gpg files
+
+2001-03-27 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c (deps_add_anonymous_package): Do a bit of sanity
+ checking, make sure we never add an anonymous package that already
+ exists in some other form.
+ (deps_find_provide): don't assume that just because we found a
+ newer package for fixing a pdi that it will indeed fix it -- check
+ to make sure that package hasn't already been added to the list.
+
+2001-03-27 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (split_rpm): no need to set *md5sum to NULL
+ (rc_rpmman_verify): initialize md5sum to NULL, fixes BUG:1890,
+ BUG:2002
+
+ * rc-packman.c: make the marshaller static void to shut the whiny
+ compiler up ;-)
+
+2001-03-21 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c, rc-deps.h: Add creating of extra_info structures for
+ why packages need to be installed/upgraded.
+
+2001-03-21 Joe Shaw <joe@ximain.com>
+
+ * rc-distro.c (distro_types[]): Change the "extra_stuff" parameters of
+ the distros.
+ (rc_figure_distro): Added a hash table to the RCDistroType struct
+ called extra_hash and parse the extra_stuff string here.
+ (rc_distro_option_lookup): Added. Looks up an option in the extra_hash
+ hash table.
+
+2001-03-20 Joe Shaw <joe@ximian.com>
+
+ * rc-debman.c (rc_debman_verify): Do not crash if package->history
+ is NULL; don't do the md5sum if so.
+
+2001-03-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-info.c: When parsing debian packages.gz files, set
+ the installed_size on the update, not on the package -- this fixes
+ the debian package size calculation bug.
+
+2001-03-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c: Oopsie! Data allocated outside
+ of a loop should /not/ be freed inside the loop.
+
+2001-03-16 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: moved back to the older deprecated but still
+ functioning rpmio api. I think we maybe compile on RPM 3.0.3 now?
+
+2001-03-16 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): switch back to "\n" instead of
+ "<br>" in the error strings, we'll handle this in the GUI. New
+ approach to handling all of the different RPMSENSE_FOO defines,
+ try to avoid the ?? relation.
+
+2001-03-13 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): put "<br>" instead of "\n"
+ into error strings, sigh
+
+2001-03-12 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (vercmp): handle the broken "mdk" stuff
+
+2001-03-12 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_read_header): revert last, we'll fix it
+ in vercmp instead, otherwise users would see this in the GUI
+
+2001-03-12 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_read_header): handle the broken "mdk"
+ parts of the release when dealing with Mandrake, sigh
+
+2001-03-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): cast the transact_cb to
+ rpmCallbackFunction to avoid one last warning, since Vlad went to
+ all this trouble
+
+2001-03-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): g_string_sprintfa probably
+ wants a GString as the first argument
+
+2001-03-09 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c, rc-deps.c, rc-deps.h, rc-pretty-name.c: Made
+ these warning clean. Also cought a bug in rc-deps.c (oops!)
+
+ * rc-package-section.c, rc-package-section.h: Created
+ rc_package_section_to_user_string ().
+
+2001-03-08 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (do_unpack_read_line_cb): handle "Unpacking
+ replacement foo" as well as "Unpacking foo"
+ move the verify_status stuff to the top of the file to fix a
+ warning
+
+2001-03-08 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_init): only open the database for writing
+ if we're root; otherwise open the database for reading only
+
+2001-03-08 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): avoid using the
+ rpmErrorCallback stuff, instead use the rpmProblemSet information
+ as appropriate given the return value of rpmRunTransactions.
+ Let's see if this approach works any more reliably.
+
+2001-03-07 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-spec.c, rc-package-spec.h: Added
+ rc_package_spec_slist_find_name -- to search
+ for a name in a list of packages, for example.
+
+2001-03-07 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): so this should work for
+ reporting conflict errors through the rc_packman_set_error pathway
+
+ * rc-rpmman.c (rc_rpmman_transact): some loving to the rpm
+ dependencies reporting stuff. It still just dumps it to stderr,
+ but we'll work on that.
+
+ * rc-rpmman.c (transaction_add_remove_packages): don't shadow the
+ definition of count and trample all over things. D'oh.
+
+ * rc-packman.c: define my marshaller correctly to avoid stupid
+ warnings. La la la.
+
+ * rc-rpmman.c (rc_rpmman_transact): correctly initialize elements
+ of state to avoid a segfault, and then some nasty counting errors.
+
+2001-03-07 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c, rc-deps-util.h: Some code for getting nice
+ user-style error strings about missing packages and conflicts.
+
+ * rc-package-spec.c, rc-package-spec.h: Created
+ rc_package_spec_version_to_str.
+
+ * rc-package-dep.h: Minor comment.
+
+2001-03-07 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transaction_add_install_packages): guint instead of
+ gboolean, return the expected number of package installations, 0
+ on error
+ (transaction_add_remove_packages): same as above, more pertinent
+ given the multi-install problem addressed on 3/5. Some other
+ random cleanups / clarifications when handling rpm return values
+ to hopefully be more clear about what's an error and what's not.
+ (rc_rpmman_transact): put state on the stack so we don't need to
+ worry about leaking it, I was leaking it before. Get
+ install_total and remove_total from _add_install_packages and
+ _add_remove_packages. Pass it by reference into the callback.
+ Only add install and remove packages if install_packages or
+ remove_packages are non-NULL. General clarifications.
+
+2001-03-06 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transaction_add_remove_packages): move the
+ rpmdbFreeIterator call to outside of the while look, I'm a moron,
+ and remove a spurious call to rpmdbNextIterator, I'm a moron
+ (rc_rpmman_query_all): remove an unneeded call to headerFree, and
+ free the iterator at the end of the scan
+
+2001-03-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transaction_add_remove_packages): comment out the
+ code paths that error out when multiple packages match the string
+ we're removing on. Apparently, in the real world this isn't such
+ an error case. Also, for RPM 4.0 make sure we remove all packages
+ which match the label.
+
+2001-03-04 Ian Peters <itp@ximian.com>
+
+ * rc-line-buf.c (rc_line_buf_cb): handle G_IO_ERR in addition to
+ G_IO_HUP, perhaps this will fix the defunct dpkg problem. I don't
+ know how to recreate, so this is just a guess, but it makes sense
+ to me.
+
+2001-02-28 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (i18n_fixer): added. fixes the language issues with
+ dpkg I think. Switch to new RCPackman signals
+
+ * rc-packman.c, rc-packman.h: make sane the signals RCPackman
+ emits
+
+ * rc-rpmman.c, rc-rpmman.h: use these new sane signals
+
+2001-02-27 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: ewpz. don't get rid of old provides conflicts if the
+ new one is the same as the old one.
+
+ * rc-deps.c: updated rant
+
+ * rc-deps.c: Get rid of old provides conflicts if there is a new one
+ coming in, doh.
+
+ * rc-deps.c: Fix typo causing segfault due to a variable being NULL
+
+2001-02-26 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Made remove and install work correctly. Removes are
+ correctly partial now as well.
+
+ * rc-package-dep.c: undef'd DEBUG -- it spews way too much info than
+ necessary at -d 6
+
+ * rc-deps.c, rc-deps.h: New nifty partial tree stuff. Should work,
+ I hope. Any package that is installed on the system is assumed to be
+ "ok", and its dependencies are not checked.
+
+ * rc-deps-util.c: Call rc_dep_resolution_resolve_system
+
+ * rc-distro.c: add linuxppc
+
+ * rc-rpmman.c: Changed a break to a continue to make the
+ verrev-string splitting thing work.
+
+2001-02-25 Ian Peters <itp@ximian.com>
+
+ * Makefile.am: add -DLIBDIR=... to the INCLUDES line, and install
+ rc-dpkg-helper.so into $(libdir)/redcarpet
+
+ * rc-debman-private.h: make the status_file member const
+
+ * rc-debman.c: grab the helper out of LIBDIR instead of SHAREDIR,
+ access the status_file and rc_status_file from the debman
+ consistantly
+
+ * rc-rpmman.h: rename db to read_db for clarity
+
+ * rc-rpmman.c: s/db/read_db/ where appropriate. Open the rpm
+ database O_RDONLY initially, hold this lock while RC is running.
+ (rc_rpmman_transact): open the rpm database O_RDWR and use this
+ for creating and running the transaction.
+
+2001-02-24 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (rc_figure_distro): Don't error out if we can't
+ determine what architecture the user is on. Instead return NULL and
+ let the front-end deal with it.
+
+ * rc-distman.c (rc_distman_new): Ditto, except with the distro instead
+ of the arch. (BUG:1425)
+
+2001-02-20 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c, rc-deps-util.h: GPL message
+
+ * rc-md5.c: license notice
+
+2001-02-20 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact):
+ s/install_flags/transaction_flags/
+
+ * rc-rpmman.c (rc_rpmman_transact): add some install_flags and
+ problem_filter action, woowoo
+
+2001-02-19 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * Makefile.am: oops, fix typo for dist
+
+ * rc-package-dep.c: rpm sucks my ass and ignores epochs and/or releases
+ in comparisons if they're not specified in the dependency -- so now
+ we do that for all deps, not just equals.
+
+ * rc-deps-util.c: Oops. Remove all but the /newest/ duplicate,
+ not all but the oldest (doh!)
+
+2001-02-16 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps-util.c, rc-deps-util.h: New files that have some verification
+ stuff in them.
+
+ * rc-package.c, rc-package.h: rc_package_slist_find_duplicates (for
+ verification)
+
+ * Makefile.am: Add rc-deps-util.[ch]
+
+2001-02-12 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package-set.h: Fix #endif to get rid of compiler warning
+
+ * rc-deps.c: Attempt to fix brokenness introduced by earlier
+ commit. Removes are more intelligent and robust now (we can use
+ upgrade_or_remove knowing that the remove will happen corerctly
+ later).
+
+ * rc-debug-misc.c, rc-debug-misc.h: Added debug_rc_package_slist_dump.
+
+2001-02-10 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Do more intelligent checking when deciding what to
+ remove due to a conflict. Set the channels before populating
+ hashes with system pkgs, in case something needs to be fixed. Also
+ protect against installing the same package multiple times. This
+ needs some testing love.
+
+2001-02-09 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): check the number of conflicts
+ as well as the return code, don't I suck
+
+2001-02-09 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Fix conflict resolution (fixes Mandrake 7.0 bug)
+
+2001-02-08 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c (distro_figurers): Move Mandrake ahead of Red Hat,
+ because Mandrake (7.0, anyway) has /etc/redhat-release.
+
+2001-02-08 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-distro.c: Oops. check for architecture the "correct" correct way.
+
+ * rc-deps.c: Fixed rpm breakage introduced.
+
+ * rc-deps.c: Okay, so even more fixications. Will test on redhat.
+
+2001-02-07 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.h: oops, this one too
+
+ * rc-deps.c: More fixications for debian. All known breakage cases don't
+ break now.
+
+ * rc-deps.c: Fix for installing packages that conflict with eachother in the
+ install step.
+
+2001-02-07 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_section_to_package_section): stop leaking
+ and give it love
+
+2001-02-07 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_section_to_package_section): added. don't look at this function
+ (rc_rpmman_read_header): use it here
+
+2001-02-06 Joe Shaw <joe@ximian.com>
+
+ * rc-package-importance.c: Ditch RC_IMPORTANCE_NEW and RC_IMPORTANT_MAX
+
+2001-02-06 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Fixed a few debian issues...
+
+2001-02-06 Joe Shaw <joe@ximian.com>
+
+ * rc-distro.c: Add Caldera to distro_figurers and distro_types.
+
+2001-02-06 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Fix for fixing RPM systems. Debian might
+ feel ignored.
+
+2001-02-05 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: finish moving the db into the RCRpmman struct
+
+2001-02-02 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Yay for typos. Made debian conflicts (mostly) work
+ again. Nuked a single line so a list wasn't getting looked up
+ and was always null..
+
+2001-02-01 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: bite me
+
+ * rc-rpmman.h: move the rpmdb into the RCRpmman struct
+
+ * rc-rpmman.c: remove all calls to rpmdbOpen, rpmdbClose, etc.
+ (rc_rpmman_init): rpmdbOpen here
+ (rc_rpmman_destroy): rpmdbClose here
+ (rc_rpmman_transact): check the rpmRunTransactions return code and
+ do something intelligent with it
+
+2001-01-31 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Made redhat 6 and 7 work. Yay. Broke things
+ on debian. Boo.
+
+
+2001-01-31 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_error_cb): Stupid rpmlib doesn't
+ differentiate between fatal and non-fatal errors
+
+2001-01-31 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): add a call to rpmdepCheck on
+ the transaction before we try to run it, duh
+
+2001-01-30 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * Makefile.am: use $srcdir for dpkg-helper to make distcheck
+ correctly.
+
+ * rc-deps.c: EEEEK. What was I thinking? Unbreak deps on redhat
+ (and possibly lots on debian too).
+
+ * rc-package-info.c: minor align fix
+
+2001-01-30 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (vercmp): try again
+
+2001-01-30 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (vercmp): fixed to be more like the one in rpm4,
+ fixes the xinetd bug on rh7
+
+2001-01-30 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Tasty treats for debian users. Less crash, more happy!
+ Kozmo can't touch this!
+
+2001-01-30 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (transact_cb): with a hack hack here and a hack hack
+ there, here a hack, there a hack, everywhere a hack hack...
+
+2001-01-30 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c, rc-deps.h: More yum yum fixes. Shouldn't
+ crash now, purify is happy.. also added some _frees
+ so that we can recover that memory usage!
+
+2001-01-29 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: ewpz. don't get stuck in an infinite iteration
+ when removing a require at some point.
+
+2001-01-29 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (make_unpack_commands): correctly sysconf for
+ ARG_MAX instead of guessing
+
+2001-01-29 Joe Shaw <joe@ximian.com>
+
+ * rc-packman.c (rc_packman_get_error): If there is no packman object,
+ that's a fatal error.
+
+2001-01-29 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): get rid of a broken
+ transaction step, add some rpmError handling, etc
+
+ * Makefile.am: add $(GLIB_CFLAGS) to the includes
+
+2001-01-29 Ian Peters <itp@ximian.com>
+
+ * rc-verification.c (rc_verify_gpg): set --logger-fd to 1 instead
+ of 2, which is the fd the RCLineBuf is listening on. It's ok,
+ since it'll ignore hte lines that don't begin with [GNUPG:], and
+ this shuts up the
+ I'm-gpg-I-won't-shut-up-even-with-the-quiet-option-crap that
+ everyone has complained about.
+
+2001-01-29 Joe Shaw <joe@ximian.com>
+
+ * rc-channel.h: Added pkgset_file and pkgset_compressed.
+
+ * rc-channel.c (rc_channel_parse_xml): Parse pkgset_file and
+ pkgset_compressed.
+ (rc_channel_free): Free pkgset_file and pkgset_compressed.
+
+ * rc-pretty-name.c (rc_pretty_name_lookup): Handle the case if
+ the hash table is NULL.
+
+2001-01-29 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-package.c: do de de
+
+ * rc-package.c, rc-package.h: Add
+ rc_package_slist_sort_by_pretty_name.
+
+ * rc-deps.c: la la la
+
+ * rc-deps.c: Okay, so, try to do some sort of conflict
+ notification.
+
+ * rc-deps.c, rc-deps.h: Oops. count /correctly/ for the recursion.
+ Also add notification of abort.
+
+ * rc-pretty-name.c: get rid of debug fprintf
+
+2001-01-29 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c: pass some carefully chosen --force-foo options to
+ dpkg to avoid failures on fairly benign situations
+
+2001-01-29 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * Makefile.am, rc-pretty-name.c, rc-pretty-name.h, libredcarpet.h:
+ Pretty names, pretty names.
+
+ * rc-distro.c: Figure out that debian is x86, assbarn.
+
+2001-01-28 Ian Peters <itp@ximian.com>
+
+ * rc-distman.c: change the ENABLE_RPM3 / ENABLE_RPM4 to ENABLE_RPM
+
+2001-01-28 Vladimir Vukicevic <vladimir@ximian.com>
+
+ * rc-deps.c: Lots of yummy fixes. Removes work better,
+ debian works better, etc.
+
+ * rc-distro.c: added mdk 7.2
+
+2001-01-26 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (make_unpack_commands): overhauled, made it use
+ const strings, since that's all that was ever there, a little more
+ efficient I think
+ (do_unpack): make all dpkg --unpack commands once first with the
+ --no-act option, and only if this succeeds do we proceed to
+ actually screw things up
+ (rc_debman_init): add call to rc_package_dep_system_is_rpmish
+
+ * rc-rpmman.c (rc_rpmman_init): add call to
+ rc_package_dep_system_is_rpmish
+
+2001-01-26 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.c, rc-package-dep.h: New
+ rc_package_dep_system_is_rpmish call.
+
+ * rc-deps.c: VASTLY improved debian dependency code. Conflits
+ are moslty handled correctly. Debian stupid-self-conflicts are
+ handled. Packages are correctly uninstalled. The code itself
+ has a lot of cruftiness laying around; it's going to need some
+ massaging to look pretty, but it, apparently, works.
+
+ * rc-deps.h: added dep_print_results
+
+ * rc-debug-misc.c, rc-debug-misc.h: Moved dep_print_results into
+ rc-deps.c.
+
+ * rc-package-dep.c: Oops, keep iterating the list, silly!
+
+ * rc-package-dep.h: new warning about RCPackageDepItem
+
+ * rc-package-info.c: fixed some formatting bugs.
+
+ * ChangeLog: Fixed itp's HR blunder.
+
+2001-01-25 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_query): BLEEP me. I hate rpmlib. Not
+ finding something in a database isn't a failure, it's a successful
+ search.
+
+2001-01-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c: oops. don't remove the list we're traversing
+ from under us.
+
+2001-01-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c, rc-deps.h: More yummy fixes. I'm feeling much more
+ confident about debian now. gaim-gnome $!@# doesn't work, still.
+ I know why, just haven't poked the right place to fix it.
+
+2001-01-24 Ian Peters <itp@ximian.com>
+
+ * rc-package-info.c (debian_packages_helper): Instead of "No
+ information available", we instead say "Upstream Debian release"
+
+ * rc-debman.c (do_unpack): add the --auto-deconfigure option to
+ the unpack line
+
+2001-01-24 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: global cleanup, pkg to package, p to packman, hdr
+ to header, etc
+ (GTKFLUSH): added this macro to flush pending gtk events
+ (transact_cb): add calls to GTKFLUSH after every signal emission
+ (transaction_add_install_packages): renamed, cleaned up, add lots
+ of calls to rc_packman_set_error
+ (transaction_add_remove_packages): ditto
+ (rc_rpmman_transact): updated to name changes, cleanup, error
+ handling
+ (split_rpm): added, does much of the work that used to be in
+ rc_rpmman_verify
+ (rc_rpmman_verify): call split_rpm, factor the code better
+
+2001-01-24 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.c: If you're going to use autoconf config.h
+ flags in your code, it helps to include config.h. It also
+ helps to get the right name of the variable.
+
+2001-01-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.c: Use rpmish semantics only if RPM is compiled in
+
+ * rc-deps.c: use rc_package_slist_sort_by_spec, not the one that
+ got renamed to _by_name!
+
+ * rc-package-spec.c, rc-package-spec.h: rc_package_spec_compare
+
+ * rc-package.c, rc-package.h: rc_package_slist_sort_by_spec
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * red-carpet.gpg: added keys for Red Hat, Caldera, TurboLinux,
+ Linux Mandrake, and SuSE
+
+2001-01-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-distro.c: erm, get it right.
+
+ * rc-distro.c: Add Scyld Beowulf 2.0
+
+ * rc-package.c: Hmmm. You really -can't- strcmp() two
+ RCPackage *'s, no matter how much you try.
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * rc-debman.c (do_purge): s/dpkg-helper/rc-dpkg-helper/
+ (do_unpack): ditto
+ (do_configure): ditto
+
+2001-01-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-spec.c, rc-package-spec.h: I want
+ (g-slist-find-custom requestd_pkgs pkg
+ (lambda (a b) (not (package-spec-equal a b))))
+ (Added package_spec_not_equal)
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c (rc_packman_query): remove busy check
+ (rc_packman_query_file): remove busy check
+ (rc_packman_query_all): remove busy check
+ (rc_packman_verify): remove busy check
+ (rc_packman_find_file): remove busy check
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c: add install_extra to InstallState
+ (transact_cb): add the install_extra to the transaction total.
+ Only switch to the configuring state if we're installing things.
+ (rc_rpmman_transact): calculate the install_extra by querying if
+ packages to be installed have older already installed versions
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * rc-packman.c (rc_packman_query): comment out busy check
+ (rc_packman_query_file): comment out busy check
+ (rc_packman_query_all): comment out busy check
+ (rc_packman_verify): comment out busy check
+ (rc_packman_find_file): comment out busy check
+
+2001-01-23 Ian Peters <itp@ximian.com>
+
+ * rc-rpmman.c (rc_rpmman_transact): first pass at code to handle
+ the additional transactions generated by upgrading rpm packages
+
+2001-01-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-debug-misc.c, rc-debug-misc.h: Add an optional debug level
+ to printing routines.
+
+ * rc-deps.c, rc-deps.h: Revert to a little older version which works
+ well for redhat, has some issues for debian.
+
+ * rc-package-dep.c: Change verify_and_relation to take an is_virtual
+ parameter, for debian. Also some epoch/release hacks for RPM.
+
+ * rc-package-info.c: Add the is_virtual stuff to find_package.
+
+2001-01-23 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c: replaced some tabs with the correct number of
+ spaces
+ (rc_rpmman_query): back to using RPMDBI_LABEL, I guess
+ (rc_rpmman_find_file): nothing changed here; I just wanted to
+ point out that my first attempt at writing this for rpm4 worked.
+ ;-)
+
+2001-01-23 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c (rc_rpmman_query): s/RPMDBI_LABEL/RPMDBI_NAME/,
+ after conversation with msw
+ (rc_rpmman_find_file): rpm4 version initial pass, let's see if
+ this works
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.h: distro_target is now a GSList* of gchar*, not just
+ gchar*
+
+ * rc-channel.c: as above; split the xml distro_target on : to get
+ a list of distros to work with. Basically this is channel
+ aliasing; we can now say
+ distro_target="redhat-60-i386:redhat-61-i386:redhat-62-i386" and
+ it'll just work
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c (rc_rpmman_find_file): stubbed out for rpm4, need to
+ talk to msw. fixed a memory leak in the rpm3 version
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c (rc_rpmman_find_file): added. rpm3 only right now,
+ I'll test it and then write rpm4
+
+ * rc-debman.c (rc_debman_find_file): add one last
+ rc_packman_set_error
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (rc_debman_find_file): add some rc_packman_set_error
+ calls where appropriate
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c: remove some spurious rpm includes
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-verification.c (rc_verify_gpg): don't pass the
+ --no-auto-key-retrieve option, as it does not appear to be present
+ in gpg 1.0.1 on RH6.2. Initialize the verification as
+ RC_VERIFICATION_STATUS_UNDEF instead of the default,
+ RC_VERIFICATION_STATUS_FAIL
+
+2001-01-22 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.c, rc-channel.h, rc-debman-general.c,
+ rc-debman-general.h, rc-debman-private.h, rc-debman.h,
+ rc-debug-misc.c, rc-distman.c, rc-line-buf-private.h,
+ rc-line-buf.c, rc-pakcage-dep.c, rc-package-importance.c,
+ rc-package-info.c, rc-package-section.c, rc-package-set.c,
+ rc-package-set.h, rc-package-spec.c, rc-package-update.c,
+ rc-package-update.h, rc-package.c, rc-package.h,
+ rc-packman-private.h, rc-packman.c, rc-packman.h, rc-rpmman.c,
+ rc-rpmman.h, rc-util.c, rc-verification.c, xml-util.h: fixed some
+ include files
+
+2001-01-21 Ian Peters <itp@helixcode.com>
+
+ * libredcarpet.h: this hasn't been maintained in a while, so I
+ just fixed it
+
+2001-01-21 Ian Peters <itp@helixcode.com>
+
+ * rc-dpkg-helper.c: moved from dpkg-helper.c
+
+ * Makefile.am: s/dpkg-helper/rc-dpkg-helper/g
+
+2001-01-21 Ian Peters <itp@helixcode.com>
+
+ * dpkg-helper.c, libredcarpet.h, rc-channel.c, rc-channel.h,
+ rc-debman-general.c, rc-debman-general.h, rc-debman-private.h,
+ rc-debman.c, rc-debman.h, rc-debug-misc.c, rc-debug-misc.h,
+ rc-debug.c, rc-debug.h, rc-deps.c, rc-deps.h, rc-distman.c,
+ rc-distman.h, rc-distro.c, rc-distro.h, rc-line-buf-private.h,
+ rc-line-buf.c, rc-line-buf.h, rc-package-dep.c, rc-package-dep.h,
+ rc-package-importance.c, rc-package-importance.h,
+ rc-package-info.c, rc-package-info.h, rc-package-section.c,
+ rc-package-section.h, rc-package-set.c, rc-package-set.h,
+ rc-package-spec.c, rc-package-spec.h, rc-package-update.c,
+ rc-package-update.h, rc-package.c, rc-package.h,
+ rc-packman-private.h, rc-packman.c, rc-packman.h, rc-rpmman.c,
+ rc-rpmman.h, rc-util.c, rc-util.h, rc-verification-private.h,
+ rc-verification.c, rc-verification.h, xml-util.c, xml-util.h:
+ fixed licensing and copyright
+
+2001-01-21 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (do_purge): check if dpkg exists in /usr/bin/dpkg
+ before trying to run it
+ (do_unpack): ditto
+ (do_configure): ditto
+
+2001-01-21 Ian Peters <itp@helixcode.com>
+
+ * rc-verification.c (gpg_read_line_cb): don't create the
+ verification in several places, it was already created and passed
+ in initialized
+ (rc_verify_gpg): create the RCVerification, initialize it
+ correctly, return an RC_VERIFICATION_STATUS_UNDEF instead of NULL
+ if we fail for some reason. Fucking check if gpg is in the PATH
+ before we blindly exec it like the dumbass I am. Closes mothra
+ #something or other. execlp the gpg_command instead of "gpg". If
+ exec fails, _exit instead of returning
+
+ * rc-util.c (rc_is_program_in_path): added rc_file_exists, which I
+ shamelessly stole from gnome-libs
+
+ * rc-util.h: added rc_file_exists
+
+2001-01-19 Ian Peters <itp@helixcode.com>
+
+ * rc-package-info.c (debian_packages_helper): replace strcmp mess
+ with call to rc_debman_section_to_package_section
+
+ * rc-package-importance.c, rc-package-importance.h: added.
+ contains the RCPackageImportance stuff moved from
+ rc-package-update.[ch], and optimized a bit.
+
+ * rc-package-update.c, rc-package-update.h: remove
+ RCPackageImportance stuff.
+
+ * Makefile.am: add rc-package-importance.[ch] to
+ libredcarpet_a_SOURCES
+
+ * rc-package-update.h: rename SECTION_* to RC_SECTION_*
+
+ * rc-package-update.c: ditto.
+ (rc_package_update_to_string): change strings output from
+ SECTION_FOO to foo
+ (rc_string_to_package_update): ditto
+
+ * rc-debman-general.c (rc_debman_section_to_package_section):
+ s/SECTION_/RC_SECTION_/
+
+ * rc-rpmman.c (rc_rpmman_check_match): s/SECTION_/RC_SECTION_/
+
+2001-01-19 Ian Peters <itp@helixcode.com>
+
+ * rc-package-update.c (rc_xml_node_to_package_update):
+ s/"installed_size"/"installedsize"/ so we stop getting installed
+ size's of 0
+
+2001-01-18 Ian Peters <itp@helixcode.com>
+
+ * red-carpet.gpg: added. contains our public key, so far
+
+ * Makefile.am: install red-carpet.gpg in $(datadir)/redcarpet, and
+ put it in EXTRA_DIST
+
+2001-01-18 Ian Peters <itp@helixcode.com>
+
+ * rc-deps.c, rc-deps.h (rc_dep_resolution_new): remove the packman
+ paramater
+ (rc_dep_set_packman): added
+
+2001-01-18 Ian Peters <itp@helixcode.com>
+
+ * rc-package-section.c, rc-package-section.h: added. Some stuff
+ moved out of rc-package.[ch]
+
+ * Makefile.am: add rc-package-section.[ch] to
+ libredcarpet_a_SOURCES
+
+ * rc-packman-private.h, rc-packman.c
+ (rc_packman_generic_version_compare): Added. Compares to
+ RCPackageSpec's given a strcmp-like comparison function
+
+ * rc-rpmman.c (vercmp): added. The hacked up vercmp function
+ originally stolen from rpm, freshly moved from rc-package-spec.c,
+ with a few more changes
+ (rc_rpmman_version_compare): added. Call
+ rc_packman_generic_version_compare with vercmp
+
+ * rc-debman.c (verrevcmp): added. Stolen from dpkg, much like
+ vercmp from rpm
+ (rc_debman_version_compare): added. Call
+ rc_packman_generic_version_compare with verrevcmp
+ (rc_debman_class_init): insert rc_debman_version_compare into
+ packman_class
+
+ * rc-debman-general.c (rc_debman_parse_version): alloca the input
+ before we modify it to protect against const strings, changes as
+ appropriate. Find the /last/, not the first '-' when we split
+ version and release apart, bug discoverd in gdm
+ 2.0-0.beta4-helix1.12.
+
+ * rc-channel.c, rc-channel.h (rc_find_best_package): moved to
+ gui-channel.c
+
+ * rc-package-spec.c, rc-package-spec.h (rc_package_spec_compare):
+ removed. This isn't possible to get right without knowing which
+ backend we're using, which is why it's in the RCPackman now.
+ (rc_package_spec_copy): get the order right -- dest, src
+
+ * rc-package-info.c (debian_packages_helper): fix call to
+ rc_package_spec_copy
+
+ * rc-package-update.c (rc_package_update_copy): fix call to
+ rc_package_spec_copy
+
+ * rc-package.h, rc-package.c: fix some naming conventions, rename
+ rc_package_slist_sort to rc_package_slist_sort_by_name for
+ clarity. Break out the RCPackageSection stuff, as above
+ (rc_package_compare_func): removed, unused and broken
+
+ * rc-deps.h, rc-deps.c (rc_dep_resolution_new): add an RCPackman
+ to the interface, which sets das_global_packman variable -- gross
+ hack to deal with the broken design. Change all calls to
+ rc_package_spec_compare to rc_packman_compare_version
+
+ * rc-package-dep.c: extern das_global_packman, change all calls to
+ rc_package_spec_compare to rc_packman_compare_version
+
+2001-01-16 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c: Fix a couple cases where I forgot to update a
+ format string when I got rid of one of the inputs, this explains
+ the real garbage Joe was seeing
+
+2001-01-16 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (debman_poll_write_cb): only need to handle \t, not
+ \r here anymore
+
+ * rc-line-buf.c (rc_line_buf_cb): handle the \r\n case -- when we
+ hit a \n, backtrack a step and see if we should chop off the \r
+ too
+
+2001-01-16 Ian Peters <itp@helixcode.com>
+
+ * rc-util.c, rc-util.h: Added rc_close
+
+ * rc-line-buf.c, rc-line-buf.h, rc-line-buf-private.h: Added
+ license information. Made the fd get/settable via GtkArg.
+ rc_line_buf_new now takes no paramaters, use rc_line_buf_set_fd
+
+ * rc-verification.c, rc-verification.h: update to the new
+ RCLineBuf API, generic cleanups, license information, #include
+ file fixes, and debugging code added
+
+ * rc-rpmman.c: #include file fixes, twiddle with some calls to
+ rc_packman_set_error
+
+ * rc-packman.h: tweak the RCPackmanError values
+
+ * rc-packman-private.h: Add rc_packman_clear_error, and make
+ rc_packman_set_error use varargs, and prepend the passed string,
+ colon separated, to the current error reason, and calculate the
+ new RCPackmanError value
+
+ * rc-packman.c: add some calls to rc_packman_clear_error, change
+ some calls to rc_packman_set_error to reflect the new
+ RCPackmanError values, add rc_packman_clear_error, and rewrite
+ rc_packman_set_error
+
+ * rc-debman-general.h: fix some #include lines, add
+ rc_debman_section_to_package_section
+
+ * rc-debman-general.c: add rc_debman_section_to_package_section
+
+ * rc-debman-private.h: move status_file and rc_status_file into
+ the RCDebmanPrivate struct
+
+ * rc-debman.c: where oh where to start. Handle all the possible
+ Debian interactive cases, including interactive unpack,
+ interactive configure, interactive purge. Handle the broken
+ conf-file crap to STDERR. Make the little dialog use a fixed
+ width font. Catch all sorts of error conditions, and call
+ rc_packman_set_error appropriately, including the severity and a
+ valid description of what occured. Change lots of calls to use
+ rc_debug. Clean up a lot of code. Push the PAGER environment
+ variable as cat to avoid some nasty surprises. Lots of other
+ stuff that I'm forgetting, but it's all good. ;-)
+
+2001-01-06 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c, rc-deps.h: Fix some more conflict handling
+ love. Debian hates me.
+
+2001-01-05 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-channel.c, rc-debman-general.c,
+ rc-debug-misc.c, rc-deps.c,
+ rc-package-dep.c, rc-package-info.c,
+ rc-package-spec.c: use rc_debug instead of
+ g_warning/g_print/fprintf/etc
+
+2001-01-04 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.h: remove the dep_table pointer in the
+ RCChannel struct
+
+ * rc-channel.c: assorted cleanups, reflect the above
+ change
+
+ * rc-package-info.c (rc_subchannel_parse_debian):
+ create the dep_table in the subchannel, not the channel
+
+2001-01-04 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-distman.c: Bail if we can't figure out
+ what kind of distro this is (don't crash)
+
+ * rc-distro.c: Call debian testing/unstable
+ unstable.
+
+ * rc-deps.c: Look for the dep_table in the
+ correct subchannel, not the channel's main dep_table. Also
+ some more conflict loving.
+
+ * rc-deps.h: Conflict loving changes.
+
+2001-01-03 Ian Peters <itp@helixcode.com>
+
+ * rc-debman-general.c: add some includes, fix some
+ other includes, contribute a faster version of
+ rc_debman_parse_version, and add some debugging code
+
+ * Makefile.am: add BUILD_CFLAGS to INCLUDES
+
+2001-01-03 Ian Peters <itp@helixcode.com>
+
+ * rc-common.h: removed
+
+ * rc-debug.c, rc-debug.h: added.
+ contains RC_ENTRY, RC_EXIT, and some simple structure for
+ debugging levels, etc. Not really used anywhere yet.
+
+ * Makefile.am: add rc-debug.[ch], remove rc-common.h
+
+ * libredcarpet.h: fix include paths, kill reference
+ to rc-common.h, add rc-debug.h
+
+ * rc-debman.c: s/rc-common/rc-debug/
+
+ * rc-channel.c: s/rc-common/rc-debug/ and fix the
+ include paths
+
+ * rc-package-info.c: ditto
+
+2000-12-28 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c: Oops. don't crash if what is null
+ in a conflict when printing it.
+
+2000-12-27 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c, rc-deps.h: Some intelligent
+ things about conflicts. They are mostly recognized now. The info
+ that comes out isn't perfect, but it's a start. gaim vs. gaim-gnome
+ works now ;-)
+
+2000-12-22 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: typo
+
+ * rc-package-info.c, rc-debman.c:
+ include debman-general
+
+2000-12-22 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: fixing for new config.in
+
+ * rc-debman-general.c: New file containing useful things,
+ even if rc-debman isn't compiled in
+
+ * rc-distman.c: fixes for selecting the right packmans
+ to include
+
+ * rc-debman.c: removed stuff into rc-debman-general.c
+
+ * rc-distro.c: some new distros
+
+2000-12-22 Ian Peters <itp@helixcode.com>
+
+ * rc-package-update.h, rc-package-update.c:
+ General sanity checking, throw some const's in, g_return(_val)_if_fail
+ in a few places, yada yada yada
+
+2000-12-19 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.c, rc-channel.h: added
+ rc_channel_get_subchannel to return a pointer to the subchannel by
+ id
+
+2000-12-18 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c: Small fix to fix things
+ that need fixing. (Vague? Yes.)
+
+2000-12-18 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: add rc-debman-private.h,
+ rc-verification-private.h, rc-line-buf-private.h to
+ sources line for dist
+
+2000-12-18 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-deps.c: Small fix to avoid
+ bizzare unnecessary conflicts.
+
+2000-12-15 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-debman.c: Change deps.h to rc-deps.h
+
+2000-12-15 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: Added rc-debug-misc and rc-deps
+
+ * rc-deps.c: New dependency bits. Somewhat
+ less broken than the old code, right now somewhat more
+ in some ways. Conflicts, in particular, need help (and the
+ whole virtual conflict thing on redhat).
+
+ * deps.c: removed.
+
+ * libredcarpet.h: Changed deps -> rc-deps
+
+ * rc-channel.c: fixes to find_best_package
+ to use new pkginfo API
+
+ * rc-package-dep.c: Added lots of code
+ to verify AND relationships in deps
+ (rc_package_dep_verify_and_relation,
+ rc_package_dep_verify_and_slist_relation), also fixed
+ rc_package_dep_item_verify_relation. Also code to merge
+ dependencies (for deps code).
+
+ * rc-package-info.c: code to handle
+ AND dependencies for finding new packages.
+
+2000-12-07 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c (rc_subchannel_free): Don't destroy the
+ dep_table if it is NULL.
+
+2000-11-29 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c (rc_xml_node_to_channel): Back out the
+ #if 0.
+
+2000-11-29 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c (rc_xml_node_to_channel): #if 0ed out some
+ code that was keeping channel lists from parsing. Ian, please fix this
+ up if it's not right.
+
+2000-11-21 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c (rc_channel_free): Removed reference to
+ RCChannel->title_file.
+ (rc_channel_parse_xml): Ditto.
+
+ * rc-channel.h (RCChannel): Removed title_file, added
+ featured, although it isn't handled at all yet.
+
+2000-11-09 Joe Shaw <joe@helixcode.com>
+
+ * rc-verification.h: Change the order of the
+ RCVerificationStatus enum to be ordered by "severity".
+
+2000-11-09 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.h, rc-debman.c,
+ rc-debman-private.h: move all fields into RCDebmanPrivate,
+ make rc_debman_transact take an RCPackageSList*, and lots of other
+ cleanups. Add rc_debman_find_file.
+
+ * rc-line-buf.h, rc-line-buf.c,
+ rc-line-buf-private.h: move all fields into
+ RCLineBufPrivate, lots of other cleanups
+
+ * rc-packman.h, rc-packman.c,
+ rc-packman-private.h: move all fields into
+ RCPackmanPrivate, lots of other cleanups. _transact takes an
+ RCPackageSList. Add rc_packman_find_file.
+ Add rc_packman_get_features.
+
+ * rc-rpmman.c: _transact takes ...
+
+ * rc-verification.c: fixicate to a little RCLineBuf
+ change
+
+2000-11-09 Ian Peters <itp@helixcode.com>
+
+ * rc-package.c (rc_package_get_latest_update): change the
+ g_return_if_fail to g_return_val_if_fail.
+
+2000-11-08 Joe Shaw <joe@helixcode.com>
+
+ * rc-package.c (rc_package_get_latest_update): Added a
+ convenience function for getting the latest update from a package.
+
+2000-11-02 Ian Peters <itp@helixcode.com>
+
+ * rc-package-spec.h, rc-package-spec.c:
+ removed all of the RCPackageSection stuff, put it into rc-package.[ch].
+ (struct _RCPackageSpec): remove the section, installed, installed_size,
+ channel, and subchannel fields. These belong in struct _RCPackage.
+ (rc_package_spec_init): this now takes a few less arguments
+
+ * rc-package-update.h, rc-package-update.c:
+ move the typedef's above the included libredcarpet files
+ (struct _RCPackageUpdate): add a const RCPackage * back to the package
+ that we are an update to, and an installed_size field
+
+ * rc-package.h, rc-package.c:
+ move the typedef's above the included libredcarpet files
+ Move all of the RCPackageSection stuff into here
+ (struct _RCPackage): add the section field, the installed_size and
+ installed fields, a const pointer back to our parent subchannel,
+ and handle all of these new fields in _copy and _free.
+
+ * rc-packman.c:
+ (rc_package_slist_add_package): fix the call to rc_package_spec_init
+
+ * rc-rpmman.c, rc-debman.c:
+ update all references to ->spec.installed, ->spec.installed_size,
+ and ->spec.section to ->installed, ->installed_size, and ->section
+
+ * rc-package-dep.c, rc-package-dep.h:
+ move the typedef's above the included libredcarpet files
+ Add a few const's in places
+
+ * rc-channel.h: move all of the typedef's above the
+ included libredcarpet files
+
+ * rc-channel.c:
+ (rc_xml_node_to_subchannel): pass the RCChannel* instead of the
+ url_prefix and channel_id separately. Set the subchannel->channel to
+ the channel passed in. Pass the channel into rc_xml_node_to_subchannel
+
+ * rc-package-info.c:
+ (rc_subchannel_parse_debian): fix some references to the channel
+ and subchannel fields in the RCPackageSpec, now gone, and point to
+ the installed and installed_size fields in the package, not the spec
+
+ * rc-package-set.h:
+ Move the typedef's above the included libredcarpet files
+
+ * xml-util.c, xml-util.h:
+ Add a lot of const's where appropriate
+
+2000-11-02 Ian Peters <itp@helixcode.com>
+
+ * rc-package-update.h, rc-package-update.c:
+ (rc_xml_node_to_package_update): pass the url_prefix and name of the
+ package into this function, to avoid some annoying post processing
+
+ * rc-package.h, rc-package.c:
+ (rc_xml_node_to_package): pass the url_prefix, channel_id, and
+ subchannel_id into the function, to avoid some annoying post
+ processing; pass the url_prefix, along with my own name, into
+ rc_xml_node_to_package_update
+
+ * rc-channel.c:
+ (rc_xml_node_to_subchannel): take the url_prefix and channel_id,
+ passing them along to rc_xml_node_to_package [along with my own
+ subchannel preference], don't try to fix the url's in post
+ processing
+ (rc_xml_node_to_channel): pass the extra information needed into
+ rc_xml_node_to_subchannel
+
+2000-11-02 Ian Peters <itp@helixcode.com>
+
+ * pkginfo.c, pkginfo.h: removed these in
+ favor of rc-package-info.c and rc-package-info.h.
+
+ * rc-package-info.c, rc-package-info.h:
+ Rewrote rc_subchannel_parse_helix in favour of making each structure
+ responsible for remembering how to parse itself
+ [rc_xml_node_to_package, for example]. If any structure changes, you
+ need to modify only functions in rc-<structure>.c to make sure
+ everything continues to parse. Assorted other cleanups to other
+ functions inherited directly from pkginfo.c. I pretty much left the
+ Debian stuff alone.
+
+ * Makefile.am: remove pkginfo, add rc-package-info
+
+ * deps.c: fix the include lines [<foo.h> in
+ favour of "foo.h", as the automake book suggests], and
+ s/pkginfo\.h/rc-package-info.h/
+
+ * libredcarpet.h: fix the include lines as per the
+ automake book, s/pkginfo\.h/rc-package-info.h/
+
+ * rc-channel.h: include <gnome-xml/tree.h> for the xml
+ stuff, fixicate the include lines
+ (struct _RCSubchannel): move the dep_table from the RCChannel into
+ here, as it would otherwise be /really/ broken
+ (rc_xml_node_to_channel): convert an xmlNode* to an RCChannel*
+
+ * rc-channel.c: fixicate the include lines, include some
+ xml loving
+ (remove_helper): static function, added. Free the packages in the
+ package hash table
+ (rc_subchannel_free): after talking with vlad, there's no longer any
+ reason not to deep free the package hash table, using remove_helper.
+ Shallow free on the dep_table [which just has pointers into the
+ package hash]
+ (rc_channel_free): free a few elements that people added and forgot to
+ free, free the package set list, free the subchannels. Whoops.
+ (my_little_helper): a static helper function to add children to an
+ xmlNode from a hash table
+ (rc_xml_node_to_subchannel): static, given an xmlNode*, recreate the
+ RCSubchannel. Using the url_prefix given by the RCChannel, fix the
+ package_url and signature_url fields of the RCPackageUpdates deep in
+ the nested mess. Also create the package and dep_table hashes.
+ (rc_xml_node_to_channel): given an xmlNode* and the RCChannel*, fill in
+ the missing parts of the structure [mostly using
+ rc_xml_node_to_subchannel]
+
+ * rc-debman.c, rc-debman.h: fixicate some
+ includes
+ (rc_debman_query_file): make any file we query provide itself, which
+ means we don't have to remember to keep adding this in so many places.
+ (rc_debman_verify): update to work with the structure changes.
+ Look for the package and signature local filenames in the RCPackage
+ struct, filled in after they are downloaded. Correctly reference
+ the RCPackageUpdate where appropriate.
+
+ * rc-rpmman.c, rc-rpmman.h: fixicate some
+ includes
+ (rc_rpmman_verify): aim for the right elements of the RCPackage struct
+
+ * rc-package-dep.c, rc-package-dep.h:
+ fixicate some includes
+ (rc_string_to_package_relation): added.
+ (rc_package_relation_to_string): added.
+ (rc_xml_node_to_package_dep_item): static, added. Used by
+ rc_xml_node_to_package_dep.
+ (rc_xml_node_to_package_dep): added.
+
+ * rc-package-set.c, rc-package-set.h:
+ fixicate some includes
+ (rc_package_set_new): added
+ (rc_package_set_free): added
+ (rc_package_set_slist_free): added
+ It's only slightly worrisome that these functions didn't exist before.
+
+ * rc-package-spec.h, rc-package-spec.c:
+ fixicate some includes
+ (struct SecTable): removed
+ (extern sectable[]): removed
+ use the rc_package_section_to_string and rc_string_to_package_section
+ functions now
+ (rc_package_section_to_string): added
+ (rc_string_to_package_section): added
+ They do the obvious things
+
+ * rc-package-update.h, rc-package-update.c:
+ fixicate an include
+ (enum _RCPackageImportance): add RC_IMPORTANCE_NEW
+ (struct _RCPackageUpdate): fiddle with some fields, renaming and moving
+ them around
+ (rc_string_to_package_importance): added
+ (rc_package_importance_to_string): added
+ (rc_xml_node_to_package_update): added
+ There's a pattern here, pay close attention
+
+ * rc-package.h, rc-package.c: fixicate some includes,
+ fiddle with some field names
+ (rc_xml_node_to_package): added
+
+ * rc-verification.c: fixicate some includes
+ (rc_verify_gpg): add the --no-auto-key-retrieve option to the gpg call
+
+ * xml-util.h, xml-util.c:
+ (xml_get_prop): added
+ (xml_get_content): added
+ (xml_get_guint32_content_default): added
+
+2000-10-30 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.c, libreadcarpet/rc-package-dep.h:
+ Changed the #define's to enums, to make for cleaner code and also
+ so that gdb can give us names insted of numbers. Added
+ rc_packge_dep_verify_and_relation, which verifies a
+ RCPackageDep as if it were AND'd instead of OR'd. Also added
+ rc_package_dep_item_is_subset, which will attempt to merge
+ two RCPackageDepItems.
+
+2000-10-29 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.c:
+ (rc_channel_parse_xml): I'm sorry, I just had to reindent this
+ function. It was really bad.
+
+ * rc-debman.c: include pty.h, shut up gcc.
+ (rc_debman_verify): wrote it. It checks a detached signature, if
+ one exists in the signature field in the RCPackage. It checks the
+ md5sum, if there's one in the RCPackage.
+
+ * rc-package-update.h: tweaked some of the members of
+ the RCPackageUpdate struct, and added signature_url and
+ signature_size. These are for detached signatures, if they exist.
+
+ * rc-package.h: added two new members to the
+ RCPackage struct, filename and signature. These are NULL until
+ after the package (and maybe signature) are downloaded, then they
+ store the name of the downloaded files.
+ (rc_package_copy_spec): kill this
+
+ * rc-package.c:
+ (rc_package_copy): let's just use rc_package_spec_copy instead of
+ the stupid rc_package_copy_spec function. Check if old_pkg is
+ NULL before we do stuff. Also copy filename and signature.
+ (rc_package_copy_spec): kill this
+ (rc_package_free): check if rcp is NULL before we start freeing
+ things. Also, free the filename and signature.
+ (rc_package_slist_sort): skip the intermediary step of putting the
+ result in a variable on the stack; let's just return the sort.
+
+ * rc-packman.h, rc-packman.c,
+ rc-rpmman.c: rc_packman[_real]_verify takes an
+ RCPackage, not a filename now.
+
+ * rc-verification.h, rc-verification.c:
+ add rc_verify_md5_string, you know what it does
+
+ * pkginfo.c:
+ (grab_packageupdateinfo_list): grab the signature and
+ signature_size from the xml, and btw who the hell named this
+ function? ;)
+
+2000-10-27 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: Oops.. add check for null p before verifying
+ the relation.
+
+2000-10-26 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.c: New words for EQUAL
+ instead of just (??)
+
+ * deps.c: Some code to handle extra bizzare
+ conflict issues
+
+2000-10-26 Ian Peters <itp@helixcode.com>
+
+ * rc-packman.c: add some gtk_main_iteration calls to key
+ spots to keep things happy
+
+ * rc-debman.c: print the command every time we exec dpkg, and
+ print out every line it sends us back, prefixed by "DEBMAN: ".
+
+2000-10-26 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: add clean-local target
+
+2000-10-26 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c: remove a definite race condition in the
+ new magic hack
+
+2000-10-26 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * dpkg-helper.c, Makefile.am: Added
+ the building of dpkg-helper.so, also makefile.am to build it
+ and copy it in the right place.
+
+2000-10-26 Ian Peters <itp@helixcode.com>
+
+ * rc-line-buf.h, rc-line-buf.c:
+ Add rc_line_buf_get_buf which gets the current internal buffer even if
+ there's been no '\n' yet. Needed for The Debian Hack.
+
+ * rc-debman.c: OH MY GOD IT WORKS!
+ I'm not going to try to give you a good changelog entry on this,
+ because I had to do so many crufty things it's not even funny. But it
+ works. This won't work until Vlad commits dpkg-helper.c and the
+ associated Makefile.am loving.
+
+2000-10-26 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: I need to get my boring commit in.
+ We now have a RC_DEPS_DEBUG_LEVEL env var that sets
+ the amount of spewage. We should always compile with
+ #define DEBUG now, at least for betas.
+
+2000-10-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-distro.c, rc-distro.h: Change
+ same_as into a pretend_name -- it's only to be used if we do not
+ support the other distro uniquely, as it will break things if
+ there is a channel for both the pretend name and the real name. In
+ fact, this should probably not be used at all.
+
+ * gui-init.c: Change some of the startup channel
+ parsing bits to reflect rc-distro changes.
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (query_all_read_line_cb): kill some stale
+ debugging code, add a helpful comment
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c (rc_rpmman_depends_fill): ignore the top
+ seekret messages that rpmlib encodes in the dependency header
+ information. rpmlib is a crufy broken pile of dung.
+
+2000-10-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package.c: copy the stupid damn idiotic
+ damn piece of crap stupid hold bit in the _copy func
+
+2000-10-25 Jacob "Ulysses" Berkman <jacob@helixcode.com>
+
+ * libredcarpet.h: don't inlclude rc-rpmman.h or
+ rpm-debman.h
+
+ * rc-rpmman.h, rpmlead-4-0-x.h,
+ signature-4-0-x.h, Makefile.am: rpm4
+ fixes
+
+2000-10-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-dep.h: Oops, update the header proto
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c: change every call to write to instead use
+ rc_write, which is the pedantic checking version. Add lots of error
+ handling where rc_write may have returned FALSE.
+
+2000-10-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, deps.h: Beginning of cleanup,
+ some comments added/removed...
+
+ * rc-distro.c: Some lins to shut up warnings
+
+ * rc-debman.c: Added code to ignore locks if
+ any of the magic env vars are set
+
+ * rc-package-dep.c, rc-package-dep.h:
+ Some code to pretty-print a package dependency relation.
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * rc-string.c, rc-string.h: removed, as
+ nothing uses this anymore.
+
+ * Makefile.am, pkginfo.c,
+ rc-debman.c, rc-util.c: remove references
+ to rc-string.h and rc-string.c
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * rc-util.c (rc_write): kill a warning, add a const to buf
+
+ * pkginfo.c (debian_packages_helper): kill some unused
+ variables
+
+ * rc-rpmman.c (rc_rpmman_verify): initialize some
+ variables to shut gcc up
+
+2000-10-25 Ian Peters <itp@helixcode.com>
+
+ * Makefile.am: set the G_LOG_DOMAIN to libredcarpet, and
+ set the SHAREDIR (this is something of a hack, but...). Add the new
+ files rc-verification.c and rc-verification.h to the libredcarpet
+ sources.
+
+ * rc-line-buf.h: add the RCLineBufStatus enum, so that
+ read_done can just return a status, instead of having a separate
+ read_error signal. Get rid of the hup_id, since we'll handle all of
+ the g_io signals in a single callback. Get rid of the read_error
+ signal, and fix the prototype on the read_done signal. Rename read_id
+ to cb_id.
+
+ * rc-line-buf.c: remove READ_ERROR from SIGNALS, purge all
+ mention of hup_id (rc_line_buf_destroy, rc_line_buf_class_init,
+ rc_line_buf_init). Fix the marshaller on read_done. Rename the
+ rc_line_buf_read_cb to rc_line_buf_cb. Handle the condition ==
+ G_IO_HUP case. Emit read_done on a read of 0 without EAGAIN. Fix the
+ off-by-one array access that vlad caught in purify. Remove
+ rc_line_buf_hup_cb. Fix rc_line_buf_new. Rename read_id to cb_id.
+
+ * rc-md5.h: change the rc_md5 function to return guint8 *
+ instead of as a string, so that we can memcmp this directly with the
+ md5 in an rpm header. Add the rc_md5_string function to provide the
+ old functionality.
+
+ * rc-md5.c: (rc_md5): change this guy to return the md5
+ in a guint8 *. Mostly involves removing, not adding, code.
+ (rc_md5_string): added. Returns the md5 as a string of hex characters
+ instead.
+
+ * rc-verification.h: RCVerification struct, a lot of
+ enums, and some functions.
+
+ * rc-verification.c: implementation of the foundation for
+ RCVerification, along with three verification methods, rc_verify_gpg,
+ rc_verify_md5, and rc_verify_size. Look in the header for the
+ appropriate details.
+
+ * rc-packman.h: include rc-verification.h. Clean up the
+ RCPackmanError enum.
+ (rc_packman_real_verify): change the type, now returns an
+ RCVerificationSList * given an RCPackman * and a filename.
+ (rc_packman_verify): ditto
+
+ * rc-packman.c (rc_packman_verify): clean up to the new
+ api
+
+ * rc-util.h: added rc_write, a safe way to write a buffer
+ to a file descriptor (handles all of those EINTR and EAGAIN issues).
+ Returns TRUE if the write was a success, and FALSE if it was a failure.
+
+ * rc-util.c (rc_write): added, see above.
+
+ * rpmlead-3-0-x.h, signature-3-0-x.h: Borrow
+ some header files from rpm-3.0.6 for the signature extraction stuff.
+ Stupid stupid rpm. This may or may not work for rpm-4.x, I'll test
+ that in a bit.
+
+ * rc-rpmman.c: include rc-verification.h, rc-util.h, and
+ the new rpm borrowed header files.
+ (rc_rpmman_verify): implemented. Uses some internal rpm functions, a
+ lot of elbow grease, and some love to verify the supported signatures
+ in an rpm (gpg, md5, and size).
+ (rc_rpmman_destroy): added. Free the rpmroot member.
+ (rc_rpmman_class_init): chain the destroy.
+
+ * rc-debman.c:
+ (rc_debman_verify): added. Do nothing stub function until we work out
+ how the detached gpg signatures work.
+ (mark_purge_read_done_cb): new marshaller for read_done in RCLineBuf
+ (do_purge_read_done_cb): new marshaller for read_done in RCLineBuf
+ (do_unpack_read_done_cb): new marshaller for read_done in RCLineBuf
+ (do_configure_read_done_cb): new marshaller for read_done in RCLineBuf
+ (query_all_read_done_cb): new marshaller for read_done in RCLineBuf
+ (verify_status): added (along with some callbacks). Makes sure that
+ the /var/lib/dpkg/status file is at least somewhat sane. Resets any
+ pending selections (other than hold), because RC won't honor them. Of
+ course, this only runs if you're root, because it needs to rewrite the
+ status file.
+
+2000-10-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: Added code to handle held packages. (First
+ try, need to find way to test.)
+
+ * deps.h: Added HELD_PACKAGE conflict type
+
+ * rc-package.h: Added hold gboolean
+
+2000-10-20 Joe Shaw <joe@helixcode.com>
+
+ * rc-rpmman.c (rc_rpmman_query_all): Set the
+ RCPackageSpec's installed bit to TRUE. Closes Mothra #70.
+
+2000-10-20 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, deps.h: Added preliminary
+ type field to conflicts to aid in resolution.
+
+ * pkginfo.c: small change in how we provide ourselves
+
+ * rc-channel.c, rc-channel.h: Moved
+ find_best_package here, exported.
+
+ * rc-distro.c: Fixed warnings
+
+ * rc-package.c, rc-package.h: Added
+ utility functions for converting hashesh (by spec, by name)
+ to lists
+
+ * rc-util.c, rc-util.h: Added
+ rc_hash_table_copy
+
+2000-10-19 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (do_configure): fix my last broken commit
+ (forgot to #if 0 out one part)
+
+2000-10-19 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (rc_debman_init): if we can't grab the lock,
+ set the error and reason as appropriate. Some other in-development
+ code that I #if 0'd out.
+
+ * rc-packman.h: fix the name of
+ rc_packman_configure_progress (was config_progress) to kill a warning
+
+ * rc-packman.c: kill some gtk_events_pending bs
+
+ * rc-rpmman.c: #if 0 out some unfinished/unneeded stuff
+ to kill a few warnings.
+
+2000-10-18 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * pkginfo.c: Fixed stupid bug where a \0 wasn't being
+ put at the end of each segment of a debian description, causing
+ the weird descriptions in the info displays.
+
+ * deps.c: Copy the system packages list when passed in.
+ Leaks memory.
+
+ * rc-debman.c: Always use status_file instead of the
+ hardcoded path
+
+ * rc-package-dep.c, rc-package-spec.c:
+ Absolutely nothing important; no changes.
+
+2000-10-18 Ian Peters <itp@helixcode.com>
+
+ * rc-line-buf.c (rc_line_buf_read_cb): change the FALSE to
+ TRUE when I call g_string_free, as it really is my job here
+
+2000-10-18 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c: signal (SIGCHLD, SIG_DFL) before forking
+ everywhere because I am now paranoid. I have no idea what is setting
+ SIGCHLD to SIG_IGN for me, but I wasted a lot of time on this one.
+ Life sucks. Did I mention I spilled apple juice all over myself by
+ hitting the top of a bottle and blowing out the bottom?
+
+2000-10-18 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (rc_debman_query_all_real): again make every
+ package provide itself, so that vlad's lazy ass dependency code doesn't
+ have to do any work. La la la.
+
+2000-10-18 Joe Shaw <joe@helixcode.com>
+
+ * rc-util.c (rc_mktmpdir): Removed. rc-debman doesn't
+ use it anymore. Closes Mothra #30.
+
+2000-10-17 Ian Peters <itp@helixcode.com>
+
+ * rc-line-buf.c, rc-line-buf.h: added.
+ This bad boy is a GtkObject that provides buffered read-a-line from a
+ fd (aka a file or a pipe) using g_io_add_watch stuff. I totally like
+ my little object, it's pretty dope.
+
+ * Makefile.am: added rc-line-buf.[ch] to the sources for
+ libredcarpet
+
+ * rc-debman.c: so some fixicating and an attempt to add
+ the "watch for stupid needy-of-manual-configuring packages" feature
+ turned into a total rewrite (almost) of this guy to make that doable.
+ So now literally everything in rc-debman uses rc-line-buf, so that it
+ can operate from within a GMainLoop I run by hand, which lets me use
+ g_io_add_watch to watch for a dpkg-run script trying to read... which
+ is what I've got to do next. But it's now doable.
+ Also, add the feature that joe requested -- it now emits
+ transaction_step and configure_step with a seqno of 0 before it does
+ any transactioning or configuring, so that the gui can be smarter
+
+ * rc-rpmman.c: add the same new feature as in debman (the
+ 0 seqno signals)
+
+ * rc-util.c, rc-util.h: remove all traces of
+ the old RCLineBuf (sorry vlad!)
+
+ * packman_test.c: fix an odd crash or two, add command
+ completion ;)
+
+2000-10-16 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-channel.c: oops. xmlParseMemory wants the
+ number of real characters, not counting the null (hence the
+ length of a bytearray - 1)
+
+ * rc-package-set.c: same as above.
+
+ * rc-package-set.c, rc-package-set.h:
+ Fixed minor parsing bugs.
+
+ * deps.c: fixed crash that occurs if debugging is
+ turned on. (Oops!)
+
+2000-10-13 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: added new files
+
+ * rc-package-set.c, rc-package-set.h: New
+ files, beginning on package set support.
+
+ * rc-util.c, lilbredcarpet/rc-util.h: New function to
+ un-gzip in memory (Yay, no more nasty popen()'s!)
+
+ * rc-channel.c, pkginfo.c: Use new
+ gunzipping code
+
+ * rc-channel.h: Add package set slist in struct
+
+ * rc-package.c, rc-package.h: added GPL
+ headers
+
+ * rc-util.c, rc-util.h: New uncompress
+ functions that take a gzip'd buffer and uncompress it
+
+2000-10-13 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c, rc-channel.h: Added
+ copyright and license info to the top (and emacs rules)
+ (rc_channel_parse_xml): Add a new flag, "available_select" that,
+ when defined, makes the "Select All" and "Select None" buttons
+ appear in the available packages page. Closes Mothra #34. *
+
+2000-10-13 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * Makefile.am: Change distro.[ch] with rc-distro.[ch]
+
+ * rc-distro.c, rc-distro.h: new files;
+ rewrite of distro code to support different architectures, provide
+ for different languages, etc. Also to keep distro tags in sync
+ with build system. (XML now should reference distro_target tag)
+
+ * rc-channel.c, rc-channel.h: Add
+ distro_target; got rid of distribution and major/minor.
+
+ * libredcarpet.h: Changed distro.h to rc-distro.h
+
+ * rc-distman.c, rc-distman.h: Use new
+ rc-distro code.
+
+2000-10-11 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.c (rc_channel_parse_xml): Add a mirrored
+ flag to the channel. This is not yet used.
+
+2000-10-06 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-debman.c: package_accept speedup, small
+ debug printing fix
+
+ * deps.c: Oops. Set the list back to the result
+ of the g_slist_remove, so that if all packages end up getting
+ removed, things don't die.
+
+2000-10-05 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-debman.c: Print conversation with dpkg
+ to stderr.
+
+2000-10-04 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.c (hash_destroy): recreate the hash_table
+ (rc_debman_query_all): grab a valid reference to the pkg_hash
+
+2000-10-04 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c: some minor fixes for rpm4 support
+
+2000-10-04 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.c (transaction_add_remove_pkgs): write an rpm4
+ specific version.
+
+2000-10-04 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: Correctly fix up the list of packages
+ to be installed (no more g_slist_remove_link magic)
+
+2000-10-04 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, deps.h: Oops. Use a hash table
+ instead of blindly searching through the list of passed-in
+ to-install packages, since sometimes something will be a virtual
+ package that's provided.
+
+2000-10-04 Ian Peters <itp@helixcode.com>
+
+ * rc-debman.h: add a hash_table to the RCDebman struct.
+
+ * rc-debman.c: cache the results of a _query_all so that
+ successive calls to _query will be much faster. If you _query without
+ a call to _query_all, it will populate the hash table first, and then
+ look up the packages requested. This is because queries in debian
+ by reopening and scanning the /var/lib/dpkg/status file are ass slow.
+ The only way to invalidate the hash is to _transact, and the next
+ _query will have to rescan the status file. This is a major change
+ in rc_debman, requiring a lot of functions to move around and/or
+ change drastically. I've tested it pretty thoroughly, but if anything
+ breaks for you, check for sanity using packman_test first before
+ suspecting anything else for a while. All of the _copy functions are
+ written because I need them in order to copy packages out of the hash
+ table. Fun fun fun. But not really.
+ (rc_debman_query_helper): fix vlad's memory leak
+
+ * rc-package-dep.h, rc-package-dep.c:
+ (rc_package_dep_item_copy): added
+ (rc_package_dep_copy): added
+ (rc_package_dep_slist_copy): added
+
+ * rc-package-update.h, rc-package-update.c:
+ (rc_package_update_copy): added
+ (rc_package_update_slist_copy): added
+
+ * rc-package.h, rc-package.c:
+ (rc_package_copy): added
+ (rc_package_free): fix another vlad memory leak ;)
+
+2000-10-03 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: Do intelligent things with conflicts (only
+ look for a resolving package if you're not trying to install that
+ named package). I think we are smarter than apt at this point.
+
+ * rc-package-spec.c: Aiee. fixed the compares wrt
+ epoch.
+
+ * deps.c: Oops. Handle the case where a non-first
+ item of an OR dep was already installed in the system (don't
+ always go for the first!)
+
+2000-10-03 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.h: Added packages_requested in output RR,
+ giving the real list of packages that were used (with duplicates
+ removed)
+
+ * deps.c: Added lots of code to handle some cases that
+ really, really, really need testing. If package A is installed and
+ it depends on B == 1.0, and you try to install package C which depends
+ on any version of A and upgrade A and B in the same operation, this is
+ what used to happen: the A dep was processed from the system (because C
+ was seen first) and its hard dep on B was put in. When the new A was
+ processed, the hard dep on B would fail (notwithstanding the new B). There
+ are two solutions -- one was to remove all traces of the old package; this
+ is what untangle_package tries to do. Note that this is probably not a safe
+ thing to do, and now it's only called in cases where nothing else can be
+ done. The other thing, which is what's done, is to be a bit more intelligent
+ about it, by checking to see if something you're depending on is in the
+ installed list, and processing that (as long as it resolves other deps).
+ This needs testing; right now, the code seems to return a few more packages
+ than apt does.
+
+ * rc-package.c (rc_package_compare): Made it just call
+ rc_package_spec_compare -- it wasn't checking for null versions/revisions.
+
+2000-10-02 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c (resolution_uninstall_package_makelist): check
+ if the package was already removed before spewing a warning!
+
+2000-10-02 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c (pkg_conflicts_list_iterator): Fixed buglet
+ that caused weird conflict things to hapen. Bork bork.
+
+2000-10-02 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c (pkg_conflicts_list_iterator): make it work with
+ null channels again (oops)
+
+ * Makefile.am (libredcarpet_a_SOURCES): removed
+ helix-* cruft, added some missing .h's
+
+2000-10-01 Ian Peters <itp@helixcode.com>
+
+ * rc-channel.c, rc-channel.h: added
+ rc_channel_compare_func for hashing and stuff
+
+ * rc-package.c, rc-package.h: added
+ rc_package_compare_func for hashing and stuff
+
+2000-10-01 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-package-update.c, rc-package-update.h:
+ filename becomes url, and is now a full URL.
+
+ * pkginfo.c: Parse the url correctly, as stated in the
+ above.
+
+2000-10-01 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-channel.c: strdup path into file_path if it isn't set.
+
+ * pkginfo.c: Oops. gtk_main_iteration iff gtk_events_pending,
+ not always. Lowercased header field names for debian. Slightly faster
+ debian parsing code. (Parse in-place instead of copying to tmpbuf.)
+
+ * deps.c: Added code to have conflicts try to resolve conflicts
+ if they are with a package less than some version by trying to find a newer
+ version of the conflicting package.
+
+2000-09-30 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: oops. (hpp always == hpp, no?)
+
+ * pkginfo.c: Made gunzipping faster (rc_string, I love you!)
+
+ * rc-debman.c: Changed the read_line function to
+ use a line buffer for reading. Lots of speed improvements. This
+ required changes to other code, as there was a second data
+ structure, RCLineBuf *, that had to be used.
+
+ * rc-util.c, rc-util.h: Added the
+ RCLineBuf stuff
+
+ * rc-string.c, rc-string.h: Added string
+ append functions
+
+ * pkginfo.c: Went back to using strncmp's instead of
+ casecmps for comparing stuff. This might break if someone uploads
+ lowercase stuff to the debian packages file (as has happened)
+
+2000-09-29 Ian Peters <itp@helixcode.com>
+
+ * pkginfo.c: correctly set the channel id for debian-type
+ channels
+
+ * rc-packman.c, rc-packman.h: pkgs to install
+ in a transaction are filenames not RCPackage's
+
+2000-09-29 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * pkginfo.c: Do something intelligent if gunzip
+ doesn't exist.
+
+ * deps.c: note to self
+
+2000-09-29 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps-private.h, deps.c,
+ deps.h: Preliminary code to get nicely-displayable dep
+ info (packages X, Y, Z will be brought in to satisfy package A that
+ was requested, packages D and E for pkg B, etc).
+ Will require more hacking to get this info out.
+
+ * rc-package-dep.c: Made verify return FALSE if the dep
+ was < or <= and the target had no version info. This was to get
+ around an issue where a package conflicted with < V of another
+ package bar, and bar was a virtual package provided by bar1.2. This
+ should be investigated further.
+
+ * test_deps.c: Added a few features; this will be used
+ now to verify helix packages against RC before pushing to server.
+
+2000-09-28 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c: Got rid of superfluous debug crap
+
+ * pkginfo.c, rc-channel.c,
+ xml-util.c: Made it happy with new libxml
+
+ * Makefile.am: added (commented out rc-crypto.c, rc-crypto.h)
+
+ * rc-crypto.c, libreadcarpet/rc-crypto.h: Initial
+ checkin. Don't use.
+
+2000-09-28 Joe Shaw <joe@helixcode.com>
+
+ * rc-channel.h: Removed title_color and title_bg_image
+ from the channel struct.
+
+ * rc-channel.c: Remove references to title_color and
+ title_bg_image.
+
+ * rc-package-spec.c (vercmp): Added a clause that says
+ that a number vs. word comparison always goes in favor of the word.
+ For example, in helix1 vs. 1, helix1 wins. This fixes a bunch of
+ incorrect compares with the Debian packages.
+
+2000-09-28 Ian Peters <itp@helixcode.com>
+
+ * rc-rpmman.h, rc-rpmman.c: merge in the rpm4
+ changes courtesy of msw
+
+2000-09-27 Joe Shaw <joe@helixcode.com>
+
+ * pkginfo.c (debian_packages_helper): Correctly handle
+ package sizes such that they are put into the update structure
+
+2000-09-18 Ian Peters <itp@helixcode.com>
+
+ * pkginfo.c, rc-debman.c,
+ rc-debman.h: merge vlad's fork of the /var/lib/dpkg/status
+ parsing stuff back in, so I get his fixes and he gets a non-broken
+ read_line.
+
+2000-09-11 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * rc-util.c, rc-util.h: Two functions,
+ rc_url_is_absolute() and rc_build_url(). The latter takes a method,
+ host, path, and "rest" of the URL, and will build the right thing
+ depending on if path or rest are absolute or relative, etc.
+
+2000-09-08 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, deps.h: Fixed ian's
+ conflicts bugs -- conflicts and uninstalls should work now; it needs
+ testing.
+
+ * pkginfo.c: debian packages weren't getting the
+ provides into the hash correctly (oops!)
+
+2000-08-31 Ian Peters <itp@helixcode.com>
+
+ * Makefile.am: add rc-string to the sources for
+ libredcarpet.a
+
+ * rc-packman.c, rc-packman.h,
+ rc-debman.c, rc-debman.h,
+ rc-rpmman.c, rc-rpmman.h: changed the
+ interface drastically (hopefully for that last time). Got rid of
+ _install and _remove (and associated signals, etc), and replaced it
+ with a transactional interface (with degenerate install and remove
+ cases, obviously). This is required to make the debian backend work,
+ and makes the rpm one cleaner (also, I learned how to make my own
+ rpmTransaction things, so I got rid of the poached rpmInstall and
+ rpmErase functions). The debian code is beautiful, I'm in love with
+ it in a big way. The rpm code is pretty nice, although currently I'm
+ not dealing with errors in any big way (I'm waiting for a chance to
+ talk with joe (and vlad) about how to handle errors (fatal and
+ non-fatal) in the cleanest way possible.
+
+ * rc-package-spec.c, rc-package-spec.h:
+ added my rc_package_spec_copy and killed vlad's (since mine's nicer :)
+
+ * rc-package.c, rc-package.h:
+ added rc_package_copy_spec
+
+ * rc-string.c, rc-string.h: a small
+ convenience for me to use, I wrote it to implement the safe function
+ to read a line of text from /var/lib/dpkg/status in rc-debman.c
+
+2000-08-30 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * pkginfo.c, pkginfo.h:
+ rc_subchannel_parse_xml got renamed to rc_subchannel_parse; in
+ the .c file there are now 3 separate functions for parsing
+ helix-style XML files, debian-style Packages.gz files, and
+ redhat's xml/rdf stuff. (the latter is a noop for now). There
+ are also copies of Ian's debian parsing stuff in here -- these
+ need to be merged later with his code.
+
+ * rc-channel.c, rc-channel.h:
+ Added a few XML props -- "type" which defaults to helix, but can
+ be debian or redhat, pkginfo_file which has the name of the
+ package info file (defaults to packageinfo.xml.gz),
+ pkginfo_compressed, which, if present, indicates that the file
+ is gzip'd (I think you have to at least say pkginfo_compressed=1);
+ also fixed minor typo in hash table type def in the .h.
+
+ * rc-package-spec.c, rc-package-spec.h:
+ Added rc_package_spec_copy (src, dst)
+
+2000-08-25 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, deps.h: Added global
+ settings call to change the way conflicts work, as debian and rpm
+ handle them differently (debian only conflicts real packages, rpm
+ conflicts virtual packages as well).
+
+ * pkginfo.c: Added Defensive Programming
+ NULL string check
+
+ * deps.c, deps.h: Fixed
+ lots of conflict things. Still some work to do, but this
+ is a checkpoint for ian so that he can continue.
+
+2000-08-24 Joe Shaw <joe@helixcode.com>
+
+ * rc-package-spec.c: Added a static table for mapping
+ section strings to section enums.
+
+ * rc-package-spec.h: Define the above table and declare
+ it (sectable) extern.
+
+2000-08-24 Ian Peters <itp@helixcode.com>
+
+ * libredcarpet.h, rc-channel.c,
+ rc-channel.h, rc-common.h,
+ rc-package-dep.c, rc-package-dep.h,
+ rc-package-spec.c, rc-package-spec.h,
+ rc-package-update.c, rc-package-update.h,
+ rc-package.c, rc-package.h,
+ rc-util.c, rc-util.h: Added. The scattered
+ remnants of the horror that was common.c and common.h.
+
+ * channel.c, channel.h,
+ common.c, common.h,
+ packagespec.c, packagespec.h: removed.
+ Contents moved into the above files.
+
+ * Makefile.am: updated to build the new files not the old
+ ones
+
+ * deps.c, deps.h, distro.c,
+ pkginfo.c, pkginfo.h,
+ rc-debman.c, rc-md5.c,
+ rc-packman.h: updated to include the right files
+
+2000-08-23 Vladimir Vukicevic <vladimir@helixcode.com>
+
+ * deps.c, pkginfo.c: Made it not barf
+ (hopefully) if the current channel is NULL (i.e. summary Next
+ button). Added a g_assert check to pkginfo to warn if a null
+ channel makes it to that point.
+
+ * deps.h: removed unused element from struct
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Channel.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'channel'
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/World.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Channel);
+
+//---------------------------------------------------------------------------
+
+int Channel::_fake_id = 1;
+
+//---------------------------------------------------------------------------
+
+string
+Channel::asString ( void ) const
+{
+ if (this == NULL) fprintf (stderr, "Channel::asString NULL\n");
+ return toString (*this);
+}
+
+
+string
+Channel::toString ( const Channel & channel )
+{
+ string res ("<channel '");
+ res += "Type: ";
+ switch (channel.type()) {
+ case CHANNEL_TYPE_ANY: res += "any"; break;
+ case CHANNEL_TYPE_SYSTEM: res += "system"; break;
+ case CHANNEL_TYPE_NONSYSTEM: res += "non-system"; break;
+
+ case CHANNEL_TYPE_UNKNOWN: res += "unknown"; break;
+ case CHANNEL_TYPE_HELIX: res += "helix"; break;
+ case CHANNEL_TYPE_DEBIAN: res += "debian"; break;
+ case CHANNEL_TYPE_APTRPM: res += "apt-rpm"; break;
+ case CHANNEL_TYPE_YAST: res += "yast"; break;
+ case CHANNEL_TYPE_YUM: res += "yum"; break;
+ }
+ res += ", ";
+
+ res += "Id: ";
+ res += channel.id();
+ if (channel.legacyId() != NULL
+ && (*(channel.legacyId()) != 0)) {
+ res += ", LegacyId: ";
+ res += channel.legacyId();
+ }
+ res += ", Name: ";
+ res += channel.name();
+ res += ", Alias: ";
+ res += channel.alias();
+
+ if (channel.description() != NULL) {
+ res += ", Description: ";
+ res += channel.description();
+ }
+
+ res += ", Priority: ";
+ res += stringutil::numstring (channel.priority());
+ res += ", PriorityUnsubscribed: ";
+ res += stringutil::numstring (channel.priorityUnsubscribed());
+
+ if (channel.path() != NULL) {
+ res += ", Path: ";
+ res += channel.path();
+ }
+ if (channel.filePath() != NULL) {
+ res += ", FilePath: ";
+ res += channel.filePath();
+ }
+ if (channel.iconFile() != NULL) {
+ res += ", IconFile: ";
+ res += channel.iconFile();
+ }
+ if (channel.pkginfoFile() != NULL) {
+ res += ", PkginfoFile: ";
+ res += channel.pkginfoFile();
+ }
+ // list<char *> *_distro_targets; /* List of targets (char *) for this channel */
+
+ res += ", LastUpdate: ";
+ res += stringutil::numstring(channel.lastUpdate());
+
+ if (channel.system()) res += ", System! ";
+ if (channel.hidden()) res += ", Hidden! ";
+ if (channel.immutable()) res += ", Immutable! ";
+
+ return res + "'>";
+}
+
+
+ostream &
+Channel::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Channel& channel)
+{
+ return os << channel.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Channel::Channel(const string & id, const string & name, const string & alias, const string & description)
+ : _world (NULL)
+ , _last_update (0)
+ , _system (false)
+ , _hidden (false)
+ , _immutable (false)
+{
+ if (id.empty()) {
+ _id = stringutil::form( "fake-id-%d", _fake_id++).c_str();
+ }
+ else {
+ _id = id;
+ }
+
+ if (name.empty()) {
+ _name = "Unnamed Channel";
+ }
+ else {
+ _name = name;
+ }
+
+ if (alias.empty()) {
+ _alias = name;
+ }
+ else {
+ _alias = alias;
+ }
+
+ if (description.empty()) {
+ _description = "No description available.";
+ }
+ else {
+ _description = description;
+ }
+
+ _type = CHANNEL_TYPE_UNKNOWN;
+
+ _priority = -1;
+ _priority_unsubscribed = -1;
+
+// if (getenv ("RC_SPEW")) fprintf (stderr, "Channel() [%p] (%s)\n", this, asString().c_str());
+}
+
+
+Channel::Channel (const XmlNodePtr node, int *subscribed, WorldPtr world)
+ : _world (world)
+ , _last_update (0)
+ , _system (false)
+ , _hidden (false)
+ , _immutable (false)
+{
+ static unsigned int dummy_id = 0xdeadbeef;
+ const char *subscribed_str;
+ const char *priority_str;
+ const char *priority_unsubscribed_str;
+
+ _name = node->getProp ("name");
+ _alias = node->getProp ("alias");
+
+ _id = node->getProp ("id");
+ if (_id.empty()) {
+ char *temp;
+ asprintf (&temp, "dummy:%d", dummy_id);
+ _id = temp;
+ ++dummy_id;
+ }
+
+ subscribed_str = node->getProp ("subscribed");
+ *subscribed = subscribed_str ? atoi (subscribed_str) : 0;
+
+ priority_str = node->getProp ("priority_base");
+ priority_unsubscribed_str = node->getProp ("priority_unsubd");
+
+ _priority = priority_str ? atoi (priority_str) : 0;
+ _priority_unsubscribed = priority_unsubscribed_str ? atoi (priority_unsubscribed_str) : 0;
+
+ free ((void *)subscribed_str);
+ free ((void *)priority_str);
+ free ((void *)priority_unsubscribed_str);
+
+// if (getenv ("RC_SPEW")) fprintf (stderr, "Channel(xml) [%p] (%s)\n", this, asString().c_str());
+}
+
+
+Channel::~Channel()
+{
+}
+
+
+#if 0
+xmlNode *
+rc_channel_to_xml_node (RCChannel *channel)
+{
+ xmlNode *node;
+ char tmp[128];
+
+ g_return_val_if_fail (channel != NULL, NULL);
+
+ node = xmlNewNode (NULL, "channel");
+
+ xmlNewProp (node, "id", rc_channel_get_id (channel));
+
+ xmlNewProp (node, "name", rc_channel_get_name (channel));
+
+ if (rc_channel_get_alias (channel))
+ xmlNewProp (node, "alias", rc_channel_get_alias (channel));
+
+ sprintf (tmp, "%d", rc_channel_is_subscribed (channel) ? 1 : 0);
+ xmlNewProp (node, "subscribed", tmp);
+
+ sprintf (tmp, "%d", rc_channel_get_priority (channel, true));
+ xmlNewProp (node, "priority_base", tmp);
+
+ sprintf (tmp, "%d", rc_channel_get_priority (channel, false));
+ xmlNewProp (node, "priority_unsubd", tmp);
+
+ return node;
+}
+#endif
+
+
+bool
+Channel::isSubscribed (void) const
+{
+ if (_world == NULL)
+ fprintf (stderr, "Channel::isSubscribed() without world\n");
+ return _world->isSubscribed (this);
+}
+
+
+void
+Channel::setSubscription (bool subscribed)
+{
+ if (_world == NULL)
+ fprintf (stderr, "Channel::setSubscription() without world\n");
+ _world->setSubscription (this, subscribed);
+}
+
+
+int
+Channel::priorityParse (const char *priority_cptr) const
+{
+#define DEFAULT_CHANNEL_PRIORITY 1600
+
+ typedef struct {
+ const char *str;
+ int priority;
+ } ChannelPriorityPair;
+
+ ChannelPriorityPair channel_priority_table[] = {
+ { "private", 6400 },
+ { "ximian", 3200 },
+ { "distro", 1600 },
+ { "third_party", 800 },
+ { "preview", 400 },
+ { "untested", 200 },
+ { "snapshot", 100 },
+ { NULL, 0 }
+ };
+
+ const char *c;
+ int i;
+ bool is_numeric = true;
+
+ if (priority_cptr && *priority_cptr) {
+ c = priority_cptr;
+ while (*c && is_numeric) {
+ if (! isdigit (*c))
+ is_numeric = false;
+ c++;
+ }
+ if (is_numeric) {
+ return atoi (priority_cptr);
+ }
+
+ for (i=0; channel_priority_table[i].str != NULL; ++i) {
+ if (! strcasecmp (channel_priority_table[i].str, priority_cptr))
+ return channel_priority_table[i].priority;
+ }
+
+ }
+
+ return DEFAULT_CHANNEL_PRIORITY;
+}
+
+
+bool
+Channel::isWildcard (void) const
+{
+ return _type == CHANNEL_TYPE_SYSTEM
+ || _type == CHANNEL_TYPE_NONSYSTEM
+ || _type == CHANNEL_TYPE_ANY;
+}
+
+
+bool
+Channel::equals (const Channel & channel) const
+{
+ return equals (&channel);
+}
+
+bool
+Channel::equals (constChannelPtr channel) const
+{
+ if (_type == CHANNEL_TYPE_ANY
+ || channel->_type == CHANNEL_TYPE_ANY) {
+ return true;
+ }
+
+ if (isWildcard () && channel->isWildcard ()) {
+ return this == channel;
+ }
+
+ /* So at this point we know that between a and b there is
+ at most one wildcard. */
+
+ if (_type == CHANNEL_TYPE_SYSTEM) {
+ return channel->system();
+ }
+ else if (_type == CHANNEL_TYPE_NONSYSTEM) {
+ return !channel->system();
+ }
+
+ if (channel->_type == CHANNEL_TYPE_SYSTEM) {
+ return system();
+ }
+ else if (channel->_type == CHANNEL_TYPE_NONSYSTEM) {
+ return !system();
+ }
+
+ return hasEqualId (channel);
+}
+
+
+bool
+Channel::hasEqualId (const Channel & channel) const
+{
+ return hasEqualId (&channel);
+}
+
+
+bool
+Channel::hasEqualId (constChannelPtr channel) const
+{
+ return (channel->id () == _id);
+}
+
+
+void
+Channel::setPriorities (int subscribed_priority, int unsubscribed_priority)
+{
+ if (immutable()) return;
+
+ _priority = subscribed_priority;
+ _priority_unsubscribed = unsubscribed_priority;
+}
+
+
+int
+Channel::getPriority(bool is_subscribed) const
+{
+#define UNSUBSCRIBED_CHANNEL_ADJUSTMENT(x) ((x)/2)
+
+ int priority;
+
+ priority = _priority;
+ if (priority <= 0)
+ priority = DEFAULT_CHANNEL_PRIORITY;
+
+ if (!is_subscribed) {
+ if (_priority_unsubscribed > 0) {
+ priority = _priority_unsubscribed;
+ } else {
+ priority = UNSUBSCRIBED_CHANNEL_ADJUSTMENT (priority);
+ }
+ }
+
+ return priority;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Channel.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Channel_h
+#define _Channel_h
+
+#include <iosfwd>
+#include <string>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/ChannelPtr.h>
+#include <zypp/solver/detail/WorldPtr.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef std::list<ChannelPtr> ChannelList;
+
+typedef bool (*ChannelFn) (constChannelPtr channel, void *data);
+typedef bool (*ChannelAndSubscribedFn) (ChannelPtr channel, bool flag, void *data);
+
+typedef enum {
+
+ CHANNEL_TYPE_ANY = 0,
+ CHANNEL_TYPE_SYSTEM,
+ CHANNEL_TYPE_NONSYSTEM,
+
+ CHANNEL_TYPE_UNKNOWN,
+ CHANNEL_TYPE_HELIX,
+ CHANNEL_TYPE_DEBIAN,
+ CHANNEL_TYPE_APTRPM,
+ CHANNEL_TYPE_YAST,
+ CHANNEL_TYPE_YUM
+
+} ChannelType;
+
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Channel
+/**
+ *
+ **/
+
+class Channel : public CountedRep {
+ REP_BODY(Channel);
+
+ private:
+ ChannelType _type;
+
+ static int _fake_id;
+
+ WorldPtr _world;
+
+ std::string _id;
+ std::string _legacy_id; // Old ID for RCE servers
+
+ std::string _name;
+ std::string _alias;
+ std::string _description;
+ // priority if channel is...
+ int _priority; // subscribed
+ int _priority_unsubscribed; // unsubscribed
+
+ std::string _path;
+ std::string _file_path;
+ std::string _icon_file;
+ std::string _pkginfo_file;
+
+// std::list<std::string > *_distro_targets; /* List of targets (std::string ) for this channel */
+
+ time_t _last_update;
+
+ bool _system;
+ bool _hidden;
+ bool _immutable;
+
+ public:
+
+ Channel (ChannelType type) : _type (type), _world(NULL) {}
+
+ Channel(const std::string & id = "", const std::string & name = "", const std::string & alias = "", const std::string & description = "");
+ Channel(const XmlNodePtr node, int *subscribed, WorldPtr world); //RCChannel *rc_channel_from_xml_node (xmlNode *channel_node);
+
+ virtual ~Channel();
+
+ // ---------------------------------- I/O
+
+ const XmlNodePtr asXmlNode (void) const; // rc_channel_to_xml_node
+
+ static std::string toString ( const Channel & edition );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Channel& );
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ ChannelType type(void) const { return _type; }
+ void setType (ChannelType type) { _type = type; }
+
+ const char *id (void) const { return _id.c_str(); }
+ void setId (const char *id) { _id = std::string (id); }
+
+ WorldPtr world (void) const { return _world; }
+ void setWorld (WorldPtr world) { _world = world; }
+
+ const char *legacyId (void) const { return _legacy_id.c_str(); } // Old ID for RCE servers
+ void setLegacyId (const char *legacy_id) { _legacy_id = std::string (legacy_id); }
+
+ const char *name (void) const { return _name.c_str(); }
+ void setName (const char *name) { _name = std::string (name); }
+
+ const char *alias (void) const { return _alias.c_str(); }
+ void setAlias (const char *alias) { _alias = std::string (alias); }
+
+ const char *description (void) const { return _description.c_str(); }
+ void setDescription (const char *description) { _description = std::string (description); }
+
+ int priority (void) const { return _priority; }
+ void setPriority (int priority) { _priority = priority; }
+
+ int priorityUnsubscribed (void) const { return _priority_unsubscribed; }
+ void setPriorityUnsubscribed (int priority_unsubscribed) { _priority_unsubscribed = priority_unsubscribed; }
+
+ const char *path (void) const { return _path.c_str(); }
+ void setPath (const char *path) { _path = std::string (path); }
+
+ const char *filePath (void) const { return _file_path.c_str(); }
+ void setFilePath (const char *file_path) { _file_path = std::string (file_path); }
+
+ const char *iconFile (void) const { return _icon_file.c_str(); }
+ void setIconFile (const char *icon_file) { _icon_file = std::string (icon_file); }
+
+ const char *pkginfoFile (void) const { return _pkginfo_file.c_str(); }
+ void setPkginfoFile (const char *pkginfo_file) { _pkginfo_file = std::string (pkginfo_file); }
+
+// const std::list<char *> *distroTargets (void) const { return _distro_targets; }
+// void setDistroTargets (const std::list<char *> *distro_targets) { _distro_targets = distro_targets; }
+
+ time_t lastUpdate (void) const { return _last_update; }
+ void setLastUpdate (time_t last_update) { _last_update = last_update; }
+
+ bool system (void) const { return _system; }
+ void setSystem (bool system) { _system = system; }
+ bool hidden (void) const { return _hidden; }
+ void setHidden (bool hidden) { _hidden = hidden; }
+ bool immutable (void) const { return _immutable; }
+ void setImmutable (bool immutable) { _immutable = immutable; }
+
+ //-----------------------------------------------------------------------
+
+ bool isWildcard (void) const;
+
+ virtual bool equals (const Channel & channel) const;
+ virtual bool equals (constChannelPtr channel) const;
+ bool hasEqualId (const Channel & channel) const;
+ bool hasEqualId (constChannelPtr channel) const;
+
+ //RCResolvableSList *rc_channel_get_resolvables (RCChannel *channel);
+
+ // Distro target functions
+
+ void addDistroTarget (const char *target);
+ bool hasDistroTarget (const char *target) const;
+
+ // Subscription management
+
+ bool isSubscribed (void) const;
+ void setSubscription (bool subscribed);
+
+ int priorityParse (const char *priority_cptr) const;
+ void setPriorities (int subd_priority, int unsubd_priority);
+ int getPriority (bool is_subscribed) const;
+};
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Channel_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ChannelPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ChannelPtr_h
+#define _ChannelPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ChannelPtr
+// CLASS NAME : constChannelPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Channel);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ChannelPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Dependency.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'dependency'
+ * contains name-op-spec
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/OrDependency.h>
+#include <zypp/solver/detail/Version.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(Dependency,Spec);
+
+//---------------------------------------------------------------------------
+
+#define RELATION_INVALID -1
+#define RELATION_ANY 0
+#define RELATION_EQUAL (1 << 0)
+#define RELATION_LESS (1 << 1)
+#define RELATION_GREATER (1 << 2)
+#define RELATION_NONE (1 << 3)
+
+const Relation & Relation::Invalid = Relation (RELATION_INVALID);
+const Relation & Relation::Any = Relation (RELATION_ANY);
+const Relation & Relation::Equal = Relation (RELATION_EQUAL);
+const Relation & Relation::NotEqual = Relation (RELATION_LESS|RELATION_GREATER);
+const Relation & Relation::Less = Relation (RELATION_LESS);
+const Relation & Relation::LessEqual = Relation (RELATION_LESS|RELATION_EQUAL);
+const Relation & Relation::Greater = Relation (RELATION_GREATER);
+const Relation & Relation::GreaterEqual = Relation (RELATION_GREATER|RELATION_EQUAL);
+const Relation & Relation::None = Relation (RELATION_NONE);
+
+
+const Relation &
+Relation::parse(const char *relation)
+{
+ if (!strcmp (relation, "(any)"))
+ return Any;
+ else if (!strcmp (relation, "=") || !strcmp (relation, "eq"))
+ return Equal;
+ else if (!strcmp (relation, "<") || !strcmp(relation, "lt") || !strcmp(relation, "<"))
+ return Less;
+ else if (!strcmp (relation, "<=") || !strcmp(relation, "lte") || !strcmp(relation, "<="))
+ return LessEqual;
+ else if (!strcmp (relation, ">") || !strcmp(relation, "gt") || !strcmp(relation, ">"))
+ return Greater;
+ else if (!strcmp (relation, ">=") || !strcmp(relation, "gte") || !strcmp(relation, ">="))
+ return GreaterEqual;
+ else if (!strcmp (relation, "!=") || !strcmp(relation, "ne"))
+ return NotEqual;
+ else if (!strcmp (relation, "!!") || !strcmp(relation, "none"))
+ return None;
+ else
+ return Invalid;
+}
+
+
+bool
+Relation::isEqual () const
+{
+ return _op == RELATION_EQUAL;
+}
+
+
+string
+Relation::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Relation::toString ( const Relation & relation )
+{
+ string res;
+
+ switch (relation.op()) {
+ case RELATION_INVALID: res = "(invalid)";
+ break;
+ case RELATION_ANY: res = "";
+ break;
+ case RELATION_EQUAL: res = "==";
+ break;
+ case RELATION_LESS|RELATION_GREATER: res = "!=";
+ break;
+ case RELATION_LESS: res = "<";
+ break;
+ case RELATION_LESS|RELATION_EQUAL: res = "<=";
+ break;
+ case RELATION_GREATER: res = ">";
+ break;
+ case RELATION_GREATER|RELATION_EQUAL: res = ">=";
+ break;
+ case RELATION_NONE: res = "!!";
+ break;
+ default:
+ res = "??";
+ res += stringutil::numstring (relation.op());
+ res += "??";
+ break;
+ }
+ return res;
+}
+
+
+string
+Relation::toWord ( const Relation & relation )
+{
+ string res;
+
+ switch (relation.op()) {
+ case RELATION_INVALID: res = "(invalid)";
+ break;
+ case RELATION_ANY: res = "(any)";
+ break;
+ case RELATION_EQUAL: res = "equal to";
+ break;
+ case RELATION_LESS|RELATION_GREATER: res = "not equal to";
+ break;
+ case RELATION_LESS: res = "less than";
+ break;
+ case RELATION_LESS|RELATION_EQUAL: res = "less than or equal to";
+ break;
+ case RELATION_GREATER: res = "greater than";
+ break;
+ case RELATION_GREATER|RELATION_EQUAL: res = "greater than or equal to";
+ break;
+ case RELATION_NONE: res = "not installed";
+ break;
+ default:
+ res = "??";
+ res += stringutil::numstring (relation.op());
+ res += "??";
+ break;
+ }
+ return res;
+}
+
+
+ostream &
+Relation::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream & os, const Relation & relation)
+{
+ return os << relation.asString();
+}
+
+//---------------------------------------------------------------------------
+
+string
+Dependency::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Dependency::toString ( const Dependency & dependency )
+{
+ string res;
+
+ res += dependency.name();
+ if (dependency.relation() != Relation::Any) {
+ res += " ";
+ res += dependency.relation().asString();
+ res += " ";
+
+ res += dependency.edition()->asString();
+ }
+ if (dependency.orDep()) res += " [OR]";
+ if (dependency.preDep()) res += " [PRE]";
+
+ return res;
+}
+
+
+string
+Dependency::toString (const CDependencyList & dl)
+{
+ string res("[");
+ for (CDependencyList::const_iterator iter = dl.begin(); iter != dl.end(); iter++) {
+ if (iter != dl.begin()) res += ", ";
+ res += (*iter)->asString();
+ }
+ return res + "]";
+}
+
+
+
+
+ostream &
+Dependency::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Dependency& dependency)
+{
+ return os << dependency.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Dependency::Dependency (const string & name, const Relation & relation, const Kind & kind,
+ constChannelPtr channel,
+ int epoch, const string & version, const string & release, const Arch * arch,
+ bool or_dep, bool pre_dep)
+ : Spec (kind, name, epoch, version, release, arch)
+ , _relation (relation)
+ , _channel (channel)
+ , _or_dep (or_dep)
+ , _pre_dep (pre_dep)
+{
+}
+
+
+Dependency::Dependency (const string & name, const Relation & relation, const Kind & kind,
+ constChannelPtr channel, constEditionPtr edition, bool or_dep, bool pre_dep)
+ : Spec (kind, name, edition)
+ , _relation (relation)
+ , _channel (channel)
+ , _or_dep (or_dep)
+ , _pre_dep (pre_dep)
+{
+}
+
+
+Dependency::Dependency (OrDependencyPtr or_dep)
+ : Spec (Kind::Package, or_dep->name())
+ , _relation (Relation::Any)
+ , _channel (NULL)
+ , _or_dep (false)
+ , _pre_dep (true)
+{
+ or_dep->addCreatedProvide (this);
+}
+
+
+Dependency::Dependency (constXmlNodePtr node)
+ : Spec (Kind::Package, "")
+ , _relation (Relation::Any)
+ , _channel (new Channel(CHANNEL_TYPE_ANY))
+ , _or_dep (false)
+ , _pre_dep (false)
+{
+ const char *tmp;
+
+ if (!node->equals("dep")) {
+ fprintf (stderr, "Dependency::Dependency bad node\n");
+ abort();
+ }
+
+ setName(node->getProp ("name"));
+ tmp = node->getProp ("op", NULL);
+ if (tmp) {
+ _relation = Relation::parse(tmp);
+ setEpoch (node->getIntValueDefault ("epoch", -1));
+ setVersion (node->getProp ("version"));
+ setRelease (node->getProp ("release"));
+ }
+
+ tmp = node->getProp ("arch", NULL);
+ if (tmp) {
+ setArch (Arch::create (node->getProp ("arch")));
+ } else {
+ setArch (Arch::Unknown);
+ }
+#if 0
+ tmp = node->getProp ("kind", NULL);
+ if (tmp) {
+ setKind (Kind (node->getProp ("kind")));
+ }
+#endif
+ /* FIXME: should get channel from XML */
+ /* FIXME: should get arch from XML */
+}
+
+
+Dependency::~Dependency()
+{
+}
+
+//---------------------------------------------------------------------------
+
+DependencyPtr parseXml (constXmlNodePtr node)
+{
+ if (node->equals("dep")) {
+ return new Dependency (node);
+ } else if (node->equals("or")) {
+ CDependencyList or_dep_list;
+
+ node = node->children();
+
+ while (node) {
+ if (node->isElement()) {
+ or_dep_list.push_back (new Dependency (node));
+ }
+
+ node = node->next();
+ }
+
+ OrDependencyPtr or_dep = OrDependency::fromDependencyList(or_dep_list);
+ return new Dependency (or_dep);
+ }
+
+ fprintf (stderr, "Unhandled dependency [%s]\n", node->name());
+
+ return NULL;
+}
+
+
+bool
+Dependency::verifyRelation (constDependencyPtr prov) const
+{
+ int compare_ret = 0;
+if (getenv ("SPEW_DEP")) fprintf (stderr, "Dependency::verifyRelation(dep: %s, prov: %s)", asString().c_str(), prov->asString().c_str());
+ /* No dependency can be met by a different token name */
+ if (name() != prov->name()) {
+if (getenv ("SPEW_DEP")) fprintf (stderr, "-> wrong name\n");
+ return false;
+ }
+
+ /* No dependency can be met by a different type */
+ if (kind() != prov->kind()) {
+if (getenv ("SPEW_DEP")) fprintf (stderr, "-> wrong kind(dep: %s, prov: %s)\n", kind().asString().c_str(), prov->kind().asString().c_str());
+ return false;
+ }
+
+ /* WARNING: RC_RELATION_NONE is NOT handled */
+
+ /* No specific version in the req, so return */
+ if (_relation == Relation::Any) {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " (any) -> true\n");
+ return true;
+ }
+
+ /* No specific version in the prov. In RPM this means it will satisfy
+ * any version, but debian it will not satisfy a versioned dep */
+ if (prov->relation() == Relation::Any) {
+ if (GVersion.hasProperty (VERSION_PROP_PROVIDE_ANY)) {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " provides (any) matches GVersion -> true\n");
+ return true;
+ }
+ else {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " provides (any) does not match GVersion -> false\n");
+ return false;
+ }
+ }
+
+ if (!channel()->equals (prov->channel()))
+ {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " wrong channel -> false\n");
+ return false;
+ }
+
+ SpecPtr newdepspec;
+ SpecPtr newprovspec;
+
+ if (epoch() >= 0 && prov->epoch() >= 0) {
+ /* HACK: This sucks, but I don't know a better way to compare elements one at a time */
+ newdepspec = new Spec(kind(), "", epoch());
+ newprovspec = new Spec(prov->kind(), "", prov->epoch());
+ compare_ret = GVersion.compare (newprovspec, newdepspec);
+ } else if (prov->epoch() > 0 ) {
+ if (GVersion.hasProperty (VERSION_PROP_IGNORE_ABSENT_EPOCHS)) {
+ compare_ret = 0;
+ }
+ else {
+ compare_ret = 1;
+ }
+ } else if (epoch() > 0 ) {
+ compare_ret = -1;
+ }
+if (getenv ("SPEW_DEP")) fprintf (stderr, "epoch(%d), prov->epoch(%d) -> compare_ret %d\n", epoch(), prov->epoch(), compare_ret);
+ if (compare_ret == 0) {
+ if (GVersion.hasProperty (VERSION_PROP_ALWAYS_VERIFY_RELEASE)
+ || (!(release().empty() || prov->release().empty()))) {
+ newdepspec = new Spec(kind(), "", -1, version(), release());
+ newprovspec = new Spec(prov->kind(), "", -1, prov->version(), prov->release());
+ } else {
+ newdepspec = new Spec(kind(), "", -1, version());
+ newprovspec = new Spec(prov->kind(), "", -1, prov->version());
+ }
+ compare_ret = GVersion.compare (newprovspec, newdepspec);
+ }
+if (getenv ("SPEW_DEP")) fprintf (stderr, " (compare result -> %d)", compare_ret);
+
+ if (compare_ret < 0
+ && ((prov->relation().op() & Relation::Greater.op())
+ || (_relation.op() & Relation::Less.op())))
+ {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " -> true\n");
+ return true;
+ } else if (compare_ret > 0
+ && ((prov->relation().op() & Relation::Less.op())
+ || (_relation.op() & Relation::Greater.op())))
+ {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " -> true\n");
+ return true;
+ } else if (compare_ret == 0
+ && (((prov->relation().op() & Relation::Equal.op()) && (_relation.op() & Relation::Equal.op()))
+ || ((prov->relation().op() & Relation::Less.op()) && (_relation.op() & Relation::Less.op()))
+ || ((prov->relation().op() & Relation::Greater.op()) && (_relation.op() & Relation::Greater.op()))))
+ {
+if (getenv ("SPEW_DEP")) fprintf (stderr, " -> true\n");
+ return true;
+ }
+
+if (getenv ("SPEW_DEP")) fprintf (stderr, " -> false\n");
+ return false;
+}
+
+//---------------------------------------------------------------------------
+
+#if 0
+xmlNode *
+rc_resolvable_dep_or_slist_to_xml_node (RCResolvableDepSList *dep)
+{
+ xmlNode *or_node;
+ const RCResolvableDepSList *dep_iter;
+
+ or_node = xmlNewNode (NULL, "or");
+
+ dep_iter = dep;
+ while (dep_iter) {
+ RCResolvableDep *dep_item = (RCResolvableDep *)(dep_iter->data);
+ xmlAddChild (or_node, rc_resolvable_dep_to_xml_node (dep_item));
+ dep_iter = dep_iter->next;
+ }
+
+ return or_node;
+} /* rc_resolvable_dep_or_slist_to_xml_node */
+
+xmlNode *
+rc_resolvable_dep_to_xml_node (RCResolvableDep *dep_item)
+{
+ RCResolvableSpec *spec = (RCResolvableSpec *) dep_item;
+ xmlNode *dep_node;
+
+ if (rc_resolvable_dep_is_or (dep_item)) {
+ RCResolvableDepSList *dep_or_slist;
+ dep_or_slist = rc_dep_string_to_or_dep_slist
+ (rc_resolvable_spec_get_name (spec));
+ dep_node = rc_resolvable_dep_or_slist_to_xml_node (dep_or_slist);
+ rc_resolvable_dep_slist_free (dep_or_slist);
+ return dep_node;
+ }
+
+ dep_node = xmlNewNode (NULL, "dep");
+
+ xmlSetProp (dep_node, "name", rc_resolvable_spec_get_name (spec));
+
+ if (rc_resolvable_dep_get_relation (dep_item) != Relation::Any) {
+ xmlSetProp (dep_node, "op",
+ rc_resolvable_relation_to_string (
+ rc_resolvable_dep_get_relation (dep_item), false));
+
+ if (rc_resolvable_spec_has_epoch (spec)) {
+ gchar *tmp;
+
+ tmp = g_strdup_printf ("%d", rc_resolvable_spec_get_epoch (spec));
+ xmlSetProp (dep_node, "epoch", tmp);
+ g_free (tmp);
+ }
+
+ if (spec->version) {
+ xmlSetProp (dep_node, "version", spec->version);
+ }
+
+ if (spec->release) {
+ xmlSetProp (dep_node, "release", spec->release);
+ }
+ }
+
+ return (dep_node);
+} /* rc_resolvable_dep_to_xml_node */
+
+#endif
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Dependency.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Dependency_h
+#define _Dependency_h
+
+#include <list>
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/DependencyPtr.h>
+#include <zypp/solver/detail/OrDependencyPtr.h>
+#include <zypp/solver/detail/Spec.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Relation
+/**
+ * A dependency relation
+ **/
+
+class Relation {
+
+ private:
+
+ int _op;
+
+ Relation (int op) { _op = op; }
+
+ public:
+
+ virtual ~Relation() {}
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Relation & relation );
+
+ static std::string toWord ( const Relation & relation );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream & str, const Relation & relation );
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- consts
+
+ static const Relation & Invalid;
+ static const Relation & Any;
+ static const Relation & Equal;
+ static const Relation & NotEqual;
+ static const Relation & Less;
+ static const Relation & LessEqual;
+ static const Relation & Greater;
+ static const Relation & GreaterEqual;
+ static const Relation & None;
+
+ static const Relation & parse (const char *relation);
+
+ // ---------------------------------- accessors
+
+ int op (void) const { return _op; }
+
+ bool isEqual () const;
+
+ // equality operator
+ bool operator==( const Relation & rel ) const {
+ return (_op == rel.op());
+ }
+
+ // inequality
+ bool operator!=( const Relation & rel ) const {
+ return !(*this == rel);
+ }
+
+};
+
+///////////////////////////////////////////////////////////////////
+
+typedef std::list <DependencyPtr> DependencyList;
+typedef std::list <constDependencyPtr> CDependencyList;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Dependency
+/**
+ *
+ **/
+
+class Dependency : public Spec {
+ REP_BODY(Dependency);
+
+ private:
+ Relation _relation;
+ constChannelPtr _channel;
+ bool _or_dep;
+ bool _pre_dep;
+
+ public:
+
+ Dependency (const std::string & name,
+ const Relation & relation,
+ const Kind & kind = Kind::Package,
+ constChannelPtr channel = NULL,
+ int epoch = -1,
+ const std::string & version = "",
+ const std::string & release = "",
+ const Arch * arch = Arch::Any,
+ bool or_dep = false,
+ bool pre_dep = false);
+
+ Dependency (const std::string & name,
+ const Relation & relation,
+ const Kind & kind = Kind::Package,
+ constChannelPtr channel = NULL,
+ constEditionPtr edition = NULL,
+ bool or_dep = false,
+ bool pre_dep = false);
+
+ Dependency (OrDependencyPtr or_dep); //RCResolvableDep *rc_dep_or_new_provide (RCDepOr *dor);
+
+ Dependency (constXmlNodePtr node); //RCResolvableDep *rc_xml_node_to_resolvable_dep (const xmlNode *node);
+
+ virtual ~Dependency();
+
+ // ---------------------------------- I/O
+
+ const xmlNodePtr asXmlNode (void) const; // xmlNode *rc_resolvable_dep_to_xml_node (RCResolvableDep *dep_item);
+
+ static std::string toString ( const Dependency & dep );
+
+ static std::string toString ( const CDependencyList & deplist );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream & str, const Dependency & dep);
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ const Relation & relation() const { return _relation; }
+ constChannelPtr channel (void) const { return _channel; }
+
+ bool orDep (void) const { return _or_dep; }
+ void setOrDep (bool or_dep) { _or_dep = or_dep; }
+
+ bool preDep (void) const { return _pre_dep; }
+ void setPreDep (bool pre_dep) { _pre_dep = pre_dep; }
+
+ // ---------------------------------- methods
+
+ DependencyPtr parseXml (constXmlNodePtr node);
+ bool verifyRelation (constDependencyPtr prov) const;
+};
+
+// xmlNode *rc_resolvable_dep_or_slist_to_xml_node (RCResolvableDepSList *dep);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Dependency_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* DependencyPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _DependencyPtr_h
+#define _DependencyPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/SpecPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : DependencyPtr
+// CLASS NAME : constDependencyPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(Dependency,Spec);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _DependencyPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Edition.cc
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Edition.h>
+#include <zypp/solver/detail/Version.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Edition);
+
+//---------------------------------------------------------------------------
+
+string
+Edition::asString ( bool full ) const
+{
+ return toString (*this, full);
+}
+
+
+string
+Edition::toString ( const Edition & edition, bool full )
+{
+ string res ("");
+
+ if (edition._epoch >= 0) {
+ res += stringutil::numstring (edition._epoch);
+ res += ":";
+ }
+
+ res += edition._version;
+ if (!edition._release.empty()) {
+ res += "-";
+ res += edition._release;
+ }
+
+ if (full) {
+ res += ".";
+ res += edition._arch->asString();
+ }
+
+ return res;
+}
+
+
+ostream &
+Edition::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Edition& edition)
+{
+ return os << edition.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Edition::Edition( int epoch, const string & version, const string & release, const Arch * arch)
+ : _epoch (epoch)
+ , _version (version)
+ , _release (release)
+ , _arch (arch)
+{
+}
+
+
+Edition::~Edition()
+{
+}
+
+
+EditionPtr
+Edition::copy (void) const
+{
+ return new Edition (_epoch, _version, _release, _arch);
+}
+
+
+EditionPtr
+Edition::fromString (const char *s)
+{
+ return GVersion.parse (s);
+}
+
+
+bool
+Edition::match( constEditionPtr edition ) const {
+//fprintf (stderr, "<%s> match <%s>\n", asString().c_str(), edition->asString().c_str());
+ if (_epoch != edition->_epoch) return false;
+//fprintf (stderr, "epoch ok\n");
+ if (_version != edition->_version) return false;
+//fprintf (stderr, "version ok\n");
+ if (_release != edition->_release) return false;
+//fprintf (stderr, "release ok\n");
+ if (_arch != edition->_arch) return false;
+//fprintf (stderr, "arch ok\n");
+ return true;
+}
+
+
+bool
+Edition::equals( constEditionPtr edition ) const {
+//fprintf (stderr, "<%s> equals <%s>\n", asString().c_str(), edition->asString().c_str());
+ return match (edition);
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Edition.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Edition_h
+#define _Edition_h
+
+#include <iosfwd>
+#include <string>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/EditionPtr.h>
+#include <zypp/solver/detail/XmlNodePtr.h>
+#include <zypp/solver/detail/Arch.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Edition
+/**
+ *
+ **/
+class Edition : public CountedRep {
+ REP_BODY(Edition);
+
+ private:
+ int _epoch;
+ std::string _version;
+ std::string _release;
+ const Arch *_arch;
+
+ public:
+
+ //
+ // -1 resp. NULL values are treated as 'any'
+ //
+
+ Edition( int epoch = -1, const std::string & version = "", const std::string & release = "", const Arch * arch = Arch::Unknown);
+ virtual ~Edition();
+
+ // ---------------------------------- I/O
+
+ const XmlNodePtr asXmlNode (void) const;
+
+ static std::string toString ( const Edition & edition, bool full = false );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Edition& );
+
+ std::string asString ( bool full = false ) const;
+
+ // ---------------------------------- accessors
+
+ void setVersion (const std::string & version) { _version = version; }
+ void setRelease (const std::string & release) { _release = release; }
+ void setEpoch (int epoch) { _epoch = epoch; }
+ void setArch (const std::string & arch) { _arch = Arch::create(arch); }
+ void setArch (const Arch * arch) { _arch = arch; }
+
+ const std::string & version() const { return _version; }
+ const std::string & release() const { return _release; }
+ const int epoch() const { return _epoch; }
+ bool hasEpoch() const { return _epoch >= 0; }
+ const Arch * arch() const { return _arch; }
+
+ bool match( constEditionPtr edition ) const;
+ bool equals( constEditionPtr edition ) const;
+
+ // ---------------------------------- accessors
+
+ EditionPtr copy (void) const;
+ static EditionPtr fromString (const char *s);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Edition_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* EditionPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _EditionPtr_h
+#define _EditionPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : EditionPtr
+// CLASS NAME : constEditionPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Edition);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _EditionPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Hash.h
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Hash_h
+#define _Hash_h
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef unsigned int HashValue;
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Hash_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Importance.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Importance.h>
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+const Importance & Importance::Undefined= Importance("undefined");
+
+//---------------------------------------------------------------------------
+string
+Importance::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Importance::toString ( const Importance & importance )
+{
+ string res;
+
+ switch (importance.importance()) {
+ case IMPORTANCE_UNDEFINED: res = "undefined"; break;
+ case IMPORTANCE_INVALID: res = "invalid"; break;
+ case IMPORTANCE_NECESSARY: res = "necessary"; break;
+ case IMPORTANCE_URGENT: res = "urgent"; break;
+ case IMPORTANCE_SUGGESTED: res = "suggested"; break;
+ case IMPORTANCE_FEATURE: res = "feature"; break;
+ case IMPORTANCE_MINOR: res = "minor"; break;
+ default:
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "invalid importance %d\n", importance.importance());
+ res = "invalid";
+ }
+ return res;
+}
+
+
+ostream &
+Importance::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Importance& importance)
+{
+ return os << importance.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Importance::Importance(const char *importance_str)
+{
+ _importance = IMPORTANCE_INVALID;
+ if (importance_str != NULL) {
+ switch (*importance_str) {
+ case 'f':
+ if (!strcmp (importance_str, "feature")) {
+ _importance = IMPORTANCE_FEATURE;
+ }
+ break;
+ case 'm':
+ if (!strcmp (importance_str, "minor")) {
+ _importance = IMPORTANCE_MINOR;
+ }
+ break;
+ case 'n':
+ if (!strcmp (importance_str, "necessary")) {
+ _importance = IMPORTANCE_NECESSARY;
+ }
+ break;
+ case 's':
+ if (!strcmp (importance_str, "suggested")) {
+ _importance = IMPORTANCE_SUGGESTED;
+ }
+ break;
+ case 'u':
+ if (!strcmp (importance_str, "urgent")) {
+ _importance = IMPORTANCE_URGENT;
+ }
+ else if (!strcmp (importance_str, "undefined")) {
+ _importance = IMPORTANCE_UNDEFINED;
+ }
+ default:
+ break;
+ }
+ }
+ if (_importance == IMPORTANCE_INVALID)
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "invalid importance '%s'\n", importance_str ? importance_str : "<null>");
+
+}
+
+
+Importance::~Importance()
+{
+}
+
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Importance.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Importance_h
+#define _Importance_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Importance
+/**
+ *
+ **/
+class Importance {
+
+ private:
+
+ typedef enum {
+ IMPORTANCE_INVALID = -1,
+
+ IMPORTANCE_NECESSARY,
+ IMPORTANCE_URGENT,
+ IMPORTANCE_SUGGESTED,
+ IMPORTANCE_FEATURE,
+ IMPORTANCE_MINOR,
+ IMPORTANCE_UNDEFINED,
+
+ // Not a real importance
+ IMPORTANCE_LAST
+ } importance_t;
+
+ importance_t _importance;
+
+ private:
+ importance_t importance () const { return _importance; }
+
+ public:
+
+ Importance(const char *importance_str);
+ virtual ~Importance();
+
+ static const Importance & Undefined;
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Importance & importance);
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Importance & importance);
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ // equality
+ bool operator==( const Importance & importance) const {
+ return _importance == importance.importance();
+ }
+
+ // inequality
+ bool operator!=( const Importance & importance) const {
+ return !(*this == importance);
+ }
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Importance_h
--- /dev/null
+#
+# Makefile.am for solver/detail
+#
+
+SUBDIRS =
+
+INCLUDES = \
+ -I$(top_srcdir) -Wall -fno-strict-aliasing \
+ -I/usr/include/YaST2 \
+ -I/usr/include/libxml2 -I/usr/include/rpm \
+ -DG_LOG_DOMAIN=\"solver_detail\"
+
+include_HEADERS = \
+ debug.h \
+ utils.h \
+ extract.h \
+ Arch.h \
+ Edition.h \
+ EditionPtr.h \
+ Hash.h \
+ Spec.h \
+ SpecPtr.h \
+ Section.h \
+ Channel.h \
+ ChannelPtr.h \
+ Subscription.h \
+ Resolvable.h \
+ ResolvablePtr.h \
+ Dependency.h \
+ DependencyPtr.h \
+ ResolvableAndDependency.h \
+ ResolvableAndDependencyPtr.h \
+ OrDependency.h \
+ OrDependencyPtr.h \
+ Package.h \
+ PackagePtr.h \
+ PackageUpdate.h \
+ PackageUpdatePtr.h \
+ XmlNode.h \
+ XmlNodePtr.h \
+ XmlParser.h \
+ Importance.h \
+ Version.h \
+ Match.h \
+ MatchPtr.h \
+ Pending.h \
+ PendingPtr.h \
+ Packman.h \
+ PackmanPtr.h \
+ World.h \
+ WorldPtr.h \
+ UndumpWorld.h \
+ UndumpWorldPtr.h \
+ StoreWorld.h \
+ StoreWorldPtr.h \
+ MultiWorld.h \
+ MultiWorldPtr.h \
+ ServiceWorld.h \
+ ServiceWorldPtr.h \
+ ResolverContext.h \
+ ResolverContextPtr.h \
+ ResolverInfo.h \
+ ResolverInfoPtr.h \
+ ResolverInfoContainer.h \
+ ResolverInfoContainerPtr.h \
+ ResolverInfoChildOf.h \
+ ResolverInfoChildOfPtr.h \
+ ResolverInfoConflictsWith.h \
+ ResolverInfoConflictsWithPtr.h \
+ ResolverInfoDependsOn.h \
+ ResolverInfoDependsOnPtr.h \
+ ResolverInfoMisc.h \
+ ResolverInfoMiscPtr.h \
+ ResolverInfoMissingReq.h \
+ ResolverInfoMissingReqPtr.h \
+ ResolverInfoNeededBy.h \
+ ResolverInfoNeededByPtr.h \
+ ResolverInfoObsoletes.h \
+ ResolverInfoObsoletesPtr.h \
+ QueueItem.h \
+ QueueItemPtr.h \
+ QueueItemBranch.h \
+ QueueItemBranchPtr.h \
+ QueueItemConflict.h \
+ QueueItemConflictPtr.h \
+ QueueItemGroup.h \
+ QueueItemGroupPtr.h \
+ QueueItemInstall.h \
+ QueueItemInstallPtr.h \
+ QueueItemRequire.h \
+ QueueItemRequirePtr.h \
+ QueueItemUninstall.h \
+ QueueItemUninstallPtr.h \
+ ResolverQueue.h \
+ ResolverQueuePtr.h \
+ Resolver.h \
+ ResolverPtr.h
+
+noinst_LTLIBRARIES = lib@PACKAGE@_solver_detail.la
+
+lib@PACKAGE@_solver_detail_la_SOURCES = \
+ utils.cc \
+ debug.cc \
+ Arch.cc \
+ Edition.cc \
+ Spec.cc \
+ Channel.cc \
+ Subscription.cc \
+ Resolvable.cc \
+ Dependency.cc \
+ ResolvableAndDependency.cc \
+ OrDependency.cc \
+ XmlNode.cc \
+ Importance.cc \
+ Section.cc \
+ Package.cc \
+ PackageUpdate.cc \
+ XmlParser.cc \
+ Version.cc \
+ Match.cc \
+ Pending.cc \
+ Packman.cc \
+ World.cc \
+ UndumpWorld.cc \
+ StoreWorld.cc \
+ MultiWorld.cc \
+ ServiceWorld.cc \
+ QueueItem.cc \
+ QueueItemBranch.cc \
+ QueueItemConflict.cc \
+ QueueItemGroup.cc \
+ QueueItemInstall.cc \
+ QueueItemRequire.cc \
+ QueueItemUninstall.cc \
+ Resolver.cc \
+ ResolverInfo.cc \
+ ResolverInfoChildOf.cc \
+ ResolverInfoConflictsWith.cc \
+ ResolverInfoContainer.cc \
+ ResolverInfoDependsOn.cc \
+ ResolverInfoMisc.cc \
+ ResolverInfoMissingReq.cc \
+ ResolverInfoNeededBy.cc \
+ ResolverInfoObsoletes.cc \
+ ResolverContext.cc \
+ ResolverQueue.cc \
+ extract.cc
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Match.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Match.h>
+#include <zypp/solver/detail/World.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Match);
+
+//---------------------------------------------------------------------------
+
+string
+Match::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Match::toString ( const Match & lock )
+{
+ return "<lock/>";
+}
+
+
+ostream &
+Match::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Match& edition)
+{
+ return os << edition.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Match::Match()
+ : _importance (Importance::Undefined)
+{
+}
+
+Match::Match (XmlNodePtr node)
+ : _importance (Importance::Undefined)
+{
+}
+
+Match::~Match()
+{
+}
+
+//---------------------------------------------------------------------------
+
+XmlNodePtr
+Match::asXmlNode (void) const
+{
+ return new XmlNode("match");
+}
+
+
+// equality
+bool
+Match::equals ( const Match & lock ) const {
+
+ // Check the name glob
+
+ if ((_name_glob.empty()) ^ (lock._name_glob.empty()))
+ return false;
+ if (_name_glob != lock._name_glob)
+ return false;
+
+ // Check the channel
+
+ if ((_channel_id.empty()) ^ (lock._channel_id.empty()))
+ return false;
+ if (_channel_id != lock._channel_id)
+ return false;
+
+ // Check the importance
+
+ if (_importance != lock._importance
+ || _importance_gteq != lock._importance_gteq)
+ {
+ return false;
+ }
+
+ // Check the dep
+ if ((_dependency == NULL) ^ (lock._dependency == NULL))
+ return false;
+ if (_dependency && lock._dependency) {
+ if (!( ((constSpecPtr) _dependency)->equals((constSpecPtr) lock._dependency))
+ || (_dependency->relation() != lock._dependency->relation())
+ || (_dependency->kind() != lock._dependency->kind()))
+ {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+
+bool
+Match::test (constResolvablePtr resolvable, WorldPtr world) const
+{
+ string name;
+ constChannelPtr channel = resolvable->channel ();
+
+ if (channel != NULL && !_channel_id.empty()) {
+ if (! channel->hasEqualId (_channel_id)) {
+ return false;
+ }
+ }
+
+ name = resolvable->name ();
+
+// FIXME, implement regexp
+#if 0
+ if (match->_pattern_spec
+ && ! g_pattern_match_string (match->pattern_spec, name)) {
+ return false;
+ }
+#endif
+
+ /* FIXME: Resolvables don't have ResolvableUpdate right now */
+/* if (match->importance != RC_IMPORTANCE_INVALID && */
+/* !rc_resolvable_is_installed (resolvable)) { */
+/* RCResolvableUpdate *up = rc_resolvable_get_latest_update (pkg); */
+/* if (up) { */
+/* if (match->importance_gteq ? up->importance > match->importance */
+/* : up->importance < match->importance) */
+/* return FALSE; */
+/* } */
+/* } */
+
+ if (_dependency) {
+ DependencyPtr dependency;
+ bool check;
+
+ dependency = new Dependency (resolvable->name(), Relation::Equal, Kind::Package, resolvable->channel(), resolvable->edition());
+ check = _dependency->verifyRelation (dependency);
+ return check;
+ }
+
+ return true;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Match.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Match_h
+#define _Match_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/MatchPtr.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/Importance.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/WorldPtr.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+class Match;
+typedef std::list<constMatchPtr> MatchList;
+
+class World;
+typedef bool (*MatchFn) (constMatchPtr match, void *data);
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Match
+/**
+ *
+ **/
+class Match : public CountedRep {
+ REP_BODY(Match);
+
+ private:
+ std::string _channel_id;
+
+ constDependencyPtr _dependency;
+
+ std::string _name_glob;
+// GPatternSpec *_pattern_spec;
+
+ Importance _importance;
+ bool _importance_gteq;
+
+ public:
+
+ Match();
+ Match(XmlNodePtr node);
+ virtual ~Match();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Match & lock );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Match & lock );
+
+ std::string asString ( void ) const;
+
+ XmlNodePtr asXmlNode (void) const;
+
+ // ---------------------------------- accessors
+
+ const std::string & channelId () const { return _channel_id; }
+ void setChannel (constChannelPtr channel) { _channel_id = channel->id(); }
+ void setChannelId (const std::string & channel_id) { _channel_id = channel_id; }
+
+ constDependencyPtr dependency () const { return _dependency; }
+ void setDependency (constDependencyPtr dependency) { _dependency = dependency; }
+
+ const std::string & glob () const { return _name_glob; }
+ void setGlob (const std::string & glob_str) { _name_glob = glob_str; }
+
+ const Importance & importance (bool *match_gteq) const { *match_gteq = _importance_gteq; return _importance; }
+ void setImportance (const Importance & importance, bool match_gteq) { _importance = importance; _importance_gteq = match_gteq; }
+
+ // ---------------------------------- methods
+
+ typedef bool (*MatchFn) (constMatchPtr, void *data);
+
+ // equality
+ bool equals (const Match & match) const;
+
+ bool test (constResolvablePtr resolvable, WorldPtr world) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Match_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* MatchPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _MatchPtr_h
+#define _MatchPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/Edition.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : MatchPtr
+// CLASS NAME : constMatchPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Match);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _MatchPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* MultiWorld.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+#include <zypp/solver/detail/MultiWorld.h>
+#include <zypp/solver/detail/ServiceWorld.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+//===========================================================================
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : SubWorldInfo
+
+class SubWorldInfo {
+
+ private:
+ WorldPtr _subworld;
+ WorldPtr _refreshed_subworld;
+
+ bool _refreshed_ready;
+
+ unsigned int _changed_resolvables_id;
+ unsigned int _changed_channels_id;
+ unsigned int _changed_subscriptions_id;
+ unsigned int _changed_locks_id;
+
+ public:
+
+ SubWorldInfo (WorldPtr subworld, MultiWorldPtr multiworld);
+ virtual ~SubWorldInfo();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const SubWorldInfo & subworldinfo);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const SubWorldInfo & subworldinfo);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ WorldPtr subworld () const { return _subworld; }
+
+ // ---------------------------------- methods
+
+};
+
+//---------------------------------------------------------------------------
+
+string
+SubWorldInfo::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+SubWorldInfo::toString ( const SubWorldInfo & subworldinfo )
+{
+ return "<subworldinfo/>";
+}
+
+
+ostream &
+SubWorldInfo::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const SubWorldInfo & subworldinfo)
+{
+ return os << subworldinfo.asString();
+}
+
+//---------------------------------------------------------------------------
+
+SubWorldInfo::SubWorldInfo (WorldPtr subworld, MultiWorldPtr multiworld)
+ : _subworld (subworld)
+ , _changed_resolvables_id (0)
+ , _changed_channels_id (0)
+ , _changed_subscriptions_id (0)
+ , _changed_locks_id (0)
+
+{
+#if 0
+ _changed_resolvables_id =
+ g_signal_connect (G_OBJECT (subworld),
+ "changed_resolvables",
+ (GCallback) changed_resolvables_cb,
+ world);
+
+ _changed_channels_id =
+ g_signal_connect (G_OBJECT (subworld),
+ "changed_channels",
+ (GCallback) changed_channels_cb,
+ world);
+
+ _changed_subscriptions_id =
+ g_signal_connect (G_OBJECT (subworld),
+ "changed_subscriptions",
+ (GCallback) changed_subscriptions_cb,
+ world);
+
+ _changed_locks_id =
+ g_signal_connect (G_OBJECT (subworld),
+ "changed_locks",
+ (GCallback) changed_locks_cb,
+ world);
+#endif
+}
+
+
+SubWorldInfo::~SubWorldInfo()
+{
+}
+
+
+//===========================================================================
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : NameConflictInfo
+
+class NameConflictInfo {
+
+ private:
+ int _depth;
+ MultiWorldPtr _multiworld;
+ WorldPtr _subworld;
+ const char *_name;
+
+ public:
+ NameConflictInfo(int depth, MultiWorldPtr multiworld, WorldPtr subworld, const char *name);
+ virtual ~NameConflictInfo();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const NameConflictInfo & nameconflictinfo);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const NameConflictInfo & nameconflictinfo);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ int depth () const { return _depth; }
+ MultiWorldPtr multiworld () const { return _multiworld; }
+ WorldPtr subworld () const { return _subworld; }
+ const char *name () const { return _name; }
+ void setName (const char *name) { free((void *)_name); _name = strdup (name); }
+
+ // ---------------------------------- methods
+
+ void incDepth (void) { _depth++; }
+};
+
+
+//---------------------------------------------------------------------------
+
+string
+NameConflictInfo::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+NameConflictInfo::toString ( const NameConflictInfo & subworldinfo )
+{
+ return "<nameconflictinfo/>";
+}
+
+
+ostream &
+NameConflictInfo::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const NameConflictInfo & subworldinfo)
+{
+ return os << subworldinfo.asString();
+}
+
+//---------------------------------------------------------------------------
+
+NameConflictInfo::NameConflictInfo (int depth, MultiWorldPtr multiworld, WorldPtr subworld, const char *name)
+ : _depth (depth)
+ , _multiworld (multiworld)
+ , _subworld (subworld)
+ , _name (strdup (name))
+{
+}
+
+
+NameConflictInfo::~NameConflictInfo()
+{
+ free ((void *)_name);
+}
+
+
+//===========================================================================
+
+IMPL_DERIVED_POINTER(MultiWorld, World);
+
+string
+MultiWorld::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+MultiWorld::toString ( const MultiWorld & world )
+{
+ return "<undumpworld/>";
+}
+
+
+ostream &
+MultiWorld::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const MultiWorld & world)
+{
+ return os << world.asString();
+}
+
+//---------------------------------------------------------------------------
+
+MultiWorld::MultiWorld ()
+ : World (MULTI_WORLD)
+{
+}
+
+
+MultiWorld::~MultiWorld()
+{
+}
+
+//---------------------------------------------------------------------------
+
+class ForeachByTypeInfo {
+ public:
+ WorldType type;
+ WorldFn callback;
+ NameConflictInfo *name_conflict_info;
+
+ int count;
+};
+
+
+int
+MultiWorld::foreachSubworld (WorldFn callback, void *user_data)
+{
+ if (callback == NULL) return -1;
+
+ /* Make a copy of subworlds for case where user callback is
+ running main loop and a refresh starts at that time. */
+
+ WorldList copied_subworlds;
+
+ for (SubWorldInfoList::iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ copied_subworlds.push_front ((*iter)->subworld());
+ }
+
+ int count = 0;
+
+ for (WorldList::const_iterator iter = copied_subworlds.begin(); iter != copied_subworlds.end(); iter++) {
+ if (! callback (*iter, user_data)) {
+ count = -1;
+ break;
+ } else
+ ++count;
+ }
+
+ return count;
+}
+
+
+static bool
+foreach_by_type_cb (constWorldPtr subworld, void *user_data)
+{
+ ForeachByTypeInfo *info = (ForeachByTypeInfo *)user_data;
+
+ if ((subworld->type() != info->type)
+ || info->callback == NULL)
+ {
+ return true;
+ }
+
+ if (! info->callback (subworld, info->name_conflict_info)) {
+ info->count = -1;
+ return false;
+ } else {
+ ++info->count;
+ return true;
+ }
+}
+
+
+int
+MultiWorld::foreachSubworldByType (WorldType type, WorldFn callback, NameConflictInfo *name_conflict_info)
+{
+ ForeachByTypeInfo info;
+
+ info.type = type;
+ info.callback = callback;
+ info.name_conflict_info = name_conflict_info;
+ info.count = 0;
+
+ foreachSubworld (foreach_by_type_cb, (void *)(&info));
+
+ return info.count;
+}
+
+//---------------------------------------------------------------------------
+// subworld
+
+static bool
+service_name_conflict_cb (constWorldPtr world, void *user_data)
+{
+ constServiceWorldPtr service = world;
+ if (service == NULL) {
+ fprintf (stderr, "OOPS: service_name_conflict_cb: world is no service\n");
+ abort();
+ }
+
+ NameConflictInfo *info = (NameConflictInfo *)user_data;
+ if (!strcasecmp (service->name(), info->name())) {
+ info->incDepth();
+ ServiceWorldPtr infoservice = info->subworld();
+ if (infoservice == NULL) {
+ fprintf (stderr, "OOPS: service_name_conflict_cb: info->subworld is no service\n");
+ abort();
+ }
+ info->setName (stringutil::form ("%s (%d)", infoservice->name(), info->depth()).c_str());
+ info->multiworld()->foreachSubworldByType (SERVICE_WORLD, service_name_conflict_cb, info);
+ return false;
+ }
+
+ return true;
+}
+
+
+void
+MultiWorld::addSubworld (WorldPtr subworld)
+{
+ if (subworld == NULL) return;
+
+ /*
+ * If we're adding a service, make sure that the name of the service
+ * doesn't conflict with any other.
+ */
+ ServiceWorldPtr service = subworld; // service will be NULL if subworld is not a ServiceWorld
+
+ if (service != NULL) {
+ NameConflictInfo conflict_info (0, this, subworld, service->name());
+
+ foreachSubworldByType (SERVICE_WORLD, service_name_conflict_cb, &conflict_info);
+
+ service->setName (conflict_info.name());
+ }
+
+ SubWorldInfo *subworld_info = new SubWorldInfo (subworld, this);
+
+ _subworlds.push_back (subworld_info);
+
+// g_signal_emit (multi, signals[SUBWORLD_ADDED], 0, subworld);
+
+ return;
+}
+
+
+void
+MultiWorld::removeSubworld (WorldPtr subworld)
+{
+ if (subworld == NULL) return;
+
+ for (SubWorldInfoList::iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ if ((*iter)->subworld() == subworld) {
+ _subworlds.erase (iter);
+// g_signal_emit (multi, signals[SUBWORLD_REMOVED], 0, subworld);
+ return;
+ }
+ }
+ return;
+}
+
+
+//---------------------------------------------------------------------------
+// channels
+
+ChannelList
+MultiWorld::channels () const
+{
+ ChannelList cl;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ cl = (*iter)->subworld()->channels();
+//FIXME cl.merge ((*iter)->subworld()->channels());
+ }
+ return cl;
+}
+
+
+bool
+MultiWorld::containsChannel (constChannelPtr channel) const
+{
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ if ((*iter)->subworld()->containsChannel(channel))
+ return true;
+ }
+ return false;
+}
+
+
+ChannelPtr
+MultiWorld::getChannelByName (const char *channel_name) const
+{
+ ChannelPtr channel;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ channel = (*iter)->subworld()->getChannelByName(channel_name);
+ if (channel != NULL)
+ return channel;
+ }
+ return NULL;
+}
+
+
+ChannelPtr
+MultiWorld::getChannelByAlias (const char *alias) const
+{
+ ChannelPtr channel;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ channel = (*iter)->subworld()->getChannelByAlias(alias);
+ if (channel != NULL)
+ return channel;
+ }
+ return NULL;
+}
+
+
+ChannelPtr
+MultiWorld::getChannelById (const char *channel_id) const
+{
+ ChannelPtr channel;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ channel = (*iter)->subworld()->getChannelById(channel_id);
+ if (channel != NULL)
+ return channel;
+ }
+ return NULL;
+}
+
+
+int
+MultiWorld::foreachChannel (ChannelFn fn, void *data) const
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachChannel(fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+
+//---------------------------------------------------------------------------
+// Single resolvable queries
+
+constResolvablePtr
+MultiWorld::findInstalledResolvable (constResolvablePtr resolvable)
+{
+ constResolvablePtr installed;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ installed = (*iter)->subworld()->findInstalledResolvable(resolvable);
+ if (installed != NULL)
+ return installed;
+ }
+ return NULL;
+}
+
+
+constResolvablePtr
+MultiWorld::findResolvable (constChannelPtr channel, const char *name) const
+{
+ constResolvablePtr resolvable;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ resolvable = (*iter)->subworld()->findResolvable(channel, name);
+ if (resolvable != NULL)
+ return resolvable;
+ }
+ return NULL;
+}
+
+
+constResolvablePtr
+MultiWorld::findResolvableWithConstraint (constChannelPtr channel, const char *name, constDependencyPtr constraint, bool is_and) const
+{
+ constResolvablePtr resolvable;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ resolvable = (*iter)->subworld()->findResolvableWithConstraint(channel, name, constraint, is_and);
+ if (resolvable != NULL)
+ return resolvable;
+ }
+ return NULL;
+}
+
+
+ChannelPtr
+MultiWorld::guessResolvableChannel (constResolvablePtr resolvable) const
+{
+ ChannelPtr channel;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ channel = (*iter)->subworld()->guessResolvableChannel(resolvable);
+ if (channel != NULL)
+ return channel;
+ }
+ return NULL;
+}
+
+//---------------------------------------------------------------------------
+// iterate over resolvables
+
+int
+MultiWorld::foreachResolvable (ChannelPtr channel, CResolvableFn fn, void *data)
+{
+ return foreachResolvableByName ("", channel, fn, data);
+}
+
+
+int
+MultiWorld::foreachResolvableByName (const std::string & name, ChannelPtr channel, CResolvableFn fn, void *data)
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachResolvableByName(name, channel, fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+
+int
+MultiWorld::foreachResolvableByMatch (constMatchPtr match, CResolvableFn fn, void *data)
+{
+ fprintf (stderr, "MultiWorld::foreachResolvableByMatch not implemented\n");
+ return 0;
+}
+
+
+//-----------------------------------------------------------------------------
+// iterater over resolvables with dependency
+
+int
+MultiWorld::foreachProvidingResolvable (constDependencyPtr dep, ResolvableAndSpecFn fn, void *data)
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachProvidingResolvable (dep, fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+int
+MultiWorld::foreachRequiringResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data)
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachRequiringResolvable (dep, fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+int
+MultiWorld::foreachConflictingResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data)
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachConflictingResolvable (dep, fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+
+//-----------------------------------------------------------------------------
+// iterater over resolvables with locks
+
+int
+MultiWorld::foreachLock (MatchFn fn, void *data) const
+{
+ int count = 0;
+ for (SubWorldInfoList::const_iterator iter = _subworlds.begin(); iter != _subworlds.end(); iter++) {
+ int this_count;
+ this_count = (*iter)->subworld()->foreachLock(fn, data);
+ if (this_count < 0)
+ return -1;
+ count += this_count;
+ }
+ return count;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* MultiWorld.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _MultiWorld_h
+#define _MultiWorld_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <zypp/solver/detail/MultiWorldPtr.h>
+#include <zypp/solver/detail/ServiceWorldPtr.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/Pending.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+class SubWorldInfo;
+class NameConflictInfo;
+class ForeachByTypeInfo;
+
+typedef std::list <SubWorldInfo *> SubWorldInfoList;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : MultiWorld
+
+class MultiWorld : public World {
+ REP_BODY(MultiWorld);
+
+ private:
+
+ SubWorldInfoList _subworlds;
+
+ PendingPtr _multi_pending;
+ PendingList _subworld_pendings;
+
+ void (*_subworld_added) (WorldPtr subworld);
+ void (*_subworld_removed) (WorldPtr subworld);
+
+ public:
+
+ MultiWorld ();
+ MultiWorld (XmlNodePtr node);
+ MultiWorld (const char *filename);
+ virtual ~MultiWorld();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const MultiWorld & section);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const MultiWorld & section);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ void addSubworld (WorldPtr subworld);
+ void removeSubworld (WorldPtr subworld);
+
+ // ---------------------------------- methods
+
+ virtual ChannelList channels () const;
+ virtual bool containsChannel (constChannelPtr channel) const;
+ virtual ChannelPtr getChannelByName (const char *channel_name) const;
+ virtual ChannelPtr getChannelByAlias (const char *alias) const;
+ virtual ChannelPtr getChannelById (const char *channel_id) const;
+ virtual ChannelPtr guessResolvableChannel (constResolvablePtr resolvable) const;
+ virtual int foreachChannel (ChannelFn fn, void *data) const;
+
+ int foreachSubworld (WorldFn callback, void *user_data);
+ int foreachSubworldByType (WorldType type, WorldFn callback, NameConflictInfo *info);
+ WorldList getSubworlds ();
+ ServiceWorldPtr lookupService (const char *url);
+ ServiceWorldPtr lookupServiceById (const char *id);
+ bool mountService (const char *url, void *error); // GError **error);
+
+ // Single resolvable queries
+
+ virtual constResolvablePtr findInstalledResolvable (constResolvablePtr resolvable);
+ virtual constResolvablePtr findResolvable (constChannelPtr channel, const char *name) const;
+ virtual constResolvablePtr findResolvableWithConstraint (constChannelPtr channel, const char *name, constDependencyPtr constraint, bool is_and) const;
+
+ // Iterate over resolvables
+
+ virtual int foreachResolvable (ChannelPtr channel, CResolvableFn fn, void *data);
+ virtual int foreachResolvableByName (const std::string & name, ChannelPtr channel, CResolvableFn fn, void *data);
+ virtual int foreachResolvableByMatch (constMatchPtr match, CResolvableFn fn, void *data);
+
+ // Iterate across provides or requirement
+
+ virtual int foreachProvidingResolvable (constDependencyPtr dep, ResolvableAndSpecFn fn, void *data);
+ virtual int foreachRequiringResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data);
+ virtual int foreachConflictingResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data);
+
+ // locks
+
+ virtual int foreachLock (MatchFn fn, void *data) const;
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _MultiWorld_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* MultiWorldPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _MultiWorldPtr_h
+#define _MultiWorldPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/WorldPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : MultiWorldPtr
+// CLASS NAME : constMultiWorldPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(MultiWorld, World);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _MultiWorldPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* OrDependency.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'or dependency'
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/OrDependency.h>
+#include <zypp/solver/detail/Dependency.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(OrDependency);
+
+OrDependency::OrDependencyTable OrDependency::_or_dep_table;
+
+//---------------------------------------------------------------------------
+
+string
+OrDependency::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+OrDependency::toString ( const OrDependency & dependency )
+{
+ string res ("<ordependency/>");
+
+ return res;
+}
+
+
+ostream &
+OrDependency::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream & os, const OrDependency & dependency)
+{
+ return os << dependency.asString();
+}
+
+//---------------------------------------------------------------------------
+
+OrDependency::OrDependency (string & dep, const CDependencyList & split_ors)
+ : _or_dep (dep)
+ , _split_ors (split_ors)
+ , _ref(1)
+{
+}
+
+
+OrDependency::OrDependency (constXmlNodePtr node)
+{
+}
+
+
+OrDependency::~OrDependency()
+{
+}
+
+
+//---------------------------------------------------------------------------
+
+OrDependencyPtr
+OrDependency::fromDependencyList (const CDependencyList & deplist)
+{
+ string depstr = dependencyListToString(deplist);
+
+ OrDependencyTable::iterator pos = _or_dep_table.find(depstr);
+ if (pos != _or_dep_table.end()) {
+ (*pos).second->incRef();
+ return (*pos).second;
+ }
+
+ OrDependencyPtr or_dep = new OrDependency (depstr, deplist);
+ _or_dep_table[depstr] = or_dep;
+ return or_dep;
+}
+
+
+OrDependencyPtr
+OrDependency::fromString (const char *dep)
+{
+ string depstr = string (dep);
+
+ OrDependencyTable::iterator pos = _or_dep_table.find(depstr);
+ if (pos != _or_dep_table.end()) {
+ (*pos).second->incRef();
+ return (*pos).second;
+ }
+
+ CDependencyList deplist = stringToDependencyList (dep);
+ OrDependencyPtr or_dep = new OrDependency (depstr, deplist);
+ _or_dep_table[depstr] = or_dep;
+ return or_dep;
+
+}
+
+
+string
+OrDependency::dependencyListToString (const CDependencyList & deplist)
+{
+ string str ("(||");
+
+ for (CDependencyList::const_iterator dep = deplist.begin(); dep != deplist.end(); dep++) {
+ if (dep != deplist.begin())
+ str += "|";
+
+ str += (*dep)->name();
+
+ Relation relation = (*dep)->relation();
+
+ if (relation != Relation::Any) {
+ str += "&";
+ str += relation.asString();
+ str += "&";
+
+ if ((*dep)->epoch() >= 0) {
+ str += stringutil::form("%d:", (*dep)->epoch());
+ }
+
+ str += (*dep)->version();
+
+ string rel = (*dep)->release();
+ if (!rel.empty()) {
+ str += "-";
+ str += rel;
+ }
+ }
+
+ }
+
+ str += ")";
+
+ return str;
+}
+
+
+CDependencyList
+OrDependency::stringToDependencyList (const char *s)
+{
+ const char *p, *zz;
+ CDependencyList out_dep;
+ bool have_more = true;
+
+ if (strncmp (s, "(||", 3)) {
+ fprintf (stderr, "'%s' is not a 'munged or' string!\n", s);
+ return out_dep;
+ }
+
+ s += 3;
+
+ zz = strchr (s, ')');
+
+ if (!zz)
+ return out_dep;
+
+ /* s now points to the start of the first thing */
+ do {
+ char *z;
+ SpecPtr spec;
+ char *name;
+ Relation relation = Relation::Any;
+ EditionPtr edition = NULL;
+
+ /* grab the name */
+
+ z = strchr (s, '|');
+ p = strchr (s, '&');
+
+ if (!z) {
+ have_more = false;
+ }
+ else {
+ /* We don't want to get a p from a later element. */
+ if (p > z)
+ p = NULL;
+ }
+
+ name = strndup (s, p ? p - s : (z ? z - s : zz - s));
+
+ if (p) {
+ char *e;
+ char op[4];
+ char *vstr;
+
+ /* We need to parse version things */
+ p++;
+ e = strchr (p, '&');
+ if (!e || e-p > 3) {
+ /* Bad. */
+ fprintf (stderr, "Couldn't parse ver str [%s]\n", p);
+ }
+
+ /* text between p and e is an operator */
+ strncpy (op, p, e - p);
+ op[e - p] = 0;
+ relation = Relation::parse (op);
+
+ e++;
+ if (z) {
+ p = z;
+ } else {
+ p = zz;
+ }
+
+ /* e .. p is the epoch:version-release */
+ vstr = strndup (e, p - e);
+
+ EditionPtr edition = Edition::fromString (vstr);
+
+ free ((void *)vstr);
+
+ }
+
+ DependencyPtr dep = new Dependency (name, relation, Kind::Package, NULL, edition);
+
+ out_dep.push_back (dep);
+ free ((void *)name);
+
+ s = z + 1;
+
+ if (p == zz)
+ have_more = false;
+ } while (have_more);
+
+ return out_dep;
+}
+
+
+void
+OrDependency::addCreatedProvide (constDependencyPtr dep)
+{
+ _created_provides.push_back (dep);
+}
+
+
+constDependencyPtr
+OrDependency::find (const char *dep)
+{
+ string depstr (dep);
+
+ OrDependencyTable::iterator pos = _or_dep_table.find(depstr);
+ if (pos != _or_dep_table.end()) {
+ return new Dependency ((*pos).second);
+ }
+
+ return NULL;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* OrDependency.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _OrDependency_h
+#define _OrDependency_h
+
+#include <list>
+#include <map>
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/OrDependencyPtr.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : OrDependency
+/**
+ *
+ **/
+
+class OrDependency : public CountedRep {
+ REP_BODY(OrDependency);
+
+ private:
+ typedef std::map<std::string, OrDependencyPtr> OrDependencyTable;
+
+ static OrDependencyTable _or_dep_table;
+
+ std::string _or_dep;
+ CDependencyList _split_ors;
+ CDependencyList _created_provides;
+ int _ref;
+
+ OrDependency (std::string & dep, const CDependencyList & split_ors);
+
+ static std::string dependencyListToString (const CDependencyList & deplist);
+ static CDependencyList stringToDependencyList (const char *s);
+
+ void incRef() { _ref++; }
+ void decRef() { _ref--; }
+
+ public:
+
+ OrDependency (constXmlNodePtr node);
+
+ virtual ~OrDependency();
+
+ // ---------------------------------- I/O
+
+ const xmlNodePtr asXmlNode (void) const;
+
+ static std::string toString ( const OrDependency & ordep );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const OrDependency & ordep );
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ const char *name (void) const { return _or_dep.c_str(); }
+ void addCreatedProvide (constDependencyPtr dep);
+
+ // ---------------------------------- methods
+
+ static OrDependencyPtr fromDependencyList (const CDependencyList & deplist);
+ static OrDependencyPtr fromString (const char *dep);
+ static constDependencyPtr find (const char *dep);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _OrDependency_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* OrDependencyPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _OrDependencyPtr_h
+#define _OrDependencyPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : OrDependencyPtr
+// CLASS NAME : constOrDependencyPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(OrDependency);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _DependencyPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Package.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/utils.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/Package.h>
+#include <zypp/solver/detail/PackageUpdate.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(Package,Spec);
+
+struct DepTable {
+ CDependencyList requires;
+ CDependencyList provides;
+ CDependencyList conflicts;
+ CDependencyList obsoletes;
+ CDependencyList children;
+ CDependencyList suggests;
+ CDependencyList recommends;
+};
+
+//---------------------------------------------------------------------------
+
+static void
+extract_dep_info (constXmlNodePtr iter, struct DepTable & dep_table)
+{
+ if (iter->equals("requires")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.requires.push_back(new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("recommends")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.recommends.push_back (new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("suggests")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.suggests.push_back (new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("conflicts")) {
+ XmlNodePtr iter2;
+ bool all_are_obs = false, this_is_obs = false;
+ const char *obs;
+
+ iter2 = iter->children();
+
+ obs = iter->getProp ("obsoletes", NULL);
+ if (obs) {
+ all_are_obs = true;
+ free ((void *)obs);
+ }
+
+ while (iter2) {
+
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ DependencyPtr dep = new Dependency (iter2);
+
+ if (! all_are_obs) {
+ this_is_obs = false;
+ obs = iter2->getProp ("obsoletes", NULL);
+ if (obs) {
+ this_is_obs = true;
+ free ((void *)obs);
+ }
+ }
+
+ if (all_are_obs || this_is_obs) {
+ dep_table.obsoletes.push_back (dep);
+ } else {
+ dep_table.conflicts.push_back (dep);
+ }
+
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("obsoletes")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.obsoletes.push_back (new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("provides")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.provides.push_back (new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+
+ } else if (iter->equals("children")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ dep_table.children.push_back (new Dependency (iter2));
+ iter2 = iter2->next();
+ }
+ }
+}
+
+//---------------------------------------------------------------------------
+
+
+string
+Package::asString ( bool full ) const
+{
+ return toString (*this, full);
+}
+
+
+string
+Package::toString ( const PackageUpdateList & l, bool full )
+{
+ string ret ("[");
+ for (PackageUpdateList::const_iterator i = l.begin(); i != l.end(); i++) {
+ if (i != l.begin()) ret += ", ";
+ ret += (*i)->asString(full);
+ }
+ return ret + "]";
+}
+
+string
+Package::toString ( const Package & package, bool full )
+{
+ string ret;
+ ret += Resolvable::toString(package, full);
+ if (full) {
+// if (package._section != NULL) ret += (string ("<section '") + package._section->asString() + "'/>");
+// if (!package._pretty_name.empty()) ret += (string ("<pretty_name '") + package._pretty_name + "'/>");
+// if (!package._summary.empty()) ret += (string ("<summary '") + package._summary + "'/>");
+// if (!package._description.empty()) ret += (string ("<description '") + package._description + "'/>");
+ ret += (string ("<history '") + toString(package._history) + "'/>");
+ }
+ return ret;
+}
+
+
+ostream &
+Package::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Package& package)
+{
+ return os << package.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Package::Package (constChannelPtr channel)
+ : Resolvable (Kind::Package, "")
+ , _section (NULL)
+ , _pretty_name ("")
+ , _summary ("")
+ , _description ("")
+ , _package_filename ("")
+ , _signature_filename ("")
+ , _install_only (false)
+ , _package_set (false)
+ , _id ("")
+{
+ setChannel (channel);
+}
+
+
+Package::Package (constXmlNodePtr node, constChannelPtr channel)
+ : Resolvable (Kind::Package, "")
+ , _section (NULL)
+ , _pretty_name ("")
+ , _summary ("")
+ , _description ("")
+ , _package_filename ("")
+ , _signature_filename ("")
+ , _install_only (false)
+ , _package_set (false)
+ , _id ("")
+{
+ if (!node->equals("package")) {
+ fprintf (stderr, "Package::Package() not a package node\n");
+ exit (1);
+ }
+
+ const char *epoch = NULL, *version = NULL, *release = NULL;
+ struct DepTable dep_table;
+
+ setChannel (channel);
+
+ constXmlNodePtr iter = node->children();
+
+ while (iter) {
+ bool extracted_deps = false;
+
+ if (iter->equals("name")) { setName (iter->getContent());
+ } else if (iter->equals("epoch")) { setEpoch (atoi (iter->getContent()));
+ } else if (iter->equals("version")) { setVersion (iter->getContent());
+ } else if (iter->equals("release")) { setRelease (iter->getContent());
+ } else if (iter->equals("summary")) { _summary = strdup (iter->getContent());
+ } else if (iter->equals("description")) { _description = strdup (iter->getContent());
+ } else if (iter->equals("section")) { _section = new Section (iter->getContent());
+ } else if (iter->equals("arch")) { setArch (iter->getContent());
+ } else if (iter->equals("filesize")) {
+ const char *tmp = iter->getContent();
+ setFileSize (tmp && *tmp ? atoi (tmp) : 0);
+ free ((void *)tmp);
+ } else if (iter->equals("installedsize")) {
+ const char *tmp = iter->getContent();
+ setInstalledSize (tmp && *tmp ? atoi (tmp) : 0);
+ free ((void *)tmp);
+ } else if (iter->equals("install_only")) { _install_only = true;
+ } else if (iter->equals("package_set")) { _package_set = true;
+ } else if (iter->equals("history")) {
+ constXmlNodePtr iter2;
+
+ iter2 = iter->children();
+
+ while (iter2) {
+ if (!iter2->isElement()) {
+ iter2 = iter2->next();
+ continue;
+ }
+
+ PackageUpdatePtr update = new PackageUpdate (iter2, this);
+ addUpdate (update);
+
+ iter2 = iter2->next();
+ }
+ } else if (iter->equals("deps")) {
+ constXmlNodePtr iter2;
+
+ for (iter2 = iter->children(); iter2; iter2 = iter2->next()) {
+ if (!iter2->isElement())
+ continue;
+
+ extract_dep_info (iter2, dep_table);
+ }
+
+ extracted_deps = true;
+ }
+ else {
+ if (!extracted_deps)
+ extract_dep_info (iter, dep_table);
+ else {
+ /* FIXME: Bitch to the user here? */
+ }
+ }
+
+ iter = iter->next();
+ }
+
+ if (!dep_table.children.empty()) {
+ // children are used in package sets
+ // treat them as normal requires
+ //
+#warning Children are handled as requires
+ CDependencyList::const_iterator iter;
+ for (iter = dep_table.children.begin(); iter != dep_table.children.end(); iter++)
+ {
+ dep_table.requires.push_back (*iter);
+ }
+ }
+
+
+ // check if we're already listed in the provides
+ // if not, provide ourself
+
+ CDependencyList::const_iterator piter;
+ for (piter = dep_table.provides.begin(); piter != dep_table.provides.end(); piter++) {
+ if ((*piter)->relation().isEqual()
+ && ((*piter)->name() == name()))
+ {
+ break;
+ }
+ }
+ if (piter == dep_table.provides.end()) { // no self provide found, construct one
+ constDependencyPtr selfdep = new Dependency (name(), Relation::Equal, kind(), this->channel(), edition());
+if (getenv ("RC_SPEW")) fprintf (stderr, "Adding self-provide [%s]\n", selfdep->asString().c_str());
+ dep_table.provides.push_front (selfdep);
+ }
+
+ setRequires (dep_table.requires);
+ setProvides (dep_table.provides);
+ setConflicts (dep_table.conflicts);
+ setObsoletes (dep_table.obsoletes);
+ setSuggests (dep_table.suggests);
+ setRecommends (dep_table.recommends);
+
+ if (version) {
+
+ setEpoch (epoch ? atoi (epoch) : -1);
+ setVersion (version);
+ setRelease (release);
+
+ /* We set these to NULL so that they won't get freed when we
+ clean up before returning. */
+ version = release = NULL;
+
+ } else if (!_history.empty()) {
+
+ /* If possible, we grab the version info from the most
+ recent update. */
+
+ PackageUpdatePtr update = _history.front();
+
+ setEpoch (update->package()->epoch());
+ setVersion (update->package()->version());
+ setRelease (update->package()->release());
+
+ } else {
+
+ /* Otherwise, try to find where the package provides itself,
+ and use that version info. */
+
+ if (!provides().empty())
+ for (CDependencyList::const_iterator iter = provides().begin(); iter != provides().end(); iter++) {
+ if ((*iter)->relation() == Relation::Equal &&
+ ((*iter)->name() == name()))
+ {
+ setEpoch ((*iter)->epoch());
+ setVersion ((*iter)->version());
+ setRelease ((*iter)->release());
+ break;
+ }
+ }
+ }
+
+ /* clean-up */
+ if (epoch) free ((void *)epoch);
+ if (version) free ((void *)version);
+ if (release) free ((void *)release);
+
+ /* Hack for no archs in the XML yet */
+ if (arch()->isUnknown())
+ setArch (Arch::System);
+}
+
+Package::~Package()
+{
+}
+
+//---------------------------------------------------------------------------
+
+
+void
+Package::addUpdate (PackageUpdatePtr update)
+{
+ if (update == NULL) return;
+
+ assert (update->package() == NULL || update->package() == this);
+
+ update->setPackage(this);
+
+ if (_history.empty()) {
+ _history.push_back (update);
+ } else {
+#warning addUpdate incomplete
+#if 1
+ for (PackageUpdateList::iterator iter = _history.begin(); iter != _history.end(); iter++) {
+ int result = GVersion.compare ((SpecPtr)update, (SpecPtr)(*iter));
+
+ if (result > 0 || (result == 0 && update->parent() != NULL)) {
+ _history.insert (iter, update); // = g_slist_insert_before (package->history, l, update);
+ break;
+ } else if (iter == _history.end() || // FIXME list.last() ?
+ (result == 0 && update->parent() == NULL)) {
+ _history.insert (++iter, update); // = g_slist_insert_before (package->history, l->next, update);
+ break;
+ }
+ }
+#endif
+ }
+}
+
+
+PackageUpdatePtr
+Package::getLatestUpdate (void) const
+{
+ WorldPtr world;
+
+ if (_history.empty()) {
+ return NULL;
+ }
+
+ PackageUpdatePtr latest = _history.back();
+ /* if the absolute latest is not a patch, just return that */
+ if (latest->parent() == NULL) {
+ return latest;
+ }
+
+ world = World::globalWorld();
+
+ for (PackageUpdateList::const_iterator l = _history.begin(); l != _history.end(); l++) {
+ PackageUpdatePtr update = *l;
+ constResolvablePtr installed;
+
+ if (!update->equals (latest)) {
+ return NULL;
+ }
+
+ /* found a non-patch package equal to the latest, so use that */
+ if (update->parent() == NULL) {
+ return update;
+ }
+
+ /* see if the required parent for this patch is installed */
+ installed = world->findInstalledResolvable (update->parent());
+
+ if (installed != NULL &&
+ installed->equals(update->parent()))
+ return update;
+ }
+
+ /* no suitable update found */
+ return NULL;
+}
+
+
+#if 0
+xmlNode *
+rc_package_to_xml_node (RCPackage *package)
+{
+ xmlNode *package_node;
+ xmlNode *tmp_node;
+ xmlNode *deps_node;
+ RCResolvable *r;
+ RCResolvableSpec *spec;
+ RCPackageUpdateSList *history_iter;
+ int i;
+ char buffer[128];
+ char *tmp_str;
+
+ r = RC_RESOLVABLE (package);
+ spec = rc_resolvable_get_spec (r);
+
+ package_node = xmlNewNode (NULL, "package");
+
+ xmlNewTextChild (package_node, NULL, "name", rc_resolvable_get_name (r));
+
+ if (spec->has_epoch) {
+ g_snprintf (buffer, 128, "%d", spec->epoch);
+ xmlNewTextChild (package_node, NULL, "epoch", buffer);
+ }
+
+ xmlNewTextChild (package_node, NULL, "version", spec->version);
+
+ if (spec->release) {
+ xmlNewTextChild (package_node, NULL, "release", spec->release);
+ }
+
+ tmp_str = sanitize_string (package->summary);
+ xmlNewTextChild (package_node, NULL, "summary", tmp_str);
+ g_free (tmp_str);
+
+ tmp_str = sanitize_string (package->description);
+ xmlNewTextChild (package_node, NULL, "description", tmp_str);
+ g_free (tmp_str);
+
+ xmlNewTextChild (package_node, NULL, "arch",
+ rc_arch_to_string (spec->arch));
+
+ xmlNewTextChild (package_node, NULL, "section",
+ rc_package_section_to_string (package->section));
+
+ g_snprintf (buffer, 128, "%u", rc_resolvable_get_file_size (r));
+ xmlNewTextChild (package_node, NULL, "filesize", buffer);
+
+ g_snprintf (buffer, 128, "%u", rc_resolvable_get_installed_size (r));
+ xmlNewTextChild (package_node, NULL, "installedsize", buffer);
+
+ if (package->install_only) {
+ xmlNewTextChild (package_node, NULL, "install_only", "1");
+ }
+
+ if (package->package_set) {
+ xmlNewTextChild (package_node, NULL, "package_set", "1");
+ }
+
+ if (package->history) {
+ tmp_node = xmlNewChild (package_node, NULL, "history", NULL);
+ for (history_iter = package->history; history_iter;
+ history_iter = history_iter->next)
+ {
+ RCPackageUpdate *update = (RCPackageUpdate *)(history_iter->data);
+ xmlAddChild (tmp_node, rc_package_update_to_xml_node (update));
+ }
+ }
+
+ deps_node = xmlNewChild (package_node, NULL, "deps", NULL);
+
+ if (r->requires_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "requires", NULL);
+ for (i = 0; i < r->requires_a->len; i++) {
+ RCResolvableDep *dep = r->requires_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ if (r->recommends_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "recommends", NULL);
+ for (i = 0; i < r->recommends_a->len; i++) {
+ RCResolvableDep *dep = r->recommends_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ if (r->suggests_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "suggests", NULL);
+ for (i = 0; i < r->suggests_a->len; i++) {
+ RCResolvableDep *dep = r->suggests_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ if (r->conflicts_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "conflicts", NULL);
+ for (i = 0; i < r->conflicts_a->len; i++) {
+ RCResolvableDep *dep = r->conflicts_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ if (r->obsoletes_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "obsoletes", NULL);
+ for (i = 0; i < r->obsoletes_a->len; i++) {
+ RCResolvableDep *dep = r->obsoletes_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ if (r->provides_a) {
+ tmp_node = xmlNewChild (deps_node, NULL, "provides", NULL);
+ for (i = 0; i < r->provides_a->len; i++) {
+ RCResolvableDep *dep = r->provides_a->data[i];
+
+ xmlAddChild (tmp_node, rc_resolvable_dep_to_xml_node (dep));
+ }
+ }
+
+ return (package_node);
+} /* rc_package_to_xml_node */
+
+#endif
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Package.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Package_h
+#define _Package_h
+
+#include <list>
+#include <iosfwd>
+#include <string.h>
+#include <sys/types.h>
+
+#include <zypp/solver/detail/PackagePtr.h>
+#include <zypp/solver/detail/PackageUpdatePtr.h>
+#include <zypp/solver/detail/Section.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef std::list<PackagePtr> PackageList;
+typedef PackageList * PackageListPtr;
+
+typedef std::list<PackageUpdatePtr> PackageUpdateList;
+typedef PackageUpdateList * PackageUpdateListPtr;
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Package
+/**
+ *
+ **/
+
+class Package : public Resolvable {
+ REP_BODY(Package);
+
+ private:
+ SectionPtr _section;
+
+ // Filled in by package info XML
+ std::string _pretty_name;
+ std::string _summary;
+ std::string _description;
+
+ PackageUpdateList _history;
+
+ // After downloading this package, fill in the local file name,
+ // and signature, if appropriate
+ std::string _package_filename;
+ std::string _signature_filename;
+
+ bool _install_only; // Only install, don't upgrade this package
+ bool _package_set;
+
+ std::string _id;
+
+ public:
+
+ Package(constChannelPtr channel);
+ Package(constXmlNodePtr node, constChannelPtr channel); //RCPackage *rc_xml_node_to_package (const xmlNode *node, const RCChannel *channel);
+ virtual ~Package();
+
+ // ---------------------------------- I/O
+
+ const xmlNodePtr asXmlNode (void) const; // xmlNode *rc_package_to_xml_node (RCPackage *package);
+
+ static std::string toString ( const Package & spec, bool full = false );
+
+ static std::string toString ( const PackageUpdateList & l, bool full = false );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Package& );
+
+ std::string asString ( bool full = false ) const;
+
+ // ---------------------------------- accessors
+
+ // accessor for _section
+ const SectionPtr section() const { return _section; }
+ void setSection (const SectionPtr section) { _section = section; }
+
+ // accessor for _pretty_name
+ const std::string prettyName() const { return _pretty_name; }
+ void setPrettyName(const std::string & pretty_name) { _pretty_name = pretty_name; }
+
+ // accessor for _summary
+ const std::string summary() const { return _summary; }
+ void setSummary (const std::string & summary) { _summary = summary; }
+
+ // accessor for _description
+ const std::string description() const { return _description; }
+ void setDescription(const std::string & description) { _description = description; }
+
+ // accessor for _package_filename
+ const PackageUpdateList & history() const { return _history; }
+ void setHistory(const PackageUpdateList & history) { _history = history; }
+
+ // accessor for _package_filename
+ const std::string packageFilename() const { return _package_filename; }
+ void setPackageFilename(const std::string & package_filename) { _package_filename = package_filename; }
+
+ // accessor for _signature_filename
+ const std::string signatureFilename() const { return _signature_filename; }
+ void setSignatureFilename(const std::string & signature_filename) { _signature_filename = signature_filename; }
+
+ // accessor for _install_only
+ bool installOnly() const { return _install_only; }
+ void setInstallOnly(bool install_only) { _install_only = install_only; }
+
+ // accessor for _package_set
+ bool packageSet() const { return _package_set; }
+ void setPackageSet(bool package_set) { _package_set = package_set; }
+
+ // accessor for id
+ const std::string id() const { return _id; }
+ void setId (const std::string & id) { _id = id; }
+
+ // ---------------------------------- methods
+
+ void addUpdate (PackageUpdatePtr update);
+
+ PackageUpdatePtr getLatestUpdate (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Package_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PackagePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _PackagePtr_h
+#define _PackagePtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/SpecPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : PackagePtr
+// CLASS NAME : constPackagePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(Package,Spec);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _PackagePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PackageUpdate.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <stdio.h>
+#include <string.h>
+#include <libgen.h>
+
+#include <zypp/solver/detail/utils.h>
+#include <zypp/solver/detail/PackageUpdate.h>
+#include <zypp/solver/detail/Package.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(PackageUpdate, Spec);
+
+//---------------------------------------------------------------------------
+
+string
+PackageUpdate::asString ( bool full ) const
+{
+ return toString (*this);
+}
+
+
+string
+PackageUpdate::toString ( const PackageUpdate & package_update, bool full )
+{
+ string ret;
+ ret += ((const Spec &)package_update).asString(full);
+
+ return ret;
+}
+
+
+ostream &
+PackageUpdate::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const PackageUpdate& package_update)
+{
+ return os << package_update.asString();
+}
+
+
+const XmlNodePtr
+PackageUpdate::asXmlNode (void) const
+{
+ XmlNodePtr update_node = new XmlNode("update");
+ string tmp;
+
+ if (hasEpoch()) {
+ tmp = stringutil::form("%d", epoch());
+ update_node->addTextChild ("epoch", tmp.c_str());
+ }
+
+ update_node->addTextChild ("version", version().c_str());
+
+ if (!release().empty()) {
+ update_node->addTextChild ("release", release().c_str());
+ }
+
+ if (_package_url && *_package_url) {
+ update_node->addTextChild ("filename", basename (strdup (_package_url)));
+ }
+
+ tmp = stringutil::form ("%ld", (unsigned long)_package_size);
+ update_node->addTextChild ("filesize", tmp.c_str());
+
+ tmp = stringutil::form ("%ld", (unsigned long)_installed_size);
+ update_node->addTextChild ("installedsize", tmp.c_str());
+
+ if (_signature_url) {
+ update_node->addTextChild ("signaturename", _signature_url);
+
+ tmp = stringutil::form ("%ld", (unsigned long)_signature_size);
+ update_node->addTextChild ("signaturesize", tmp.c_str());
+ }
+
+ if (_md5sum) {
+ update_node->addTextChild ("md5sum", _md5sum);
+ }
+
+ update_node->addTextChild ("importance", _importance->asString().c_str());
+
+ update_node->addTextChild ("description", _description);
+
+ if (_hid) {
+ tmp = stringutil::form ("%d", _hid);
+ update_node->addTextChild ("hid", tmp.c_str());
+ }
+
+ if (_license) {
+ update_node->addTextChild ("license", _license);
+ }
+
+ return update_node;
+}
+
+//---------------------------------------------------------------------------
+
+PackageUpdate::PackageUpdate (const string & name)
+ : Spec (Kind::Package, name)
+ , _package (NULL)
+ , _package_url (NULL)
+ , _package_size (0)
+ , _installed_size (0)
+ , _signature_url (NULL)
+ , _signature_size (0)
+ , _md5sum (NULL)
+ , _importance (NULL)
+ , _hid (0)
+ , _description (NULL)
+ , _license (NULL)
+ , _parent (NULL)
+{
+}
+
+
+PackageUpdate::PackageUpdate (constXmlNodePtr node, PackagePtr package)
+ : Spec (Kind::Package, package->name())
+ , _package (NULL)
+ , _package_url (NULL)
+ , _package_size (0)
+ , _installed_size (0)
+ , _signature_url (NULL)
+ , _signature_size (0)
+ , _md5sum (NULL)
+ , _importance (NULL)
+ , _hid (0)
+ , _description (NULL)
+ , _license (NULL)
+ , _parent (NULL)
+{
+ constChannelPtr channel;
+ const char *url_prefix = NULL;
+
+ if (node == NULL) {
+ fprintf (stderr, "PackageUpdate::PackageUpdate(NULL)\n");
+ exit (1);
+ }
+
+ /* Make sure this is an update node */
+ if (strcasecmp (node->name(), "update")) {
+ fprintf (stderr, "PackageUpdate::PackageUpdate() wrong node (%s)\n", node->name());
+ exit (1);
+ }
+
+ channel = package->channel();
+
+ _package = package;
+
+ if (channel) {
+ url_prefix = channel->filePath();
+ }
+
+ XmlNodePtr iter = node->children();
+
+ while (iter) {
+ if (iter->equals ("epoch")) { setEpoch (iter->getUnsignedIntContentDefault (0));
+ } else if (iter->equals ("version")) { setVersion (iter->getContent());
+ } else if (iter->equals ("release")) { setRelease (iter->getContent());
+ } else if (iter->equals ("arch")) { setArch (iter->getContent());
+ } else if (iter->equals ("filename")) {
+ const char *tmp = iter->getContent();
+ if (url_prefix) {
+ _package_url = maybe_merge_paths (url_prefix, tmp);
+ } else {
+ _package_url = strdup (tmp);
+ }
+ } else if (iter->equals ("filesize")) { _package_size = iter->getUnsignedIntContentDefault (0);
+ } else if (iter->equals ("installedsize")) { _installed_size = iter->getUnsignedIntContentDefault (0);
+ } else if (iter->equals ("signaturename")) {
+ const char *tmp = iter->getContent();
+ if (url_prefix) {
+ _signature_url = maybe_merge_paths (url_prefix, tmp);
+ } else {
+ _signature_url = strdup (tmp);
+ }
+ } else if (iter->equals ("signaturesize")) { _signature_size = iter->getUnsignedIntContentDefault (0);
+ } else if (iter->equals ("md5sum")) { _md5sum = iter->getContent();
+ } else if (iter->equals ("importance")) { _importance = new Importance (iter->getContent());
+ } else if (iter->equals ("description")) { _description = iter->getContent();
+ } else if (iter->equals ("hid")) { _hid = iter->getUnsignedIntContentDefault (0);
+ } else if (iter->equals ("license")) { _license = iter->getContent();
+ }
+
+ iter = iter->next();
+ }
+}
+
+
+PackageUpdate::~PackageUpdate()
+{
+ if (_package != NULL) _package = NULL;
+ if (_package_url != NULL) free ((void *)_package_url);
+ if (_signature_url != NULL) free ((void *)_signature_url);
+ if (_md5sum != NULL) free ((void *)_md5sum);
+ if (_description != NULL) free ((void *)_description);
+ if (_license != NULL) free ((void *)_license);
+ if (_parent != NULL) _parent = NULL;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PackageUpdate.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _PackageUpdate_h
+#define _PackageUpdate_h
+
+#include <list>
+#include <iosfwd>
+#include <string.h>
+#include <sys/types.h>
+
+#include <zypp/solver/detail/PackageUpdatePtr.h>
+#include <zypp/solver/detail/PackagePtr.h>
+#include <zypp/solver/detail/Spec.h>
+#include <zypp/solver/detail/Importance.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : PackageUpdate
+/**
+ *
+ **/
+
+class PackageUpdate : public Spec {
+ REP_BODY(PackageUpdate);
+
+ private:
+ PackagePtr _package;
+
+ const char *_package_url;
+ size_t _package_size;
+ size_t _installed_size;
+
+ const char *_signature_url;
+ size_t _signature_size;
+
+ const char *_md5sum;
+
+ const Importance *_importance;
+
+ unsigned int _hid;
+
+ const char *_description;
+
+ const char *_license;
+
+ // refers to the parent package for SuSE patch RPMs
+ constPackagePtr _parent;
+
+ public:
+
+ PackageUpdate(const std::string & name);
+ PackageUpdate(constXmlNodePtr node, PackagePtr package);
+
+ virtual ~PackageUpdate();
+
+ // ---------------------------------- I/O
+
+ const XmlNodePtr asXmlNode (void) const;
+
+ static std::string toString ( const PackageUpdate & packageupdate, bool full = false );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const PackageUpdate& );
+
+ std::string asString ( bool full = false ) const;
+
+ // ---------------------------------- accessors
+
+ constPackagePtr package() const { return _package; }
+ void setPackage (PackagePtr package) { _package = package; }
+
+ const char *packageUrl() const { return _package_url; }
+ void setPackageUrl (const char *package_url) { _package_url = package_url; }
+
+ size_t packageSize() const { return _package_size; }
+ void setPackageSize (size_t package_size) { _package_size = package_size; }
+
+ size_t installedSize() const { return _installed_size; }
+ void setInstalledSize (size_t installed_size ) { _installed_size = installed_size; }
+
+ const char *description() const { return _description; }
+ void setDescription(const char *description) { _description = strdup (description); }
+
+ const char *signatureUrl() const { return _signature_url; }
+ void setSignatureUrl (const char *signature_url) { _signature_url = signature_url; }
+
+ size_t signatureSize() const { return _signature_size; }
+ void setSignatureSize (size_t signature_size) { _signature_size = signature_size; }
+
+ const char *md5sum() const { return _md5sum; }
+ void setMd5sum (const char *md5sum) { _md5sum = md5sum; }
+
+ const Importance *importance() const { return _importance; }
+ void setImportance (const Importance *importance) { _importance = importance; }
+
+ unsigned int hid() const { return _hid; }
+ void setHid (unsigned int hid) { _hid = hid; }
+
+ const char *license() const { return _license; }
+ void setLicense (const char *license) { _license = license; }
+
+ // refers to the parent package for SuSE patch RPMs
+ constPackagePtr parent() const { return _parent; }
+ void setParent (constPackagePtr parent) { _parent = parent; }
+
+ // ---------------------------------- methods
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _PackageUpdate_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PackageUpdatePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _PackageUpdatePtr_h
+#define _PackageUpdatePtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/Spec.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : PackageUpdatePtr
+// CLASS NAME : constPackageUpdatePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(PackageUpdate,Spec);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _PackageUpdatePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Packman.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Packman.h>
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Packman);
+
+//---------------------------------------------------------------------------
+
+string
+Packman::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Packman::toString ( const Packman & store )
+{
+ string res ("<packman/>");
+
+ return res;
+}
+
+
+ostream &
+Packman::dumpOn (ostream & str) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream &
+operator<< (ostream & os, const Packman & store)
+{
+ return os << store.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Packman::Packman ()
+{
+}
+
+
+Packman::~Packman()
+{
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Packman.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Packman_h
+#define _Packman_h
+
+#include <iosfwd>
+#include <list>
+#include <string>
+
+#include <zypp/solver/detail/PackmanPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Packman
+
+class Packman : public CountedRep {
+ REP_BODY(Packman);
+
+ private:
+
+
+ public:
+
+ Packman ();
+ virtual ~Packman();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const Packman & section);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const Packman & section);
+
+ std::string asString (void) const;
+
+ // ---------------------------------- accessors
+
+
+ // ---------------------------------- methods
+
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Packman_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PackmanPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _PackmanPtr_h
+#define _PackmanPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : PackmanPtr
+// CLASS NAME : constPackmanPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Packman);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _PackmanPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Pending.cc
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/Pending.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Pending);
+
+//---------------------------------------------------------------------------
+
+string
+Pending::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Pending::toString ( const Pending & pending )
+{
+ return "<pending/>";
+}
+
+
+ostream &
+Pending::dumpOn (ostream & str) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream &
+operator<< (ostream & os, const Pending & pending)
+{
+ return os << pending.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Pending::Pending (const char *description)
+{
+}
+
+
+Pending::~Pending()
+{
+}
+
+//---------------------------------------------------------------------------
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Pending.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Pending_h
+#define _Pending_h
+
+#include <iosfwd>
+#include <list>
+#include <string>
+
+#include <zypp/solver/detail/PendingPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+class Pending;
+typedef std::list <PendingPtr> PendingList;
+typedef PendingList * PendingListPtr;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Pending
+
+class Pending : public CountedRep {
+ REP_BODY(Pending);
+
+typedef enum {
+ PENDING_STATUS_INVALID = 0,
+ PENDING_STATUS_PRE_BEGIN,
+ PENDING_STATUS_RUNNING,
+ PENDING_STATUS_BLOCKING,
+ PENDING_STATUS_ABORTED,
+ PENDING_STATUS_FAILED,
+ PENDING_STATUS_FINISHED
+} PendingStatus;
+
+const char *pendingStatusToString (PendingStatus status);
+
+#define INVALID_PENDING_ID 0
+
+
+ private:
+
+ char *_description;
+ int _id;
+
+ PendingStatus _status;
+
+ double _percent_complete;
+
+ size_t _completed_size;
+ size_t _total_size;
+
+ time_t _start_time;
+ time_t _last_time;
+ time_t _poll_time;
+
+ int _retval;
+ char *_error_msg;
+
+ std::list<const char *> _messages;
+
+ void (*_update) (PendingPtr);
+ void (*_complete) (PendingPtr);
+ void (*_message) (PendingPtr);
+
+ public:
+
+ Pending (const char *description);
+ virtual ~Pending();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const Pending & section);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const Pending & section);
+
+ std::string asString (void) const;
+
+ // ---------------------------------- accessors
+
+ const char *description (void) const { return _description; }
+ void setDescription (const char *description) { _description = strdup (description); }
+ int id (void) const { return _id; }
+ PendingStatus status (void) const { return _status; }
+ double percentComplete (void) const { return _percent_complete; }
+ size_t completedSize (void) const { return _completed_size; }
+ size_t totalSize (void) const { return _total_size; }
+ time_t startTime (void) const { return _start_time; }
+ time_t lastTime (void) const { return _last_time; }
+ time_t pollTime (void) const { return _poll_time; }
+
+ int elapsedSecs (void) const { return 0; }
+ int expectedSecs (void) const { return 0; }
+ int remainingSecs (void) const { return 0; }
+
+ std::list<const char *> messages (void) const { return _messages; }
+ const char *latestMessage (void) const { return _error_msg; }
+
+ // ---------------------------------- methods
+
+ PendingPtr lookupById (int id);
+ std::list<PendingPtr> getAllActiveIds (void);
+
+ void begin (void);
+ void update (double percent_complete);
+ void updateBySize (size_t size, size_t total_size);
+
+ void finished (int retval);
+ void abort (int retval);
+ void fail (int retval, const char *error_msg);
+
+ bool isActive (void);
+
+ const char *errorMsg (void);
+
+ void addMessage (const char *message);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Pending_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* PendingPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _PendingPtr_h
+#define _PendingPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : PendingPtr
+// CLASS NAME : constPendingPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Pending);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _PendingPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItem.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/ResolverContext.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItem::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItem::toString ( const QueueItem & item )
+{
+ return "<queueitem/>";
+}
+
+
+string
+QueueItem::toString ( const QueueItemList & itemlist, const string & sep )
+{
+ string res = "[";
+ for (QueueItemList::const_iterator iter = itemlist.begin(); iter != itemlist.end(); iter++) {
+ if (iter != itemlist.begin())
+ res += sep;
+ res += (*iter)->asString();
+ }
+ return res + "]";
+}
+
+
+ostream &
+QueueItem::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItem & item )
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItem::QueueItem (QueueItemType type, WorldPtr world)
+ : _type (type)
+ , _world (world)
+ , _priority (0)
+ , _size (0)
+{
+}
+
+
+QueueItem::~QueueItem()
+{
+}
+
+//---------------------------------------------------------------------------
+
+void
+QueueItem::copy (constQueueItemPtr from)
+{
+ _priority = from->_priority;
+ _size = from->_size;
+ _pending_info = ResolverInfoList (from->_pending_info.begin(), from->_pending_info.end());
+}
+
+
+//---------------------------------------------------------------------------
+
+void
+QueueItem::addInfo (ResolverInfoPtr info)
+{
+ _pending_info.push_back (info);
+}
+
+
+void
+QueueItem::logInfo (ResolverContextPtr context)
+{
+ for (ResolverInfoList::const_iterator iter = _pending_info.begin(); iter != _pending_info.end(); iter++) {
+ context->addInfo (*iter);
+ }
+ _pending_info.clear();
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItem.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItem_h
+#define _QueueItem_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemPtr.h>
+#include <zypp/solver/detail/ResolverContextPtr.h>
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+typedef enum {
+ QUEUE_ITEM_TYPE_UNKNOWN = 0, // ordering is important !
+ QUEUE_ITEM_TYPE_INSTALL,
+ QUEUE_ITEM_TYPE_REQUIRE,
+ QUEUE_ITEM_TYPE_BRANCH,
+ QUEUE_ITEM_TYPE_GROUP,
+ QUEUE_ITEM_TYPE_CONFLICT,
+ QUEUE_ITEM_TYPE_UNINSTALL,
+ QUEUE_ITEM_TYPE_LAST
+} QueueItemType;
+
+
+typedef std::list<QueueItemPtr> QueueItemList;
+
+#define CMP(a,b) (((a) < (b)) - ((b) < (a)))
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItem
+
+class QueueItem : public CountedRep {
+ REP_BODY(QueueItem);
+
+ private:
+
+ QueueItemType _type;
+ WorldPtr _world;
+
+ int _priority;
+ size_t _size;
+ ResolverInfoList _pending_info;
+
+ protected:
+
+ QueueItem (QueueItemType type, WorldPtr world);
+
+ public:
+
+ virtual ~QueueItem();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItem & item);
+
+ static std::string toString (const QueueItemList & itemlist, const std::string & sep = ", ");
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItem & item);
+
+ virtual std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ WorldPtr world (void) const { return _world; }
+ int priority (void) const { return _priority; }
+ void setPriority (int priority) { _priority = priority; }
+ int size (void) const { return _size; }
+
+ // ---------------------------------- methods
+
+ void copy (constQueueItemPtr from);
+
+ bool isBranch (void) const { return _type == QUEUE_ITEM_TYPE_BRANCH; }
+ bool isConflict (void) const { return _type == QUEUE_ITEM_TYPE_CONFLICT; }
+ bool isGroup (void) const { return _type == QUEUE_ITEM_TYPE_GROUP; }
+ bool isInstall (void) const { return _type == QUEUE_ITEM_TYPE_INSTALL; }
+ bool isRequire (void) const { return _type == QUEUE_ITEM_TYPE_REQUIRE; }
+ bool isUninstall (void) const { return _type == QUEUE_ITEM_TYPE_UNINSTALL; }
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil) = 0;
+ virtual QueueItemPtr copy (void) const = 0;
+ virtual int cmp (constQueueItemPtr item) const = 0;
+ int compare (constQueueItemPtr item) const { return CMP(_type, item->_type); }
+
+ // isRedundant true == can be dropped from any branch
+ virtual bool isRedundant (ResolverContextPtr context) const = 0;
+
+ // isSatisfied true == can be dropped from any queue, and any
+ // branch containing it can also be dropped
+ virtual bool isSatisfied (ResolverContextPtr context) const = 0;
+
+ void addInfo (ResolverInfoPtr);
+ void logInfo (ResolverContextPtr);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItem_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemBranch.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/QueueItemBranch.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/Resolver.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemBranch,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemBranch::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemBranch::toString ( const QueueItemBranch & item)
+{
+ string res = "[Branch: ";
+ if (!item._label.empty()) {
+ res += item._label;
+ }
+ res += "\n\t";
+ res += QueueItem::toString(item._possible_items, "\n\t");
+ res += "]";
+ return res;
+}
+
+
+ostream &
+QueueItemBranch::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemBranch & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemBranch::QueueItemBranch (WorldPtr world)
+ : QueueItem (QUEUE_ITEM_TYPE_BRANCH, world)
+{
+}
+
+
+QueueItemBranch::~QueueItemBranch()
+{
+}
+
+//---------------------------------------------------------------------------
+
+void
+QueueItemBranch::addItem (QueueItemPtr subitem)
+{
+ assert (this != subitem);
+#if 0
+ // We want to keep the list of possible items sorted for easy comparison later.
+ for (QueueItemList::iterator pos = _possible_items.begin(); pos != _possible_items.end(); pos++) {
+
+ if ((*pos)->cmp(subitem) >= 0) { // found a larger one
+ _possible_items.insert (pos, subitem); // insert before
+ return;
+ }
+ }
+#endif
+ _possible_items.push_back (subitem); // no larger found, subitem must be largest
+
+ return;
+}
+
+
+bool
+QueueItemBranch::contains (QueueItemPtr possible_subbranch)
+{
+ QueueItemBranchPtr branch = (QueueItemBranchPtr)possible_subbranch;
+
+ if (branch == NULL
+ || !branch->isBranch()) {
+ return false;
+ }
+
+
+ if (_possible_items.size() < branch->_possible_items.size()) {
+ return false;
+ }
+
+ QueueItemList::iterator iter = _possible_items.begin();
+ QueueItemList::iterator iter_sub = branch->_possible_items.begin();
+
+ /* For every item inside the possible sub-branch, look for a matching item
+ in the branch. If we can't find a match, fail. (We can do this in one
+ pass since the possible_items lists are sorted)
+ */
+ while (iter_sub != branch->_possible_items.end()) {
+
+ while (iter != _possible_items.end()
+ && (*iter)->cmp (*iter_sub)) {
+ iter++;
+ }
+
+ if (iter == _possible_items.end())
+ return false;
+
+ iter++;
+ iter_sub++;
+ }
+
+ return true;
+}
+
+//---------------------------------------------------------------------------
+
+bool
+QueueItemBranch::process (ResolverContextPtr context, QueueItemList & qil)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemBranch::process(%s)\n", asString().c_str());
+
+ QueueItemList live_branches;
+ unsigned int branch_count;
+ bool did_something = true;
+
+ for (QueueItemList::const_iterator iter = _possible_items.begin(); iter != _possible_items.end(); iter++) {
+
+ QueueItemPtr item = *iter;
+
+ if (item->isSatisfied (context))
+ goto finished;
+
+ /* Drop any useless branch items */
+ if (! item->isRedundant (context)) {
+ live_branches.push_front (item);
+ }
+ }
+
+ branch_count = live_branches.size();
+
+ if (branch_count == 0) {
+
+ /* Do nothing */
+
+ } else if (branch_count == 1) {
+
+ /* If we just have one possible item, process it. */
+
+ QueueItemPtr item = live_branches.front();
+ did_something = item->process (context, qil);
+
+ /* Set the item pointer to NULL inside of our original branch
+ item, since our call to rc_queue_item_process is now
+ responsible for freeing it. */
+
+ for (QueueItemList::iterator iter = _possible_items.begin(); iter != _possible_items.end(); iter++) {
+ if (*iter == item) {
+ _possible_items.erase (iter);
+ break;
+ }
+ }
+
+ } else if (branch_count == _possible_items.size()) {
+
+ /* Nothing was eliminated, so just pass the branch through (and set it to
+ NULL so that it won't get freed when we exit. */
+
+ qil.push_front (this);
+// FIXME: dont free item = NULL;
+ did_something = false;
+
+ } else {
+//fprintf (stderr, "QueueItemBranch::process rebranching\n");
+ QueueItemBranchPtr new_branch = new QueueItemBranch (world());
+ for (QueueItemList::const_iterator iter = live_branches.begin(); iter != live_branches.end(); iter++) {
+ new_branch->addItem ((*iter)->copy());
+ }
+ qil.push_front (new_branch);
+ }
+
+ finished:
+//FIXME rc_queue_item_free (item);
+
+ return did_something;
+}
+
+
+int
+QueueItemBranch::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item); // assures equal type
+ if (cmp != 0)
+ return cmp;
+
+ constQueueItemBranchPtr branch = item;
+
+ /* First, sort by # of possible items. */
+ cmp = CMP(_possible_items.size(), branch->_possible_items.size());
+ if (cmp != 0)
+ return cmp;
+
+ /* We can do a by-item cmp since the possible items are kept in sorted order. */
+ QueueItemList::const_iterator ia = _possible_items.begin();
+ QueueItemList::const_iterator ib = branch->_possible_items.begin();
+
+ while (ia != _possible_items.end() && ib != branch->_possible_items.end()) {
+ if (*ia && *ib) {
+ cmp = (*ia)->cmp (*ib);
+ if (cmp != 0) {
+ return cmp;
+ }
+ }
+ ia++;
+ ib++;
+ }
+
+ /* Both lists should end at the same time, since we initially sorted on length. */
+ assert (ia == _possible_items.end() && ib == branch->_possible_items.end());
+
+ return 0;
+}
+
+
+QueueItemPtr
+QueueItemBranch::copy (void) const
+{
+ QueueItemBranchPtr new_branch = new QueueItemBranch (world());
+ ((QueueItemPtr)new_branch)->copy((constQueueItemPtr)this);
+
+ for (QueueItemList::const_iterator iter = _possible_items.begin(); iter != _possible_items.end(); iter++) {
+ QueueItemPtr cpy = (*iter)->copy();
+ new_branch->_possible_items.push_front (cpy);
+ }
+
+ return new_branch;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemBranch.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemBranch_h
+#define _QueueItemBranch_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemBranchPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemBranch
+
+class QueueItemBranch : public QueueItem {
+ REP_BODY(QueueItemBranch);
+
+ private:
+ std::string _label;
+ QueueItemList _possible_items;
+
+ public:
+
+ QueueItemBranch (WorldPtr world);
+ virtual ~QueueItemBranch();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemBranch & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemBranch & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ QueueItemList possibleItems (void) const { return _possible_items; }
+
+ const std::string & label (void) const { return _label; }
+ void setLabel (const std::string & label) { _label = label; }
+
+ bool isEmpty (void) const { return _possible_items.empty(); }
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const { return false; }
+
+ void addItem (QueueItemPtr subitem);
+ bool contains (QueueItemPtr possible_subbranch);
+};
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemBranch_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemBranchPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemBranchPtr_h
+#define _QueueItemBranchPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemBranchPtr
+// CLASS NAME : constQueueItemBranchPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemBranch,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemBranchPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemConflict.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <zypp/solver/detail/QueueItemConflict.h>
+#include <zypp/solver/detail/QueueItemBranch.h>
+#include <zypp/solver/detail/QueueItemInstall.h>
+#include <zypp/solver/detail/QueueItemUninstall.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverInfoConflictsWith.h>
+#include <zypp/solver/detail/ResolverInfoMisc.h>
+#include <zypp/solver/detail/ResolverInfoObsoletes.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemConflict,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemConflict::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemConflict::toString ( const QueueItemConflict & item)
+{
+ string res = "[Conflict: ";
+ res += item._dep->asString();
+ res += ", Triggered by ";
+ res += item._conflicting_resolvable->asString();
+ if (item._actually_an_obsolete) res += ", Obsolete !";
+ res += "]";
+ return res;
+}
+
+
+ostream &
+QueueItemConflict::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemConflict & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemConflict::QueueItemConflict (WorldPtr world, constDependencyPtr dep, constResolvablePtr resolvable)
+ : QueueItem (QUEUE_ITEM_TYPE_CONFLICT, world)
+ , _dep (dep)
+ , _conflicting_resolvable (resolvable)
+ , _actually_an_obsolete (false)
+{
+}
+
+
+QueueItemConflict::~QueueItemConflict()
+{
+}
+
+//---------------------------------------------------------------------------
+
+#if PHI
+
+// on conflict, try to find upgrade candidates for the installed resolvable triggering the conflict
+// there are cases where upgrading prevents the conflict
+// rc tends to uninstall the resolvable
+// phi tends to upgrade the resolvable
+// testcases: exercise-02conflict-08-test.xml, exercise-02conflict-09-test.xml
+
+typedef struct {
+ ResolverContextPtr context;
+ CResolvableList upgrades;
+} UpgradeCandidateInfo;
+
+
+static bool
+upgrade_candidates_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+//fprintf (stderr, "upgrade_candidates_cb(%s,%s)\n", resolvable->asString().c_str(), spec->asString().c_str());
+ UpgradeCandidateInfo *info = (UpgradeCandidateInfo *)data;
+ if (info->context->getStatus (resolvable) == RESOLVABLE_STATUS_UNINSTALLED) {
+ info->upgrades.push_back (resolvable);
+ }
+ return true;
+}
+
+#endif // PHI
+
+
+typedef struct {
+ WorldPtr world;
+ constResolvablePtr conflicting_resolvable;
+ constDependencyPtr dep;
+ ResolverContextPtr context;
+ QueueItemList & new_items;
+
+ string pkg_str;
+ string dep_str;
+
+ bool actually_an_obsolete;
+} ConflictProcessInfo;
+
+
+static bool
+conflict_process_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+ ConflictProcessInfo *info = (ConflictProcessInfo *)data;
+ ResolvableStatus status;
+ string pkg_str, spec_str, msg;
+ ResolverInfoPtr log_info;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "conflict_process_cb (resolvable[%s], spec[%s], info [%s]\n", resolvable->asString().c_str(), spec->asString().c_str(), info->conflicting_resolvable->asString().c_str());
+ if (getenv ("RC_SPEW")) fprintf (stderr, "conflict_process_cb (resolvable equals spec: %s, info->dep [%s]\n", resolvable->equals(spec) ? "YES" : "NO", info->dep->asString().c_str());
+
+ /* We conflict with ourself. For the purpose of installing ourself, we
+ * just ignore it, but it's Debian's way of saying that one and only one
+ * resolvable with this provide may exist on the system at a time. */
+
+ if (info->conflicting_resolvable
+ && resolvable->equals (info->conflicting_resolvable)) {
+ return true;
+ }
+
+ /* FIXME: This should probably be a GVersion capability. */
+ /* Obsoletes don't apply to virtual provides, only the resolvables
+ * themselves. A provide is "virtual" if it's not the same spec
+ * as the resolvable that's providing it. This, of course, only
+ * applies to RPM, since it's the only one with obsoletes right
+ * now. */
+
+ if (info->actually_an_obsolete
+ && !(resolvable->equals(spec)))
+ {
+ return true;
+ }
+
+ pkg_str = resolvable->asString();
+ spec_str = spec->asString();
+
+ status = info->context->getStatus (resolvable);
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "conflict_process_cb (resolvable[%s]<%s>\n", resolvable->asString().c_str(), ResolverContext::toString(status).c_str());
+
+ switch (status) {
+
+ case RESOLVABLE_STATUS_INSTALLED:
+ case RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT: {
+ QueueItemUninstallPtr uninstall;
+ ResolverInfoPtr log_info;
+
+#if PHI
+ // maybe an upgrade can resolve the conflict ?
+ // check if other resolvable is available which upgrades
+
+ // find non-installed packages which provide the conflicting name
+
+ UpgradeCandidateInfo upgrade_info;
+ upgrade_info.context = info->context;
+
+ DependencyPtr maybe_upgrade_dep = new Dependency (resolvable->name(), Relation::Any, Kind::Package, new Channel (CHANNEL_TYPE_NONSYSTEM), -1);
+ info->world->foreachProvidingResolvable (maybe_upgrade_dep, upgrade_candidates_cb, (void *)&upgrade_info);
+
+#endif
+
+ uninstall = new QueueItemUninstall (info->world, resolvable, "conflict");
+ uninstall->setDependency (info->dep);
+
+ if (info->actually_an_obsolete) {
+ uninstall->setDueToObsolete ();
+ log_info = new ResolverInfoObsoletes (resolvable, info->conflicting_resolvable);
+ } else {
+ uninstall->setDueToConflict ();
+ log_info = new ResolverInfoConflictsWith (resolvable, info->conflicting_resolvable);
+ }
+
+ uninstall->addInfo (log_info);
+
+#if PHI
+ if (upgrade_info.upgrades.empty ()) {
+#endif
+
+ info->new_items.push_back (uninstall);
+
+#if PHI
+ }
+ else {
+ // there are upgrade candidates for the conflicting resolvable
+ // branch to: 1. uninstall, 2. upgrade (for each upgrading resolvable)
+
+ QueueItemBranchPtr branch = new QueueItemBranch (info->world);
+
+ branch->addItem (uninstall); // try uninstall
+
+ for (CResolvableList::const_iterator iter = upgrade_info.upgrades.begin(); iter != upgrade_info.upgrades.end(); iter++) {
+ QueueItemInstallPtr upgrade = new QueueItemInstall (info->world, *iter);
+ upgrade->setUpgrades (resolvable);
+ branch->addItem (upgrade); // try upgrade
+ }
+ info->new_items.push_back (branch);
+ }
+#endif
+
+ break;
+ }
+
+ case RESOLVABLE_STATUS_TO_BE_INSTALLED: {
+ msg = string ("A conflict over ") + info->dep_str + " (" + spec_str + ") requires the removal of the to-be-installed resolvable " + pkg_str;
+
+ ResolverInfoMiscPtr misc_info = new ResolverInfoMisc (resolvable,RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+
+ misc_info->flagAsError ();
+ if (info->conflicting_resolvable) {
+ misc_info->addRelatedResolvable (info->conflicting_resolvable);
+ }
+ info->context->addInfo (misc_info);
+
+ break;
+ }
+
+ case RESOLVABLE_STATUS_UNINSTALLED: {
+ info->context->setStatus (resolvable, RESOLVABLE_STATUS_TO_BE_UNINSTALLED);
+ msg = string ("Marking ") + pkg_str + " as uninstallable due to conflicts over " + info->dep_str + " (" + spec_str + ")";
+ if (!(info->pkg_str.empty())) {
+ msg += " from ";
+ msg += info->pkg_str;
+ }
+
+ ResolverInfoMiscPtr misc_info = new ResolverInfoMisc (NULL, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+
+ misc_info->addRelatedResolvable (resolvable);
+ if (info->conflicting_resolvable) {
+ misc_info->addRelatedResolvable(info->conflicting_resolvable);
+ }
+ info->context->addInfo (misc_info);
+
+ break;
+ }
+
+ case RESOLVABLE_STATUS_TO_BE_UNINSTALLED:
+ case RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE:
+ /* This is the easy case -- we do nothing. */
+ break;
+
+ default:
+ abort();
+ }
+
+ return true;
+}
+
+
+bool
+QueueItemConflict::process (ResolverContextPtr context, QueueItemList & new_items)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemConflict::process(%s)\n", this->asString().c_str());
+
+ ConflictProcessInfo info = { world(), _conflicting_resolvable, _dep, context, new_items, "", "", _actually_an_obsolete };
+
+ if (_conflicting_resolvable) {
+ info.pkg_str = _conflicting_resolvable->asString();
+ }
+
+ info.dep_str = _dep->relation().asString() + " " + ((constSpecPtr)_dep)->asString();
+
+ world()->foreachProvidingResolvable (_dep, conflict_process_cb, (void *)&info);
+
+// FIXME: free self
+
+ return true;
+}
+
+
+//---------------------------------------------------------------------------
+
+QueueItemPtr
+QueueItemConflict::copy (void) const
+{
+ QueueItemConflictPtr new_conflict = new QueueItemConflict (world(), _dep, _conflicting_resolvable);
+ ((QueueItemPtr)new_conflict)->copy((constQueueItemPtr)this);
+
+ // _actually_an_obsolete is not being copied !
+
+ return new_conflict;
+}
+
+
+int
+QueueItemConflict::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item); // assures equal type
+ if (cmp != 0)
+ return cmp;
+
+ constQueueItemConflictPtr conflict = item;
+ cmp = GVersion.compare ((constSpecPtr) _dep, ((constSpecPtr)(conflict->dependency())));
+ if (cmp)
+ return cmp;
+
+ return CMP ((int) _dep->relation().op(), (int) (conflict->dependency()->relation().op()));
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemConflict.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemConflict_h
+#define _QueueItemConflict_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemConflictPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemConflict
+
+class QueueItemConflict : public QueueItem {
+ REP_BODY(QueueItemConflict);
+
+ private:
+ constDependencyPtr _dep;
+ constResolvablePtr _conflicting_resolvable;
+
+ bool _actually_an_obsolete;
+
+ public:
+
+ QueueItemConflict (WorldPtr world, constDependencyPtr dep, constResolvablePtr resolvable);
+ virtual ~QueueItemConflict();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemConflict & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemConflict & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ constDependencyPtr dependency (void) const { return _dep; }
+ bool actuallyAnObsolete (void) const { return _actually_an_obsolete; }
+ void setActuallyAnObsolete (void) { _actually_an_obsolete = true; }
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const { return false; }
+
+};
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemConflict_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemConflictPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemConflictPtr_h
+#define _QueueItemConflictPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemConflictPtr
+// CLASS NAME : constQueueItemConflictPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemConflict,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemConflictPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemGroup.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/QueueItemGroup.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemGroup,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemGroup::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemGroup::toString ( const QueueItemGroup & item)
+{
+ string ret = "[Group: ";
+ ret += QueueItem::toString(item._subitems);
+ ret += "]";
+ return ret;
+}
+
+
+ostream &
+QueueItemGroup::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemGroup & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemGroup::QueueItemGroup (WorldPtr world)
+ : QueueItem (QUEUE_ITEM_TYPE_GROUP, world)
+{
+}
+
+
+QueueItemGroup::~QueueItemGroup()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+QueueItemGroup::process (ResolverContextPtr context, QueueItemList & new_items)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemGroup::process\n");
+
+ bool did_something = false;
+
+ // Just move all of the group's subitems onto the new_items list.
+
+ for (QueueItemList::const_iterator iter = _subitems.begin(); iter != _subitems.end(); iter++) {
+ new_items.push_front (*iter);
+ did_something = true;
+ }
+
+ _subitems.clear();
+
+// FIXME: delete self
+
+ return did_something;
+}
+
+
+QueueItemPtr
+QueueItemGroup::copy (void) const
+{
+ QueueItemGroupPtr new_group = new QueueItemGroup (world());
+ ((QueueItemPtr)new_group)->copy((constQueueItemPtr)this);
+
+ for (QueueItemList::const_iterator iter = _subitems.begin(); iter != _subitems.end(); iter++) {
+ new_group->_subitems.push_back ((*iter)->copy());
+ }
+ return new_group;
+}
+
+
+int
+QueueItemGroup::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item); // assures equal type
+ if (cmp != 0)
+ return cmp;
+
+ constQueueItemGroupPtr group = item;
+
+ // First, sort by # of subitems
+
+ cmp = CMP(_subitems.size(), group->_subitems.size());
+ if (cmp)
+ return cmp;
+
+ // We can do a by-item cmp since the possible items are kept in sorted order.
+ QueueItemList::const_iterator iter2;
+ for (QueueItemList::const_iterator iter = _subitems.begin(), iter2 = group->_subitems.begin();
+ iter != _subitems.end() && iter2 != group->_subitems.end(); iter++, iter2++) {
+ cmp = (*iter)->cmp (*iter2);
+ if (cmp) {
+ return cmp;
+ }
+ }
+
+ return 0;
+}
+
+
+void
+QueueItemGroup::addItem (QueueItemPtr subitem)
+{
+ // We need to keep the list sorted for comparison purposes.
+ _subitems.push_back (subitem);
+// FIXME _subitems.sort(cmp)
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemGroup.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemGroup_h
+#define _QueueItemGroup_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemGroupPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemGroup
+
+class QueueItemGroup : public QueueItem {
+ REP_BODY(QueueItemGroup);
+
+ private:
+ QueueItemList _subitems;
+
+ public:
+
+ QueueItemGroup (WorldPtr world);
+ virtual ~QueueItemGroup();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemGroup & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemGroup & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const { return false; }
+
+ void addItem (QueueItemPtr subitem);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemGroup_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemGroupPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemGroupPtr_h
+#define _QueueItemGroupPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemGroupPtr
+// CLASS NAME : constQueueItemGroupPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemGroup,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemGroupPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemInstall.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <zypp/solver/detail/QueueItemInstall.h>
+#include <zypp/solver/detail/QueueItemUninstall.h>
+#include <zypp/solver/detail/QueueItemRequire.h>
+#include <zypp/solver/detail/QueueItemConflict.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverInfoConflictsWith.h>
+#include <zypp/solver/detail/ResolverInfoMisc.h>
+#include <zypp/solver/detail/ResolverInfoNeededBy.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/ResolvableAndDependency.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemInstall,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemInstall::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemInstall::toString ( const QueueItemInstall & item)
+{
+ string ret = "[Install: ";
+ ret += item._resolvable->asString();
+ if (item._upgrades != NULL) {
+ ret += ", Upgrades ";
+ ret += item._upgrades->asString();
+ }
+ if (!item._deps_satisfied_by_this_install.empty()) {
+ ret += ", Satisfies ";
+ ret += Dependency::toString(item._deps_satisfied_by_this_install);
+ }
+ if (!item._needed_by.empty()) {
+ ret += ", Needed by ";
+ ret += Resolvable::toString(item._needed_by);
+ }
+ if (item._explicitly_requested) ret += ", Explicit !";
+ ret += "]";
+ return ret;
+}
+
+
+ostream &
+QueueItemInstall::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemInstall & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemInstall::QueueItemInstall (WorldPtr world, constResolvablePtr resolvable)
+ : QueueItem (QUEUE_ITEM_TYPE_INSTALL, world)
+ , _resolvable (resolvable)
+ , _channel_priority (0)
+ , _other_penalty (0)
+ , _explicitly_requested (false)
+{
+ constResolvablePtr upgrades = world->findInstalledResolvable (resolvable);
+ if (getenv("RC_SPEW")) fprintf (stderr, "QueueItemInstall::QueueItemInstall(%s) upgrades %s\n", resolvable->asString().c_str(), upgrades!=NULL?upgrades->asString().c_str():"nothing");
+ if (upgrades
+ && ! (((constSpecPtr)upgrades)->equals (resolvable))) {
+ setUpgrades(upgrades);
+ }
+}
+
+
+QueueItemInstall::~QueueItemInstall()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+QueueItemInstall::isSatisfied (ResolverContextPtr context) const
+{
+ return context->resolvableIsPresent (_resolvable);
+}
+
+
+//---------------------------------------------------------------------------
+
+// Handle system resolvable's that conflict with us -> uninstall them
+
+static bool
+build_conflict_list (constResolvablePtr resolvable, constDependencyPtr dep, void *data)
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ rl->push_front (resolvable);
+ return true;
+}
+
+bool
+QueueItemInstall::process (ResolverContextPtr context, QueueItemList & qil)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemInstall::process(%s)\n", this->asString().c_str());
+
+ constResolvablePtr resolvable = _resolvable;
+ string pkg_name = resolvable->asString();
+ string msg;
+ ResolvableStatus status = context->getStatus (resolvable);
+
+ CDependencyList deps;
+ CResolvableList conflicts;
+
+ /* If we are trying to upgrade resolvable A with resolvable B and they both have the
+ same version number, do nothing. This shouldn't happen in general with
+ red-carpet, but can come up with the installer & autopull. */
+
+ if (_upgrades
+ && ((constSpecPtr)_resolvable)->equals (_upgrades)) {
+ ResolverInfoPtr info;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "upgrades equal resolvable, skipping\n");
+
+ msg = string("Skipping ") + pkg_name + (": already installed");
+ info = new ResolverInfoMisc (_resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+ context->addInfo (info);
+ goto finished;
+ }
+
+ if (!_needed_by.empty()) {
+ bool still_needed = false;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "still needed ");
+
+ for (CResolvableList::const_iterator iter = _needed_by.begin(); iter != _needed_by.end() && !still_needed; iter++) {
+ ResolvableStatus status = context->getStatus (*iter);
+ if (getenv ("RC_SPEW")) fprintf (stderr, "by: [status: %s] %s\n", ResolverContext::toString(status).c_str(), (*iter)->asString().c_str());
+ if (! resolvable_status_is_to_be_uninstalled (status)) {
+ still_needed = true;
+ }
+ }
+
+ if (! still_needed)
+ goto finished;
+ }
+
+ /* If we are in verify mode and this install is about to fail, don't let it happen...
+ instead, we try to back out of the install by removing whatever it was that
+ needed this. */
+
+ if (context->verifying()
+ && resolvable_status_is_to_be_uninstalled (context->getStatus (resolvable))
+ && !_needed_by.empty()) {
+
+ QueueItemUninstallPtr uninstall_item;
+
+ for (CResolvableList::const_iterator iter = _needed_by.begin(); iter != _needed_by.end(); iter++) {
+ uninstall_item = new QueueItemUninstall (world(), *iter, "uninstallable resolvable");
+ qil.push_front (uninstall_item);
+ }
+
+ goto finished;
+ }
+
+ if (_upgrades == NULL) {
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "simple install of %s\n", resolvable->asString(true).c_str());
+
+ context->installResolvable (resolvable, context->verifying(), /* is_soft */ _other_penalty);
+
+ } else {
+
+ QueueItemUninstallPtr uninstall_item;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "upgrade install of %s\n", resolvable->asString().c_str());
+
+ context->upgradeResolvable (resolvable, _upgrades, context->verifying(), /* is_soft */ _other_penalty);
+
+ uninstall_item = new QueueItemUninstall (world(), _upgrades, "upgrade");
+ uninstall_item->setUpgradedTo (resolvable);
+
+ if (_explicitly_requested)
+ uninstall_item->setExplicitlyRequested ();
+
+ qil.push_front (uninstall_item);
+ }
+
+ /* Log which resolvable need this install */
+
+ if (!_needed_by.empty()) {
+ ResolverInfoNeededByPtr info;
+
+ info = new ResolverInfoNeededBy (resolvable);
+ info->addRelatedResolvableList (_needed_by);
+ context->addInfo (info);
+ }
+
+ if (! (status == RESOLVABLE_STATUS_UNINSTALLED
+ || status == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK)) {
+ goto finished;
+ }
+
+ if (_upgrades != NULL) {
+ msg = string ("Upgrading ") + _upgrades->asString() + " => " + pkg_name;
+ } else {
+ msg = string ("Installing ") + pkg_name;
+ }
+
+ context->addInfoString (resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+
+ logInfo (context);
+
+ /* Construct require items for each of the resolvable's requires that is still unsatisfied. */
+
+ deps = resolvable->requires();
+ for (CDependencyList::const_iterator iter = deps.begin(); iter != deps.end(); iter++) {
+ constDependencyPtr dep = *iter;
+ if (!context->requirementIsMet (dep, false)) {
+ if (getenv("RC_SPEW")) fprintf (stderr, "this requires %s\n", dep->asString().c_str());
+ QueueItemRequirePtr req_item = new QueueItemRequire (world(), dep);
+ req_item->addResolvable (resolvable);
+ qil.push_front (req_item);
+ }
+ }
+
+ /* Construct conflict items for each of the resolvable's conflicts. */
+
+ deps = resolvable->conflicts();
+ for (CDependencyList::const_iterator iter = deps.begin(); iter != deps.end(); iter++) {
+ constDependencyPtr dep = *iter;
+ if (getenv("RC_SPEW")) fprintf (stderr, "this conflicts with '%s'\n", dep->asString().c_str());
+ QueueItemConflictPtr conflict_item = new QueueItemConflict (world(), dep, resolvable);
+ qil.push_front (conflict_item);
+ }
+
+ /* Construct conflict items for each of the resolvable's obsoletes. */
+
+ deps = resolvable->obsoletes();
+ for (CDependencyList::const_iterator iter = deps.begin(); iter != deps.end(); iter++) {
+ constDependencyPtr dep = *iter;
+ if (getenv("RC_SPEW")) fprintf (stderr, "this obsoletes %s\n", dep->asString().c_str());
+ QueueItemConflictPtr conflict_item = new QueueItemConflict (world(), dep, resolvable);
+ conflict_item->setActuallyAnObsolete();
+ qil.push_front (conflict_item);
+ }
+
+ /* Construct uninstall items for system resolvable's that conflict with us. */
+
+ deps = resolvable->provides();
+ for (CDependencyList::const_iterator iter = deps.begin(); iter != deps.end(); iter++) {
+ constDependencyPtr dep = *iter;
+ world()->foreachConflictingResolvable (dep, build_conflict_list, &conflicts);
+ }
+
+ for (CResolvableList::const_iterator iter = conflicts.begin(); iter != conflicts.end(); iter++) {
+ constResolvablePtr conflicting_resolvable = *iter;
+ ResolverInfoPtr log_info;
+ QueueItemUninstallPtr uninstall_item;
+
+ /* Check to see if we conflict with ourself and don't create
+ * an uninstall item for it if we do. This is Debian's way of
+ * saying that one and only one resolvable with this provide may
+ * exist on the system at a time.
+ */
+ if (((constSpecPtr)conflicting_resolvable)->equals (resolvable)) {
+ continue;
+ }
+
+ if (getenv("RC_SPEW")) fprintf (stderr, "because: '%s'\n", conflicting_resolvable->asString(true).c_str());
+
+ uninstall_item = new QueueItemUninstall (world(), conflicting_resolvable, "conflict");
+ uninstall_item->setDueToConflict ();
+ log_info = new ResolverInfoConflictsWith (conflicting_resolvable, resolvable);
+ uninstall_item->addInfo (log_info);
+ qil.push_front (uninstall_item);
+ }
+
+ finished:
+//FIXME rc_queue_item_free (item);
+
+ return true;
+}
+
+
+QueueItemPtr
+QueueItemInstall::copy (void) const
+{
+ QueueItemInstallPtr new_install = new QueueItemInstall (world(), _resolvable);
+ ((QueueItemPtr)new_install)->copy((constQueueItemPtr)this);
+
+ new_install->_upgrades = _upgrades;
+ new_install->_deps_satisfied_by_this_install = CDependencyList(_deps_satisfied_by_this_install.begin(), _deps_satisfied_by_this_install.end());
+ new_install->_needed_by = CResolvableList (_needed_by.begin(), _needed_by.end());
+ new_install->_channel_priority = _channel_priority;
+ new_install->_other_penalty = _other_penalty;
+ new_install->_explicitly_requested = _explicitly_requested;
+
+ return new_install;
+}
+
+
+int
+QueueItemInstall::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item);
+ if (cmp != 0)
+ return cmp;
+ constQueueItemInstallPtr install = item;
+ return GVersion.compare (_resolvable, install->_resolvable);
+}
+
+//---------------------------------------------------------------------------
+
+void
+QueueItemInstall::addDependency (constDependencyPtr dep)
+{
+ _deps_satisfied_by_this_install.push_front (dep);
+}
+
+
+void
+QueueItemInstall::addNeededBy (constResolvablePtr resolvable)
+{
+ _needed_by.push_front (resolvable);
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemInstall.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemInstall_h
+#define _QueueItemInstall_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemInstallPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemInstall
+
+class QueueItemInstall : public QueueItem {
+ REP_BODY(QueueItemInstall);
+
+ private:
+ constResolvablePtr _resolvable;
+ constResolvablePtr _upgrades;
+ CDependencyList _deps_satisfied_by_this_install;
+ CResolvableList _needed_by;
+ int _channel_priority;
+ int _other_penalty;
+
+ bool _explicitly_requested;
+
+ public:
+
+ QueueItemInstall (WorldPtr world, constResolvablePtr resolvable);
+ virtual ~QueueItemInstall();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemInstall & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemInstall & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ constResolvablePtr resolvable (void) const { return _resolvable; }
+
+ constResolvablePtr upgrades (void) const { return _upgrades; }
+ void setUpgrades (constResolvablePtr upgrades) { _upgrades = upgrades; }
+
+ int channelPriority (void) const { return _channel_priority; }
+ void setChannelPriority (int channel_priority) { _channel_priority = channel_priority; }
+
+ int otherPenalty (void) { return _other_penalty; }
+ void setOtherPenalty (int other_penalty) { _other_penalty = other_penalty; }
+
+ void setExplicitlyRequested (void) { _explicitly_requested = true; }
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const;
+
+ void addDependency (constDependencyPtr dep);
+ void addNeededBy (constResolvablePtr resolvable);
+
+};
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItem_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemInstallPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemInstallPtr_h
+#define _QueueItemInstallPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemInstallPtr
+// CLASS NAME : constQueueItemInstallPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemInstall,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemInstallPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemPtr_h
+#define _QueueItemPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemPtr
+// CLASS NAME : constQueueItemPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemRequire.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/QueueItemRequire.h>
+#include <zypp/solver/detail/QueueItemBranch.h>
+#include <zypp/solver/detail/QueueItemUninstall.h>
+#include <zypp/solver/detail/QueueItemInstall.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverInfoDependsOn.h>
+#include <zypp/solver/detail/ResolverInfoMisc.h>
+#include <zypp/solver/detail/ResolverInfoNeededBy.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/World.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemRequire,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemRequire::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemRequire::toString ( const QueueItemRequire & item)
+{
+ string ret = "[Require: ";
+ ret += item._dep->asString();
+ if (item._requiring_resolvable != NULL) {
+ ret += ", Required by ";
+ ret += item._requiring_resolvable->asString();
+ }
+ if (item._upgraded_resolvable != NULL) {
+ ret += ", Upgrades ";
+ ret += item._upgraded_resolvable->asString();
+ }
+ if (item._lost_resolvable != NULL) {
+ ret += ", Lost ";
+ ret += item._lost_resolvable->asString();
+ }
+ if (item._remove_only) ret += ", Remove Only";
+ if (item._is_child) ret += ", Child";
+ ret += "]";
+
+ return ret;
+}
+
+
+ostream &
+QueueItemRequire::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemRequire & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemRequire::QueueItemRequire (WorldPtr world, constDependencyPtr dep)
+ : QueueItem (QUEUE_ITEM_TYPE_REQUIRE, world)
+ , _dep (dep)
+ , _requiring_resolvable (NULL)
+ , _upgraded_resolvable (NULL)
+ , _lost_resolvable (NULL)
+ , _remove_only (false)
+ , _is_child (false)
+{
+}
+
+
+QueueItemRequire::~QueueItemRequire()
+{
+}
+
+//---------------------------------------------------------------------------
+
+void
+QueueItemRequire::addResolvable (constResolvablePtr resolvable)
+{
+ assert (_requiring_resolvable == NULL);
+ _requiring_resolvable = resolvable;
+}
+
+
+//---------------------------------------------------------------------------
+
+typedef std::map <constSpecPtr, bool> UniqTable;
+
+typedef struct {
+ constResolvablePtr resolvable;
+ constSpecPtr dep;
+ ResolverContextPtr context;
+ WorldPtr world;
+ CResolvableList providers;
+ UniqTable *uniq;
+} RequireProcessInfo;
+
+
+static bool
+require_process_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+ RequireProcessInfo *info = (RequireProcessInfo *)data;
+ ResolvableStatus status;
+
+ status = info->context->getStatus (resolvable);
+//fprintf (stderr, "require_process_cb(res: %s, spec %s, status %s)\n", resolvable->asString().c_str(), spec->asString().c_str(), ResolverContext::toString(status).c_str());
+//fprintf (stderr, "require_process_cb(info->dep: %s)\n", info->dep ? info->dep->asString().c_str() : "(null)");
+//fprintf (stderr, "require_process_cb(resolvableIsPossible -> %d)\n", info->context->resolvableIsPossible (resolvable));
+ /* info->dep is set for resolvable set childern only. If it is set
+ allow only exactly required version */
+ if (info->dep != NULL
+ && !info->dep->equals(spec)) {
+ return true;
+ }
+
+ if ((! resolvable_status_is_to_be_uninstalled (status))
+ && ! info->context->isParallelInstall (resolvable)
+ && info->uniq->find((constSpecPtr)resolvable) == info->uniq->end()
+ && info->context->resolvableIsPossible (resolvable)
+ && ! info->world->resolvableIsLocked (resolvable)) {
+
+ info->providers.push_front (resolvable);
+ (*(info->uniq))[resolvable] = true;
+ }
+
+ return true;
+}
+
+
+static bool
+no_installable_providers_info_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+ RequireProcessInfo *info = (RequireProcessInfo *)data;
+ ResolvableStatus status;
+ string msg_str;
+
+ status = info->context->getStatus (resolvable);
+
+ if (resolvable_status_is_to_be_uninstalled (status)) {
+ msg_str = resolvable->name() + " provides " + spec->asString() + ", but is scheduled to be uninstalled.";
+ } else if (info->context->isParallelInstall (resolvable)) {
+ msg_str = resolvable->name() + " provides " + spec->asString() + ", but another version of that resolvable is already installed.";
+ } else if (! info->context->resolvableIsPossible (resolvable)) {
+ msg_str = resolvable->name() + " provides " + spec->asString() + ", but it is uninstallable. Try installing it on its own for more details.";
+ } else if (info->world->resolvableIsLocked (resolvable)) {
+ msg_str = resolvable->name() + " provides " + spec->asString() + ", but it is locked.";
+ }
+
+ if (!msg_str.empty()) {
+ info->context->addInfoString (info->resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg_str);
+ }
+
+ return true;
+}
+
+
+static bool
+look_for_upgrades_cb (constResolvablePtr resolvable, void *data)
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ rl->push_front (resolvable);
+ return true;
+}
+
+
+static bool
+codependent_resolvables (constResolvablePtr r1, constResolvablePtr r2)
+{
+ string name1 = r1->name();
+ string name2 = r2->name();
+ int len1 = name1.size();
+ int len2 = name2.size();
+
+ if (len2 < len1) {
+ string swap = name1;
+ int swap_len = len1;
+ name1 = name2;
+ name2 = swap;
+ len1 = len2;
+ len2 = swap_len;
+ }
+
+ // foo and foo-bar are automatically co-dependent
+ if (len1 < len2
+ && strncmp (name1.c_str(), name2.c_str(), len1) == 0
+ && name2[len1] == '-') {
+ return true;
+ }
+
+ return false;
+}
+
+
+bool
+QueueItemRequire::process (ResolverContextPtr context, QueueItemList & new_items)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemRequire::process(%s)\n", this->asString().c_str());
+
+ if (context->requirementIsMet (_dep, _is_child)) {
+ if (getenv ("RC_SPEW")) fprintf (stderr, "requirement is already met in current context\n");
+// rc_queue_item_free (item);
+ return true;
+ }
+
+ RequireProcessInfo info;
+
+ info.resolvable = _requiring_resolvable;
+ info.dep = _is_child ? _dep : NULL;
+ info.context = context;
+ info.world = world();
+ info.uniq = new UniqTable(); //FIXME: op: g_hash_table_new (rc_resolvable_spec_hash, rc_resolvable_spec_equal);
+
+ int num_providers = 0;
+
+ if (! _remove_only) {
+
+ world()->foreachProvidingResolvable (_dep, require_process_cb, &info);
+
+ num_providers = info.providers.size();
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "requirement is met by %d resolvables\n", num_providers);
+ }
+
+ std::string msg;
+
+ if (num_providers == 0) {
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "Unfulfilled requirement, try different solution\n");
+
+ QueueItemUninstallPtr uninstall_item = NULL;
+ QueueItemBranchPtr branch_item = NULL;
+ bool explore_uninstall_branch = true;
+
+ if (_upgraded_resolvable == NULL) {
+ ResolverInfoPtr err_info;
+
+ msg = string ("There are no ") + (_remove_only ? "alternative installed" : "installable") + " providers of " + _dep->asString();
+ if (_requiring_resolvable != NULL) {
+ msg += " for ";
+ msg += _requiring_resolvable->asString();
+ }
+
+ err_info = new ResolverInfoMisc (_requiring_resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+
+ context->addInfo (err_info);
+
+ // Maybe we can add some extra info on why none of the providers are suitable.
+ world()->foreachProvidingResolvable (_dep, no_installable_providers_info_cb, (void *)&info);
+ }
+
+ // If this is an upgrade, we might be able to avoid removing stuff by upgrading it instead.
+ if (_upgraded_resolvable != NULL
+ && _requiring_resolvable != NULL) {
+
+ CResolvableList upgrade_list;
+
+ world()->foreachUpgrade (_requiring_resolvable, new Channel(CHANNEL_TYPE_ANY), look_for_upgrades_cb, (void *)&upgrade_list);
+
+ if (!upgrade_list.empty()) {
+ string label, req_str, up_str;
+
+ branch_item = new QueueItemBranch (world());
+
+ req_str = _requiring_resolvable->asString();
+ up_str = _upgraded_resolvable->asString();
+
+ label = string ("for requiring ") + _dep->asString() + " for " + req_str + " when upgrading " + up_str;
+ branch_item->setLabel (label);
+//fprintf (stderr, "Branching: %s\n", label.c_str());
+ for (CResolvableList::const_iterator iter = upgrade_list.begin(); iter != upgrade_list.end(); iter++) {
+ constResolvablePtr upgrade_resolvable = *iter;
+ QueueItemInstallPtr install_item;
+
+ if (context->resolvableIsPossible (upgrade_resolvable)) {
+
+ install_item = new QueueItemInstall (world(), upgrade_resolvable);
+ install_item->setUpgrades (_requiring_resolvable);
+ branch_item->addItem (install_item);
+
+ ResolverInfoNeededByPtr upgrade_info = new ResolverInfoNeededBy (upgrade_resolvable);
+ upgrade_info->addRelatedResolvable (_upgraded_resolvable);
+ install_item->addInfo (upgrade_info);
+
+ // If an upgrade resolvable has its requirements met, don't do the uninstall branch.
+ // FIXME: should we also look at conflicts here?
+
+ if (explore_uninstall_branch) {
+ CDependencyList requires = upgrade_resolvable->requires();
+ CDependencyList::const_iterator iter = requires.begin();
+ for (; iter != requires.end(); iter++) {
+ constDependencyPtr req = *iter;
+ if (! context->requirementIsMet (req, false)) {
+ break;
+ }
+ }
+ if (iter == requires.end()) {
+ explore_uninstall_branch = false;
+ }
+ }
+
+ } /* if (context->resolvableIsPossible ( ... */
+ } /* for (iter = upgrade_list; ... */
+ } /* if (upgrade_list) ... */
+
+ if (!upgrade_list.empty()
+ && branch_item->isEmpty ()) {
+
+ for (CResolvableList::const_iterator iter = upgrade_list.begin(); iter != upgrade_list.end(); iter++) {
+ string str;
+ string p1, p2;
+
+ p1 = _requiring_resolvable->asString();
+ p2 = (*iter)->asString();
+ str = string ("Upgrade to ") + p2 + " to avoid removing " + p1 + " is not possible.";
+
+ ResolverInfoMiscPtr misc_info = new ResolverInfoMisc (NULL, RESOLVER_INFO_PRIORITY_VERBOSE, str);
+ misc_info->addRelatedResolvable (_requiring_resolvable);
+ misc_info->addRelatedResolvable (*iter);
+ context->addInfo (misc_info);
+
+ explore_uninstall_branch = true;
+ }
+
+ //
+ // The exception: we always want to consider uninstalling
+ // when the requirement has resulted from a resolvable losing
+ // one of it's provides.
+
+ } else if (!upgrade_list.empty()
+ && explore_uninstall_branch
+ && codependent_resolvables (_requiring_resolvable, _upgraded_resolvable)
+ && _lost_resolvable == NULL) {
+ explore_uninstall_branch = false;
+ }
+
+ } /* if (_upgrade_resolvable && _requiring_resolvable) ... */
+
+ // We always consider uninstalling when in verification mode.
+
+ if (context->verifying()) {
+ explore_uninstall_branch = true;
+ }
+
+ if (explore_uninstall_branch && _requiring_resolvable) {
+ ResolverInfoPtr log_info;
+ uninstall_item = new QueueItemUninstall (world(),_requiring_resolvable, "unsatisfied requirements");
+ uninstall_item->setDependency (_dep);
+
+ if (_lost_resolvable) {
+ log_info = new ResolverInfoDependsOn (_requiring_resolvable, _lost_resolvable);
+ uninstall_item->addInfo (log_info);
+ }
+
+ if (_remove_only)
+ uninstall_item->setRemoveOnly ();
+ }
+
+ if (uninstall_item && branch_item) {
+ branch_item->addItem (uninstall_item);
+ new_items.push_front (branch_item);
+ } else if (uninstall_item) {
+ new_items.push_front (uninstall_item);
+ } else if (branch_item) {
+ new_items.push_front (branch_item);
+ } else {
+ // We can't do anything to resolve the missing requirement, so we fail.
+ string msg = string ("Can't satisfy requirement '") + _dep->asString() + "'";
+
+ context->addErrorString (NULL, msg);
+ }
+
+ } else if (num_providers == 1) {
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "Found exactly one resolvable, installing it.\n");
+
+ QueueItemInstallPtr install_item = new QueueItemInstall (world(), info.providers.front());
+ install_item->addDependency (_dep);
+
+ // The requiring resolvable could be NULL if the requirement was added as an extra dependency.
+ if (_requiring_resolvable) {
+ install_item->addNeededBy (_requiring_resolvable);
+ }
+ new_items.push_front (install_item);
+
+ } else if (num_providers > 1) {
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "Found more than one resolvable, branching.\n");
+
+//fprintf (stderr, "Found more than one resolvable, branching.\n");
+ QueueItemBranchPtr branch_item = new QueueItemBranch (world());
+
+ for (CResolvableList::const_iterator iter = info.providers.begin(); iter != info.providers.end(); iter++) {
+ QueueItemInstallPtr install_item = new QueueItemInstall (world(), *iter);
+ install_item->addDependency (_dep);
+ branch_item->addItem (install_item);
+
+ // The requiring resolvable could be NULL if the requirement was added as an extra dependency.
+ if (_requiring_resolvable) {
+ install_item->addNeededBy (_requiring_resolvable);
+ }
+ }
+
+ new_items.push_front (branch_item);
+
+ } else {
+ abort ();
+ }
+
+
+// rc_queue_item_free (item);
+ return true;
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemPtr
+QueueItemRequire::copy (void) const
+{
+ QueueItemRequirePtr new_require = new QueueItemRequire (world(), _dep);
+ ((QueueItemPtr)new_require)->copy((constQueueItemPtr)this);
+
+ new_require->_requiring_resolvable = _requiring_resolvable;
+ new_require->_upgraded_resolvable = _upgraded_resolvable;
+ new_require->_remove_only = _remove_only;
+
+ return new_require;
+}
+
+
+int
+QueueItemRequire::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item); // assures equal type
+ if (cmp != 0)
+ return cmp;
+
+ constQueueItemRequirePtr require = item;
+
+ cmp = GVersion.compare ((constSpecPtr) _dep, ((constSpecPtr)(require->dependency())));
+ if (cmp)
+ return cmp;
+
+ return CMP ((int) _dep->relation().op(), (int) (require->dependency()->relation().op()));
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemRequire.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemRequire_h
+#define _QueueItemRequire_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemRequirePtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemRequire
+
+class QueueItemRequire : public QueueItem {
+ REP_BODY(QueueItemRequire);
+
+ private:
+ constDependencyPtr _dep;
+ constResolvablePtr _requiring_resolvable;
+ constResolvablePtr _upgraded_resolvable;
+ constResolvablePtr _lost_resolvable;
+ bool _remove_only;
+ bool _is_child;
+
+ public:
+
+ QueueItemRequire (WorldPtr world, constDependencyPtr dep);
+ virtual ~QueueItemRequire();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemRequire & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemRequire & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ constDependencyPtr dependency (void) const { return _dep; }
+
+ void setRemoveOnly (void) { _remove_only = true; }
+ void setUpgradedResolvable (constResolvablePtr upgraded_resolvable) { _upgraded_resolvable = upgraded_resolvable; }
+ void setLostResolvable (constResolvablePtr lost_resolvable) { _lost_resolvable = lost_resolvable; }
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const { return false; }
+
+ void addResolvable (constResolvablePtr resolvable);
+
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemRequire_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemRequirePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemRequirePtr_h
+#define _QueueItemRequirePtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemRequirePtr
+// CLASS NAME : constQueueItemRequirePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemRequire,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemRequirePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemUninstall.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/QueueItemUninstall.h>
+#include <zypp/solver/detail/QueueItemRequire.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverInfoMissingReq.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/Version.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(QueueItemUninstall,QueueItem);
+
+//---------------------------------------------------------------------------
+
+string
+QueueItemUninstall::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+QueueItemUninstall::toString ( const QueueItemUninstall & item)
+{
+ string ret = "[Uninstall: ";
+
+ ret += item._resolvable->asString();
+ ret += " ("; ret += item._reason; ret += ")";
+ if (item._dep_leading_to_uninstall != NULL) {
+ ret += ", Triggered By ";
+ ret += item._dep_leading_to_uninstall->asString();
+ }
+ if (item._upgraded_to != NULL) {
+ ret += ", Upgraded To ";
+ ret += item._upgraded_to->asString();
+ }
+ if (item._explicitly_requested) ret += ", Explicit";
+ if (item._remove_only) ret += ", Remove Only";
+ if (item._due_to_conflict) ret += ", Due To Conflict";
+ if (item._due_to_obsolete) ret += ", Due To Obsolete";
+ if (item._unlink) ret += ", Unlink";
+ ret += "]";
+
+ return ret;
+}
+
+
+ostream &
+QueueItemUninstall::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const QueueItemUninstall & item)
+{
+ return os << item.asString();
+}
+
+//---------------------------------------------------------------------------
+
+QueueItemUninstall::QueueItemUninstall (WorldPtr world, constResolvablePtr resolvable, const std::string & reason)
+ : QueueItem (QUEUE_ITEM_TYPE_UNINSTALL, world)
+ , _resolvable (resolvable)
+ , _reason (reason)
+ , _dep_leading_to_uninstall (NULL)
+ , _upgraded_to (NULL)
+ , _explicitly_requested (false)
+ , _remove_only (false)
+ , _due_to_conflict (false)
+ , _due_to_obsolete (false)
+ , _unlink (false)
+{
+}
+
+
+QueueItemUninstall::~QueueItemUninstall()
+{
+}
+
+//---------------------------------------------------------------------------
+
+void
+QueueItemUninstall::setUnlink ()
+{
+ _unlink = true;
+ /* Reduce the priority so that unlink items will tend to get
+ processed later. We want to process unlinks as late as possible...
+ this will make our "is this item in use" check more accurate. */
+ setPriority (0);
+
+ return;
+}
+
+//---------------------------------------------------------------------------
+
+typedef struct {
+ ResolverContextPtr context;
+ bool cancel_unlink;
+} UnlinkCheckInfo;
+
+
+static bool
+unlink_check_cb (constResolvablePtr resolvable, constDependencyPtr dep, void *data)
+{
+ UnlinkCheckInfo *info = (UnlinkCheckInfo *)data;
+
+ if (info->cancel_unlink)
+ return true;
+
+ if (! info->context->resolvableIsPresent (resolvable))
+ return true;
+
+ if (info->context->requirementIsMet (dep, false))
+ return true;
+
+ info->cancel_unlink = true;
+
+ return true;
+}
+
+typedef struct {
+ WorldPtr world;
+ ResolverContextPtr context;
+ constResolvablePtr uninstalled_resolvable;
+ constResolvablePtr upgraded_resolvable;
+ QueueItemList *require_items;
+ bool remove_only;
+} UninstallProcessInfo;
+
+
+static bool
+uninstall_process_cb (constResolvablePtr resolvable, constDependencyPtr dep, void *data)
+{
+ UninstallProcessInfo *info = (UninstallProcessInfo *)data;
+
+ if (! info->context->resolvableIsPresent (resolvable))
+ return true;
+
+ if (info->context->requirementIsMet (dep, false))
+ return true;
+
+ QueueItemRequirePtr require_item = new QueueItemRequire (info->world, dep);
+ require_item->addResolvable (resolvable);
+ if (info->remove_only) {
+ require_item->setRemoveOnly ();
+ }
+ require_item->setUpgradedResolvable (info->upgraded_resolvable);
+ require_item->setLostResolvable (info->uninstalled_resolvable);
+
+ info->require_items->push_front (require_item);
+
+ return true;
+}
+
+
+bool
+QueueItemUninstall::process (ResolverContextPtr context, QueueItemList & qil)
+{
+ ResolvableStatus status;
+ string pkg_str;
+
+ pkg_str = ((constSpecPtr)_resolvable)->asString();
+
+ status = context->getStatus (_resolvable);
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "QueueItemUninstall::process(<%s>%s)%s\n", ResolverContext::toString(status).c_str(), _resolvable->asString().c_str(), _unlink ? "[unlink]" : "");
+
+ /* In the case of an unlink, we only want to uninstall the resolvable if it is
+ being used by something else. We can't really determine this with 100%
+ accuracy, since some later queue item could cause something that requires
+ the resolvable to be uninstalled. The alternative is to try to do something
+ really clever... but I'm not clever enough to think of an algorithm that
+ (1) Would do the right thing.
+ (2) Is guaranteed to terminate. (!)
+ so this will have to do. In practice, I don't think that this is a serious
+ problem. */
+
+ if (_unlink) {
+ bool unlink_cancelled = false;
+
+ /* If the resolvable is to-be-installed, obviously it is being use! */
+ if (status == RESOLVABLE_STATUS_TO_BE_INSTALLED) {
+
+ unlink_cancelled = true;
+
+ } else if (status == RESOLVABLE_STATUS_INSTALLED) {
+ UnlinkCheckInfo info;
+
+ /* Flag the resolvable as to-be-uninstalled so that it won't
+ satisfy any other resolvable's deps during this check. */
+ context->setStatus (_resolvable, RESOLVABLE_STATUS_TO_BE_UNINSTALLED);
+
+ info.context = context;
+ info.cancel_unlink = false;
+
+ CDependencyList provides = _resolvable->provides();
+ for (CDependencyList::const_iterator iter = provides.begin(); iter != provides.end() && ! info.cancel_unlink; iter++) {
+ world()->foreachRequiringResolvable (*iter, unlink_check_cb, &info);
+ }
+
+ /* Set the status back to normal. */
+ context->setStatus (_resolvable, status);
+
+ if (info.cancel_unlink)
+ unlink_cancelled = true;
+ }
+
+ if (unlink_cancelled) {
+ string msg = pkg_str + " is required by other installed resolvables, so it won't be unlinked.";
+ context->addInfoString (_resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+ goto finished;
+ }
+ }
+
+ context->uninstallResolvable (_resolvable, _upgraded_to != NULL, _due_to_obsolete, _unlink);
+
+ if (status == RESOLVABLE_STATUS_INSTALLED) {
+
+ if (! _explicitly_requested
+ && world()->resolvableIsLocked (_resolvable)) {
+ string msg = pkg_str + " is locked, and cannot be uninstalled.";
+ context->addErrorString (_resolvable, msg);
+ goto finished;
+ }
+
+ this->logInfo (context);
+
+ if (_dep_leading_to_uninstall
+ && !_due_to_conflict
+ && !_due_to_obsolete)
+ {
+ ResolverInfoPtr info = new ResolverInfoMissingReq (_resolvable, _dep_leading_to_uninstall);
+ context->addInfo (info);
+ }
+
+ CDependencyList provides = _resolvable->provides();
+ for (CDependencyList::const_iterator iter = provides.begin(); iter != provides.end(); iter++) {
+ UninstallProcessInfo info;
+
+ info.world = world();
+ info.context = context;
+ info.uninstalled_resolvable = _resolvable;
+ info.upgraded_resolvable = _upgraded_to;
+ info.require_items = &qil;
+ info.remove_only = _remove_only;
+
+ world()->foreachRequiringResolvable (*iter, uninstall_process_cb, &info);
+ }
+ }
+
+ finished:
+// FIXME rc_queue_item_free (item);
+
+ return true;
+}
+
+//---------------------------------------------------------------------------
+
+int
+QueueItemUninstall::cmp (constQueueItemPtr item) const
+{
+ int cmp = this->compare (item); // assures equal type
+ if (cmp != 0)
+ return cmp;
+
+ constQueueItemUninstallPtr uninstall = item;
+ return GVersion.compare (_resolvable, uninstall->_resolvable);
+}
+
+
+QueueItemPtr
+QueueItemUninstall::copy (void) const
+{
+ QueueItemUninstallPtr new_uninstall = new QueueItemUninstall (world(), _resolvable, _reason);
+ ((QueueItemPtr)new_uninstall)->copy((constQueueItemPtr)this);
+
+
+ new_uninstall->_resolvable = _resolvable;
+ new_uninstall->_dep_leading_to_uninstall = _dep_leading_to_uninstall;
+ new_uninstall->_upgraded_to = _upgraded_to;
+
+ new_uninstall->_explicitly_requested = _explicitly_requested;
+ new_uninstall->_remove_only = _remove_only;
+ new_uninstall->_due_to_conflict = _due_to_conflict;
+ new_uninstall->_due_to_obsolete = _due_to_obsolete;
+ new_uninstall->_unlink = _unlink;
+
+ return new_uninstall;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemUninstall.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemUninstall_h
+#define _QueueItemUninstall_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/QueueItemUninstallPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : QueueItemUninstall
+
+class QueueItemUninstall : public QueueItem {
+ REP_BODY(QueueItemUninstall);
+
+ private:
+ constResolvablePtr _resolvable;
+ const std::string _reason;
+ constDependencyPtr _dep_leading_to_uninstall;
+ constResolvablePtr _upgraded_to;
+
+ bool _explicitly_requested;
+ bool _remove_only;
+ bool _due_to_conflict;
+ bool _due_to_obsolete;
+ bool _unlink;
+
+ public:
+
+ QueueItemUninstall (WorldPtr world, constResolvablePtr resolvable, const std::string & reason);
+ virtual ~QueueItemUninstall();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const QueueItemUninstall & item);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const QueueItemUninstall & item);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ void setDependency (constDependencyPtr dep) { _dep_leading_to_uninstall = dep; }
+ void setExplicitlyRequested (void) { _explicitly_requested = true; }
+ void setRemoveOnly (void) { _remove_only = true; }
+ void setUpgradedTo (constResolvablePtr resolvable) { _upgraded_to = resolvable; }
+ void setDueToConflict (void) { _due_to_conflict = true; }
+ void setDueToObsolete (void) { _due_to_obsolete = true; }
+ void setUnlink (void);
+
+ // ---------------------------------- methods
+
+ virtual bool process (ResolverContextPtr context, QueueItemList & qil);
+ virtual QueueItemPtr copy (void) const;
+ virtual int cmp (constQueueItemPtr item) const;
+ virtual bool isRedundant (ResolverContextPtr context) const { return false; }
+ virtual bool isSatisfied (ResolverContextPtr context) const { return false; }
+
+};
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemUninstall_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* QueueItemUninstallPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _QueueItemUninstallPtr_h
+#define _QueueItemUninstallPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/QueueItem.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : QueueItemUninstallPtr
+// CLASS NAME : constQueueItemUninstallPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(QueueItemUninstall,QueueItem);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _QueueItemUninstallPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Resolvable.cc
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'resolvable'
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Resolvable.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+
+IMPL_DERIVED_POINTER(Resolvable,Spec);
+
+//---------------------------------------------------------------------------
+
+string
+Resolvable::asString ( bool full ) const
+{
+ return toString (*this, full);
+}
+
+
+string
+Resolvable::toString ( const Resolvable & resolvable, bool full )
+{
+ string res;
+
+ res += Spec::toString(resolvable);
+ if (!resolvable.channel()->system()) {
+ res += "[";
+ res += (resolvable.channel() == NULL) ? "(channel?)" : resolvable.channel()->name();
+ res += "]";
+ }
+ if (!full) return res;
+
+ if (resolvable.isInstalled()) res += "<installed>";
+ if (resolvable.local()) res += "<local>";
+
+ res += "FileSize ";
+ res += stringutil::numstring (resolvable.fileSize());
+ res += ", InstalledSize ";
+ res += stringutil::numstring (resolvable.installedSize());
+
+ if (!resolvable.requires().empty()) {
+ res += ", Requires: ";
+ res += Dependency::toString(resolvable.requires());
+ }
+
+ if (!resolvable.provides().empty()) {
+ res += ", Provides: ";
+ res += Dependency::toString(resolvable.provides());
+ }
+ if (!resolvable.conflicts().empty()) {
+ res += ", Conflicts: ";
+ res += Dependency::toString(resolvable.conflicts());
+ }
+ if (!resolvable.obsoletes().empty()) {
+ res += ", Obsoletes: ";
+ res += Dependency::toString(resolvable.obsoletes());
+ }
+
+ if (!resolvable.suggests().empty()) {
+ res += ", Suggests: ";
+ res += Dependency::toString(resolvable.suggests());
+ }
+ if (!resolvable.recommends().empty()) {
+ res += ", Recommends: ";
+ res += Dependency::toString(resolvable.recommends());
+ }
+ if (!resolvable.freshens().empty()) {
+ res += ", Freshens: ";
+ res += Dependency::toString(resolvable.freshens());
+ }
+ return res;
+}
+
+
+string
+Resolvable::toString ( const CResolvableList & rl, bool full )
+{
+ string res("[");
+ for (CResolvableList::const_iterator iter = rl.begin(); iter != rl.end(); iter++) {
+ if (iter != rl.begin()) res += ", ";
+ res += (*iter)->asString(full);
+ }
+ return res + "]";
+}
+
+
+ostream &
+Resolvable::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Resolvable& edition)
+{
+ return os << edition.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Resolvable::Resolvable (const Kind & kind, const string & name, int epoch, const string & version, const string & release, const Arch * arch)
+ :Spec (kind, name, epoch, version, release, arch)
+ , _channel (false)
+ , _installed (false)
+ , _local (false)
+ , _locked (false)
+ , _file_size (0)
+ , _installed_size (0)
+
+{
+}
+
+
+Resolvable::~Resolvable()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+Resolvable::isInstalled () const
+{
+ if (_channel != NULL
+ && _channel->system()) {
+ return true;
+ }
+ return false;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Resolvable.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Resolvable_h
+#define _Resolvable_h
+
+#include <list>
+#include <iosfwd>
+#include <string.h>
+#include <sys/types.h>
+
+#include <zypp/solver/detail/ResolvablePtr.h>
+#include <zypp/solver/detail/StoreWorldPtr.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef std::list<ResolvablePtr> ResolvableList;
+typedef std::list<constResolvablePtr> CResolvableList;
+
+typedef bool (*ResolvableFn) (ResolvablePtr r, void *data);
+typedef bool (*CResolvableFn) (constResolvablePtr r, void *data);
+typedef bool (*ResolvablePairFn) (constResolvablePtr r1, constResolvablePtr r2, void *data);
+typedef bool (*ResolvableAndSpecFn) (constResolvablePtr r, constSpecPtr spec, void *data);
+typedef bool (*ResolvableAndDepFn) (constResolvablePtr r, constDependencyPtr dep, void *data);
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Resolvable
+/**
+ *
+ **/
+
+class Resolvable : public Spec {
+ REP_BODY(Resolvable);
+
+ private:
+ constChannelPtr _channel;
+
+ bool _installed;
+ bool _local;
+ bool _locked;
+
+ size_t _file_size;
+ size_t _installed_size;
+
+ CDependencyList _requires;
+ CDependencyList _provides;
+ CDependencyList _conflicts;
+ CDependencyList _obsoletes;
+
+ CDependencyList _suggests;
+ CDependencyList _recommends;
+ CDependencyList _freshens;
+
+ protected:
+
+ // ---------------------------------- accessors
+
+ void setLocal (bool local) { _local = local; }
+
+ public:
+
+ Resolvable(const Kind & kind, const std::string & name, int epoch = -1, const std::string & version = "", const std::string & release = "", const Arch * arch = Arch::Unknown);
+
+ Resolvable(const XmlNodePtr node);
+
+ virtual ~Resolvable();
+
+ // ---------------------------------- I/O
+
+ const XmlNodePtr asXmlNode (void) const;
+
+ static std::string toString ( const Resolvable & res, bool full = false );
+
+ static std::string toString ( const CResolvableList & reslist, bool full = false );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream & str, const Resolvable & str);
+
+ std::string asString ( bool full = false ) const;
+
+ // ---------------------------------- accessors
+
+ constChannelPtr channel() const { return _channel; }
+ void setChannel (constChannelPtr channel) { _channel = channel; }
+
+ bool locked () const { return _locked; }
+ void setLocked (bool locked) { _locked = locked; }
+
+ bool isInstalled() const; // does *not* reflect _installed
+ void setInstalled (bool installed) { _installed = installed; }
+
+ bool local() const { return _local; }
+
+ size_t fileSize() const { return _file_size; }
+ void setFileSize (size_t file_size) { _file_size = file_size; }
+
+ size_t installedSize() const { return _installed_size; }
+ void setInstalledSize (size_t installed_size) { _installed_size = installed_size; }
+
+ const CDependencyList & requires() const { return _requires; }
+ void setRequires (const CDependencyList & requires) { _requires = requires; }
+
+ const CDependencyList & provides() const { return _provides; }
+ void setProvides (const CDependencyList & provides) { _provides = provides; }
+
+ const CDependencyList & conflicts() const { return _conflicts; }
+ void setConflicts (const CDependencyList & conflicts) { _conflicts = conflicts; }
+
+ const CDependencyList & obsoletes() const { return _obsoletes; }
+ void setObsoletes (const CDependencyList & obsoletes) { _obsoletes = obsoletes; }
+
+ const CDependencyList & suggests() const { return _suggests; }
+ void setSuggests (const CDependencyList & suggests) { _suggests = suggests; }
+
+ const CDependencyList & recommends() const { return _recommends; }
+ void setRecommends (const CDependencyList & recommends) { _recommends = recommends; }
+
+ const CDependencyList & freshens() const { return _freshens; }
+ void setFreshens (const CDependencyList & freshens) { _freshens = freshens; }
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Resolvable_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolvableAndDependency.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/ResolvableAndDependency.h>
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(ResolvableAndDependency);
+
+//---------------------------------------------------------------------------
+
+ResolvableAndDependency::ResolvableAndDependency (constResolvablePtr resolvable, constDependencyPtr dependency)
+ : _resolvable(resolvable)
+ , _dependency(dependency)
+{
+}
+
+//---------------------------------------------------------------------------
+
+string
+ResolvableAndDependency::asString (bool full) const
+{
+ return toString (*this, full);
+}
+
+
+string
+ResolvableAndDependency::toString ( const ResolvableAndDependency & r_and_d, bool full )
+{
+ string res ("{");
+ res += r_and_d._resolvable->asString(full);
+ res += ", ";
+ res += r_and_d._dependency->asString();
+ res += "}";
+ return res;
+}
+
+
+ostream &
+ResolvableAndDependency::dumpOn (ostream & str) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream &
+operator<< (ostream & os, const ResolvableAndDependency & r_and_d)
+{
+ return os << r_and_d.asString();
+}
+
+//---------------------------------------------------------------------------
+
+/* This function also checks channels in addition to just dep relations */
+/* FIXME: rc_resolvable_dep_verify_relation already checks the channel */
+
+bool
+ResolvableAndDependency::verifyRelation (constDependencyPtr dep) const
+{
+#if PHI
+ // don't check the channel, thereby honoring conflicts from installed resolvables to to-be-installed resolvables
+ return dep->verifyRelation (_dependency);
+#else
+ if (!dep->verifyRelation (_dependency)) {
+ return false;
+ }
+ if (getenv ("SPEW_DEP")) fprintf (stderr, "ResolvableAndDependency::verifyRelation _resolvable->channel() %s, dep->channel() %s\n", _resolvable->channel()->asString().c_str(), dep->channel()->asString().c_str());
+ return _resolvable->channel()->equals (dep->channel());
+#endif
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolvableAndDependency.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolvableAndDependency_h
+#define _ResolvableAndDependency_h
+
+#include <iosfwd>
+#include <string>
+#include <list>
+#include <map>
+
+#include <zypp/solver/detail/ResolvableAndDependencyPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef std::multimap<const std::string, constResolvablePtr> ResolvableTable;
+typedef std::multimap<const std::string, constResolvableAndDependencyPtr> ResolvableAndDependencyTable;
+
+#if PHI
+typedef std::list <constResolvableAndDependencyPtr> CResolvableAndDependencyList;
+#endif
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolvableAndDependency
+
+class ResolvableAndDependency: public CountedRep {
+ REP_BODY(ResolvableAndDependency);
+
+ private:
+ constResolvablePtr _resolvable;
+ constDependencyPtr _dependency;
+
+ public:
+
+ ResolvableAndDependency (constResolvablePtr resolvable, constDependencyPtr dependency);
+ ~ResolvableAndDependency () {}
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolvableAndDependency & r_and_d, bool full = false);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const ResolvableAndDependency & r_and_d);
+
+ std::string asString (bool full = false) const;
+
+ // ---------------------------------- accessors
+
+ constResolvablePtr resolvable() const { return _resolvable; }
+ constDependencyPtr dependency() const { return _dependency; }
+
+ // ---------------------------------- methods
+
+ bool verifyRelation (constDependencyPtr dep) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolvableAndDependency_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolvableAndDependencyPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolvableAndDependencyPtr_h
+#define _ResolvableAndDependencyPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/WorldPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolvableAndDependencyPtr
+// CLASS NAME : constResolvableAndDependencyPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(ResolvableAndDependency);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolvableAndDependencyPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolvablePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolvablePtr_h
+#define _ResolvablePtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/SpecPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+///////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolvablePtr
+// CLASS NAME : constResolvablePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(Resolvable,Spec);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolvablePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Resolver.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/Resolver.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverQueue.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/StoreWorld.h>
+#include <zypp/solver/detail/MultiWorld.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Resolver);
+
+//---------------------------------------------------------------------------
+
+string
+Resolver::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Resolver::toString ( const Resolver & resolver )
+{
+ return "<resolver/>";
+}
+
+
+ostream &
+Resolver::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Resolver & resolver)
+{
+ return os << resolver.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Resolver::Resolver (WorldPtr world)
+ : _current_channel (NULL)
+ , _world (world)
+ , _timeout_seconds (0)
+ , _verifying (false)
+ , _valid_solution_count (0)
+ , _best_context (NULL)
+ , _timed_out (false)
+{
+}
+
+
+Resolver::~Resolver()
+{
+}
+
+//---------------------------------------------------------------------------
+
+WorldPtr
+Resolver::world (void) const
+{
+ if (_world == NULL)
+ return World::globalWorld();
+
+ return _world;
+}
+
+//---------------------------------------------------------------------------
+
+void
+Resolver::addSubscribedChannel (constChannelPtr channel)
+{
+ fprintf (stderr, "Resolver::addSubscribedChannel() not implemented\n");
+}
+
+void
+Resolver::addResolvableToInstall (constResolvablePtr resolvable)
+{
+ _resolvables_to_install.push_front (resolvable);
+}
+
+void
+Resolver::addResolvablesToInstallFromList (CResolvableList & rl)
+{
+ for (CResolvableList::const_iterator iter = rl.begin(); iter != rl.end(); iter++) {
+ addResolvableToInstall (*iter);
+ }
+}
+
+void
+Resolver::addResolvableToRemove (constResolvablePtr resolvable)
+{
+ _resolvables_to_remove.push_front (resolvable);
+}
+
+void
+Resolver::addResolvablesToRemoveFromList (CResolvableList & rl)
+{
+ for (CResolvableList::const_iterator iter = rl.begin(); iter != rl.end(); iter++) {
+ addResolvableToRemove (*iter);
+ }
+}
+
+void
+Resolver::addResolvableToVerify (constResolvablePtr resolvable)
+{
+ _resolvables_to_verify.push_front (resolvable);
+ _resolvables_to_verify.sort (); //(GCompareFunc) rc_resolvable_compare_name);
+}
+
+void
+Resolver::addExtraDependency (constDependencyPtr dependency)
+{
+ _extra_deps.push_front (dependency);
+}
+
+void
+Resolver::addExtraConflict (constDependencyPtr dependency)
+{
+ _extra_conflicts.push_front (dependency);
+}
+
+
+//---------------------------------------------------------------------------
+
+static bool
+verify_system_cb (constResolvablePtr resolvable, void *data)
+{
+ Resolver *resolver = (Resolver *)data;
+
+ resolver->addResolvableToVerify (resolvable);
+
+ return true;
+}
+
+
+void
+Resolver::verifySystem (void)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "Resolver::verifySystem()\n");
+ world()->foreachResolvable (new Channel(CHANNEL_TYPE_SYSTEM), verify_system_cb, this);
+
+ _verifying = true;
+
+#if 0 // commented out in libredcarpet also
+ /*
+ Walk across the (sorted-by-name) list of installed packages and look for
+ packages with the same name. If they exist, construct a branch item
+ containing multiple group items. Each group item corresponds to removing
+ all but one of the duplicates.
+ */
+
+ for (CResolvableList::const_iterator i0 = _resolvables_to_verify.begin(); i0 != _resolvables_to_verify.end();) {
+ CResolvableList::const_iterator i1 = i0;
+ i1++;
+ CResolvableList::const_iterator i2 = i1;
+ for (; i1 != _resolvables_to_verify.end()&& ! (*i0)->compareName (*i1); i1++) {
+ //empty
+ }
+
+ if (i1 != i2) {
+ QueueItemBranchPtr branch_item;
+
+ branch_item = new QueueItemBranch(world());
+
+ for (CResolvableList::const_iterator i = i0; i != i1; i++) {
+
+ QueueItemGroupPtr grp_item = new QueueItemGroup(world());
+
+ for (CResolvableList::const_iterator j = i0; j != i1; j++) {
+ constPackagePtr dup_pkg = *j;
+ QueueItemUninstallPtr uninstall_item;
+
+ if (i != j) {
+ uninstall_item = new QueueItemUninstall (world(), dup_pkg, "duplicate install");
+ grp_item->addItem (uninstall_item);
+ }
+
+ }
+
+ branch_item->adddIitem (grp_item);
+ }
+
+ _initial_items.push_back (branch_item);
+ }
+
+ i0 = i1;
+ }
+#endif
+
+ /* OK, that was fun. Now just resolve the dependencies. */
+ resolveDependencies ();
+
+ return;
+}
+
+
+//---------------------------------------------------------------------------
+
+
+void
+Resolver::resolveDependencies (void)
+{
+
+ time_t t_start, t_now;
+ bool extremely_noisy = getenv ("RC_SPEW") != NULL;
+ bool have_local_resolvables = false;
+
+ if (extremely_noisy) fprintf (stderr, "Resolver::resolveDependencies()\n");
+
+ /* Walk through are list of to-be-installed packages and see if any of them are local. */
+
+ for (CResolvableList::const_iterator iter = _resolvables_to_install.begin(); iter != _resolvables_to_install.end(); iter++) {
+ if ((*iter)->local()) {
+ have_local_resolvables = true;
+ break;
+ }
+ }
+
+ WorldPtr the_world = world();
+ StoreWorldPtr local_world = NULL;
+ MultiWorldPtr local_multiworld = NULL;
+
+ ChannelPtr local_channel = NULL;
+
+ if (have_local_resolvables) {
+ local_multiworld = new MultiWorld();
+ local_world = new StoreWorld();
+
+ local_channel = new Channel ("", "Local Resolvables", "@local", "");
+
+ local_world->addChannel (local_channel);
+
+ local_multiworld->addSubworld (local_world);
+ local_multiworld->addSubworld (the_world);
+
+ the_world = local_multiworld;
+ }
+
+ // create initial_queue
+
+ ResolverQueuePtr initial_queue = new ResolverQueue();
+
+ /* Stick the current/subscribed channel and world info into the context */
+
+ initial_queue->context()->setWorld(the_world);
+
+ initial_queue->context()->setCurrentChannel (_current_channel);
+
+ /* If this is a verify, we do a "soft resolution" */
+
+ initial_queue->context()->setVerifying (_verifying);
+
+ /* Add extra items. */
+
+ for (QueueItemList::const_iterator iter = _initial_items.begin(); iter != _initial_items.end(); iter++) {
+ initial_queue->addItem (*iter);
+ }
+ _initial_items.clear();
+
+ for (CResolvableList::const_iterator iter = _resolvables_to_install.begin(); iter != _resolvables_to_install.end(); iter++) {
+ constResolvablePtr r = *iter;
+
+ /* Add local packages to our dummy channel. */
+ if (r->local()) {
+ assert (local_channel != NULL);
+ ResolvablePtr r1 = ResolvablePtr::cast_away_const (r);
+ r1->setChannel (local_channel);
+ local_world->addResolvable (r);
+ }
+
+ initial_queue->addResolvableToInstall (r);
+ }
+
+ for (CResolvableList::const_iterator iter = _resolvables_to_remove.begin(); iter != _resolvables_to_remove.end(); iter++) {
+ initial_queue->addResolvableToRemove (*iter, true /* remove-only mode */);
+ }
+
+ for (CResolvableList::const_iterator iter = _resolvables_to_verify.begin(); iter != _resolvables_to_verify.end(); iter++) {
+ initial_queue->addResolvableToVerify (*iter);
+ }
+
+ for (CDependencyList::const_iterator iter = _extra_deps.begin(); iter != _extra_deps.end(); iter++) {
+ initial_queue->addExtraDependency (*iter);
+ }
+
+ for (CDependencyList::const_iterator iter = _extra_conflicts.begin(); iter != _extra_conflicts.end(); iter++) {
+ initial_queue->addExtraConflict (*iter);
+ }
+
+ if (extremely_noisy) fprintf (stderr, "Initial Queue: [%s]\n", initial_queue->asString().c_str());
+
+ _pending_queues.push_front (initial_queue);
+
+ time (&t_start);
+
+ while (!_pending_queues.empty()) {
+
+ if (extremely_noisy) {
+ printf ("Pend %ld / Cmpl %ld / Prun %ld / Defr %ld / Invl %ld\n\n", (long) _pending_queues.size(), (long) _complete_queues.size(), (long) _pruned_queues.size(), (long) _deferred_queues.size(), (long) _invalid_queues.size());
+ }
+
+ if (_timeout_seconds > 0) {
+ time (&t_now);
+ if (difftime (t_now, t_start) > _timeout_seconds) {
+ _timed_out = true;
+ break;
+ }
+ }
+
+ ResolverQueuePtr queue = _pending_queues.front();
+ _pending_queues.pop_front();
+ ResolverContextPtr context = queue->context();
+
+ queue->process();
+
+ if (queue->isInvalid ()) {
+ if (extremely_noisy) printf ("Invalid Queue\n");
+ _invalid_queues.push_front (queue);
+
+ } else if (queue->isEmpty ()) {
+ if (extremely_noisy) printf ("Empty Queue\n");
+
+ _complete_queues.push_front (queue);
+
+ ++_valid_solution_count;
+
+ /* Compare this solution to our previous favorite. In the case of a tie,
+ the first solution wins --- yeah, I know this is lame, but it shouldn't
+ be an issue too much of the time. */
+
+ if (_best_context == NULL
+ || _best_context->compare (context) < 0) {
+
+ _best_context = context;
+ }
+
+ } else if (_best_context != NULL
+ && _best_context->partialCompare (context) > 0) {
+
+ /* If we aren't currently as good as our previous best complete solution,
+ this solution gets pruned. */
+
+ if (extremely_noisy) printf ("PRUNED!\n");
+
+ _pruned_queues.push_front(queue);
+
+ } else {
+
+ /* If our queue is isn't empty and isn't invalid, that can only mean
+ one thing: we are down to nothing but branches. */
+
+ queue->splitFirstBranch (_pending_queues, _deferred_queues);
+ }
+
+ /* If we have run out of pending queues w/o finding any solutions,
+ and if we have deferred queues, make the first deferred queue
+ pending. */
+
+ if (_pending_queues.empty()
+ && _complete_queues.empty()
+ && !_deferred_queues.empty()) {
+ _pending_queues.push_front (_deferred_queues.front());
+ }
+ }
+
+ if (extremely_noisy) {
+ printf ("Pend %ld / Cmpl %ld / Prun %ld / Defr %ld / Invl %ld\n--------\n", (long) _pending_queues.size(), (long) _complete_queues.size(), (long) _pruned_queues.size(), (long) _deferred_queues.size(), (long) _invalid_queues.size());
+ }
+
+ return;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Resolver.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Resolver_h
+#define _Resolver_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/ResolverPtr.h>
+#include <zypp/solver/detail/ResolverQueue.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Resolver
+
+class Resolver : public CountedRep {
+ REP_BODY(Resolver);
+
+ private:
+ constChannelPtr _current_channel;
+
+ WorldPtr _world;
+
+ int _timeout_seconds;
+ bool _verifying;
+
+ QueueItemList _initial_items;
+ CResolvableList _resolvables_to_install;
+ CResolvableList _resolvables_to_remove;
+ CResolvableList _resolvables_to_verify;
+
+ CDependencyList _extra_deps;
+ CDependencyList _extra_conflicts;
+
+ ResolverQueueList _pending_queues;
+ ResolverQueueList _pruned_queues;
+ ResolverQueueList _complete_queues;
+ ResolverQueueList _deferred_queues;
+ ResolverQueueList _invalid_queues;
+
+ int _valid_solution_count;
+
+ ResolverContextPtr _best_context;
+ bool _timed_out;
+
+ public:
+
+ Resolver (WorldPtr world = NULL);
+ virtual ~Resolver();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const Resolver & resolver);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const Resolver & resolver);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ QueueItemList initialItems () const { return _initial_items; }
+
+ ResolverQueueList pendingQueues () const { return _pending_queues; }
+ ResolverQueueList prunedQueues () const { return _pruned_queues; }
+ ResolverQueueList completeQueues () const { return _complete_queues; }
+ ResolverQueueList deferredQueues () const { return _deferred_queues; }
+ ResolverQueueList invalidQueues () const { return _invalid_queues; }
+
+ ResolverContextPtr bestContext (void) const { return _best_context; }
+
+ // ---------------------------------- methods
+
+ void setTimeout (int seconds) { _timeout_seconds = seconds; }
+
+ WorldPtr world (void) const; // returns global world if _world == NULL
+ void setWorld (WorldPtr world) { _world = world; }
+
+ void setCurrentChannel (constChannelPtr channel) { _current_channel = channel; }
+ void addSubscribedChannel (constChannelPtr channel);
+
+ void addResolvableToInstall (constResolvablePtr resolvable);
+ void addResolvablesToInstallFromList (CResolvableList & rl);
+
+ void addResolvableToRemove (constResolvablePtr resolvable);
+ void addResolvablesToRemoveFromList (CResolvableList & rl);
+
+ void addResolvableToVerify (constResolvablePtr resolvable);
+
+ void addExtraDependency (constDependencyPtr dependency);
+ void addExtraConflict (constDependencyPtr dependency);
+
+ void verifySystem (void);
+ void resolveDependencies (void);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Resolver_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverContext.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+
+#include <values.h>
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/ResolverInfoMisc.h>
+#include <zypp/solver/detail/World.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(ResolverContext);
+
+//---------------------------------------------------------------------------
+
+string
+ResolverContext::toString (const ResolvableStatus & status)
+{
+ string ret;
+ switch (status) {
+ case RESOLVABLE_STATUS_UNKNOWN: ret = "unknown"; break;
+ case RESOLVABLE_STATUS_INSTALLED: ret = "installed"; break;
+ case RESOLVABLE_STATUS_UNINSTALLED: ret = "uninstalled"; break;
+ case RESOLVABLE_STATUS_TO_BE_INSTALLED: ret = "to be installed"; break;
+ case RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT: ret = "to be installed (soft)"; break;
+ case RESOLVABLE_STATUS_TO_BE_UNINSTALLED: ret = "to be uninstalled"; break;
+ case RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE: ret = "to be uninstalled due to obsolete"; break;
+ case RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK: ret = "to be uninstalled due to unlink"; break;
+ default: ret = "Huh ?"; break;
+ }
+
+ return ret;
+}
+
+//---------------------------------------------------------------------------
+
+string
+ResolverContext::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverContext::toString ( const ResolverContext & context )
+{
+ string ret;
+ if (context._parent != NULL) {
+ ret += "Parent: [";
+ ret += stringutil::form("<@%p> ", (const void *)(context._parent));
+ ret += context._parent->asString();
+ ret += "],\n\t";
+ }
+ ret += stringutil::form ("Download Size: %lld", context._download_size);
+ ret += stringutil::form (", Install Size: %lld", context._install_size);
+ ret += stringutil::form (", Total Priority: %d", context._total_priority);
+ ret += stringutil::form (", Min Priority: %d", context._min_priority);
+ ret += stringutil::form (", Max Priority: %d", context._max_priority);
+ ret += stringutil::form (", Other Penalties: %d", context._other_penalties);
+ if (context._current_channel != 0) {
+ ret += ", Current Channel";
+ ret += context._current_channel->asString();
+ }
+ if (context._verifying) ret += ", Verifying";
+ if (context._invalid) ret += ", Invalid";
+
+ return ret;
+}
+
+
+ostream &
+ResolverContext::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverContext & ResolverContext)
+{
+ return os << ResolverContext.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverContext::ResolverContext (ResolverContextPtr parent)
+ : _parent (parent)
+ , _refs (0)
+ , _world (NULL)
+ , _last_checked_resolvable (NULL)
+ , _last_checked_status (RESOLVABLE_STATUS_UNKNOWN)
+ , _download_size (0)
+ , _install_size (0)
+ , _total_priority (0)
+ , _min_priority (0)
+ , _max_priority (0)
+ , _other_penalties (0)
+ , _current_channel (NULL)
+ , _verifying (false)
+ , _invalid (false)
+{
+ if (parent != NULL) {
+ _world = parent->_world;
+ _download_size = parent->_download_size;
+ _install_size = parent->_install_size;
+ _total_priority = parent->_total_priority;
+ _max_priority = parent->_max_priority;
+ _min_priority = parent->_min_priority;
+ _other_penalties = parent->_other_penalties;
+ _verifying = parent->_verifying;
+ } else {
+ _min_priority = MAXINT;
+ }
+}
+
+
+ResolverContext::~ResolverContext()
+{
+}
+
+//---------------------------------------------------------------------------
+
+WorldPtr
+ResolverContext::world (void) const
+{
+ if (_world == NULL) {
+ return World::globalWorld();
+ }
+ return _world;
+}
+
+
+void
+ResolverContext::setStatus (constResolvablePtr resolvable, ResolvableStatus status)
+{
+ if (_invalid) return;
+
+ ResolvableStatus old_status = getStatus (resolvable);
+
+ if (status != old_status) {
+ _status[resolvable] = status;
+ }
+
+ // Update our cache if we changed the status of the last checked resolvable.
+
+ if (_last_checked_resolvable == resolvable)
+ _last_checked_status = status;
+}
+
+
+ResolvableStatus
+ResolverContext::getStatus (constResolvablePtr resolvable)
+{
+ ResolvableStatus status = RESOLVABLE_STATUS_UNKNOWN;
+
+ // We often end up getting the status of the same resolvable several times
+ // in a row. By caching the status of the last checked resolvable, we can
+ // in practice eliminate the need for any hash table lookups in about
+ // 50% of our calls to get_status.
+
+ if (resolvable == _last_checked_resolvable)
+ {
+ return _last_checked_status;
+ }
+
+ ResolverContextPtr context = this;
+
+ while (status == RESOLVABLE_STATUS_UNKNOWN
+ && context != NULL) {
+ StatusTable::const_iterator pos = context->_status.find (resolvable);
+ if (pos != context->_status.end()) {
+ status = (*pos).second;
+ }
+ context = context->_parent;
+ }
+
+ if (status == RESOLVABLE_STATUS_UNKNOWN) {
+ status = resolvable->isInstalled() ? RESOLVABLE_STATUS_INSTALLED : RESOLVABLE_STATUS_UNINSTALLED;
+ }
+
+ _last_checked_resolvable = resolvable;
+ _last_checked_status = status;
+
+ return status;
+}
+
+
+bool
+ResolverContext::installResolvable (constResolvablePtr resolvable, bool is_soft, int other_penalty)
+{
+ ResolvableStatus status, new_status;
+ int priority;
+ std::string msg;
+
+ status = getStatus (resolvable);
+ if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext[%p]::installResolvable(<%s>%s)\n", this, ResolverContext::toString(status).c_str(), resolvable->asString().c_str());
+
+ if (resolvable_status_is_to_be_uninstalled (status)
+ && status != RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK) {
+ msg = string ("Can't install ") + ((constSpecPtr)resolvable)->asString() + " since it is already marked as needing to be uninstalled";
+
+ addErrorString (resolvable, msg);
+ return false;
+ }
+
+ if (resolvable_status_is_to_be_installed (status)) {
+ return true;
+ }
+
+ if (isParallelInstall (resolvable)) {
+ msg = string ("Can't install ") + ((constSpecPtr)resolvable)->asString() + ", since a resolvable of the same name is already marked as needing to be installed";
+ addErrorString (resolvable, msg);
+ return false;
+ }
+
+ if (is_soft)
+ new_status = RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT;
+ else if (status == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK)
+ new_status = RESOLVABLE_STATUS_INSTALLED;
+ else
+ new_status = RESOLVABLE_STATUS_TO_BE_INSTALLED;
+
+ setStatus (resolvable, new_status);
+
+ if (status == RESOLVABLE_STATUS_UNINSTALLED) {
+ /* FIXME: Incomplete */
+ _download_size += resolvable->fileSize();
+ _install_size += resolvable->installedSize();
+
+ if (resolvable->local())
+ priority = 0;
+ else {
+ priority = getChannelPriority (resolvable->channel ());
+ }
+
+ if (priority < _min_priority) _min_priority = priority;
+ if (priority > _max_priority) _max_priority = priority;
+
+ _other_penalties += other_penalty;
+
+ }
+
+ return true;
+}
+
+
+bool
+ResolverContext::upgradeResolvable (constResolvablePtr resolvable, constResolvablePtr old_resolvable, bool is_soft, int other_penalty)
+{
+ ResolvableStatus status;
+ int priority;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext[%p]::upgradeResolvable(%s upgrades %s)\n", this, resolvable->asString().c_str(), old_resolvable->asString().c_str());
+
+ status = getStatus (resolvable);
+
+ if (resolvable_status_is_to_be_uninstalled (status))
+ return false;
+
+ if (resolvable_status_is_to_be_installed (status))
+ return true;
+
+ setStatus (resolvable, is_soft ? RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT : RESOLVABLE_STATUS_TO_BE_INSTALLED);
+
+ if (status == RESOLVABLE_STATUS_UNINSTALLED) {
+
+ _download_size += resolvable->fileSize();
+
+ // FIXME: Incomplete
+ // We should change installed_size to reflect the difference in
+ // installed size between the old and new versions.
+
+ if (resolvable->local())
+ priority = 0;
+ else {
+ priority = getChannelPriority (resolvable->channel());
+ }
+
+ if (priority < _min_priority) _min_priority = priority;
+ if (priority > _max_priority) _max_priority = priority;
+
+ _other_penalties += other_penalty;
+ }
+
+ return true;
+}
+
+
+bool
+ResolverContext::uninstallResolvable (constResolvablePtr resolvable, bool part_of_upgrade, bool due_to_obsolete, bool due_to_unlink)
+{
+ ResolvableStatus status, new_status;
+ std::string msg;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext[%p]::uninstallResolvable(%s %s %s %s)\n", this, resolvable->asString().c_str(), part_of_upgrade ? "part_of_upgrade" : "", due_to_obsolete ? "due_to_obsolete": "", due_to_unlink ? "due_to_unlink" : "");
+
+ assert (! (due_to_obsolete && due_to_unlink));
+
+ status = getStatus (resolvable);
+
+ if (status == RESOLVABLE_STATUS_TO_BE_INSTALLED) {
+ msg = ((constSpecPtr)resolvable)->asString() + " is scheduled to be installed, but this is not possible because of dependency problems.";
+ addErrorString (resolvable, msg);
+ return false;
+ }
+
+ if (resolvable_status_is_to_be_uninstalled (status)
+ && status != RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK) {
+ return true;
+ }
+
+ if (status == RESOLVABLE_STATUS_UNINSTALLED
+ || status == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK) {
+ msg = string ("Marking resolvable ") + ((constSpecPtr)resolvable)->asString() + " as uninstallable";
+ addInfoString (resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+ }
+
+
+ if (due_to_obsolete) new_status = RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE;
+ else if (due_to_unlink) new_status = RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK;
+ else new_status = RESOLVABLE_STATUS_TO_BE_UNINSTALLED;
+
+ setStatus (resolvable, new_status);
+
+ if (status == RESOLVABLE_STATUS_INSTALLED) {
+ /* FIXME: incomplete */
+ }
+
+ return true;
+}
+
+
+bool
+ResolverContext::resolvableIsPresent (constResolvablePtr resolvable)
+{
+ ResolvableStatus status;
+
+ status = getStatus (resolvable);
+//fprintf (stderr, "ResolverContext::resolvableIsPresent(<%s>%s)\n", ResolverContext::toString(status).c_str(), resolvable->asString().c_str());
+ if (status == RESOLVABLE_STATUS_UNKNOWN)
+ return false;
+
+ return (status == RESOLVABLE_STATUS_INSTALLED) || resolvable_status_is_to_be_installed (status);
+}
+
+
+bool
+ResolverContext::resolvableIsAbsent (constResolvablePtr resolvable)
+{
+ ResolvableStatus status;
+
+ status = getStatus (resolvable);
+ if (status == RESOLVABLE_STATUS_UNKNOWN)
+ return false;
+
+ return status == RESOLVABLE_STATUS_UNINSTALLED || resolvable_status_is_to_be_uninstalled (status);
+}
+
+
+//---------------------------------------------------------------------------
+// marked
+
+void
+ResolverContext::foreachMarkedResolvable (MarkedResolvableFn fn, void *data) const
+{
+ constResolverContextPtr context = this;
+ while (context) {
+ for (StatusTable::const_iterator iter = context->_status.begin(); iter != context->_status.end(); iter++) {
+ fn (iter->first, iter->second, data);
+ }
+ context = context->_parent;
+ }
+}
+
+
+//---------------------------------------------------------------------------
+// collect
+
+static void
+marked_resolvable_collector (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ rl->push_back (resolvable);
+}
+
+
+CResolvableList
+ResolverContext::getMarkedResolvables (void) const
+{
+ CResolvableList rl;
+
+ foreachMarkedResolvable (marked_resolvable_collector, &rl);
+
+ return rl;
+}
+
+//---------------------------------------------------------------------------
+// install
+
+typedef struct {
+ WorldPtr world;
+ MarkedResolvableFn fn;
+ CResolvableList *rl;
+ int count;
+} InstallInfo;
+
+static void
+install_pkg_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ InstallInfo *info = (InstallInfo *)data;
+ if (resolvable_status_is_to_be_installed (status)
+ && ! resolvable->isInstalled ()
+ && info->world->findInstalledResolvable (resolvable) == NULL) {
+
+ if (info->fn) info->fn (resolvable, status, info->rl);
+ ++info->count;
+ }
+}
+
+
+int
+ResolverContext::foreachInstall (MarkedResolvableFn fn, void *data) const
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ InstallInfo info = { world(), fn, rl, 0 };
+
+ foreachMarkedResolvable (install_pkg_cb, (void *)&info);
+
+ return info.count;
+}
+
+
+static void
+context_resolvable_collector (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ if (resolvable_status_is_to_be_installed (status)
+ || (resolvable_status_is_to_be_uninstalled (status) && resolvable->isInstalled ())) {
+ rl->push_front (resolvable);
+ }
+}
+
+
+CResolvableList
+ResolverContext::getInstalls (void) const
+{
+ CResolvableList rl;
+
+ foreachInstall (context_resolvable_collector, (void *)&rl);
+
+ return rl;
+}
+
+
+//---------------------------------------------------------------------------
+// upgrade
+
+typedef struct {
+ WorldPtr world;
+ MarkedResolvablePairFn fn;
+ void *data;
+ ResolverContextPtr context;
+ int count;
+} UpgradeInfo;
+
+static void
+upgrade_pkg_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ UpgradeInfo *info = (UpgradeInfo *)data;
+
+ constResolvablePtr to_be_upgraded;
+ ResolvableStatus tbu_status;
+
+ if (resolvable_status_is_to_be_installed (status)
+ && ! resolvable->isInstalled ()) {
+
+ to_be_upgraded = info->world->findInstalledResolvable (resolvable);
+ if (to_be_upgraded) {
+ tbu_status = info->context->getStatus (to_be_upgraded);
+ if (info->fn) {
+ info->fn (resolvable, status, to_be_upgraded, tbu_status, info->data);
+ }
+ ++info->count;
+ }
+ }
+}
+
+
+int
+ResolverContext::foreachUpgrade (MarkedResolvablePairFn fn, void *data)
+{
+ UpgradeInfo info = { world(), fn, data, this, 0 };
+
+ foreachMarkedResolvable (upgrade_pkg_cb, (void *)&info);
+
+ return info.count;
+}
+
+
+static void
+pair_resolvable_collector (constResolvablePtr resolvable, ResolvableStatus status, constResolvablePtr old, ResolvableStatus old_status, void *data)
+{
+ CResolvableList *rl = (CResolvableList *)data;
+ rl->push_back (resolvable);
+}
+
+
+CResolvableList
+ResolverContext::getUpgrades (void)
+{
+ CResolvableList rl;
+
+ foreachUpgrade (pair_resolvable_collector, (void *)&rl);
+
+ return rl;
+}
+
+
+//---------------------------------------------------------------------------
+// uninstall
+
+typedef std::map<std::string,constResolvablePtr> UpgradeTable;
+
+typedef struct {
+ MarkedResolvableFn fn;
+ CResolvableList *rl;
+ UpgradeTable upgrade_hash;
+ int count;
+} UninstallInfo;
+
+static void
+uninstall_pkg_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ UninstallInfo *info = (UninstallInfo *)data;
+
+ UpgradeTable::const_iterator pos = info->upgrade_hash.find(resolvable->name());
+
+ if (resolvable_status_is_to_be_uninstalled (status)
+ && pos == info->upgrade_hash.end()) {
+ if (info->fn)
+ info->fn (resolvable, status, info->rl);
+ ++info->count;
+ }
+}
+
+static void
+build_upgrade_hash_cb (constResolvablePtr resolvable_add, ResolvableStatus status_add, constResolvablePtr resolvable_del, ResolvableStatus status_del, void *data)
+{
+ UpgradeTable *upgrade_hash = (UpgradeTable *)data;
+ (*upgrade_hash)[resolvable_del->name()] = resolvable_del;
+}
+
+
+int
+ResolverContext::foreachUninstall (MarkedResolvableFn fn, void *data)
+{
+ UninstallInfo info; // inits upgrade_hash
+
+ info.fn = fn;
+ info.rl = (CResolvableList *)data;
+ info.count = 0;
+
+ foreachUpgrade (build_upgrade_hash_cb, (void *)&(info.upgrade_hash));
+ foreachMarkedResolvable (uninstall_pkg_cb, (void *)&info);
+
+ return info.count;
+}
+
+
+CResolvableList
+ResolverContext::getUninstalls (void)
+{
+ CResolvableList rl;
+
+ foreachUninstall (context_resolvable_collector, (void *)&rl);
+
+ return rl;
+}
+
+
+//---------------------------------------------------------------------------
+
+static void
+install_count_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ int *count = (int *)data;
+ if (! resolvable->isInstalled ()) {
+ ++*count;
+ }
+}
+
+int
+ResolverContext::installCount (void) const
+{
+ int count = 0;
+
+ foreachInstall (install_count_cb, (void *)&count);
+
+ return count;
+}
+
+
+static void
+uninstall_count_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ int *count = (int *)data;
+ if (resolvable->isInstalled ()) {
+ ++*count;
+ }
+}
+
+
+int
+ResolverContext::uninstallCount (void)
+{
+ int count = 0;
+
+ foreachUninstall (uninstall_count_cb, (void *)&count);
+
+ return count;
+}
+
+
+int
+ResolverContext::upgradeCount (void)
+{
+ return foreachUpgrade ((MarkedResolvablePairFn)NULL, (void *)NULL);
+}
+
+
+//---------------------------------------------------------------------------
+// info
+
+void
+ResolverContext::addInfo (ResolverInfoPtr info)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext[%p]::addInfo(%s)\n", this, info->asString().c_str());
+ _log.push_back (info);
+
+ // _propagated_importance = false;
+
+ if (info->error ()) {
+
+ if (! _invalid) {
+ ResolverInfoPtr info = new ResolverInfoMisc (NULL, RESOLVER_INFO_PRIORITY_VERBOSE, "Marking this resolution attempt as invalid.");
+ info->flagAsError ();
+ _log.push_back (info);
+ }
+
+ _invalid = true;
+ }
+}
+
+
+void
+ResolverContext::addInfoString (constResolvablePtr resolvable, int priority, string msg)
+{
+// if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext::addInfoString(%s) %s\n", resolvable ? resolvable->asString().c_str() : "", msg.c_str());
+ ResolverInfoPtr info = new ResolverInfoMisc (resolvable, priority, msg);
+ addInfo (info);
+}
+
+
+void
+ResolverContext::addErrorString (constResolvablePtr resolvable, string msg)
+{
+ ResolverInfoPtr info = new ResolverInfoMisc (resolvable, RESOLVER_INFO_PRIORITY_VERBOSE, msg);
+ info->flagAsError ();
+ addInfo (info);
+}
+
+
+//---------------------------------------------------------------------------
+// foreach info
+
+// We call a resolvable mentioned by an error info an "error-resolvable".
+// We call a resolvable mentioned by an important info an "important-resolvable".
+//
+// The rules:
+// (1) An info item that mentions an error-resolvable is important.
+// (2) An info item is about an important-resolvable is important.
+
+static void
+mark_important_info (InfoList & il)
+{
+ CResolvableList error_list; // FIXME, a map is faster
+
+ bool did_something;
+ int pass_num = 1;
+
+ /* First of all, store all error-resolvables in a list. */
+
+ for (InfoList::iterator iter = il.begin(); iter != il.end(); iter++) {
+ if ((*iter) != NULL // list items might be set to NULL
+ && (*iter)->error ()) {
+ constResolvablePtr resolvable = (*iter)->resolvable();
+ if (resolvable != NULL) {
+ CResolvableList::iterator pos;
+ for (pos = error_list.begin(); pos != error_list.end(); pos++) {
+ if (*pos == resolvable)
+ break;
+ }
+ if (pos == error_list.end()) {
+ error_list.push_front (resolvable);
+ }
+ }
+
+ CResolvableList resolvables;
+
+ constResolverInfoContainerPtr c = *iter; // check if it really is a container
+ if (c != NULL) resolvables = c->resolvables();
+
+ for (CResolvableList::iterator res_iter = resolvables.begin(); res_iter != resolvables.end(); res_iter++) {
+ CResolvableList::iterator pos;
+ for (pos = error_list.begin(); pos != error_list.end(); pos++) {
+ if (*pos == *iter)
+ break;
+ }
+ if (pos == error_list.end()) {
+ error_list.push_front (*res_iter);
+ }
+ }
+ }
+ }
+
+ CResolvableList important_list; // FIXME, hash is faster
+
+ do {
+ ++pass_num;
+ assert (pass_num < 10000);
+
+ did_something = false;
+
+ for (InfoList::iterator iter = il.begin(); iter != il.end(); iter++) {
+ if ((*iter) != NULL // list items might be set to NULL
+ && (*iter)->important ()) {
+ bool should_be_important = false;
+
+ for (CResolvableList::const_iterator res_iter = error_list.begin(); res_iter != error_list.end() && ! should_be_important; res_iter++) {
+ constResolverInfoContainerPtr c = *iter;
+ if (c != NULL // check if it really is a container
+ && c->mentions (*res_iter)) {
+ should_be_important = true;
+ }
+ }
+
+ for (CResolvableList::const_iterator res_iter = important_list.begin(); res_iter != important_list.end() && ! should_be_important; res_iter++) {
+ if ((*iter)->isAbout (*res_iter)) {
+ should_be_important = true;
+ break;
+ }
+ }
+
+ if (should_be_important) {
+ did_something = true;
+ (*iter)->flagAsImportant ();
+ CResolvableList resolvables;
+ constResolverInfoContainerPtr c = *iter; // check if it really is a container
+ if (c != NULL) resolvables = c->resolvables();
+ for (CResolvableList::iterator res_iter = resolvables.begin(); res_iter != resolvables.end(); res_iter++) {
+ CResolvableList::iterator pos;
+ for (pos = important_list.begin(); pos != important_list.end(); pos++) {
+ if (*pos == *res_iter)
+ break;
+ }
+ if (pos == important_list.end()) {
+ important_list.push_front (*res_iter);
+ }
+ }
+ }
+ }
+ }
+
+ } while (did_something);
+
+}
+
+
+void
+ResolverContext::foreachInfo (ResolvablePtr resolvable, int priority, ResolverInfoFn fn, void *data)
+{
+ InfoList info_list;
+
+ ResolverContextPtr context = this;
+
+
+ // Assemble a list of copies of all of the info objects
+ while (context != NULL) {
+ for (InfoList::iterator iter = context->_log.begin(); iter != context->_log.end(); iter++) {
+ if ((resolvable == NULL || (*iter)->resolvable() == resolvable)
+ && (*iter)->priority() >= priority) {
+ info_list.push_back ((*iter)->copy());
+ }
+ }
+ context = context->_parent;
+ }
+#if 0
+ // Merge info objects
+ for (InfoList::iterator iter = info_list.begin(); iter != info_list.end(); iter++) {
+
+ ResolverInfoPtr info1 = (*iter);
+ InfoList::iterator subiter = iter;
+ if (info1 != NULL) {
+ for (subiter++; subiter != info_list.end(); subiter++) {
+ ResolverInfoPtr info2 = *subiter;
+ if (info2 && info1->merge (info2)) {
+ *subiter = NULL;
+ }
+ }
+ }
+ }
+#endif
+ mark_important_info (info_list);
+
+ // Walk across the list of info objects and invoke our callback
+
+ for (InfoList::iterator iter = info_list.begin(); iter != info_list.end(); iter++) {
+ if (*iter != NULL) {
+ fn (*iter, data);
+ }
+ }
+}
+
+
+
+static void
+get_info_foreach_cb (ResolverInfoPtr info, void *data)
+{
+ InfoList *il = (InfoList *)data;
+
+ if (info->important ()) {
+ il->push_back (info);
+ }
+}
+
+
+
+InfoList
+ResolverContext::getInfo (void)
+{
+ InfoList il;
+ foreachInfo (NULL, -1, get_info_foreach_cb, (void *)&il);
+ return il;
+}
+
+
+//---------------------------------------------------------------------------
+// spew
+
+static void
+spew_pkg_cb (constResolvablePtr resolvable, ResolvableStatus status, void *unused)
+{
+ printf (" %s (%s)\n", resolvable->asString().c_str(), ResolverContext::toString(status).c_str());
+}
+
+
+void
+spew_pkg2_cb (constResolvablePtr resolvable1, ResolvableStatus status1, constResolvablePtr resolvable2, ResolvableStatus status2, void *unused)
+{
+ const char *s1, *s2;
+
+ s1 = resolvable1->asString().c_str();
+ s2 = resolvable2->asString().c_str();
+
+ printf (" %s (%s) => %s (%s)\n", s2, ResolverContext::toString(status2).c_str(), s1, ResolverContext::toString(status1).c_str());
+}
+
+
+void
+ResolverContext::spew (void)
+{
+ printf ("TO INSTALL:\n");
+ foreachInstall (spew_pkg_cb, NULL);
+ printf ("\n");
+
+ printf ("TO REMOVE:\n");
+ foreachUninstall (spew_pkg_cb, NULL);
+ printf ("\n");
+
+ printf ("TO UPGRADE:\n");
+ foreachUpgrade (spew_pkg2_cb, NULL);
+ printf ("\n");
+}
+
+
+static void
+spew_info_cb (ResolverInfoPtr info, void *unused)
+{
+ const char *msg = info->asString().c_str();
+ if (info->error ()) printf ("[ERROR] ");
+ else if (info->important()) printf ("[>>>>>] ");
+ printf ("%s\n", msg);
+}
+
+
+void
+ResolverContext::spewInfo (void)
+{
+ if (getenv ("RC_SPEW")) fprintf (stderr, "ResolverContext[%p]::spewInfo()\n", this);
+ foreachInfo (NULL, -1, spew_info_cb, NULL);
+}
+
+//---------------------------------------------------------------------------
+// requirements
+
+typedef struct {
+ ResolverContextPtr context;
+ constSpecPtr dep;
+ bool flag;
+} RequirementMetInfo;
+
+
+static bool
+requirement_met_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+ RequirementMetInfo *info = (RequirementMetInfo *)data;
+
+ // info->dep is set for resolvable set children. If it is set, query the
+ // exact version only.
+ if ((info->dep == NULL || info->dep->equals(spec))
+ && info->context->resolvableIsPresent (resolvable))
+ {
+ info->flag = true;
+ }
+
+//fprintf (stderr, "requirement_met_cb(%s, %s) [info->dep %s] -> %s\n", resolvable->asString().c_str(), spec->asString().c_str(), info->dep != NULL ? info->dep->asString().c_str() : "(none)", info->flag ? "true" : "false");
+ return ! info->flag;
+}
+
+
+bool
+ResolverContext::requirementIsMet (constDependencyPtr dependency, bool is_child)
+{
+ RequirementMetInfo info;
+
+ info.context = this;
+ info.dep = is_child ? dependency : NULL;
+ info.flag = false;
+
+ world()->foreachProvidingResolvable (dependency, requirement_met_cb, (void *)&info);
+
+ return info.flag;
+}
+
+
+//---------------------------------------------------------------------------
+
+static bool
+requirement_possible_cb (constResolvablePtr resolvable, constSpecPtr spec, void *data)
+{
+ RequirementMetInfo *info = (RequirementMetInfo *)data;
+
+ ResolvableStatus status = info->context->getStatus (resolvable);
+
+ if (! resolvable_status_is_to_be_uninstalled (status)
+ || status == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK) {
+ info->flag = true;
+ }
+
+ return ! info->flag;
+}
+
+
+bool
+ResolverContext::requirementIsPossible (constDependencyPtr dep)
+{
+ RequirementMetInfo info;
+
+ info.context = this;
+ info.flag = false;
+
+ world()->foreachProvidingResolvable (dep, requirement_possible_cb, (void *)&info);
+
+ return info.flag;
+}
+
+
+bool
+ResolverContext::resolvableIsPossible (constResolvablePtr resolvable)
+{
+ CDependencyList requires = resolvable->requires();
+ for (CDependencyList::iterator iter = requires.begin(); iter != requires.end(); iter++) {
+ if (! requirementIsPossible (*iter)) {
+ return false;
+ }
+ }
+
+ return true;
+}
+
+//---------------------------------------------------------------------------
+
+typedef struct {
+ constSpecPtr spec;
+ bool flag;
+} DupNameCheckInfo;
+
+static void
+dup_name_check_cb (constResolvablePtr resolvable, ResolvableStatus status, void *data)
+{
+ DupNameCheckInfo *info = (DupNameCheckInfo *)data;
+ if (! info->flag
+ && resolvable_status_is_to_be_installed (status)
+ && info->spec->name() == resolvable->name()
+ && !info->spec->equals(resolvable)) {
+ info->flag = true;
+ }
+}
+
+bool
+ResolverContext::isParallelInstall (constResolvablePtr resolvable)
+{
+ DupNameCheckInfo info;
+
+ info.spec = resolvable;
+ info.flag = false;
+ foreachMarkedResolvable (dup_name_check_cb, (void *)&info);
+
+ return info.flag;
+}
+
+
+int
+ResolverContext::getChannelPriority (constChannelPtr channel) const
+{
+ bool is_subscribed;
+ int priority;
+
+ is_subscribed = channel->isSubscribed ();
+ priority = channel->getPriority (is_subscribed);
+
+ return priority;
+}
+
+//---------------------------------------------------------------------------
+
+static int
+num_cmp (double a, double b)
+{
+ return (b < a) - (a < b);
+}
+
+static int
+rev_num_cmp (double a, double b)
+{
+ return (a < b) - (b < a);
+}
+
+static double
+churn_factor (ResolverContextPtr a)
+{
+ return a->upgradeCount() + (2.0 * a->installCount ()) + (4.0 * a->uninstallCount ());
+}
+
+int
+ResolverContext::partialCompare (ResolverContextPtr context)
+{
+ int cmp = 0;
+ if (this != context) {
+
+ // High numbers are good... we don't want solutions containing low-priority channels.
+ cmp = num_cmp (_min_priority, context->_min_priority);
+
+ if (cmp == 0) {
+
+ // High numbers are bad. Less churn is better.
+ cmp = rev_num_cmp (churn_factor (this), churn_factor (context));
+
+ if (cmp == 0) {
+
+ // High numbers are bad. Bigger #s means more penalties.
+ cmp = rev_num_cmp (_other_penalties, context->_other_penalties);
+ }
+ }
+ }
+
+ return cmp;
+}
+
+int
+ResolverContext::compare (ResolverContextPtr context)
+{
+ int cmp;
+
+ if (this == context)
+ return 0;
+
+ cmp = partialCompare (context);
+ if (cmp)
+ return cmp;
+
+ /* High numbers are bad. Smaller downloads are best. */
+ cmp = rev_num_cmp (_download_size, context->_download_size);
+ if (cmp)
+ return cmp;
+
+ /* High numbers are bad. Less disk space consumed is good. */
+ cmp = rev_num_cmp (_install_size, context->_install_size);
+ if (cmp)
+ return cmp;
+
+ return 0;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverContext.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverContext_h
+#define _ResolverContext_h
+
+#include <iosfwd>
+#include <list>
+#include <map>
+#include <string.h>
+
+#include <zypp/solver/detail/ResolverContextPtr.h>
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef enum {
+ RESOLVABLE_STATUS_UNKNOWN = 0,
+ RESOLVABLE_STATUS_INSTALLED,
+ RESOLVABLE_STATUS_UNINSTALLED,
+ RESOLVABLE_STATUS_TO_BE_INSTALLED,
+ RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT,
+ RESOLVABLE_STATUS_TO_BE_UNINSTALLED,
+ RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE,
+ RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK
+} ResolvableStatus;
+
+#define resolvable_status_is_to_be_installed(x) (((x) == RESOLVABLE_STATUS_TO_BE_INSTALLED) || ((x) == RESOLVABLE_STATUS_TO_BE_INSTALLED_SOFT))
+#define resolvable_status_is_to_be_uninstalled(x) (((x) == RESOLVABLE_STATUS_TO_BE_UNINSTALLED) || ((x) == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_OBSOLETE) || ((x) == RESOLVABLE_STATUS_TO_BE_UNINSTALLED_DUE_TO_UNLINK))
+
+typedef std::map<constResolvablePtr, ResolvableStatus> StatusTable;
+typedef std::list<ResolverInfoPtr> InfoList;
+
+
+typedef void (*ResolverContextFn) (ResolverContextPtr ctx, void * data);
+typedef void (*MarkedResolvableFn) (constResolvablePtr res, ResolvableStatus status, void *data);
+typedef void (*MarkedResolvablePairFn) (constResolvablePtr res1, ResolvableStatus status1, constResolvablePtr res2, ResolvableStatus status2, void *data);
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverContext
+class ResolverContext : public CountedRep {
+ REP_BODY(ResolverContext);
+
+ private:
+
+ ResolverContextPtr _parent;
+
+ int _refs;
+
+ WorldPtr _world;
+ StatusTable _status;
+
+ // just a caching mechanism
+ constResolvablePtr _last_checked_resolvable;
+ ResolvableStatus _last_checked_status;
+
+ InfoList _log;
+ unsigned long long _download_size;
+ unsigned long long _install_size;
+ int _total_priority;
+ int _min_priority;
+ int _max_priority;
+ int _other_penalties;
+ constChannelPtr _current_channel;
+ bool _verifying;
+ bool _invalid;
+
+ public:
+ ResolverContext (ResolverContextPtr parent = NULL);
+ virtual ~ResolverContext();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverContext & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverContext & context);
+ std::string asString (void ) const;
+
+ static std::string toString (const ResolvableStatus & status);
+
+ // ---------------------------------- accessors
+
+ WorldPtr world (void) const; // gets global world, if _world == NULL
+ void setWorld (WorldPtr world) { _world = world; }
+
+ constChannelPtr currentChannel (void) const { return _current_channel; }
+ void setCurrentChannel (constChannelPtr channel) { _current_channel = channel; }
+
+ unsigned long long downloadSize(void) const { return _download_size; }
+ unsigned long long installSize(void) const { return _install_size; }
+ int totalPriority (void) const { return _total_priority; }
+ int minPriority (void) const { return _min_priority; }
+ int maxPriority (void) const { return _max_priority; }
+ int otherPenalties (void) const { return _other_penalties; }
+
+ bool isValid (void) const { return !_invalid; }
+ bool isInvalid (void) const { return _invalid; }
+
+ bool verifying (void) const { return _verifying; }
+ void setVerifying (bool verifying) { _verifying = verifying; }
+
+ // ---------------------------------- methods
+
+ ResolvableStatus getStatus (constResolvablePtr res); // non-const, because its caching
+ void setStatus (constResolvablePtr res, ResolvableStatus status);
+
+ bool installResolvable (constResolvablePtr resolvable, bool is_soft, int other_penalty);
+ bool upgradeResolvable (constResolvablePtr new_resolvable, constResolvablePtr old_resolvable, bool is_soft, int other_penalty);
+ bool uninstallResolvable (constResolvablePtr resolvable, bool part_of_upgrade, bool due_to_obsolete, bool due_to_unlink);
+
+ bool resolvableIsPresent (constResolvablePtr resolvable);
+ bool resolvableIsAbsent (constResolvablePtr resolvable);
+
+ void foreachMarkedResolvable (MarkedResolvableFn fn, void *data) const;
+ CResolvableList getMarkedResolvables (void) const;
+
+ int foreachInstall (MarkedResolvableFn fn, void *data) const;
+ CResolvableList getInstalls (void) const;
+ int installCount (void) const;
+
+ int foreachUninstall (MarkedResolvableFn fn, void *data); // non-const, calls foreachUpgrade
+ CResolvableList getUninstalls (void);
+ int uninstallCount (void);
+
+ int foreachUpgrade (MarkedResolvablePairFn fn, void *data); // non-const, calls getStatus
+ CResolvableList getUpgrades (void);
+ int upgradeCount (void);
+
+ void addInfo (ResolverInfoPtr info);
+ void addInfoString (constResolvablePtr resolvable, int priority, std::string str);
+ void addErrorString (constResolvablePtr resolvable, std::string str);
+
+ void foreachInfo (ResolvablePtr resolvable, int priority, ResolverInfoFn fn, void *data);
+ InfoList getInfo (void);
+
+ void spew (void);
+ void spewInfo (void);
+
+ bool requirementIsMet (constDependencyPtr dep, bool is_child);
+ bool requirementIsPossible (constDependencyPtr dep);
+ bool resolvableIsPossible (constResolvablePtr resolvable);
+ bool isParallelInstall (constResolvablePtr resolvable);
+
+ int getChannelPriority (constChannelPtr channel) const;
+
+ int partialCompare (ResolverContextPtr context); // non-const, calls uninstall/upgrade Count
+ int compare (ResolverContextPtr context);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverContext_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverContextPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverContextPtr_h
+#define _ResolverContextPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverContextPtr
+// CLASS NAME : constResolverContextPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(ResolverContext);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverContextPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfo.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+static struct {
+ ResolverInfoType type;
+ const char *str;
+} type_str_table[] = {
+ { RESOLVER_INFO_TYPE_NEEDED_BY, "needed_by" },
+ { RESOLVER_INFO_TYPE_CONFLICTS_WITH, "conflicts_with" },
+ { RESOLVER_INFO_TYPE_OBSOLETES, "obsoletes" },
+ { RESOLVER_INFO_TYPE_DEPENDS_ON, "depended_on" },
+ { RESOLVER_INFO_TYPE_CHILD_OF, "child_of" },
+ { RESOLVER_INFO_TYPE_MISSING_REQ, "missing_req" },
+ { RESOLVER_INFO_TYPE_MISC, "misc" },
+ { RESOLVER_INFO_TYPE_INVALID, "invalid" },
+ { RESOLVER_INFO_TYPE_INVALID, NULL }
+};
+
+static const char *
+info_type_to_string (ResolverInfoType type)
+{
+ int i;
+
+ for (i = 0; type_str_table[i].str != NULL; ++i) {
+ if (type == type_str_table[i].type)
+ return type_str_table[i].str;
+ }
+
+ return NULL;
+}
+
+
+ResolverInfoType
+resolver_info_type_from_string (const char *str)
+{
+ int i;
+
+ if (str == NULL) return RESOLVER_INFO_TYPE_INVALID;
+
+ for (i = 0; type_str_table[i].str != NULL; ++i) {
+ if (strcasecmp (str, type_str_table[i].str) == 0)
+ return type_str_table[i].type;
+ }
+
+ return RESOLVER_INFO_TYPE_INVALID;
+}
+
+//---------------------------------------------------------------------------
+
+string
+ResolverInfo::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfo::toString ( const ResolverInfo & resolverinfo, bool full )
+{
+ string res;
+
+ if (full) {
+ res += "<";
+ res += info_type_to_string (resolverinfo._type);
+ res += "> ";
+ }
+ if (resolverinfo._resolvable != NULL) {
+ res += resolverinfo._resolvable->asString();
+ res += ": ";
+ }
+
+ if (resolverinfo._error) res += " Error!";
+ if (resolverinfo._important) res += " Important!";
+
+ return res;
+}
+
+
+ostream &
+ResolverInfo::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfo & resolver)
+{
+ return os << resolver.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfo::ResolverInfo (ResolverInfoType type, constResolvablePtr resolvable, int priority)
+ : _type (type)
+ , _resolvable (resolvable)
+ , _priority (priority)
+ , _error (false)
+ , _important (false)
+{
+}
+
+
+ResolverInfo::~ResolverInfo()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+ResolverInfo::merge (ResolverInfoPtr to_be_merged)
+{
+ if (to_be_merged == NULL) return false;
+
+ if (_type != to_be_merged->_type
+ || _resolvable != to_be_merged->_resolvable) {
+ return false;
+ }
+
+ return true;
+}
+
+void
+ResolverInfo::copy (constResolverInfoPtr from)
+{
+ _error = from->_error;
+ _important = from->_important;
+}
+
+
+ResolverInfoPtr
+ResolverInfo::copy (void) const
+{
+ ResolverInfoPtr cpy = new ResolverInfo(_type, _resolvable, _priority);
+
+ cpy->copy (this);
+
+ return cpy;
+}
+
+
+//---------------------------------------------------------------------------
+
+bool
+ResolverInfo::isAbout (constResolvablePtr resolvable) const
+{
+ if (_resolvable == NULL)
+ return false;
+
+ return _resolvable->name() == resolvable->name();
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+#/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfo.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfo_h
+#define _ResolverInfo_h
+
+#include <iosfwd>
+#include <list>
+#include <map>
+#include <string.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+typedef enum {
+ RESOLVER_INFO_TYPE_INVALID = 0,
+ RESOLVER_INFO_TYPE_NEEDED_BY,
+ RESOLVER_INFO_TYPE_CONFLICTS_WITH,
+ RESOLVER_INFO_TYPE_OBSOLETES,
+ RESOLVER_INFO_TYPE_DEPENDS_ON,
+ RESOLVER_INFO_TYPE_CHILD_OF,
+ RESOLVER_INFO_TYPE_MISSING_REQ,
+ RESOLVER_INFO_TYPE_MISC
+} ResolverInfoType;
+
+#define RESOLVER_INFO_PRIORITY_USER 500
+#define RESOLVER_INFO_PRIORITY_VERBOSE 100
+#define RESOLVER_INFO_PRIORITY_DEBUGGING 0
+
+typedef void (*ResolverInfoFn) (ResolverInfoPtr info, void *data);
+
+typedef std::list <ResolverInfoPtr> ResolverInfoList;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfo
+
+class ResolverInfo : public CountedRep {
+
+ REP_BODY(ResolverInfo);
+
+ private:
+
+ ResolverInfoType _type;
+ constResolvablePtr _resolvable;
+ int _priority;
+
+ bool _error;
+ bool _important;
+
+ protected:
+
+ ResolverInfo (ResolverInfoType type, constResolvablePtr resolvable, int priority);
+
+ public:
+
+ virtual ~ResolverInfo();
+
+ void copy (constResolverInfoPtr from);
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfo & context, bool full = false);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfo & context);
+ virtual std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ ResolverInfoType type (void) const { return _type; }
+ constResolvablePtr resolvable (void) const { return _resolvable; }
+ int priority (void) const { return _priority; }
+
+ int error (void) const { return _error; }
+ void flagAsError (void) { _error = true; }
+ int important (void) const { return _important; }
+ void flagAsImportant (void) { _important = true; }
+
+ // ---------------------------------- methods
+
+ bool merge (ResolverInfoPtr to_be_merged);
+ virtual ResolverInfoPtr copy (void) const;
+
+ bool isAbout (constResolvablePtr resolvable) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfo_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoChildOf.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfoChildOf.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoChildOf, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoChildOf::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoChildOf::toString ( const ResolverInfoChildOf & child)
+{
+ string res = "<resolverinfochildof '";
+
+ res += ResolverInfo::toString (child);
+ res += string ("part of ") + child.resolvablesToString(false);
+ res += "'>";
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoChildOf::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoChildOf & child)
+{
+ return os << child.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoChildOf::ResolverInfoChildOf (constResolvablePtr resolvable, constResolvablePtr dependency)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_CHILD_OF, resolvable, RESOLVER_INFO_PRIORITY_USER, dependency)
+{
+}
+
+
+ResolverInfoChildOf::~ResolverInfoChildOf ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+
+ResolverInfoPtr
+ResolverInfoChildOf::copy (void) const
+{
+ ResolverInfoChildOfPtr cpy = new ResolverInfoChildOf(resolvable(), NULL);
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoChildOf.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoChildOf_h
+#define _ResolverInfoChildOf_h
+
+#include <zypp/solver/detail/ResolverInfoChildOfPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoChildOf
+
+class ResolverInfoChildOf : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoChildOf);
+
+ private:
+
+ public:
+
+ ResolverInfoChildOf (constResolvablePtr resolvable, constResolvablePtr dependency);
+ virtual ~ResolverInfoChildOf();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoChildOf & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoChildOf & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoChildOf_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoChildOfPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoChildOfPtr_h
+#define _ResolverInfoChildOfPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoChildOfPtr
+// CLASS NAME : constResolverInfoChildOfPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoChildOf, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoChildOfPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoConflictsWith.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoConflictsWith.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoConflictsWith, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoConflictsWith::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoConflictsWith::toString ( const ResolverInfoConflictsWith & with)
+{
+ string res;
+
+ res += ResolverInfo::toString (with);
+ res += string ("conflicts with ") + with.resolvablesToString(false);
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoConflictsWith::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoConflictsWith & with)
+{
+ return os << with.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoConflictsWith::ResolverInfoConflictsWith (constResolvablePtr resolvable, constResolvablePtr with)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_CONFLICTS_WITH, resolvable, RESOLVER_INFO_PRIORITY_USER, with)
+{
+}
+
+
+ResolverInfoConflictsWith::~ResolverInfoConflictsWith ()
+{
+}
+
+
+//---------------------------------------------------------------------------
+
+ResolverInfoPtr
+ResolverInfoConflictsWith::copy (void) const
+{
+ ResolverInfoConflictsWithPtr cpy = new ResolverInfoConflictsWith(resolvable(), NULL);
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoConflictsWith.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoConflictsWith_h
+#define _ResolverInfoConflictsWith_h
+
+#include <zypp/solver/detail/ResolverInfoConflictsWithPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoConflictsWith
+
+class ResolverInfoConflictsWith : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoConflictsWith);
+
+ private:
+
+ public:
+
+ ResolverInfoConflictsWith (constResolvablePtr resolvable, constResolvablePtr with);
+ virtual ~ResolverInfoConflictsWith();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoConflictsWith & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoConflictsWith & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoConflictsWith_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoConflictsWithPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoConflictsWithPtr_h
+#define _ResolverInfoConflictsWithPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoConflictsWithPtr
+// CLASS NAME : constResolverInfoConflictsWithPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoConflictsWith, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoConflictsWithPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoContainer.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoContainer, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoContainer::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoContainer::toString ( const ResolverInfoContainer & container )
+{
+ string res = "<resolverinfocontainer '";
+
+ res += ResolverInfo::toString (container);
+ for (CResolvableList::const_iterator iter = container._resolvable_list.begin(); iter != container._resolvable_list.end(); iter++) {
+ if (iter != container._resolvable_list.begin()) res += ", ";
+ res += ((constSpecPtr)(*iter))->asString();
+ }
+ res += "'>";
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoContainer::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoContainer & container)
+{
+ return os << container.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoContainer::ResolverInfoContainer (ResolverInfoType type, constResolvablePtr resolvable, int priority, constResolvablePtr child)
+ : ResolverInfo (type, resolvable, priority)
+{
+ if (child != NULL)
+ _resolvable_list.push_back (child);
+}
+
+
+ResolverInfoContainer::~ResolverInfoContainer ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+ResolverInfoContainer::merge (ResolverInfoContainerPtr to_be_merged)
+{
+ bool res;
+
+ res = ((ResolverInfoPtr)this)->merge ((ResolverInfoPtr)to_be_merged);
+ if (!res) return res;
+
+ typedef std::map<constResolvablePtr, bool> SeenTable;
+ SeenTable seen_packages;
+
+ for (CResolvableList::const_iterator iter = _resolvable_list.begin(); iter != _resolvable_list.end(); iter++) {
+ seen_packages[*iter] = true;
+ }
+
+ CResolvableList rl = to_be_merged->resolvables();
+ for (CResolvableList::const_iterator iter = rl.begin(); iter != rl.end(); iter++) {
+ SeenTable::const_iterator pos = seen_packages.find(*iter);
+ if (pos == seen_packages.end()) {
+ _resolvable_list.push_front (*iter);
+ seen_packages[*iter] = true;
+ }
+ }
+
+ return true;
+}
+
+
+void
+ResolverInfoContainer::copy (constResolverInfoContainerPtr from)
+{
+ ((ResolverInfoPtr)this)->copy(from);
+
+ for (CResolvableList::const_iterator iter = from->_resolvable_list.begin(); iter != from->_resolvable_list.end(); iter++) {
+ _resolvable_list.push_back (*iter);
+ }
+}
+
+
+ResolverInfoPtr
+ResolverInfoContainer::copy (void) const
+{
+ ResolverInfoContainerPtr cpy = new ResolverInfoContainer(type(), resolvable(), priority());
+
+ cpy->copy (this);
+
+ return cpy;
+}
+
+//---------------------------------------------------------------------------
+
+string
+ResolverInfoContainer::resolvablesToString (bool names_only) const
+{
+ string res;
+
+ if (_resolvable_list.empty())
+ return res;
+
+ res += " [";
+ for (CResolvableList::const_iterator iter = _resolvable_list.begin(); iter != _resolvable_list.end(); iter++) {
+ if (iter != _resolvable_list.begin())
+ res += ", ";
+
+ res += (names_only ? (*iter)->name() : ((constSpecPtr)(*iter))->asString());
+ }
+ res += "]";
+
+ return res;
+}
+
+
+bool
+ResolverInfoContainer::mentions (constResolvablePtr resolvable) const
+{
+ if (isAbout(resolvable))
+ return true;
+
+ // Search resolvable_list for any mention of the resolvable.
+
+ for (CResolvableList::const_iterator iter = _resolvable_list.begin(); iter != _resolvable_list.end(); iter++) {
+ if ((*iter)->name() == resolvable->name()) {
+ return true;
+ }
+ }
+
+ return false;
+}
+
+
+void
+ResolverInfoContainer::addRelatedResolvable (constResolvablePtr resolvable)
+{
+ if (!mentions(resolvable)) {
+ _resolvable_list.push_front (resolvable);
+ }
+}
+
+
+void
+ResolverInfoContainer::addRelatedResolvableList (const CResolvableList & resolvables)
+{
+ for (CResolvableList::const_iterator iter = resolvables.begin(); iter != resolvables.end(); iter++) {
+ _resolvable_list.push_front (*iter);
+ }
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoContainer.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoContainer_h
+#define _ResolverInfoContainer_h
+
+#include <iosfwd>
+#include <list>
+#include <map>
+#include <string.h>
+#include <zypp/solver/detail/ResolverInfoContainerPtr.h>
+#include <zypp/solver/detail/ResolverInfo.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+//////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoContainer
+
+class ResolverInfoContainer : public ResolverInfo {
+
+ REP_BODY(ResolverInfoContainer);
+
+ private:
+
+ CResolvableList _resolvable_list;
+
+ protected:
+
+ ResolverInfoContainer (ResolverInfoType type, constResolvablePtr resolvable, int priority, constResolvablePtr child = NULL);
+
+ public:
+ virtual ~ResolverInfoContainer();
+
+ void copy (constResolverInfoContainerPtr from);
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoContainer & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoContainer & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ CResolvableList resolvables (void) const { return _resolvable_list; }
+
+ // ---------------------------------- methods
+
+ virtual bool merge (ResolverInfoContainerPtr to_be_merged);
+ virtual ResolverInfoPtr copy (void) const;
+
+ std::string resolvablesToString (bool names_only) const;
+
+ bool mentions (constResolvablePtr resolvable) const;
+ void addRelatedResolvable (constResolvablePtr resolvable);
+ void addRelatedResolvableList (const CResolvableList & resolvables);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoContainer_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoContainerPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoContainerPtr_h
+#define _ResolverInfoContainerPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfo.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoContainerPtr
+// CLASS NAME : constResolverInfoContainerPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoContainer,ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoContainerPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoDependsOn.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoDependsOn.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoDependsOn, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoDependsOn::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoDependsOn::toString ( const ResolverInfoDependsOn & on)
+{
+ string res;
+
+ res += ResolverInfo::toString (on);
+ res += string ("depended on ") + on.resolvablesToString(false);
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoDependsOn::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoDependsOn & on)
+{
+ return os << on.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoDependsOn::ResolverInfoDependsOn (constResolvablePtr resolvable, constResolvablePtr on)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_DEPENDS_ON, resolvable, RESOLVER_INFO_PRIORITY_USER, on)
+{
+}
+
+
+ResolverInfoDependsOn::~ResolverInfoDependsOn ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoPtr
+ResolverInfoDependsOn::copy (void) const
+{
+ ResolverInfoDependsOnPtr cpy = new ResolverInfoDependsOn(resolvable(), NULL);
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+//---------------------------------------------------------------------------
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoDependsOn.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoDependsOn_h
+#define _ResolverInfoDependsOn_h
+
+#include <string>
+#include <zypp/solver/detail/ResolverInfoDependsOnPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoDependsOn
+
+class ResolverInfoDependsOn : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoDependsOn);
+
+ private:
+
+ public:
+
+ ResolverInfoDependsOn (constResolvablePtr resolvable, constResolvablePtr on);
+ virtual ~ResolverInfoDependsOn();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoDependsOn & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoDependsOn & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoDependsOn_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoDependsOnPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoDependsOnPtr_h
+#define _ResolverInfoDependsOnPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoDependsOnPtr
+// CLASS NAME : constResolverInfoDependsOnPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoDependsOn, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoDependsOnPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMisc.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoMisc.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoMisc, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoMisc::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoMisc::toString ( const ResolverInfoMisc & misc)
+{
+ string res;
+ res += misc._msg;
+#if 0
+ res += " [";
+ res += ResolverInfo::toString (misc, false);
+ res += "]";
+#endif
+ res += misc.resolvablesToString(false);
+ if (!misc._action.empty()) {
+ res += string (", Action: ") + misc._action + "\n";
+ }
+ if (!misc._trigger.empty()) {
+ res += string (", Trigger: ") + misc._trigger + "\n";
+ }
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoMisc::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoMisc & misc)
+{
+ return os << misc.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoMisc::ResolverInfoMisc (constResolvablePtr resolvable, int priority, const string & msg)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_MISC, resolvable, priority)
+ , _msg (msg)
+{
+}
+
+
+ResolverInfoMisc::~ResolverInfoMisc ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+bool
+ResolverInfoMisc::merge (ResolverInfoPtr info)
+{
+ bool res;
+ ResolverInfoMiscPtr to_be_merged = info;
+
+ res = ((ResolverInfoPtr)this)->merge ((ResolverInfoPtr)to_be_merged);
+ if (!res) return res;
+
+ if (!_msg.empty()
+ && !to_be_merged->_msg.empty()
+ && _msg == to_be_merged->_msg) {
+ return true;
+ }
+
+ return false;
+}
+
+
+ResolverInfoPtr
+ResolverInfoMisc::copy (void) const
+{
+ ResolverInfoMiscPtr cpy = new ResolverInfoMisc(resolvable(), priority(), _msg);
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+//---------------------------------------------------------------------------
+
+void
+ResolverInfoMisc::addAction (const std::string & action_msg)
+{
+ _action = action_msg;
+}
+
+
+void
+ResolverInfoMisc::addTrigger (const std::string & trigger_msg)
+{
+ _trigger = trigger_msg;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMisc.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoMisc_h
+#define _ResolverInfoMisc_h
+
+#include <string>
+#include <zypp/solver/detail/ResolverInfoMiscPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoMisc
+
+class ResolverInfoMisc : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoMisc);
+
+ private:
+
+ std::string _msg;
+ std::string _action;
+ std::string _trigger;
+
+ public:
+
+ ResolverInfoMisc (constResolvablePtr resolvable, int priority, const std::string & msg);
+ virtual ~ResolverInfoMisc();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoMisc & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoMisc & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual bool merge (ResolverInfoPtr to_be_merged);
+ virtual ResolverInfoPtr copy (void) const;
+
+ void addAction (const std::string & action_msg);
+ void addTrigger (const std::string & trigger_msg);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoMisc_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMiscPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoMiscPtr_h
+#define _ResolverInfoMiscPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoMiscPtr
+// CLASS NAME : constResolverInfoMiscPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoMisc, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoMiscPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMissingReq.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoMissingReq.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoMissingReq, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoMissingReq::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoMissingReq::toString ( const ResolverInfoMissingReq & missing)
+{
+ string res;
+
+ res += ResolverInfo::toString (missing);
+ res += string ("missing requirement ") + missing._missing_req->asString();
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoMissingReq::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoMissingReq & missing)
+{
+ return os << missing.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoMissingReq::ResolverInfoMissingReq (constResolvablePtr resolvable, constDependencyPtr missing_req)
+ : ResolverInfo (RESOLVER_INFO_TYPE_MISSING_REQ, resolvable, RESOLVER_INFO_PRIORITY_USER)
+ , _missing_req (missing_req)
+{
+}
+
+
+ResolverInfoMissingReq::~ResolverInfoMissingReq ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoPtr
+ResolverInfoMissingReq::copy (void) const
+{
+ ResolverInfoMissingReqPtr cpy = new ResolverInfoMissingReq(resolvable(), _missing_req);
+
+ ((ResolverInfoPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMissingReq.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoMissingReq_h
+#define _ResolverInfoMissingReq_h
+
+#include <zypp/solver/detail/ResolverInfoMissingReqPtr.h>
+#include <zypp/solver/detail/ResolverInfo.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoMissingReq
+
+class ResolverInfoMissingReq : public ResolverInfo {
+
+ REP_BODY(ResolverInfoMissingReq);
+
+ private:
+
+ constDependencyPtr _missing_req;
+
+ public:
+
+ ResolverInfoMissingReq (constResolvablePtr resolvable, constDependencyPtr missing_req);
+ virtual ~ResolverInfoMissingReq();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoMissingReq & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoMissingReq & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoMissingReq_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoMissingReqPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoMissingReqPtr_h
+#define _ResolverInfoMissingReqPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoMissingReqPtr
+// CLASS NAME : constResolverInfoMissingReqPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoMissingReq, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoMissingReqPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoNeededBy.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoNeededBy.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoNeededBy, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoNeededBy::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoNeededBy::toString ( const ResolverInfoNeededBy & by)
+{
+ string res;
+
+ res += ResolverInfo::toString (by, false);
+ res += string (" needed by ") + by.resolvablesToString(false);
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoNeededBy::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoNeededBy & by)
+{
+ return os << by.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoNeededBy::ResolverInfoNeededBy (constResolvablePtr resolvable)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_NEEDED_BY, resolvable, RESOLVER_INFO_PRIORITY_USER, NULL)
+{
+}
+
+
+ResolverInfoNeededBy::~ResolverInfoNeededBy ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoPtr
+ResolverInfoNeededBy::copy (void) const
+{
+ ResolverInfoNeededByPtr cpy = new ResolverInfoNeededBy(resolvable());
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoNeededBy.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoNeededBy_h
+#define _ResolverInfoNeededBy_h
+
+#include <zypp/solver/detail/ResolverInfoNeededByPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoNeededBy
+
+class ResolverInfoNeededBy : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoNeededBy);
+
+ private:
+
+ public:
+
+ ResolverInfoNeededBy (constResolvablePtr resolvable);
+ virtual ~ResolverInfoNeededBy();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoNeededBy & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoNeededBy & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoNeededBy_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoNeededByPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoNeededByPtr_h
+#define _ResolverInfoNeededByPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoNeededByPtr
+// CLASS NAME : constResolverInfoNeededByPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoNeededBy, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoNeededByPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoObsoletes.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverInfo.h>
+#include <zypp/solver/detail/ResolverInfoObsoletes.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ResolverInfoObsoletes, ResolverInfo);
+
+//---------------------------------------------------------------------------
+
+
+string
+ResolverInfoObsoletes::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverInfoObsoletes::toString ( const ResolverInfoObsoletes & obsoletes)
+{
+ string res;
+
+ res += ResolverInfo::toString (obsoletes);
+ res += string ("replaced by ") + obsoletes.resolvablesToString(false);
+
+ return res;
+}
+
+
+ostream &
+ResolverInfoObsoletes::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverInfoObsoletes & obsoletes)
+{
+ return os << obsoletes.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoObsoletes::ResolverInfoObsoletes (constResolvablePtr resolvable, constResolvablePtr obsoletes)
+ : ResolverInfoContainer (RESOLVER_INFO_TYPE_OBSOLETES, resolvable, RESOLVER_INFO_PRIORITY_USER, obsoletes)
+{
+}
+
+
+ResolverInfoObsoletes::~ResolverInfoObsoletes ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+ResolverInfoPtr
+ResolverInfoObsoletes::copy (void) const
+{
+ ResolverInfoObsoletesPtr cpy = new ResolverInfoObsoletes(resolvable(), NULL);
+
+ ((ResolverInfoContainerPtr)cpy)->copy (this);
+
+ return cpy;
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoObsoletes.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoObsoletes_h
+#define _ResolverInfoObsoletes_h
+
+#include <zypp/solver/detail/ResolverInfoObsoletesPtr.h>
+#include <zypp/solver/detail/ResolverInfoContainer.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverInfoObsoletes
+
+class ResolverInfoObsoletes : public ResolverInfoContainer {
+
+ REP_BODY(ResolverInfoObsoletes);
+
+ private:
+
+ public:
+
+ ResolverInfoObsoletes (constResolvablePtr resolvable, constResolvablePtr obsoletes);
+ virtual ~ResolverInfoObsoletes();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverInfoObsoletes & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverInfoObsoletes & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ virtual ResolverInfoPtr copy (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverInfoObsoletes_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoObsoletesPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoObsoletesPtr_h
+#define _ResolverInfoObsoletesPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/ResolverInfoPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoObsoletesPtr
+// CLASS NAME : constResolverInfoObsoletesPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ResolverInfoObsoletes, ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoObsoletesPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverInfoPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverInfoPtr_h
+#define _ResolverInfoPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverInfoPtr
+// CLASS NAME : constResolverInfoPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(ResolverInfo);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverInfoPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverPtr_h
+#define _ResolverPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverPtr
+// CLASS NAME : constResolverPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Resolver);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverQueue.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/ResolverQueue.h>
+#include <zypp/solver/detail/QueueItemBranch.h>
+#include <zypp/solver/detail/QueueItemConflict.h>
+#include <zypp/solver/detail/QueueItemGroup.h>
+#include <zypp/solver/detail/QueueItemInstall.h>
+#include <zypp/solver/detail/QueueItemRequire.h>
+#include <zypp/solver/detail/QueueItemUninstall.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/Version.h>
+
+#include <y2util/stringutil.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(ResolverQueue);
+
+//---------------------------------------------------------------------------
+
+
+//---------------------------------------------------------------------------
+
+string
+ResolverQueue::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ResolverQueue::toString ( const ResolverQueue & resolverqueue )
+{
+ string res;
+
+ res += stringutil::form ("Context [%p]", (const void *)resolverqueue._context);
+ res += ", Items:\n\t";
+ res += QueueItem::toString (resolverqueue._items, ",\n\t");
+
+ return res;
+}
+
+
+ostream &
+ResolverQueue::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ResolverQueue & resolverqueue)
+{
+ return os << resolverqueue.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ResolverQueue::ResolverQueue (ResolverContextPtr context)
+ : _context (context)
+{
+ if (context == NULL)
+ _context = new ResolverContext();
+}
+
+
+ResolverQueue::~ResolverQueue()
+{
+}
+
+//---------------------------------------------------------------------------
+
+void
+ResolverQueue::addResolvableToInstall (constResolvablePtr resolvable)
+{
+ QueueItemInstallPtr item;
+
+ if (_context->resolvableIsPresent (resolvable)) {
+ printf ("%s is already installed", ((constSpecPtr)resolvable)->asString().c_str());
+ return;
+ }
+
+ item = new QueueItemInstall (_context->world(), resolvable);
+ item->setExplicitlyRequested ();
+
+ addItem (item);
+}
+
+
+void
+ResolverQueue::addResolvableToRemove (constResolvablePtr resolvable, bool remove_only_mode)
+{
+ QueueItemUninstallPtr item;
+
+ if (_context->resolvableIsAbsent (resolvable))
+ return;
+
+ item = new QueueItemUninstall (_context->world(), resolvable, "user request");
+ if (remove_only_mode)
+ item->setRemoveOnly ();
+
+ item->setExplicitlyRequested ();
+
+ addItem (item);
+}
+
+
+void
+ResolverQueue::addResolvableToVerify (constResolvablePtr resolvable)
+{
+ WorldPtr world;
+
+ world = _context->world ();
+
+ CDependencyList requires = resolvable->requires();
+ for (CDependencyList::const_iterator iter = requires.begin(); iter != requires.end(); iter++) {
+ QueueItemRequirePtr item = new QueueItemRequire (world, *iter);
+ item->addResolvable (resolvable);
+ addItem (item);
+ }
+
+ CDependencyList conflicts = resolvable->conflicts();
+ for (CDependencyList::const_iterator iter = conflicts.begin(); iter != conflicts.end(); iter++) {
+ QueueItemConflictPtr item = new QueueItemConflict (world, *iter, resolvable);
+ addItem (item);
+ }
+}
+
+
+void
+ResolverQueue::addExtraDependency (constDependencyPtr dep)
+{
+ QueueItemRequirePtr item = new QueueItemRequire (_context->world(), dep);
+ addItem (item);
+}
+
+
+void
+ResolverQueue::addExtraConflict (constDependencyPtr dep)
+{
+ QueueItemConflictPtr item = new QueueItemConflict (_context->world(), dep, NULL);
+ addItem (item);
+}
+
+
+void
+ResolverQueue::addItem (QueueItemPtr item)
+{
+ _items.push_front (item);
+}
+
+
+bool
+ResolverQueue::isInvalid ()
+{
+ return _context->isInvalid();
+}
+
+
+bool
+ResolverQueue::containsOnlyBranches ()
+{
+ for (QueueItemList::const_iterator iter = _items.begin(); iter != _items.end(); iter++) {
+ if (!(*iter)->isBranch())
+ return false;
+ }
+
+ return true;
+}
+
+//---------------------------------------------------------------------------
+
+static int
+itemlist_max_priority (const QueueItemList & qil)
+{
+ int max_priority = -1;
+ for (QueueItemList::const_iterator iter = qil.begin(); iter != qil.end(); iter++) {
+ if ((*iter)->priority() > max_priority) {
+ max_priority = (*iter)->priority();
+ }
+ }
+
+ return max_priority;
+}
+
+
+
+bool
+ResolverQueue::processOnce ()
+{
+ QueueItemList new_items;
+ int max_priority;
+ bool did_something = false;
+
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "ResolverQueue::processOnce(%s), %d items\n", asString().c_str(), (int) _items.size());
+ while ( (max_priority = itemlist_max_priority (_items)) >= 0
+ && _context->isValid () ) {
+
+ bool did_something_recently = false;
+
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "ResolverQueue::processOnce() inside loop\n");
+ for (QueueItemList::iterator iter = _items.begin(); iter != _items.end() && _context->isValid();) {
+ QueueItemPtr item = *iter;
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "=====> 1st pass: [%s]\n", item->asString().c_str());
+ QueueItemList::iterator next = iter; next++;
+ if (item && item->priority() == max_priority) {
+ if (item->process (_context, new_items)) {
+ did_something_recently = true;
+ }
+ _items.erase (iter);
+ }
+ iter = next;
+ }
+
+ if (did_something_recently) {
+ did_something = true;
+ }
+ }
+
+ _items = new_items;
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "%d items after first pass\n", (int) _items.size());
+
+ /*
+ Now make a second pass over the queue, removing any super-branches.
+ (If one branch contains all of the possible items of another branch,
+ the larger branch can be dropped.
+ */
+
+// if (getenv ("QUEUE_SPEW")) fprintf (stderr, "ResolverQueue::processOnce() second pass\n");
+ for (QueueItemList::iterator iter = _items.begin(); iter != _items.end();) {
+ QueueItemList::iterator next = iter; next++;
+ QueueItemPtr item = *iter;
+
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "=====> 2nd pass: [%s]\n", item->asString().c_str());
+ if (item->isBranch()) {
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "ResolverQueue::processOnce() is branch\n");
+ QueueItemBranchPtr branch = (QueueItemBranchPtr)item;
+ for (QueueItemList::const_iterator iter2 = _items.begin(); iter2 != _items.end(); iter2++) {
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "Compare branch with [%s]\n", (*iter2)->asString().c_str());
+ if (iter != iter2
+ && branch->contains (*iter2)) {
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "Contained within, removing\n");
+ _items.erase (iter);
+ break;
+ }
+ }
+ }
+ iter = next;
+ }
+ if (getenv ("QUEUE_SPEW")) fprintf (stderr, "did %sthing: %d items\n", did_something ? "some" : "no", (int)_items.size());
+
+ return did_something;
+}
+
+
+void
+ResolverQueue::process ()
+{
+ bool very_noisy;
+
+ very_noisy = getenv ("RC_SPEW") != NULL;
+
+ if (very_noisy) {
+ printf ("----- Processing -----\n");
+ spew ();
+ }
+
+ while (_context->isValid ()
+ && ! isEmpty ()
+ && processOnce ()) {
+ /* all of the work is in the conditional! */
+ if (very_noisy) {
+ spew ();
+ }
+ }
+}
+
+
+//---------------------------------------------------------------------------
+
+static ResolverQueuePtr
+copy_queue_except_for_branch (ResolverQueuePtr queue, QueueItemPtr branch_item, QueueItemPtr subitem)
+{
+ ResolverContextPtr new_context;
+ ResolverQueuePtr new_queue;
+
+ new_context = new ResolverContext (queue->context());
+ new_queue = new ResolverQueue (new_context);
+
+ QueueItemList qil = queue->items();
+ for (QueueItemList::const_iterator iter = qil.begin(); iter != qil.end(); iter++) {
+ QueueItemPtr item = *iter;
+ QueueItemPtr new_item;
+
+ if (item == branch_item) {
+ new_item = subitem->copy ();
+
+ if (new_item->isInstall()) {
+ QueueItemInstallPtr install_item = (QueueItemInstallPtr)new_item;
+
+ /* Penalties are negative priorities */
+ int penalty;
+ penalty = - queue->context()->getChannelPriority (install_item->resolvable()->channel());
+
+ install_item->setOtherPenalty (penalty);
+ }
+
+ } else {
+
+ new_item = item->copy ();
+
+ }
+
+ new_queue->addItem (new_item);
+ }
+
+ return new_queue;
+}
+
+
+void
+ResolverQueue::splitFirstBranch (ResolverQueueList & new_queues, ResolverQueueList & deferred_queues)
+{
+ QueueItemBranchPtr first_branch = NULL;
+ typedef std::map <QueueItemPtr, QueueItemPtr> DeferTable;
+ DeferTable to_defer;
+
+ for (QueueItemList::const_iterator iter = _items.begin(); iter != _items.end() && first_branch == NULL; iter++) {
+ QueueItemPtr item = *iter;
+ if (item->isBranch()) {
+ first_branch = (QueueItemBranchPtr)item;
+ }
+ }
+
+ if (first_branch == NULL)
+ return;
+
+ /*
+ Check for deferrable items: if we have two install items where the to-be-installed
+ resolvables have the same name, then we will defer the lower-priority install if
+ one of the following is true:
+ (1) Both resolvables have the same version
+ (2) The lower-priority channel is a previous version.
+ */
+
+ QueueItemList possible_items = first_branch->possibleItems();
+ for (QueueItemList::const_iterator iter = possible_items.begin(); iter != possible_items.end(); iter++) {
+ QueueItemList::const_iterator iter2 = iter;
+ for (iter2++; iter2 != possible_items.end(); iter2++) {
+ QueueItemPtr item = *iter;
+ QueueItemPtr item2 = *iter2;
+
+ if (item->isInstall() && item2->isInstall()) {
+ constResolvablePtr r = ((QueueItemInstallPtr) item)->resolvable();
+ constResolvablePtr r2 = ((QueueItemInstallPtr) item2)->resolvable();
+ constChannelPtr channel = r->channel();
+ constChannelPtr channel2 = r2->channel();
+ int priority, priority2;
+
+ priority = channel->getPriority (channel->isSubscribed());
+ priority2 = channel2->getPriority (channel2->isSubscribed());
+
+ if (priority != priority2 && r->name() == r2->name()) {
+ if (r->version() == r2->version()
+ || (priority < priority2 && GVersion.compare (r, r2) < 0)
+ || (priority > priority2 && GVersion.compare (r, r2) > 0)) {
+
+ if (priority < priority2)
+ to_defer[item] = item;
+ else /* if (priority > priority2) */
+ to_defer[item2] = item2;
+ }
+ }
+ }
+ }
+ }
+
+
+ for (QueueItemList::const_iterator iter = possible_items.begin(); iter != possible_items.end(); iter++) {
+ ResolverQueuePtr new_queue;
+ QueueItemPtr new_item = *iter;
+
+ new_queue = copy_queue_except_for_branch (this, (QueueItemPtr) first_branch, new_item);
+
+ DeferTable::const_iterator pos = to_defer.find (new_item);
+ if (pos != to_defer.end()) {
+ deferred_queues.push_back (new_queue);
+ } else {
+ new_queues.push_back (new_queue);
+ }
+ }
+
+}
+
+
+void
+ResolverQueue::spew ()
+{
+ printf ("Resolver Queue: %s\n", _context->isInvalid() ? "INVALID" : "");
+
+ if (_items.empty()) {
+
+ printf (" (empty)\n");
+
+ } else {
+
+ for (QueueItemList::const_iterator iter = _items.begin(); iter != _items.end(); iter++) {
+ printf (" %s\n", (*iter)->asString().c_str());
+ }
+
+ }
+
+ printf ("\n");
+ fflush (stdout);
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverQueue.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverQueue_h
+#define _ResolverQueue_h
+
+#include <iosfwd>
+#include <list>
+#include <map>
+#include <string.h>
+
+#include <zypp/solver/detail/ResolverQueuePtr.h>
+#include <zypp/solver/detail/ResolverContextPtr.h>
+#include <zypp/solver/detail/QueueItem.h>
+#include <zypp/solver/detail/ResolvablePtr.h>
+#include <zypp/solver/detail/DependencyPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef std::list <ResolverQueuePtr> ResolverQueueList;
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ResolverQueue
+
+class ResolverQueue : public CountedRep {
+
+ REP_BODY(ResolverQueue);
+
+ private:
+
+ ResolverContextPtr _context;
+ QueueItemList _items;
+
+ public:
+ ResolverQueue (ResolverContextPtr context = NULL);
+ virtual ~ResolverQueue();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ResolverQueue & context);
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+ friend std::ostream& operator<<(std::ostream&, const ResolverQueue & context);
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ ResolverContextPtr context (void) const { return _context; }
+ QueueItemList items(void) const { return _items; }
+
+ // ---------------------------------- methods
+
+
+ void addResolvableToInstall (constResolvablePtr resolvable);
+ void addResolvableToRemove (constResolvablePtr resolvable, bool remove_only_mode);
+ void addResolvableToVerify (constResolvablePtr resolvable);
+ void addExtraDependency (constDependencyPtr dep);
+ void addExtraConflict (constDependencyPtr dep);
+ void addItem (QueueItemPtr item);
+
+ bool isEmpty () const { return _items.empty(); }
+ bool isInvalid ();
+ bool containsOnlyBranches ();
+
+ bool processOnce ();
+ void process ();
+
+ void splitFirstBranch (ResolverQueueList & new_queues, ResolverQueueList & deferred_queues);
+
+ void spew ();
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+#endif // _ResolverQueue_h
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ResolverQueuePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ResolverQueuePtr_h
+#define _ResolverQueuePtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ResolverQueuePtr
+// CLASS NAME : constResolverQueuePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(ResolverQueue);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ResolverQueuePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Section.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Section.h>
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+string
+Section::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Section::asUserString ( void ) const
+{
+ return toUserString (*this);
+}
+
+
+string
+Section::toString ( const Section & section )
+{
+ switch (section.section()) {
+ case SECTION_OFFICE: return ("office");
+ case SECTION_IMAGING: return ("imaging");
+ case SECTION_PIM: return ("pim");
+ case SECTION_GAME: return ("game");
+ case SECTION_MISC: return ("misc");
+ case SECTION_MULTIMEDIA: return ("multimedia");
+ case SECTION_INTERNET: return ("internet");
+ case SECTION_UTIL: return ("util");
+ case SECTION_SYSTEM: return ("system");
+ case SECTION_DOC: return ("doc");
+ case SECTION_DEVEL: return ("devel");
+ case SECTION_DEVELUTIL: return ("develutil");
+ case SECTION_LIBRARY: return ("library");
+ case SECTION_XAPP: return ("xapp");
+ default:
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "invalid section number %d\n", section.section());
+ }
+ return ("misc");
+}
+
+string
+Section::toUserString ( const Section & section )
+{
+ switch (section.section()) {
+ case SECTION_OFFICE: return ("Productivity Applications");
+ case SECTION_IMAGING: return ("Imaging");
+ case SECTION_PIM: return ("Personal Information Management");
+ case SECTION_GAME: return ("Games");
+ case SECTION_MISC: return ("Miscellaneous");
+ case SECTION_MULTIMEDIA: return ("Multimedia");
+ case SECTION_INTERNET: return ("Internet Applications");
+ case SECTION_UTIL: return ("Utilities");
+ case SECTION_SYSTEM: return ("System Packages");
+ case SECTION_DOC: return ("Documentation");
+ case SECTION_DEVEL: return ("Development Packages");
+ case SECTION_DEVELUTIL: return ("Development Utilities");
+ case SECTION_LIBRARY: return ("Libraries");
+ case SECTION_XAPP: return ("X Applications");
+ default:
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "invalid section number %d\n", section.section());
+ }
+
+ return ("Miscellaneous");
+}
+
+ostream &
+Section::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Section& section)
+{
+ return os << section.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Section::Section(const char *section_str)
+{
+ _section = SECTION_MISC;
+
+ if (section_str != NULL) {
+ switch (*section_str) {
+ case 'd':
+ if (!strcmp (section_str, "develutil")) {
+ _section = SECTION_DEVELUTIL;
+ }
+ else if (!strcmp (section_str, "devel")) {
+ _section = SECTION_DEVEL;
+ }
+ else if (!strcmp (section_str, "doc")) {
+ _section = SECTION_DOC;
+ }
+ break;
+ case 'g':
+ if (!strcmp (section_str, "game")) {
+ _section = SECTION_GAME;
+ }
+ break;
+ case 'i':
+ if (!strcmp (section_str, "imaging")) {
+ _section = SECTION_IMAGING;
+ }
+ else if (!strcmp (section_str, "internet")) {
+ _section = SECTION_INTERNET;
+ }
+ break;
+ case 'l':
+ if (!strcmp (section_str, "library")) {
+ _section = SECTION_LIBRARY;
+ }
+ break;
+ case 'm':
+ if (!strcmp (section_str, "misc")) {
+ _section = SECTION_MISC;
+ }
+ else if (!strcmp (section_str, "multimedia")) {
+ _section = SECTION_MULTIMEDIA;
+ }
+ break;
+ case 'o':
+ if (!strcmp (section_str, "office")) {
+ _section = SECTION_OFFICE;
+ }
+ break;
+ case 'p':
+ if (!strcmp (section_str, "pim")) {
+ _section = SECTION_PIM;
+ }
+ break;
+ case 's':
+ if (!strcmp (section_str, "system")) {
+ _section = SECTION_SYSTEM;
+ }
+ break;
+ case 'u':
+ if (!strcmp (section_str, "util")) {
+ _section = SECTION_UTIL;
+ }
+ break;
+ case 'x':
+ if (!strcmp (section_str, "xapp")) {
+ _section = SECTION_XAPP;
+ }
+ break;
+ default:
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "invalid section name %s\n", section_str);
+ break;
+ }
+ } // if != NULL
+
+}
+
+
+Section::~Section()
+{
+}
+
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Section.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Section_h
+#define _Section_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Section
+/**
+ *
+ **/
+class Section {
+
+ private:
+
+ typedef enum {
+ SECTION_OFFICE = 0,
+ SECTION_IMAGING,
+ SECTION_PIM,
+ SECTION_XAPP,
+ SECTION_GAME,
+ SECTION_MULTIMEDIA,
+ SECTION_INTERNET,
+ SECTION_UTIL,
+ SECTION_SYSTEM,
+ SECTION_DOC,
+ SECTION_LIBRARY,
+ SECTION_DEVEL,
+ SECTION_DEVELUTIL,
+ SECTION_MISC,
+ SECTION_LAST
+ } section_t;
+
+ section_t _section;
+
+ private:
+ section_t section () const { return _section; }
+
+ public:
+
+ Section(const char *section_str);
+ virtual ~Section();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Section & section);
+ static std::string toUserString ( const Section & section);
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Section & section);
+
+ std::string asString ( void ) const;
+ std::string asUserString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ // equality
+ bool operator==( const Section & section) const {
+ return _section == section.section();
+ }
+
+ // inequality
+ bool operator!=( const Section & section) const {
+ return !(*this == section);
+ }
+
+};
+
+typedef Section * SectionPtr;
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Section_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ServiceWorld.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/ServiceWorld.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(ServiceWorld, World);
+
+//---------------------------------------------------------------------------
+
+string
+ServiceWorld::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+ServiceWorld::toString ( const ServiceWorld & service )
+{
+ return "<serviceworld/>";
+}
+
+
+ostream &
+ServiceWorld::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const ServiceWorld & service)
+{
+ return os << service.asString();
+}
+
+//---------------------------------------------------------------------------
+
+ServiceWorld::ServiceWorld ()
+ : StoreWorld (SERVICE_WORLD)
+{
+}
+
+
+ServiceWorld::~ServiceWorld()
+{
+ fprintf (stderr, "*** deleting service world[%p]: %s\n", this, World::toString(type()).c_str());
+}
+
+//---------------------------------------------------------------------------
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ServiceWorld.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ServiceWorld_h
+#define _ServiceWorld_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <zypp/solver/detail/ServiceWorldPtr.h>
+#include <zypp/solver/detail/StoreWorld.h>
+#include <zypp/solver/detail/Channel.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef bool (*ServiceWorldAssembleFn) (ServiceWorldPtr service, void *error); // GError **error
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : ServiceWorld
+
+class ServiceWorld : public StoreWorld {
+ REP_BODY(ServiceWorld);
+
+ private:
+
+ char *_url;
+ char *_name;
+ char *_unique_id;
+
+ bool _is_sticky; // if true, can't be unmounted
+ bool _is_invisible; // ... to users
+ bool _is_unsaved; // Never save into the services.xml file
+ bool _is_singleton; // only one such service at a time. FIXME: broken
+
+ ServiceWorldAssembleFn _assemble_fn;
+
+ public:
+
+ ServiceWorld ();
+ virtual ~ServiceWorld();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const ServiceWorld & section);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const ServiceWorld & section);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ char *url () const { return _url; }
+ char *name () const { return _name; }
+ void setName (const char *name) { _name = strdup (name); }
+ char *unique_id () const { return _unique_id; }
+
+ // ---------------------------------- methods
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ServiceWorld_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* ServiceWorldPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _ServiceWorldPtr_h
+#define _ServiceWorldPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/WorldPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : ServiceWorldPtr
+// CLASS NAME : constServiceWorldPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(ServiceWorld, World);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _ServiceWorldPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Spec.cc
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/Spec.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(Spec);
+
+//---------------------------------------------------------------------------
+
+UstringHash Name::_nameHash;
+UstringHash Kind::_kindHash;
+const Kind & Kind::Unknown = Kind("");
+const Kind & Kind::Package = Kind("package");
+const Kind & Kind::Patch = Kind("patch");
+const Kind & Kind::Script = Kind("script");
+const Kind & Kind::Message = Kind("message");
+const Kind & Kind::Selection = Kind("selection");
+const Kind & Kind::Product = Kind("product");
+
+//---------------------------------------------------------------------------
+
+string
+Spec::asString ( bool full ) const
+{
+ return toString (*this, full);
+}
+
+
+string
+Spec::toString ( const Spec & spec, bool full )
+{
+ string res;
+
+ if (full
+ || (spec.kind() != Kind::Package
+ && spec.kind() != Kind::Unknown)) {
+ res += spec.kind().asString();
+ res += ":";
+ }
+
+ res += spec.name();
+
+ string ed = spec.edition()->asString (full);
+ if (!ed.empty()) {
+ res += "-";
+ res += ed;
+ }
+
+ return res;
+}
+
+
+ostream &
+Spec::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Spec& spec)
+{
+ return os << spec.asString();
+}
+
+//---------------------------------------------------------------------------
+
+Spec::Spec (const Kind & kind, const string & name, constEditionPtr edition)
+ : _kind (kind)
+ , _name (Name (name))
+ , _edition (edition == NULL ? new Edition() : edition->copy())
+{
+}
+
+
+Spec::Spec ( const Kind & kind, const string & name, int epoch, const string & version, const string & release, const Arch * arch)
+ : _kind (kind)
+ , _name (Name (name))
+ , _edition (new Edition (epoch, version, release, arch))
+{
+}
+
+
+Spec::Spec (constXmlNodePtr node)
+ : _kind (Kind::Unknown)
+{
+ fprintf (stderr, "Spec::Spec (constXmlNodePtr node)\nNot implemented\n");
+ abort();
+}
+
+
+Spec::~Spec()
+{
+}
+
+
+// needed during xml parsing (-> XmlParser)
+
+constSpecPtr
+Spec::copy (void) const
+{
+ return new Spec (_kind, _name, _edition);
+}
+
+
+#if 0
+xmlNode *
+rc_resolvable_spec_to_xml_node (RCResolvableSpec *spec)
+{
+ xmlNode *spec_node;
+ char buffer[128];
+
+ spec_node = xmlNewNode (NULL, "spec");
+
+ xmlNewTextChild (spec_node, NULL, "name",
+ g_quark_to_string (spec->nameq));
+
+ if (spec->has_epoch) {
+ g_snprintf (buffer, 128, "%d", spec->epoch);
+ xmlNewTextChild (spec_node, NULL, "epoch", buffer);
+ }
+
+ xmlNewTextChild (spec_node, NULL, "version", spec->version);
+
+ if (spec->release)
+ xmlNewTextChild (spec_node, NULL, "release", spec->release);
+
+ xmlNewTextChild (spec_node, NULL, "arch",
+ rc_arch_to_string (spec->arch));
+
+ return spec_node;
+}
+
+#endif
+
+//---------------------------------------------------------------------------
+
+
+HashValue
+Spec::hash (void) const
+{
+ HashValue ret = _edition->epoch() + 1;
+ const char *spec_strs[3], *p;
+ int i;
+
+ spec_strs[0] = _name.asString().c_str();
+ spec_strs[1] = _edition->version().c_str();
+ spec_strs[2] = _edition->release().c_str();
+
+ for (i = 0; i < 3; ++i) {
+ p = spec_strs[i];
+ if (p) {
+ for (p += 1; *p != '\0'; ++p) {
+ ret = (ret << 5) - ret + *p;
+ }
+ } else {
+ ret = ret * 17;
+ }
+ }
+
+ return ret;
+}
+
+
+const Spec *
+Spec::findByName (const SpecList &speclist, const Name & name) const
+{
+ const Spec *spec = NULL;
+ for (SpecList::const_iterator iter = speclist.begin(); iter != speclist.end(); iter++) {
+ if ((*iter).name() == name) {
+ spec = &(*iter);
+ break;
+ }
+ }
+ return spec;
+}
+
+
+bool
+Spec::match(constSpecPtr spec) const {
+ return ((_kind == spec->kind())
+ && (_name == spec->name())
+ && _edition->match (spec->edition()));
+}
+
+
+bool
+Spec::equals(constSpecPtr spec) const {
+//fprintf (stderr, "<%s> equals <%s>\n", asString(true).c_str(), spec->asString(true).c_str());
+ return ((_kind == spec->kind())
+ && (_name == spec->name())
+ && _edition->equals(spec->edition()));
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Spec.h resolvable specification: name + edition
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Spec_h
+#define _Spec_h
+
+#include <list>
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+
+#include <zypp/solver/detail/Hash.h>
+#include <zypp/solver/detail/SpecPtr.h>
+#include <zypp/solver/detail/XmlNode.h>
+#include <zypp/solver/detail/Edition.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Name
+/**
+ * A resolvable name
+ **/
+
+class Name : public Ustring {
+
+ private:
+
+ static UstringHash _nameHash;
+
+ public:
+
+ explicit Name( const std::string & n = "" ) : Ustring( _nameHash, n ) {}
+};
+
+///////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Kind
+/**
+ * A spec kind (package, patch, ...)
+ **/
+
+class Kind : public Ustring {
+
+ private:
+
+ static UstringHash _kindHash;
+
+ explicit Kind( const std::string & t = "" ) : Ustring( _kindHash, t ) {}
+
+ public:
+
+ static const Kind & Unknown;
+ static const Kind & Package;
+ static const Kind & Patch;
+ static const Kind & Script;
+ static const Kind & Message;
+ static const Kind & Selection;
+ static const Kind & Product;
+};
+
+///////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Spec
+/**
+ *
+ **/
+
+class Spec : public CountedRep {
+ REP_BODY(Spec);
+
+ private:
+ Kind _kind;
+ Name _name;
+ EditionPtr _edition;
+
+ public:
+ typedef std::list<Spec> SpecList;
+
+ Spec( const Kind & kind,
+ const std::string & name,
+ int epoch = -1,
+ const std::string & version = "",
+ const std::string & release = "",
+ const Arch * arch = Arch::Unknown);
+
+ Spec (const Kind & kind, const std::string & name, constEditionPtr edition);
+
+ Spec (constXmlNodePtr node);
+
+ virtual ~Spec();
+
+ // ---------------------------------- I/O
+
+ const xmlNodePtr asXmlNode (const char *name) const;
+
+ static std::string toString ( const Spec & spec, bool full = false );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Spec& );
+
+ std::string asString ( bool full = false ) const;
+
+ // ---------------------------------- accessors
+
+ const std::string & version() const { return _edition->version(); }
+ void setVersion (const std::string & version) { _edition->setVersion (version); }
+
+ const std::string & release() const { return _edition->release(); }
+ void setRelease (const std::string & release) { _edition->setRelease (release); }
+
+ const int epoch() const { return _edition->epoch(); }
+ void setEpoch (int epoch) { _edition->setEpoch (epoch); }
+ bool hasEpoch() const { return _edition->hasEpoch(); }
+
+ const Arch * arch() const { return _edition->arch(); }
+ void setArch (const Arch * arch) { _edition->setArch (arch); }
+ void setArch (const std::string & arch) { _edition->setArch (arch); }
+
+ const Kind & kind() const { return _kind; }
+ void setKind (const Kind & kind) { _kind = kind; }
+
+ const std::string name() const { return _name; }
+ void setName (const std::string & name) { _name = Name(name.c_str()); }
+
+ constEditionPtr edition() const { return _edition; }
+ void setEdition (constEditionPtr edition) { _edition = edition->copy(); }
+
+ // calculate hash
+ HashValue hash (void) const;
+
+ // match operator
+ bool match(constSpecPtr spec) const;
+ bool equals (constSpecPtr spec) const;
+
+ // find spec in SpecList by name
+ const Spec * findByName (const SpecList &speclist, const Name & name) const;
+
+ // copy
+
+ constSpecPtr copy (void) const;
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Spec_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* SpecPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _SpecPtr_h
+#define _SpecPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : SpecPtr
+// CLASS NAME : constSpecPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(Spec);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _SpecPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* StoreWorld.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/Packman.h>
+#include <zypp/solver/detail/StoreWorld.h>
+#include <zypp/solver/detail/ResolvableAndDependency.h>
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(StoreWorld, World);
+
+//---------------------------------------------------------------------------
+
+string
+StoreWorld::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+StoreWorld::toString ( const StoreWorld & storeworld )
+{
+ string res ("<storeworld/>");
+
+ return res;
+}
+
+
+ostream &
+StoreWorld::dumpOn (ostream & str) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream &
+operator<< (ostream & os, const StoreWorld & storeworld)
+{
+ return os << storeworld.asString();
+}
+
+//---------------------------------------------------------------------------
+
+StoreWorld::StoreWorld (WorldType type)
+ : World (type)
+ , _resolvable_kind(Kind::Unknown)
+{
+}
+
+
+StoreWorld::~StoreWorld()
+{
+ fprintf (stderr, "*** deleting store world[%p]: %s\n", this, World::toString(type()).c_str());
+}
+
+
+//---------------------------------------------------------------------------
+
+// Add/remove resolvables
+
+bool
+StoreWorld::addResolvable (constResolvablePtr resolvable)
+{
+ ArchList compat_arch_list;
+ ResolvableAndDependencyPtr r_and_d;
+ const char *package_name;
+ constChannelPtr channel;
+ int arch_score;
+ bool actually_added_package = false;
+
+ if (resolvable == NULL) return false;
+
+ compat_arch_list = Arch::System->getCompatList();
+//fprintf (stderr, "Arch::System '%s' -> %d compats\n", Arch::System->asString().c_str(), (int) compat_arch_list.size());
+ channel = resolvable->channel ();
+
+// fprintf (stderr, "StoreWorld[%p]::addResolvable(%s) [%s]\n", this, ((constSpecPtr)resolvable)->asString().c_str(), channel?channel->name():"?");
+
+ arch_score = resolvable->arch()->getCompatScore(compat_arch_list);
+
+ /* Before we do anything, check to make sure that a resolvable of the
+ same name isn't already in that channel. If there is a
+ duplicate, we keep the one with the most recent version number
+ and drop the other.
+
+ This check only applies to resolvables in a channel. We have
+ to allow for multiple installs. Grrrr...
+ */
+
+ if (!resolvable->isInstalled ()) { // its not a system package
+
+ constResolvablePtr dup_res;
+ int dup_arch_score;
+
+ /* Filter out resolvables with totally incompatible arches */
+ if (arch_score < 0) {
+ rc_debug (RC_DEBUG_LEVEL_DEBUG, "Ignoring resolvable with incompatible arch: Arch '%s', %s", resolvable->arch()->asString().c_str(), resolvable->asString(true).c_str());
+ goto finished;
+ }
+
+ package_name = resolvable->name().c_str();
+ dup_res = findResolvable (channel, package_name);
+
+ /* This shouldn't happen (and would be caught by the check
+ below, because cmp will equal 0), but it never hurts to
+ check and produce a more explicit warning message. */
+
+ if (resolvable == dup_res) {
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "Ignoring re-add of resolvable '%s'", package_name);
+ goto finished;
+ }
+
+ if (dup_res != NULL) {
+ int cmp;
+
+ cmp = GVersion.compare (resolvable, dup_res);
+//fprintf (stderr, "res: %s, dup_res %s, cmp %d\n", resolvable->asString().c_str(), dup_res->asString().c_str(), cmp);
+ dup_arch_score = dup_res->arch()->getCompatScore(compat_arch_list);
+
+
+ /* If the resolvable we are trying to add has a lower
+ version number, just ignore it. */
+
+ if (cmp < 0) {
+ rc_debug (RC_DEBUG_LEVEL_INFO, "Not adding resolvable '%s'.\n\tA newer version is already in the channel.", resolvable->asString().c_str());
+ rc_debug (RC_DEBUG_LEVEL_INFO, "\t%s", dup_res->asString().c_str());
+ goto finished;
+ }
+
+
+ /* If the version numbers are equal, we ignore the resolvable to
+ add if it has a less-preferable arch. If both
+ resolvables have the same version # and arch, we favor the
+ first resolvable and just return. */
+
+ if (cmp == 0 && arch_score > dup_arch_score) {
+ rc_debug (RC_DEBUG_LEVEL_INFO, "Not adding resolvable '%s'.\n\tAnother resolvable with the same version but with a preferred arch is already in the channel.", resolvable->asString().c_str());
+ rc_debug (RC_DEBUG_LEVEL_INFO, "\t%s", dup_res->asString().c_str());
+ goto finished;
+ }
+
+
+ /* Otherwise we throw out the old resolvable and proceed with
+ adding the newer one. */
+
+ rc_debug (RC_DEBUG_LEVEL_INFO, "Replacing resolvable '%s'.\n\tAnother resolvable in the channel has the same name and a superior %s.", dup_res->asString().c_str(), cmp ? "version" : "arch");
+ rc_debug (RC_DEBUG_LEVEL_INFO, "\t%s", resolvable->asString().c_str());
+
+ removeResolvable (dup_res);
+ }
+ }
+
+ actually_added_package = true;
+
+ if (channel && !channel->hidden()) {
+ touchResolvableSequenceNumber ();
+ }
+
+ /* StoreWorld all of our resolvables in a hash by name. */
+ _resolvables_by_name.insert (ResolvableTable::value_type (resolvable->name(), resolvable));
+
+ /* StoreWorld all of the resolvable's provides in a hash by name. */
+ for (CDependencyList::const_iterator i = resolvable->provides().begin(); i != resolvable->provides().end(); i++) {
+ r_and_d = new ResolvableAndDependency (resolvable, *i);
+
+ _provides_by_name.insert (ResolvableAndDependencyTable::value_type (r_and_d->dependency()->name(), r_and_d));
+ }
+
+ /* StoreWorld all of the resolvable's requires in a hash by name. */
+
+ for (CDependencyList::const_iterator i = resolvable->requires().begin(); i != resolvable->requires().end(); i++) {
+ r_and_d = new ResolvableAndDependency (resolvable, *i);
+
+ _requires_by_name.insert (ResolvableAndDependencyTable::value_type (r_and_d->dependency()->name(), r_and_d));
+ }
+
+ /* "Recommends" are treated as requirements. */
+#warning Recommends are treated as requirements
+
+ for (CDependencyList::const_iterator i = resolvable->recommends().begin(); i != resolvable->recommends().end(); i++) {
+ r_and_d = new ResolvableAndDependency (resolvable, *i);
+
+ _requires_by_name.insert (ResolvableAndDependencyTable::value_type (r_and_d->dependency()->name(), r_and_d));
+ }
+
+ /* StoreWorld all of the resolvable's conflicts in a hash by name. */
+
+ for (CDependencyList::const_iterator i = resolvable->conflicts().begin(); i != resolvable->conflicts().end(); i++) {
+ r_and_d = new ResolvableAndDependency (resolvable, *i);
+ _conflicts_by_name.insert (ResolvableAndDependencyTable::value_type (r_and_d->dependency()->name(), r_and_d));
+ }
+
+ finished:
+
+ return actually_added_package;
+}
+
+
+void
+StoreWorld::addResolvablesFromList (const CResolvableList & slist)
+{
+ for (CResolvableList::const_iterator i = slist.begin(); i != slist.end(); i++) {
+ if (!addResolvable (*i)) {
+ fprintf (stderr, "addResolvable failed\n");
+ break;
+ }
+ }
+ return;
+}
+
+//---------------------------------------------------------------------------
+
+static void
+resolvable_table_remove (ResolvableTable & table, constResolvablePtr resolvable)
+{
+ const string name = resolvable->name();
+ for (ResolvableTable::iterator pos = table.lower_bound(name); pos != table.upper_bound(name); pos++) {
+ constResolvablePtr res = pos->second;
+ if (res == resolvable) {
+ table.erase (pos);
+ break;
+ }
+ }
+ return;
+}
+
+
+static void
+resolvable_and_dependency_table_remove (ResolvableAndDependencyTable & table, constResolvablePtr resolvable)
+{
+ const string name = resolvable->name();
+// FIXME: this is inefficient but lower_bound can't to strcasecmp :-(
+// for (ResolvableAndDependencyTable::iterator pos = table.lower_bound(name); pos != table.upper_bound(name); pos++) {
+ for (ResolvableAndDependencyTable::iterator pos = table.begin(); pos != table.end(); pos++) {
+ constResolvableAndDependencyPtr r_and_d = pos->second;
+ if (r_and_d->resolvable() == resolvable) {
+ table.erase (pos);
+ break;
+ }
+ }
+ return;
+}
+
+void
+StoreWorld::removeResolvable (constResolvablePtr resolvable)
+{
+ if (getenv("RC_SPEW")) fprintf (stderr, "StoreWorld::removeResolvable (%s)\n", resolvable->asString().c_str());
+
+ constChannelPtr channel = resolvable->channel ();
+
+ if (! (channel && channel->hidden ()))
+ touchResolvableSequenceNumber ();
+
+ resolvable_and_dependency_table_remove (_provides_by_name, resolvable);
+ resolvable_and_dependency_table_remove (_requires_by_name, resolvable);
+ resolvable_and_dependency_table_remove (_conflicts_by_name, resolvable);
+
+ resolvable_table_remove (_resolvables_by_name, resolvable);
+
+ return;
+}
+
+
+void
+StoreWorld::removeResolvables (constChannelPtr channel)
+{
+ fprintf (stderr, "StoreWorld::removeResolvables(%s) not implemented\n", channel->asString().c_str());
+}
+
+
+void
+StoreWorld::clear ()
+{
+ fprintf (stderr, "StoreWorld::clear() not implemented\n");
+}
+
+//---------------------------------------------------------------------------
+// Single resolvable queries
+
+static bool
+installed_version_cb (constResolvablePtr resolvable, void *data)
+{
+ constResolvablePtr *installed = (constResolvablePtr *)data;
+
+ if (resolvable->isInstalled ()) {
+ *installed = resolvable;
+ return false;
+ }
+ return true;
+}
+
+
+constResolvablePtr
+StoreWorld::findInstalledResolvable (constResolvablePtr resolvable)
+{
+ constResolvablePtr installed;
+ sync ();
+
+ foreachResolvableByName (resolvable->name(), new Channel(CHANNEL_TYPE_ANY) /* is this right? */, installed_version_cb, &installed);
+
+ return installed;
+}
+
+
+//
+// findResolvable
+// @channel: A non-wildcard #Channel.
+// @name: The name of a resolvable.
+//
+// Searches the world for a resolvable in the specified channel
+// with the specified name. @channel must be an actual
+// channel, not a wildcard.
+//
+// Return value: The matching resolvable, or %NULL if no such
+// resolvable exists.
+//
+
+constResolvablePtr
+StoreWorld::findResolvable (constChannelPtr channel, const char *name) const
+{
+ syncConditional (channel);
+ for (ResolvableTable::const_iterator pos = _resolvables_by_name.lower_bound(name); pos != _resolvables_by_name.upper_bound(name); pos++) {
+ constResolvablePtr res = pos->second;
+ if (res->channel() == channel) {
+ return res;
+ }
+ }
+ return NULL;
+}
+
+
+constResolvablePtr
+StoreWorld::findResolvableWithConstraint (constChannelPtr channel, const char *name, constDependencyPtr constraint, bool is_and) const
+{
+ fprintf (stderr, "StoreWorld::findResolvableWithConstraint() not implemented\n");
+ return 0;
+}
+
+
+ChannelPtr
+StoreWorld::guessResolvableChannel (constResolvablePtr resolvable) const
+{
+ fprintf (stderr, "StoreWorld::guessResolvableChannel(%s) not implemented\n", ((constSpecPtr)resolvable)->asString().c_str());
+ return 0;
+}
+
+
+//-----------------------------------------------------------------------------
+// foreach resolvable
+
+typedef struct {
+ ChannelPtr channel;
+ CResolvableFn callback;
+ void *data;
+ int count;
+ bool short_circuit;
+} ForeachResolvableInfo;
+
+
+static void
+foreach_resolvable_cb (const string &name, constResolvablePtr resolvable, void *data)
+{
+ ForeachResolvableInfo *info = (ForeachResolvableInfo *)data;
+
+ if (info->short_circuit)
+ return;
+
+ /* FIXME: we should filter out dup uninstalled resolvables. */
+
+ if (resolvable && info->channel->equals(resolvable->channel ())) {
+ if (info->callback) {
+ if (! info->callback (resolvable, info->data))
+ info->short_circuit = true;
+ }
+ ++info->count;
+ }
+}
+
+
+int
+StoreWorld::foreachResolvable (ChannelPtr channel, CResolvableFn fn, void *data)
+{
+ return foreachResolvableByName ("", channel, fn, data);
+}
+
+
+int
+StoreWorld::foreachResolvableByName (const std::string & name, ChannelPtr channel, CResolvableFn fn, void *data)
+{
+ if (name.empty()) {
+
+ ForeachResolvableInfo info;
+
+ info.channel = channel;
+ info.callback = fn;
+ info.data = data;
+ info.count = 0;
+ info.short_circuit = false;
+
+ for (ResolvableTable::const_iterator iter = _resolvables_by_name.begin(); iter != _resolvables_by_name.end(); iter++) {
+ foreach_resolvable_cb (iter->first, iter->second, (void *)&info);
+ }
+
+ return info.short_circuit ? -1 : info.count;
+ }
+
+
+ ResolvableTable installed; // FIXME: <Spec, Resolvable> rc_resolvable_spec_equal
+ int count = 0;
+
+ for (ResolvableTable::const_iterator iter = _resolvables_by_name.lower_bound(name); iter != _resolvables_by_name.upper_bound(name); iter++) {
+ constResolvablePtr resolvable = iter->second;
+ if (resolvable->isInstalled()) {
+ const string str = ((constSpecPtr)resolvable)->asString();
+ installed.insert (ResolvableTable::value_type(str,resolvable));
+ }
+ }
+
+ for (ResolvableTable::const_iterator iter = _resolvables_by_name.lower_bound(name); iter != _resolvables_by_name.upper_bound(name); iter++) {
+ constResolvablePtr resolvable = iter->second;
+ if (channel->equals (resolvable->channel())) {
+ if (resolvable->isInstalled()
+ || installed.find(((constSpecPtr)resolvable)->asString()) == installed.end()) {
+ if (fn) {
+ if (! fn(resolvable, data)) {
+ count = -1;
+ goto finished;
+ }
+ }
+ ++count;
+ }
+ }
+ }
+
+finished:
+
+ return count;
+}
+
+
+int
+StoreWorld::foreachResolvableByMatch (constMatchPtr match, CResolvableFn fn, void *data)
+{
+ fprintf (stderr, "StoreWorld::foreachResolvableByMatch () not implemented\n");
+ return 0;
+}
+
+
+//-----------------------------------------------------------------------------
+// iterater over resolvables with dependency
+
+typedef std::map<constSpecPtr, constResolvableAndDependencyPtr> InstalledTable;
+
+int
+StoreWorld::foreachProvidingResolvable (constDependencyPtr dep, ResolvableAndSpecFn fn, void *data)
+{
+ int count = 0;
+ InstalledTable installed;
+//fprintf (stderr, "StoreWorld::foreachProvidingResolvable(%s)\n", dep->asString().c_str());
+ for (ResolvableAndDependencyTable::const_iterator iter = _provides_by_name.lower_bound(dep->name()); iter != _provides_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+ constResolvablePtr res = r_and_d->resolvable();
+//fprintf (stderr, "StoreWorld::foreachProvidingResolvable(): %s\n", res->asString(true).c_str());
+ if (res != NULL && res->isInstalled ()) {
+ installed[res] = r_and_d;
+ }
+ }
+
+ for (ResolvableAndDependencyTable::const_iterator iter = _provides_by_name.lower_bound(dep->name()); iter != _provides_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+
+ if (r_and_d && r_and_d->verifyRelation (dep)) {
+//fprintf (stderr, "found: %s\n", r_and_d->resolvable()->asString(true).c_str());
+ /* If we have multiple identical resolvables in RCWorld,
+ we want to only include the resolvable that is installed and
+ skip the rest. */
+ if (r_and_d->resolvable()->isInstalled()
+ || installed.find(r_and_d->resolvable()) == installed.end()) {
+
+ if (fn) {
+ if (! fn(r_and_d->resolvable(), r_and_d->dependency(), data)) {
+ count = -1;
+ goto finished;
+ }
+ }
+ ++count;
+ }
+ }
+ }
+
+ finished:
+
+ return count;
+}
+
+int
+StoreWorld::foreachRequiringResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data)
+{
+ int count = 0;
+ InstalledTable installed;
+
+
+ for (ResolvableAndDependencyTable::const_iterator iter = _requires_by_name.lower_bound(dep->name()); iter != _requires_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+ constResolvablePtr res = r_and_d->resolvable();
+ if (res != NULL && res->isInstalled ()) {
+//fprintf (stderr, "is installed: %s\n", res->asString(true).c_str());
+ installed[res] = r_and_d;
+ }
+ }
+
+ for (ResolvableAndDependencyTable::const_iterator iter = _requires_by_name.lower_bound(dep->name()); iter != _requires_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+
+ if (r_and_d && r_and_d->dependency()->verifyRelation (dep)) {
+
+ /* Skip dups if one of them in installed. */
+ if (r_and_d->resolvable()->isInstalled()
+ || installed.find(r_and_d->resolvable()) == installed.end()) {
+
+ if (fn) {
+ if (! fn(r_and_d->resolvable(), r_and_d->dependency(), data)) {
+ count = -1;
+ goto finished;
+ }
+ }
+ ++count;
+ }
+ }
+ }
+
+ finished:
+
+ return count;
+}
+
+
+int
+StoreWorld::foreachConflictingResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data)
+{
+ int count = 0;
+ InstalledTable installed;
+//fprintf (stderr, "StoreWorld::foreachConflictingResolvable (%s)\n", dep->name().c_str());
+ for (ResolvableAndDependencyTable::const_iterator iter = _conflicts_by_name.lower_bound(dep->name()); iter != _conflicts_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+ constResolvablePtr res = r_and_d->resolvable();
+//fprintf (stderr, "==> %s\n", res->asString().c_str());
+ if (res != NULL && res->isInstalled ()) {
+ installed[res] = r_and_d;
+ }
+ }
+
+ for (ResolvableAndDependencyTable::const_iterator iter = _conflicts_by_name.lower_bound(dep->name()); iter != _conflicts_by_name.upper_bound(dep->name()); iter++) {
+ constResolvableAndDependencyPtr r_and_d = iter->second;
+
+ if (r_and_d)
+//fprintf (stderr, "==> %s verify %s ? %s\n", r_and_d->asString().c_str(), dep->asString().c_str(), r_and_d->verifyRelation (dep) ? "Y" : "N");
+ if (r_and_d && r_and_d->verifyRelation (dep)) {
+
+ /* Skip dups if one of them in installed. */
+ if (r_and_d->resolvable()->isInstalled()
+ || installed.find(r_and_d->resolvable()) == installed.end()) {
+
+ if (fn) {
+ if (! fn(r_and_d->resolvable(), r_and_d->dependency(), data)) {
+ count = -1;
+ goto finished;
+ }
+ }
+ ++count;
+ }
+ }
+ }
+
+ finished:
+
+ return count;
+}
+
+//-----------------------------------------------------------------------------
+// channel functions
+
+void
+StoreWorld::addChannel (ChannelPtr channel)
+{
+ if (channel == NULL) return;
+
+ channel->setWorld (this);
+ channel->setImmutable (true);
+
+ _channels.push_back (channel);
+
+ touchChannelSequenceNumber ();
+}
+
+
+void
+StoreWorld::removeChannel (constChannelPtr channel)
+{
+ if (channel == NULL
+ || ! containsChannel (channel))
+ return;
+
+ removeResolvables (channel);
+
+ for (ChannelList::iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if ((*iter)->equals (channel)) {
+ _channels.erase (iter);
+ touchChannelSequenceNumber ();
+ break;
+ }
+ }
+}
+
+
+bool
+StoreWorld::containsChannel (constChannelPtr channel) const
+{
+ for (ChannelList::const_iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if ((*iter)->equals (channel)) {
+ return true;
+ }
+ }
+ return false;
+}
+
+
+ChannelPtr
+StoreWorld::getChannelByName (const char *channel_name) const
+{
+ if (channel_name == NULL
+ || *channel_name == 0) {
+ return NULL;
+ }
+
+ for (ChannelList::const_iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if (strcasecmp ((*iter)->name(), channel_name) == 0) {
+ return *iter;
+ }
+ }
+ return NULL;
+}
+
+
+ChannelPtr
+StoreWorld::getChannelByAlias (const char *alias) const
+{
+ if (alias == NULL
+ || *alias == 0) {
+ return NULL;
+ }
+
+ for (ChannelList::const_iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if (strcasecmp ((*iter)->alias(), alias) == 0) {
+ return *iter;
+ }
+ }
+ return NULL;
+}
+
+
+ChannelPtr
+StoreWorld::getChannelById (const char *channel_id) const
+{
+ if (channel_id == NULL
+ || *channel_id == 0) {
+ return NULL;
+ }
+
+ for (ChannelList::const_iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if (strcasecmp ((*iter)->id(), channel_id) == 0) {
+ return *iter;
+ }
+ }
+ return NULL;
+}
+
+
+int
+StoreWorld::foreachChannel (ChannelFn fn, void *data) const
+{
+ int count = 0;
+ for (ChannelList::const_iterator iter = _channels.begin(); iter != _channels.end(); iter++) {
+ if (!(*fn) (*iter, data))
+ return -1;
+ count++;
+ }
+ return count;
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* StoreWorld.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _StoreWorld_h
+#define _StoreWorld_h
+
+#include <iosfwd>
+#include <string>
+#include <list>
+#include <map>
+
+#include <zypp/solver/detail/StoreWorldPtr.h>
+#include <zypp/solver/detail/ResolvableAndDependency.h>
+#include <zypp/solver/detail/PackmanPtr.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Match.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : StoreWorld
+
+class StoreWorld : public World {
+ REP_BODY(StoreWorld);
+
+ private:
+
+ int _freeze_count;
+
+ ResolvableTable _resolvables_by_name;
+ ResolvableAndDependencyTable _provides_by_name;
+ ResolvableAndDependencyTable _requires_by_name;
+ ResolvableAndDependencyTable _conflicts_by_name;
+
+ PackmanPtr _packman;
+ Kind _resolvable_kind;
+
+ ChannelList _channels;
+
+ public:
+
+ StoreWorld (WorldType type = STORE_WORLD);
+ virtual ~StoreWorld();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const StoreWorld & storeworld);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const StoreWorld & storeworld);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ virtual ChannelList channels () const { return _channels; }
+
+ // ---------------------------------- methods
+
+ // Add/remove resolvables
+
+ bool addResolvable (constResolvablePtr resolvable);
+ void addResolvablesFromList (const CResolvableList & slist);
+ void removeResolvable (constResolvablePtr resolvable);
+ void removeResolvables (constChannelPtr channel);
+ void clear ();
+
+ // Iterate over resolvables
+
+ virtual int foreachResolvable (ChannelPtr channel, CResolvableFn fn, void *data);
+ virtual int foreachResolvableByName (const std::string & name, ChannelPtr channel, CResolvableFn fn, void *data);
+ virtual int foreachResolvableByMatch (constMatchPtr match, CResolvableFn fn, void *data);
+
+ // Iterate across provides or requirement
+
+ virtual int foreachProvidingResolvable (constDependencyPtr dep, ResolvableAndSpecFn fn, void *data);
+ virtual int foreachRequiringResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data);
+ virtual int foreachConflictingResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *data);
+
+ // Channels
+
+ void addChannel (ChannelPtr channel);
+ void removeChannel (constChannelPtr channel);
+
+ virtual bool containsChannel (constChannelPtr channel) const;
+
+ virtual ChannelPtr getChannelByName (const char *channel_name) const;
+ virtual ChannelPtr getChannelByAlias (const char *alias) const;
+ virtual ChannelPtr getChannelById (const char *channel_id) const;
+
+ virtual int foreachChannel (ChannelFn fn, void *data) const;
+
+ // Single resolvable queries
+
+ virtual constResolvablePtr findInstalledResolvable (constResolvablePtr resolvable);
+ virtual constResolvablePtr findResolvable (constChannelPtr channel, const char *name) const;
+ virtual constResolvablePtr findResolvableWithConstraint (constChannelPtr channel, const char *name, constDependencyPtr constraint, bool is_and) const;
+ virtual ChannelPtr guessResolvableChannel (constResolvablePtr resolvable) const;
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _StoreWorld_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* StoreWorldPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _StoreWorldPtr_h
+#define _StoreWorldPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/WorldPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : StoreWorldPtr
+// CLASS NAME : constStoreWorldPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(StoreWorld, World);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _StoreWorldPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Subscription.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Subscription.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+
+#include <list>
+#include <unistd.h>
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+#define SUBSCRIPTION_PATH "/var/adm/zypp"
+#define OLD_SUBSCRIPTION_PATH "/var/lib/rcd"
+#define SUBSCRIPTION_NAME "/subscriptions.xml"
+
+#define DEFAULT_SUBSCRIPTION_FILE SUBSCRIPTION_PATH SUBSCRIPTION_NAME
+#define OLD_SUBSCRIPTION_FILE OLD_SUBSCRIPTION_PATH SUBSCRIPTION_NAME
+
+/* Old subscriptions expire in 60 days */
+#define OLD_SUBSCRIPTION_EXPIRATION 60*24*60*60
+
+SubscriptionList Subscription::subscriptions;
+bool Subscription::subscriptions_changed = false;
+const char *Subscription::subscription_file = DEFAULT_SUBSCRIPTION_FILE;
+
+//---------------------------------------------------------------------------
+
+string
+Subscription::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Subscription::toString ( const Subscription & s)
+{
+ return "<subscription/>";
+}
+
+ostream &
+Subscription::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Subscription & s)
+{
+ return os << s.asString();
+}
+
+//---------------------------------------------------------------------------
+
+
+void
+Subscription::save (void)
+{
+ xmlDoc *doc;
+ xmlNode *root;
+ char buf[64];
+ time_t now;
+ int save_retval;
+
+ if (! subscriptions_changed)
+ return;
+
+ time (&now);
+
+ root = xmlNewNode (NULL, (const xmlChar*)"subscriptions");
+ xmlNewProp (root, (const xmlChar*)"version", (const xmlChar*)"2.0");
+
+ doc = xmlNewDoc ((const xmlChar*)"1.0");
+ xmlDocSetRootElement (doc, root);
+
+ for (SubscriptionList::iterator iter = subscriptions.begin(); iter != subscriptions.end(); iter++) {
+ xmlNode *sub_node;
+
+ Subscription *sub = *iter;
+
+ /* Drop "old" (i.e. imported from 1.x) subscriptions that
+ we haven't seen for a while. */
+ if (sub->_old) {
+ double elapsed = difftime (now, sub->_last_seen);
+ if (elapsed > OLD_SUBSCRIPTION_EXPIRATION)
+ continue;
+ }
+
+ sub_node = xmlNewChild (root, NULL, (const xmlChar*)"channel", NULL);
+
+ xmlNewProp (sub_node, (const xmlChar*)"id", (const xmlChar*)(sub->_channel_id.c_str()));
+
+ snprintf (buf, sizeof (buf), "%ld", (long) sub->_last_seen);
+ xmlNewProp (sub_node, (const xmlChar*)"last_seen", (const xmlChar*)buf);
+
+ if (sub->_old)
+ xmlNewProp (sub_node, (const xmlChar*)"old", (const xmlChar*)"1");
+ }
+
+ save_retval = xmlSaveFile (subscription_file, doc);
+ xmlFreeDoc (doc);
+
+ if (save_retval > 0) {
+ /* Writing out the subscription file succeeded. */
+ subscriptions_changed = false;
+ } else {
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "Unable to save subscription data to '%s'", subscription_file);
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "Subscription will not be saved!");
+ }
+}
+
+
+void
+Subscription::load_old_subscriptions (void)
+{
+ static bool tried_to_do_this_already = false;
+ xmlDoc *doc;
+ XmlNodePtr node;
+
+ if (tried_to_do_this_already)
+ return;
+ tried_to_do_this_already = true;
+
+ if (access (OLD_SUBSCRIPTION_FILE, R_OK) != 0) {
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "Can't find rcd 1.x subscription file '%s'", OLD_SUBSCRIPTION_FILE);
+ return;
+ }
+
+ doc = xmlParseFile (OLD_SUBSCRIPTION_FILE);
+ if (doc == NULL) {
+ rc_debug (RC_DEBUG_LEVEL_ERROR, "Can't parse rcd 1.x subscription file '%s'", OLD_SUBSCRIPTION_FILE);
+ return;
+ }
+
+ node = new XmlNode (xmlDocGetRootElement (doc));
+
+ if (!node->equals("subscriptions")) {
+ rc_debug (RC_DEBUG_LEVEL_ERROR, "rcd 1.x subscription file '%s' is malformed", OLD_SUBSCRIPTION_FILE);
+ return;
+ }
+
+ rc_debug (RC_DEBUG_LEVEL_INFO, "Importing rcd 1.x subscriptions.");
+
+ node = node->children();
+
+ while (node != NULL) {
+
+ if (node->equals ("channel")) {
+ const char *id_str;
+
+ id_str = node->getProp ("channel_id");
+ if (id_str && *id_str) {
+
+ Subscription *sub = new Subscription (id_str);
+ sub->_old = true;
+
+ subscriptions.push_back (sub);
+ }
+ }
+
+ node = node->next();
+ }
+
+ /* If we've imported old subscriptions, we need to write them
+ out immediately into the new subscriptions file. */
+
+ subscriptions_changed = true;
+ save ();
+}
+
+
+void
+Subscription::load (void)
+{
+ xmlDoc *doc;
+ XmlNodePtr node;
+
+ if (access (subscription_file, R_OK) != 0) {
+ load_old_subscriptions ();
+ return;
+ }
+
+ doc = xmlParseFile (subscription_file);
+ if (doc == NULL) {
+ rc_debug (RC_DEBUG_LEVEL_ERROR, "Can't parse subscription file '%s'", subscription_file);
+ return;
+ }
+
+ node = new XmlNode (xmlDocGetRootElement (doc));
+
+ if (! node->equals ("subscriptions")) {
+ rc_debug (RC_DEBUG_LEVEL_ERROR, "Subscription file '%s' is malformed", subscription_file);
+ return;
+ }
+
+ node = node->children();
+
+ while (node != NULL) {
+
+ if (node->equals ("channel")) {
+ const char *id_str, *last_seen_str;
+
+ id_str = node->getProp ("id");
+ last_seen_str = node->getProp ("last_seen");
+
+ if (id_str && *id_str) {
+ Subscription *sub = new Subscription (id_str);
+
+ if (last_seen_str)
+ sub->_last_seen = (time_t) atol (last_seen_str);
+ else
+ sub->_last_seen = time (NULL);
+
+ sub->_old = node->getUnsignedIntValueDefault("old", 0);
+
+ subscriptions.push_back (sub);
+ }
+
+ free ((void *)id_str);
+ free ((void *)last_seen_str);
+
+ }
+
+ node = node->next();
+ }
+
+ xmlFreeDoc (doc);
+}
+
+//---------------------------------------------------------------------------
+
+bool
+Subscription::match (constChannelPtr channel)
+{
+ bool match;
+
+ /* Paranoia is the programmer's friend. */
+ if (channel == NULL) return false;
+ if (channel->id() == NULL) return false;
+
+ /* If this is an old (i.e. imported from 1.x) subscription, we
+ compare it against the channel id's tail. */
+
+ if (_old) {
+ const char *id = channel->legacyId ();
+ int len1, len2;
+
+ if (!id)
+ return false;
+
+ len1 = strlen (_channel_id.c_str());
+ len2 = strlen (id);
+
+ if (len1 > len2)
+ return false;
+
+ /* If the tails match, mutate the Subscription into a
+ new-style subscription for that channel. */
+ if (! strcmp (id + (len2 - len1), _channel_id.c_str())) {
+ _channel_id = channel->id ();
+ _old = false;
+ subscriptions_changed = true;
+
+ return true;
+ }
+
+ return false;
+ }
+
+ match = (_channel_id == channel->id ());
+
+ if (match) {
+ time (&_last_seen);
+ }
+
+ return match;
+}
+
+//-----------------------------------------------------------------------------
+
+void
+Subscription::setFile (const char *path)
+{
+ subscription_file = path;
+}
+
+
+bool
+Subscription::status (constChannelPtr channel)
+{
+ if (subscriptions.empty())
+ load ();
+
+ if (channel == NULL)
+ return false;
+
+ for (SubscriptionList::iterator iter = subscriptions.begin(); iter != subscriptions.end(); iter++) {
+ Subscription *sub = *iter;
+ if (sub->match (channel))
+ return true;
+ }
+
+ save ();
+
+ return false;
+}
+
+
+void
+Subscription::setStatus (constChannelPtr channel, bool subscribe_to_channel)
+{
+ bool currently_subscribed;
+
+ if (channel == NULL) return;
+
+ currently_subscribed = status (channel);
+
+ if (currently_subscribed && !subscribe_to_channel) {
+
+ /* Unsubscribe to the channel */
+ for (SubscriptionList::iterator iter = subscriptions.begin(); iter != subscriptions.end(); iter++) {
+ Subscription *sub = *iter;
+ if (sub->match (channel)) {
+ subscriptions.erase (iter);
+ subscriptions_changed = true;
+ break;
+ }
+ }
+
+ } else if (!currently_subscribed && subscribe_to_channel) {
+
+ /* Subscribe to the channel */
+ Subscription *sub;
+ sub = new Subscription (channel->id ());
+ subscriptions.push_back(sub);
+ subscriptions_changed = true;
+ }
+
+ save ();
+}
+
+//---------------------------------------------------------------------------
+
+Subscription::Subscription(const char *id)
+{
+ _channel_id = string (id);
+ _last_seen = time (NULL);
+ _old = false;
+}
+
+
+Subscription::~Subscription()
+{
+}
+
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Subscription.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Subscription_h
+#define _Subscription_h
+
+#include <iosfwd>
+#include <string>
+#include <list>
+#include <sys/time.h>
+
+#include <y2util/Ustring.h>
+#include <zypp/solver/detail/ChannelPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Subscription
+
+
+class Subscription;
+typedef std::list<Subscription *> SubscriptionList;
+
+class Subscription {
+
+ private:
+
+ static SubscriptionList subscriptions;
+ static bool subscriptions_changed;
+ static const char *subscription_file;
+
+ std::string _channel_id;
+ time_t _last_seen;
+ bool _old; // subscription imported from an old-style subs file
+
+ bool match (constChannelPtr channel);
+ static void save (void);
+ static void load (void);
+ static void load_old_subscriptions (void);
+
+ public:
+
+ Subscription (const char *id);
+ virtual ~Subscription();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Subscription & section);
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Subscription & section);
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ void setFile (const char *file);
+ static bool status (constChannelPtr channel);
+ static void setStatus (constChannelPtr channel, bool channel_is_subscribed);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Subscription_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* UndumpWorld.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/UndumpWorld.h>
+#include <zypp/solver/detail/extract.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_DERIVED_POINTER(UndumpWorld, World);
+
+//---------------------------------------------------------------------------
+
+string
+UndumpWorld::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+UndumpWorld::toString ( const UndumpWorld & world )
+{
+ return "<undumpworld/>";
+}
+
+
+ostream &
+UndumpWorld::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const UndumpWorld & world)
+{
+ return os << world.asString();
+}
+
+//---------------------------------------------------------------------------
+
+UndumpWorld::UndumpWorld (const char *filename)
+ : StoreWorld (UNDUMP_WORLD)
+{
+ load (filename);
+}
+
+
+UndumpWorld::~UndumpWorld()
+{
+ fprintf (stderr, "*** deleting undump world[%p]: %s\n", this, World::toString(type()).c_str());
+}
+
+//---------------------------------------------------------------------------
+
+
+static bool
+add_channel_cb (ChannelPtr channel, bool subscribed, void *data)
+{
+ UndumpWorld *undump = (UndumpWorld *)data;
+
+ undump->addChannel (channel);
+
+ if (!channel->system ()) {
+ undump->setSubscription (channel, subscribed);
+ }
+
+ return true;
+}
+
+
+static bool
+add_resolvable_cb (constResolvablePtr res, void *data)
+{
+ UndumpWorld *undump = (UndumpWorld *)data;
+
+ undump->addResolvable (res);
+
+ return true;
+}
+
+
+static bool
+add_lock_cb (constMatchPtr lock, void *data)
+{
+ UndumpWorld *undump = (UndumpWorld *)data;
+
+ undump->addLock (lock);
+
+ return true;
+}
+
+
+void
+UndumpWorld::load (const char *filename)
+{
+ if (filename) {
+ extract_packages_from_undump_file (filename, add_channel_cb, add_resolvable_cb, add_lock_cb, (void *)this);
+ }
+}
+
+
+void
+UndumpWorld::setSubscription (constChannelPtr channel, bool subscribe)
+{
+// if (getenv("RC_SPEW")) fprintf (stderr, "UndumpWorld::setSubscription (%s, %s)\n", channel->asString().c_str(), subscribe?"subscribe":"unsubscribe");
+ for (ChannelSubscriptions::iterator i = _subscriptions.begin(); i != _subscriptions.end(); i++) {
+ if (*i == channel) {
+ if (!subscribe) {
+ _subscriptions.erase (i);
+ }
+ return;
+ }
+ }
+
+ if (subscribe) {
+ _subscriptions.push_back (channel);
+ }
+
+ return;
+}
+
+
+bool
+UndumpWorld::isSubscribed (constChannelPtr channel) const
+{
+ for (ChannelSubscriptions::const_iterator i = _subscriptions.begin(); i != _subscriptions.end(); i++) {
+ if (*i == channel) {
+ if (getenv("RC_SPEW")) fprintf (stderr, "UndumpWorld::isSubscribed (%s) YES\n", channel->asString().c_str());
+ return true;
+ }
+ }
+
+ if (getenv("RC_SPEW")) fprintf (stderr, "UndumpWorld::isSubscribed (%s) NO\n", channel->asString().c_str());
+ return false;
+}
+
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* UndumpWorld.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _UndumpWorld_h
+#define _UndumpWorld_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <zypp/solver/detail/UndumpWorldPtr.h>
+#include <zypp/solver/detail/StoreWorld.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/World.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : UndumpWorld
+
+class UndumpWorld : public StoreWorld {
+ REP_BODY(UndumpWorld);
+
+ private:
+
+ typedef std::list<constChannelPtr> ChannelSubscriptions;
+ ChannelSubscriptions _subscriptions;
+
+ public:
+
+ UndumpWorld (const char *filename);
+ virtual ~UndumpWorld();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const UndumpWorld & section);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const UndumpWorld & section);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ void load (const char *filename);
+ virtual bool isSubscribed (constChannelPtr channel) const;
+ virtual void setSubscription (constChannelPtr channel, bool is_subscribed);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _UndumpWorld_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* UndumpWorldPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _UndumpWorldPtr_h
+#define _UndumpWorldPtr_h
+
+#include <y2util/RepDef.h>
+#include <zypp/solver/detail/WorldPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : UndumpWorldPtr
+// CLASS NAME : constUndumpWorldPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_DERIVED_POINTER(UndumpWorld, World);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _UndumpWorldPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Version.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <y2util/stringutil.h>
+
+#include <zypp/solver/detail/Version.h>
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+Version GVersion;
+
+using namespace std;
+
+string
+Version::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+Version::toString ( const Version & section )
+{
+ return "<version/>";
+}
+
+ostream &
+Version::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const Version& section)
+{
+ return os << section.asString();
+}
+
+//---------------------------------------------------------------------------
+
+static EditionPtr
+rpm_parse (const char *input)
+{
+ const char *vptr = NULL, *rptr = NULL;
+
+ if (input == NULL || *input == 0)
+ return NULL;
+
+ int epoch = -1;
+ const char *version;
+ const char *release;
+ const char *arch = "";
+
+ if ((vptr = strchr (input, ':'))) {
+ /* We -might- have an epoch here */
+ char *endptr;
+
+ epoch = strtoul (input, &endptr, 10);
+
+ if (endptr != vptr) {
+ /* No epoch here, just a : in the version string */
+ epoch = -1;
+ vptr = input;
+ } else {
+ vptr++;
+ }
+ } else {
+ vptr = input;
+ }
+
+ if ((rptr = strchr (vptr, '-'))) {
+ char *v = strndup (vptr, rptr - vptr);
+ version = v;
+ release = rptr + 1;
+ } else {
+ version = vptr;
+ release = NULL;
+ }
+
+ EditionPtr edition = new Edition(epoch, version, release, Arch::create(arch));
+
+ return edition;
+}
+
+
+/* This was stolen from RPM */
+/* And then slightly hacked on by me */
+/* And then hacked on more by me */
+
+/* compare alpha and numeric segments of two versions */
+/* return 1: a is newer than b */
+/* 0: a and b are the same version */
+/* -1: b is newer than a */
+static int
+vercmp (const char *a, const char *b)
+{
+ char oldch1, oldch2;
+ char * str1, * str2;
+ char * one, * two;
+ int rc;
+ int isnum;
+ unsigned int alen, blen;
+
+ /* easy comparison to see if versions are identical */
+ if (!strcmp(a, b)) return 0;
+
+ alen = strlen (a);
+ blen = strlen (b);
+
+ str1 = (char *)alloca(alen + 1);
+ str2 = (char *)alloca(blen + 1);
+
+ strcpy(str1, a);
+ strcpy(str2, b);
+
+ one = str1;
+ two = str2;
+
+ /* loop through each version segment of str1 and str2 and compare them */
+ while (*one && *two) {
+ while (*one && !isalnum(*one)) one++;
+ while (*two && !isalnum(*two)) two++;
+
+ str1 = one;
+ str2 = two;
+
+ /* grab first completely alpha or completely numeric segment */
+ /* leave one and two pointing to the start of the alpha or numeric */
+ /* segment and walk str1 and str2 to end of segment */
+ if (isdigit(*str1)) {
+ while (*str1 && isdigit(*str1)) str1++;
+ while (*str2 && isdigit(*str2)) str2++;
+ isnum = 1;
+ } else {
+ while (*str1 && isalpha(*str1)) str1++;
+ while (*str2 && isalpha(*str2)) str2++;
+ isnum = 0;
+ }
+
+ /* save character at the end of the alpha or numeric segment */
+ /* so that they can be restored after the comparison */
+ oldch1 = *str1;
+ *str1 = '\0';
+ oldch2 = *str2;
+ *str2 = '\0';
+
+ /* This should only happen if someone is changing the string */
+ /* behind our back. It should be a _very_ rare race condition */
+ if (one == str1) return -1; /* arbitrary */
+
+ /* take care of the case where the two version segments are */
+ /* different types: one numeric and one alpha */
+
+ /* Here's how we handle comparing numeric and non-numeric
+ * segments -- non-numeric (ximian.1) always sorts lower than
+ * numeric (0.ximian.6.1). */
+ if (two == str2)
+ return (isnum ? 1 : -1);
+
+ if (isnum) {
+ /* this used to be done by converting the digit segments */
+ /* to ints using atoi() - it's changed because long */
+ /* digit segments can overflow an int - this should fix that. */
+
+ /* throw away any leading zeros - it's a number, right? */
+ while (*one == '0') one++;
+ while (*two == '0') two++;
+
+ /* whichever number has more digits wins */
+ if (strlen(one) > strlen(two)) return 1;
+ if (strlen(two) > strlen(one)) return -1;
+ }
+
+ /* strcmp will return which one is greater - even if the two */
+ /* segments are alpha or if they are numeric. don't return */
+ /* if they are equal because there might be more segments to */
+ /* compare */
+ rc = strcmp(one, two);
+ if (rc) return rc;
+
+ /* restore character that was replaced by null above */
+ *str1 = oldch1;
+ one = str1;
+ *str2 = oldch2;
+ two = str2;
+ }
+
+ /* this catches the case where all numeric and alpha segments have */
+ /* compared identically but the segment sepparating characters were */
+ /* different */
+ if ((!*one) && (!*two)) return 0;
+
+ /* whichever version still has characters left over wins */
+ if (!*one) return -1; else return 1;
+}
+
+
+static int
+rpm_compare (constSpecPtr spec1, constSpecPtr spec2)
+{
+ int rc = 0;
+
+ assert (spec1 != NULL);
+ assert (spec2 != NULL);
+
+ const string name1 = spec1->name();
+ const string name2 = spec2->name();
+ if (! (name1.empty() && name2.empty()))
+ {
+ rc = name1.compare (name2);
+ }
+ if (rc) return rc;
+
+ if (spec1->epoch() >= 0 && spec2->epoch() >= 0) {
+ rc = spec1->epoch() - spec2->epoch();
+ } else if (spec1->epoch() > 0) {
+ rc = 1;
+ } else if (spec2->epoch() > 0) {
+ rc = -1;
+ }
+ if (rc) return rc;
+
+ rc = vercmp (spec1->version().c_str(), spec2->version().c_str());
+ if (rc) return rc;
+
+ const string rel1 = spec1->release();
+ const string rel2 = spec2->release();
+ if (!rel1.empty() && !rel2.empty()) {
+ rc = vercmp (rel1.c_str(), rel2.c_str());
+ }
+ return rc;
+}
+
+//---------------------------------------------------------------------------
+
+Version::Version()
+ : _properties (VERSION_PROP_PROVIDE_ANY | VERSION_PROP_IGNORE_ABSENT_EPOCHS)
+ , _parse (rpm_parse)
+ , _compare (rpm_compare)
+{
+}
+
+
+Version::~Version()
+{
+}
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* Version.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _Version_h
+#define _Version_h
+
+#include <iosfwd>
+#include <string.h>
+
+#include <y2util/Ustring.h>
+#include <zypp/solver/detail/Spec.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : Version
+/*
+ * Version properties: These exist to signal various parts of the
+ * world, packman, and dependency code of certain (mis)features of a
+ * packaging system.
+ *
+ * PROVIDE_ANY - An unversioned provide matches all versions. An
+ * unversioned provide translates into an RC_RELATION_ANY relation, which
+ * will meet any requirement for any version. (RPM)
+ *
+ * IGNORE_ABSENT_EPOCHS - If an epoch isn't specified in a requirement,
+ * it's ignored when verifying the provide. For example, if package "foo"
+ * requires "bar >= 2.0" then both "bar 21" and "bar 1:2.0" meet the
+ * requirement. (RPM)
+ *
+ * ALWAYS_VERIFY_RELEASE - When verifying relations, the release field is
+ * usually only compared when both the requirement specifies it. For
+ * example, a requirement of "foo > 2.0" would not be met by a package
+ * providing "foo 2.0-10", because the release field ("10") would be
+ * ignored and "2.0" is not greater than "2.0". When this property is
+ * set, however, the release field will always be compared, and the
+ * requirement in the previous example would be met, because "2.0-10" is
+ * greater than "2.0". (Debian)
+ *
+ */
+
+#define VERSION_PROP_NONE (0)
+#define VERSION_PROP_PROVIDE_ANY (1 << 0)
+#define VERSION_PROP_IGNORE_ABSENT_EPOCHS (1 << 2)
+#define VERSION_PROP_ALWAYS_VERIFY_RELEASE (1 << 4)
+
+class Version {
+
+ private:
+
+ unsigned int _properties;
+
+ EditionPtr (*_parse)(const char *input);
+
+ // compare uses SpecPtr and takes name into account
+ int (*_compare)(constSpecPtr a, constSpecPtr b);
+
+ public:
+
+ Version ();
+ virtual ~Version();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const Version & section);
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const Version & section);
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ // ---------------------------------- methods
+
+ // compare uses SpecPtr and takes name into account
+ int compare (constSpecPtr a, constSpecPtr b) const { return (*_compare) (a, b); }
+
+ EditionPtr parse (const char *input) const { return (*_parse)(input); }
+
+ bool hasProperty (unsigned int property) const { return (_properties & property) != 0; }
+
+};
+
+extern Version GVersion;
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _Version_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* World.cc
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <map>
+
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/Subscription.h>
+#include <zypp/solver/detail/Version.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(World);
+
+WorldPtr World::GlobalWorld = NULL;
+
+//---------------------------------------------------------------------------
+
+string
+World::toString (WorldType type)
+{
+ switch (type) {
+ case PLAIN_WORLD: return "plain";
+ case STORE_WORLD: return "store";
+ case MULTI_WORLD: return "multi";
+ case SERVICE_WORLD: return "service";
+ case UNDUMP_WORLD: return "undump";
+ case LOCALDIR_WORLD: return "localdir";
+ case SYSTEM_WORLD: return "system";
+ default:
+ break;
+ }
+ return "???";
+}
+
+
+string
+World::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+World::toString ( const World & world )
+{
+ return "<world/>";
+}
+
+
+ostream &
+World::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const World & world)
+{
+ return os << world.asString();
+}
+
+//---------------------------------------------------------------------------
+
+World::World (WorldType type)
+ : _type (type)
+{
+// fprintf (stderr, "*** creating world[%p]: %s\n", this, toString(_type).c_str());
+}
+
+
+World::~World()
+{
+// fprintf (stderr, "*** deleting world[%p]: %s\n", this, toString(_type).c_str());
+}
+
+//---------------------------------------------------------------------------
+// sync/refresh functions
+
+bool
+World::sync (void) const
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::sync() not implemented\n");
+ return false;
+}
+
+bool
+World::syncConditional (constChannelPtr channel) const
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::syncConditional() not implemented\n");
+ return false;
+}
+
+
+PendingPtr
+World::refresh (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::refresh() not implemented\n");
+ return 0;
+}
+
+bool
+World::hasRefresh (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::hasRefresh() not implemented\n");
+ return false;
+}
+
+
+bool
+World::isRefreshing (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::isRefreshing() not implemented\n");
+ return false;
+}
+
+
+ /* These functions are for World-implementers only! Don't call them! */
+void
+World::refreshBegin (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::refreshBegin() not implemented\n");
+ return;
+}
+
+void
+World::refreshComplete (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::refreshComplete() not implemented\n");
+ return;
+}
+
+//---------------------------------------------------------------------------
+// channels, subscriptions
+
+void
+World::setSubscription (ChannelPtr channel, bool is_subscribed)
+{
+ bool curr_subs_status;
+
+ if (channel == NULL) return;
+
+// if (getenv("RC_SPEW")) fprintf (stderr, "World::setSubscription (%s, %s)\n", channel->asString().c_str(), is_subscribed?"subscribe":"unsubscribe");
+
+ if (channel->system ()) {
+ fprintf (stderr, "Can't subscribe to system channel '%s'\n", channel->name ());
+ return;
+ }
+
+ curr_subs_status = isSubscribed (channel);
+
+ Subscription::setStatus (channel, is_subscribed);
+
+ if (curr_subs_status != isSubscribed (channel))
+ touchSubscriptionSequenceNumber ();
+
+ return;
+}
+
+
+bool
+World::isSubscribed (constChannelPtr channel) const
+{
+ if (channel == NULL) return false;
+// if (getenv("RC_SPEW")) fprintf (stderr, "World::isSubscribed (%s)\n", channel->asString().c_str());
+
+ if (channel->system ())
+ return false;
+
+ return Subscription::status (channel) ? true : false;
+}
+
+
+
+//---------------------------------------------------------------------------
+// Resolvable Locks
+
+typedef struct {
+ constResolvablePtr resolvable;
+ WorldPtr world;
+ bool is_locked;
+} IsLockedInfo;
+
+
+static bool
+is_locked_cb (constMatchPtr match, void *data)
+{
+ IsLockedInfo *info = (IsLockedInfo *)data;
+
+ if (match->test (info->resolvable, info->world)) {
+ info->is_locked = true;
+ return false;
+ }
+
+ return true;
+}
+
+
+bool
+World::resolvableIsLocked (constResolvablePtr resolvable)
+{
+ IsLockedInfo info;
+
+ info.resolvable = resolvable;
+ info.world = this;
+ info.is_locked = false;
+
+ foreachLock (is_locked_cb, &info);
+
+ return info.is_locked;
+}
+
+
+//---------------------------------------------------------------------------
+// Transacting
+
+bool
+World::canTransactResolvable (constResolvablePtr resolvable)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::canTransactResolvable() not implemented\n");
+ return false;
+}
+
+bool
+World::transact (const ResolvableList & installResolvables, const ResolvableList & remove_resolvables, int flags)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::transact() not implemented\n");
+ return false;
+}
+
+
+//---------------------------------------------------------------------------
+// XML serialization
+
+void
+World::serialize (XmlNodePtr parent)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::serialize() not implemented\n");
+ return;
+}
+
+void
+World::toFile (const char *filename)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::toFile() not implemented\n");
+ return;
+}
+
+
+//---------------------------------------------------------------------------
+// Duplicating (primarily for atomic refreshes)
+
+WorldPtr
+World::dup (void)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::dup() not implemented\n");
+ return 0;
+}
+
+
+//---------------------------------------------------------------------------
+// only used for bindings
+
+void
+World::setRefreshFunction (WorldRefreshFn refresh_fn)
+{
+ if (getenv("FIXME")) fprintf (stderr, "World::setRefreshFunction() not implemented\n");
+ return;
+}
+
+
+
+//-----------------------------------------------------------------------------
+// Upgrades
+
+typedef struct {
+ constResolvablePtr original_resolvable;
+ CResolvableFn fn;
+ void *data;
+ int count;
+ WorldPtr world;
+} ForeachUpgradeInfo;
+
+static bool
+foreach_upgrade_cb (constResolvablePtr resolvable, void *data)
+{
+ ForeachUpgradeInfo *info = (ForeachUpgradeInfo *)data;
+ int cmp;
+
+ cmp = GVersion.compare (info->original_resolvable, resolvable);
+
+ if (cmp >= 0) // original is already better
+ return true;
+
+ if (info->world->resolvableIsLocked (resolvable))
+ return true;
+
+ if (info->fn)
+ info->fn (resolvable, info->data);
+ ++info->count;
+
+ return true;
+}
+
+
+// rc_world_foreach_upgrade:
+// @world: An #RCWorld.
+// @resolvable: An #RCResolvable.
+// @channel: An #RCChannel or channel wildcard.
+// @fn: A callback function.
+// @user_data: Pointer passed to the callback function.
+//
+// Searchs @world for all resolvables whose channel matches
+// @channel and that are an upgrade for @resolvable.
+// (To be precise, an upgrade is a resolvable with the same
+// name as @resolvable but with a greater version number.)
+//
+// Return value: The number of matching resolvables
+// that the callback functions was invoked on, or
+// -1 in the case of an error.
+
+int
+World::foreachUpgrade (constResolvablePtr resolvable, ChannelPtr channel, CResolvableFn fn, void *data)
+{
+ ForeachUpgradeInfo info;
+
+ syncConditional (channel);
+
+ info.original_resolvable = resolvable;
+ info.fn = fn;
+ info.data = data;
+ info.count = 0;
+ info.world = this;
+
+ foreachResolvableByName (resolvable->name(), channel, foreach_upgrade_cb, (void *)&info);
+
+ return info.count;
+}
+
+
+
+typedef struct {
+ WorldPtr world;
+ constResolvablePtr system_resolvable;
+ CResolvableList best_upgrades;
+ bool subscribed_only;
+ ResolvablePairFn fn;
+ void *data;
+ int count;
+} SystemUpgradeInfo;
+
+
+static bool
+foreach_system_upgrade_cb (constResolvablePtr upgrade, void *data)
+{
+ SystemUpgradeInfo *info = (SystemUpgradeInfo *)data;
+ constChannelPtr channel = upgrade->channel();
+ int cmp;
+
+ if (info->subscribed_only) {
+ if (!(channel && channel->isSubscribed ()))
+ return true;
+ }
+
+ if (info->world->resolvableIsLocked (upgrade))
+ return true;
+
+ if (info->best_upgrades.empty()) {
+ info->best_upgrades.push_back (upgrade);
+ }
+ else {
+ /* All the versions are equal, so picking the first is fine */
+ constResolvablePtr best_up = info->best_upgrades.front();
+
+ cmp = GVersion.compare (best_up, upgrade);
+
+ if (cmp <= 0) {
+ /* We have a new best resolvable... */
+ info->best_upgrades.pop_front();
+ info->best_upgrades.push_back (upgrade);
+ }
+ }
+
+ return true;
+}
+
+
+static void
+foreach_system_resolvable_cb (const string & name, constResolvablePtr resolvable, SystemUpgradeInfo *info)
+{
+ info->system_resolvable = resolvable;
+ info->best_upgrades.clear();
+
+ /* If the resolvable is excluded, skip it. */
+ if (info->world->resolvableIsLocked (info->system_resolvable))
+ return;
+
+ info->world->foreachUpgrade (info->system_resolvable, new Channel (CHANNEL_TYPE_NONSYSTEM), foreach_system_upgrade_cb, info);
+
+ for (CResolvableList::const_iterator iter = info->best_upgrades.begin(); iter != info->best_upgrades.end(); iter++) {
+ constResolvablePtr upgrade = *iter;
+
+ if (info->fn)
+ info->fn (info->system_resolvable, upgrade, info->data);
+
+ ++info->count;
+ }
+
+ info->best_upgrades.clear();
+}
+
+typedef map<const string,constResolvablePtr> UniqueTable;
+
+static bool
+build_unique_table_cb (constResolvablePtr resolvable, void *data)
+{
+ UniqueTable *unique_table = (UniqueTable *)data;
+
+ UniqueTable::const_iterator pos = unique_table->find (resolvable->name());
+
+ if (pos != unique_table->end()) {
+ if (GVersion.compare (resolvable, pos->second) <= 0)
+ return true;
+ }
+
+ (*unique_table)[resolvable->name()] = resolvable;
+
+ return true;
+}
+
+
+/**
+ * foreachSystemUpgrade:
+ * @world: An #RCWorld.
+ * @subscribed_only: if TRUE, only subscribed channels are used.
+ * @fn: A callback function.
+ * @user_data: Pointer to be passed to the callback function.
+ *
+ * Iterates across all system resolvables in @world for which there
+ * exists an upgrade, and passes both the original resolvable and
+ * the upgrade resolvable to the callback function.
+ *
+ * Return value: The number of matching resolvables that the callback
+ * function was invoked on, or -1 in case of an error.
+ **/
+
+int
+World::foreachSystemUpgrade (bool subscribed_only, ResolvablePairFn fn, void *data)
+{
+ SystemUpgradeInfo info;
+ UniqueTable unique_table;
+
+ /* rc_world_foreach_resolvable calls rc_world_sync */
+
+ foreachResolvable (new Channel (CHANNEL_TYPE_SYSTEM), build_unique_table_cb, &unique_table);
+
+ info.world = this;
+ info.subscribed_only = subscribed_only;
+ info.fn = fn;
+ info.data = data;
+ info.count = 0;
+
+ for (UniqueTable::const_iterator iter = unique_table.begin(); iter != unique_table.end(); iter++) {
+ foreach_system_resolvable_cb (iter->first, iter->second, &info);
+ }
+
+ return info.count;
+}
+
+
+PackageUpdateList
+World::getUpgrades (constResolvablePtr resolvable, constChannelPtr channel)
+{
+ fprintf (stderr, "World::getUpgrades not implemented\n");
+ return PackageUpdateList();
+}
+
+constResolvablePtr
+World::getBestUpgrade (constResolvablePtr resolvable, bool subscribed_only)
+{
+ fprintf (stderr, "World::getBestUpgrade not implemented\n");
+ return 0;
+}
+
+
+//-----------------------------------------------------------------------------
+// Locks
+
+int
+World::foreachLock (MatchFn fn, void *data) const
+{
+ int count = 0;
+
+ for (MatchList::const_iterator iter = _locks.begin(); iter != _locks.end(); iter++) {
+ if (! fn (*iter, data))
+ return -1;
+ ++count;
+ }
+
+ return count;
+}
+
+
+void
+World::addLock (constMatchPtr lock)
+{
+ _locks.push_back (lock);
+}
+
+
+void
+World::removeLock (constMatchPtr lock)
+{
+ for (MatchList::iterator iter = _locks.begin(); iter != _locks.end(); iter++) {
+ if (*iter == lock) {
+ _locks.erase (iter);
+ break;
+ }
+ }
+}
+
+
+void
+World::clearLocks (void)
+{
+ _locks.clear();
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* World.h
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _World_h
+#define _World_h
+
+#include <iosfwd>
+#include <list>
+#include <string.h>
+
+#include <zypp/solver/detail/WorldPtr.h>
+#include <zypp/solver/detail/MultiWorldPtr.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/Match.h>
+#include <zypp/solver/detail/Pending.h>
+#include <zypp/solver/detail/Packman.h>
+#include <zypp/solver/detail/Package.h>
+#include <zypp/solver/detail/PackageUpdate.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+
+typedef std::list <constWorldPtr> WorldList;
+
+class NameConflictInfo;
+
+//////////////////////////////////////////////////////////////////
+
+typedef enum {
+ PLAIN_WORLD = 0,
+ STORE_WORLD,
+ MULTI_WORLD,
+ SERVICE_WORLD,
+ UNDUMP_WORLD,
+ LOCALDIR_WORLD,
+ SYSTEM_WORLD
+} WorldType;
+
+typedef bool (*WorldFn) (constWorldPtr world, void *user_data);
+typedef PendingPtr (*WorldRefreshFn) (constWorldPtr world);
+
+#if 0
+typedef bool (*WorldSyncFn) (constWorldPtr world, constChannelPtr channel);
+typedef PackmanPtr (*WorldPackmanFn) (constWorldPtr world, const Kind & kind);
+typedef void (*WorldSpewFn) (constWorldPtr world, FILE *out);
+typedef constWorldPtr (*WorldDupFn) (constWorldPtr world);
+
+typedef bool (*WorldCanTransactResolvableFn) (constWorldPtr world, constResolvablePtr resolvable);
+typedef bool (*WorldTransactFn) (constWorldPtr world, const ResolvableList & install_resolvables, const ResolvableList & remove_resolvables, int flags);
+
+typedef bool (*WorldGetSubscribedFn) (const World *world, constChannelPtr channel);
+typedef void (*WorldSetSubscribedFn) (World *world, ChannelPtr channel, bool subs_status);
+
+typedef int (*WorldForeachChannelFn) (const World *world, ChannelFn callback, void *user_data);
+typedef int (*WorldForeachLockFn) (constWorldPtr world, MatchFn callback, void *user_data);
+
+typedef void (*WorldAddLockFn) (constWorldPtr world, constMatchPtr lock);
+typedef void (*WorldRemoveLockFn) (constWorldPtr world, constMatchPtr lock);
+typedef void (*WorldClearLockFn) (constWorldPtr world);
+
+typedef int (*WorldForeachResolvableFn) (constWorldPtr world, const char *name, constChannelPtr channel, ResolvableFn callback, void *user_data);
+typedef int (*WorldForeachPackageSpecFn) (constWorldPtr world, constDependencyPtr dep, ResolvableAndSpecFn callback, void *user_data);
+typedef int (*WorldForeachPackageDepFn) (constWorldPtr world, constDependencyPtr dep, ResolvableAndDepFn callback, void *user_data);
+
+typedef void (*WorldSerializeFn) (constWorldPtr world, constXmlNodePtr root);
+typedef void (*WorldUnserializeFn) (constWorldPtr world, constXmlNodePtr node);
+
+#endif
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : World
+
+class World : public CountedRep {
+ REP_BODY(World);
+
+ private:
+ static WorldPtr GlobalWorld;
+
+ WorldType _type;
+
+ /* The sequence numbers gets incremented every
+ time the RCWorld is changed. */
+
+ unsigned int _seq_no_resolvables;
+ unsigned int _seq_no_channels;
+ unsigned int _seq_no_subscriptions;
+ unsigned int _seq_no_locks;
+
+ /* Every world needs to be able to store locks, so we provide a
+ place for that. Of course, derived classes are allowed to
+ provide their own exotic lock semantics by providing their
+ own *_lock_fn methods. */
+ MatchList _lock_store;
+
+ bool _refresh_pending;
+
+ /* a bad hack to keep us from emitting signals while finalizing */
+ bool _no_changed_signals;
+
+ /* For unserialized worlds currently. If a world is read only,
+ you can not refresh or transact on it. */
+ bool _read_only;
+
+ MatchList _locks;
+
+ public:
+
+ World (WorldType type = PLAIN_WORLD);
+ virtual ~World();
+
+ // ---------------------------------- I/O
+
+ static std::string toString (const World & section);
+
+ static std::string toString (WorldType type);
+
+ virtual std::ostream & dumpOn(std::ostream & str ) const;
+
+ friend std::ostream& operator<<(std::ostream&, const World & section);
+
+ std::string asString (void ) const;
+
+ // ---------------------------------- accessors
+
+ WorldType type() const { return _type; }
+ bool isPlainWorld () const { return _type == PLAIN_WORLD; }
+ bool isUndumpWorld () const { return _type == UNDUMP_WORLD; }
+ bool isMultiWorld () const { return _type == MULTI_WORLD; }
+ bool isServiceWorld () const { return _type == SERVICE_WORLD; }
+
+ unsigned int resolvableSequenceNumber (void) const { return _seq_no_resolvables; }
+ unsigned int channelSequenceNumber (void) const { return _seq_no_channels; }
+ unsigned int subscriptionSequenceNumber (void) const { return _seq_no_subscriptions; }
+ unsigned int lockSequenceNumber (void) const { return _seq_no_locks; }
+
+ void touchResolvableSequenceNumber (void) { _seq_no_resolvables++; }
+ void touchChannelSequenceNumber (void) { _seq_no_channels++; }
+ void touchSubscriptionSequenceNumber (void) { _seq_no_subscriptions++; }
+ void touchLockSequenceNumber (void) { _seq_no_locks++; }
+
+ MatchList locks (void) const { return _lock_store; }
+
+ // ---------------------------------- methods
+
+ static void setGlobalWorld (MultiWorldPtr world) { GlobalWorld = world; }
+ static MultiWorldPtr globalWorld (void) { return GlobalWorld; }
+
+ //RCPackman *get_packman (GType);
+
+ bool sync (void) const;
+ virtual bool syncConditional (constChannelPtr channel) const;
+ PendingPtr refresh (void);
+ bool hasRefresh (void);
+ bool isRefreshing (void);
+
+ /* These functions are for World-implementers only! Don't call them! */
+ void refreshBegin (void);
+ void refreshComplete (void);
+
+ virtual int foreachChannel (ChannelFn fn, void *user_data) const = 0;
+
+ virtual void setSubscription (ChannelPtr channel, bool is_subscribed);
+ virtual bool isSubscribed (constChannelPtr channel) const;
+
+ virtual ChannelList channels () const = 0;
+ virtual bool containsChannel (constChannelPtr channel) const = 0;
+
+ virtual ChannelPtr getChannelByName (const char *channel_name) const = 0;
+ virtual ChannelPtr getChannelByAlias (const char *alias) const = 0;
+ virtual ChannelPtr getChannelById (const char *channel_id) const = 0;
+
+ // Resolvable Locks
+
+ virtual int foreachLock (MatchFn fn, void *data) const;
+
+ void addLock (constMatchPtr lock);
+ void removeLock (constMatchPtr lock);
+ void clearLocks ();
+
+ bool resolvableIsLocked (constResolvablePtr resolvable);
+
+ // Single resolvable queries
+
+ virtual constResolvablePtr findInstalledResolvable (constResolvablePtr resolvable) = 0;
+ virtual constResolvablePtr findResolvable (constChannelPtr channel, const char *name) const = 0;
+ virtual constResolvablePtr findResolvableWithConstraint (constChannelPtr channel, const char *name, constDependencyPtr constraint, bool is_and) const = 0;
+ virtual ChannelPtr guessResolvableChannel (constResolvablePtr resolvable) const = 0;
+
+ // Iterate across resolvables
+
+ virtual int foreachResolvable (ChannelPtr channel, CResolvableFn fn, void *data) = 0;
+ virtual int foreachResolvableByName (const std::string & name, ChannelPtr channel, CResolvableFn fn, void *user_data) = 0;
+ virtual int foreachResolvableByMatch (constMatchPtr match, CResolvableFn fn, void *user_data) = 0;
+
+ // Iterate across provides or requirement
+
+ virtual int foreachProvidingResolvable (constDependencyPtr dep, ResolvableAndSpecFn fn, void *user_data) = 0;
+ virtual int foreachRequiringResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *user_data) = 0;
+ virtual int foreachConflictingResolvable (constDependencyPtr dep, ResolvableAndDepFn fn, void *user_data) = 0;
+
+ // upgrades
+
+ int foreachUpgrade (constResolvablePtr resolvable, ChannelPtr channel, CResolvableFn fn, void *data);
+ PackageUpdateList getUpgrades (constResolvablePtr resolvable, constChannelPtr channel);
+ constResolvablePtr getBestUpgrade (constResolvablePtr resolvable, bool subscribed_only);
+ int foreachSystemUpgrade (bool subscribed_only, ResolvablePairFn fn, void *data);
+
+ // provider
+
+ bool getSingleProvider (constDependencyPtr dep, constChannelPtr channel, constResolvablePtr *resolvable);
+
+ // Transacting
+
+ bool canTransactResolvable (constResolvablePtr resolvable);
+ bool transact (const ResolvableList & installResolvables, const ResolvableList & remove_resolvables, int flags);
+
+ // XML serialization
+
+ void serialize (XmlNodePtr parent);
+ void toFile (const char *filename);
+
+ // Duplicating (primarily for atomic refreshes)
+ WorldPtr dup (void);
+
+ // only used for bindings
+ void setRefreshFunction (WorldRefreshFn refresh_fn);
+
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _World_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* WorldPtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _WorldPtr_h
+#define _WorldPtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : WorldPtr
+// CLASS NAME : constWorldPtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(World);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _WorldPtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* XmlNode.cc wrapper for xmlNodePtr from libxml2
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Definition of 'edition'
+ * contains epoch-version-release-arch
+ * and comparision functions
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+IMPL_BASE_POINTER(XmlNode);
+
+//---------------------------------------------------------------------------
+
+XmlNode::XmlNode (const xmlNodePtr node)
+ : _node(node)
+{
+}
+
+XmlNode::XmlNode (const char *name)
+ : _node(xmlNewNode (NULL, (const xmlChar *)name))
+{
+}
+
+XmlNode::~XmlNode ()
+{
+}
+
+//---------------------------------------------------------------------------
+
+string
+XmlNode::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+XmlNode::toString ( const XmlNode & node )
+{
+ return "<xmlnode/>";
+}
+
+
+ostream &
+XmlNode::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const XmlNode& node)
+{
+ return os << node.asString();
+}
+
+//---------------------------------------------------------------------------
+
+const char *
+XmlNode::getValue (const char *name, const char *deflt) const
+{
+ char *ret;
+ xmlChar *xml_s;
+ xmlNode *child;
+
+ xml_s = xmlGetProp(_node, (const xmlChar *)name);
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlNode::getValue(%s) xmlGetProp '%s'\n", name, (char *)xml_s);
+
+ if (xml_s) {
+ ret = strdup ((const char *)xml_s);
+ xmlFree (xml_s);
+ return ret;
+ }
+
+ child = _node->xmlChildrenNode;
+
+ while (child) {
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlNode::getValue(%s) child '%s'\n", name, (const char *)(child->name));
+ if (strcasecmp((const char *)(child->name), name) == 0) {
+ xml_s = xmlNodeGetContent(child);
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlNode::getValue(%s) xmlNodeGetContent '%s'\n", name, (char *)xml_s);
+ if (xml_s) {
+ ret = strdup ((const char *)xml_s);
+ xmlFree (xml_s);
+ return ret;
+ }
+ }
+ child = child->next;
+ }
+
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlNode::getValue(%s) NULL\n", name);
+ return deflt;
+}
+
+
+const char *
+XmlNode::getProp (const char *name, const char *deflt) const
+{
+ xmlChar *ret;
+ char *gs;
+
+ ret = xmlGetProp (_node, (const xmlChar *)name);
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlNode::getProp(%s) xmlGetProp '%s'\n", name, (char *)ret);
+ if (ret) {
+ gs = strdup ((const char *)ret);
+ xmlFree (ret);
+ return gs;
+ }
+ return deflt;
+}
+
+
+bool
+XmlNode::getIntValue (const char *name, int *value) const
+{
+ const char *strval;
+ char *ret;
+ int z;
+
+ strval = this->getValue (name, NULL);
+ if (!strval) {
+ return false;
+ }
+
+ z = strtol (strval, &ret, 10);
+ if (*ret != '\0') {
+ free ((void *)strval);
+ return false;
+ }
+
+ free ((void *)strval);
+ *value = z;
+ return true;
+}
+
+
+int
+XmlNode::getIntValueDefault (const char *name, int def) const
+{
+ int z;
+ if (this->getIntValue (name, &z))
+ return z;
+ else
+ return def;
+}
+
+
+unsigned int
+XmlNode::getUnsignedIntValueDefault (const char *name, unsigned int def) const
+{
+ unsigned int z;
+ if (this->getUnsignedIntValue (name, &z))
+ return z;
+ else
+ return def;
+}
+
+
+bool
+XmlNode::getUnsignedIntValue (const char *name, unsigned int *value) const
+{
+ const char *strval;
+ char *ret;
+ int z;
+
+ strval = this->getValue (name, NULL);
+ if (!strval) {
+ return false;
+ }
+
+ z = strtoul (strval, &ret, 10);
+ if (*ret != '\0') {
+ free ((void *)strval);
+ return false;
+ }
+
+ free ((void *)strval);
+ *value = z;
+ return true;
+}
+
+
+unsigned int
+XmlNode::getUnsignedIntPropDefault (const char *name, unsigned int def) const
+{
+ xmlChar *buf;
+ unsigned int ret;
+
+ buf = xmlGetProp (_node, (const xmlChar *)name);
+
+ if (buf) {
+ ret = strtol ((const char *)buf, NULL, 10);
+ xmlFree (buf);
+ return (ret);
+ } else {
+ return (def);
+ }
+}
+
+
+const char *
+XmlNode::getContent (void) const
+{
+ xmlChar *buf;
+ char *ret;
+
+ buf = xmlNodeGetContent (_node);
+
+ ret = strdup ((const char *)buf);
+
+ xmlFree (buf);
+
+ return (ret);
+}
+
+
+unsigned int
+XmlNode::getUnsignedIntContentDefault (unsigned int def) const
+{
+ xmlChar *buf;
+ unsigned int ret;
+
+ buf = xmlNodeGetContent (_node);
+
+ if (buf) {
+ ret = strtol ((const char *)buf, NULL, 10);
+ xmlFree (buf);
+ return (ret);
+ } else {
+ return (def);
+ }
+}
+
+
+const XmlNodePtr
+XmlNode::getNode (const char *name) const
+{
+ xmlNodePtr iter;
+
+ for (iter = _node->xmlChildrenNode; iter; iter = iter->next) {
+ if (strcasecmp ((const char *)(iter->name), name) == 0) {
+ return new XmlNode (iter);
+ }
+ }
+
+ return NULL;
+}
+
+
+//---------------------------------------------------------------------------
+
+
+void
+XmlNode::addTextChild (const char *name, const char *content)
+{
+ xmlNewTextChild (_node, NULL, (const xmlChar *)name, (const xmlChar *)content);
+}
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* XmlNode.h wrapper for xmlNode* from libxml2
+ *
+ * Copyright (C) 2000-2003 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _XmlNode_h
+#define _XmlNode_h
+
+#include <list>
+
+#include <iosfwd>
+#include <string>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+
+#include <zypp/solver/detail/XmlNodePtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : XmlNode
+
+class XmlNode : public CountedRep
+{
+ REP_BODY(XmlNode);
+
+ private:
+ const xmlNodePtr _node;
+
+ public:
+ XmlNode (const xmlNodePtr node);
+ XmlNode (const char *name);
+ virtual ~XmlNode ();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const XmlNode & node );
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream&, const XmlNode & );
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ const char *name() const { return ((const char *)(_node->name)); }
+ xmlNodePtr node() const { return (_node); }
+ XmlNodePtr next() const { return (_node->next == NULL ? NULL : new XmlNode (_node->next)); }
+ XmlNodePtr children() const { return (_node->xmlChildrenNode == NULL ? NULL : new XmlNode (_node->xmlChildrenNode)); }
+ xmlElementType type() const { return (_node->type); }
+
+ // ---------------------------------- methods
+
+ const char *getProp (const char *name, const char *deflt = "") const;
+ const char *getValue (const char *name, const char *deflt = "") const;
+ const char *getContent (void) const;
+
+ bool equals (const char *n) const { return (strcasecmp (name(), n) == 0); }
+ bool isElement (void) const { return (type() == XML_ELEMENT_NODE); }
+
+ bool match (const char *str) const { return (! strcasecmp ((const char *)(_node->name), str)); }
+
+ const XmlNodePtr getNode (const char *name) const;
+
+ // The former will get either a property or a tag, whereas the latter will
+ // get only a property
+
+ bool getIntValue (const char *name, int *value) const;
+ int getIntValueDefault (const char *name, int def) const;
+
+ bool getUnsignedIntValue (const char *name, unsigned int *value) const;
+ unsigned int getUnsignedIntValueDefault (const char *name, unsigned int def) const;
+
+ unsigned int getUnsignedIntPropDefault (const char *name, unsigned int def) const;
+
+ unsigned int getUnsignedIntContentDefault (unsigned int def) const;
+
+ void addTextChild (const char *name, const char *content);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+
+#endif // _XmlNode_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* XmlNodePtr.h
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _XmlNodePtr_h
+#define _XmlNodePtr_h
+
+#include <y2util/RepDef.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+// CLASS NAME : XmlNodePtr
+// CLASS NAME : constXmlNodePtr
+///////////////////////////////////////////////////////////////////
+DEFINE_BASE_POINTER(XmlNode);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif // _XmlNodePtr_h
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* XmlParser.cc wrapper for XML I/O
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <config.h>
+#include <ctype.h>
+#include <assert.h>
+
+#include <zypp/solver/detail/XmlParser.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/OrDependency.h>
+#include <zypp/solver/detail/PackageUpdate.h>
+#include <zypp/solver/detail/utils.h>
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+//---------------------------------------------------------------------------
+
+static DependencyPtr
+parse_dep_attrs(bool *is_obsolete, const xmlChar **attrs)
+{
+ int i;
+ bool op_present = false;
+ /* Temporary variables dependent upon the presense of an 'op' attribute */
+ const char *name = NULL;
+ int epoch = -1;
+ string version;
+ string release;
+ string arch;
+ Relation relation = Relation::Any;
+
+ *is_obsolete = false;
+
+ for (i = 0; attrs[i]; i++) {
+ const char *attr = (const char *)attrs[i++];
+ const char *value = (const char *)attrs[i];
+
+ if (!strcasecmp(attr, "name")) name = value;
+ else if (!strcasecmp(attr, "op")) { op_present = true; relation = Relation::parse(value); }
+ else if (!strcasecmp(attr, "epoch")) epoch = atoi (value);
+ else if (!strcasecmp(attr, "version")) version = value;
+ else if (!strcasecmp(attr, "release")) release = value;
+ else if (!strcasecmp(attr, "arch")) arch = value;
+ else if (!strcasecmp (attr, "obsoletes")) *is_obsolete = true;
+ else {
+ if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "! Unknown attribute: %s = %s", attr, value);
+ }
+
+ }
+
+ /* FIXME: should get Channel from XML */
+ /* FIXME: should get Kind from XML */
+ return new Dependency (name, relation, Kind::Package, new Channel(CHANNEL_TYPE_ANY), epoch, version, release, Arch::create(arch));
+}
+
+
+//---------------------------------------------------------------------------
+// SAX callbacks
+
+static void
+sax_start_document(void *ptr)
+{
+ XmlParser *ctx = (XmlParser *)ptr;
+ if (ctx->processing()) return;
+
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "* Start document");
+
+ ctx->setProcessing (true);
+}
+
+
+static void
+sax_end_document(void *ptr)
+{
+ XmlParser *ctx = (XmlParser *)ptr;
+ if (!ctx->processing()) return;
+
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "* End document");
+
+ ctx->setProcessing (false);
+}
+
+
+static void
+sax_start_element(void *ptr, const xmlChar *name, const xmlChar **attrs)
+{
+ XmlParser *ctx = (XmlParser *)ptr;
+
+ ctx->releaseBuffer();
+
+#if 0
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "* Start element (%s)", (const char *)name);
+
+ if (attrs) {
+ for (int i = 0; attrs[i]; i += 2) {
+ if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, " - Attribute (%s=%s)", (const char *)attrs[i], (const char *)attrs[i+1]);
+ }
+ }
+#endif
+ if (!strcmp((const char *)name, "channel") || !strcmp((const char *)name, "subchannel")) {
+ /* Unneeded container tags. Ignore */
+ return;
+ }
+
+ return ctx->startElement ((const char *)name, attrs);
+
+}
+
+
+static void
+sax_end_element(void *ptr, const xmlChar *name)
+{
+ XmlParser *ctx = (XmlParser *)ptr;
+
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "* End element (%s)", (const char *)name);
+
+ if (!strcmp((const char *)name, "channel") || !strcmp((const char *)name, "subchannel")) {
+ /* Unneeded container tags. Ignore */
+ name = NULL;
+ }
+
+ return ctx->endElement ((const char *)name);
+}
+
+
+static void
+sax_characters(void *ptr, const xmlChar *ch, int len)
+{
+ XmlParser *ctx = (XmlParser *)ptr;
+
+ ctx->toBuffer ((const char *)ch, len);
+ return;
+}
+
+
+static void
+sax_warning(void *ptr, const char *msg, ...)
+{
+ va_list args;
+ char tmp[2048];
+
+ va_start(args, msg);
+
+ if (vsnprintf(tmp, 2048, msg, args) >= 2048) fprintf (stderr, "vsnprintf overflow\n");
+ rc_debug (RC_DEBUG_LEVEL_WARNING, "* SAX Warning: %s", tmp);
+
+ va_end(args);
+}
+
+
+static void
+sax_error(void *ptr, const char *msg, ...)
+{
+ va_list args;
+ char tmp[2048];
+
+ va_start(args, msg);
+
+ if (vsnprintf(tmp, 2048, msg, args) >= 2048) fprintf (stderr, "vsnprintf overflow\n");
+ rc_debug (RC_DEBUG_LEVEL_ERROR, "* SAX Error: %s", tmp);
+
+ va_end(args);
+}
+
+
+static xmlSAXHandler sax_handler = {
+ NULL, /* internalSubset */
+ NULL, /* isStandalone */
+ NULL, /* hasInternalSubset */
+ NULL, /* hasExternalSubset */
+ NULL, /* resolveEntity */
+ NULL, /* getEntity */
+ NULL, /* entityDecl */
+ NULL, /* notationDecl */
+ NULL, /* attributeDecl */
+ NULL, /* elementDecl */
+ NULL, /* unparsedEntityDecl */
+ NULL, /* setDocumentLocator */
+ sax_start_document, /* startDocument */
+ sax_end_document, /* endDocument */
+ sax_start_element, /* startElement */
+ sax_end_element, /* endElement */
+ NULL, /* reference */
+ sax_characters, /* characters */
+ NULL, /* ignorableWhitespace */
+ NULL, /* processingInstruction */
+ NULL, /* comment */
+ sax_warning, /* warning */
+ sax_error, /* error */
+ sax_error /* fatalError */
+};
+
+//---------------------------------------------------------------------------
+
+XmlParser::XmlParser (constChannelPtr channel)
+ : _channel (channel)
+ , _processing (false)
+ , _xml_context (NULL)
+ , _state (PARSER_TOPLEVEL)
+ , _current_package (NULL)
+ , _current_update (NULL)
+ , _toplevel_dep_list (NULL)
+ , _current_dep_list (NULL)
+ , _text_buffer (NULL)
+ , _text_buffer_size (0)
+{
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "* Context created (%p)", this);
+}
+
+
+XmlParser::~XmlParser()
+{
+ releaseBuffer ();
+}
+
+//---------------------------------------------------------------------------
+
+string
+XmlParser::asString ( void ) const
+{
+ return toString (*this);
+}
+
+
+string
+XmlParser::toString ( const XmlParser & context )
+{
+ return "<XmlParser/>";
+}
+
+
+ostream &
+XmlParser::dumpOn( ostream & str ) const
+{
+ str << asString();
+ return str;
+}
+
+
+ostream&
+operator<<( ostream& os, const XmlParser& context)
+{
+ return os << context.asString();
+}
+
+//---------------------------------------------------------------------------
+
+void
+XmlParser::toBuffer (const char *data, size_t size)
+{
+ _text_buffer = (char *)realloc (_text_buffer, _text_buffer_size + size + 1);
+ strncpy (_text_buffer + _text_buffer_size, (char *)data, size);
+ _text_buffer_size += size;
+ _text_buffer[_text_buffer_size] = 0;
+
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser[%p]::toBuffer(%.32s...,%ld)\n", this, data, (long)size);
+}
+
+
+void
+XmlParser::releaseBuffer ()
+{
+ if (_text_buffer)
+ free (_text_buffer);
+ _text_buffer = NULL;
+ _text_buffer_size = 0;
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser[%p]::releaseBuffer()\n", this);
+}
+
+
+void
+XmlParser::parseChunk(const char *xmlbuf, size_t size)
+{
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::parseChunk(%.32s...,%ld)\n", xmlbuf, (long)size);
+
+ xmlSubstituteEntitiesDefault(true);
+
+ if (!_xml_context) {
+ _xml_context = xmlCreatePushParserCtxt(&sax_handler, this, NULL, 0, NULL);
+ }
+
+ xmlParseChunk(_xml_context, xmlbuf, size, 0);
+}
+
+
+PackageList
+XmlParser::done()
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::done()\n");
+
+ if (_processing)
+ xmlParseChunk(_xml_context, NULL, 0, 1);
+
+ if (_xml_context)
+ xmlFreeParserCtxt(_xml_context);
+
+ if (_current_package) {
+ fprintf (stderr, "Incomplete package lost\n");
+ }
+
+ if (_current_update) {
+ fprintf (stderr, "Incomplete update lost");
+ }
+
+ return _all_packages;
+}
+
+
+//---------------------------------------------------------------------------
+// Parser state callbacks
+
+void
+XmlParser::startElement(const char *name, const xmlChar **attrs)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::startElement(%s)\n", name);
+
+ switch (_state) {
+ case PARSER_TOPLEVEL:
+ toplevelStart(name, attrs);
+ break;
+ case PARSER_PACKAGE:
+ packageStart(name, attrs);
+ break;
+ case PARSER_HISTORY:
+ historyStart(name, attrs);
+ break;
+ case PARSER_DEP:
+ dependencyStart(name, attrs);
+ break;
+ default:
+ break;
+ }
+
+ return;
+}
+
+
+void
+XmlParser::endElement(const char *name)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::endElement(%s)\n", name);
+
+ if (name != NULL) { // sax_end_element might set name to NULL
+ switch (_state) {
+ case PARSER_PACKAGE:
+ packageEnd(name);
+ break;
+ case PARSER_HISTORY:
+ historyEnd(name);
+ break;
+ case PARSER_UPDATE:
+ updateEnd(name);
+ break;
+ case PARSER_DEP:
+ dependencyEnd(name);
+ break;
+ default:
+ break;
+ }
+ }
+
+ releaseBuffer();
+
+ return;
+}
+
+
+void
+XmlParser::toplevelStart(const char * name, const xmlChar **attrs)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::toplevelStart(%s)\n", name);
+
+ if (!strcmp(name, "package")) {
+ assert(_current_package == NULL);
+
+ _state = PARSER_PACKAGE;
+
+ _current_package = new Package(_channel);
+ _current_requires.clear();
+ _current_provides.clear();
+ _current_conflicts.clear();
+ _current_children.clear();
+ _current_recommends.clear();
+ _current_suggests.clear();
+ _current_obsoletes.clear();
+
+ }
+ else {
+ if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "! Not handling %s at toplevel", (const char *)name);
+ }
+}
+
+
+void
+XmlParser::packageStart(const char * name, const xmlChar **attrs)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageStart(%s)\n", name);
+
+ assert(_current_package != NULL);
+
+ /* Only care about the containers here */
+ if (!strcmp((const char *)name, "history")) {
+ _state = PARSER_HISTORY;
+ }
+ else if (!strcmp (name, "deps")) {
+ /*
+ * We can get a <deps> tag surrounding the actual package
+ * dependency sections (requires, provides, conflicts, etc).
+ * In this case, we'll just ignore this tag quietly.
+ */
+ }
+ else if (!strcmp(name, "requires")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_requires;
+ }
+ else if (!strcmp(name, "recommends")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_recommends;
+ }
+ else if (!strcmp(name, "suggests")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_suggests;
+ }
+ else if (!strcmp(name, "conflicts")) {
+ bool is_obsolete = false;
+ int i;
+
+ _state = PARSER_DEP;
+
+ for (i = 0; attrs && attrs[i] && !is_obsolete; i += 2) {
+
+ if (!strcasecmp ((const char *)(attrs[i]), "obsoletes"))
+ is_obsolete = true;
+ }
+
+ if (is_obsolete)
+ _current_dep_list = _toplevel_dep_list = &_current_obsoletes;
+ else {
+ _current_dep_list = _toplevel_dep_list = &_current_conflicts;
+ }
+ }
+ else if (!strcmp(name, "obsoletes")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_obsoletes;
+ }
+ else if (!strcmp(name, "provides")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_provides;
+ }
+ else if (!strcmp(name, "children")) {
+ _state = PARSER_DEP;
+ _current_dep_list = _toplevel_dep_list = &_current_children;
+ }
+ else {
+// if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "! Not handling %s in package start", name);
+ }
+}
+
+
+void
+XmlParser::historyStart(const char * name, const xmlChar **attrs)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::historyStart(%s)\n", name);
+
+ assert(_current_package != NULL);
+
+ if (!strcmp(name, "update")) {
+ assert(_current_update == NULL);
+
+ _current_update = new PackageUpdate(_current_package->name());
+
+ _state = PARSER_UPDATE;
+ }
+ else {
+ if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "! Not handling %s in history", name);
+ }
+}
+
+
+void
+XmlParser::dependencyStart(const char *name, const xmlChar **attrs)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::dependencyStart(%s)\n", name);
+
+ if (!strcmp(name, "dep")) {
+ DependencyPtr dep;
+ bool is_obsolete;
+
+ dep = parse_dep_attrs(&is_obsolete, attrs);
+
+ if (is_obsolete)
+ _current_obsoletes.push_back (dep);
+ else {
+ _current_dep_list->push_back (dep);
+ }
+ }
+ else if (!strcmp(name, "or"))
+ _current_dep_list = new CDependencyList;
+ else {
+ if (getenv ("RC_SPEW_XML")) rc_debug (RC_DEBUG_LEVEL_ALWAYS, "! Not handling %s in dependency", name);
+ }
+}
+
+
+//---------------------------------------------------------------------------
+
+
+void
+XmlParser::packageEnd(const char *name)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageEnd(%s)\n", name);
+
+ assert(_current_package != NULL);
+
+ if (!strcmp(name, "package")) {
+ PackageUpdatePtr update;
+
+ /* If possible, grab the version info from the most recent update.
+ * Otherwise, try to find where the package provides itself and use
+ * that version info.
+ */
+ update = _current_package->getLatestUpdate();
+
+ if (update) {
+ _current_package->setName (update->name());
+ _current_package->setKind (update->kind());
+ _current_package->setEdition (update->edition());
+ _current_package->setFileSize (update->packageSize());
+ _current_package->setInstalledSize (update->installedSize());
+ }
+ else {
+ for (CDependencyList::const_iterator iter = _current_provides.begin(); iter != _current_provides.end(); iter++) {
+ if ((*iter)->relation().isEqual()
+ && ((*iter)->name() == _current_package->name()))
+ {
+ _current_package->setKind ((*iter)->kind());
+ _current_package->setEdition ((*iter)->edition());
+ break;
+ }
+ }
+ }
+
+ /* Hack for the old XML */
+ if (_current_package->arch()->isUnknown()) {
+ _current_package->setArch (Arch::System);
+ }
+
+ // check if we provide ourselfs properly
+
+ CDependencyList::const_iterator piter;
+ for (piter = _current_provides.begin(); piter != _current_provides.end(); piter++) {
+ if ((*piter)->relation().isEqual()
+ && ((*piter)->name() == _current_package->name()))
+ {
+ break;
+ }
+ }
+
+ if (piter == _current_provides.end()) { // no self provide found, construct one
+ constDependencyPtr selfdep = new Dependency (_current_package->name(), Relation::Equal, _current_package->kind(), _current_package->channel(), _current_package->edition());
+//if (getenv ("RC_SPEW")) fprintf (stderr, "Adding self-provide [%s]\n", selfdep->asString().c_str());
+ _current_provides.push_front (selfdep);
+ }
+
+ _current_package->setRequires (_current_requires);
+ _current_package->setProvides (_current_provides);
+ _current_package->setConflicts (_current_conflicts);
+ _current_package->setObsoletes (_current_obsoletes);
+ _current_package->setSuggests (_current_suggests);
+ _current_package->setRecommends (_current_recommends);
+
+ _all_packages.push_back (_current_package);
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "%s\n", _current_package->asString(true).c_str());
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageEnd done: '%s'\n", _current_package->asString(true).c_str());
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageEnd now %ld packages\n", _all_packages.size());
+ _current_package = NULL;
+ _state = PARSER_TOPLEVEL;
+ }
+ else if (!strcmp(name, "name")) { _current_package->setName (strstrip (_text_buffer));
+ } else if (!strcmp(name, "pretty_name")) { _current_package->setPrettyName (strstrip (_text_buffer));
+ } else if (!strcmp(name, "summary")) { _current_package->setSummary (strstrip (_text_buffer));
+ } else if (!strcmp(name, "description")) { _current_package->setDescription (strstrip (_text_buffer));
+ } else if (!strcmp(name, "section")) { _current_package->setSection (new Section(strstrip (_text_buffer)));
+ } else if (!strcmp(name, "arch")) { _current_package->setArch (strstrip (_text_buffer));
+ } else if (!strcmp(name, "filesize")) { _current_package->setFileSize (atoi(_text_buffer));
+ } else if (!strcmp(name, "installedsize")) { _current_package->setInstalledSize (atoi(_text_buffer));
+ } else if (!strcmp(name, "install_only")) { _current_package->setInstallOnly (true);
+ } else if (!strcmp(name, "package_set")) { _current_package->setPackageSet (true);
+ } else {
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageEnd(%s) unknown\n", name);
+ }
+
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::packageEnd(%s) done\n", name);
+
+ releaseBuffer();
+}
+
+
+void
+XmlParser::historyEnd(const char *name)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::historyEnd(%s)\n", name);
+ assert(_current_package != NULL);
+
+ if (!strcmp(name, "history")) {
+ assert(_current_update == NULL);
+
+ _state = PARSER_PACKAGE;
+ }
+}
+
+
+void
+XmlParser::updateEnd(const char *name)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::updateEnd(%s)\n", name);
+
+ constChannelPtr channel;
+ const char *url_prefix = NULL;
+
+ assert(_current_package != NULL);
+ assert(_current_update != NULL);
+
+ channel = _current_package->channel();
+
+ if (channel != NULL) {
+ url_prefix = channel->filePath ();
+ }
+
+ if (!strcmp(name, "update")) {
+ _current_package->addUpdate(_current_update);
+
+ _current_update = NULL;
+ _state = PARSER_HISTORY;
+
+ } else if (!strcmp(name, "epoch")) { _current_update->setEpoch (atoi(_text_buffer));
+ } else if (!strcmp(name, "version")) { _current_update->setVersion (strstrip (_text_buffer));
+ } else if (!strcmp(name, "release")) { _current_update->setRelease (strstrip (_text_buffer));
+ } else if (!strcmp(name, "arch")) { _current_update->setArch (strstrip (_text_buffer));
+ } else if (!strcmp(name, "filename")) {
+ strstrip (_text_buffer);
+ if (url_prefix) {
+ _current_update->setPackageUrl (maybe_merge_paths(url_prefix, _text_buffer));
+ }
+ else {
+ _current_update->setPackageUrl (_text_buffer);
+ }
+ } else if (!strcmp(name, "filesize")) { _current_update->setPackageSize (atoi(_text_buffer));
+ } else if (!strcmp(name, "installedsize")) { _current_update->setInstalledSize (atoi (_text_buffer));
+ } else if (!strcmp(name, "signaturename")) {
+ strstrip (_text_buffer);
+ if (url_prefix) {
+ _current_update->setSignatureUrl (maybe_merge_paths(url_prefix, _text_buffer));
+ }
+ else {
+ _current_update->setSignatureUrl (_text_buffer);
+ }
+ } else if (!strcmp(name, "signaturesize")) { _current_update->setSignatureSize (atoi (_text_buffer));
+ } else if (!strcmp(name, "md5sum")) { _current_update->setMd5sum (strstrip (_text_buffer));
+ } else if (!strcmp(name, "importance")) { _current_update->setImportance (new Importance (strstrip (_text_buffer)));
+ } else if (!strcmp(name, "description")) { _current_update->setDescription (strstrip (_text_buffer));
+ } else if (!strcmp(name, "hid")) { _current_update->setHid (atoi(_text_buffer));
+ } else if (!strcmp (name, "license")) { _current_update->setLicense (strstrip (_text_buffer));
+ } else {
+ fprintf (stderr, "XmlParser::updateEnd(%s) unknown\n", name);
+ }
+
+// if (_current_update != NULL && getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::updateEnd(%s) => '%s'\n", name, _current_update->asString().c_str());
+
+ releaseBuffer();
+
+}
+
+
+void
+XmlParser::dependencyEnd(const char *name)
+{
+// if (getenv ("RC_SPEW_XML")) fprintf (stderr, "XmlParser::dependencyEnd(%s)\n", name);
+
+ if (!strcmp(name, "or")) {
+ OrDependencyPtr or_dep = OrDependency::fromDependencyList (*_current_dep_list);
+ DependencyPtr dep = new Dependency (or_dep);
+
+ (*_current_dep_list).clear();
+
+ (*_toplevel_dep_list).push_back (dep);
+ _current_dep_list = _toplevel_dep_list;
+ }
+ else if (!strcmp(name, "dep")) {
+ /* We handled everything we needed for dep in start */
+ }
+ else {
+ /* All of the dep lists (requires, provides, etc.) */
+ _toplevel_dep_list = NULL;
+ _current_dep_list = NULL;
+ _state = PARSER_PACKAGE;
+ }
+}
+
+
+
+//===================================================================================================================
+
+#if 0
+//---------------------------------------------------------------------------
+
+/* ------ */
+
+
+static RCResolvableDep *
+rc_xml_node_to_resolvable_dep_internal (const xmlNode *node)
+{
+ gchar *name = NULL, *version = NULL, *release = NULL;
+ gboolean has_epoch = false;
+ guint32 epoch = 0;
+ RCResolvableRelation relation;
+ RCResolvableDep *dep;
+
+ gchar *tmp;
+
+ if (g_strcasecmp (node->name, "dep")) {
+ return (NULL);
+ }
+
+ name = xml_get_prop (node, "name");
+ tmp = xml_get_prop (node, "op");
+ if (tmp) {
+ relation = rc_resolvable_relation_from_string (tmp);
+
+ has_epoch = xml_get_guint32_value (node, "epoch", &epoch);
+
+ version = xml_get_prop (node, "version");
+ release = xml_get_prop (node, "release");
+ } else {
+ relation = RC_RELATION_ANY;
+ }
+
+ /* FIXME: should get channel from XML */
+ dep = rc_resolvable_dep_new (name, has_epoch, epoch, version, release,
+ relation, RC_TYPE_RESOLVABLE, RC_CHANNEL_ANY,
+ false, false);
+
+ g_free (tmp);
+ g_free (name);
+ g_free (version);
+ g_free (release);
+
+ return dep;
+} /* rc_xml_node_to_resolvable_dep_internal */
+
+RCResolvableDep *
+rc_xml_node_to_resolvable_dep (const xmlNode *node)
+{
+ RCResolvableDep *dep = NULL;
+
+ if (!g_strcasecmp (node->name, "dep")) {
+ dep = rc_xml_node_to_resolvable_dep_internal (node);
+ return (dep);
+ } else if (!g_strcasecmp (node->name, "or")) {
+ RCResolvableDepSList *or_dep_slist = NULL;
+ RCDepOr *or;
+ xmlNode *iter = node->xmlChildrenNode;
+
+ while (iter) {
+ if (iter->type == XML_ELEMENT_NODE) {
+ or_dep_slist = g_slist_append(
+ or_dep_slist,
+ rc_xml_node_to_resolvable_dep_internal (iter));
+ }
+
+ iter = iter->next;
+ }
+
+ or = rc_dep_or_new (or_dep_slist);
+ dep = rc_dep_or_new_provide (or);
+ }
+
+ return (dep);
+} /* rc_xml_node_to_resolvable_dep */
+
+/* ------ */
+
+/* This hack cleans 8-bit characters out of a string. This is a very
+ problematic "solution" to the problem of non-UTF-8 package info. */
+static gchar *
+sanitize_string (const char *str)
+{
+ gchar *dup = g_strdup (str);
+ gchar *c;
+
+ return dup;
+
+ if (dup) {
+ for (c = dup; *c; ++c) {
+ if ((guint)*c > 0x7f)
+ *c = '_';
+ }
+ }
+
+ return dup;
+}
+
+#endif
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* XmlParser.h: XML routines
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _XmlParser_h
+#define _XmlParser_h
+
+#include <list>
+
+#include <iosfwd>
+#include <string.h>
+
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/Package.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+///////////////////////////////////////////////////////////////////
+//
+// CLASS NAME : XmlParser
+
+class XmlParser
+{
+ public:
+ enum _XmlParserState {
+ PARSER_TOPLEVEL = 0,
+ PARSER_PACKAGE,
+ PARSER_HISTORY,
+ PARSER_UPDATE,
+ PARSER_DEP,
+ };
+ typedef enum _XmlParserState XmlParserState;
+
+ private:
+ constChannelPtr _channel;
+ bool _processing;
+ xmlParserCtxtPtr _xml_context;
+ XmlParserState _state;
+
+ PackageList _all_packages;
+
+ /* Temporary state */
+ PackagePtr _current_package;
+ CDependencyList _current_requires;
+ CDependencyList _current_provides;
+ CDependencyList _current_conflicts;
+ CDependencyList _current_children;
+ CDependencyList _current_recommends;
+ CDependencyList _current_suggests;
+ CDependencyList _current_obsoletes;
+ PackageUpdatePtr _current_update;
+
+ // these point to one of the above lists during dependency parsing
+ CDependencyList *_toplevel_dep_list;
+ CDependencyList *_current_dep_list;
+
+ char *_text_buffer;
+ size_t _text_buffer_size;
+
+ protected:
+ void setState (XmlParserState state) { _state = state; }
+
+ public:
+
+ XmlParser (constChannelPtr channel);
+ virtual ~XmlParser();
+
+ // ---------------------------------- I/O
+
+ static std::string toString ( const XmlParser & parser);
+
+ virtual std::ostream & dumpOn( std::ostream & str ) const;
+
+ friend std::ostream& operator<<( std::ostream & str, const XmlParser & parser);
+
+ std::string asString ( void ) const;
+
+ // ---------------------------------- accessors
+
+ bool processing() const { return _processing; }
+ void setProcessing (bool processing) { _processing = processing; }
+
+ XmlParserState state (void) const { return _state; }
+
+#if 0 // are they needed ?
+ constChannelPtr channel() const { return _channel; }
+ void setChannel (constChannelPtr channel) { _channel = channel; }
+
+ xmlParserCtxtPtr xmlContext() const { return _xml_context; }
+ void setXmlContext (xmlParserCtxtPtr xml_context) { _xml_context = xml_context; }
+#endif
+ // ---------------------------------- methods
+
+ void toBuffer (const char *data, size_t size);
+ void releaseBuffer (void); // free _text_buffer
+
+ void startElement(const char *name, const xmlChar **attrs);
+ void endElement(const char *name);
+
+ void toplevelStart(const char *name, const xmlChar **attrs);
+ void packageStart(const char *name, const xmlChar **attrs);
+ void historyStart(const char *name, const xmlChar **attrs);
+ void dependencyStart(const char *name, const xmlChar **attrs);
+
+ void updateEnd(const char *name);
+ void packageEnd(const char *name);
+ void historyEnd(const char *name);
+ void dependencyEnd(const char *name);
+
+ void parseChunk (const char *xmlbuf, size_t size);
+ PackageList done (void);
+};
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+
+#endif // _XmlParser_h
--- /dev/null
+/* debug.cc
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+
+#include <y2util/stringutil.h>
+#include <zypp/solver/detail/debug.h>
+
+#include <string>
+#include <stdarg.h>
+#include <stdio.h>
+
+using namespace std;
+
+const char *
+debug_helper (const char *format, ...)
+{
+ va_list args;
+ static char *str = NULL;
+
+ if (str != NULL) free ((void *)str);
+
+ va_start (args, format);
+ vasprintf (&str, format, args);
+ va_end (args);
+
+ return str;
+}
+
+void
+debug_full (DebugLevel level, const char *format, ...)
+{
+ va_list args;
+ char *str = NULL;
+
+ va_start (args, format);
+ vasprintf (&str, format, args);
+ va_end (args);
+
+ printf ("%s\n", str); fflush (stdout);
+
+ free ((void *)str);
+}
--- /dev/null
+/* debug.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _DEBUG_H
+#define _DEBUG_H
+
+#include <stdarg.h>
+#include <stdio.h>
+
+typedef enum {
+ RC_DEBUG_LEVEL_ALWAYS = -1,
+ RC_DEBUG_LEVEL_NONE = 0,
+ RC_DEBUG_LEVEL_ERROR = 1,
+ RC_DEBUG_LEVEL_CRITICAL = 2,
+ RC_DEBUG_LEVEL_WARNING = 3,
+ RC_DEBUG_LEVEL_MESSAGE = 4,
+ RC_DEBUG_LEVEL_INFO = 5,
+ RC_DEBUG_LEVEL_DEBUG = 6,
+} DebugLevel;
+
+#define DEBUG_LEVEL_ALWAYS RC_DEBUG_LEVEL_ALWAYS
+#define DEBUG_LEVEL_NONE RC_DEBUG_LEVEL_NONE
+#define DEBUG_LEVEL_ERROR RC_DEBUG_LEVEL_ERROR
+#define DEBUG_LEVEL_CRITICAL RC_DEBUG_LEVEL_CRITICAL
+#define DEBUG_LEVEL_WARNING RC_DEBUG_LEVEL_WARNING
+#define DEBUG_LEVEL_MESSAGE RC_DEBUG_LEVEL_MESSAGE
+#define DEBUG_LEVEL_INFO RC_DEBUG_LEVEL_INFO
+#define DEBUG_LEVEL_DEBUG RC_DEBUG_LEVEL_DEBUG
+
+void debug_full (DebugLevel level, const char *format, ...);
+
+#ifdef RC_DEBUG_VERBOSE
+
+const char *debug_helper (const char *format, ...);
+
+#define debug(level, format...) \
+ debug_full (level, "%s (%s, %s:%d)", debug_helper (format), __FUNCTION__, __FILE__, __LINE__)
+
+#else
+
+#define debug debug_full
+
+#endif
+
+#define rc_debug debug
+
+#endif /* _DEBUG_H */
--- /dev/null
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * extract.cc
+ *
+ * Copyright (C) 2000-2003 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ */
+
+#include <zypp/solver/detail/extract.h>
+#include <zypp/solver/detail/XmlParser.h>
+#include <zypp/solver/detail/utils.h>
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+
+int
+extract_packages_from_xml_node (XmlNodePtr node, ChannelPtr channel, CResolvableFn callback, void *data)
+{
+ PackagePtr package;
+ int count = 0;
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "extract_packages_from_xml_node ()\n");
+ // search the 'package' node
+
+ while (node && !node->equals("package")) {
+ if (!node->isElement()) {
+ node = node->next();
+ continue;
+ }
+
+ node = node->children();
+ }
+
+ // extract the 'package' node, if found
+
+ while (node) {
+ if (node->equals("package")) {
+ package = new Package (node, channel);
+ if (package) {
+ if (getenv ("RC_SPEW")) fprintf (stderr, "%s\n", package->asString(true).c_str());
+ bool ok = true;
+ if (callback)
+ ok = callback (package, data);
+ if (! ok)
+ return -1;
+ ++count;
+ }
+ }
+ node = node->next();
+ }
+
+ return count;
+}
+
+
+int
+extract_packages_from_helix_buffer (const char *buf, size_t len, ChannelPtr channel, CResolvableFn callback, void *data)
+{
+ unsigned int count = 0;
+ PackageList packages;
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "extract_packages_from_helix_buffer(%.32s...,%ld,...)\n", buf, (long)len);
+
+ if (buf == NULL || len == 0)
+ return 0;
+
+ XmlParser parser (channel);
+ parser.parseChunk (buf, len);
+ packages = parser.done ();
+
+ if (packages.empty())
+ return 0;
+
+ count = packages.size();
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "extract_packages_from_helix_buffer: parsed %d packages\n", count);
+
+ if (callback != NULL) {
+ for (PackageList::iterator iter = packages.begin(); iter != packages.end(); iter++) {
+ callback (*iter, data);
+ }
+ }
+
+ return count;
+}
+
+
+int
+extract_packages_from_helix_file (const string & filename, ChannelPtr channel, CResolvableFn callback, void *data)
+{
+ Buffer *buf;
+ int count;
+
+ if (filename.empty())
+ return -1;
+
+ buf = buffer_map_file (filename);
+ if (buf == NULL)
+ return -1;
+
+ count = extract_packages_from_helix_buffer ((const char *)(buf->data), buf->size, channel, callback, data);
+
+ buffer_unmap_file (buf);
+
+ return count;
+}
+
+
+int
+extract_packages_from_undump_buffer (const char *buf, size_t len, ChannelAndSubscribedFn channel_callback, CResolvableFn resolvable_callback, MatchFn lock_callback, void *data)
+{
+ xmlDoc *doc;
+ XmlNodePtr dump_node;
+ ChannelPtr system_channel = NULL;
+ ChannelPtr current_channel = NULL;
+ XmlNodePtr channel_node;
+ int count = 0;
+
+ doc = parse_xml_from_buffer (buf, len);
+ if (doc == NULL)
+ return -1;
+
+ dump_node = new XmlNode (xmlDocGetRootElement (doc));
+ if (dump_node == NULL)
+ return -1;
+
+ if (!dump_node->equals("world")) {
+ debug (DEBUG_LEVEL_WARNING, "Unrecognized top-level node for undump: '%s'", dump_node->name());
+ return -1;
+ }
+
+ channel_node = dump_node->children();
+
+ while (channel_node != NULL) {
+
+ if (channel_node->equals("locks")) {
+ XmlNodePtr lock_node = channel_node->children();
+
+ while (lock_node) {
+ MatchPtr lock;
+
+ lock = new Match (lock_node);
+
+ if (lock_callback)
+ lock_callback (lock, data);
+
+ lock_node = lock_node->next();
+ }
+
+ } else if (channel_node->equals("system_packages")) {
+
+ int subcount;
+
+ if (!system_channel) {
+ system_channel = new Channel ("@system", "System Packages", "@system", "System Packages");
+ system_channel->setSystem (true);
+ system_channel->setHidden (true);
+ }
+
+ if (channel_callback) {
+ channel_callback (system_channel, false, data);
+ }
+
+ subcount = extract_packages_from_xml_node (channel_node, system_channel, resolvable_callback, data);
+
+ if (subcount < 0) {
+ /* Do something clever */
+ fprintf (stderr, "No packages found\n");
+ abort ();
+ }
+
+ count += subcount;
+
+ } else if (channel_node->equals("channel")) {
+
+ int subscribed;
+ current_channel = new Channel (channel_node, &subscribed, (World *)data);
+
+ if (channel_callback) {
+ channel_callback (current_channel, subscribed != 0, data);
+ }
+
+ if (resolvable_callback) {
+ int subcount;
+ subcount = extract_packages_from_xml_node (channel_node, current_channel, resolvable_callback, data);
+ if (subcount < 0) {
+ /* FIXME: do something clever */
+ fprintf (stderr, "No packages found\n");
+ abort ();
+ }
+ count += subcount;
+ }
+ }
+
+ channel_node = channel_node->next();
+ }
+
+ xmlFreeDoc (doc);
+
+ return count;
+}
+
+
+int
+extract_packages_from_undump_file (const string & filename, ChannelAndSubscribedFn channel_callback, CResolvableFn resolvable_callback, MatchFn lock_callback, void *data)
+{
+ Buffer *buf;
+ int count;
+
+ if (filename.empty())
+ return -1;
+
+ buf = buffer_map_file (filename);
+ if (buf == NULL)
+ return -1;
+
+ count = extract_packages_from_undump_buffer ((const char *)(buf->data), buf->size, channel_callback, resolvable_callback, lock_callback, data);
+
+ buffer_unmap_file (buf);
+
+ return count;
+}
+
+#if 0
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+static ResolvablePtr
+fill_debian_package (const char *buf, const char *url_prefix, int *off)
+{
+ const char *ibuf;
+ RCPackageUpdate *up = NULL;
+ ResolvablePtr r;
+ ResolvableList requires, provides, conflicts, suggests, recommends;
+
+ up = rc_package_update_new ();
+
+ ibuf = buf;
+ while (1) {
+ char *key;
+ GString *value = NULL;
+ const char *p;
+ int ind;
+
+ /* Linebreaks indicate the end of a package block. */
+ if (*ibuf == '\0' || *ibuf == '\n') break;
+
+ p = strchr (ibuf, ':');
+
+ /* Something bad happened, we're supposed to have a colon. */
+ if (!p) break;
+
+ /* Copy the name of the key and lowercase it */
+ key = g_ascii_strdown (ibuf, p - ibuf);
+
+ /* Move past the colon and any spaces */
+ ibuf = p;
+ while (*ibuf && (*ibuf == ':' || *ibuf == ' ')) ibuf++;
+
+ ind = 0;
+ while ((p = strchr (ibuf, '\n'))) {
+ if (!value)
+ value = g_string_new ("");
+
+ g_string_append_len (value, ibuf, p - ibuf);
+ ind += p - ibuf;
+
+ ibuf = p;
+
+ /* Move past the newline */
+ ibuf++;
+
+ /* Check to see if this is a continuation of the previous line */
+ if (*ibuf == ' ') {
+ /* It is. Move past the space */
+ ibuf++;
+
+ /*
+ * This is a hack. Description is special because it's
+ * intended to be multiline and user-visible. So if we're
+ * dealing with description, add a newline.
+ */
+
+ if (strncmp (key, "description",
+ strlen ("description")) == 0) {
+ g_string_append_c (value, '\n');
+
+ /*
+ * A period on a line by itself indicates that it
+ * should be a blank line. A newline will follow the
+ * period, so we'll just skip over it.
+ */
+ if (*ibuf == '.')
+ ibuf++;
+ }
+ }
+ else {
+ /* It isn't. Break out. */
+ break;
+ }
+ }
+
+ if (!strncmp (key, "package", strlen ("package"))) {
+ rc_resolvable_spec_set_name (RC_RESOLVABLE_SPEC (pkg), value->str);
+ } else if (!strncmp (key, "installed-size",
+ strlen ("installed-size"))) {
+ up->installed_size = strtoul (value->str, NULL, 10) * 1024;
+ } else if (!strncmp (key, "size", strlen ("size"))) {
+ up->package_size = strtoul(value->str, NULL, 10);
+ } else if (!strncmp (key, "description", strlen ("description"))) {
+ char *newline;
+
+ /*
+ * We only want the first line for the summary, and all the
+ * other lines for the description.
+ */
+
+ newline = strchr (value->str, '\n');
+ if (!newline) {
+ pkg->summary = strdup (value->str);
+ pkg->description = g_strconcat (value->str, "\n", NULL);
+ }
+ else {
+ pkg->summary = g_strndup (value->str, newline - value->str);
+ pkg->description = g_strconcat (newline + 1, "\n", NULL);
+ }
+ } else if (!strncmp (key, "version", strlen ("version"))) {
+ RCResolvableSpec *spec = RC_RESOLVABLE_SPEC (pkg);
+ rc_version_parse (value->str, spec);
+ } else if (!strncmp (key, "section", strlen ("section"))) {
+ pkg->section = rc_debman_section_to_package_section (value->str);
+ } else if (!strncmp (key, "depends", strlen ("depends"))) {
+ requires = g_slist_concat (
+ requires,
+ rc_debman_fill_depends (value->str, false));
+ } else if (!strncmp (key, "recommends", strlen ("recommends"))) {
+ recommends = g_slist_concat (
+ recommends,
+ rc_debman_fill_depends (value->str, false));
+ } else if (!strncmp (key, "suggests", strlen ("suggests"))) {
+ suggests = g_slist_concat (
+ suggests,
+ rc_debman_fill_depends (value->str, false));
+ } else if (!strncmp (key, "pre-depends", strlen ("pre-depends"))) {
+ requires = g_slist_concat (
+ requires,
+ rc_debman_fill_depends (value->str, true));
+ } else if (!strncmp (key, "conflicts", strlen ("conflicts"))) {
+ conflicts = g_slist_concat (
+ conflicts,
+ rc_debman_fill_depends (value->str, false));
+ } else if (!strncmp (key, "provides", strlen ("provides"))) {
+ provides = g_slist_concat (
+ provides,
+ rc_debman_fill_depends (value->str, false));
+ } else if (!strncmp (key, "filename", strlen ("filename"))) {
+ /* Build a new update with just this version */
+ if (url_prefix) {
+ up->package_url = g_strconcat (url_prefix, "/",
+ value->str,
+ NULL);
+ } else {
+ up->package_url = strdup (value->str);
+ }
+ } else if (!strncmp (key, "md5sum", strlen ("md5sum"))) {
+ up->md5sum = strdup (value->str);
+ } else if (!strncmp (key, "architecture", strlen ("architecture"))) {
+ rc_resolvable_spec_set_arch (RC_RESOLVABLE_SPEC (pkg), rc_arch_from_string (value->str));
+ }
+
+ g_string_free (value, true);
+ }
+
+ up->importance = RC_IMPORTANCE_SUGGESTED;
+ up->description = strdup ("Upstream Debian release");
+ rc_resolvable_spec_copy (rc_package_update_get_spec(up), RC_RESOLVABLE_SPEC (pkg));
+ rc_package_add_update (pkg, up);
+
+ r = RC_RESOLVABLE (pkg);
+
+ /* Make sure to provide myself, for the dep code! */
+ provides = g_slist_append (provides, rc_resolvable_dep_new_from_spec
+ (RC_RESOLVABLE_SPEC (pkg),
+ RC_RELATION_EQUAL,
+ RC_TYPE_PACKAGE,
+ rc_resolvable_get_channel (r),
+ false, false));
+
+ rc_resolvable_set_requires (r, requires);
+ rc_resolvable_set_provides (r, provides);
+ rc_resolvable_set_conflicts (r, conflicts);
+ rc_resolvable_set_obsoletes (r, NULL);
+ rc_resolvable_set_suggests (r, suggests);
+ rc_resolvable_set_recommends(r, recommends);
+ /* returns the number of characters we processed */
+ return ibuf - buf;
+}
+
+#endif
+
+int
+extract_packages_from_debian_buffer (const char *buf, size_t len, ChannelPtr channel, CResolvableFn callback, void *data)
+{
+ const char *pos;
+ int count = 0;
+
+ /* Keep looking for a "Package: " */
+ pos = buf;
+#if 0
+ while ((pos = strstr (pos, "Package: ")) != NULL) {
+ int off;
+
+ /* All debian packages "have" epochs */
+ ResolvablePtr resolvable = fill_debian_package (iter, channel->getFilePath (), &off);
+
+ resolvable->setEpoch (0);
+ resolvable->setArch (Arch::Noarch);
+ resolvable->setChannel (channel);
+
+ if (callback)
+ callback (resolvable, data);
+
+ ++count;
+
+ iter += off;
+ }
+#endif
+ return count;
+}
+
+
+int
+extract_packages_from_debian_file (const string & filename, ChannelPtr channel, CResolvableFn callback, void *data)
+{
+ Buffer *buf;
+ int count;
+
+ if (filename.empty())
+ return -1;
+
+ buf = buffer_map_file (filename);
+ if (buf == NULL)
+ return -1;
+
+ count = extract_packages_from_debian_buffer ((const char *)(buf->data), buf->size, channel, callback, data);
+ buffer_unmap_file (buf);
+
+ return count;
+}
+
+#if 0
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+PackagePtr
+extract_yum_package (const guint8 *data, size_t len,
+ RCPackman *packman, char *url)
+{
+#ifndef ENABLE_RPM
+ /* We can't support yum without rpm support */
+ debug (RC_DEBUG_LEVEL_ERROR, "RPM support is not enabled");
+ return NULL;
+#else
+ RCRpmman *rpmman;
+ Header h;
+ PackagePtr p;
+ RCPackageUpdate *pu;
+ char *tmpc;
+ int typ, n;
+
+ g_return_val_if_fail (packman != NULL, NULL);
+
+ if (!g_type_is_a (G_TYPE_FROM_INSTANCE (packman), RC_TYPE_RPMMAN)) {
+ debug (RC_DEBUG_LEVEL_ERROR,
+ "yum support is not available on non-RPM systems");
+ return NULL;
+ }
+
+ rpmman = RC_RPMMAN (packman);
+
+ h = rpmman->headerLoad (data);
+
+ if (h == NULL) {
+ debug (RC_DEBUG_LEVEL_ERROR,
+ "Unable to get header from headerCopyLoad!");
+ return NULL;
+ }
+
+ rpmman->headerGetEntry (h, RPMTAG_ARCH, &typ, (void **) &tmpc, &n);
+
+ p = rc_package_new ();
+
+ rc_rpmman_read_header (rpmman, h, p);
+ rc_rpmman_depends_fill (rpmman, h, p, true);
+
+ pu = rc_package_update_new ();
+ rc_resolvable_spec_copy (rc_package_update_get_spec (pu), RC_RESOLVABLE_SPEC (p));
+ pu->importance = RC_IMPORTANCE_SUGGESTED;
+ pu->description = strdup ("No information available.");
+ pu->package_url = url;
+
+ p->history = g_slist_append (p->history, pu);
+
+ rpmman->headerFree (h);
+
+ return p;
+#endif
+}
+
+int
+extract_packages_from_aptrpm_buffer (const guint8 *data, size_t len,
+ RCPackman *packman,
+ ChannelPtr channel,
+ CResolvableFn callback,
+ void * user_data)
+{
+#ifndef ENABLE_RPM
+ /* We can't support apt-rpm without rpm support */
+ debug (RC_DEBUG_LEVEL_ERROR, "RPM support is not enabled");
+ return -1;
+#else
+ RCRpmman *rpmman;
+ int count = 0;
+ const int hdrmagic_len = 8;
+ const char *hdrmagic;
+ const guint8 *cur_ptr;
+ RCResolvableSpec *spec;
+
+
+ g_return_val_if_fail (packman != NULL, -1);
+
+ if (!g_type_is_a (G_TYPE_FROM_INSTANCE (packman), RC_TYPE_RPMMAN)) {
+ debug (RC_DEBUG_LEVEL_ERROR,
+ "apt-rpm support is not available on non-RPM systems");
+ return -1;
+ }
+
+ rpmman = RC_RPMMAN (packman);
+
+ if (len < hdrmagic_len) {
+ debug (RC_DEBUG_LEVEL_ERROR,
+ "Data is too small to possibly be correct");
+ return 0;
+ }
+
+ /*
+ * The apt-rpm pkglist files are a set of rpm headers, each prefixed
+ * with the header magic, one right after the other. If opened on disk,
+ * they can be iterated using headerRead(). Since we have an in-memory
+ * buffer, we use headerCopyLoad to read them. We could, potentially,
+ * use headerLoad(); but I'm unsure as to what happens when headerFree
+ * is called on a Header returned from headerLoad. It may be a small
+ * memory savings to do so.
+ */
+
+ /* Skip the inital RPM header magic */
+ hdrmagic = data;
+ cur_ptr = data + hdrmagic_len;
+
+ while (cur_ptr != NULL) {
+ Header h;
+ PackagePtr p;
+ RCPackageUpdate *pu;
+ int bytesleft, i;
+ char *tmpc;
+ int typ, n;
+ char *archstr;
+
+ h = rpmman->headerLoad (cur_ptr);
+
+ if (h == NULL) {
+ debug (RC_DEBUG_LEVEL_ERROR,
+ "Unable to get header from headerCopyLoad!");
+ return 0;
+ }
+
+ rpmman->headerGetEntry (h, RPMTAG_ARCH, &typ, (void **) &tmpc, &n);
+
+ if (n && typ == RPM_STRING_TYPE)
+ archstr = tmpc;
+ else {
+ debug (RC_DEBUG_LEVEL_WARNING, "No arch available!");
+ goto cleanup;
+ }
+
+ p = rc_package_new ();
+
+ rc_rpmman_read_header (rpmman, h, p);
+ rc_rpmman_depends_fill (rpmman, h, p, true);
+
+ rc_resolvable_set_channel (RC_RESOLVABLE (p), channel);
+
+ pu = rc_package_update_new ();
+ rc_resolvable_spec_copy (rc_package_update_get_spec (pu), RC_RESOLVABLE_SPEC (p));
+ pu->importance = RC_IMPORTANCE_SUGGESTED;
+ pu->description = strdup ("No information available.");
+
+ /* Build a filename from the spec */
+ spec = RC_RESOLVABLE_SPEC (p);
+ pu->package_url = strdup_printf ("%s/%s-%s-%s.%s.rpm",
+ rc_channel_get_file_path (channel),
+ rc_resolvable_spec_get_name (spec),
+ rc_resolvable_spec_get_version (spec),
+ rc_resolvable_spec_get_release (spec),
+ archstr);
+
+ p->history = g_slist_append (p->history, pu);
+
+ if (callback)
+ callback ((RCResolvable *) p, user_data);
+
+ g_object_unref (p);
+
+ ++count;
+
+ cleanup:
+ rpmman->headerFree (h);
+
+ /* This chunk of ugly could be removed if a) memmem() was portable;
+ * or b) if rpmlib didn't suck, and I could figure out how much
+ * data it read from the buffer.
+ */
+ bytesleft = len - (cur_ptr - data);
+ for (i = 0; i < bytesleft - hdrmagic_len; i++) {
+ if (memcmp (cur_ptr + i, hdrmagic, hdrmagic_len) == 0) {
+ /* We found a match */
+ cur_ptr = cur_ptr + i + hdrmagic_len;
+ break;
+ }
+ }
+
+ if (i >= bytesleft - hdrmagic_len) {
+ /* No match was found */
+ cur_ptr = NULL;
+ }
+ }
+
+ return count;
+#endif
+}
+
+int
+extract_packages_from_aptrpm_file (const char *filename,
+ RCPackman *packman,
+ ChannelPtr channel,
+ CResolvableFn callback,
+ void * user_data)
+{
+ WorldPtr world = *((WorldPtr *)data);
+ RCBuffer *buf;
+ int count;
+
+ g_return_val_if_fail (filename != NULL, -1);
+ g_return_val_if_fail (packman != NULL, -1);
+
+ buf = rc_buffer_map_file (filename);
+ if (buf == NULL)
+ return -1;
+
+ count = extract_packages_from_aptrpm_buffer (buf->data, buf->size,
+ packman, channel,
+ callback, user_data);
+
+ rc_buffer_unmap_file (buf);
+
+ return count;
+}
+
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+static void
+package_into_hash (PackagePtr pkg, GHashTable *hash)
+{
+ void * nameq;
+ PackagePtr hashed_pkg;
+
+ nameq = GINT_TO_POINTER (RC_RESOLVABLE_SPEC (pkg)->nameq);
+ hashed_pkg = g_hash_table_lookup (hash, nameq);
+ if (hashed_pkg == NULL) {
+ g_hash_table_insert (hash, nameq, g_object_ref (pkg));
+ } else if (rc_version_compare (RC_RESOLVABLE_SPEC (pkg),
+ RC_RESOLVABLE_SPEC (hashed_pkg)) > 0) {
+ g_hash_table_replace (hash, nameq, g_object_ref (pkg));
+ g_object_unref (hashed_pkg);
+ }
+}
+
+static bool
+hash_recurse_cb (PackagePtr pkg, void * user_data)
+{
+ GHashTable *hash = user_data;
+ package_into_hash (pkg, hash);
+ return true;
+}
+
+struct HashIterInfo {
+ CResolvableFn callback;
+ void * user_data;
+ int count;
+};
+
+static void
+hash_iter_cb (void * key, void * val, void * user_data)
+{
+ RCResolvable *r = val;
+ struct HashIterInfo *info = user_data;
+
+ if (info->callback)
+ info->callback (r, info->user_data);
+
+ g_object_unref (r);
+ ++info->count;
+}
+
+
+static void
+add_fake_history (PackagePtr pkg)
+{
+ RCPackageUpdate *up;
+
+ up = rc_package_update_new ();
+ rc_resolvable_spec_copy ((RCResolvableSpec *) up,
+ RC_RESOLVABLE_SPEC (pkg));
+ up->importance = RC_IMPORTANCE_SUGGESTED;
+ rc_package_add_update (pkg, up);
+}
+
+typedef struct {
+ CResolvableFn user_callback;
+ void * user_data;
+ const gchar *path;
+} PackagesFromDirInfo;
+
+static bool
+packages_from_dir_cb (PackagePtr package, void * user_data)
+{
+ PackagesFromDirInfo *info = user_data;
+ RCPackageUpdate *update;
+
+ /* Set package path */
+ update = rc_package_get_latest_update (package);
+ if (update && update->package_url)
+ package->package_filename = g_build_path (G_DIR_SEPARATOR_S,
+ info->path,
+ update->package_url,
+ NULL);
+ if (info->user_callback)
+ return info->user_callback ((RCResolvable *)package, info->user_data);
+
+ return true;
+}
+
+int
+extract_packages_from_directory (const char *path,
+ ChannelPtr channel,
+ RCPackman *packman,
+ bool recursive,
+ CResolvableFn callback,
+ void * user_data)
+{
+ WorldPtr world = *((WorldPtr *)data);
+ GDir *dir;
+ GHashTable *hash;
+ struct HashIterInfo info;
+ const char *filename;
+ char *magic;
+ bool distro_magic, pkginfo_magic;
+
+ g_return_val_if_fail (path && *path, -1);
+ g_return_val_if_fail (channel != NULL, -1);
+
+ /*
+ Check for magic files that indicate how to treat the
+ directory. The files aren't read -- it is sufficient that
+ they exist.
+ */
+
+ magic = g_strconcat (path, "/RC_SKIP", NULL);
+ if (g_file_test (magic, G_FILE_TEST_EXISTS)) {
+ g_free (magic);
+ return 0;
+ }
+ g_free (magic);
+
+ magic = g_strconcat (path, "/RC_RECURSIVE", NULL);
+ if (g_file_test (magic, G_FILE_TEST_EXISTS))
+ recursive = true;
+ g_free (magic);
+
+ magic = g_strconcat (path, "/RC_BY_DISTRO", NULL);
+ distro_magic = g_file_test (magic, G_FILE_TEST_EXISTS);
+ g_free (magic);
+
+ pkginfo_magic = true;
+ magic = g_strconcat (path, "/RC_IGNORE_PKGINFO", NULL);
+ if (g_file_test (magic, G_FILE_TEST_EXISTS))
+ pkginfo_magic = false;
+ g_free (magic);
+
+ /* If distro_magic is set, we search for packages in two
+ subdirectories of path: path/distro-target (i.e.
+ path/redhat-9-i386) and path/x-cross.
+ */
+
+#if 0
+ if (distro_magic) {
+ char *distro_path, *cross_distro_path;
+ bool found_distro_magic = false;
+ int count = 0, c;
+
+ distro_path = g_strconcat (path, "/", rc_distro_get_target (), NULL);
+ if (g_file_test (distro_path, G_FILE_TEST_IS_DIR)) {
+ found_distro_magic = true;
+
+ c = extract_packages_from_directory (distro_path,
+ channel, packman,
+ callback, user_data);
+ if (c >= 0)
+ count += c;
+ }
+
+ cross_distro_path = g_strconcat (path, "/x-distro", NULL);
+ if (g_file_test (cross_distro_path, G_FILE_TEST_IS_DIR)) {
+ c = extract_packages_from_directory (cross_distro_path,
+ channel, packman,
+ callback, user_data);
+ if (c >= 0)
+ count += c;
+ }
+
+ g_free (cross_distro_path);
+ g_free (distro_path);
+
+ return count;
+ }
+#endif
+
+ /* If pkginfo_magic is set and if a packageinfo.xml or
+ packageinfo.xml.gz file exists in the directory, use it
+ instead of just scanning the files in the directory
+ looking for packages. */
+
+ if (pkginfo_magic) {
+ int i, count;
+ gchar *pkginfo_path = NULL;
+ const gchar *pkginfo[] = { "packageinfo.xml",
+ "packageinfo.xml.gz",
+ NULL };
+
+ for (i = 0; pkginfo[i]; i++) {
+ pkginfo_path = g_build_path (G_DIR_SEPARATOR_S, path, pkginfo[i], NULL);
+ if (g_file_test (pkginfo_path, G_FILE_TEST_EXISTS))
+ break;
+
+ g_free (pkginfo_path);
+ pkginfo_path = NULL;
+ }
+
+ if (pkginfo_path) {
+ PackagesFromDirInfo info;
+
+ info.user_callback = callback;
+ info.user_data = user_data;
+ info.path = path;
+
+ count = extract_packages_from_helix_file (pkginfo_path, channel, packages_from_dir_cb, &info);
+ g_free (pkginfo_path);
+ return count;
+ }
+ }
+
+ dir = g_dir_open (path, 0, NULL);
+ if (dir == NULL)
+ return -1;
+
+ hash = g_hash_table_new (NULL, NULL);
+
+ while ( (filename = g_dir_read_name (dir)) ) {
+ gchar *file_path;
+
+ file_path = g_strconcat (path, "/", filename, NULL);
+
+ if (recursive && g_file_test (file_path, G_FILE_TEST_IS_DIR)) {
+ extract_packages_from_directory (file_path,
+ channel,
+ packman,
+ true,
+ hash_recurse_cb,
+ hash);
+ } else if (g_file_test (file_path, G_FILE_TEST_IS_REGULAR)) {
+ PackagePtr pkg;
+
+ pkg = rc_packman_query_file (packman, file_path, true);
+ if (pkg != NULL) {
+ rc_resolvable_set_channel (RC_RESOLVABLE (pkg), channel);
+ pkg->package_filename = strdup (file_path);
+ pkg->local_package = false;
+ add_fake_history (pkg);
+ package_into_hash (pkg, hash);
+ g_object_unref (pkg);
+ }
+ }
+
+ g_free (file_path);
+ }
+
+ g_dir_close (dir);
+
+ info.callback = callback;
+ info.user_data = user_data;
+ info.count = 0;
+
+ /* Walk across the hash and:
+ 1) Invoke the callback on each package
+ 2) Unref each package
+ */
+ g_hash_table_foreach (hash, hash_iter_cb, &info);
+
+ g_hash_table_destroy (hash);
+
+ return info.count;
+}
+#endif
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+/*
+ * extract.h
+ *
+ * Copyright (C) 2003 Ximian, Inc.
+ * Copyright (c) 2005 SUSE Linux Products GmbH
+ *
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ */
+
+#ifndef __EXTRACT_H__
+#define __EXTRACT_H__
+
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/XmlNode.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/Pending.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Package.h>
+#include <zypp/solver/detail/Match.h>
+#include <zypp/solver/detail/StoreWorldPtr.h>
+#include <zypp/solver/detail/PackmanPtr.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+
+int extract_packages_from_helix_buffer (const char data[], size_t len, ChannelPtr channel, CResolvableFn callback, void *data);
+int extract_packages_from_helix_file (const std::string & filename, ChannelPtr channel, CResolvableFn callback, void *data);
+
+int extract_packages_from_xml_node (constXmlNodePtr node, ChannelPtr channel, ResolvableFn callback, void *data);
+
+int extract_packages_from_debian_buffer (const char *data, size_t len, ChannelPtr channel, CResolvableFn callback, void *data);
+int extract_packages_from_debian_file (const std::string & filename, ChannelPtr channel, CResolvableFn callback, void *data);
+
+PackagePtr extract_yum_package (const char *data, size_t len, PackmanPtr packman, const std::string & url);
+
+int extract_packages_from_aptrpm_buffer (const char *data, size_t len, PackmanPtr packman, ChannelPtr channel, ResolvableFn callback, void *data);
+int extract_packages_from_aptrpm_file (const std::string & filename, PackmanPtr packman, ChannelPtr channel, ResolvableFn callback, void *data);
+
+int extract_packages_from_undump_buffer (const char *data, size_t len, ChannelAndSubscribedFn channel_callback, CResolvableFn package_callback, MatchFn lock_callback, void *data);
+int extract_packages_from_undump_file (const std::string & filename, ChannelAndSubscribedFn channel_callback, CResolvableFn package_callback, MatchFn lock_callback, void *data);
+
+int extract_packages_from_directory (const std::string & path, ChannelPtr channel, PackmanPtr packman, bool recursive, ResolvableFn callback, void *data);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+#endif /* __EXTRACT_H__ */
+
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* libzypp.h
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef _LIBZYPP_H
+#define _LIBZYPP_H
+
+#include <zypp/solver/detail/Arch.h>
+#include <zypp/solver/detail/Channel.h>
+#include <zypp/solver/detail/Dependency.h>
+#include <zypp/solver/detail/Match.h>
+#include <zypp/solver/detail/Resolvable.h>
+#include <zypp/solver/detail/Spec.h>
+#include <zypp/solver/detail/Version.h>
+#include <zypp/solver/detail/World.h>
+#include <zypp/solver/detail/UndumpWorld.h>
+#include <zypp/solver/detail/StoreWorld.h>
+#include <zypp/solver/detail/MultiWorld.h>
+#include <zypp/solver/detail/Resolver.h>
+#include <zypp/solver/detail/ResolverContext.h>
+#include <zypp/solver/detail/XmlNode.h>
+
+#include <zypp/solver/detail/utils.h>
+#include <zypp/solver/detail/extract.h>
+
+#endif // _LIBZYPP_H
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* utils.cc utility functions
+ *
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <sys/mman.h>
+
+#include <stdio.h>
+#include <fcntl.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <ctype.h>
+#include <string.h>
+
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+
+#include <zypp/solver/detail/utils.h>
+
+#include <zlib.h>
+#ifdef HAVE_BZ2
+/* Older bzlib didn't icnlude stdio.h */
+# include <bzlib.h>
+#endif
+
+#include <zypp/solver/detail/debug.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+using namespace std;
+
+//---------------------------------------------------------------------------
+// string stuff
+
+/* Like g_strstrip(), only returns NULL on an empty string */
+char *
+strstrip (const char *str)
+{
+ const char *start;
+ const char *end;
+
+ if (str == NULL)
+ return "";
+
+ start = str;
+ while (isblank (*start)) {
+ start++;
+ }
+
+ end = start + strlen (start) - 1;
+ while (end > start
+ && isblank (*end)) {
+ end--;
+ }
+
+ if (start > end) { // empty string
+ return NULL;
+ }
+
+ if (start > str
+ || *(end+1) != 0) { // we stripped at least one blank somewhere
+ return strndup (start, end - start + 1);
+ }
+ return strdup (str); // no blanks stripped
+}
+
+
+//---------------------------------------------------------------------------
+// url and path stuff
+
+char *
+maybe_merge_paths(const char *parent_path, const char *child_path)
+{
+ /* Child path is NULL, so we return a dup of the parent path.
+ Ex: maybe_merge_paths("/foo", NULL) => "/foo" */
+ if (!child_path)
+ return strdup(parent_path);
+
+ /* Child path is a fully qualified URL, so we return a dup of it.
+ Ex: maybe_merge_paths("/foo", "http://www.ximian.com") =>
+ "http://www.ximian.com"
+
+ OR
+
+ Child path is an absolute path, so we just return a dup of it.
+ Ex: maybe_merge_paths("/foo", "/bar/baz") => "/bar/baz" */
+
+ if (url_is_absolute(child_path) || child_path[0] == '/')
+ return strdup(child_path);
+
+ /* Child path is a relative path, so we tack child path onto the end of
+ parent path.
+ Ex: maybe_merge_paths("/foo", "bar/baz") => "/foo/bar/baz" */
+
+ char *s = (char *)malloc (strlen (parent_path) + strlen (child_path) + 1 + 1); // +1 for /, +1 for \0
+ strcpy (s, parent_path);
+
+ if (parent_path[strlen(parent_path) - 1] != '/')
+ strcat (s, "/");
+
+ strcat (s, child_path);
+
+ return s;
+}
+
+
+bool
+url_is_absolute (const char *url)
+{
+ if (strncasecmp (url, "http:", 5) == 0 ||
+ strncasecmp (url, "https:", 6) == 0 ||
+ strncasecmp (url, "ftp:", 4) == 0 ||
+ strncasecmp (url, "cd:", 3) == 0 ||
+ strncasecmp (url, "dvd:", 4) == 0 ||
+ strncasecmp (url, "dir:", 4) == 0 ||
+ strncasecmp (url, "file:", 5) == 0)
+ {
+ return true;
+ }
+
+ return false;
+}
+
+
+//---------------------------------------------------------------------------
+// compress/uncompress stuff
+
+/*
+ * Magic gunzipping goodness
+ */
+
+/*
+ * Count number of bytes to skip at start of buf
+ */
+static int gz_magic[2] = {0x1f, 0x8b};
+/* gzip flag byte */
+#define GZ_ASCII_FLAG 0x01 /* bit 0 set: file probably ascii text */
+#define GZ_HEAD_CRC 0x02 /* bit 1 set: header CRC present */
+#define GZ_EXTRA_FIELD 0x04 /* bit 2 set: extra field present */
+#define GZ_ORIG_NAME 0x08 /* bit 3 set: original file name present */
+#define GZ_COMMENT 0x10 /* bit 4 set: file comment present */
+#define GZ_RESERVED 0xE0 /* bits 5..7: reserved */
+
+static int
+count_gzip_header (const unsigned char *buf, unsigned int input_length)
+{
+ int method, flags;
+ const unsigned char *s = buf;
+ unsigned int left_len = input_length;
+
+ if (left_len < 4) return -1;
+ if (*s++ != gz_magic[0] || *s++ != gz_magic[1]) {
+ return -2;
+ }
+
+ method = *s++;
+ flags = *s++;
+ left_len -= 4;
+
+ if (method != Z_DEFLATED || (flags & GZ_RESERVED) != 0) {
+ /* If it's not deflated, or the reserved isn't 0 */
+ return -3;
+ }
+
+ /* Skip time, xflags, OS code */
+ if (left_len < 6) return -4;
+ s += 6;
+ left_len -= 6;
+
+ if (flags & GZ_EXTRA_FIELD) {
+ unsigned int len;
+ if (left_len < 2) return -5;
+ len = (unsigned int)(*s++);
+ len += ((unsigned int)(*s++)) << 8;
+ if (left_len < len) return -6;
+ s += len;
+ left_len -= len;
+ }
+
+ /* Skip filename */
+ if (flags & GZ_ORIG_NAME) {
+ while (--left_len != 0 && *s++ != '\0') ;
+ if (left_len == 0) return -7;
+ }
+ /* Skip comment */
+ if (flags & GZ_COMMENT) {
+ while (--left_len != 0 && *s++ != '\0') ;
+ if (left_len == 0) return -7;
+ }
+ /* Skip CRC */
+ if (flags & GZ_HEAD_CRC) {
+ if (left_len < 2) return -7;
+ s += 2;
+ left_len -= 2;
+ }
+
+ return input_length - left_len;
+}
+
+
+int
+gunzip_memory (const unsigned char *input_buffer, unsigned int input_length, ByteArray **out_ba)
+{
+ z_stream zs;
+ char *outbuf = NULL;
+ ByteArray *ba = NULL;
+ int zret;
+
+ int gzip_hdr;
+
+ if (input_buffer == NULL) return -1;
+ if (input_length == 0) return -2;
+ if (out_ba == NULL) return -3;
+
+ ba = (ByteArray *)malloc (sizeof (ByteArray));
+ ba->data = NULL;
+ ba->len = 0;
+
+ gzip_hdr = count_gzip_header (input_buffer, input_length);
+ if (gzip_hdr < 0)
+ return -1;
+
+ zs.next_in = (unsigned char *) input_buffer + gzip_hdr;
+ zs.avail_in = input_length - gzip_hdr;
+ zs.zalloc = NULL;
+ zs.zfree = NULL;
+ zs.opaque = NULL;
+
+#define OUTBUFSIZE 10000
+ outbuf = (char *)malloc (OUTBUFSIZE);
+ zs.next_out = (Bytef *)outbuf;
+ zs.avail_out = OUTBUFSIZE;
+
+ /* Negative inflateinit is magic to tell zlib that there is no
+ * zlib header */
+ inflateInit2 (&zs, -MAX_WBITS);
+
+ while (1) {
+ zret = inflate (&zs, Z_SYNC_FLUSH);
+ if (zret != Z_OK && zret != Z_STREAM_END)
+ break;
+
+ ba->data = (byte *)realloc (ba->data, ba->len + (OUTBUFSIZE - zs.avail_out));
+ memcpy (ba->data + ba->len, outbuf, OUTBUFSIZE - zs.avail_out);
+ ba->len += (OUTBUFSIZE - zs.avail_out);
+
+ zs.next_out = (Bytef *)outbuf;
+ zs.avail_out = OUTBUFSIZE;
+
+ if (zret == Z_STREAM_END)
+ break;
+ }
+
+ inflateEnd (&zs);
+ free ((void *)outbuf);
+
+ if (zret != Z_STREAM_END) {
+ fprintf (stderr, "libz inflate failed! (%d)", zret);
+ free (ba->data);
+ free (ba);
+ ba = NULL;
+ } else {
+ zret = 0;
+ }
+
+ *out_ba = ba;
+ return zret;
+}
+
+
+int
+gzip_memory (const char *input_buffer, unsigned int input_length, ByteArray **out_ba)
+{
+ z_stream zs;
+ char *outbuf = NULL;
+ ByteArray *ba = NULL;
+ int zret;
+
+ if (input_buffer == NULL) return -1;
+ if (input_length == 0) return -2;
+ if (out_ba == NULL) return -3;
+
+ ba = (ByteArray *)malloc (sizeof (ByteArray));
+ ba->data = NULL;
+ ba->len = 0;
+
+ zs.next_in = (unsigned char *) input_buffer;
+ zs.avail_in = input_length;
+ zs.zalloc = NULL;
+ zs.zfree = NULL;
+ zs.opaque = NULL;
+
+ outbuf = (char *)malloc (OUTBUFSIZE);
+ zs.next_out = (Bytef *)outbuf;
+ zs.avail_out = OUTBUFSIZE;
+
+ deflateInit (&zs, Z_DEFAULT_COMPRESSION);
+
+ while (1) {
+ if (zs.avail_in)
+ zret = deflate (&zs, Z_SYNC_FLUSH);
+ else
+ zret = deflate (&zs, Z_FINISH);
+
+ if (zret != Z_OK && zret != Z_STREAM_END)
+ break;
+
+ ba->data = (byte *)realloc (ba->data, ba->len + (OUTBUFSIZE - zs.avail_out));
+ memcpy (ba->data + ba->len, outbuf, OUTBUFSIZE - zs.avail_out);
+ ba->len += (OUTBUFSIZE - zs.avail_out);
+
+ zs.next_out = (Bytef *)outbuf;
+ zs.avail_out = OUTBUFSIZE;
+
+ if (zret == Z_STREAM_END)
+ break;
+ }
+
+ deflateEnd (&zs);
+ free ((void *)outbuf);
+
+ if (zret != Z_STREAM_END) {
+ fprintf (stderr, "libz deflate failed! (%d)", zret);
+ free (ba->data);
+ free (ba);
+ ba = NULL;
+ } else {
+ zret = 0;
+ }
+
+ *out_ba = ba;
+ return zret;
+} /* gzip_memory */
+
+
+bool
+memory_looks_gzipped (const unsigned char *buffer)
+{
+ if (buffer == NULL)
+ return false;
+
+ /* This is from RFC 1952 */
+
+ return buffer[0] == gz_magic[0] /* ID1 */
+ && buffer[1] == gz_magic[1]; /* ID2 */
+}
+
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+static char bz2_magic[3] = { 'B', 'Z', 'h' };
+
+int
+bunzip2_memory (const unsigned char *input_buffer, unsigned int input_length, ByteArray **out_ba)
+{
+#ifndef HAVE_BZ2
+
+ fprintf (stderr, "bz2 support not compiled in");
+ *out_ba = NULL;
+
+ return -1;
+
+#else
+
+ bz_stream bzs;
+ ByteArray *ba;
+ char *outbuf;
+ int bzret;
+
+ if (input_buffer == NULL) return -1;
+ if (input_length == 0) return -2;
+ if (out_ba == NULL) return -3;
+
+ ba = (ByteArray *)malloc (sizeof (ByteArray));
+ ba->data = NULL;
+ ba->len = 0;
+
+ bzs.next_in = (unsigned char *) input_buffer;
+ bzs.avail_in = input_length;
+ bzs.bzalloc = NULL;
+ bzs.bzfree = NULL;
+ bzs.opaque = NULL;
+
+ outbuf = (char *)malloc (OUTBUFSIZE);
+ bzs.next_out = (Bytef *)outbuf;
+ bzs.avail_out = OUTBUFSIZE;
+
+ BZ2_bzDecompressInit (&bzs, 1, 0);
+
+ while (1) {
+ bzret = BZ2_bzDecompress (&bzs);
+ if (bzret != BZ_OK && bzret != BZ_STREAM_END)
+ break;
+
+ ba->data = (byte *)realloc (ba->data, ba->len + (OUTBUFSIZE - zs.avail_out));
+ memcpy (ba->data + ba->len, outbuf, OUTBUFSIZE - zs.avail_out);
+ ba->len += (OUTBUFSIZE - zs.avail_out);
+
+ bzs.next_out = (Bytef *)outbuf;
+ bzs.avail_out = OUTBUFSIZE;
+
+ if (bzret == BZ_STREAM_END)
+ break;
+
+ if (bzs.avail_in == 0) {
+ /* The data is incomplete */
+ bzret = -1;
+ break;
+ }
+ }
+
+ BZ2_bzDecompressEnd (&bzs);
+ free ((void *)outbuf);
+
+ if (bzret != BZ_STREAM_END) {
+ fprintf (stderr, "libbzip2 decompress failed (%d)", bzret);
+ free (ba->data);
+ free (ba);
+ ba = NULL;
+ } else {
+ bzret = 0;
+ }
+
+ *out_ba = ba;
+ return bzret;
+#endif
+}
+
+
+int
+bzip2_memory (const char *input_buffer, unsigned int input_length, ByteArray **out_ba)
+{
+#ifndef HAVE_BZ2
+
+ fprintf (stderr, "bz2 support not compiled in");
+ *out_ba = NULL;
+
+ return -1;
+
+#else
+
+ bz_stream bzs;
+ ByteArray *ba;
+ char *outbuf;
+ int bzret;
+
+ if (input_buffer == NULL) return -1;
+ if (input_length == 0) return -2;
+ if (out_ba == NULL) return -3;
+
+ ba = (ByteArray *)malloc (sizeof (ByteArray));
+ ba->data = NULL;
+ ba->len = 0;
+
+ bzs.next_in = (unsigned char *) input_buffer;
+ bzs.avail_in = input_length;
+ bzs.bzalloc = NULL;
+ bzs.bzfree = NULL;
+ bzs.opaque = NULL;
+
+ outbuf = (char *)malloc (OUTBUFSIZE);
+ bzs.next_out = (Bytef *)outbuf;
+ bzs.avail_out = OUTBUFSIZE;
+
+ BZ2_bzCompressInit (&bzs, 5, 1, 0);
+
+ while (1) {
+ if (bzs.avail_in)
+ bzret = BZ2_bzCompress (&bzs, BZ_RUN);
+ else
+ bzret = BZ2_bzCompress (&bzs, BZ_FINISH);
+
+ if (bzret != BZ_OK && bzret != BZ_STREAM_END)
+ break;
+
+ ba->data = (byte *)realloc (ba->data, ba->len + (OUTBUFSIZE - zs.avail_out));
+ memcpy (ba->data + ba->len, outbuf, OUTBUFSIZE - zs.avail_out);
+ ba->len += (OUTBUFSIZE - zs.avail_out);
+
+ bzs.next_out = (Bytef *)outbuf;
+ bzs.avail_out = OUTBUFSIZE;
+
+ if (bzret == BZ_STREAM_END)
+ break;
+ }
+
+ BZ2_bzCompressEnd (&bzs);
+ free ((void *)outbuf);
+
+ if (bzret != BZ_STREAM_END) {
+ fprintf (stderr, "bz2 compress failed! (%d)", bzret);
+ free (ba->data);
+ free (ba);
+ ba = NULL;
+ } else {
+ bzret = 0;
+ }
+
+ *out_ba = ba;
+ return bzret;
+#endif
+}
+
+
+bool
+memory_looks_bzip2ed (const unsigned char *buffer)
+{
+ if (buffer == NULL)
+ return false;
+
+ return buffer[0] == bz2_magic[0]
+ && buffer[1] == bz2_magic[1]
+ && buffer[2] == bz2_magic[2];
+}
+
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+int
+uncompress_memory (const unsigned char *input_buffer, unsigned int input_length, ByteArray **out_ba)
+{
+ if (input_length > 2 && memory_looks_bzip2ed (input_buffer))
+ return bunzip2_memory (input_buffer, input_length, out_ba);
+ else if (input_length > 3 && memory_looks_gzipped (input_buffer))
+ return gunzip_memory (input_buffer, input_length, out_ba);
+ else
+ return -1;
+}
+
+bool
+memory_looks_compressed (const unsigned char *buffer, size_t size)
+{
+#ifdef HAVE_BZ2
+ if (size > 2 && memory_looks_bzip2ed (buffer))
+ return true;
+#endif
+
+ if (size > 4 && memory_looks_gzipped (buffer))
+ return true;
+
+ return false;
+}
+
+//---------------------------------------------------------------------------
+// I/O stuff
+
+/*
+ * This just allows reading from the buffer for now. It could be extended to
+ * do writing if necessary.
+ */
+
+Buffer *
+buffer_map_file (const string & filename)
+{
+ struct stat s;
+ int fd;
+ unsigned char *data;
+ Buffer *buf = NULL;
+
+ if (filename.empty())
+ return NULL;
+
+ if (stat(filename.c_str(), &s) < 0)
+ return NULL;
+
+ fd = open(filename.c_str(), O_RDONLY);
+
+ if (fd < 0)
+ return NULL;
+
+ data = (unsigned char *)mmap(NULL, s.st_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0);
+
+ close (fd);
+
+ if (data == MAP_FAILED)
+ return NULL;
+
+ /* Transparently uncompress */
+ if (memory_looks_compressed (data, s.st_size)) {
+ ByteArray *byte_array = NULL;
+
+ if (uncompress_memory (data, s.st_size, &byte_array)) {
+ debug (RC_DEBUG_LEVEL_WARNING, "Uncompression of '%s' failed", filename.c_str());
+ } else {
+ buf = (Buffer *)malloc(sizeof (Buffer));
+ buf->data = byte_array->data;
+ buf->size = byte_array->len;
+ buf->is_mmapped = false;
+ }
+
+ munmap (data, s.st_size);
+
+ if (byte_array) {
+ free (byte_array);
+ }
+
+ } else {
+ buf = (Buffer *)malloc(sizeof (Buffer));
+ buf->data = (byte *)data;
+ buf->size = s.st_size;
+ buf->is_mmapped = true;
+ }
+
+ return buf;
+} /* buffer_map_file */
+
+void
+buffer_unmap_file (Buffer *buf)
+{
+ if (buf == NULL) return;
+
+ if (buf->is_mmapped)
+ munmap (buf->data, buf->size);
+ else
+ free (buf->data);
+
+ free (buf);
+}
+
+//---------------------------------------------------------------------------
+// XML stuff
+
+xmlDoc *
+parse_xml_from_buffer (const char *input_buffer, size_t input_length)
+{
+ xmlDoc *doc = NULL;
+
+ if (input_buffer == NULL) return NULL;
+
+ if (input_length > 3 && memory_looks_gzipped ((const unsigned char *)input_buffer)) {
+ ByteArray *buf;
+
+ if (uncompress_memory ((const unsigned char *)input_buffer, input_length, &buf)) {
+ return NULL;
+ }
+ doc = xmlParseMemory ((const char *)(buf->data), buf->len);
+ free (buf->data);
+ free (buf);
+ } else {
+ doc = xmlParseMemory (input_buffer, input_length);
+ }
+
+ return doc;
+}
+
+
+xmlDoc *
+parse_xml_from_file (const string & filename)
+{
+ Buffer *buf;
+ xmlDoc *doc = NULL;
+
+ if (filename.empty()) return NULL;
+
+ buf = buffer_map_file (filename);
+ if (buf) {
+ doc = xmlParseMemory ((const char *)(buf->data), buf->size);
+ buffer_unmap_file (buf);
+ }
+
+ return doc;
+}
+
+
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
+
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+/*
+ * utils.h
+ *
+ * Copyright (C) 2003 Ximian, Inc.
+ * Copyright (c) 2005 SUSE Linux Products GmbH
+ *
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ */
+
+#include <sys/types.h>
+#include <string>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+
+///////////////////////////////////////////////////////////////////
+namespace ZYPP {
+//////////////////////////////////////////////////////////////////
+
+typedef unsigned char byte;
+
+char *strstrip (const char *str);
+char *maybe_merge_paths(const char *parent_path, const char *child_path);
+bool url_is_absolute (const char *url);
+
+
+typedef struct {
+ byte *data;
+ size_t len;
+} ByteArray;
+
+// An easy way to map files. If we map a compressed file,
+// it will be magically uncompressed for us.
+
+typedef struct {
+ byte *data;
+ size_t size;
+ bool is_mmapped;
+} Buffer;
+
+Buffer *buffer_map_file (const std::string & filename);
+void buffer_unmap_file (Buffer *buffer);
+
+
+xmlDoc *parse_xml_from_buffer (const char *input_buffer, size_t input_length);
+xmlDoc *parse_xml_from_file (const std::string & filename);
+
+///////////////////////////////////////////////////////////////////
+}; // namespace ZYPP
+///////////////////////////////////////////////////////////////////
+
--- /dev/null
+deptestomatic.o deptestomatic.o: deptestomatic.cc /usr/include/stdio.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
+ /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+ /usr/include/alloca.h /usr/include/string.h /usr/include/assert.h \
+ /usr/include/sys/stat.h /usr/include/bits/stat.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/libzypp_solver.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/c++/4.0.2/cstdio /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ ../../../zypp/solver/detail/Channel.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/UndumpWorld.h \
+ ../../../zypp/solver/detail/UndumpWorldPtr.h \
+ ../../../zypp/solver/detail/StoreWorld.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/MultiWorld.h \
+ ../../../zypp/solver/detail/ServiceWorldPtr.h \
+ ../../../zypp/solver/detail/Resolver.h \
+ ../../../zypp/solver/detail/ResolverPtr.h \
+ ../../../zypp/solver/detail/ResolverQueue.h \
+ ../../../zypp/solver/detail/ResolverQueuePtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/utils.h \
+ ../../../zypp/solver/detail/extract.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/vector /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/assert.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/libzypp_solver.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+../../../zypp/solver/detail/Channel.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/UndumpWorld.h:
+
+../../../zypp/solver/detail/UndumpWorldPtr.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/MultiWorld.h:
+
+../../../zypp/solver/detail/ServiceWorldPtr.h:
+
+../../../zypp/solver/detail/Resolver.h:
+
+../../../zypp/solver/detail/ResolverPtr.h:
+
+../../../zypp/solver/detail/ResolverQueue.h:
+
+../../../zypp/solver/detail/ResolverQueuePtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/utils.h:
+
+../../../zypp/solver/detail/extract.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
--- /dev/null
+deptestomatic_multi.o deptestomatic_multi.o: deptestomatic_multi.cc \
+ /usr/include/stdio.h /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/endian.h /usr/include/bits/endian.h /usr/include/xlocale.h \
+ /usr/include/sys/types.h /usr/include/time.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/bits/sigset.h \
+ /usr/include/bits/time.h /usr/include/sys/sysmacros.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h \
+ /usr/include/alloca.h /usr/include/string.h /usr/include/sys/stat.h \
+ /usr/include/bits/stat.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/libzypp_solver.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/c++/4.0.2/cstdio /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ ../../../zypp/solver/detail/Channel.h \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/ChannelPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/WorldPtr.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Dependency.h \
+ ../../../zypp/solver/detail/DependencyPtr.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ ../../../zypp/solver/detail/OrDependencyPtr.h \
+ ../../../zypp/solver/detail/Spec.h ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Match.h \
+ ../../../zypp/solver/detail/MatchPtr.h \
+ ../../../zypp/solver/detail/Importance.h \
+ ../../../zypp/solver/detail/Resolvable.h \
+ ../../../zypp/solver/detail/ResolvablePtr.h \
+ ../../../zypp/solver/detail/StoreWorldPtr.h \
+ ../../../zypp/solver/detail/Version.h \
+ ../../../zypp/solver/detail/World.h \
+ ../../../zypp/solver/detail/MultiWorldPtr.h \
+ ../../../zypp/solver/detail/Pending.h \
+ ../../../zypp/solver/detail/PendingPtr.h \
+ ../../../zypp/solver/detail/Packman.h \
+ ../../../zypp/solver/detail/PackmanPtr.h \
+ ../../../zypp/solver/detail/Package.h \
+ ../../../zypp/solver/detail/PackagePtr.h \
+ ../../../zypp/solver/detail/PackageUpdatePtr.h \
+ ../../../zypp/solver/detail/Section.h \
+ ../../../zypp/solver/detail/PackageUpdate.h \
+ ../../../zypp/solver/detail/UndumpWorld.h \
+ ../../../zypp/solver/detail/UndumpWorldPtr.h \
+ ../../../zypp/solver/detail/StoreWorld.h \
+ ../../../zypp/solver/detail/ResolvableAndDependency.h \
+ ../../../zypp/solver/detail/ResolvableAndDependencyPtr.h \
+ ../../../zypp/solver/detail/MultiWorld.h \
+ ../../../zypp/solver/detail/ServiceWorldPtr.h \
+ ../../../zypp/solver/detail/Resolver.h \
+ ../../../zypp/solver/detail/ResolverPtr.h \
+ ../../../zypp/solver/detail/ResolverQueue.h \
+ ../../../zypp/solver/detail/ResolverQueuePtr.h \
+ ../../../zypp/solver/detail/ResolverContextPtr.h \
+ ../../../zypp/solver/detail/QueueItem.h \
+ ../../../zypp/solver/detail/QueueItemPtr.h \
+ ../../../zypp/solver/detail/ResolverInfo.h \
+ ../../../zypp/solver/detail/ResolverInfoPtr.h \
+ ../../../zypp/solver/detail/ResolverContext.h \
+ ../../../zypp/solver/detail/utils.h \
+ ../../../zypp/solver/detail/extract.h \
+ /usr/include/YaST2/y2util/stringutil.h /usr/include/c++/4.0.2/cstdarg \
+ /usr/include/c++/4.0.2/vector /usr/include/c++/4.0.2/bits/stl_vector.h \
+ /usr/include/c++/4.0.2/bits/stl_bvector.h \
+ /usr/include/c++/4.0.2/bits/vector.tcc
+
+/usr/include/stdio.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/string.h:
+
+/usr/include/sys/stat.h:
+
+/usr/include/bits/stat.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/libzypp_solver.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+../../../zypp/solver/detail/Channel.h:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/ChannelPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/WorldPtr.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Dependency.h:
+
+../../../zypp/solver/detail/DependencyPtr.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+../../../zypp/solver/detail/OrDependencyPtr.h:
+
+../../../zypp/solver/detail/Spec.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Match.h:
+
+../../../zypp/solver/detail/MatchPtr.h:
+
+../../../zypp/solver/detail/Importance.h:
+
+../../../zypp/solver/detail/Resolvable.h:
+
+../../../zypp/solver/detail/ResolvablePtr.h:
+
+../../../zypp/solver/detail/StoreWorldPtr.h:
+
+../../../zypp/solver/detail/Version.h:
+
+../../../zypp/solver/detail/World.h:
+
+../../../zypp/solver/detail/MultiWorldPtr.h:
+
+../../../zypp/solver/detail/Pending.h:
+
+../../../zypp/solver/detail/PendingPtr.h:
+
+../../../zypp/solver/detail/Packman.h:
+
+../../../zypp/solver/detail/PackmanPtr.h:
+
+../../../zypp/solver/detail/Package.h:
+
+../../../zypp/solver/detail/PackagePtr.h:
+
+../../../zypp/solver/detail/PackageUpdatePtr.h:
+
+../../../zypp/solver/detail/Section.h:
+
+../../../zypp/solver/detail/PackageUpdate.h:
+
+../../../zypp/solver/detail/UndumpWorld.h:
+
+../../../zypp/solver/detail/UndumpWorldPtr.h:
+
+../../../zypp/solver/detail/StoreWorld.h:
+
+../../../zypp/solver/detail/ResolvableAndDependency.h:
+
+../../../zypp/solver/detail/ResolvableAndDependencyPtr.h:
+
+../../../zypp/solver/detail/MultiWorld.h:
+
+../../../zypp/solver/detail/ServiceWorldPtr.h:
+
+../../../zypp/solver/detail/Resolver.h:
+
+../../../zypp/solver/detail/ResolverPtr.h:
+
+../../../zypp/solver/detail/ResolverQueue.h:
+
+../../../zypp/solver/detail/ResolverQueuePtr.h:
+
+../../../zypp/solver/detail/ResolverContextPtr.h:
+
+../../../zypp/solver/detail/QueueItem.h:
+
+../../../zypp/solver/detail/QueueItemPtr.h:
+
+../../../zypp/solver/detail/ResolverInfo.h:
+
+../../../zypp/solver/detail/ResolverInfoPtr.h:
+
+../../../zypp/solver/detail/ResolverContext.h:
+
+../../../zypp/solver/detail/utils.h:
+
+../../../zypp/solver/detail/extract.h:
+
+/usr/include/YaST2/y2util/stringutil.h:
+
+/usr/include/c++/4.0.2/cstdarg:
+
+/usr/include/c++/4.0.2/vector:
+
+/usr/include/c++/4.0.2/bits/stl_vector.h:
+
+/usr/include/c++/4.0.2/bits/stl_bvector.h:
+
+/usr/include/c++/4.0.2/bits/vector.tcc:
--- /dev/null
+edition.o edition.o: edition.cc ../../../zypp/solver/detail/Edition.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+../../../zypp/solver/detail/Edition.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+edition_single.o edition_single.o: edition_single.cc \
+ ../../../zypp/solver/detail/Edition.h /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \
+ /usr/include/bits/stdio.h /usr/include/c++/4.0.2/clocale \
+ /usr/include/locale.h /usr/include/bits/locale.h \
+ /usr/include/langinfo.h /usr/include/nl_types.h /usr/include/iconv.h \
+ /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/time.h \
+ /usr/include/bits/sched.h /usr/include/bits/time.h \
+ /usr/include/signal.h /usr/include/bits/sigset.h \
+ /usr/include/bits/pthreadtypes.h /usr/include/bits/initspin.h \
+ /usr/include/bits/sigthread.h /usr/include/unistd.h \
+ /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \
+ /usr/include/bits/confname.h /usr/include/getopt.h \
+ /usr/include/c++/4.0.2/cctype /usr/include/ctype.h \
+ /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/c++/4.0.2/cstdlib /usr/include/stdlib.h \
+ /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \
+ /usr/include/sys/types.h /usr/include/sys/select.h \
+ /usr/include/bits/select.h /usr/include/sys/sysmacros.h \
+ /usr/include/alloca.h /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+../../../zypp/solver/detail/Edition.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/time.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+spec.o spec.o: spec.cc ../../../zypp/solver/detail/Spec.h \
+ /usr/include/c++/4.0.2/list /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+../../../zypp/solver/detail/Spec.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+spec_single.o spec_single.o: spec_single.cc \
+ ../../../zypp/solver/detail/Spec.h /usr/include/c++/4.0.2/list \
+ /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h /usr/include/c++/4.0.2/cstring \
+ /usr/include/c++/4.0.2/cstddef \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/string.h /usr/include/xlocale.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/endian.h \
+ /usr/include/bits/endian.h /usr/include/sys/types.h \
+ /usr/include/bits/types.h /usr/include/bits/wordsize.h \
+ /usr/include/bits/typesizes.h /usr/include/time.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/postypes.h /usr/include/c++/4.0.2/cwchar \
+ /usr/include/c++/4.0.2/ctime /usr/include/stdint.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_list.h \
+ /usr/include/c++/4.0.2/bits/list.tcc \
+ /usr/include/YaST2/y2util/Ustring.h /usr/include/c++/4.0.2/iostream \
+ /usr/include/c++/4.0.2/ostream /usr/include/c++/4.0.2/ios \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/bits/localefwd.h \
+ /usr/include/c++/4.0.2/bits/ios_base.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/bits/locale_classes.h \
+ /usr/include/c++/4.0.2/string /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/c++/4.0.2/streambuf \
+ /usr/include/c++/4.0.2/bits/streambuf.tcc \
+ /usr/include/c++/4.0.2/bits/basic_ios.h \
+ /usr/include/c++/4.0.2/bits/streambuf_iterator.h \
+ /usr/include/c++/4.0.2/bits/locale_facets.h \
+ /usr/include/c++/4.0.2/cwctype /usr/include/wctype.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h \
+ /usr/include/c++/4.0.2/bits/codecvt.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h \
+ /usr/include/c++/4.0.2/bits/basic_ios.tcc \
+ /usr/include/c++/4.0.2/bits/ostream.tcc /usr/include/c++/4.0.2/locale \
+ /usr/include/c++/4.0.2/bits/locale_facets.tcc \
+ /usr/include/c++/4.0.2/typeinfo /usr/include/c++/4.0.2/istream \
+ /usr/include/c++/4.0.2/bits/istream.tcc \
+ /usr/include/YaST2/y2util/MemUsage.h /usr/include/c++/4.0.2/set \
+ /usr/include/c++/4.0.2/bits/stl_tree.h \
+ /usr/include/c++/4.0.2/bits/stl_set.h \
+ /usr/include/c++/4.0.2/bits/stl_multiset.h \
+ ../../../zypp/solver/detail/Hash.h \
+ ../../../zypp/solver/detail/SpecPtr.h \
+ /usr/include/YaST2/y2util/RepDef.h /usr/include/YaST2/y2util/Rep.h \
+ ../../../zypp/solver/detail/XmlNode.h \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h \
+ ../../../zypp/solver/detail/XmlNodePtr.h \
+ ../../../zypp/solver/detail/Edition.h \
+ ../../../zypp/solver/detail/EditionPtr.h \
+ ../../../zypp/solver/detail/Arch.h /usr/include/c++/4.0.2/map \
+ /usr/include/c++/4.0.2/bits/stl_map.h \
+ /usr/include/c++/4.0.2/bits/stl_multimap.h
+
+../../../zypp/solver/detail/Spec.h:
+
+/usr/include/c++/4.0.2/list:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/string.h:
+
+/usr/include/xlocale.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_list.h:
+
+/usr/include/c++/4.0.2/bits/list.tcc:
+
+/usr/include/YaST2/y2util/Ustring.h:
+
+/usr/include/c++/4.0.2/iostream:
+
+/usr/include/c++/4.0.2/ostream:
+
+/usr/include/c++/4.0.2/ios:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/bits/localefwd.h:
+
+/usr/include/c++/4.0.2/bits/ios_base.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/bits/locale_classes.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/c++/4.0.2/streambuf:
+
+/usr/include/c++/4.0.2/bits/streambuf.tcc:
+
+/usr/include/c++/4.0.2/bits/basic_ios.h:
+
+/usr/include/c++/4.0.2/bits/streambuf_iterator.h:
+
+/usr/include/c++/4.0.2/bits/locale_facets.h:
+
+/usr/include/c++/4.0.2/cwctype:
+
+/usr/include/wctype.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_base.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/ctype_inline.h:
+
+/usr/include/c++/4.0.2/bits/codecvt.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/time_members.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/messages_members.h:
+
+/usr/include/c++/4.0.2/bits/basic_ios.tcc:
+
+/usr/include/c++/4.0.2/bits/ostream.tcc:
+
+/usr/include/c++/4.0.2/locale:
+
+/usr/include/c++/4.0.2/bits/locale_facets.tcc:
+
+/usr/include/c++/4.0.2/typeinfo:
+
+/usr/include/c++/4.0.2/istream:
+
+/usr/include/c++/4.0.2/bits/istream.tcc:
+
+/usr/include/YaST2/y2util/MemUsage.h:
+
+/usr/include/c++/4.0.2/set:
+
+/usr/include/c++/4.0.2/bits/stl_tree.h:
+
+/usr/include/c++/4.0.2/bits/stl_set.h:
+
+/usr/include/c++/4.0.2/bits/stl_multiset.h:
+
+../../../zypp/solver/detail/Hash.h:
+
+../../../zypp/solver/detail/SpecPtr.h:
+
+/usr/include/YaST2/y2util/RepDef.h:
+
+/usr/include/YaST2/y2util/Rep.h:
+
+../../../zypp/solver/detail/XmlNode.h:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
+
+../../../zypp/solver/detail/XmlNodePtr.h:
+
+../../../zypp/solver/detail/Edition.h:
+
+../../../zypp/solver/detail/EditionPtr.h:
+
+../../../zypp/solver/detail/Arch.h:
+
+/usr/include/c++/4.0.2/map:
+
+/usr/include/c++/4.0.2/bits/stl_map.h:
+
+/usr/include/c++/4.0.2/bits/stl_multimap.h:
--- /dev/null
+utils.o utils.o: utils.cc /usr/include/string.h /usr/include/features.h \
+ /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/xlocale.h ../../../zypp/solver/detail/utils.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/postypes.h \
+ /usr/include/c++/4.0.2/cwchar /usr/include/c++/4.0.2/ctime \
+ /usr/include/stdint.h /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
--- /dev/null
+utils_single.o utils_single.o: utils_single.cc /usr/include/string.h \
+ /usr/include/features.h /usr/include/sys/cdefs.h \
+ /usr/include/gnu/stubs.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h \
+ /usr/include/xlocale.h ../../../zypp/solver/detail/utils.h \
+ /usr/include/sys/types.h /usr/include/bits/types.h \
+ /usr/include/bits/wordsize.h /usr/include/bits/typesizes.h \
+ /usr/include/time.h /usr/include/endian.h /usr/include/bits/endian.h \
+ /usr/include/sys/select.h /usr/include/bits/select.h \
+ /usr/include/bits/sigset.h /usr/include/bits/time.h \
+ /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h \
+ /usr/include/bits/sched.h /usr/include/c++/4.0.2/string \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h \
+ /usr/include/c++/4.0.2/bits/stringfwd.h \
+ /usr/include/c++/4.0.2/bits/char_traits.h \
+ /usr/include/c++/4.0.2/cstring /usr/include/c++/4.0.2/cstddef \
+ /usr/include/c++/4.0.2/bits/stl_algobase.h \
+ /usr/include/c++/4.0.2/climits \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h \
+ /usr/include/limits.h /usr/include/bits/posix1_lim.h \
+ /usr/include/bits/local_lim.h /usr/include/linux/limits.h \
+ /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \
+ /usr/include/bits/stdio_lim.h /usr/include/c++/4.0.2/cstdlib \
+ /usr/include/stdlib.h /usr/include/bits/waitflags.h \
+ /usr/include/bits/waitstatus.h /usr/include/alloca.h \
+ /usr/include/c++/4.0.2/iosfwd \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h \
+ /usr/include/c++/4.0.2/cstdio /usr/include/stdio.h /usr/include/libio.h \
+ /usr/include/_G_config.h /usr/include/wchar.h /usr/include/bits/wchar.h \
+ /usr/include/gconv.h \
+ /usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h \
+ /usr/include/bits/sys_errlist.h /usr/include/bits/stdio.h \
+ /usr/include/c++/4.0.2/clocale /usr/include/locale.h \
+ /usr/include/bits/locale.h /usr/include/langinfo.h \
+ /usr/include/nl_types.h /usr/include/iconv.h /usr/include/libintl.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h \
+ /usr/include/pthread.h /usr/include/sched.h /usr/include/signal.h \
+ /usr/include/bits/initspin.h /usr/include/bits/sigthread.h \
+ /usr/include/unistd.h /usr/include/bits/posix_opt.h \
+ /usr/include/bits/environments.h /usr/include/bits/confname.h \
+ /usr/include/getopt.h /usr/include/c++/4.0.2/cctype \
+ /usr/include/ctype.h /usr/include/c++/4.0.2/bits/postypes.h \
+ /usr/include/c++/4.0.2/cwchar /usr/include/c++/4.0.2/ctime \
+ /usr/include/stdint.h /usr/include/c++/4.0.2/bits/functexcept.h \
+ /usr/include/c++/4.0.2/exception_defines.h \
+ /usr/include/c++/4.0.2/bits/stl_pair.h \
+ /usr/include/c++/4.0.2/bits/cpp_type_traits.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_types.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h \
+ /usr/include/c++/4.0.2/bits/concept_check.h \
+ /usr/include/c++/4.0.2/bits/stl_iterator.h \
+ /usr/include/c++/4.0.2/debug/debug.h /usr/include/c++/4.0.2/cassert \
+ /usr/include/assert.h /usr/include/c++/4.0.2/memory \
+ /usr/include/c++/4.0.2/bits/allocator.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h \
+ /usr/include/c++/4.0.2/ext/new_allocator.h /usr/include/c++/4.0.2/new \
+ /usr/include/c++/4.0.2/exception \
+ /usr/include/c++/4.0.2/bits/stl_construct.h \
+ /usr/include/c++/4.0.2/bits/stl_uninitialized.h \
+ /usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h \
+ /usr/include/c++/4.0.2/limits \
+ /usr/include/c++/4.0.2/bits/stl_function.h \
+ /usr/include/c++/4.0.2/bits/basic_string.h \
+ /usr/include/c++/4.0.2/bits/atomicity.h \
+ /usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h \
+ /usr/include/c++/4.0.2/algorithm /usr/include/c++/4.0.2/bits/stl_algo.h \
+ /usr/include/c++/4.0.2/bits/stl_heap.h \
+ /usr/include/c++/4.0.2/bits/stl_tempbuf.h \
+ /usr/include/c++/4.0.2/bits/basic_string.tcc \
+ /usr/include/libxml2/libxml/parser.h \
+ /usr/include/libxml2/libxml/xmlversion.h \
+ /usr/include/libxml2/libxml/xmlexports.h \
+ /usr/include/libxml2/libxml/tree.h \
+ /usr/include/libxml2/libxml/xmlstring.h \
+ /usr/include/libxml2/libxml/xmlregexp.h \
+ /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \
+ /usr/include/libxml2/libxml/valid.h \
+ /usr/include/libxml2/libxml/xmlerror.h \
+ /usr/include/libxml2/libxml/list.h \
+ /usr/include/libxml2/libxml/xmlautomata.h \
+ /usr/include/libxml2/libxml/entities.h \
+ /usr/include/libxml2/libxml/encoding.h \
+ /usr/include/libxml2/libxml/xmlIO.h \
+ /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX.h \
+ /usr/include/libxml2/libxml/xlink.h /usr/include/libxml2/libxml/SAX2.h \
+ /usr/include/libxml2/libxml/xmlmemory.h \
+ /usr/include/libxml2/libxml/threads.h
+
+/usr/include/string.h:
+
+/usr/include/features.h:
+
+/usr/include/sys/cdefs.h:
+
+/usr/include/gnu/stubs.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stddef.h:
+
+/usr/include/xlocale.h:
+
+../../../zypp/solver/detail/utils.h:
+
+/usr/include/sys/types.h:
+
+/usr/include/bits/types.h:
+
+/usr/include/bits/wordsize.h:
+
+/usr/include/bits/typesizes.h:
+
+/usr/include/time.h:
+
+/usr/include/endian.h:
+
+/usr/include/bits/endian.h:
+
+/usr/include/sys/select.h:
+
+/usr/include/bits/select.h:
+
+/usr/include/bits/sigset.h:
+
+/usr/include/bits/time.h:
+
+/usr/include/sys/sysmacros.h:
+
+/usr/include/bits/pthreadtypes.h:
+
+/usr/include/bits/sched.h:
+
+/usr/include/c++/4.0.2/string:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++config.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/os_defines.h:
+
+/usr/include/c++/4.0.2/bits/stringfwd.h:
+
+/usr/include/c++/4.0.2/bits/char_traits.h:
+
+/usr/include/c++/4.0.2/cstring:
+
+/usr/include/c++/4.0.2/cstddef:
+
+/usr/include/c++/4.0.2/bits/stl_algobase.h:
+
+/usr/include/c++/4.0.2/climits:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/limits.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/syslimits.h:
+
+/usr/include/limits.h:
+
+/usr/include/bits/posix1_lim.h:
+
+/usr/include/bits/local_lim.h:
+
+/usr/include/linux/limits.h:
+
+/usr/include/bits/posix2_lim.h:
+
+/usr/include/bits/xopen_lim.h:
+
+/usr/include/bits/stdio_lim.h:
+
+/usr/include/c++/4.0.2/cstdlib:
+
+/usr/include/stdlib.h:
+
+/usr/include/bits/waitflags.h:
+
+/usr/include/bits/waitstatus.h:
+
+/usr/include/alloca.h:
+
+/usr/include/c++/4.0.2/iosfwd:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:
+
+/usr/include/c++/4.0.2/cstdio:
+
+/usr/include/stdio.h:
+
+/usr/include/libio.h:
+
+/usr/include/_G_config.h:
+
+/usr/include/wchar.h:
+
+/usr/include/bits/wchar.h:
+
+/usr/include/gconv.h:
+
+/usr/lib/gcc/i586-suse-linux/4.0.2/include/stdarg.h:
+
+/usr/include/bits/sys_errlist.h:
+
+/usr/include/bits/stdio.h:
+
+/usr/include/c++/4.0.2/clocale:
+
+/usr/include/locale.h:
+
+/usr/include/bits/locale.h:
+
+/usr/include/langinfo.h:
+
+/usr/include/nl_types.h:
+
+/usr/include/iconv.h:
+
+/usr/include/libintl.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++io.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/gthr-default.h:
+
+/usr/include/pthread.h:
+
+/usr/include/sched.h:
+
+/usr/include/signal.h:
+
+/usr/include/bits/initspin.h:
+
+/usr/include/bits/sigthread.h:
+
+/usr/include/unistd.h:
+
+/usr/include/bits/posix_opt.h:
+
+/usr/include/bits/environments.h:
+
+/usr/include/bits/confname.h:
+
+/usr/include/getopt.h:
+
+/usr/include/c++/4.0.2/cctype:
+
+/usr/include/ctype.h:
+
+/usr/include/c++/4.0.2/bits/postypes.h:
+
+/usr/include/c++/4.0.2/cwchar:
+
+/usr/include/c++/4.0.2/ctime:
+
+/usr/include/stdint.h:
+
+/usr/include/c++/4.0.2/bits/functexcept.h:
+
+/usr/include/c++/4.0.2/exception_defines.h:
+
+/usr/include/c++/4.0.2/bits/stl_pair.h:
+
+/usr/include/c++/4.0.2/bits/cpp_type_traits.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_types.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator_base_funcs.h:
+
+/usr/include/c++/4.0.2/bits/concept_check.h:
+
+/usr/include/c++/4.0.2/bits/stl_iterator.h:
+
+/usr/include/c++/4.0.2/debug/debug.h:
+
+/usr/include/c++/4.0.2/cassert:
+
+/usr/include/assert.h:
+
+/usr/include/c++/4.0.2/memory:
+
+/usr/include/c++/4.0.2/bits/allocator.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/c++allocator.h:
+
+/usr/include/c++/4.0.2/ext/new_allocator.h:
+
+/usr/include/c++/4.0.2/new:
+
+/usr/include/c++/4.0.2/exception:
+
+/usr/include/c++/4.0.2/bits/stl_construct.h:
+
+/usr/include/c++/4.0.2/bits/stl_uninitialized.h:
+
+/usr/include/c++/4.0.2/bits/stl_raw_storage_iter.h:
+
+/usr/include/c++/4.0.2/limits:
+
+/usr/include/c++/4.0.2/bits/stl_function.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.h:
+
+/usr/include/c++/4.0.2/bits/atomicity.h:
+
+/usr/include/c++/4.0.2/i586-suse-linux/bits/atomic_word.h:
+
+/usr/include/c++/4.0.2/algorithm:
+
+/usr/include/c++/4.0.2/bits/stl_algo.h:
+
+/usr/include/c++/4.0.2/bits/stl_heap.h:
+
+/usr/include/c++/4.0.2/bits/stl_tempbuf.h:
+
+/usr/include/c++/4.0.2/bits/basic_string.tcc:
+
+/usr/include/libxml2/libxml/parser.h:
+
+/usr/include/libxml2/libxml/xmlversion.h:
+
+/usr/include/libxml2/libxml/xmlexports.h:
+
+/usr/include/libxml2/libxml/tree.h:
+
+/usr/include/libxml2/libxml/xmlstring.h:
+
+/usr/include/libxml2/libxml/xmlregexp.h:
+
+/usr/include/libxml2/libxml/dict.h:
+
+/usr/include/libxml2/libxml/hash.h:
+
+/usr/include/libxml2/libxml/valid.h:
+
+/usr/include/libxml2/libxml/xmlerror.h:
+
+/usr/include/libxml2/libxml/list.h:
+
+/usr/include/libxml2/libxml/xmlautomata.h:
+
+/usr/include/libxml2/libxml/entities.h:
+
+/usr/include/libxml2/libxml/encoding.h:
+
+/usr/include/libxml2/libxml/xmlIO.h:
+
+/usr/include/libxml2/libxml/globals.h:
+
+/usr/include/libxml2/libxml/SAX.h:
+
+/usr/include/libxml2/libxml/xlink.h:
+
+/usr/include/libxml2/libxml/SAX2.h:
+
+/usr/include/libxml2/libxml/xmlmemory.h:
+
+/usr/include/libxml2/libxml/threads.h:
--- /dev/null
+#
+# Makefile.am for src/testsuite
+#
+SUBDIRS = lib config libzypp_solver.test single.out
+AUTOMAKE_OPTIONS = dejagnu
+PACKAGE = libzypp_solver
+
+INCLUDES= \
+ -I$(top_srcdir)/src \
+ -I$(includedir) \
+ -I/usr/include/YaST2 \
+ -I/usr/include/libxml2 -I/usr/include/rpm \
+ -DG_LOG_DOMAIN=\"testsuite\" \
+ -Wall
+
+LIBZYPP_LIBS = -lxml2 -lz -lm -ly2util -lpthread -lrt -lz -lbz2
+
+# We're not ready for this yet.
+#check_PROGRAMS = deptestomatic
+noinst_PROGRAMS = edition.single \
+ spec.single \
+ utils.single \
+ deptestomatic.multi
+
+edition_single_SOURCES = \
+ edition_single.cc
+
+edition_single_LDFLAGS = \
+ -L$(top_srcdir)/zypp/solver/detail/.libs
+
+edition_single_LDADD = \
+ -lzypp_solver_detail \
+ $(LIBZYPP_LIBS)
+
+spec_single_SOURCES = \
+ spec_single.cc
+
+spec_single_LDFLAGS = \
+ -L$(top_srcdir)/zypp/solver/detail/.libs
+
+spec_single_LDADD = \
+ -lzypp_solver_detail \
+ $(LIBZYPP_LIBS)
+
+utils_single_SOURCES = \
+ utils_single.cc
+
+utils_single_LDFLAGS = \
+ -L$(top_srcdir)/zypp/solver/detail/.libs
+
+utils_single_LDADD = \
+ -lzypp_solver_detail \
+ $(LIBZYPP_LIBS)
+
+
+deptestomatic_multi_SOURCES = \
+ deptestomatic_multi.cc
+
+deptestomatic_multi_LDFLAGS = \
+ -L$(top_srcdir)/zypp/solver/detail/.libs
+
+deptestomatic_multi_LDADD = \
+ -lzypp_solver_detail \
+ $(LIBZYPP_LIBS)
+
+
+
--- /dev/null
+EXTRA_DIST = default.exp unix.exp unknown.exp
--- /dev/null
+# default.exp -- empty
+
--- /dev/null
+load_lib "solver_init.exp"
+proc solver_exit {} {}
+proc solver_version {} {}
+
--- /dev/null
+perror "No setup for current configuration"
+exit 1
--- /dev/null
+Comments to the yast (PHI) test cases
+
+- conflicts of an installed package don't match to-be-installed providers
+ (-> r_and_d::verify checks channel equality)
+ [Fixed by --enable-phi]
+
+- uninstalls can be replaced by upgrades, the solver doesn't check this
+ (exercise-02conflict-08-test.xml and exercise-02conflict-09-test.xml fail currently)
+ [Fixed by --enable-phi]
+
+- A limited conflict (foo <= 1.2) also triggers for 'foo' in rc but not in phi
+ (exercise-04obsoletes-03-test.xml)
--- /dev/null
+--- exercise-01simple-1-test.solution 2005-11-04 12:09:56.000000000 +0100
++++ exercise-01simple-1-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Installing bash from channel test
+->!> Solution #1:
+->!> install bash-2.0.2-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing bash from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 4c84a7a8
+>!> install bash-2.0.2-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing bash-2.0.2-1[test]
+
--- /dev/null
+>!> Installing bash from channel test
+>!> Solution #1:
+>!> install bash-2.0.2-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+<!-- simplest test of all: the package doesn't need anything additional -->
+<trial>
+ <install channel="test" package="bash"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-01simple-2-test.solution 2005-11-04 12:10:15.000000000 +0100
++++ exercise-01simple-2-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing amd from channel test
+->!> Solution #1:
+->!> install amd-upl102-11[test]
+->!> install libgdbm-1.17-1[test]
+->!> upgrade libc6-2.0.5-1 => libc6-2.0.7-1[test]
+->!> installs=2, upgrades=1, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing amd from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 45feb26c
+>!> install amd-upl102-11[test]
+>!> install libgdbm-1.17-1[test]
+>!> upgrade libc6-2.0.5-1 => libc6-2.0.7-1[test]
+>!> installs=2, upgrades=1, uninstalls=0
+download size=0.4k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing amd-upl102-11[test]
+libgdbm-1.17-1[test]: needed by [amd-upl102-11]
+Installing libgdbm-1.17-1[test]
+libc6-2.0.7-1[test]: needed by [libgdbm-1.17-1]
+Upgrading libc6-2.0.5-1 => libc6-2.0.7-1[test]
+
--- /dev/null
+>!> Installing amd from channel test
+>!> Solution #1:
+>!> install amd-upl102-11[test]
+>!> install libgdbm-1.17-1[test]
+>!> upgrade libc6-2.0.5-1 => libc6-2.0.7-1[test]
+>!> installs=2, upgrades=1, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+<!-- transitive addition: amd needs libgdbm, which needs a newer version of libc6
+ than installed
+ NB: libgdbm should refer to the libc6 update, but not amd itself, because
+ its requirements are also satisfied by the old version -->
+<trial>
+ <install channel="test" package="amd"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-01simple-3-test.solution 2005-11-04 12:11:02.000000000 +0100
++++ exercise-01simple-3-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1 +0,0 @@
+->!> Installing foo1 from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo1 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 456, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing foo1-1.0-1[test]
+There are no installable providers of bar1 for foo1-1.0-1[test]
+libc6-2.0.7-1[test]: needed by [foo1-1.0-1]
+Upgrading libc6-2.0.5-1 => libc6-2.0.7-1[test]
+[ERROR] foo1-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing foo1 from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+<!-- test with non-available dependency (1): any version -->
+<trial>
+ <install channel="test" package="foo1"/>
+</trial>
+
+
+</test>
--- /dev/null
+--- exercise-01simple-4-test.solution 2005-11-04 12:51:43.000000000 +0100
++++ exercise-01simple-4-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1 +0,0 @@
+->!> Installing foo2 from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 123, Install Size: 456, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing foo2-1.0-1[test]
+There are no installable providers of bar2 >= 1.0 for foo2-1.0-1[test]
+[ERROR] foo2-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing foo2 from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with non-available dependency (2): with version relation -->
+<trial>
+ <install channel="test" package="foo2"/>
+</trial>
+
+
+</test>
--- /dev/null
+--- exercise-01simple-5-test.solution 2005-11-04 12:53:08.000000000 +0100
++++ exercise-01simple-5-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Installing foo2a from channel test
+->!> Installing foo2b from channel test
+->!> Installing foo2c from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2a from channel test
+>!> Installing foo2b from channel test
+>!> Installing foo2c from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 369, Install Size: 1368, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing foo2a-1.0-1[test]
+Installing foo2b-1.0-1[test]
+Installing foo2c-1.0-1[test]
+There are no installable providers of bar2 > 1.0 for foo2c-1.0-1[test]
+There are no installable providers of bar2 <= 1.1 for foo2b-1.0-1[test]
+There are no installable providers of bar3 == 2.0 for foo2a-1.0-1[test]
+There are no installable providers of bar2 >= 1.0 for foo2a-1.0-1[test]
+[ERROR] foo2a-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing foo2a from channel test
+>!> Installing foo2b from channel test
+>!> Installing foo2c from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with non-available dependency (3): with complex version relations -->
+<trial>
+ <install channel="test" package="foo2a"/>
+ <install channel="test" package="foo2b"/>
+ <install channel="test" package="foo2c"/>
+</trial>
+
+
+</test>
--- /dev/null
+--- exercise-01simple-6-test.solution 2005-11-04 12:53:26.000000000 +0100
++++ exercise-01simple-6-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing foo2d from channel test
+->!> Installing foo2e from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2d from channel test
+>!> Installing foo2e from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing foo2d-1.0-1[test]
+Installing foo2e-1.0-1[test]
+There are no installable providers of bar2 <= 1.0 for foo2e-1.0-1[test]
+There are no installable providers of bar2 > 2.0 for foo2d-1.0-1[test]
+[ERROR] foo2d-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing foo2d from channel test
+>!> Installing foo2e from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with non-available dependency (4): with contradicting version relations -->
+<trial>
+ <install channel="test" package="foo2d"/>
+ <install channel="test" package="foo2e"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-01simple-7-test.solution 2005-11-04 12:53:41.000000000 +0100
++++ exercise-01simple-7-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing foo3 from channel test
+->!> Solution #1:
+->!> install bash-2.0.2-1[test]
+->!> install foo3-1.0-1[test]
+->!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo3 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = b0401108
+>!> install bash-2.0.2-1[test]
+>!> install foo3-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo3-1.0-1[test]
+bash-2.0.2-1[test]: needed by [foo3-1.0-1]
+Installing bash-2.0.2-1[test]
+
--- /dev/null
+>!> Installing foo3 from channel test
+>!> Solution #1:
+>!> install bash-2.0.2-1[test]
+>!> install foo3-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with required file (1): pulls in bash for /bin/sh -->
+<trial>
+ <install channel="test" package="foo3"/>
+</trial>
+
+
+</test>
--- /dev/null
+--- exercise-01simple-8-test.solution 2005-11-04 12:54:09.000000000 +0100
++++ exercise-01simple-8-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing foo4 from channel test
+->!> Solution #1:
+->!> install bash-2.0.2-1[test]
+->!> install foo3-1.0-1[test]
+->!> install foo4-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo4 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = aee20d29
+>!> install bash-2.0.2-1[test]
+>!> install foo3-1.0-1[test]
+>!> install foo4-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo4-1.0-1[test]
+foo3-1.0-1[test]: needed by [foo4-1.0-1]
+Installing foo3-1.0-1[test]
+bash-2.0.2-1[test]: needed by [foo3-1.0-1]
+Installing bash-2.0.2-1[test]
+
--- /dev/null
+>!> Installing foo4 from channel test
+>!> Solution #1:
+>!> install bash-2.0.2-1[test]
+>!> install foo3-1.0-1[test]
+>!> install foo4-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with required file (2): needs non-standard /usr/bin/bar
+ provided by foo3 (i.e., in the available set, too) -->
+<trial>
+ <install channel="test" package="foo4"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-01simple-9-test.solution 2005-11-04 12:54:19.000000000 +0100
++++ exercise-01simple-9-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Installing foo5 from channel test
+->!> Solution #1:
+->!> install foo5-1.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-01simple-system.xml
+Loaded 14 packages from deptestomatic/exercise-01simple-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo5 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = df24d2e2
+>!> install foo5-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo5-1.0-1[test]
+
--- /dev/null
+>!> Installing foo5 from channel test
+>!> Solution #1:
+>!> install foo5-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-01simple-system.xml"/>
+ <channel name="test" file="exercise-01simple-packages.xml"/>
+</setup>
+
+
+<!-- test with required file (3): needs non-standard /sbin/ldconfig
+ provided by libc6 (i.e., from different set) -->
+<trial>
+ <install channel="test" package="foo5"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>libc6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.7</version>
+ <release>1</release>
+ <filename>libc6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </provides>
+ </package>
+ <package>
+ <name>libgdbm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.17</version>
+ <release>1</release>
+ <filename>libgdbm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libc6' op='>=' version='2.0.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>bash</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.2</version>
+ <release>1</release>
+ <filename>bash.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/bash'/>
+ </provides>
+ <requires>
+ <dep name='libc6'/>
+ </requires>
+ </package>
+ <package>
+ <name>amd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>upl102</version>
+ <release>11</release>
+ <filename>amd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libgdbm'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libc6' op='>=' version='2.0.6'/>
+ <dep name='bar1'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='>=' version='1.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='>=' version='1.0'/>
+ <dep name='bar3' op='=' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2b</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2b.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='<=' version='1.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2c</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2c.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='>' version='1.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2d</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2d.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='>' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo2e</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2e.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar2' op='<=' version='1.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/bar'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/usr/bin/bar'/>
+ </requires>
+ </package>
+ <package>
+ <name>foo5</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo5.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/sbin/unusual'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>libc6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>libc6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/sbin/unusual'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-02conflict-01-test.solution 2005-11-04 17:39:38.000000000 +0100
++++ exercise-02conflict-01-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing p2 from channel test
+->!> Solution #1:
+->!> install p2-1.0-1[test]
+->!> remove p1-1.0-1
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing p2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 6704acfb
+>!> install p2-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing p2-1.0-1[test]
+
--- /dev/null
+>!> Installing p2 from channel test
+>!> Solution #1:
+>!> install p2-1.0-1[test]
+>!> remove p1-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- installed p1 directly conflicts with candidate p2 -->
+<trial>
+ <install channel="test" package="p2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-02-test.solution 2005-11-04 17:40:18.000000000 +0100
++++ exercise-02conflict-02-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing sendmail from channel test
+->!> Solution #1:
+->!> install sendmail-2.0-1[test]
+->!> remove smail-1.0-1
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing sendmail from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = ffcb91f5
+>!> install sendmail-2.0-1[test]
+>!> remove smail-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing sendmail-2.0-1[test]
+smail-1.0-1: conflicts with [sendmail-2.0-1]
+
--- /dev/null
+>!> Installing sendmail from channel test
+>!> Solution #1:
+>!> install sendmail-2.0-1[test]
+>!> remove smail-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- installed smail conflicts with candidate sendmail via provided MTA -->
+<trial>
+ <install channel="test" package="sendmail"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-03-test.solution 2005-11-05 17:03:30.000000000 +0100
++++ exercise-02conflict-03-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,9 +0,0 @@
+->!> Installing bar from channel test
+->!> Solution #1:
+->!> install bar-2.0-1[test]
+->!> remove foo-1.0-1
+->!> |unflag foo-2.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=1
+->!> Solution #2:
+->!> This solution is a duplicate.
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing bar from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = f52dd13b
+>!> install bar-2.0-1[test]
+>!> remove foo-1.0-1
+>!> |unflag foo-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing bar-2.0-1[test]
+Marking foo-2.0-1[test] as uninstallable due to conflicts over foo (foo-2.0-1) from bar-2.0-1[test] [bar-2.0-1, foo-2.0-1]
+foo-1.0-1: conflicts with [bar-2.0-1]
+
--- /dev/null
+>!> Installing bar from channel test
+>!> Solution #1:
+>!> install bar-2.0-1[test]
+>!> remove foo-1.0-1
+>!> |unflag foo-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
+>!> Solution #2:
+>!> This solution is a duplicate.
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- candidate bar conflicts with installed foo (the difference is that the
+ conflict is reported at candidate again) -->
+<trial>
+ <install channel="test" package="bar"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-04-test.solution 2005-11-04 22:55:36.000000000 +0100
++++ exercise-02conflict-04-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing libident-dev from channel test
+->!> Solution #1:
+->!> install libident-dev-2.0-1[test]
+->!> remove smail-1.0-1
+->!> upgrade libident-1.9-1 => libident-2.0-1[test]
+->!> installs=1, upgrades=1, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing libident-dev from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 8ca0c580
+>!> install libident-dev-2.0-1[test]
+>!> upgrade libident-1.9-1 => libident-2.0-1[test]
+>!> installs=1, upgrades=1, uninstalls=0
+download size=0.2k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing libident-dev-2.0-1[test]
+libident-2.0-1[test]: needed by [libident-dev-2.0-1]
+Upgrading libident-1.9-1 => libident-2.0-1[test]
+
--- /dev/null
+>!> Installing libident-dev from channel test
+>!> Solution #1:
+>!> install libident-dev-2.0-1[test]
+>!> remove smail-1.0-1
+>!> upgrade libident-1.9-1 => libident-2.0-1[test]
+>!> installs=1, upgrades=1, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- conflict by upgrade (1): installed smail conflicts with newer version of libident -->
+<trial>
+ <install channel="test" package="libident-dev"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-05-test.solution 2005-11-04 23:00:17.000000000 +0100
++++ exercise-02conflict-05-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing libc6 from channel test
+->!> Solution #1:
+->!> remove smail-1.0-1
+->!> upgrade libc6-2.0.7-2 => libc6-2.1.0-1[test]
+->!> installs=0, upgrades=1, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing libc6 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 343626a4
+>!> remove smail-1.0-1
+>!> upgrade libc6-2.0.7-2 => libc6-2.1.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=1
+download size=0.1k, install size=0.0k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Upgrading libc6-2.0.7-2 => libc6-2.1.0-1[test]
+smail-1.0-1: depended on [libc6-2.0.7-2]
+smail-1.0-1: missing requirement libc6 < 2.1
+
--- /dev/null
+>!> Installing libc6 from channel test
+>!> Solution #1:
+>!> remove smail-1.0-1
+>!> upgrade libc6-2.0.7-2 => libc6-2.1.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- conflict by upgrade (2): installed smail depends on an older version of libc6 -->
+<trial>
+ <install channel="test" package="libc6"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-06-test.solution 2005-11-05 17:03:31.000000000 +0100
++++ exercise-02conflict-06-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,10 +0,0 @@
+->!> Installing test3 from channel test
+->!> Solution #1:
+->!> install test3-1.0-1[test]
+->!> remove test1-1.0-1
+->!> remove test2-1.0-1
+->!> |unflag test4-1.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=2
+->!> Solution #2:
+->!> This solution is a duplicate.
+->!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing test3 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = d9e3bdee
+>!> install test3-1.0-1[test]
+>!> remove test1-1.0-1
+>!> remove test2-1.0-1
+>!> |unflag test4-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing test3-1.0-1[test]
+Marking test4-1.0-1[test] as uninstallable due to conflicts over test2 (test2) from test3-1.0-1[test] [test3-1.0-1, test4-1.0-1]
+test2-1.0-1: conflicts with [test3-1.0-1]
+There are no installable providers of test2 for test1-1.0-1
+test2 provides test2-1.0-1, but is scheduled to be uninstalled.
+test4 provides test2, but is scheduled to be uninstalled.
+test1-1.0-1: depended on [test2-1.0-1]
+test1-1.0-1: missing requirement test2
+
--- /dev/null
+>!> Installing test3 from channel test
+>!> Solution #1:
+>!> install test3-1.0-1[test]
+>!> remove test1-1.0-1
+>!> remove test2-1.0-1
+>!> |unflag test4-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=2
+>!> Solution #2:
+>!> This solution is a duplicate.
+>!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- test3 conflicts with test2, on which test1 depends; so remove-to-solve-
+ conflict must contain test1 and test2 -->
+<trial>
+ <install channel="test" package="test3"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-07-test.solution 2005-11-04 23:03:49.000000000 +0100
++++ exercise-02conflict-07-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing test4 from channel test
+->!> Solution #1:
+->!> install test4-1.0-1[test]
+->!> remove test2-1.0-1
+->!> |unflag test3-1.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing test4 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = e116dc35
+>!> install test4-1.0-1[test]
+>!> remove test2-1.0-1
+>!> |unflag test3-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing test4-1.0-1[test]
+Marking resolvable test3-1.0-1 as uninstallable
+test2-1.0-1: conflicts with [test4-1.0-1]
+
--- /dev/null
+>!> Installing test4 from channel test
+>!> Solution #1:
+>!> install test4-1.0-1[test]
+>!> remove test2-1.0-1
+>!> |unflag test3-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- test4 also conflicts with test2, but itself provides test2 so that the
+ requirement of test1 is still satisfied; remove-to-solve-conflict should be
+ only test2 -->
+<trial>
+ <install channel="test" package="test4"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-08-test.solution 2005-11-05 17:15:57.000000000 +0100
++++ exercise-02conflict-08-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,10 +0,0 @@
+->!> Installing baz from channel test
+->!> Solution #1:
+->!> install baz-1.0-1[test]
+->!> upgrade foo-1.0-1 => foo-2.0-1[test]
+->!> |unflag bar-2.0-1[test]
+->!> installs=1, upgrades=1, uninstalls=0
+->!> Solution #2:
+->!> install baz-1.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing baz from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = c403dc42
+>!> install baz-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing baz-1.0-1[test]
+foo-1.0-1: conflicts with [baz-1.0-1]
+
--- /dev/null
+>!> Installing baz from channel test
+>!> Solution #1:
+>!> install baz-1.0-1[test]
+>!> upgrade foo-1.0-1 => foo-2.0-1[test]
+>!> |unflag bar-2.0-1[test]
+>!> installs=1, upgrades=1, uninstalls=0
+>!> Solution #2:
+>!> install baz-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- solve conflict by upgrade (1): candidate baz conflicts with installed
+ version of foo, but an upgrade of foo is available -->
+<trial>
+ <install channel="test" package="baz"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-09-test.solution 2005-11-04 23:15:23.000000000 +0100
++++ exercise-02conflict-09-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,10 +0,0 @@
+->!> Installing baz2 from channel test
+->!> Solution #1:
+->!> install baz2-1.0-1[test]
+->!> remove foo2-1.0-1
+->!> installs=1, upgrades=0, uninstalls=1
+->!> Solution #2:
+->!> install baz2-1.0-1[test]
+->!> upgrade foo2-1.0-1 => foo2-2.0-1[test]
+->!> installs=1, upgrades=1, uninstalls=0
+-
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing baz2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = fa0f37e6
+>!> install baz2-1.0-1[test]
+>!> remove foo2-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing baz2-1.0-1[test]
+foo2-1.0-1: conflicts with [baz2-1.0-1]
+
--- /dev/null
+>!> Installing baz2 from channel test
+>!> Solution #1:
+>!> install baz2-1.0-1[test]
+>!> remove foo2-1.0-1
+>!> installs=1, upgrades=0, uninstalls=1
+>!> Solution #2:
+>!> install baz2-1.0-1[test]
+>!> upgrade foo2-1.0-1 => foo2-2.0-1[test]
+>!> installs=1, upgrades=1, uninstalls=0
+
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- solve conflict by upgrade (2): installed foo2 conflicts with baz21 provided
+ by candidate baz2; there's an upgrade for foo2 that doesn't conflict with
+ baz21 anymore (only with baz22 still) -->
+<trial>
+ <install channel="test" package="baz2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-10-test.solution 2005-11-04 23:17:08.000000000 +0100
++++ exercise-02conflict-10-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing baz3 from channel test
+->!> Solution #1:
+->!> install baz3-1.0-1[test]
+->!> remove foo3-1.0-1
+->!> |unflag foo3-2.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing baz3 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = e8fdf36b
+>!> install baz3-1.0-1[test]
+>!> remove foo3-1.0-1
+>!> |unflag foo3-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing baz3-1.0-1[test]
+foo3-1.0-1: conflicts with [baz3-1.0-1]
+Marking resolvable foo3-2.0-1 as uninstallable
+
--- /dev/null
+>!> Installing baz3 from channel test
+>!> Solution #1:
+>!> install baz3-1.0-1[test]
+>!> remove foo3-1.0-1
+>!> |unflag foo3-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- solve conflict by upgrade (3): same as above, but upgrade of foo3 still
+ conflicts, so this should fail -->
+<trial>
+ <install channel="test" package="baz3"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-11-test.solution 2005-11-04 23:17:40.000000000 +0100
++++ exercise-02conflict-11-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing required from channel test
+->!> Solution #1:
+->!> upgrade required-1.0-1 => required-2.0-1[test]
+->!> upgrade requirerer-1.0-1 => requirerer-2.0-1[test]
+->!> installs=0, upgrades=2, uninstalls=0
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing required from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = be4a96ce
+>!> upgrade required-1.0-1 => required-2.0-1[test]
+>!> upgrade requirerer-1.0-1 => requirerer-2.0-1[test]
+>!> installs=0, upgrades=2, uninstalls=0
+download size=0.2k, install size=0.0k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Upgrading required-1.0-1 => required-2.0-1[test]
+Upgrading requirerer-1.0-1 => requirerer-2.0-1[test]
+requirerer-2.0-1[test]: needed by [required-2.0-1]
+
--- /dev/null
+>!> Installing required from channel test
+>!> Solution #1:
+>!> upgrade required-1.0-1 => required-2.0-1[test]
+>!> upgrade requirerer-1.0-1 => requirerer-2.0-1[test]
+>!> installs=0, upgrades=2, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- solve conflict by upgrade (4): now an conflict-by-upgrade must be solved:
+ installed requirerer depends on required < 2.0 and this should be updated
+ to 2.0-1. But if also upgrading requirerer, the conflict vanishes. -->
+<trial>
+ <install channel="test" package="required"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-12-test.solution 2005-11-04 23:21:05.000000000 +0100
++++ exercise-02conflict-12-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Installing required2 from channel test
+->!> Solution #1:
+->!> upgrade required2-1.0-1 => required2-2.0-1[test]
+->!> installs=0, upgrades=1, uninstalls=0
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing required2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = a7f45336
+>!> upgrade required2-1.0-1 => required2-2.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=0
+download size=0.1k, install size=0.0k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Upgrading required2-1.0-1 => required2-2.0-1[test]
+
--- /dev/null
+>!> Installing required2 from channel test
+>!> Solution #1:
+>!> upgrade required2-1.0-1 => required2-2.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+
+<!-- try the above harder: this time, the new requirerer cannot be installed
+ because it dependency required2a is unresolvable -->
+<trial>
+ <install channel="test" package="required2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-13-test.solution 2005-11-04 23:22:15.000000000 +0100
++++ exercise-02conflict-13-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing required3 from channel test
+->!> Solution #1:
+->!> remove requirerer3-2.0-1
+->!> upgrade required3-1.0-1 => required3-2.0-1[test]
+->!> installs=0, upgrades=1, uninstalls=1
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing required3 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 586abdfa
+>!> remove requirerer3-2.0-1
+>!> upgrade required3-1.0-1 => required3-2.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=1
+download size=0.1k, install size=0.0k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Upgrading required3-1.0-1 => required3-2.0-1[test]
+requirerer3-2.0-1: depended on [required3-1.0-1]
+requirerer3-2.0-1: missing requirement required3 < 2.0
+
--- /dev/null
+>!> Installing required3 from channel test
+>!> Solution #1:
+>!> remove requirerer3-2.0-1
+>!> upgrade required3-1.0-1 => required3-2.0-1[test]
+>!> installs=0, upgrades=1, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+<!-- eek... this time a downgrade is available :-) -->
+<trial>
+ <install channel="test" package="required3"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-02conflict-14-test.solution 2005-11-04 23:24:16.000000000 +0100
++++ exercise-02conflict-14-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,10 +0,0 @@
+->!> Installing foouser from channel test
+->!> Installing libfoo from channel test
+->!> Installing libfoo-dev from channel test
+->!> Installing libfoog from channel test
+->!> Solution #1:
+->!> install libfoog-1.1-1[test]
+->!> upgrade foouser-1.0-1 => foouser-1.0-2[test]
+->!> upgrade libfoo-1.0-1 => libfoo-1.1-1[test]
+->!> upgrade libfoo-dev-1.0-1 => libfoo-dev-1.1-1[test]
+->!> installs=1, upgrades=3, uninstalls=0
--- /dev/null
+Loaded 20 packages from deptestomatic/exercise-02conflict-system.xml
+Loaded 25 packages from deptestomatic/exercise-02conflict-packages.xml
+
+------------------------------------------------
+
+>!> Installing foouser from channel test
+>!> Installing libfoo from channel test
+>!> Installing libfoo-dev from channel test
+>!> Installing libfoog from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 2eebdb86
+>!> install libfoog-1.1-1[test]
+>!> upgrade foouser-1.0-1 => foouser-1.0-2[test]
+>!> upgrade libfoo-1.0-1 => libfoo-1.1-1[test]
+>!> upgrade libfoo-dev-1.0-1 => libfoo-dev-1.1-1[test]
+>!> installs=1, upgrades=3, uninstalls=0
+download size=0.5k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Upgrading foouser-1.0-1 => foouser-1.0-2[test]
+Upgrading libfoo-1.0-1 => libfoo-1.1-1[test]
+Upgrading libfoo-dev-1.0-1 => libfoo-dev-1.1-1[test]
+Installing libfoog-1.1-1[test]
+
--- /dev/null
+>!> Installing foouser from channel test
+>!> Installing libfoo from channel test
+>!> Installing libfoo-dev from channel test
+>!> Installing libfoog from channel test
+>!> Solution #1:
+>!> install libfoog-1.1-1[test]
+>!> upgrade foouser-1.0-1 => foouser-1.0-2[test]
+>!> upgrade libfoo-1.0-1 => libfoo-1.1-1[test]
+>!> upgrade libfoo-dev-1.0-1 => libfoo-dev-1.1-1[test]
+>!> installs=1, upgrades=3, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-02conflict-system.xml"/>
+ <channel name="test" file="exercise-02conflict-packages.xml"/>
+</setup>
+
+<!-- typical Debian libc5->libc6 scenario: new libfoog conflicts with
+ older versions of libfoo, but can coexist with newer ones. The -dev
+ package needs the libc6 ('g') lib, the -dev pkg for the libc5 lib
+ has been renamed to -altdev. The whole upgrade is triggered by an
+ update of foouser, which has changed its requirement from libfoo to libfoog. -->
+<trial>
+ <install channel="test" package="foouser"/>
+ <install channel="test" package="libfoo"/>
+ <install channel="test" package="libfoo-dev"/>
+ <install channel="test" package="libfoog"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>p2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>sendmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>sendmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='MTA'/>
+ </provides>
+ <conflicts>
+ <dep name='MTA'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>bar</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>bar.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>libident-dev</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>libident-dev.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libident' op='=' version='2.0' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>libident</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>libident.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libc6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.0</version>
+ <release>1</release>
+ <filename>libc6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>baz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>baz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='foo' op='<=' version='1.2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>baz2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>baz2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='baz21'/>
+ </provides>
+ </package>
+ <package>
+ <name>foo2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foo2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='baz22'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>baz3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>baz3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='baz31'/>
+ </provides>
+ </package>
+ <package>
+ <name>foo3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foo3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='baz31'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>test3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>test3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='test2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>test4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>test4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='test2'/>
+ </provides>
+ <conflicts>
+ <dep name='test2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>requirerer</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>requirerer.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required' op='<' version='3.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>required</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>required.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>requirerer2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>requirerer2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required2' op='<' version='3.0'/>
+ <dep name='required2a'/>
+ </requires>
+ </package>
+ <package>
+ <name>required2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>required2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>requirerer3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>requirerer3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required3'/>
+ </requires>
+ </package>
+ <package>
+ <name>required3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>required3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libfoo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>libfoo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libfoog</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>libfoog.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='libfoo' op='<' version='1.1'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>libfoo-dev</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>libfoo-dev.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoog' op='=' version='1.1' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>libfoo-altdev</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>libfoo-altdev.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoo' op='=' version='1.1' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>foouser</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>2</release>
+ <filename>foouser.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoog'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>p1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='p2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>smail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>smail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='MTA'/>
+ </provides>
+ <requires>
+ <dep name='libc6' op='<' version='2.1'/>
+ </requires>
+ <conflicts>
+ <dep name='MTA'/>
+ <dep name='libident' op='>=' version='2.0'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libident</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.9</version>
+ <release>1</release>
+ <filename>libident.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libc6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.7</version>
+ <release>2</release>
+ <filename>libc6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>test1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>test1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='test2'/>
+ </requires>
+ </package>
+ <package>
+ <name>test2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>test2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>foo2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='baz21'/>
+ <dep name='baz22'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>foo3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='baz31'/>
+ <dep name='baz32'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>requirerer</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>requirerer.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required' op='<' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>required</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>required.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>requirerer2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>requirerer2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required2' op='<' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>required2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>required2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>requirerer2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>requirerer2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required2' op='<' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>required2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>required2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>requirerer3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>requirerer3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='required3' op='<' version='2.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>required3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>required3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libfoo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libfoo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libfoo-dev</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libfoo-dev.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoo' op='=' version='1.0' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>foouser</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foouser.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoo'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>sendmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>sendmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mta'/>
+ </provides>
+ <conflicts>
+ <dep name='mta'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>smail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>smail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mta'/>
+ </provides>
+ <requires>
+ <dep name='libstringlist'/>
+ </requires>
+ <conflicts>
+ <dep name='mta'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>exim</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>exim.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mta'/>
+ </provides>
+ <conflicts>
+ <dep name='mta'/>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>mutt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>mutt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='mta'/>
+ </requires>
+ </package>
+ <package>
+ <name>libstringlist</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libstringlist.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>devutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>devutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='c-compiler'/>
+ </requires>
+ </package>
+ <package>
+ <name>gcc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.8.1</version>
+ <release>1</release>
+ <filename>gcc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='c-compiler'/>
+ </provides>
+ </package>
+ <package>
+ <name>egcc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.18</version>
+ <release>1</release>
+ <filename>egcc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='c-compiler'/>
+ </provides>
+ </package>
+ <package>
+ <name>inews</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>inews.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='nntp'/>
+ </requires>
+ </package>
+ <package>
+ <name>nntp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>nntp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>inn-nntp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>inn-nntp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='nntp'/>
+ </provides>
+ </package>
+ <package>
+ <name>barref</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>barref.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar'/>
+ </requires>
+ </package>
+ <package>
+ <name>bar1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>bar10</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar10.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='bar'/>
+ </provides>
+ </package>
+ <package>
+ <name>bar11</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar11.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='bar'/>
+ </provides>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>cnews</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>cnews.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='news-transport'/>
+ </provides>
+ <conflicts>
+ <dep name='news-transport'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>inn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>inn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='news-transport'/>
+ </provides>
+ <requires>
+ <dep name='bar1'/>
+ </requires>
+ <conflicts>
+ <dep name='news-transport'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>leafnode</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>leafnode.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='news-transport'/>
+ </provides>
+ <conflicts>
+ <dep name='news-transport'/>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>libc6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>libc6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-04obsoletes-01-test.solution 2005-11-05 07:36:41.000000000 +0100
++++ exercise-04obsoletes-01-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,7 +0,0 @@
+->!> Installing foonew from channel test
+->!> Installing fooc from channel test
+->!> Solution #1:
+->!> install fooc-1.0-1[test]
+->!> install foonew-2.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=2, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing foonew from channel test
+>!> Installing fooc from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 20c824
+>!> install fooc-1.0-1[test]
+>!> install foonew-2.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=2, upgrades=0, uninstalls=1
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foonew-2.0-1[test]
+Installing fooc-1.0-1[test]
+foo-1.0-1: conflicts with [fooc-1.0-1]
+
--- /dev/null
+>!> Installing foonew from channel test
+>!> Installing fooc from channel test
+>!> Solution #1:
+>!> install fooc-1.0-1[test]
+>!> install foonew-2.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=2, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!-- foo is installed, but obsoleted by candidate foonew; so fooc finds no target
+ for its conflict -->
+<trial>
+ <install channel="test" package="foonew"/>
+ <install channel="test" package="fooc"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-02-test.solution 2005-11-05 07:38:13.000000000 +0100
++++ exercise-04obsoletes-02-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing barnew from channel test
+->!> Installing barc from channel test
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing barnew from channel test
+>!> Installing barc from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing barnew-2.0-1[test]
+Installing barc-1.0-1[test]
+[ERROR] A conflict over bar (bar) requires the removal of the to-be-installed resolvable barnew-2.0-1[test] [barc-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing barnew from channel test
+>!> Installing barc from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# same with bar* packages: now barnew provides bar (in version MAX_VERS), so
+# now the conflict target is provided
+ -->
+<trial>
+ <install channel="test" package="barnew"/>
+ <install channel="test" package="barc"/>
+</trial>
+
+</test>
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing baznew from channel test
+>!> Installing bazc from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing baznew-2.0-1[test]
+Installing bazc-1.0-1[test]
+[ERROR] A conflict over <= baz-1.2 (baz) requires the removal of the to-be-installed resolvable baznew-2.0-1[test] [bazc-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# same with baz* packages, but now the conflict is only on older versions of
+# baz, so no conflict takes place
+baznew bazc
+ -->
+<trial>
+ <install channel="test" package="baznew"/>
+ <install channel="test" package="bazc"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-04-test.solution 2005-11-05 08:03:56.000000000 +0100
++++ exercise-04obsoletes-04-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing libfoo2 from channel test
+->!> Solution #1:
+->!> install libfoo2-2.0-1[test]
+->!> remove libfoo-1.2-1
+->!> remove something-1.0-1
+->!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing libfoo2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = b4ab0762
+>!> install libfoo2-2.0-1[test]
+>!> remove libfoo-1.2-1
+>!> remove something-1.0-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing libfoo2-2.0-1[test]
+libfoo-1.2-1: replaced by [libfoo2-2.0-1]
+There are no installable providers of libfoo for something-1.0-1
+libfoo provides libfoo-1.2-1, but is scheduled to be uninstalled.
+something-1.0-1: depended on [libfoo-1.2-1]
+something-1.0-1: missing requirement libfoo
+
--- /dev/null
+>!> Installing libfoo2 from channel test
+>!> Solution #1:
+>!> install libfoo2-2.0-1[test]
+>!> remove libfoo-1.2-1
+>!> remove something-1.0-1
+>!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# libfoo2 obsoletes but not provides libfoo, so it break the dependency of
+# something
+libfoo2
+ -->
+<trial>
+ <install channel="test" package="libfoo2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-05-test.solution 2005-11-05 08:04:57.000000000 +0100
++++ exercise-04obsoletes-05-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing libbar2 from channel test
+->!> Solution #1:
+->!> install libbar2-2.0-1[test]
+->!> remove libbar-1.2-1
+->!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing libbar2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 2005318e
+>!> install libbar2-2.0-1[test]
+>!> remove libbar-1.2-1
+>!> installs=1, upgrades=0, uninstalls=1
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing libbar2-2.0-1[test]
+libbar-1.2-1: replaced by [libbar2-2.0-1]
+
--- /dev/null
+>!> Installing libbar2 from channel test
+>!> Solution #1:
+>!> install libbar2-2.0-1[test]
+>!> remove libbar-1.2-1
+>!> installs=1, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# libbar2 obsoletes and provides libbar, so someother's dependency (though
+# versioned) is still ok
+libbar2
+ -->
+<trial>
+ <install channel="test" package="libbar2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-06-test.solution 2005-11-05 16:55:10.000000000 +0100
++++ exercise-04obsoletes-06-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing libbaz2 from channel test
+->!> Solution #1:
+->!> install libbaz2-2.0-1[test]
+->!> remove libbaz-1.2-1
+->!> remove somemore-1.0-1
+->!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing libbaz2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 88487c4d
+>!> install libbaz2-2.0-1[test]
+>!> remove libbaz-1.2-1
+>!> remove somemore-1.0-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing libbaz2-2.0-1[test]
+libbaz-1.2-1: replaced by [libbaz2-2.0-1]
+There are no installable providers of libbaz for somemore-1.0-1
+libbaz provides libbaz-1.2-1, but is scheduled to be uninstalled.
+somemore-1.0-1: depended on [libbaz-1.2-1]
+somemore-1.0-1: missing requirement libbaz
+
--- /dev/null
+>!> Installing libbaz2 from channel test
+>!> Solution #1:
+>!> install libbaz2-2.0-1[test]
+>!> remove libbaz-1.2-1
+>!> remove somemore-1.0-1
+>!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# libbaz2 obsoletes and provides libbaz, so it breaks the dependency of
+# somemore.; however, somemore can be upgraded so that the conflict is solved
+libbaz2
+ -->
+<trial>
+ <install channel="test" package="libbaz2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-07-test.solution 2005-11-05 16:56:07.000000000 +0100
++++ exercise-04obsoletes-07-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing A from channel test
+->!> Installing B from channel test
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing A from channel test
+>!> Installing B from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing A-1.0-1[test]
+Installing B-1.0-1[test]
+Marking C-1.0-1[test] as uninstallable due to conflicts over C (C-1.0-1) from B-1.0-1[test] [B-1.0-1, C-1.0-1]
+[ERROR] A conflict over A (A-1.0-1) requires the removal of the to-be-installed resolvable A-1.0-1[test] [B-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing A from channel test
+>!> Installing B from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# Aiee... candidate B obsoletes candidate A;
+# PHI installsB and A shouldn't appear in the output list
+# Zypp, being transaction based, installs neither (invalid solution)
+A B
+ -->
+<trial>
+ <install channel="test" package="A"/>
+ <install channel="test" package="B"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-08-test.solution 2005-11-05 16:58:01.000000000 +0100
++++ exercise-04obsoletes-08-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing B from channel test
+->!> Installing C from channel test
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing B from channel test
+>!> Installing C from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing B-1.0-1[test]
+Installing C-1.0-1[test]
+[ERROR] A conflict over C (C-1.0-1) requires the removal of the to-be-installed resolvable C-1.0-1[test] [B-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing B from channel test
+>!> Installing C from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# should also work in different order
+# see exercise-04obsoletes-07-test.xml
+B C
+ -->
+<trial>
+ <install channel="test" package="B"/>
+ <install channel="test" package="C"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-09-test.solution 2005-11-06 10:51:22.000000000 +0100
++++ exercise-04obsoletes-09-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,5 +0,0 @@
+->!> Installing G from channel test
+->!> Solution #1:
+->!> install G-1.0-1[test]
+->!> |unflag D-1.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing G from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 77adee7f
+>!> install G-1.0-1[test]
+>!> |unflag D-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing G-1.0-1[test]
+Marking D-1.0-1[test] as uninstallable due to conflicts over D (D-1.0-1) from G-1.0-1[test] [G-1.0-1, D-1.0-1]
+
--- /dev/null
+>!> Installing G from channel test
+>!> Solution #1:
+>!> install G-1.0-1[test]
+>!> |unflag D-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# G obsoletes multiple provides of libD. Thats only one problem
+G
+ -->
+<trial>
+ <install channel="test" package="G"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-10-test.solution 2005-11-06 10:51:47.000000000 +0100
++++ exercise-04obsoletes-10-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Installing D from channel test
+->!> Solution #1:
+->!> install D-1.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing D from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 9fb56dad
+>!> install D-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing D-1.0-1[test]
+
--- /dev/null
+>!> Installing D from channel test
+>!> Solution #1:
+>!> install D-1.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# libD provides D. now D is going to be installed so libD has to go with rpm4
+D
+ -->
+<trial>
+ <install channel="test" package="D"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-04obsoletes-11-test.solution 2005-11-06 10:51:59.000000000 +0100
++++ exercise-04obsoletes-11-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Installing D2 from channel test
+->!> Solution #1:
+->!> install D2-2.0-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 13 packages from deptestomatic/exercise-04obsoletes-system.xml
+Loaded 16 packages from deptestomatic/exercise-04obsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing D2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 885a4eb0
+>!> install D2-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing D2-2.0-1[test]
+
--- /dev/null
+>!> Installing D2 from channel test
+>!> Solution #1:
+>!> install D2-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-04obsoletes-system.xml"/>
+ <channel name="test" file="exercise-04obsoletes-packages.xml"/>
+</setup>
+
+<!--
+# libD2 gets uninstalled but is still required by some packages
+D2
+ -->
+<trial>
+ <install channel="test" package="D2"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>foonew</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foonew.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='foo'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>fooc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>fooc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>barnew</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>barnew.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='bar'/>
+ </provides>
+ <obsoletes>
+ <dep name='bar'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>barc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>barc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='bar'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>baznew</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>baznew.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='baz'/>
+ </provides>
+ <obsoletes>
+ <dep name='baz'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>bazc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bazc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='baz' op='<=' version='1.2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>libfoo2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>libfoo2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='libfoo'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>libbar2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>libbar2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libbar'/>
+ </provides>
+ <obsoletes>
+ <dep name='libbar'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>libbaz2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>libbaz2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='libbaz'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>somemore</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>somemore.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libbaz2'/>
+ </requires>
+ </package>
+ <package>
+ <name>A</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>A.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>B</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>B.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='A'/>
+ <dep name='C'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>C</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>C.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>D</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>D.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>G</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>G.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='E'/>
+ <dep name='D'/>
+ <dep name='F'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>D2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>D2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>bar</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>baz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>baz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libfoo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>libfoo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>something</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>something.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libfoo'/>
+ </requires>
+ </package>
+ <package>
+ <name>libbar</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>libbar.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>someother</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>someother.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libbar' op='>=' version='1.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>libbaz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>libbaz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>somemore</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>somemore.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libbaz'/>
+ </requires>
+ </package>
+ <package>
+ <name>libD</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libD.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='D'/>
+ <dep name='E'/>
+ <dep name='F'/>
+ </provides>
+ </package>
+ <package>
+ <name>libD2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libD2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='D2'/>
+ </provides>
+ </package>
+ <package>
+ <name>libD2-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libD2-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='D2'/>
+ </requires>
+ </package>
+ <package>
+ <name>libD2-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>libD2-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libD2'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-05reallive-1-test.solution 2005-11-06 11:17:19.000000000 +0100
++++ exercise-05reallive-1-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,18 +0,0 @@
+->!> Installing dosemu from channel test
+->!> Installing dviutils from channel test
+->!> Installing fetchmail from channel test
+->!> Installing freeciv from channel test
+->!> Installing ghostscript from channel test
+->!> Solution #1:
+->!> install XFree86-libs-3.3.5-1[test]
+->!> install Xaw3d-1.5-2[test]
+->!> install dosemu-0.98.5-3[test]
+->!> install dviutils-1.0-8[test]
+->!> install fetchmail-5.0.4-0[test]
+->!> install freeciv-1.8.0-1[test]
+->!> install ghostscript-5.10-2[test]
+->!> install sed-3.02-1[test]
+->!> install teTeX-1.0.5-1[test]
+->!> install xpm-4.11-1[test]
+->!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+->!> installs=10, upgrades=1, uninstalls=0
--- /dev/null
+Loaded 75 packages from deptestomatic/exercise-05reallive-system.xml
+Loaded 591 packages from deptestomatic/exercise-05reallive-packages.xml
+
+------------------------------------------------
+
+>!> Installing dosemu from channel test
+>!> Installing dviutils from channel test
+>!> Installing fetchmail from channel test
+>!> Installing freeciv from channel test
+>!> Installing ghostscript from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 8557ab48
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install Xaw3d-1.5-2[test]
+>!> install dosemu-0.98.5-3[test]
+>!> install dviutils-1.0-8[test]
+>!> install fetchmail-5.0.4-0[test]
+>!> install freeciv-1.8.0-1[test]
+>!> install ghostscript-5.10-2[test]
+>!> install sed-3.02-1[test]
+>!> install teTeX-1.0.5-1[test]
+>!> install xpm-4.11-1[test]
+>!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> installs=10, upgrades=1, uninstalls=0
+download size=1.3k, install size=4.5k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing dosemu-0.98.5-3[test]
+Installing dviutils-1.0-8[test]
+Installing fetchmail-5.0.4-0[test]
+Installing freeciv-1.8.0-1[test]
+Installing ghostscript-5.10-2[test]
+XFree86-libs-3.3.5-1[test]: needed by [dosemu-0.98.5-3]
+Installing XFree86-libs-3.3.5-1[test]
+XFree86-libs-3.3.5-1[test]: needed by [dosemu-0.98.5-3]
+teTeX-1.0.5-1[test]: needed by [dviutils-1.0-8]
+Installing teTeX-1.0.5-1[test]
+tcsh-6.08.00-2[test]: needed by [dviutils-1.0-8]
+Upgrading tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+Xaw3d-1.5-2[test]: needed by [freeciv-1.8.0-1]
+Installing Xaw3d-1.5-2[test]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+xpm-4.11-1[test]: needed by [freeciv-1.8.0-1]
+Installing xpm-4.11-1[test]
+XFree86-libs-3.3.5-1[test]: needed by [freeciv-1.8.0-1]
+XFree86-libs-3.3.5-1[test]: needed by [ghostscript-5.10-2]
+XFree86-libs-3.3.5-1[test]: needed by [ghostscript-5.10-2]
+XFree86-libs-3.3.5-1[test]: needed by [ghostscript-5.10-2]
+XFree86-libs-3.3.5-1[test]: needed by [ghostscript-5.10-2]
+XFree86-libs-3.3.5-1[test]: needed by [ghostscript-5.10-2]
+sed-3.02-1[test]: needed by [teTeX-1.0.5-1]
+Installing sed-3.02-1[test]
+
--- /dev/null
+>!> Installing dosemu from channel test
+>!> Installing dviutils from channel test
+>!> Installing fetchmail from channel test
+>!> Installing freeciv from channel test
+>!> Installing ghostscript from channel test
+>!> Solution #1:
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install Xaw3d-1.5-2[test]
+>!> install dosemu-0.98.5-3[test]
+>!> install dviutils-1.0-8[test]
+>!> install fetchmail-5.0.4-0[test]
+>!> install freeciv-1.8.0-1[test]
+>!> install ghostscript-5.10-2[test]
+>!> install sed-3.02-1[test]
+>!> install teTeX-1.0.5-1[test]
+>!> install xpm-4.11-1[test]
+>!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> installs=10, upgrades=1, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-05reallive-system.xml"/>
+ <channel name="test" file="exercise-05reallive-packages.xml"/>
+</setup>
+
+<!--
+CLEAR_DEFAULTS
+DEFINE_DEFAULTS jdk-runtime jdk-shared jdk-static
+# install some misc packages from the avail set
+dosemu dviutils fetchmail freeciv ghostscript
+ -->
+<trial>
+ <install channel="test" package="dosemu"/>
+ <install channel="test" package="dviutils"/>
+ <install channel="test" package="fetchmail"/>
+ <install channel="test" package="freeciv"/>
+ <install channel="test" package="ghostscript"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-05reallive-2-test.solution 2005-11-06 11:18:22.000000000 +0100
++++ exercise-05reallive-2-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,11 +0,0 @@
+->!> Installing inn from channel test
+->!> Installing isdn4k-utils from channel test
+->!> Installing kdbg from channel test
+->!> Solution #1:
+->!> install XFree86-libs-3.3.5-1[test]
+->!> install gdbm-1.8.0-3[test]
+->!> install inn-2.2.1-2[test]
+->!> install isdn4k-utils-3.0beta2-4[test]
+->!> install kdbg-1.0beta1-1[test]
+->!> install kdelibs-1.1.2-1[test]
+->!> installs=6, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 75 packages from deptestomatic/exercise-05reallive-system.xml
+Loaded 591 packages from deptestomatic/exercise-05reallive-packages.xml
+
+------------------------------------------------
+
+>!> Installing inn from channel test
+>!> Installing isdn4k-utils from channel test
+>!> Installing kdbg from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 1e081379
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install gdbm-1.8.0-3[test]
+>!> install inn-2.2.1-2[test]
+>!> install isdn4k-utils-3.0beta2-4[test]
+>!> install kdbg-1.0beta1-1[test]
+>!> install kdelibs-1.1.2-1[test]
+>!> installs=6, upgrades=0, uninstalls=0
+download size=0.7k, install size=2.7k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing inn-2.2.1-2[test]
+Installing isdn4k-utils-3.0beta2-4[test]
+Installing kdbg-1.0beta1-1[test]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+Installing XFree86-libs-3.3.5-1[test]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+XFree86-libs-3.3.5-1[test]: needed by [isdn4k-utils-3.0beta2-4]
+gdbm-1.8.0-3[test]: needed by [isdn4k-utils-3.0beta2-4]
+Installing gdbm-1.8.0-3[test]
+XFree86-libs-3.3.5-1[test]: needed by [kdbg-1.0beta1-1]
+XFree86-libs-3.3.5-1[test]: needed by [kdbg-1.0beta1-1]
+kdelibs-1.1.2-1[test]: needed by [kdbg-1.0beta1-1]
+Installing kdelibs-1.1.2-1[test]
+kdelibs-1.1.2-1[test]: needed by [kdbg-1.0beta1-1]
+kdelibs-1.1.2-1[test]: needed by [kdbg-1.0beta1-1]
+kdelibs-1.1.2-1[test]: needed by [kdbg-1.0beta1-1]
+
--- /dev/null
+>!> Installing inn from channel test
+>!> Installing isdn4k-utils from channel test
+>!> Installing kdbg from channel test
+>!> Solution #1:
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install gdbm-1.8.0-3[test]
+>!> install inn-2.2.1-2[test]
+>!> install isdn4k-utils-3.0beta2-4[test]
+>!> install kdbg-1.0beta1-1[test]
+>!> install kdelibs-1.1.2-1[test]
+>!> installs=6, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-05reallive-system.xml"/>
+ <channel name="test" file="exercise-05reallive-packages.xml"/>
+</setup>
+
+<!--
+CLEAR_DEFAULTS
+DEFINE_DEFAULTS jdk-runtime jdk-shared jdk-static
+# ...and some others
+inn isdn4k-utils kdbg
+ -->
+<trial>
+ <install channel="test" package="inn"/>
+ <install channel="test" package="isdn4k-utils"/>
+ <install channel="test" package="kdbg"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-05reallive-3-test.solution 2005-11-06 11:19:35.000000000 +0100
++++ exercise-05reallive-3-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing jdk-shared from channel test
+->!> Installing jdk-static from channel test
--- /dev/null
+Loaded 75 packages from deptestomatic/exercise-05reallive-system.xml
+Loaded 591 packages from deptestomatic/exercise-05reallive-packages.xml
+
+------------------------------------------------
+
+>!> Installing jdk-shared from channel test
+>!> Installing jdk-static from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing jdk-shared-1.0.2-8[test]
+Installing jdk-static-1.0.2-8[test]
+[ERROR] jdk-shared-1.0.2-8 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing jdk-shared from channel test
+>!> Installing jdk-static from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-05reallive-system.xml"/>
+ <channel name="test" file="exercise-05reallive-packages.xml"/>
+</setup>
+
+<!--
+CLEAR_DEFAULTS
+DEFINE_DEFAULTS jdk-runtime jdk-shared jdk-static
+# these two conflict with each other
+ALTHANDLING=auto-no-default jdk-shared jdk-static
+ -->
+<trial>
+ <install channel="test" package="jdk-shared"/>
+ <install channel="test" package="jdk-static"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-05reallive-4-test.solution 2005-11-06 11:20:00.000000000 +0100
++++ exercise-05reallive-4-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,116 +0,0 @@
+->!> Checking for upgrades...
+->!> Upgrading DEV-3.3-0 => DEV-3.4-1[test]
+->!> Upgrading LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+->!> Upgrading LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+->!> Upgrading SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+->!> Upgrading SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+->!> Upgrading autoconf-2.13-0 => autoconf-2.13-1[test]
+->!> Upgrading bash-1.14.7-9 => bash-1.14.7-10[test]
+->!> Upgrading binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+->!> Upgrading crontabs-1.10-2 => crontabs-1.12-1[test]
+->!> Upgrading egcs-2.91.60-3 => egcs-2.91.66-5[test]
+->!> Upgrading egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+->!> Upgrading findutils-4.1-9 => findutils-4.1-11[test]
+->!> Upgrading gdb-4.17-2 => gdb-4.17.0.11-2[test]
+->!> Upgrading glibc-2.1-1 => glibc-2.1.2-1[test]
+->!> Upgrading isapnptools-1.16-1 => isapnptools-1.18-1[test]
+->!> Upgrading kbd-0.96-1 => kbd-0.99-1[test]
+->!> Upgrading ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+->!> Upgrading less-332-3 => less-340-1[test]
+->!> Upgrading libgr-2.0.13-1 => libgr-2.0.13-2[test]
+->!> Upgrading libpam-0.66-1 => libpam-0.66-3[test]
+->!> Upgrading libpwdb-0.54-7 => libpwdb-0.54-8[test]
+->!> Upgrading libz-1.0.2-1 => libz-1.0.2-2[test]
+->!> Upgrading linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+->!> Upgrading linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+->!> Upgrading lisa-3.1-0 => lisa-4.0-7[test]
+->!> Upgrading man-1.5f-1 => man-1.5f-5[test]
+->!> Upgrading mtabase-1.0-5 => mtabase-1.0-8[test]
+->!> Upgrading ncurses-4.2-1 => ncurses-4.2-4[test]
+->!> Upgrading ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+->!> Upgrading ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+->!> Upgrading ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+->!> Upgrading ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+->!> Upgrading nis-client-2.0-0 => nis-client-2.0-8[test]
+->!> Upgrading pciutils-1.99.4-1 => pciutils-2.0-1[test]
+->!> Upgrading perl-5.005_02-0 => perl-5.005_02-1[test]
+->!> Upgrading perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+->!> Upgrading procmail-3.10-8 => procmail-3.13.1-1[test]
+->!> Upgrading procps-1.2.9-2 => procps-2.0.2-1[test]
+->!> Upgrading python-1.5.1-0a => python-1.5.1-1[test]
+->!> Upgrading python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+->!> Upgrading python-eclass-1.2-0 => python-eclass-1.2-2[test]
+->!> Upgrading qt-1.4.2-1 => qt-1.44-4[test]
+->!> Upgrading qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+->!> Upgrading rpm-2.5.5-2 => rpm-2.5.5-3[test]
+->!> Upgrading sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+->!> Upgrading setup-2.0-0a => setup-2.0-6[test]
+->!> Upgrading sh-utils-1.16-3 => sh-utils-1.16-7[test]
+->!> Upgrading slang-1.2.2-0 => slang-1.3.7-1[test]
+->!> Upgrading strace-3.1-3 => strace-4.0-2[test]
+->!> Upgrading svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+->!> Upgrading sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+->!> Upgrading tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+->!> Upgrading util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+->!> Upgrading vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+->!> Upgrading 54 packages
+->!> Solution #1:
+->!> install XFree86-libs-3.3.5-1[test]
+->!> install gdbm-1.8.0-3[test]
+->!> install libstdc++-2.9.0-5[test]
+->!> install modutils-2.1.121-10[test]
+->!> upgrade DEV-3.3-0 => DEV-3.4-1[test]
+->!> upgrade LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+->!> upgrade LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+->!> upgrade SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+->!> upgrade SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+->!> upgrade autoconf-2.13-0 => autoconf-2.13-1[test]
+->!> upgrade bash-1.14.7-9 => bash-1.14.7-10[test]
+->!> upgrade binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+->!> upgrade crontabs-1.10-2 => crontabs-1.12-1[test]
+->!> upgrade egcs-2.91.60-3 => egcs-2.91.66-5[test]
+->!> upgrade egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+->!> upgrade findutils-4.1-9 => findutils-4.1-11[test]
+->!> upgrade gdb-4.17-2 => gdb-4.17.0.11-2[test]
+->!> upgrade glibc-2.1-1 => glibc-2.1.2-1[test]
+->!> upgrade isapnptools-1.16-1 => isapnptools-1.18-1[test]
+->!> upgrade kbd-0.96-1 => kbd-0.99-1[test]
+->!> upgrade ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+->!> upgrade less-332-3 => less-340-1[test]
+->!> upgrade libgr-2.0.13-1 => libgr-2.0.13-2[test]
+->!> upgrade libpam-0.66-1 => libpam-0.66-3[test]
+->!> upgrade libpwdb-0.54-7 => libpwdb-0.54-8[test]
+->!> upgrade libz-1.0.2-1 => libz-1.0.2-2[test]
+->!> upgrade linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+->!> upgrade linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+->!> upgrade lisa-3.1-0 => lisa-4.0-7[test]
+->!> upgrade man-1.5f-1 => man-1.5f-5[test]
+->!> upgrade mtabase-1.0-5 => mtabase-1.0-8[test]
+->!> upgrade ncurses-4.2-1 => ncurses-4.2-4[test]
+->!> upgrade ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+->!> upgrade ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+->!> upgrade ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+->!> upgrade ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+->!> upgrade nis-client-2.0-0 => nis-client-2.0-8[test]
+->!> upgrade pciutils-1.99.4-1 => pciutils-2.0-1[test]
+->!> upgrade perl-5.005_02-0 => perl-5.005_02-1[test]
+->!> upgrade perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+->!> upgrade procmail-3.10-8 => procmail-3.13.1-1[test]
+->!> upgrade procps-1.2.9-2 => procps-2.0.2-1[test]
+->!> upgrade python-1.5.1-0a => python-1.5.1-1[test]
+->!> upgrade python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+->!> upgrade python-eclass-1.2-0 => python-eclass-1.2-2[test]
+->!> upgrade qt-1.4.2-1 => qt-1.44-4[test]
+->!> upgrade qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+->!> upgrade rpm-2.5.5-2 => rpm-2.5.5-3[test]
+->!> upgrade sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+->!> upgrade setup-2.0-0a => setup-2.0-6[test]
+->!> upgrade sh-utils-1.16-3 => sh-utils-1.16-7[test]
+->!> upgrade slang-1.2.2-0 => slang-1.3.7-1[test]
+->!> upgrade strace-3.1-3 => strace-4.0-2[test]
+->!> upgrade svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+->!> upgrade sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+->!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+->!> upgrade util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+->!> upgrade vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+->!> installs=4, upgrades=54, uninstalls=0
--- /dev/null
+I/O error : No such file or directory
--- /dev/null
+Loaded 75 packages from deptestomatic/exercise-05reallive-system.xml
+Loaded 591 packages from deptestomatic/exercise-05reallive-packages.xml
+
+------------------------------------------------
+
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+Unable to save subscription data to '/var/adm/zypp/subscriptions.xml'
+Subscription will not be saved!
+>!> Checking for upgrades...
+>!> Upgrading DEV-3.3-0 => DEV-3.4-1[test]
+>!> Upgrading LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+>!> Upgrading LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+>!> Upgrading SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+>!> Upgrading SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+>!> Upgrading autoconf-2.13-0 => autoconf-2.13-1[test]
+>!> Upgrading bash-1.14.7-9 => bash-1.14.7-10[test]
+>!> Upgrading binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+>!> Upgrading crontabs-1.10-2 => crontabs-1.12-1[test]
+>!> Upgrading egcs-2.91.60-3 => egcs-2.91.66-5[test]
+>!> Upgrading egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+>!> Upgrading findutils-4.1-9 => findutils-4.1-11[test]
+>!> Upgrading gdb-4.17-2 => gdb-4.17.0.11-2[test]
+>!> Upgrading glibc-2.1-1 => glibc-2.1.2-1[test]
+>!> Upgrading isapnptools-1.16-1 => isapnptools-1.18-1[test]
+>!> Upgrading kbd-0.96-1 => kbd-0.99-1[test]
+>!> Upgrading ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+>!> Upgrading less-332-3 => less-340-1[test]
+>!> Upgrading libgr-2.0.13-1 => libgr-2.0.13-2[test]
+>!> Upgrading libpam-0.66-1 => libpam-0.66-3[test]
+>!> Upgrading libpwdb-0.54-7 => libpwdb-0.54-8[test]
+>!> Upgrading libz-1.0.2-1 => libz-1.0.2-2[test]
+>!> Upgrading linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+>!> Upgrading linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+>!> Upgrading lisa-3.1-0 => lisa-4.0-7[test]
+>!> Upgrading man-1.5f-1 => man-1.5f-5[test]
+>!> Upgrading mtabase-1.0-5 => mtabase-1.0-8[test]
+>!> Upgrading ncurses-4.2-1 => ncurses-4.2-4[test]
+>!> Upgrading ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+>!> Upgrading ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+>!> Upgrading ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+>!> Upgrading ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+>!> Upgrading nis-client-2.0-0 => nis-client-2.0-8[test]
+>!> Upgrading pciutils-1.99.4-1 => pciutils-2.0-1[test]
+>!> Upgrading perl-5.005_02-0 => perl-5.005_02-1[test]
+>!> Upgrading perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+>!> Upgrading procmail-3.10-8 => procmail-3.13.1-1[test]
+>!> Upgrading procps-1.2.9-2 => procps-2.0.2-1[test]
+>!> Upgrading python-1.5.1-0a => python-1.5.1-1[test]
+>!> Upgrading python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+>!> Upgrading python-eclass-1.2-0 => python-eclass-1.2-2[test]
+>!> Upgrading qt-1.4.2-1 => qt-1.44-4[test]
+>!> Upgrading qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+>!> Upgrading rpm-2.5.5-2 => rpm-2.5.5-3[test]
+>!> Upgrading sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+>!> Upgrading setup-2.0-0a => setup-2.0-6[test]
+>!> Upgrading sh-utils-1.16-3 => sh-utils-1.16-7[test]
+>!> Upgrading slang-1.2.2-0 => slang-1.3.7-1[test]
+>!> Upgrading strace-3.1-3 => strace-4.0-2[test]
+>!> Upgrading svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+>!> Upgrading sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+>!> Upgrading tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> Upgrading util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+>!> Upgrading vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+>!> Upgrading 54 packages
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 2bcfc82f
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install gdbm-1.8.0-3[test]
+>!> install libstdc++-2.9.0-5[test]
+>!> install modutils-2.1.121-10[test]
+>!> upgrade DEV-3.3-0 => DEV-3.4-1[test]
+>!> upgrade LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+>!> upgrade LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+>!> upgrade SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+>!> upgrade SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+>!> upgrade autoconf-2.13-0 => autoconf-2.13-1[test]
+>!> upgrade bash-1.14.7-9 => bash-1.14.7-10[test]
+>!> upgrade binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+>!> upgrade crontabs-1.10-2 => crontabs-1.12-1[test]
+>!> upgrade egcs-2.91.60-3 => egcs-2.91.66-5[test]
+>!> upgrade egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+>!> upgrade findutils-4.1-9 => findutils-4.1-11[test]
+>!> upgrade gdb-4.17-2 => gdb-4.17.0.11-2[test]
+>!> upgrade glibc-2.1-1 => glibc-2.1.2-1[test]
+>!> upgrade isapnptools-1.16-1 => isapnptools-1.18-1[test]
+>!> upgrade kbd-0.96-1 => kbd-0.99-1[test]
+>!> upgrade ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+>!> upgrade less-332-3 => less-340-1[test]
+>!> upgrade libgr-2.0.13-1 => libgr-2.0.13-2[test]
+>!> upgrade libpam-0.66-1 => libpam-0.66-3[test]
+>!> upgrade libpwdb-0.54-7 => libpwdb-0.54-8[test]
+>!> upgrade libz-1.0.2-1 => libz-1.0.2-2[test]
+>!> upgrade linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+>!> upgrade linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+>!> upgrade lisa-3.1-0 => lisa-4.0-7[test]
+>!> upgrade man-1.5f-1 => man-1.5f-5[test]
+>!> upgrade mtabase-1.0-5 => mtabase-1.0-8[test]
+>!> upgrade ncurses-4.2-1 => ncurses-4.2-4[test]
+>!> upgrade ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+>!> upgrade ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+>!> upgrade ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+>!> upgrade ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+>!> upgrade nis-client-2.0-0 => nis-client-2.0-8[test]
+>!> upgrade pciutils-1.99.4-1 => pciutils-2.0-1[test]
+>!> upgrade perl-5.005_02-0 => perl-5.005_02-1[test]
+>!> upgrade perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+>!> upgrade procmail-3.10-8 => procmail-3.13.1-1[test]
+>!> upgrade procps-1.2.9-2 => procps-2.0.2-1[test]
+>!> upgrade python-1.5.1-0a => python-1.5.1-1[test]
+>!> upgrade python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+>!> upgrade python-eclass-1.2-0 => python-eclass-1.2-2[test]
+>!> upgrade qt-1.4.2-1 => qt-1.44-4[test]
+>!> upgrade qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+>!> upgrade rpm-2.5.5-2 => rpm-2.5.5-3[test]
+>!> upgrade sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+>!> upgrade setup-2.0-0a => setup-2.0-6[test]
+>!> upgrade sh-utils-1.16-3 => sh-utils-1.16-7[test]
+>!> upgrade slang-1.2.2-0 => slang-1.3.7-1[test]
+>!> upgrade strace-3.1-3 => strace-4.0-2[test]
+>!> upgrade svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+>!> upgrade sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+>!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> upgrade util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+>!> upgrade vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+>!> installs=4, upgrades=54, uninstalls=0
+download size=7.0k, install size=1.8k
+total priority=0, min priority=1600, max priority=1600
+other penalties=0
+- - - - - - - - - -
+Upgrading DEV-3.3-0 => DEV-3.4-1[test]
+Upgrading LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+Upgrading LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+Upgrading SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+Upgrading SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+Upgrading autoconf-2.13-0 => autoconf-2.13-1[test]
+Upgrading bash-1.14.7-9 => bash-1.14.7-10[test]
+Upgrading binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+Upgrading crontabs-1.10-2 => crontabs-1.12-1[test]
+Upgrading egcs-2.91.60-3 => egcs-2.91.66-5[test]
+Upgrading egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+Upgrading findutils-4.1-9 => findutils-4.1-11[test]
+Upgrading gdb-4.17-2 => gdb-4.17.0.11-2[test]
+Upgrading glibc-2.1-1 => glibc-2.1.2-1[test]
+Upgrading isapnptools-1.16-1 => isapnptools-1.18-1[test]
+Upgrading kbd-0.96-1 => kbd-0.99-1[test]
+Upgrading ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+Upgrading less-332-3 => less-340-1[test]
+Upgrading libgr-2.0.13-1 => libgr-2.0.13-2[test]
+Upgrading libpam-0.66-1 => libpam-0.66-3[test]
+Upgrading libpwdb-0.54-7 => libpwdb-0.54-8[test]
+Upgrading libz-1.0.2-1 => libz-1.0.2-2[test]
+Upgrading linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+Upgrading linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+Upgrading lisa-3.1-0 => lisa-4.0-7[test]
+Upgrading man-1.5f-1 => man-1.5f-5[test]
+Upgrading mtabase-1.0-5 => mtabase-1.0-8[test]
+Upgrading ncurses-4.2-1 => ncurses-4.2-4[test]
+Upgrading ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+Upgrading ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+Upgrading ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+Upgrading ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+Upgrading nis-client-2.0-0 => nis-client-2.0-8[test]
+Upgrading pciutils-1.99.4-1 => pciutils-2.0-1[test]
+Upgrading perl-5.005_02-0 => perl-5.005_02-1[test]
+Upgrading perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+Upgrading procmail-3.10-8 => procmail-3.13.1-1[test]
+Upgrading procps-1.2.9-2 => procps-2.0.2-1[test]
+Upgrading python-1.5.1-0a => python-1.5.1-1[test]
+Upgrading python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+Upgrading python-eclass-1.2-0 => python-eclass-1.2-2[test]
+Upgrading qt-1.4.2-1 => qt-1.44-4[test]
+Upgrading qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+Upgrading rpm-2.5.5-2 => rpm-2.5.5-3[test]
+Upgrading sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+Upgrading setup-2.0-0a => setup-2.0-6[test]
+Upgrading sh-utils-1.16-3 => sh-utils-1.16-7[test]
+Upgrading slang-1.2.2-0 => slang-1.3.7-1[test]
+Upgrading strace-3.1-3 => strace-4.0-2[test]
+Upgrading svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+Upgrading sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+Upgrading tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+Upgrading util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+Upgrading vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+libstdc++-2.9.0-5[test]: needed by [egcs-c++-2.91.66-5]
+Installing libstdc++-2.9.0-5[test]
+modutils-2.1.121-10[test]: needed by [linux-kernel-binary-2.2.13-1S]
+Installing modutils-2.1.121-10[test]
+gdbm-1.8.0-3[test]: needed by [perl-add-5.005_02-1]
+Installing gdbm-1.8.0-3[test]
+XFree86-libs-3.3.5-1[test]: needed by [qt-1.44-4]
+Installing XFree86-libs-3.3.5-1[test]
+XFree86-libs-3.3.5-1[test]: needed by [qt-1.44-4]
+libstdc++-2.9.0-5[test]: needed by [qt-1.44-4]
+libstdc++-2.9.0-5[test]: needed by [qt-devel-1.44-4]
+
--- /dev/null
+>!> Checking for upgrades...
+>!> Upgrading DEV-3.3-0 => DEV-3.4-1[test]
+>!> Upgrading LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+>!> Upgrading LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+>!> Upgrading SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+>!> Upgrading SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+>!> Upgrading autoconf-2.13-0 => autoconf-2.13-1[test]
+>!> Upgrading bash-1.14.7-9 => bash-1.14.7-10[test]
+>!> Upgrading binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+>!> Upgrading crontabs-1.10-2 => crontabs-1.12-1[test]
+>!> Upgrading egcs-2.91.60-3 => egcs-2.91.66-5[test]
+>!> Upgrading egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+>!> Upgrading findutils-4.1-9 => findutils-4.1-11[test]
+>!> Upgrading gdb-4.17-2 => gdb-4.17.0.11-2[test]
+>!> Upgrading glibc-2.1-1 => glibc-2.1.2-1[test]
+>!> Upgrading isapnptools-1.16-1 => isapnptools-1.18-1[test]
+>!> Upgrading kbd-0.96-1 => kbd-0.99-1[test]
+>!> Upgrading ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+>!> Upgrading less-332-3 => less-340-1[test]
+>!> Upgrading libgr-2.0.13-1 => libgr-2.0.13-2[test]
+>!> Upgrading libpam-0.66-1 => libpam-0.66-3[test]
+>!> Upgrading libpwdb-0.54-7 => libpwdb-0.54-8[test]
+>!> Upgrading libz-1.0.2-1 => libz-1.0.2-2[test]
+>!> Upgrading linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+>!> Upgrading linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+>!> Upgrading lisa-3.1-0 => lisa-4.0-7[test]
+>!> Upgrading man-1.5f-1 => man-1.5f-5[test]
+>!> Upgrading mtabase-1.0-5 => mtabase-1.0-8[test]
+>!> Upgrading ncurses-4.2-1 => ncurses-4.2-4[test]
+>!> Upgrading ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+>!> Upgrading ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+>!> Upgrading ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+>!> Upgrading ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+>!> Upgrading nis-client-2.0-0 => nis-client-2.0-8[test]
+>!> Upgrading pciutils-1.99.4-1 => pciutils-2.0-1[test]
+>!> Upgrading perl-5.005_02-0 => perl-5.005_02-1[test]
+>!> Upgrading perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+>!> Upgrading procmail-3.10-8 => procmail-3.13.1-1[test]
+>!> Upgrading procps-1.2.9-2 => procps-2.0.2-1[test]
+>!> Upgrading python-1.5.1-0a => python-1.5.1-1[test]
+>!> Upgrading python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+>!> Upgrading python-eclass-1.2-0 => python-eclass-1.2-2[test]
+>!> Upgrading qt-1.4.2-1 => qt-1.44-4[test]
+>!> Upgrading qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+>!> Upgrading rpm-2.5.5-2 => rpm-2.5.5-3[test]
+>!> Upgrading sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+>!> Upgrading setup-2.0-0a => setup-2.0-6[test]
+>!> Upgrading sh-utils-1.16-3 => sh-utils-1.16-7[test]
+>!> Upgrading slang-1.2.2-0 => slang-1.3.7-1[test]
+>!> Upgrading strace-3.1-3 => strace-4.0-2[test]
+>!> Upgrading svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+>!> Upgrading sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+>!> Upgrading tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> Upgrading util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+>!> Upgrading vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+>!> Upgrading 54 packages
+>!> Solution #1:
+>!> install XFree86-libs-3.3.5-1[test]
+>!> install gdbm-1.8.0-3[test]
+>!> install libstdc++-2.9.0-5[test]
+>!> install modutils-2.1.121-10[test]
+>!> upgrade DEV-3.3-0 => DEV-3.4-1[test]
+>!> upgrade LPRng-3.5.3-1 => LPRng-3.5.3-2[test]
+>!> upgrade LPRng-lpd-3.5.3-1 => LPRng-lpd-3.5.3-2[test]
+>!> upgrade SysVinit-2.76-0 => SysVinit-2.76.3-2[test]
+>!> upgrade SysVinit-scripts-1.04-0 => SysVinit-scripts-1.05-5[test]
+>!> upgrade autoconf-2.13-0 => autoconf-2.13-1[test]
+>!> upgrade bash-1.14.7-9 => bash-1.14.7-10[test]
+>!> upgrade binutils-2.9.1.0.19a-0 => binutils-2.9.1.0.21-2[test]
+>!> upgrade crontabs-1.10-2 => crontabs-1.12-1[test]
+>!> upgrade egcs-2.91.60-3 => egcs-2.91.66-5[test]
+>!> upgrade egcs-c++-2.91.60-3 => egcs-c++-2.91.66-5[test]
+>!> upgrade findutils-4.1-9 => findutils-4.1-11[test]
+>!> upgrade gdb-4.17-2 => gdb-4.17.0.11-2[test]
+>!> upgrade glibc-2.1-1 => glibc-2.1.2-1[test]
+>!> upgrade isapnptools-1.16-1 => isapnptools-1.18-1[test]
+>!> upgrade kbd-0.96-1 => kbd-0.99-1[test]
+>!> upgrade ld.so-1.9.9-2 => ld.so-1.9.11-1[test]
+>!> upgrade less-332-3 => less-340-1[test]
+>!> upgrade libgr-2.0.13-1 => libgr-2.0.13-2[test]
+>!> upgrade libpam-0.66-1 => libpam-0.66-3[test]
+>!> upgrade libpwdb-0.54-7 => libpwdb-0.54-8[test]
+>!> upgrade libz-1.0.2-1 => libz-1.0.2-2[test]
+>!> upgrade linux-kernel-binary-2.2.1-0a => linux-kernel-binary-2.2.13-1S[test]
+>!> upgrade linux-kernel-include-2.2.1-0a => linux-kernel-include-2.2.13-1S[test]
+>!> upgrade lisa-3.1-0 => lisa-4.0-7[test]
+>!> upgrade man-1.5f-1 => man-1.5f-5[test]
+>!> upgrade mtabase-1.0-5 => mtabase-1.0-8[test]
+>!> upgrade ncurses-4.2-1 => ncurses-4.2-4[test]
+>!> upgrade ncurses-devel-4.2-1 => ncurses-devel-4.2-4[test]
+>!> upgrade ncurses-devel-static-4.2-1 => ncurses-devel-static-4.2-4[test]
+>!> upgrade ncurses-termcap-devel-4.2-1 => ncurses-termcap-devel-4.2-4[test]
+>!> upgrade ncurses-termcap-devel-static-4.2-1 => ncurses-termcap-devel-static-4.2-4[test]
+>!> upgrade nis-client-2.0-0 => nis-client-2.0-8[test]
+>!> upgrade pciutils-1.99.4-1 => pciutils-2.0-1[test]
+>!> upgrade perl-5.005_02-0 => perl-5.005_02-1[test]
+>!> upgrade perl-add-5.005_02-0 => perl-add-5.005_02-1[test]
+>!> upgrade procmail-3.10-8 => procmail-3.13.1-1[test]
+>!> upgrade procps-1.2.9-2 => procps-2.0.2-1[test]
+>!> upgrade python-1.5.1-0a => python-1.5.1-1[test]
+>!> upgrade python-devel-1.5.1-0a => python-devel-1.5.1-1[test]
+>!> upgrade python-eclass-1.2-0 => python-eclass-1.2-2[test]
+>!> upgrade qt-1.4.2-1 => qt-1.44-4[test]
+>!> upgrade qt-devel-1.4.2-1 => qt-devel-1.44-4[test]
+>!> upgrade rpm-2.5.5-2 => rpm-2.5.5-3[test]
+>!> upgrade sendmail-8.8.7-7 => sendmail-8.9.3-1[test]
+>!> upgrade setup-2.0-0a => setup-2.0-6[test]
+>!> upgrade sh-utils-1.16-3 => sh-utils-1.16-7[test]
+>!> upgrade slang-1.2.2-0 => slang-1.3.7-1[test]
+>!> upgrade strace-3.1-3 => strace-4.0-2[test]
+>!> upgrade svgalib-1.3.1-1 => svgalib-1.4.0-0[test]
+>!> upgrade sysklogd-1.3.26-3 => sysklogd-1.3.31-1[test]
+>!> upgrade tcsh-6.08.00-1 => tcsh-6.08.00-2[test]
+>!> upgrade util-linux-2.7.1-5 => util-linux-2.9s-4[test]
+>!> upgrade vixie-cron-3.0.1-18 => vixie-cron-3.0.1-19[test]
+>!> installs=4, upgrades=54, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-05reallive-system.xml"/>
+ <channel name="test" file="exercise-05reallive-packages.xml"/>
+</setup>
+
+<!--
+ -->
+<trial>
+ <subscribe channel="test" />
+ <upgrade/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>adduser</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>adduser.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/adduser'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='foobar' op='=' version='1.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>adjtimex</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3</version>
+ <release>1</release>
+ <filename>adjtimex.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/adjtimex'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.3'/>
+ <dep name='libc.so.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>aktion</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.3.6</version>
+ <release>1</release>
+ <filename>aktion.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/aktion'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='xanim'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>am-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>6.0</version>
+ <release>8</release>
+ <filename>am-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/amd'/>
+ <dep name='/usr/bin/amq'/>
+ <dep name='/usr/sbin/amd'/>
+ <dep name='/usr/sbin/fsinfo'/>
+ <dep name='/usr/sbin/mk-amd-map'/>
+ <dep name='/usr/sbin/wire-test'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.05' release='4'/>
+ <dep name='SysVinit' op='>=' version='2.76.3'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>anonftp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>1</release>
+ <filename>anonftp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/home/ftp/bin/gzip'/>
+ <dep name='/home/ftp/bin/ls'/>
+ <dep name='/home/ftp/bin/tar'/>
+ <dep name='/home/ftp/bin/zcat'/>
+ </provides>
+ </package>
+ <package>
+ <name>apache</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.9</version>
+ <release>2</release>
+ <filename>apache.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libproxy.so' op='=' version='' release='*'/>
+ <dep name='mod_access.so'/>
+ <dep name='mod_actions.so'/>
+ <dep name='mod_alias.so'/>
+ <dep name='mod_asis.so'/>
+ <dep name='mod_auth.so'/>
+ <dep name='mod_auth_anon.so'/>
+ <dep name='mod_auth_dbm.so'/>
+ <dep name='mod_autoindex.so'/>
+ <dep name='mod_cern_meta.so'/>
+ <dep name='mod_cgi.so'/>
+ <dep name='mod_digest.so'/>
+ <dep name='mod_dir.so'/>
+ <dep name='mod_env.so'/>
+ <dep name='mod_expires.so'/>
+ <dep name='mod_headers.so'/>
+ <dep name='mod_imap.so'/>
+ <dep name='mod_include.so'/>
+ <dep name='mod_info.so'/>
+ <dep name='mod_log_config.so'/>
+ <dep name='mod_mime.so'/>
+ <dep name='mod_mime_magic.so'/>
+ <dep name='mod_negotiation.so'/>
+ <dep name='mod_rewrite.so'/>
+ <dep name='mod_setenvif.so'/>
+ <dep name='mod_speling.so'/>
+ <dep name='mod_status.so'/>
+ <dep name='mod_unique_id.so'/>
+ <dep name='mod_userdir.so'/>
+ <dep name='mod_usertrack.so'/>
+ <dep name='mod_vhost_alias.so'/>
+ <dep name='/etc/rc.d/init.d/httpd'/>
+ <dep name='/usr/bin/dbmmanage'/>
+ <dep name='/usr/bin/htdigest'/>
+ <dep name='/usr/bin/htpasswd'/>
+ <dep name='/usr/libexec/apache/libproxy.so'/>
+ <dep name='/usr/libexec/apache/mod_access.so'/>
+ <dep name='/usr/libexec/apache/mod_actions.so'/>
+ <dep name='/usr/libexec/apache/mod_alias.so'/>
+ <dep name='/usr/libexec/apache/mod_asis.so'/>
+ <dep name='/usr/libexec/apache/mod_auth.so'/>
+ <dep name='/usr/libexec/apache/mod_auth_anon.so'/>
+ <dep name='/usr/libexec/apache/mod_auth_dbm.so'/>
+ <dep name='/usr/libexec/apache/mod_autoindex.so'/>
+ <dep name='/usr/libexec/apache/mod_cern_meta.so'/>
+ <dep name='/usr/libexec/apache/mod_cgi.so'/>
+ <dep name='/usr/libexec/apache/mod_digest.so'/>
+ <dep name='/usr/libexec/apache/mod_dir.so'/>
+ <dep name='/usr/libexec/apache/mod_env.so'/>
+ <dep name='/usr/libexec/apache/mod_expires.so'/>
+ <dep name='/usr/libexec/apache/mod_headers.so'/>
+ <dep name='/usr/libexec/apache/mod_imap.so'/>
+ <dep name='/usr/libexec/apache/mod_include.so'/>
+ <dep name='/usr/libexec/apache/mod_info.so'/>
+ <dep name='/usr/libexec/apache/mod_log_config.so'/>
+ <dep name='/usr/libexec/apache/mod_mime.so'/>
+ <dep name='/usr/libexec/apache/mod_mime_magic.so'/>
+ <dep name='/usr/libexec/apache/mod_negotiation.so'/>
+ <dep name='/usr/libexec/apache/mod_rewrite.so'/>
+ <dep name='/usr/libexec/apache/mod_setenvif.so'/>
+ <dep name='/usr/libexec/apache/mod_speling.so'/>
+ <dep name='/usr/libexec/apache/mod_status.so'/>
+ <dep name='/usr/libexec/apache/mod_unique_id.so'/>
+ <dep name='/usr/libexec/apache/mod_userdir.so'/>
+ <dep name='/usr/libexec/apache/mod_usertrack.so'/>
+ <dep name='/usr/libexec/apache/mod_vhost_alias.so'/>
+ <dep name='/usr/sbin/ab'/>
+ <dep name='/usr/sbin/apachecfg'/>
+ <dep name='/usr/sbin/apachectl'/>
+ <dep name='/usr/sbin/httpd'/>
+ <dep name='/usr/sbin/logresolve'/>
+ <dep name='/usr/sbin/rotatelogs'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>apache-docs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.9</version>
+ <release>2</release>
+ <filename>apache-docs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>apache-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.9</version>
+ <release>2</release>
+ <filename>apache-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/apxs'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.7</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/atd'/>
+ <dep name='/usr/bin/at'/>
+ <dep name='/usr/bin/atq'/>
+ <dep name='/usr/bin/atrm'/>
+ <dep name='/usr/bin/batch'/>
+ <dep name='/usr/sbin/atd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>aumix</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.22</version>
+ <release>1</release>
+ <filename>aumix.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/aumix'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgpm.so.1'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>autoconf</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.13</version>
+ <release>1</release>
+ <filename>autoconf.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/autoconf'/>
+ <dep name='/usr/bin/autoheader'/>
+ <dep name='/usr/bin/autoreconf'/>
+ <dep name='/usr/bin/autoscan'/>
+ <dep name='/usr/bin/autoupdate'/>
+ <dep name='/usr/bin/ifnames'/>
+ <dep name='/usr/doc/autoconf-2.13/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='awk'/>
+ <dep name='m4'/>
+ <dep name='mktemp'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>automake</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>0</release>
+ <filename>automake.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/aclocal'/>
+ <dep name='/usr/bin/automake'/>
+ <dep name='/usr/doc/automake-1.4/COPYING'/>
+ <dep name='/usr/share/automake/acinstall'/>
+ <dep name='/usr/share/automake/config.guess'/>
+ <dep name='/usr/share/automake/config.sub'/>
+ <dep name='/usr/share/automake/elisp-comp'/>
+ <dep name='/usr/share/automake/install-sh'/>
+ <dep name='/usr/share/automake/mdate-sh'/>
+ <dep name='/usr/share/automake/missing'/>
+ <dep name='/usr/share/automake/mkinstalldirs'/>
+ <dep name='/usr/share/automake/ylwrap'/>
+ </provides>
+ <requires>
+ <dep name='autoconf' op='>=' version='2.13'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>bash</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14.7</version>
+ <release>10</release>
+ <filename>bash.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/bashbug'/>
+ <dep name='/usr/doc/bash-1.14.7/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='mktemp'/>
+ <dep name='/usr/bin/perl'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>bash2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.03</version>
+ <release>1</release>
+ <filename>bash2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/bash2'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>bc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.05a</version>
+ <release>2</release>
+ <filename>bc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/bc'/>
+ <dep name='/usr/bin/dc'/>
+ <dep name='/usr/doc/bc-1.05a/Test/timetest'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libreadline.so.3'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>bdflush</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.6.2</version>
+ <release>1</release>
+ <filename>bdflush.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/update'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>biff+comsat</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>2</release>
+ <filename>biff+comsat.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/biff'/>
+ <dep name='/usr/sbin/in.comsat'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>bin86</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.4</version>
+ <release>1</release>
+ <filename>bin86.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/as86'/>
+ <dep name='/usr/bin/ld86'/>
+ <dep name='/usr/i386-linux/bin/as86'/>
+ <dep name='/usr/i386-linux/bin/ld86'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>bind</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.2.2</version>
+ <release>1</release>
+ <filename>bind.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/named'/>
+ <dep name='/usr/sbin/named'/>
+ <dep name='/usr/sbin/named-bootconf'/>
+ <dep name='/usr/sbin/named-xfer'/>
+ <dep name='/usr/sbin/ndc'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>bind-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.2.2</version>
+ <release>1</release>
+ <filename>bind-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>bind-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.2.2</version>
+ <release>1</release>
+ <filename>bind-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/addr'/>
+ <dep name='/usr/bin/dig'/>
+ <dep name='/usr/bin/dnsquery'/>
+ <dep name='/usr/bin/host'/>
+ <dep name='/usr/bin/nslookup'/>
+ <dep name='/usr/bin/nsupdate'/>
+ <dep name='/usr/doc/bind-utils-8.2.2/README.h2n'/>
+ <dep name='/usr/sbin/dnskeygen'/>
+ <dep name='/usr/sbin/h2n'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>binutils-pilot</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.9.1.0.21</version>
+ <release>2</release>
+ <filename>binutils-pilot.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/m68k-PalmOS-coff/bin/as'/>
+ <dep name='/usr/m68k-PalmOS-coff/bin/ld'/>
+ </provides>
+ <requires>
+ <dep name='binutils'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libbfd-2.9.1.0.21.so.0'/>
+ <dep name='libc.so.6'/>
+ <dep name='libopcodes-2.9.1.0.21.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>binutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.9.1.0.21</version>
+ <release>2</release>
+ <filename>binutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libbfd-2.9.1.0.21.so.0'/>
+ <dep name='libopcodes-2.9.1.0.21.so.0'/>
+ <dep name='/usr/bin/addr2line'/>
+ <dep name='/usr/bin/ar'/>
+ <dep name='/usr/bin/as'/>
+ <dep name='/usr/bin/c++filt'/>
+ <dep name='/usr/bin/coffdump'/>
+ <dep name='/usr/bin/gprof'/>
+ <dep name='/usr/bin/i386-linux-as'/>
+ <dep name='/usr/bin/ld'/>
+ <dep name='/usr/bin/m68k-PalmOS-coff-as'/>
+ <dep name='/usr/bin/m68k-PalmOS-coff-gasp'/>
+ <dep name='/usr/bin/nlmconv'/>
+ <dep name='/usr/bin/nm'/>
+ <dep name='/usr/bin/objcopy'/>
+ <dep name='/usr/bin/objdump'/>
+ <dep name='/usr/bin/ranlib'/>
+ <dep name='/usr/bin/size'/>
+ <dep name='/usr/bin/srconv'/>
+ <dep name='/usr/bin/strings'/>
+ <dep name='/usr/bin/strip'/>
+ <dep name='/usr/bin/sysdump'/>
+ <dep name='/usr/i386-linux/bin/ar'/>
+ <dep name='/usr/i386-linux/bin/as'/>
+ <dep name='/usr/i386-linux/bin/ld'/>
+ <dep name='/usr/i386-linux/bin/nm'/>
+ <dep name='/usr/i386-linux/bin/ranlib'/>
+ <dep name='/usr/i386-linux/bin/strip'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libbfd-2.9.1.0.21.so.0'/>
+ <dep name='libc.so.6'/>
+ <dep name='libopcodes-2.9.1.0.21.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>bison</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.27</version>
+ <release>2</release>
+ <filename>bison.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/bison'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>bool</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>bool.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/false'/>
+ <dep name='/bin/true'/>
+ <dep name='/usr/doc/bool-2.0/COPYING'/>
+ <dep name='/usr/man/man1/false.1.gz'/>
+ <dep name='/usr/man/man1/true.1.gz'/>
+ </provides>
+ </package>
+ <package>
+ <name>bsd-finger</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>4</release>
+ <filename>bsd-finger.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/finger'/>
+ <dep name='/usr/sbin/in.fingerd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>byacc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.9</version>
+ <release>4</release>
+ <filename>byacc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/byacc'/>
+ <dep name='/usr/bin/yacc'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>bzip2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9.0b</version>
+ <release>1</release>
+ <filename>bzip2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/bunzip2'/>
+ <dep name='/bin/bzcat'/>
+ <dep name='/bin/bzip2'/>
+ <dep name='/bin/bzip2recover'/>
+ <dep name='/usr/bin/bzless'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>bzip2-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9.0b</version>
+ <release>1</release>
+ <filename>bzip2-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>cdda2wav</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>3</release>
+ <filename>cdda2wav.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cdda2wav'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>cdfs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.7</version>
+ <release>3</release>
+ <filename>cdfs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cdinfo'/>
+ <dep name='/usr/bin/devdump'/>
+ <dep name='/usr/bin/isodetect'/>
+ <dep name='/usr/bin/isodump'/>
+ <dep name='/usr/bin/isoinfo'/>
+ <dep name='/usr/bin/isosize'/>
+ <dep name='/usr/bin/isovfy'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ <obsoletes>
+ <dep name='cdfsprogs'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>cdparanoia</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>III.alpha9.4</version>
+ <release>4</release>
+ <filename>cdparanoia.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cdparanoia'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>cdrecord</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.8a21</version>
+ <release>3</release>
+ <filename>cdrecord.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cdrecord'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>cgetty</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>cgetty.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/getty'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ <obsoletes>
+ <dep name='getty_ps'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>cheops</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.60pre5</version>
+ <release>3</release>
+ <filename>cheops.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='dns-monitor.so'/>
+ <dep name='ftp-monitor.so'/>
+ <dep name='generic-connect.so'/>
+ <dep name='http-monitor.so'/>
+ <dep name='ping-monitor.so'/>
+ <dep name='smtp-monitor.so'/>
+ <dep name='vnc-connect.so'/>
+ <dep name='/usr/X11R6/bin/cheops'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/dns-monitor.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/ftp-monitor.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/generic-connect.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/http-monitor.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/ping-monitor.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/smtp-monitor.so'/>
+ <dep name='/usr/X11R6/lib/cheops/plugins/vnc-connect.so'/>
+ <dep name='/usr/X11R6/share/cheops/bsd-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/bsd-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/bsd.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/cheops.conf'/>
+ <dep name='/usr/X11R6/share/cheops/cheops.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/desktop-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/desktop-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/desktop.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hp-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hp-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hp.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hub-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hub-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/hub.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/ibm-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/ibm-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/ibm.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/icon.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/linux-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/linux-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/linux.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/macintosh-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/macintosh-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/macintosh.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/novell-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/novell-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/novell.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/point.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/printer-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/printer-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/printer.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/router-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/router-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/router.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/sco-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/sco-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/sco.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/services.conf'/>
+ <dep name='/usr/X11R6/share/cheops/sgi-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/sgi-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/sgi.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/solaris-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/solaris-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/solaris.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unix-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unix-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unix.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unknown-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unknown-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/unknown.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/vms-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/vms-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/vms.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/windows-small.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/windows-tiny.xpm'/>
+ <dep name='/usr/X11R6/share/cheops/windows.xpm'/>
+ </provides>
+ <requires>
+ <dep name='gtk' op='>=' version='1.0.6'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdk-1.2.so.0'/>
+ <dep name='libglib-1.2.so.0'/>
+ <dep name='libgmodule-1.2.so.0'/>
+ <dep name='libgtk-1.2.so.0'/>
+ <dep name='libm.so.6'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>cleandir</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>cleandir.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/cron.d/lib/cleandir'/>
+ <dep name='/usr/sbin/cleandir'/>
+ </provides>
+ <requires>
+ <dep name='crontabs' op='>=' version='1.10'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>coas</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>7</release>
+ <filename>coas.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='chat.so'/>
+ <dep name='clock.so'/>
+ <dep name='coremodule.so'/>
+ <dep name='curses.so'/>
+ <dep name='devname.so'/>
+ <dep name='dirglob.so'/>
+ <dep name='dmmodule.so'/>
+ <dep name='domainname.so'/>
+ <dep name='fdisk.so'/>
+ <dep name='fixrootdev.so'/>
+ <dep name='fstab.so'/>
+ <dep name='fsusage.so'/>
+ <dep name='groups.so'/>
+ <dep name='hostname.so'/>
+ <dep name='hosts.so'/>
+ <dep name='ifconfig.so'/>
+ <dep name='interrupts.so'/>
+ <dep name='ipv4.so'/>
+ <dep name='kernel.so'/>
+ <dep name='kinfo.so'/>
+ <dep name='lilo'/>
+ <dep name='lilo.so'/>
+ <dep name='list.so'/>
+ <dep name='logmodule.so'/>
+ <dep name='lstoptions.so'/>
+ <dep name='msgcatmodule.so'/>
+ <dep name='networks.so'/>
+ <dep name='options.so'/>
+ <dep name='overlay.so'/>
+ <dep name='printcap'/>
+ <dep name='qt.so'/>
+ <dep name='reboot.so'/>
+ <dep name='repositorymodule.so'/>
+ <dep name='resolver.so'/>
+ <dep name='rpm'/>
+ <dep name='shells.so'/>
+ <dep name='symlink.so'/>
+ <dep name='uiBinding.so'/>
+ <dep name='uifixfont.so'/>
+ <dep name='uname.so'/>
+ <dep name='unix.so'/>
+ <dep name='users.so'/>
+ <dep name='ypconf.so'/>
+ <dep name='/usr/bin/coas'/>
+ <dep name='/usr/bin/coastool'/>
+ <dep name='/usr/bin/kdesu'/>
+ <dep name='/usr/lib/coas/commands/add'/>
+ <dep name='/usr/lib/coas/commands/browse'/>
+ <dep name='/usr/lib/coas/commands/change'/>
+ <dep name='/usr/lib/coas/commands/dump'/>
+ <dep name='/usr/lib/coas/commands/remove'/>
+ <dep name='/usr/lib/coas/commands/repository'/>
+ <dep name='/usr/lib/coas/scripts/ctrldaemon'/>
+ <dep name='/usr/lib/coas/scripts/ctrlprinter'/>
+ <dep name='/usr/lib/coas/scripts/cxxgen'/>
+ <dep name='/usr/lib/coas/scripts/devel-setup'/>
+ <dep name='/usr/lib/coas/scripts/doc2man'/>
+ <dep name='/usr/lib/coas/scripts/fsaction'/>
+ <dep name='/usr/lib/coas/scripts/gpmrestart'/>
+ <dep name='/usr/lib/coas/scripts/homedir'/>
+ <dep name='/usr/lib/coas/scripts/ip-config'/>
+ <dep name='/usr/lib/coas/scripts/kbdupdate'/>
+ <dep name='/usr/lib/coas/scripts/kernel-module'/>
+ <dep name='/usr/lib/coas/scripts/linkrep'/>
+ <dep name='/usr/lib/coas/scripts/nisrestart'/>
+ <dep name='/usr/lib/coas/scripts/prepare'/>
+ <dep name='/usr/lib/coas/scripts/probe-serial'/>
+ <dep name='/usr/lib/coas/scripts/pygen'/>
+ <dep name='/usr/lib/coas/scripts/rcs'/>
+ <dep name='/usr/lib/coas/scripts/rpminstall'/>
+ <dep name='/usr/lib/coas/scripts/run-if-avail'/>
+ <dep name='/usr/lib/coas/scripts/sysinfo_wrapper'/>
+ <dep name='/usr/lib/coas/scripts/xauth-update'/>
+ <dep name='/usr/libexec/coas/lib/coremodule.so'/>
+ <dep name='/usr/libexec/coas/lib/dmmodule.so'/>
+ <dep name='/usr/libexec/coas/lib/logmodule.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/caldera/modules/list.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/caldera/modules/lstoptions.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/caldera/modules/options.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/generic/chat.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/generic/devname.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/generic/dirglob.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/generic/overlay.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/generic/symlink.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/lilo.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/network/tcpip/hosts.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/network/tcpip/ifconfig.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/network/tcpip/networks.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/network/tcpip/resolver.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/network/tcpip/ypconf.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/printcap.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/proc/interrupts.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/rpm.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/clock.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/domainname.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/fdisk.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/fixrootdev.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/fstab.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/fsusage.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/groups.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/hostname.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/kinfo.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/lilo.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/reboot.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/shells.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/uname.so'/>
+ <dep name='/usr/libexec/coas/lib/mapper/system/users.so'/>
+ <dep name='/usr/libexec/coas/lib/msgcatmodule.so'/>
+ <dep name='/usr/libexec/coas/lib/repositorymodule.so'/>
+ <dep name='/usr/libexec/coas/lib/type/string/unix.so'/>
+ <dep name='/usr/libexec/coas/lib/type/unsigned/ipv4.so'/>
+ <dep name='/usr/libexec/coas/lib/type/unsigned/kernel.so'/>
+ <dep name='/usr/libexec/coas/lib/type/unsigned/unix.so'/>
+ <dep name='/usr/libexec/coas/lib/ui/curses.so'/>
+ <dep name='/usr/libexec/coas/lib/ui/qt.so'/>
+ <dep name='/usr/libexec/coas/lib/uiBinding.so'/>
+ <dep name='/usr/libexec/coas/lib/uifixfont.so'/>
+ <dep name='/usr/libexec/coas/modules/clam.py'/>
+ <dep name='/usr/libexec/coas/modules/coas/welcome.py'/>
+ <dep name='/usr/libexec/coas/modules/dialog.py'/>
+ <dep name='/usr/libexec/coas/modules/hardware/serial.py'/>
+ <dep name='/usr/libexec/coas/modules/kernel.py'/>
+ <dep name='/usr/libexec/coas/modules/logm.py'/>
+ <dep name='/usr/libexec/coas/modules/network/common.py'/>
+ <dep name='/usr/libexec/coas/modules/network/ether.py'/>
+ <dep name='/usr/libexec/coas/modules/network/mail.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/hosts.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/interfaces.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/nis.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/options.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/resolver.py'/>
+ <dep name='/usr/libexec/coas/modules/network/tcpip/services.py'/>
+ <dep name='/usr/libexec/coas/modules/peripherals/keyboard.py'/>
+ <dep name='/usr/libexec/coas/modules/peripherals/modem.py'/>
+ <dep name='/usr/libexec/coas/modules/peripherals/mouse.py'/>
+ <dep name='/usr/libexec/coas/modules/peripherals/printer.py'/>
+ <dep name='/usr/libexec/coas/modules/software.py'/>
+ <dep name='/usr/libexec/coas/modules/system/accounts.py'/>
+ <dep name='/usr/libexec/coas/modules/system/daemons.py'/>
+ <dep name='/usr/libexec/coas/modules/system/filesystem.py'/>
+ <dep name='/usr/libexec/coas/modules/system/hostname.py'/>
+ <dep name='/usr/libexec/coas/modules/system/lilo.py'/>
+ <dep name='/usr/libexec/coas/modules/system/resources.py'/>
+ <dep name='/usr/libexec/coas/modules/system/time.py'/>
+ <dep name='/usr/libexec/coas/utils/eisascan'/>
+ <dep name='/usr/libexec/coas/utils/ifscan'/>
+ <dep name='/usr/libexec/coas/utils/pciscan'/>
+ <dep name='/usr/libexec/coas/utils/pnpscan'/>
+ <dep name='/usr/libexec/printers/genericfilter'/>
+ </provides>
+ <requires>
+ <dep name='python-eclass'/>
+ <dep name='linux-kernel-binary' op='>=' version='2.2.10'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libgpm.so.1'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/coas'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>coas-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>7</release>
+ <filename>coas-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libcoas'/>
+ <dep name='/usr/lib/libcoas.so'/>
+ <dep name='/usr/share/coas/man/man3/xfree.3.gz'/>
+ <dep name='/usr/share/coas/man/man3/xmalloc.3.gz'/>
+ <dep name='/usr/share/coas/man/man3/xrealloc.3.gz'/>
+ <dep name='/usr/share/coas/man/man3/xstrcatdup.3.gz'/>
+ <dep name='/usr/share/coas/man/man3/xstrdup.3.gz'/>
+ <dep name='/usr/share/coas/man/man3/xstrndup.3.gz'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>col-tools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>4</release>
+ <filename>col-tools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/diskdump'/>
+ <dep name='/usr/bin/dus'/>
+ <dep name='/usr/bin/lt'/>
+ <dep name='/usr/bin/mkfind'/>
+ <dep name='/usr/bin/search'/>
+ <dep name='/usr/bin/tmount'/>
+ <dep name='/usr/bin/what'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ <dep name='/usr/bin/python'/>
+ </requires>
+ </package>
+ <package>
+ <name>communicator-export</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.61</version>
+ <release>4</release>
+ <filename>communicator-export.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libjsd.so'/>
+ <dep name='libnullplugin-dynMotif.so'/>
+ <dep name='libnullplugin.so'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.bg'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.cs'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.el'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.hr'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.hu'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.ja'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.ko'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.pl'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.ro'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.ru'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.sk'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.sl'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.tr'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.zh_GB2312'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.zh_TW_Big5'/>
+ <dep name='/opt/netscape/communicator/java/classes/hpux/font.properties.zh_TW_CNS11643'/>
+ <dep name='/opt/netscape/communicator/libjsd.so'/>
+ <dep name='/opt/netscape/communicator/libnullplugin-dynMotif.so'/>
+ <dep name='/opt/netscape/communicator/libnullplugin.so'/>
+ <dep name='/opt/netscape/communicator/movemail'/>
+ <dep name='/opt/netscape/communicator/netscape'/>
+ <dep name='/opt/netscape/communicator/netscape-dynMotif'/>
+ <dep name='/opt/netscape/communicator/netscape-statMotif'/>
+ <dep name='/opt/netscape/communicator/plugins/cpPack1.jar'/>
+ <dep name='/opt/netscape/communicator/vreg'/>
+ <dep name='/usr/bin/browser'/>
+ <dep name='/usr/bin/netscape'/>
+ </provides>
+ <requires>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.5'/>
+ <dep name='libdl.so.1'/>
+ <dep name='libg++.so.27'/>
+ <dep name='libm.so.5'/>
+ <dep name='libstdc++.so.27'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>copyrights</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>copyrights.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>cpio</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.4.2</version>
+ <release>3</release>
+ <filename>cpio.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/cpio'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>cracklib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7</version>
+ <release>1</release>
+ <filename>cracklib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/crack/mkdict'/>
+ <dep name='/usr/lib/crack/new-dict'/>
+ <dep name='/usr/lib/crack/packer'/>
+ <dep name='/usr/lib/crack/testlib'/>
+ <dep name='/usr/lib/crack/testnum'/>
+ <dep name='/usr/lib/crack/teststr'/>
+ <dep name='/usr/lib/crack/unpacker'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>crontabs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.12</version>
+ <release>1</release>
+ <filename>crontabs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/cronloop'/>
+ </provides>
+ <requires>
+ <dep name='cron'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>cvs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.10.6</version>
+ <release>1</release>
+ <filename>cvs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cvs'/>
+ <dep name='/usr/bin/cvsbug'/>
+ <dep name='/usr/bin/rcs2log'/>
+ <dep name='/usr/doc/cvs-1.10.6/COPYING'/>
+ <dep name='/usr/lib/cvs/contrib/clmerge'/>
+ <dep name='/usr/lib/cvs/contrib/cln_hist'/>
+ <dep name='/usr/lib/cvs/contrib/commit_prep'/>
+ <dep name='/usr/lib/cvs/contrib/cvs2vendor'/>
+ <dep name='/usr/lib/cvs/contrib/cvs_acls'/>
+ <dep name='/usr/lib/cvs/contrib/cvscheck'/>
+ <dep name='/usr/lib/cvs/contrib/log'/>
+ <dep name='/usr/lib/cvs/contrib/log_accum'/>
+ <dep name='/usr/lib/cvs/contrib/mfpipe'/>
+ <dep name='/usr/lib/cvs/contrib/rcs-to-cvs'/>
+ <dep name='/usr/lib/cvs/contrib/rcs2log'/>
+ <dep name='/usr/lib/cvs/contrib/rcslock'/>
+ <dep name='/usr/lib/cvs/contrib/sccs2rcs'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/tcsh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>cvs-doc-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.10.6</version>
+ <release>1</release>
+ <filename>cvs-doc-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>dbview</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.3</version>
+ <release>3</release>
+ <filename>dbview.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/dbview'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ddd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.5</version>
+ <release>1</release>
+ <filename>ddd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/ddd'/>
+ </provides>
+ <requires>
+ <dep name='debugger'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>ddd-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.5</version>
+ <release>1</release>
+ <filename>ddd-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>dejagnu</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.0.19981026</version>
+ <release>1</release>
+ <filename>dejagnu.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/runtest'/>
+ <dep name='/usr/doc/dejagnu-1.3.0.19981026/COPYING'/>
+ <dep name='/usr/share/dejagnu/config.guess'/>
+ <dep name='/usr/share/dejagnu/runtest.exp'/>
+ </provides>
+ <requires>
+ <dep name='expect'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>DEV</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.4</version>
+ <release>1</release>
+ <filename>DEV.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/dev/core'/>
+ <dep name='/dev/fd'/>
+ <dep name='/dev/stderr'/>
+ <dep name='/dev/stdin'/>
+ <dep name='/dev/stdout'/>
+ <dep name='/sbin/makedev'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>dhcp2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>0</release>
+ <filename>dhcp2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/dhclient-script'/>
+ <dep name='/etc/rc.d/init.d/dhcpd'/>
+ <dep name='/sbin/dhclient'/>
+ <dep name='/usr/sbin/dhcpd'/>
+ <dep name='/usr/sbin/dhcrelay'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <obsoletes>
+ <dep name='dhcpd'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>dhcpcd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.17p4</version>
+ <release>0</release>
+ <filename>dhcpcd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/sysconfig/network-scripts/ifdown-dhcp'/>
+ <dep name='/etc/sysconfig/network-scripts/ifup-dhcp'/>
+ <dep name='/sbin/dhcpcd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>dhcpd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0pl2</version>
+ <release>3</release>
+ <filename>dhcpd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/dhcpd'/>
+ <dep name='/usr/sbin/dhcpd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <conflicts>
+ <dep name='bootp'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>diald</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.16</version>
+ <release>1</release>
+ <filename>diald.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/dctrl'/>
+ <dep name='/usr/sbin/diald'/>
+ </provides>
+ <requires>
+ <dep name='ppp'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>dialog</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.6</version>
+ <release>6</release>
+ <filename>dialog.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/dialog'/>
+ <dep name='/usr/doc/dialog-0.6/samples/checklist'/>
+ <dep name='/usr/doc/dialog-0.6/samples/guage'/>
+ <dep name='/usr/doc/dialog-0.6/samples/infobox'/>
+ <dep name='/usr/doc/dialog-0.6/samples/inputbox'/>
+ <dep name='/usr/doc/dialog-0.6/samples/menubox'/>
+ <dep name='/usr/doc/dialog-0.6/samples/msgbox'/>
+ <dep name='/usr/doc/dialog-0.6/samples/radiolist'/>
+ <dep name='/usr/doc/dialog-0.6/samples/textbox'/>
+ <dep name='/usr/doc/dialog-0.6/samples/yesno'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>dialscripts</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.1</version>
+ <release>1</release>
+ <filename>dialscripts.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='dialscripts'/>
+ <dep name='/etc/ppp/t-online.down'/>
+ <dep name='/etc/ppp/t-online.up.sample'/>
+ <dep name='/etc/ppp/t-online.wrap'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>diffutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7b</version>
+ <release>0</release>
+ <filename>diffutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cmp'/>
+ <dep name='/usr/bin/diff'/>
+ <dep name='/usr/bin/diff3'/>
+ <dep name='/usr/bin/sdiff'/>
+ <dep name='/usr/doc/diffutils-2.7b/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>dip</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.7o</version>
+ <release>9</release>
+ <filename>dip.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/dip'/>
+ <dep name='/usr/sbin/diplogin'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>dosemu</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.98.5</version>
+ <release>3</release>
+ <filename>dosemu.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/dexeconfig'/>
+ <dep name='/usr/bin/dos'/>
+ <dep name='/usr/bin/dosdebug'/>
+ <dep name='/usr/bin/dosexec'/>
+ <dep name='/usr/bin/mkfatimage16'/>
+ <dep name='/usr/bin/scsicheck'/>
+ <dep name='/usr/bin/xdos'/>
+ <dep name='/usr/bin/xtermdos'/>
+ <dep name='/usr/lib/dosemu/bin/dos'/>
+ <dep name='/usr/lib/dosemu/bin/dosdebug'/>
+ <dep name='/usr/lib/dosemu/bin/dosexec'/>
+ <dep name='/usr/lib/dosemu/bin/mkfatimage16'/>
+ <dep name='/usr/lib/dosemu/bin/scsicheck'/>
+ <dep name='/usr/lib/dosemu/bin/xdos'/>
+ <dep name='/usr/lib/dosemu/dexe/check-mtools'/>
+ <dep name='/usr/lib/dosemu/dexe/do_mtools'/>
+ <dep name='/usr/lib/dosemu/dexe/extract-dos'/>
+ <dep name='/usr/lib/dosemu/dexe/mkdexe'/>
+ <dep name='/usr/lib/dosemu/dexe/myxcopy'/>
+ <dep name='/usr/lib/dosemu/etc/xtermdos'/>
+ <dep name='/usr/lib/dosemu/first-test'/>
+ <dep name='/usr/lib/dosemu/gnats/get-email.sh'/>
+ <dep name='/usr/lib/dosemu/gnats/send-pr'/>
+ <dep name='/usr/lib/dosemu/gnats/send-pr.sh'/>
+ <dep name='/usr/lib/dosemu/set-permissions'/>
+ <dep name='/usr/lib/dosemu/setup-dosemu'/>
+ <dep name='/usr/lib/dosemu/setup-hdimage'/>
+ <dep name='/usr/lib/dosemu/setup/compiletime_setup.tk'/>
+ <dep name='/usr/lib/dosemu/setup/parser/parser'/>
+ <dep name='/usr/lib/dosemu/setup/runtime_setup.sh'/>
+ <dep name='/usr/lib/dosemu/setup/runtime_setup.tk'/>
+ <dep name='/usr/lib/dosemu/setup/setup.tk'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/bootsect'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/dexeconfig'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/getrom'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/hdinfo'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/mkfatimage'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/mkhdimage'/>
+ <dep name='/usr/lib/dosemu/src/tools/periph/putrom'/>
+ <dep name='/usr/lib/dosemu/src/tools/tools86'/>
+ <dep name='/usr/lib/dosemu/submit-bug-report'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>drdos-hdimage-eval</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>7.03</version>
+ <release>2</release>
+ <filename>drdos-hdimage-eval.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>dump</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.4b4</version>
+ <release>4</release>
+ <filename>dump.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='rmt'/>
+ <dep name='/etc/rmt'/>
+ <dep name='/sbin/dump'/>
+ <dep name='/sbin/rdump'/>
+ <dep name='/sbin/restore'/>
+ <dep name='/sbin/rmt'/>
+ <dep name='/sbin/rrestore'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcom_err.so.2'/>
+ <dep name='libext2fs.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>dviutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>8</release>
+ <filename>dviutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/teTeX/bin/a4toa5'/>
+ <dep name='/opt/teTeX/bin/dvibook'/>
+ <dep name='/opt/teTeX/bin/dviconcat'/>
+ <dep name='/opt/teTeX/bin/dviselect'/>
+ <dep name='/opt/teTeX/bin/dvitodvi'/>
+ </provides>
+ <requires>
+ <dep name='teTeX'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/tcsh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ed</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.2</version>
+ <release>5</release>
+ <filename>ed.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/ed'/>
+ <dep name='/bin/red'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.66</version>
+ <release>5</release>
+ <filename>egcs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='gcc'/>
+ <dep name='/lib/cpp'/>
+ <dep name='/usr/bin/cc'/>
+ <dep name='/usr/bin/gcc'/>
+ <dep name='/usr/bin/i686-linux-gcc'/>
+ <dep name='/usr/bin/protoize'/>
+ <dep name='/usr/bin/unprotoize'/>
+ <dep name='/usr/lib/gcc-lib/i686-linux/egcs-2.91.66/cc1'/>
+ <dep name='/usr/lib/gcc-lib/i686-linux/egcs-2.91.66/cpp'/>
+ </provides>
+ <requires>
+ <dep name='binutils'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs-c++</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.66</version>
+ <release>5</release>
+ <filename>egcs-c++.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/c++'/>
+ <dep name='/usr/bin/g++'/>
+ <dep name='/usr/lib/gcc-lib/i686-linux/egcs-2.91.66/cc1plus'/>
+ <dep name='/usr/lib/libstdc++.so'/>
+ </provides>
+ <requires>
+ <dep name='gcc'/>
+ <dep name='libstdc++' op='=' version='2.9.0'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.66</version>
+ <release>5</release>
+ <filename>egcs-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs-objc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.66</version>
+ <release>5</release>
+ <filename>egcs-objc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/gcc-lib/i686-linux/egcs-2.91.66/cc1obj'/>
+ </provides>
+ <requires>
+ <dep name='gcc'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>eject</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.2</version>
+ <release>1</release>
+ <filename>eject.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/eject'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>enscript</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.6.1</version>
+ <release>4</release>
+ <filename>enscript.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/diffpp'/>
+ <dep name='/usr/bin/enscript'/>
+ <dep name='/usr/bin/mkafmmap'/>
+ <dep name='/usr/bin/over'/>
+ <dep name='/usr/bin/sliceprint'/>
+ <dep name='/usr/bin/states'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>expect</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.28</version>
+ <release>1</release>
+ <filename>expect.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libexpect5.28.so'/>
+ <dep name='/usr/bin/autoexpect'/>
+ <dep name='/usr/bin/dislocate'/>
+ <dep name='/usr/bin/expect'/>
+ <dep name='/usr/bin/expectk'/>
+ <dep name='/usr/bin/timed-read'/>
+ <dep name='/usr/bin/timed-run'/>
+ <dep name='/usr/bin/xkibitz'/>
+ <dep name='/usr/lib/expect5.28/pkgIndex.tcl'/>
+ <dep name='/usr/lib/libexpect.so'/>
+ <dep name='/usr/lib/libexpect5.28.1.so'/>
+ <dep name='/usr/share/expect-5.28/Demos/autopasswd'/>
+ <dep name='/usr/share/expect-5.28/Demos/cryptdir'/>
+ <dep name='/usr/share/expect-5.28/Demos/decryptdir'/>
+ <dep name='/usr/share/expect-5.28/Demos/ftp-rfc'/>
+ <dep name='/usr/share/expect-5.28/Demos/kibitz'/>
+ <dep name='/usr/share/expect-5.28/Demos/lpunlock'/>
+ <dep name='/usr/share/expect-5.28/Demos/mkpasswd'/>
+ <dep name='/usr/share/expect-5.28/Demos/passmass'/>
+ <dep name='/usr/share/expect-5.28/Demos/rftp'/>
+ <dep name='/usr/share/expect-5.28/Demos/rlogin-cwd'/>
+ <dep name='/usr/share/expect-5.28/Demos/tknewsbiff'/>
+ <dep name='/usr/share/expect-5.28/Demos/tkpasswd'/>
+ <dep name='/usr/share/expect-5.28/Demos/unbuffer'/>
+ <dep name='/usr/share/expect-5.28/Demos/weather'/>
+ <dep name='/usr/share/expect-5.28/Demos/xpstat'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libexpect5.28.so'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='libutil.so.1'/>
+ <dep name='/usr/bin/expect'/>
+ <dep name='/usr/bin/expectk'/>
+ </requires>
+ </package>
+ <package>
+ <name>expect-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.28</version>
+ <release>1</release>
+ <filename>expect-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='expect-devel' op='=' version='5.28'/>
+ </requires>
+ </package>
+ <package>
+ <name>expect-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.28</version>
+ <release>1</release>
+ <filename>expect-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='expect' op='=' version='5.28'/>
+ </requires>
+ </package>
+ <package>
+ <name>ext2fs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14</version>
+ <release>2</release>
+ <filename>ext2fs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libcom_err.so.2'/>
+ <dep name='libe2p.so.2'/>
+ <dep name='libext2fs.so.2'/>
+ <dep name='libss.so.2'/>
+ <dep name='libuuid.so.1'/>
+ <dep name='/lib/libcom_err.so.2.0'/>
+ <dep name='/lib/libe2p.so.2.3'/>
+ <dep name='/lib/libext2fs.so.2.4'/>
+ <dep name='/lib/libss.so.2.0'/>
+ <dep name='/lib/libuuid.so.1.2'/>
+ <dep name='/sbin/badblocks'/>
+ <dep name='/sbin/debugfs'/>
+ <dep name='/sbin/dumpe2fs'/>
+ <dep name='/sbin/e2fsck'/>
+ <dep name='/sbin/e2label'/>
+ <dep name='/sbin/fsck'/>
+ <dep name='/sbin/fsck.ext2'/>
+ <dep name='/sbin/mke2fs'/>
+ <dep name='/sbin/mkfs.ext2'/>
+ <dep name='/sbin/tune2fs'/>
+ <dep name='/usr/bin/chattr'/>
+ <dep name='/usr/bin/lsattr'/>
+ <dep name='/usr/sbin/mklost+found'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcom_err.so.2'/>
+ <dep name='libe2p.so.2'/>
+ <dep name='libext2fs.so.2'/>
+ <dep name='libss.so.2'/>
+ <dep name='libuuid.so.1'/>
+ </requires>
+ <obsoletes>
+ <dep name='e2fsprogs'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ext2fs-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14</version>
+ <release>2</release>
+ <filename>ext2fs-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ext2fs-devel' op='=' version='1.14'/>
+ </requires>
+ </package>
+ <package>
+ <name>ext2fs-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14</version>
+ <release>2</release>
+ <filename>ext2fs-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/compile_et'/>
+ <dep name='/usr/bin/mk_cmds'/>
+ <dep name='/usr/lib/libcom_err.so'/>
+ <dep name='/usr/lib/libe2p.so'/>
+ <dep name='/usr/lib/libext2fs.so'/>
+ <dep name='/usr/lib/libss.so'/>
+ <dep name='/usr/lib/libuuid.so'/>
+ </provides>
+ <requires>
+ <dep name='ext2fs' op='=' version='1.14'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>faq</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990203</version>
+ <release>2</release>
+ <filename>faq.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Accessability.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/ArrowLeft.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/ArrowRight.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/AvoidZombies.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/BookSearch.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Checkmark.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/CloneFlags.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Comparison.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Debugging.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Dictionary.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/GraySea.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/House.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Languages.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/LearnMore.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/LinusCode.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Mailbox.gif'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/OSsCompared.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Problems.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/ProgHeuristics.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Reentrancy.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Scheduling.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/StdLibs.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Support.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/SystemCall.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/ThreadLibs.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/ThreadingApps.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/Types.html'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/clone.c'/>
+ <dep name='/usr/doc/FAQ/Threads-FAQ/index.html'/>
+ </provides>
+ </package>
+ <package>
+ <name>fatfs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2</version>
+ <release>2</release>
+ <filename>fatfs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/dosfsck'/>
+ <dep name='/sbin/fsck.msdos'/>
+ <dep name='/sbin/fsck.vfat'/>
+ <dep name='/sbin/mkdosfs'/>
+ <dep name='/sbin/mkfs.msdos'/>
+ <dep name='/sbin/mkfs.vfat'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>fbset</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1</version>
+ <release>2</release>
+ <filename>fbset.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/fbset-2.1/modeline2fb'/>
+ <dep name='/usr/man/man5/fb.modes.5.gz'/>
+ <dep name='/usr/man/man8/fbset.8.gz'/>
+ <dep name='/usr/sbin/fbset'/>
+ <dep name='/usr/sbin/setvesafb'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>fdutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.2</version>
+ <release>3</release>
+ <filename>fdutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/floppycontrol'/>
+ <dep name='/usr/bin/floppymeter'/>
+ <dep name='/usr/bin/getfdprm'/>
+ <dep name='/usr/bin/setfdprm'/>
+ <dep name='/usr/bin/superformat'/>
+ <dep name='/usr/bin/xdfcopy'/>
+ <dep name='/usr/bin/xdfformat'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>fetchmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.0.4</version>
+ <release>0</release>
+ <filename>fetchmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/fetchmail'/>
+ <dep name='/usr/bin/fetchmailconf'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/usr/bin/env'/>
+ </requires>
+ </package>
+ <package>
+ <name>fhs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>fhs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>file</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.27</version>
+ <release>1</release>
+ <filename>file.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/file'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>fileutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0</version>
+ <release>1</release>
+ <filename>fileutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/chgrp'/>
+ <dep name='/bin/chmod'/>
+ <dep name='/bin/chown'/>
+ <dep name='/bin/cp'/>
+ <dep name='/bin/dd'/>
+ <dep name='/bin/df'/>
+ <dep name='/bin/ln'/>
+ <dep name='/bin/ls'/>
+ <dep name='/bin/mkdir'/>
+ <dep name='/bin/mknod'/>
+ <dep name='/bin/mv'/>
+ <dep name='/bin/rm'/>
+ <dep name='/bin/rmdir'/>
+ <dep name='/bin/sync'/>
+ <dep name='/usr/bin/dir'/>
+ <dep name='/usr/bin/du'/>
+ <dep name='/usr/bin/install'/>
+ <dep name='/usr/bin/mkfifo'/>
+ <dep name='/usr/bin/touch'/>
+ <dep name='/usr/bin/vdir'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>findutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1</version>
+ <release>11</release>
+ <filename>findutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/cron.d/lib/update-locatedb'/>
+ <dep name='/usr/bin/find'/>
+ <dep name='/usr/bin/locate'/>
+ <dep name='/usr/bin/updatedb'/>
+ <dep name='/usr/bin/xargs'/>
+ <dep name='/usr/libexec/findutils/bigram'/>
+ <dep name='/usr/libexec/findutils/code'/>
+ <dep name='/usr/libexec/findutils/frcode'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>flex</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5.4</version>
+ <release>1</release>
+ <filename>flex.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/flex'/>
+ <dep name='/usr/bin/flex++'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>freeciv</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.8.0</version>
+ <release>1</release>
+ <filename>freeciv.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/civ'/>
+ <dep name='/usr/X11R6/bin/civclient'/>
+ <dep name='/usr/X11R6/bin/civserver'/>
+ <dep name='/usr/X11R6/bin/civserver.bin'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>g77</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.66</version>
+ <release>5</release>
+ <filename>g77.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/f77'/>
+ <dep name='/usr/bin/g77'/>
+ <dep name='/usr/lib/gcc-lib/i686-linux/egcs-2.91.66/f771'/>
+ </provides>
+ <requires>
+ <dep name='gcc'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>gawk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.3</version>
+ <release>3</release>
+ <filename>gawk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='awk'/>
+ <dep name='/usr/bin/awk'/>
+ <dep name='/usr/bin/gawk'/>
+ <dep name='/usr/bin/igawk'/>
+ <dep name='/usr/libexec/awk/grcat'/>
+ <dep name='/usr/libexec/awk/pwcat'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>gawk-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.3</version>
+ <release>3</release>
+ <filename>gawk-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gcal</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.40</version>
+ <release>1</release>
+ <filename>gcal.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/gcal'/>
+ <dep name='/usr/bin/gcal2txt'/>
+ <dep name='/usr/bin/tcal'/>
+ <dep name='/usr/bin/txt2gcal'/>
+ <dep name='/usr/doc/gcal-2.40/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>gd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3</version>
+ <release>4</release>
+ <filename>gd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/bdftogd'/>
+ <dep name='/usr/bin/gddemo'/>
+ <dep name='/usr/bin/giftogd'/>
+ <dep name='/usr/bin/webgif'/>
+ <dep name='/usr/lib/libgd.a'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>gdb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.17.0.11</version>
+ <release>2</release>
+ <filename>gdb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='debugger'/>
+ <dep name='/usr/bin/gdb'/>
+ <dep name='/usr/doc/gdb-4.17.0.11-2/COPYING'/>
+ <dep name='/usr/doc/gdb-4.17.0.11-2/NEWS'/>
+ <dep name='/usr/doc/gdb-4.17.0.11-2/README'/>
+ <dep name='/usr/doc/gdb-4.17.0.11-2/TODO'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>gdb-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.17.0.11</version>
+ <release>2</release>
+ <filename>gdb-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gdbm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.8.0</version>
+ <release>3</release>
+ <filename>gdbm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libgdbm.so.1'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='/usr/lib/libgdbm.so.1'/>
+ <dep name='/usr/lib/libgdbm.so.2.0.0'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>gdbm-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.8.0</version>
+ <release>3</release>
+ <filename>gdbm-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='gdbm-devel' op='=' version='1.8.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>gdbm-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.8.0</version>
+ <release>3</release>
+ <filename>gdbm-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libgdbm.so'/>
+ </provides>
+ <requires>
+ <dep name='gdbm' op='=' version='1.8.0'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>gettext</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10.35</version>
+ <release>1</release>
+ <filename>gettext.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/gettext'/>
+ <dep name='/usr/bin/gettextize'/>
+ <dep name='/usr/bin/msgcmp'/>
+ <dep name='/usr/bin/msgcomm'/>
+ <dep name='/usr/bin/msgfmt'/>
+ <dep name='/usr/bin/msgmerge'/>
+ <dep name='/usr/bin/msgunfmt'/>
+ <dep name='/usr/bin/xgettext'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ghostscript-fonts</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.10</version>
+ <release>2</release>
+ <filename>ghostscript-fonts.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/X11/fonts/ghostscript'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchb.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchb.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchbi.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchbi.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchr.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchr.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchri.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/bchri.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fcyr.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fcyr.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fcyri.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fcyri.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fhirw.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fhirw.pfm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fkarw.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/fkarw.pfm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrger.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgerb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgerd.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgero.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgkc.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgks.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgrr.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgrrb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrgrro.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hritr.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hritrb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hritro.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpld.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpldb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpldbi.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpldi.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplr.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplrb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplrbo.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplro.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpls.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplsb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplsbo.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplso.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplt.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpltb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrpltbi.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrplti.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrscc.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrsccb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrscco.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrscs.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrscsb.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrscso.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/hrsyr.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/putb.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/putbi.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/putr.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/putri.pfa'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u003043t.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u003043t.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u003043t.pfm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u004006t.afm'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u004006t.gsf'/>
+ <dep name='/usr/share/ghostscript/5.10/fonts/u004006t.pfm'/>
+ </provides>
+ </package>
+ <package>
+ <name>ghostscript-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.10</version>
+ <release>2</release>
+ <filename>ghostscript-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ghostscript</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.10</version>
+ <release>2</release>
+ <filename>ghostscript.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='ghostscript'/>
+ <dep name='/usr/bin/bdftops'/>
+ <dep name='/usr/bin/font2c'/>
+ <dep name='/usr/bin/ghostscript'/>
+ <dep name='/usr/bin/gs'/>
+ <dep name='/usr/bin/gsbj'/>
+ <dep name='/usr/bin/gsdj'/>
+ <dep name='/usr/bin/gsdj500'/>
+ <dep name='/usr/bin/gslj'/>
+ <dep name='/usr/bin/gslp'/>
+ <dep name='/usr/bin/gsnd'/>
+ <dep name='/usr/bin/pdf2dsc'/>
+ <dep name='/usr/bin/pdf2ps'/>
+ <dep name='/usr/bin/printafm'/>
+ <dep name='/usr/bin/ps2ascii'/>
+ <dep name='/usr/bin/ps2epsi'/>
+ <dep name='/usr/bin/ps2pdf'/>
+ <dep name='/usr/bin/wftopfa'/>
+ <dep name='/usr/share/ghostscript/5.10/README'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>giftrans</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.12.2</version>
+ <release>2</release>
+ <filename>giftrans.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/giftrans'/>
+ <dep name='/usr/man/man1/giftrans.1.gz'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>gimp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.4</version>
+ <release>1</release>
+ <filename>gimp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libgck.so.1'/>
+ <dep name='libgimp.so.1'/>
+ <dep name='libgimpui.so.1'/>
+ <dep name='/usr/X11R6/bin/gimp'/>
+ <dep name='/usr/X11R6/bin/gimptool'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/AlienMap'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/CEL'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/CML_explorer'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/MapObject'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/align_layers'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/animationplay'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/animoptimize'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/apply_lens'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/autocrop'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/autostretch_hsv'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/blinds'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/blur'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/bmp'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/bumpmap'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/bz2'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/c_astretch'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/checkerboard'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/colorify'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/compose'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/convmatrix'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/cubism'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/dbbrowser'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/decompose'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/deinterlace'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/depthmerge'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/despeckle'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/destripe'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/diffraction'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/displace'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/edge'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/emboss'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/engrave'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/exchange'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/faxg3'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/film'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/fits'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/flame'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/flarefx'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/fractaltrace'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gauss_iir'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gauss_rle'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gbr'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gee'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gfig'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gfli'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gicon'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gif'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/glasstile'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gqbist'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gradmap'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/grid'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gtm'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/gz'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/header'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/hot'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/hrz'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/ifscompose'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/illusion'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/iwarp'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/jpeg'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/laplace'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/mail'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/max_rgb'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/maze'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/mblur'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/mosaic'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/nlfilt'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/noisify'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/normalize'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/nova'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/oilify'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pagecurl'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/palette'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/papertile'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pat'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pcx'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pix'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pixelize'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/plasma'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/png'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/pnm'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/polar'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/print'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/ps'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/psd'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/randomize'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/ripple'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/rotate'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/rotators'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/scatter_hsv'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/screenshot'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/script-fu'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/semiflatten'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sgi'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sharpen'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/shift'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sinus'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/smooth_palette'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/snoise'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/snp'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sobel'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sparkle'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/spread'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/struc'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/sunras'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/tga'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/threshold_alpha'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/tiff'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/tile'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/tileit'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/tiler'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/url'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/video'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/vinvert'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/vpropagate'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/waves'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/webbrowser'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/whirlpinch'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/xpm'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/xwd'/>
+ <dep name='/usr/X11R6/lib/gimp/1.0/plug-ins/zealouscrop'/>
+ <dep name='/usr/X11R6/lib/libgck.la'/>
+ <dep name='/usr/X11R6/lib/libgck.so.1.0.0'/>
+ <dep name='/usr/X11R6/lib/libgimp.la'/>
+ <dep name='/usr/X11R6/lib/libgimp.so.1.0.4'/>
+ <dep name='/usr/X11R6/lib/libgimpui.la'/>
+ <dep name='/usr/X11R6/lib/libgimpui.so.1.0.4'/>
+ <dep name='/usr/X11R6/share/gimp/user_install'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgck.so.1'/>
+ <dep name='libgdk-1.2.so.0'/>
+ <dep name='libgimp.so.1'/>
+ <dep name='libgimpui.so.1'/>
+ <dep name='libglib-1.2.so.0'/>
+ <dep name='libgmodule-1.2.so.0'/>
+ <dep name='libgtk-1.2.so.0'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>gimp-data</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.0</version>
+ <release>1</release>
+ <filename>gimp-data.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gimp-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.4</version>
+ <release>1</release>
+ <filename>gimp-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gimp-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.4</version>
+ <release>1</release>
+ <filename>gimp-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>glib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>glib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libglib-1.2.so.0'/>
+ <dep name='libgmodule-1.2.so.0'/>
+ <dep name='libgthread-1.2.so.0'/>
+ <dep name='/usr/lib/libglib-1.2.so.0'/>
+ <dep name='/usr/lib/libglib-1.2.so.0.0.3'/>
+ <dep name='/usr/lib/libgthread-1.2.so.0'/>
+ <dep name='/usr/lib/libgthread-1.2.so.0.0.3'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>glib-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>glib-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libglib.la'/>
+ <dep name='/usr/lib/libgthread.la'/>
+ </provides>
+ <requires>
+ <dep name='glib-devel'/>
+ </requires>
+ </package>
+ <package>
+ <name>glib-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>glib-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/glib-config'/>
+ <dep name='/usr/lib/libglib.so'/>
+ <dep name='/usr/lib/libgmodule.so'/>
+ <dep name='/usr/lib/libgthread.so'/>
+ </provides>
+ <requires>
+ <dep name='glib'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>glibc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.2</version>
+ <release>1</release>
+ <filename>glibc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libBrokenLocale.so.1'/>
+ <dep name='libSegFault.so'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libnss_compat.so.2'/>
+ <dep name='libnss_db.so.2'/>
+ <dep name='libnss_dns.so.2'/>
+ <dep name='libnss_files.so.2'/>
+ <dep name='libnss_hesiod.so.2'/>
+ <dep name='libnss_nis.so.2'/>
+ <dep name='libnss_nisplus.so.2'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='librt.so.1'/>
+ <dep name='libutil.so.1'/>
+ <dep name='/lib/ld-2.1.2.so'/>
+ <dep name='/lib/ld-linux.so.2'/>
+ <dep name='/lib/libBrokenLocale-2.1.2.so'/>
+ <dep name='/lib/libBrokenLocale.so.1'/>
+ <dep name='/lib/libSegFault.so'/>
+ <dep name='/lib/libc-2.1.2.so'/>
+ <dep name='/lib/libc.so.6'/>
+ <dep name='/lib/libcrypt-2.1.2.so'/>
+ <dep name='/lib/libcrypt.so.1'/>
+ <dep name='/lib/libdb-2.1.2.so'/>
+ <dep name='/lib/libdb.so.2'/>
+ <dep name='/lib/libdb.so.3'/>
+ <dep name='/lib/libdb1-2.1.2.so'/>
+ <dep name='/lib/libdb1.so.2'/>
+ <dep name='/lib/libdl-2.1.2.so'/>
+ <dep name='/lib/libdl.so.2'/>
+ <dep name='/lib/libm-2.1.2.so'/>
+ <dep name='/lib/libm.so.6'/>
+ <dep name='/lib/libnsl-2.1.2.so'/>
+ <dep name='/lib/libnsl.so.1'/>
+ <dep name='/lib/libnss_compat-2.1.2.so'/>
+ <dep name='/lib/libnss_compat.so.2'/>
+ <dep name='/lib/libnss_db-2.1.2.so'/>
+ <dep name='/lib/libnss_db.so.2'/>
+ <dep name='/lib/libnss_dns-2.1.2.so'/>
+ <dep name='/lib/libnss_dns.so.2'/>
+ <dep name='/lib/libnss_files-2.1.2.so'/>
+ <dep name='/lib/libnss_files.so.2'/>
+ <dep name='/lib/libnss_hesiod-2.1.2.so'/>
+ <dep name='/lib/libnss_hesiod.so.2'/>
+ <dep name='/lib/libnss_nis-2.1.2.so'/>
+ <dep name='/lib/libnss_nis.so.2'/>
+ <dep name='/lib/libnss_nisplus-2.1.2.so'/>
+ <dep name='/lib/libnss_nisplus.so.2'/>
+ <dep name='/lib/libpthread-0.8.so'/>
+ <dep name='/lib/libpthread.so.0'/>
+ <dep name='/lib/libresolv-2.1.2.so'/>
+ <dep name='/lib/libresolv.so.2'/>
+ <dep name='/lib/librt-2.1.2.so'/>
+ <dep name='/lib/librt.so.1'/>
+ <dep name='/lib/libutil-2.1.2.so'/>
+ <dep name='/lib/libutil.so.1'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libnss_files.so.2'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>glibc-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.2</version>
+ <release>1</release>
+ <filename>glibc-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='glibc-devel' op='=' version='2.1.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>glibc-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.2</version>
+ <release>1</release>
+ <filename>glibc-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/catchsegv'/>
+ <dep name='/usr/bin/gencat'/>
+ <dep name='/usr/bin/glibcbug'/>
+ <dep name='/usr/bin/locale'/>
+ <dep name='/usr/bin/localedef'/>
+ <dep name='/usr/bin/makedb'/>
+ <dep name='/usr/bin/mtrace'/>
+ <dep name='/usr/bin/rpcgen'/>
+ <dep name='/usr/bin/tzselect'/>
+ <dep name='/usr/include/asm'/>
+ <dep name='/usr/include/linux'/>
+ <dep name='/usr/lib/libBrokenLocale.so'/>
+ <dep name='/usr/lib/libdb.so'/>
+ <dep name='/usr/lib/libdb1.so'/>
+ <dep name='/usr/lib/libdl.so'/>
+ <dep name='/usr/lib/libm.so'/>
+ <dep name='/usr/lib/libndbm.so'/>
+ <dep name='/usr/lib/libnsl.so'/>
+ <dep name='/usr/lib/libnss_compat.so'/>
+ <dep name='/usr/lib/libnss_db.so'/>
+ <dep name='/usr/lib/libnss_dns.so'/>
+ <dep name='/usr/lib/libnss_files.so'/>
+ <dep name='/usr/lib/libnss_hesiod.so'/>
+ <dep name='/usr/lib/libnss_nis.so'/>
+ <dep name='/usr/lib/libnss_nisplus.so'/>
+ <dep name='/usr/lib/libpthread.so'/>
+ <dep name='/usr/lib/libresolv.so'/>
+ <dep name='/usr/lib/librt.so'/>
+ <dep name='/usr/lib/libutil.so'/>
+ </provides>
+ <requires>
+ <dep name='glibc' op='=' version='2.1.2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>glibc-localedata</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.2</version>
+ <release>1</release>
+ <filename>glibc-localedata.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gnuchess</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.pl80</version>
+ <release>1</release>
+ <filename>gnuchess.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/game'/>
+ <dep name='/usr/bin/gnuan'/>
+ <dep name='/usr/bin/gnuchess'/>
+ <dep name='/usr/bin/gnuchessc'/>
+ <dep name='/usr/bin/gnuchessn'/>
+ <dep name='/usr/bin/gnuchessr'/>
+ <dep name='/usr/bin/gnuchessx'/>
+ <dep name='/usr/bin/postprint'/>
+ <dep name='/usr/lib/games/gnuchess/eco.pgn'/>
+ <dep name='/usr/lib/games/gnuchess/gnuchess.data'/>
+ <dep name='/usr/lib/games/gnuchess/gnuchess.eco'/>
+ <dep name='/usr/lib/games/gnuchess/gnuchess.lang'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>gpm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.17.8</version>
+ <release>2</release>
+ <filename>gpm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libgpm.so.1'/>
+ <dep name='/etc/rc.d/init.d/gpm'/>
+ <dep name='/usr/bin/gpm'/>
+ <dep name='/usr/bin/gpm-root'/>
+ <dep name='/usr/bin/hltest'/>
+ <dep name='/usr/bin/mev'/>
+ <dep name='/usr/bin/mouse-test'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>gpm-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.17.8</version>
+ <release>2</release>
+ <filename>gpm-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='gpm-devel' op='=' version='1.17.8'/>
+ </requires>
+ </package>
+ <package>
+ <name>gpm-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.17.8</version>
+ <release>2</release>
+ <filename>gpm-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libgpm.so'/>
+ </provides>
+ <requires>
+ <dep name='gpm' op='=' version='1.17.8'/>
+ </requires>
+ </package>
+ <package>
+ <name>grep</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2</version>
+ <release>1</release>
+ <filename>grep.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/egrep'/>
+ <dep name='/usr/bin/fgrep'/>
+ <dep name='/usr/bin/grep'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='/usr/bin/eqn'/>
+ <dep name='/usr/bin/geqn'/>
+ <dep name='/usr/bin/gneqn'/>
+ <dep name='/usr/bin/gnroff'/>
+ <dep name='/usr/bin/gpic'/>
+ <dep name='/usr/bin/groff'/>
+ <dep name='/usr/bin/grotty'/>
+ <dep name='/usr/bin/gtbl'/>
+ <dep name='/usr/bin/gtroff'/>
+ <dep name='/usr/bin/neqn'/>
+ <dep name='/usr/bin/nroff'/>
+ <dep name='/usr/bin/pic'/>
+ <dep name='/usr/bin/tbl'/>
+ <dep name='/usr/bin/troff'/>
+ <dep name='/usr/lib/groff/libdriver.so.1'/>
+ <dep name='/usr/lib/groff/libdriver.so.1.11'/>
+ <dep name='/usr/lib/groff/libgroff.so.1'/>
+ <dep name='/usr/lib/groff/libgroff.so.1.11'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/grodvi'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-gxditview</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-gxditview.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/gxditview'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-lj4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-lj4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/grolj4'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-misc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-misc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libbib.so.1.11'/>
+ <dep name='/usr/bin/addftinfo'/>
+ <dep name='/usr/bin/afmtodit'/>
+ <dep name='/usr/bin/gindxbib'/>
+ <dep name='/usr/bin/glookbib'/>
+ <dep name='/usr/bin/grefer'/>
+ <dep name='/usr/bin/grog'/>
+ <dep name='/usr/bin/gsoelim'/>
+ <dep name='/usr/bin/hpftodit'/>
+ <dep name='/usr/bin/indxbib'/>
+ <dep name='/usr/bin/lkbib'/>
+ <dep name='/usr/bin/lookbib'/>
+ <dep name='/usr/bin/pfbtops'/>
+ <dep name='/usr/bin/refer'/>
+ <dep name='/usr/bin/soelim'/>
+ <dep name='/usr/bin/tfmtodit'/>
+ <dep name='/usr/lib/groff/libbib.so.1'/>
+ <dep name='/usr/lib/groff/libbib.so.1.11'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libbib.so.1.11'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/grops'/>
+ <dep name='/usr/bin/psbb'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>gtk+</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>gtk+.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libgdk-1.2.so.0'/>
+ <dep name='libgtk-1.2.so.0'/>
+ <dep name='/usr/X11R6/bin/gtk-config'/>
+ <dep name='/usr/X11R6/lib/libgdk-1.2.so.0.2.1'/>
+ <dep name='/usr/X11R6/lib/libgtk-1.2.so.0.2.1'/>
+ </provides>
+ <requires>
+ <dep name='glib'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libglib-1.2.so.0'/>
+ <dep name='libgmodule-1.2.so.0'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <obsoletes>
+ <dep name='gtk'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>gtk+-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>gtk+-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libgdk.la'/>
+ <dep name='/usr/X11R6/lib/libgtk.la'/>
+ </provides>
+ <requires>
+ <dep name='gtk+-devel'/>
+ <dep name='glib-devel-static'/>
+ </requires>
+ <obsoletes>
+ <dep name='gtk-devel-static'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>gtk+-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>2</release>
+ <filename>gtk+-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libgdk.so'/>
+ <dep name='/usr/X11R6/lib/libgtk.so'/>
+ </provides>
+ <requires>
+ <dep name='gtk+'/>
+ <dep name='glib-devel'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <obsoletes>
+ <dep name='gtk-devel'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>gv</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.8</version>
+ <release>4</release>
+ <filename>gv.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/gv'/>
+ </provides>
+ <requires>
+ <dep name='ghostscript'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>gv-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.8</version>
+ <release>4</release>
+ <filename>gv-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>gzip</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.4</version>
+ <release>9</release>
+ <filename>gzip.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/gunzip'/>
+ <dep name='/bin/gzip'/>
+ <dep name='/bin/zcat'/>
+ <dep name='/usr/bin/zcmp'/>
+ <dep name='/usr/bin/zdiff'/>
+ <dep name='/usr/bin/zforce'/>
+ <dep name='/usr/bin/zgrep'/>
+ <dep name='/usr/bin/zless'/>
+ <dep name='/usr/bin/zmore'/>
+ <dep name='/usr/bin/znew'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>hdparm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5</version>
+ <release>1</release>
+ <filename>hdparm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/hdparm'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>hwprobe</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>990806</version>
+ <release>1</release>
+ <filename>hwprobe.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/modules/default'/>
+ <dep name='/sbin/hwprobe'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>iBCS</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1</version>
+ <release>3</release>
+ <filename>iBCS.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/iBCS'/>
+ <dep name='/usr/libexec/iBCS-2.0/lnxstamp'/>
+ <dep name='/usr/libexec/iBCS-2.0/magic'/>
+ <dep name='/usr/libexec/iBCS-2.0/mkmnttab'/>
+ <dep name='/usr/libexec/iBCS-2.0/trace'/>
+ </provides>
+ <requires>
+ <dep name='linux-kernel-binary' op='=' version='2.2.12'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>iBCS-extras</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1</version>
+ <release>3</release>
+ <filename>iBCS-extras.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='ld.so.1'/>
+ <dep name='libc.so.1'/>
+ <dep name='libdl.so.1'/>
+ <dep name='libelf.so.1'/>
+ <dep name='libnsl.so'/>
+ <dep name='libsocket.so'/>
+ <dep name='/shlib/lib_s.map'/>
+ <dep name='/shlib/libc_s'/>
+ <dep name='/shlib/libnsl_s'/>
+ <dep name='/shlib/libnsl_s.debug'/>
+ <dep name='/shlib/protlib_s'/>
+ <dep name='/shlib/protlib_s.debug'/>
+ <dep name='/usr/i486-sysv4/lib/ld.so.1'/>
+ <dep name='/usr/i486-sysv4/lib/libc.so.1'/>
+ <dep name='/usr/i486-sysv4/lib/libdl.so.1'/>
+ <dep name='/usr/i486-sysv4/lib/libelf.so.1'/>
+ <dep name='/usr/i486-sysv4/lib/libnsl.so'/>
+ <dep name='/usr/i486-sysv4/lib/libsocket.so'/>
+ <dep name='/usr/lib/ld.so.1'/>
+ <dep name='/usr/lib/libc.so.1'/>
+ </provides>
+ <requires>
+ <dep name='iBCS'/>
+ </requires>
+ </package>
+ <package>
+ <name>ImageMagick-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.7</version>
+ <release>2</release>
+ <filename>ImageMagick-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libMagick.la'/>
+ </provides>
+ <requires>
+ <dep name='ImageMagick-devel' op='=' version='4.2.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>ImageMagick-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.7</version>
+ <release>2</release>
+ <filename>ImageMagick-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libMagick.so'/>
+ </provides>
+ <requires>
+ <dep name='ImageMagick' op='=' version='4.2.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>ImageMagick</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.7</version>
+ <release>2</release>
+ <filename>ImageMagick.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='Magick.so'/>
+ <dep name='libMagick.so.4'/>
+ <dep name='/usr/X11R6/bin/Magick-config'/>
+ <dep name='/usr/X11R6/bin/animate'/>
+ <dep name='/usr/X11R6/bin/combine'/>
+ <dep name='/usr/X11R6/bin/convert'/>
+ <dep name='/usr/X11R6/bin/display'/>
+ <dep name='/usr/X11R6/bin/identify'/>
+ <dep name='/usr/X11R6/bin/import'/>
+ <dep name='/usr/X11R6/bin/mogrify'/>
+ <dep name='/usr/X11R6/bin/montage'/>
+ <dep name='/usr/X11R6/bin/xtp'/>
+ <dep name='/usr/X11R6/lib/libMagick.so.4'/>
+ <dep name='/usr/X11R6/lib/libMagick.so.4.0.27'/>
+ <dep name='/usr/X11R6/lib/perl5/site-perl/i686-linux-thread/auto/Image/Magick/Magick.so'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libMagick.so.4'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>imap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.6.BETA</version>
+ <release>1</release>
+ <filename>imap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/imapd'/>
+ <dep name='/usr/sbin/ipop2d'/>
+ <dep name='/usr/sbin/ipop3d'/>
+ </provides>
+ <requires>
+ <dep name='tcp_wrappers'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpam.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>indent</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.0</version>
+ <release>1</release>
+ <filename>indent.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/indent'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>info</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.12</version>
+ <release>3</release>
+ <filename>info.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/info'/>
+ <dep name='/usr/bin/install-info'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>inn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>2</release>
+ <filename>inn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='inews'/>
+ <dep name='/etc/news/control-pgp.ctl'/>
+ <dep name='/etc/news/control.ctl'/>
+ <dep name='/etc/rc.d/init.d/news'/>
+ <dep name='/usr/bin/inews'/>
+ <dep name='/usr/bin/rnews'/>
+ <dep name='/usr/doc/inn-2.2.1/ISC/unpgp-control'/>
+ <dep name='/usr/libexec/inn/bin/actived'/>
+ <dep name='/usr/libexec/inn/bin/actmerge'/>
+ <dep name='/usr/libexec/inn/bin/actsync'/>
+ <dep name='/usr/libexec/inn/bin/actsyncd'/>
+ <dep name='/usr/libexec/inn/bin/archive'/>
+ <dep name='/usr/libexec/inn/bin/batcher'/>
+ <dep name='/usr/libexec/inn/bin/buffchan'/>
+ <dep name='/usr/libexec/inn/bin/cnfsstat'/>
+ <dep name='/usr/libexec/inn/bin/control/checkgroups'/>
+ <dep name='/usr/libexec/inn/bin/control/checkgroups.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/default'/>
+ <dep name='/usr/libexec/inn/bin/control/ihave'/>
+ <dep name='/usr/libexec/inn/bin/control/ihave.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/newgroup'/>
+ <dep name='/usr/libexec/inn/bin/control/newgroup.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/rmgroup'/>
+ <dep name='/usr/libexec/inn/bin/control/rmgroup.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/sendme'/>
+ <dep name='/usr/libexec/inn/bin/control/sendme.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/sendsys'/>
+ <dep name='/usr/libexec/inn/bin/control/sendsys.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/senduuname'/>
+ <dep name='/usr/libexec/inn/bin/control/senduuname.pl'/>
+ <dep name='/usr/libexec/inn/bin/control/version'/>
+ <dep name='/usr/libexec/inn/bin/control/version.pl'/>
+ <dep name='/usr/libexec/inn/bin/controlbatch'/>
+ <dep name='/usr/libexec/inn/bin/controlchan'/>
+ <dep name='/usr/libexec/inn/bin/convdate'/>
+ <dep name='/usr/libexec/inn/bin/crosspost'/>
+ <dep name='/usr/libexec/inn/bin/ctlinnd'/>
+ <dep name='/usr/libexec/inn/bin/cvtbatch'/>
+ <dep name='/usr/libexec/inn/bin/expire'/>
+ <dep name='/usr/libexec/inn/bin/expireindex'/>
+ <dep name='/usr/libexec/inn/bin/expireover'/>
+ <dep name='/usr/libexec/inn/bin/expirerm'/>
+ <dep name='/usr/libexec/inn/bin/fastrm'/>
+ <dep name='/usr/libexec/inn/bin/filechan'/>
+ <dep name='/usr/libexec/inn/bin/getlist'/>
+ <dep name='/usr/libexec/inn/bin/grephistory'/>
+ <dep name='/usr/libexec/inn/bin/inews'/>
+ <dep name='/usr/libexec/inn/bin/inncheck'/>
+ <dep name='/usr/libexec/inn/bin/innconfval'/>
+ <dep name='/usr/libexec/inn/bin/innd'/>
+ <dep name='/usr/libexec/inn/bin/inndf'/>
+ <dep name='/usr/libexec/inn/bin/inndstart'/>
+ <dep name='/usr/libexec/inn/bin/innfeed'/>
+ <dep name='/usr/libexec/inn/bin/innfeed-convcfg'/>
+ <dep name='/usr/libexec/inn/bin/innmail'/>
+ <dep name='/usr/libexec/inn/bin/innreport'/>
+ <dep name='/usr/libexec/inn/bin/innstat'/>
+ <dep name='/usr/libexec/inn/bin/innwatch'/>
+ <dep name='/usr/libexec/inn/bin/innxbatch'/>
+ <dep name='/usr/libexec/inn/bin/innxmit'/>
+ <dep name='/usr/libexec/inn/bin/mailpost'/>
+ <dep name='/usr/libexec/inn/bin/makeactive'/>
+ <dep name='/usr/libexec/inn/bin/makehistory'/>
+ <dep name='/usr/libexec/inn/bin/mod-active'/>
+ <dep name='/usr/libexec/inn/bin/news.daily'/>
+ <dep name='/usr/libexec/inn/bin/news2mail'/>
+ <dep name='/usr/libexec/inn/bin/newsrequeue'/>
+ <dep name='/usr/libexec/inn/bin/nnrpd'/>
+ <dep name='/usr/libexec/inn/bin/nntpget'/>
+ <dep name='/usr/libexec/inn/bin/nntpsend'/>
+ <dep name='/usr/libexec/inn/bin/overchan'/>
+ <dep name='/usr/libexec/inn/bin/parsecontrol'/>
+ <dep name='/usr/libexec/inn/bin/pgpverify'/>
+ <dep name='/usr/libexec/inn/bin/procbatch'/>
+ <dep name='/usr/libexec/inn/bin/prunehistory'/>
+ <dep name='/usr/libexec/inn/bin/pullnews'/>
+ <dep name='/usr/libexec/inn/bin/rc.news'/>
+ <dep name='/usr/libexec/inn/bin/rnews'/>
+ <dep name='/usr/libexec/inn/bin/rnews.libexec/c7unbatch'/>
+ <dep name='/usr/libexec/inn/bin/rnews.libexec/decode'/>
+ <dep name='/usr/libexec/inn/bin/rnews.libexec/encode'/>
+ <dep name='/usr/libexec/inn/bin/rnews.libexec/gunbatch'/>
+ <dep name='/usr/libexec/inn/bin/scanlogs'/>
+ <dep name='/usr/libexec/inn/bin/scanspool'/>
+ <dep name='/usr/libexec/inn/bin/send-ihave'/>
+ <dep name='/usr/libexec/inn/bin/send-nntp'/>
+ <dep name='/usr/libexec/inn/bin/send-uucp'/>
+ <dep name='/usr/libexec/inn/bin/sendbatch'/>
+ <dep name='/usr/libexec/inn/bin/sendxbatches'/>
+ <dep name='/usr/libexec/inn/bin/shlock'/>
+ <dep name='/usr/libexec/inn/bin/shrinkfile'/>
+ <dep name='/usr/libexec/inn/bin/simpleftp'/>
+ <dep name='/usr/libexec/inn/bin/sm'/>
+ <dep name='/usr/libexec/inn/bin/startinnfeed'/>
+ <dep name='/usr/libexec/inn/bin/tally.control'/>
+ <dep name='/usr/libexec/inn/bin/writelog'/>
+ <dep name='/usr/libexec/inn/docheckgroups'/>
+ <dep name='/usr/libexec/inn/libinn.a'/>
+ <dep name='/usr/libexec/inn/libstorage.a'/>
+ <dep name='/usr/sbin/innd'/>
+ <dep name='/usr/sbin/inndstart'/>
+ <dep name='/usr/sbin/nnrpd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.03'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>ipchains</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.8</version>
+ <release>1</release>
+ <filename>ipchains.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/ipchains'/>
+ <dep name='/sbin/ipchains-restore'/>
+ <dep name='/sbin/ipchains-save'/>
+ <dep name='/sbin/ipfwadm'/>
+ <dep name='/sbin/ipfwadm-wrapper'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ <obsoletes>
+ <dep name='ipfwadm'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ipx</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>13</release>
+ <filename>ipx.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/ipx'/>
+ <dep name='/sbin/ipx_configure'/>
+ <dep name='/sbin/ipx_interface'/>
+ <dep name='/sbin/ipx_internal_net'/>
+ <dep name='/sbin/ipx_route'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='1'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ipxripd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.7</version>
+ <release>6</release>
+ <filename>ipxripd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/ipxripd'/>
+ <dep name='/usr/sbin/ipxd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>irc-BX</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>75p3</version>
+ <release>2</release>
+ <filename>irc-BX.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/install-bx'/>
+ <dep name='/usr/bin/irc'/>
+ <dep name='/usr/bin/irc-BX'/>
+ <dep name='/usr/bin/scr-bx'/>
+ <dep name='/usr/bin/wserv'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>isapnptools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.18</version>
+ <release>1</release>
+ <filename>isapnptools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/isapnp.gone.sample'/>
+ <dep name='/sbin/isapnp'/>
+ <dep name='/sbin/pnpdump'/>
+ <dep name='/usr/share/pnp/config-scripts/isa/YMH0021'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>isdn4k-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0beta2</version>
+ <release>4</release>
+ <filename>isdn4k-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/avmcapictrl'/>
+ <dep name='/sbin/hisaxctrl'/>
+ <dep name='/sbin/icnctrl'/>
+ <dep name='/sbin/imon'/>
+ <dep name='/sbin/imontty'/>
+ <dep name='/sbin/ipppd'/>
+ <dep name='/sbin/ipppstats'/>
+ <dep name='/sbin/iprofd'/>
+ <dep name='/sbin/isdnctrl'/>
+ <dep name='/sbin/isdnlog'/>
+ <dep name='/sbin/loopctrl'/>
+ <dep name='/sbin/pcbitctl'/>
+ <dep name='/sbin/rcapid'/>
+ <dep name='/sbin/telesctrl'/>
+ <dep name='/sbin/vboxd'/>
+ <dep name='/sbin/vboxgetty'/>
+ <dep name='/usr/bin/autovbox'/>
+ <dep name='/usr/bin/capifax'/>
+ <dep name='/usr/bin/capifaxrcvd'/>
+ <dep name='/usr/bin/isdnconf'/>
+ <dep name='/usr/bin/isdnrep'/>
+ <dep name='/usr/bin/vbox'/>
+ <dep name='/usr/bin/vboxbeep'/>
+ <dep name='/usr/bin/vboxcnvt'/>
+ <dep name='/usr/bin/vboxctrl'/>
+ <dep name='/usr/bin/vboxmail'/>
+ <dep name='/usr/bin/vboxmode'/>
+ <dep name='/usr/bin/vboxplay'/>
+ <dep name='/usr/bin/vboxtoau'/>
+ <dep name='/usr/bin/xisdnload'/>
+ <dep name='/usr/bin/xmonisdn'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpanel.so.4'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libutil.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ispell</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/buildhash'/>
+ <dep name='/usr/bin/findaffix'/>
+ <dep name='/usr/bin/icombine'/>
+ <dep name='/usr/bin/ijoin'/>
+ <dep name='/usr/bin/ispell'/>
+ <dep name='/usr/bin/munchlist'/>
+ <dep name='/usr/bin/sq'/>
+ <dep name='/usr/bin/tryaffix'/>
+ <dep name='/usr/bin/unsq'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ispell-danish</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell-danish.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ispell-english</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell-english.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ispell-french</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell-french.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/ispell/francais.aff'/>
+ <dep name='/usr/lib/ispell/francais.hash'/>
+ </provides>
+ </package>
+ <package>
+ <name>ispell-german</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell-german.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ispell-spanish</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.20</version>
+ <release>2</release>
+ <filename>ispell-spanish.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>jdk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>8</release>
+ <filename>jdk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/java/lib/appletviewer.properties'/>
+ </provides>
+ <requires>
+ <dep name='libXm.so.2'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>jdk-shared</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>8</release>
+ <filename>jdk-shared.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='jdk-runtime'/>
+ <dep name='libagent.so'/>
+ <dep name='libawt.so'/>
+ <dep name='libjpeg.so'/>
+ <dep name='libmmedia.so'/>
+ <dep name='libnet.so'/>
+ <dep name='libtawt.so'/>
+ <dep name='/usr/java/shared/bin/.java_wrapper'/>
+ <dep name='/usr/java/shared/bin/appletviewer'/>
+ <dep name='/usr/java/shared/bin/i586/java'/>
+ <dep name='/usr/java/shared/bin/i586/java_g'/>
+ <dep name='/usr/java/shared/bin/i586/javac'/>
+ <dep name='/usr/java/shared/bin/i586/javah'/>
+ <dep name='/usr/java/shared/bin/i586/javap'/>
+ <dep name='/usr/java/shared/bin/i586/jdb'/>
+ <dep name='/usr/java/shared/bin/java'/>
+ <dep name='/usr/java/shared/bin/java_g'/>
+ <dep name='/usr/java/shared/bin/javac'/>
+ <dep name='/usr/java/shared/bin/javadoc'/>
+ <dep name='/usr/java/shared/bin/javah'/>
+ <dep name='/usr/java/shared/bin/javap'/>
+ <dep name='/usr/java/shared/bin/jdb'/>
+ <dep name='/usr/java/shared/bin/upgrade'/>
+ <dep name='/usr/java/shared/lib/i586/libagent.so'/>
+ <dep name='/usr/java/shared/lib/i586/libagent_g.so'/>
+ <dep name='/usr/java/shared/lib/i586/libawt.so'/>
+ <dep name='/usr/java/shared/lib/i586/libawt_g.so'/>
+ <dep name='/usr/java/shared/lib/i586/libjpeg.so'/>
+ <dep name='/usr/java/shared/lib/i586/libjpeg_g.so'/>
+ <dep name='/usr/java/shared/lib/i586/libmmedia.so'/>
+ <dep name='/usr/java/shared/lib/i586/libmmedia_g.so'/>
+ <dep name='/usr/java/shared/lib/i586/libnet.so'/>
+ <dep name='/usr/java/shared/lib/i586/libnet_g.so'/>
+ <dep name='/usr/java/shared/lib/i586/libtawt.so'/>
+ <dep name='/usr/java/shared/lib/i586/libtawt_g.so'/>
+ </provides>
+ <requires>
+ <dep name='jdk' op='=' version='1.0.2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <conflicts>
+ <dep name='jdk-runtime'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>jdk-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>8</release>
+ <filename>jdk-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='jdk-runtime'/>
+ <dep name='libagent.so'/>
+ <dep name='libawt.so'/>
+ <dep name='libawt_g.so'/>
+ <dep name='libjpeg.so'/>
+ <dep name='libmmedia.so'/>
+ <dep name='libnet.so'/>
+ <dep name='libtawt.so'/>
+ <dep name='/usr/java/static/bin/.java_wrapper'/>
+ <dep name='/usr/java/static/bin/appletviewer'/>
+ <dep name='/usr/java/static/bin/i586/java'/>
+ <dep name='/usr/java/static/bin/i586/java_g'/>
+ <dep name='/usr/java/static/bin/i586/javac'/>
+ <dep name='/usr/java/static/bin/i586/javah'/>
+ <dep name='/usr/java/static/bin/i586/javap'/>
+ <dep name='/usr/java/static/bin/i586/jdb'/>
+ <dep name='/usr/java/static/bin/java'/>
+ <dep name='/usr/java/static/bin/java_g'/>
+ <dep name='/usr/java/static/bin/javac'/>
+ <dep name='/usr/java/static/bin/javadoc'/>
+ <dep name='/usr/java/static/bin/javah'/>
+ <dep name='/usr/java/static/bin/javap'/>
+ <dep name='/usr/java/static/bin/jdb'/>
+ <dep name='/usr/java/static/bin/upgrade'/>
+ <dep name='/usr/java/static/lib/i586/libagent.so'/>
+ <dep name='/usr/java/static/lib/i586/libagent_g.so'/>
+ <dep name='/usr/java/static/lib/i586/libawt.so'/>
+ <dep name='/usr/java/static/lib/i586/libawt_g.so'/>
+ <dep name='/usr/java/static/lib/i586/libjpeg.so'/>
+ <dep name='/usr/java/static/lib/i586/libjpeg_g.so'/>
+ <dep name='/usr/java/static/lib/i586/libmmedia.so'/>
+ <dep name='/usr/java/static/lib/i586/libmmedia_g.so'/>
+ <dep name='/usr/java/static/lib/i586/libnet.so'/>
+ <dep name='/usr/java/static/lib/i586/libnet_g.so'/>
+ <dep name='/usr/java/static/lib/i586/libtawt.so'/>
+ <dep name='/usr/java/static/lib/i586/libtawt_g.so'/>
+ </provides>
+ <requires>
+ <dep name='jdk' op='=' version='1.0.2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <conflicts>
+ <dep name='jdk-runtime'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>kaffe</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.b4</version>
+ <release>3</release>
+ <filename>kaffe.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libawt-1.0b4.so'/>
+ <dep name='libio-1.0b4.so'/>
+ <dep name='libkaffevm-1.0b4.so'/>
+ <dep name='libmanagement-1.0b4.so'/>
+ <dep name='libmath-1.0b4.so'/>
+ <dep name='libnative-1.0b4.so'/>
+ <dep name='libnet-1.0b4.so'/>
+ <dep name='libzip-1.0b4.so'/>
+ <dep name='/usr/bin/appletviewer'/>
+ <dep name='/usr/bin/install-jar'/>
+ <dep name='/usr/bin/jar'/>
+ <dep name='/usr/bin/java'/>
+ <dep name='/usr/bin/javac'/>
+ <dep name='/usr/bin/javadoc'/>
+ <dep name='/usr/bin/javakey'/>
+ <dep name='/usr/bin/javap'/>
+ <dep name='/usr/bin/jdb'/>
+ <dep name='/usr/bin/kaffe'/>
+ <dep name='/usr/bin/kaffeh'/>
+ <dep name='/usr/bin/native2ascii'/>
+ <dep name='/usr/bin/pizza'/>
+ <dep name='/usr/bin/pizzadoc'/>
+ <dep name='/usr/bin/report-kaffe-bug'/>
+ <dep name='/usr/bin/rmic'/>
+ <dep name='/usr/bin/rmiregistry'/>
+ <dep name='/usr/bin/serialver'/>
+ <dep name='/usr/lib/kaffe/libawt-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libawt.la'/>
+ <dep name='/usr/lib/kaffe/libawt.so'/>
+ <dep name='/usr/lib/kaffe/libio-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libio.la'/>
+ <dep name='/usr/lib/kaffe/libio.so'/>
+ <dep name='/usr/lib/kaffe/libmanagement-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libmanagement.la'/>
+ <dep name='/usr/lib/kaffe/libmanagement.so'/>
+ <dep name='/usr/lib/kaffe/libmath-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libmath.la'/>
+ <dep name='/usr/lib/kaffe/libmath.so'/>
+ <dep name='/usr/lib/kaffe/libnative-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libnative.la'/>
+ <dep name='/usr/lib/kaffe/libnative.so'/>
+ <dep name='/usr/lib/kaffe/libnet-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libnet.la'/>
+ <dep name='/usr/lib/kaffe/libnet.so'/>
+ <dep name='/usr/lib/kaffe/libzip-1.0b4.so'/>
+ <dep name='/usr/lib/kaffe/libzip.la'/>
+ <dep name='/usr/lib/kaffe/libzip.so'/>
+ <dep name='/usr/lib/libkaffevm-1.0b4.so'/>
+ <dep name='/usr/lib/libkaffevm.la'/>
+ <dep name='/usr/lib/libkaffevm.so'/>
+ <dep name='/usr/libexec/Kaffe'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkaffevm-1.0b4.so'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>kbd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.99</version>
+ <release>1</release>
+ <filename>kbd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/keytable'/>
+ <dep name='/usr/bin/chvt'/>
+ <dep name='/usr/bin/deallocvt'/>
+ <dep name='/usr/bin/dumpkeys'/>
+ <dep name='/usr/bin/getkeycodes'/>
+ <dep name='/usr/bin/kbd_mode'/>
+ <dep name='/usr/bin/loadkeys'/>
+ <dep name='/usr/bin/loadunimap'/>
+ <dep name='/usr/bin/mapscrn'/>
+ <dep name='/usr/bin/psfaddtable'/>
+ <dep name='/usr/bin/psfgettable'/>
+ <dep name='/usr/bin/psfstriptable'/>
+ <dep name='/usr/bin/setfont'/>
+ <dep name='/usr/bin/setkeycodes'/>
+ <dep name='/usr/bin/setleds'/>
+ <dep name='/usr/bin/setmetamode'/>
+ <dep name='/usr/bin/showfont'/>
+ <dep name='/usr/bin/showkey'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdbg</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0beta1</version>
+ <release>1</release>
+ <filename>kdbg.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kdbg'/>
+ </provides>
+ <requires>
+ <dep name='gdb'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdeapps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.1</version>
+ <release>8</release>
+ <filename>kdeapps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/star_wrapper'/>
+ <dep name='/usr/lib/LST/kdeapps'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdebase-opengl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>3</release>
+ <filename>kdebase-opengl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kmorph3d.kss'/>
+ <dep name='/opt/kde/bin/kpipes.kss'/>
+ <dep name='/opt/kde/bin/kspace.kss'/>
+ </provides>
+ <requires>
+ <dep name='mesa' op='>=' version='2.4'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libMesaGL.so.3'/>
+ <dep name='libMesaGLU.so.3'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdebase</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>3</release>
+ <filename>kdebase.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/X11/kdm/GiveConsole'/>
+ <dep name='/etc/X11/kdm/TakeConsole'/>
+ <dep name='/etc/X11/kdm/Xreset'/>
+ <dep name='/etc/X11/kdm/Xsetup'/>
+ <dep name='/opt/kde/bin/kappfinder'/>
+ <dep name='/opt/kde/bin/kappfinder_restart'/>
+ <dep name='/opt/kde/bin/kattraction.kss'/>
+ <dep name='/opt/kde/bin/kaudioserver'/>
+ <dep name='/opt/kde/bin/kbanner.kss'/>
+ <dep name='/opt/kde/bin/kbat.kss'/>
+ <dep name='/opt/kde/bin/kbgndwm'/>
+ <dep name='/opt/kde/bin/kblankscrn.kss'/>
+ <dep name='/opt/kde/bin/kblob.kss'/>
+ <dep name='/opt/kde/bin/kbouboule.kss'/>
+ <dep name='/opt/kde/bin/kbsod.kss'/>
+ <dep name='/opt/kde/bin/kcheckpass'/>
+ <dep name='/opt/kde/bin/kcmbell'/>
+ <dep name='/opt/kde/bin/kcmdisplay'/>
+ <dep name='/opt/kde/bin/kcmikbd'/>
+ <dep name='/opt/kde/bin/kcminfo'/>
+ <dep name='/opt/kde/bin/kcminput'/>
+ <dep name='/opt/kde/bin/kcmkeys'/>
+ <dep name='/opt/kde/bin/kcmkfm'/>
+ <dep name='/opt/kde/bin/kcmkonsole'/>
+ <dep name='/opt/kde/bin/kcmkpanel'/>
+ <dep name='/opt/kde/bin/kcmkwm'/>
+ <dep name='/opt/kde/bin/kcmlocale'/>
+ <dep name='/opt/kde/bin/kcmsamba'/>
+ <dep name='/opt/kde/bin/kcmsyssound'/>
+ <dep name='/opt/kde/bin/kcontrol'/>
+ <dep name='/opt/kde/bin/kdehelp'/>
+ <dep name='/opt/kde/bin/kdm'/>
+ <dep name='/opt/kde/bin/kdmconfig'/>
+ <dep name='/opt/kde/bin/kdmdesktop'/>
+ <dep name='/opt/kde/bin/kfind'/>
+ <dep name='/opt/kde/bin/kflame.kss'/>
+ <dep name='/opt/kde/bin/kfm'/>
+ <dep name='/opt/kde/bin/kfmclient'/>
+ <dep name='/opt/kde/bin/kfmexec'/>
+ <dep name='/opt/kde/bin/kfmsu'/>
+ <dep name='/opt/kde/bin/kfmsu2'/>
+ <dep name='/opt/kde/bin/kfmwarn'/>
+ <dep name='/opt/kde/bin/kfontmanager'/>
+ <dep name='/opt/kde/bin/kforest.kss'/>
+ <dep name='/opt/kde/bin/khop.kss'/>
+ <dep name='/opt/kde/bin/kikbd'/>
+ <dep name='/opt/kde/bin/kioslave'/>
+ <dep name='/opt/kde/bin/klaser.kss'/>
+ <dep name='/opt/kde/bin/klines.kss'/>
+ <dep name='/opt/kde/bin/klissie.kss'/>
+ <dep name='/opt/kde/bin/klock'/>
+ <dep name='/opt/kde/bin/kmatrix.kss'/>
+ <dep name='/opt/kde/bin/kmenuedit'/>
+ <dep name='/opt/kde/bin/konsole'/>
+ <dep name='/opt/kde/bin/konsole_grantpty'/>
+ <dep name='/opt/kde/bin/kpager'/>
+ <dep name='/opt/kde/bin/kpanel'/>
+ <dep name='/opt/kde/bin/kplayaudio'/>
+ <dep name='/opt/kde/bin/kpolygon.kss'/>
+ <dep name='/opt/kde/bin/kpyro.kss'/>
+ <dep name='/opt/kde/bin/krdb'/>
+ <dep name='/opt/kde/bin/krock.kss'/>
+ <dep name='/opt/kde/bin/krootwm'/>
+ <dep name='/opt/kde/bin/kscience.kss'/>
+ <dep name='/opt/kde/bin/kslidescreen.kss'/>
+ <dep name='/opt/kde/bin/kslip.kss'/>
+ <dep name='/opt/kde/bin/kstart'/>
+ <dep name='/opt/kde/bin/kswarm.kss'/>
+ <dep name='/opt/kde/bin/kthememgr'/>
+ <dep name='/opt/kde/bin/kvt'/>
+ <dep name='/opt/kde/bin/kwm'/>
+ <dep name='/opt/kde/bin/kwmcom'/>
+ <dep name='/opt/kde/bin/kwmsound'/>
+ <dep name='/opt/kde/bin/maudio'/>
+ <dep name='/opt/kde/bin/rman'/>
+ <dep name='/opt/kde/bin/unpack'/>
+ <dep name='/opt/kde/cgi-bin/helpindex'/>
+ <dep name='/opt/kde/cgi-bin/helpsearch'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='XFree86'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libjscript.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkhtmlw.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libutempter.so.0'/>
+ <dep name='libutil.so.1'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdedoc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>990211</version>
+ <release>1</release>
+ <filename>kdedoc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kdoc'/>
+ <dep name='/opt/kde/bin/qt2kdoc'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdegames</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdegames.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kabalone'/>
+ <dep name='/opt/kde/bin/kasteroids'/>
+ <dep name='/opt/kde/bin/kblackbox'/>
+ <dep name='/opt/kde/bin/kmahjongg'/>
+ <dep name='/opt/kde/bin/kmines'/>
+ <dep name='/opt/kde/bin/konquest'/>
+ <dep name='/opt/kde/bin/kpat'/>
+ <dep name='/opt/kde/bin/kpoker'/>
+ <dep name='/opt/kde/bin/kreversi'/>
+ <dep name='/opt/kde/bin/ksame'/>
+ <dep name='/opt/kde/bin/kshisen'/>
+ <dep name='/opt/kde/bin/ksirtet'/>
+ <dep name='/opt/kde/bin/ksmiletris'/>
+ <dep name='/opt/kde/bin/ksnake'/>
+ <dep name='/opt/kde/bin/ksokoban'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libQwSpriteField.so.1'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdegraphics</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdegraphics.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kdvi'/>
+ <dep name='/opt/kde/bin/kfax'/>
+ <dep name='/opt/kde/bin/kfract'/>
+ <dep name='/opt/kde/bin/kghostview'/>
+ <dep name='/opt/kde/bin/kiconedit'/>
+ <dep name='/opt/kde/bin/kpaint'/>
+ <dep name='/opt/kde/bin/ksnapshot'/>
+ <dep name='/opt/kde/bin/kview'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgif.so.3'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdelibs-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdelibs-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/lib/libjscript.so'/>
+ <dep name='/opt/kde/lib/libkab.so'/>
+ <dep name='/opt/kde/lib/libkdecore.so'/>
+ <dep name='/opt/kde/lib/libkdeui.so'/>
+ <dep name='/opt/kde/lib/libkfile.so'/>
+ <dep name='/opt/kde/lib/libkfm.so'/>
+ <dep name='/opt/kde/lib/libkhtmlw.so'/>
+ <dep name='/opt/kde/lib/libkimgio.so'/>
+ <dep name='/opt/kde/lib/libkspell.so'/>
+ <dep name='/opt/kde/lib/libmediatool.so'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdelibs-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdelibs-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='qt-doc-html'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdelibs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdelibs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libjscript.so.2'/>
+ <dep name='libkab.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkhtmlw.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libkspell.so.2'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='/opt/kde/lib/libjscript.la'/>
+ <dep name='/opt/kde/lib/libjscript.so.2'/>
+ <dep name='/opt/kde/lib/libjscript.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkab.la'/>
+ <dep name='/opt/kde/lib/libkab.so.2'/>
+ <dep name='/opt/kde/lib/libkab.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkdecore.la'/>
+ <dep name='/opt/kde/lib/libkdecore.so.2'/>
+ <dep name='/opt/kde/lib/libkdecore.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkdeui.la'/>
+ <dep name='/opt/kde/lib/libkdeui.so.2'/>
+ <dep name='/opt/kde/lib/libkdeui.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkfile.la'/>
+ <dep name='/opt/kde/lib/libkfile.so.2'/>
+ <dep name='/opt/kde/lib/libkfile.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkfm.la'/>
+ <dep name='/opt/kde/lib/libkfm.so.2'/>
+ <dep name='/opt/kde/lib/libkfm.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkhtmlw.la'/>
+ <dep name='/opt/kde/lib/libkhtmlw.so.2'/>
+ <dep name='/opt/kde/lib/libkhtmlw.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkimgio.la'/>
+ <dep name='/opt/kde/lib/libkimgio.so.2'/>
+ <dep name='/opt/kde/lib/libkimgio.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libkspell.la'/>
+ <dep name='/opt/kde/lib/libkspell.so.2'/>
+ <dep name='/opt/kde/lib/libkspell.so.2.0.0'/>
+ <dep name='/opt/kde/lib/libmediatool.la'/>
+ <dep name='/opt/kde/lib/libmediatool.so.2'/>
+ <dep name='/opt/kde/lib/libmediatool.so.2.0.0'/>
+ <dep name='/opt/kde/share/doc/HTML/default'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdemultimedia</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdemultimedia.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/cddaslave'/>
+ <dep name='/opt/kde/bin/kmedia'/>
+ <dep name='/opt/kde/bin/kmid'/>
+ <dep name='/opt/kde/bin/kmidi'/>
+ <dep name='/opt/kde/bin/kmix'/>
+ <dep name='/opt/kde/bin/kscd'/>
+ <dep name='/opt/kde/bin/kscdmagic'/>
+ <dep name='/opt/kde/bin/workman2cddb.pl'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='midi-instruments'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdenetwork</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>4</release>
+ <filename>kdenetwork.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libksirclistbox.so.0'/>
+ <dep name='libpalistbox.so.0'/>
+ <dep name='libpbutton.so.0'/>
+ <dep name='libpframe.so.0'/>
+ <dep name='libpkfiledialog.so.0'/>
+ <dep name='libplabel.so.0'/>
+ <dep name='libplined.so.0'/>
+ <dep name='libplistbox.so.0'/>
+ <dep name='libpmenudta.so.0'/>
+ <dep name='libpobjfinder.so.0'/>
+ <dep name='libppopmenu.so.0'/>
+ <dep name='libpprogress.so.0'/>
+ <dep name='libppushbt.so.0'/>
+ <dep name='libptabdialog.so.0'/>
+ <dep name='libptablevw.so.0'/>
+ <dep name='libpuke.so.0'/>
+ <dep name='/opt/kde/bin/dsirc'/>
+ <dep name='/opt/kde/bin/karchie'/>
+ <dep name='/opt/kde/bin/kbiff'/>
+ <dep name='/opt/kde/bin/kcmktalkd'/>
+ <dep name='/opt/kde/bin/kdecode'/>
+ <dep name='/opt/kde/bin/kfinger'/>
+ <dep name='/opt/kde/bin/kmail'/>
+ <dep name='/opt/kde/bin/knu'/>
+ <dep name='/opt/kde/bin/korn'/>
+ <dep name='/opt/kde/bin/kotalkd'/>
+ <dep name='/opt/kde/bin/kppp'/>
+ <dep name='/opt/kde/bin/kppplogview'/>
+ <dep name='/opt/kde/bin/krn'/>
+ <dep name='/opt/kde/bin/ksirc'/>
+ <dep name='/opt/kde/bin/ksticker'/>
+ <dep name='/opt/kde/bin/ktalkd'/>
+ <dep name='/opt/kde/bin/ktalkdlg'/>
+ <dep name='/opt/kde/bin/mail.local'/>
+ <dep name='/opt/kde/bin/mathpod'/>
+ <dep name='/opt/kde/bin/newkrn'/>
+ <dep name='/opt/kde/lib/ksirc/libksirclistbox.la'/>
+ <dep name='/opt/kde/lib/ksirc/libksirclistbox.so'/>
+ <dep name='/opt/kde/lib/ksirc/libksirclistbox.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libksirclistbox.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpalistbox.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpalistbox.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpalistbox.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpalistbox.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpbutton.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpbutton.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpbutton.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpbutton.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpframe.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpframe.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpframe.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpframe.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpkfiledialog.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpkfiledialog.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpkfiledialog.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpkfiledialog.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplabel.la'/>
+ <dep name='/opt/kde/lib/ksirc/libplabel.so'/>
+ <dep name='/opt/kde/lib/ksirc/libplabel.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplabel.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplined.la'/>
+ <dep name='/opt/kde/lib/ksirc/libplined.so'/>
+ <dep name='/opt/kde/lib/ksirc/libplined.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplined.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplistbox.la'/>
+ <dep name='/opt/kde/lib/ksirc/libplistbox.so'/>
+ <dep name='/opt/kde/lib/ksirc/libplistbox.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libplistbox.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpmenudta.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpmenudta.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpmenudta.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpmenudta.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpobjfinder.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpobjfinder.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpobjfinder.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpobjfinder.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libppopmenu.la'/>
+ <dep name='/opt/kde/lib/ksirc/libppopmenu.so'/>
+ <dep name='/opt/kde/lib/ksirc/libppopmenu.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libppopmenu.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpprogress.la'/>
+ <dep name='/opt/kde/lib/ksirc/libpprogress.so'/>
+ <dep name='/opt/kde/lib/ksirc/libpprogress.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libpprogress.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libppushbt.la'/>
+ <dep name='/opt/kde/lib/ksirc/libppushbt.so'/>
+ <dep name='/opt/kde/lib/ksirc/libppushbt.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libppushbt.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libptabdialog.la'/>
+ <dep name='/opt/kde/lib/ksirc/libptabdialog.so'/>
+ <dep name='/opt/kde/lib/ksirc/libptabdialog.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libptabdialog.so.0.0.0'/>
+ <dep name='/opt/kde/lib/ksirc/libptablevw.la'/>
+ <dep name='/opt/kde/lib/ksirc/libptablevw.so'/>
+ <dep name='/opt/kde/lib/ksirc/libptablevw.so.0'/>
+ <dep name='/opt/kde/lib/ksirc/libptablevw.so.0.0.0'/>
+ <dep name='/opt/kde/lib/libpuke.la'/>
+ <dep name='/opt/kde/lib/libpuke.so'/>
+ <dep name='/opt/kde/lib/libpuke.so.0'/>
+ <dep name='/opt/kde/lib/libpuke.so.0.0.1'/>
+ <dep name='/opt/kde/share/apps/kppp/Rules/checkrules'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libjscript.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkhtmlw.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libkspell.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libmimelib.so.1'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libpuke.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libuulib.so.5'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdestart</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>26</release>
+ <filename>kdestart.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/X11/xinit/kdeinitrc'/>
+ <dep name='/opt/kde/bin/kde'/>
+ <dep name='/opt/kde/bin/kdewizard'/>
+ <dep name='/opt/kde/bin/kprintwrapper'/>
+ <dep name='/opt/kde/bin/krunonce'/>
+ <dep name='/opt/kde/bin/startkde'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libjscript.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkhtmlw.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdesupport-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdesupport-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='kdesupport-devel' op='=' version='1.1.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdesupport-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdesupport-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/lib/libQwSpriteField.so'/>
+ <dep name='/opt/kde/lib/libgif.so'/>
+ <dep name='/opt/kde/lib/libjs.so'/>
+ <dep name='/opt/kde/lib/libmimelib.so'/>
+ <dep name='/opt/kde/lib/libuulib.so'/>
+ </provides>
+ <requires>
+ <dep name='kdesupport' op='=' version='1.1.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdesupport</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdesupport.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libQwSpriteField.so.1'/>
+ <dep name='libgif.so.3'/>
+ <dep name='libjs.so.0'/>
+ <dep name='libmimelib.so.1'/>
+ <dep name='libuulib.so.5'/>
+ <dep name='/opt/kde/lib/libQwSpriteField.la'/>
+ <dep name='/opt/kde/lib/libQwSpriteField.so.1'/>
+ <dep name='/opt/kde/lib/libQwSpriteField.so.1.5.0'/>
+ <dep name='/opt/kde/lib/libgif.la'/>
+ <dep name='/opt/kde/lib/libgif.so.3'/>
+ <dep name='/opt/kde/lib/libgif.so.3.0.0'/>
+ <dep name='/opt/kde/lib/libjs.la'/>
+ <dep name='/opt/kde/lib/libjs.so.0'/>
+ <dep name='/opt/kde/lib/libjs.so.0.2.0'/>
+ <dep name='/opt/kde/lib/libmimelib.la'/>
+ <dep name='/opt/kde/lib/libmimelib.so.1'/>
+ <dep name='/opt/kde/lib/libmimelib.so.1.0.0'/>
+ <dep name='/opt/kde/lib/libuulib.la'/>
+ <dep name='/opt/kde/lib/libuulib.so.5'/>
+ <dep name='/opt/kde/lib/libuulib.so.5.0.13'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdethemes</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.0</version>
+ <release>1</release>
+ <filename>kdethemes.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>kdetoys</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdetoys.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kmoon'/>
+ <dep name='/opt/kde/bin/kodo'/>
+ <dep name='/opt/kde/bin/kworldwatch'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdeutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>kdeutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/ark'/>
+ <dep name='/opt/kde/bin/kab'/>
+ <dep name='/opt/kde/bin/kabapi_test'/>
+ <dep name='/opt/kde/bin/karm'/>
+ <dep name='/opt/kde/bin/kcalc'/>
+ <dep name='/opt/kde/bin/kedit'/>
+ <dep name='/opt/kde/bin/kfdformat'/>
+ <dep name='/opt/kde/bin/kfloppy'/>
+ <dep name='/opt/kde/bin/khexdit'/>
+ <dep name='/opt/kde/bin/kjots'/>
+ <dep name='/opt/kde/bin/klipper'/>
+ <dep name='/opt/kde/bin/kljettool'/>
+ <dep name='/opt/kde/bin/klpq'/>
+ <dep name='/opt/kde/bin/kmkdosfs'/>
+ <dep name='/opt/kde/bin/kmke2fs'/>
+ <dep name='/opt/kde/bin/knotes'/>
+ <dep name='/opt/kde/bin/kpm'/>
+ <dep name='/opt/kde/bin/kpmdocked'/>
+ <dep name='/opt/kde/bin/ktop'/>
+ <dep name='/opt/kde/bin/kwrite'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkab.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libkspell.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdevelop</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0beta2</version>
+ <release>1</release>
+ <filename>kdevelop.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libkdlgloader.so.1'/>
+ <dep name='/opt/kde/bin/kdevelop'/>
+ <dep name='/opt/kde/lib/libkdlgloader.la'/>
+ <dep name='/opt/kde/lib/libkdlgloader.so'/>
+ <dep name='/opt/kde/lib/libkdlgloader.so.1'/>
+ <dep name='/opt/kde/lib/libkdlgloader.so.1.0.0'/>
+ </provides>
+ <requires>
+ <dep name='kdbg'/>
+ <dep name='make'/>
+ <dep name='perl'/>
+ <dep name='autoconf'/>
+ <dep name='automake'/>
+ <dep name='g++'/>
+ <dep name='qt-devel'/>
+ <dep name='kdelibs-devel'/>
+ <dep name='kdegraphics'/>
+ <dep name='enscript'/>
+ <dep name='kdedoc'/>
+ <dep name='sgml-tools'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libjscript.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkhtmlw.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libkspell.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>killustrator</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.7</version>
+ <release>2</release>
+ <filename>killustrator.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/killustrator'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqimgio.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>kisdn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.1</version>
+ <release>2</release>
+ <filename>kisdn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kcmkisdn'/>
+ <dep name='/opt/kde/bin/kisdn'/>
+ <dep name='/opt/kde/bin/printversion'/>
+ <dep name='/opt/kde/share/apps/kcmkisdn'/>
+ <dep name='/opt/kde/share/apps/kisdn/bin/kisdnaudio'/>
+ <dep name='/opt/kde/share/apps/kisdn/bin/kisdnrecord'/>
+ <dep name='/opt/kde/share/apps/kisdn/bin/kisdnvp'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqimgio.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>klyx</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9.9</version>
+ <release>2</release>
+ <filename>klyx.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/klyx'/>
+ <dep name='/opt/kde/share/apps/klyx/configure'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>kmpg</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.5.0a</version>
+ <release>2</release>
+ <filename>kmpg.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/cdparanoia-yaf'/>
+ <dep name='/opt/kde/bin/kmpg'/>
+ <dep name='/opt/kde/bin/splay-yaf'/>
+ <dep name='/opt/kde/bin/tplay-yaf'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='xanim'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>korganizer</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.2</version>
+ <release>1</release>
+ <filename>korganizer.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/alarmd'/>
+ <dep name='/opt/kde/bin/korganizer'/>
+ <dep name='/opt/kde/share/apps/korganizer/ical2vcal'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs' op='=' version='1.1.2'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkab.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmediatool.so.2'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>kpackage</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.6</version>
+ <release>4</release>
+ <filename>kpackage.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kpackage'/>
+ <dep name='/opt/kde/bin/kpackage.kdesu'/>
+ <dep name='/opt/kde/bin/kpackage_dpkg_ins'/>
+ <dep name='/opt/kde/bin/kpackage_dpkg_rm'/>
+ <dep name='/opt/kde/bin/kpackage_slack_l'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>kpilot</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1b9</version>
+ <release>1</release>
+ <filename>kpilot.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/kpilot'/>
+ <dep name='/opt/kde/bin/kpilotDaemon'/>
+ <dep name='/opt/kde/bin/pilotListener'/>
+ <dep name='/opt/kde/share/apps/kpilot/conduits/popmail_conduit'/>
+ <dep name='/opt/kde/share/apps/kpilot/conduits/todoconduit'/>
+ <dep name='/opt/kde/share/apps/kpilot/conduits/vcalconduit'/>
+ </provides>
+ <requires>
+ <dep name='qt' op='>=' version='1.4'/>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>kquery</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9</version>
+ <release>2</release>
+ <filename>kquery.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/cgi-bin/display'/>
+ <dep name='/opt/kde/cgi-bin/query'/>
+ <dep name='/opt/kde/cgi-bin/rpm_query'/>
+ </provides>
+ <requires>
+ <dep name='perl-cgi'/>
+ <dep name='kdebase'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>ktb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.02a</version>
+ <release>1</release>
+ <filename>ktb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/ktb'/>
+ <dep name='/opt/kde/share/doc/HTML/en/ktb/index.html'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libkdecore.so.2'/>
+ <dep name='libkdeui.so.2'/>
+ <dep name='libkfile.so.2'/>
+ <dep name='libkfm.so.2'/>
+ <dep name='libkimgio.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>ktzset</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1</version>
+ <release>4</release>
+ <filename>ktzset.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/ktzset'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ldp-en-ascii</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-en-ascii.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-en-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-en-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-en-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-en-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/license'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/logos/penguin-sit3.gif'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/logos/sit3-bw-tran.1.gif'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/logos/sit3-bwo-tran.1.gif'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/misc/copyright.html'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/notes/LDP-Manifesto.html'/>
+ <dep name='/usr/doc/LDP/linux-kernel/tlk-0.8-3.html/readme'/>
+ <dep name='/usr/doc/html/lkmpg'/>
+ </provides>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-en-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-en-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-es-ascii</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-es-ascii.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-es-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-es-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-es-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-es-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-fr-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-fr-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-fr-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-fr-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-it-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-it-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-it-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-it-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/LDP/users-guide/translations/it/guide-html/IMG_PARAMS.db'/>
+ </provides>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-it-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-it-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-ru-ascii</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-ru-ascii.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-ru-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-ru-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-ru-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-ru-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/LDP/install-guide/translations/ru/index.html'/>
+ <dep name='/usr/doc/html/gs-ru'/>
+ </provides>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-ru-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-ru-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ldp-ru-sgml</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990730</version>
+ <release>2</release>
+ <filename>ldp-ru-sgml.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ldp' op='=' version='19990730'/>
+ </requires>
+ </package>
+ <package>
+ <name>ld.so</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.9.11</version>
+ <release>1</release>
+ <filename>ld.so.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='/usr/bin/ldd'/>
+ <dep name='/usr/lib/lddstub'/>
+ </provides>
+ </package>
+ <package>
+ <name>ld.so-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.9.11</version>
+ <release>1</release>
+ <filename>ld.so-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld.so' op='=' version='1.9.11'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>less</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>340</version>
+ <release>1</release>
+ <filename>less.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/less'/>
+ <dep name='/usr/bin/lessecho'/>
+ <dep name='/usr/bin/lesskey'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>lha</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.00</version>
+ <release>5</release>
+ <filename>lha.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/lha'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libc5</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>2</release>
+ <filename>libc5.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libc.so.5'/>
+ <dep name='libm.so.5'/>
+ <dep name='libdl.so.1'/>
+ <dep name='libg++.so.27'/>
+ <dep name='libstdc++.so.27'/>
+ <dep name='ld-linux.so.1'/>
+ <dep name='/lib/gnulibc1/libc.so.5.4.46'/>
+ <dep name='/lib/gnulibc1/libcom_err.so.2.0'/>
+ <dep name='/lib/gnulibc1/libdl.so.1.9.9'/>
+ <dep name='/lib/gnulibc1/libe2p.so.2.3'/>
+ <dep name='/lib/gnulibc1/libext2fs.so.2.4'/>
+ <dep name='/lib/gnulibc1/libiberty.so.1.0'/>
+ <dep name='/lib/gnulibc1/libm.so.5.0.9'/>
+ <dep name='/lib/gnulibc1/libncurses.so.4.1'/>
+ <dep name='/lib/gnulibc1/libss.so.2.0'/>
+ <dep name='/lib/gnulibc1/libtermcap.so.2.0.8'/>
+ <dep name='/lib/gnulibc1/libuuid.so.1.1'/>
+ <dep name='/lib/ld-linux.so.1'/>
+ <dep name='/lib/ld-linux.so.1.9.9'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libICE.so.6.3'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMagick.so.3.8'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMagick.so.3.8.8'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMesaGL.so.2.4'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMesaGLU.so.2.4'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMesaaux.so.2.4'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libMesatk.so.2.4'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libPEX5.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libSM.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libX11.so.6.1'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXIE.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXaw.so.6.1'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXaw.so.6.1Xaw3d'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXaw3d.so.6.1'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXbae.so.6'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXbae.so.6.2'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXext.so.6.3'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXi.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXmu.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXp.so.6.2'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXpm.so.4.10'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXt.so.6.0'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libXtst.so.6.1'/>
+ <dep name='/usr/X11R6/lib/gnulibc1/libforms.so.0.86'/>
+ <dep name='/usr/lib/gnulibc1/libdb.so.1.85.4'/>
+ <dep name='/usr/lib/gnulibc1/libexpect5.22.so'/>
+ <dep name='/usr/lib/gnulibc1/libfbm.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libform.so.4.1'/>
+ <dep name='/usr/lib/gnulibc1/libg++.so.27.2.8'/>
+ <dep name='/usr/lib/gnulibc1/libgpm.so.1.13'/>
+ <dep name='/usr/lib/gnulibc1/libinn.so.2.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libjpeg.so.6.0.1'/>
+ <dep name='/usr/lib/gnulibc1/libm68k-palmos-coff-bfd.so.2.7'/>
+ <dep name='/usr/lib/gnulibc1/libm68k-palmos-coff-opcodes.so.2.7'/>
+ <dep name='/usr/lib/gnulibc1/libmenu.so.4.1'/>
+ <dep name='/usr/lib/gnulibc1/libmh.so.3.2'/>
+ <dep name='/usr/lib/gnulibc1/libnwatb.so'/>
+ <dep name='/usr/lib/gnulibc1/libnwcalls.so'/>
+ <dep name='/usr/lib/gnulibc1/libnwclient.so'/>
+ <dep name='/usr/lib/gnulibc1/libnwloc.so'/>
+ <dep name='/usr/lib/gnulibc1/libnwncp.so'/>
+ <dep name='/usr/lib/gnulibc1/libnwnet.so'/>
+ <dep name='/usr/lib/gnulibc1/libp2c.so.1.2.0'/>
+ <dep name='/usr/lib/gnulibc1/libpanel.so.4.1'/>
+ <dep name='/usr/lib/gnulibc1/libpbm.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libpgm.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libpng.so.1.0.96'/>
+ <dep name='/usr/lib/gnulibc1/libpnm.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libppm.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libpthreads.so.1.60.4'/>
+ <dep name='/usr/lib/gnulibc1/libqt.so.1.42'/>
+ <dep name='/usr/lib/gnulibc1/librle.so.1.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libshadow.so.0.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libstdc++.so.27.2.8'/>
+ <dep name='/usr/lib/gnulibc1/libstorage.so.2.0.0'/>
+ <dep name='/usr/lib/gnulibc1/libtcl7.6.so'/>
+ <dep name='/usr/lib/gnulibc1/libtclx7.6.0.so'/>
+ <dep name='/usr/lib/gnulibc1/libtiff.so.3.4.33'/>
+ <dep name='/usr/lib/gnulibc1/libtk4.2.so'/>
+ <dep name='/usr/lib/gnulibc1/libtkx4.2.0.so'/>
+ <dep name='/usr/lib/gnulibc1/libvga.so.1.3.0'/>
+ <dep name='/usr/lib/gnulibc1/libvgagl.so.1.3.0'/>
+ <dep name='/usr/lib/gnulibc1/libz.so.1.0.2'/>
+ <dep name='/usr/lib/gnulibc1/tkined1.4.7.so'/>
+ <dep name='/usr/lib/gnulibc1/tnm2.1.7.so'/>
+ <dep name='/usr/openwin/lib/gnulibc1/libolgx.so.3.2.4'/>
+ <dep name='/usr/openwin/lib/gnulibc1/libxview.so.3.2.4'/>
+ </provides>
+ <requires>
+ <dep name='ld.so' op='>' version='1.9'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>libgr</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.13</version>
+ <release>2</release>
+ <filename>libgr.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libfbm.so.1'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libpbm.so.1'/>
+ <dep name='libpgm.so.1'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libpnm.so.1'/>
+ <dep name='libppm.so.1'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='/usr/lib/libfbm.so.1.0.0'/>
+ <dep name='/usr/lib/libjpeg.so.6.0.1'/>
+ <dep name='/usr/lib/libpbm.so.1.0.0'/>
+ <dep name='/usr/lib/libpgm.so.1.0.0'/>
+ <dep name='/usr/lib/libpng.so.1.0.96'/>
+ <dep name='/usr/lib/libpnm.so.1.0.0'/>
+ <dep name='/usr/lib/libppm.so.1.0.0'/>
+ <dep name='/usr/lib/libtiff.so.3.4.33'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libgr-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.13</version>
+ <release>2</release>
+ <filename>libgr-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libgr-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.13</version>
+ <release>2</release>
+ <filename>libgr-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libfbm.so'/>
+ <dep name='/usr/lib/libjpeg.so'/>
+ <dep name='/usr/lib/libpbm.so'/>
+ <dep name='/usr/lib/libpgm.so'/>
+ <dep name='/usr/lib/libpng.so'/>
+ <dep name='/usr/lib/libpnm.so'/>
+ <dep name='/usr/lib/libppm.so'/>
+ <dep name='/usr/lib/libtiff.so'/>
+ </provides>
+ </package>
+ <package>
+ <name>libgr-progs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.13</version>
+ <release>2</release>
+ <filename>libgr-progs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cjpeg'/>
+ <dep name='/usr/bin/djpeg'/>
+ <dep name='/usr/bin/fax2ps'/>
+ <dep name='/usr/bin/fax2tiff'/>
+ <dep name='/usr/bin/gif2tiff'/>
+ <dep name='/usr/bin/jpegtran'/>
+ <dep name='/usr/bin/pal2rgb'/>
+ <dep name='/usr/bin/ras2tiff'/>
+ <dep name='/usr/bin/rdjpgcom'/>
+ <dep name='/usr/bin/rgb2ycbcr'/>
+ <dep name='/usr/bin/thumbnail'/>
+ <dep name='/usr/bin/tiff2bw'/>
+ <dep name='/usr/bin/tiff2ps'/>
+ <dep name='/usr/bin/tiffcmp'/>
+ <dep name='/usr/bin/tiffcp'/>
+ <dep name='/usr/bin/tiffdither'/>
+ <dep name='/usr/bin/tiffdump'/>
+ <dep name='/usr/bin/tiffinfo'/>
+ <dep name='/usr/bin/tiffmedian'/>
+ <dep name='/usr/bin/tiffsplit'/>
+ <dep name='/usr/bin/wrjpgcom'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>libident-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.22</version>
+ <release>1</release>
+ <filename>libident-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libpam</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.66</version>
+ <release>3</release>
+ <filename>libpam.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='pam_access.so'/>
+ <dep name='pam_cracklib.so'/>
+ <dep name='pam_deny.so'/>
+ <dep name='pam_env.so'/>
+ <dep name='pam_ftp.so'/>
+ <dep name='pam_group.so'/>
+ <dep name='pam_lastlog.so'/>
+ <dep name='pam_limits.so'/>
+ <dep name='pam_listfile.so'/>
+ <dep name='pam_mail.so'/>
+ <dep name='pam_nologin.so'/>
+ <dep name='pam_permit.so'/>
+ <dep name='pam_pwdb.so'/>
+ <dep name='pam_radius.so'/>
+ <dep name='pam_rhosts_auth.so'/>
+ <dep name='pam_rootok.so'/>
+ <dep name='pam_securetty.so'/>
+ <dep name='pam_shells.so'/>
+ <dep name='pam_stress.so'/>
+ <dep name='pam_tally.so'/>
+ <dep name='pam_time.so'/>
+ <dep name='pam_unix_acct.so'/>
+ <dep name='pam_unix_auth.so'/>
+ <dep name='pam_unix_passwd.so'/>
+ <dep name='pam_unix_session.so'/>
+ <dep name='pam_warn.so'/>
+ <dep name='pam_wheel.so'/>
+ <dep name='/sbin/pam_conv1'/>
+ </provides>
+ <requires>
+ <dep name='libpwdb' op='>=' version='0.54'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpwdb.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>libpam-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.66</version>
+ <release>3</release>
+ <filename>libpam-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libpam.so'/>
+ <dep name='/usr/lib/libpam_misc.so'/>
+ </provides>
+ <requires>
+ <dep name='libpam' op='=' version='0.66'/>
+ </requires>
+ </package>
+ <package>
+ <name>libpwdb-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.54</version>
+ <release>8</release>
+ <filename>libpwdb-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libpwdb-devel' op='=' version='0.54'/>
+ </requires>
+ </package>
+ <package>
+ <name>libpwdb-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.54</version>
+ <release>8</release>
+ <filename>libpwdb-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libpwdb.so'/>
+ </provides>
+ <requires>
+ <dep name='libpwdb' op='=' version='0.54'/>
+ </requires>
+ </package>
+ <package>
+ <name>libpwdb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.54</version>
+ <release>8</release>
+ <filename>libpwdb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libpwdb.so.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>libstdc++-compat</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.8.0</version>
+ <release>1</release>
+ <filename>libstdc++-compat.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libstdc++.so.2.8'/>
+ <dep name='/usr/lib/libstdc++.so.2.8.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libstdc++</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.9.0</version>
+ <release>5</release>
+ <filename>libstdc++.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/usr/lib/libstdc++.so.2.9.0'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libtiff-devel-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.4.33</version>
+ <release>2</release>
+ <filename>libtiff-devel-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libtiff-devel-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.4.33</version>
+ <release>2</release>
+ <filename>libtiff-devel-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>2</release>
+ <filename>libz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libz.so.1'/>
+ <dep name='/usr/lib/libz.so.1.0.2'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libz-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>2</release>
+ <filename>libz-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libz-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>2</release>
+ <filename>libz-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libz.so'/>
+ </provides>
+ </package>
+ <package>
+ <name>lilo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.21</version>
+ <release>6</release>
+ <filename>lilo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='boot-loader'/>
+ <dep name='/boot/boot.b.orig'/>
+ <dep name='/sbin/activate'/>
+ <dep name='/sbin/lilo'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>lilo-doc-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.21</version>
+ <release>6</release>
+ <filename>lilo-doc-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>lilo-doc-dvi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.21</version>
+ <release>6</release>
+ <filename>lilo-doc-dvi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>lilo-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.21</version>
+ <release>6</release>
+ <filename>lilo-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/lilo-0.21/QuickInst'/>
+ <dep name='/usr/doc/lilo-0.21/doc/user.txt.gz'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-kernel-include</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-kernel-include.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-kernel-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-kernel-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-kernel-binary</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-kernel-binary.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/libexec/kernel/grub-del.pl'/>
+ <dep name='/usr/libexec/kernel/grub-ins.pl'/>
+ <dep name='/usr/libexec/kernel/lilo-del.pl'/>
+ <dep name='/usr/libexec/kernel/lilo-ins.pl'/>
+ <dep name='/usr/src/linux-2.2.13/vmlinux'/>
+ <dep name='/usr/src/linux-2.2.13/vmlinux-pc97'/>
+ </provides>
+ <requires>
+ <dep name='modutils' op='>=' version='2.1.121' release='5'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-source-sparc64</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-sparc64.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-sparc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-sparc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-ppc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-ppc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-mips</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-mips.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-m68k</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-m68k.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-i386</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-i386.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-common</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-common.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/src/linux-2.2.13/drivers/usb/mkmap'/>
+ <dep name='/usr/src/linux-2.2.13/drivers/usb/restart'/>
+ <dep name='/usr/src/linux-2.2.13/drivers/usb/stopusb'/>
+ <dep name='/usr/src/linux-2.2.13/scripts/patch-kernel'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-source-arm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-arm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>linux-source-alpha</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.13</version>
+ <release>1S</release>
+ <filename>linux-source-alpha.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>lisa</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0</version>
+ <release>7</release>
+ <filename>lisa.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/box'/>
+ <dep name='/bin/build_menu'/>
+ <dep name='/bin/db_printf'/>
+ <dep name='/bin/do_calc'/>
+ <dep name='/bin/do_echo'/>
+ <dep name='/bin/do_netcalc'/>
+ <dep name='/bin/do_quote'/>
+ <dep name='/bin/end_use'/>
+ <dep name='/bin/filesize'/>
+ <dep name='/bin/freeramdisk'/>
+ <dep name='/bin/get_info'/>
+ <dep name='/bin/get_key'/>
+ <dep name='/bin/get_val'/>
+ <dep name='/bin/hilfe'/>
+ <dep name='/bin/hwinfo'/>
+ <dep name='/bin/lisa'/>
+ <dep name='/bin/mklizard'/>
+ <dep name='/bin/prep_use'/>
+ <dep name='/bin/set_val'/>
+ <dep name='/bin/sysinfo'/>
+ <dep name='/usr/lib/LST/group.pl'/>
+ <dep name='/usr/lib/LST/libLSTall'/>
+ <dep name='/usr/lib/LST/lisa-update'/>
+ <dep name='/usr/lib/LST/lisa/genfilter'/>
+ <dep name='/usr/lib/LST/smarties'/>
+ <dep name='/usr/sbin/groupadd'/>
+ <dep name='/usr/sbin/groupdel'/>
+ <dep name='/usr/sbin/useradd'/>
+ <dep name='/usr/sbin/userdel'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>lizardx</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>990806</version>
+ <release>1</release>
+ <filename>lizardx.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/kde/bin/lizardx'/>
+ <dep name='/opt/kde/bin/ltestvideomode'/>
+ <dep name='/opt/kde/bin/lwm'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>logrotate</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3</version>
+ <release>2</release>
+ <filename>logrotate.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/cron.d/lib/logrotate'/>
+ <dep name='/usr/sbin/logrotate'/>
+ </provides>
+ <requires>
+ <dep name='crontabs' op='>=' version='1.12'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>LPRng</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>2</release>
+ <filename>LPRng.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='lpr'/>
+ <dep name='/usr/bin/cancel'/>
+ <dep name='/usr/bin/lp'/>
+ <dep name='/usr/bin/lpq'/>
+ <dep name='/usr/bin/lpr'/>
+ <dep name='/usr/bin/lprm'/>
+ <dep name='/usr/bin/lpstat'/>
+ <dep name='/usr/doc/LPRng-3.5.3/COPYING'/>
+ <dep name='/usr/sbin/lpc'/>
+ <dep name='/usr/sbin/lpraccnt'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>LPRng-doc-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>2</release>
+ <filename>LPRng-doc-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>LPRng-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>2</release>
+ <filename>LPRng-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>LPRng-lpd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>2</release>
+ <filename>LPRng-lpd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='lpd'/>
+ <dep name='/etc/rc.d/init.d/lpd'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/authenticate_pgp'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/lpbanner'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/lpf'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/monitor'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/readfilecount'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/removeoneline'/>
+ <dep name='/usr/libexec/LPRng-3.5.3/setupauth'/>
+ <dep name='/usr/sbin/checkpc'/>
+ <dep name='/usr/sbin/lpd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.03' release='2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>lrzsz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.12.18</version>
+ <release>1</release>
+ <filename>lrzsz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/lrb'/>
+ <dep name='/usr/bin/lrx'/>
+ <dep name='/usr/bin/lrz'/>
+ <dep name='/usr/bin/lsb'/>
+ <dep name='/usr/bin/lsx'/>
+ <dep name='/usr/bin/lsz'/>
+ <dep name='/usr/bin/rz'/>
+ <dep name='/usr/bin/sz'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>LSM</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>19990629</version>
+ <release>1</release>
+ <filename>LSM.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>lsof</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.44</version>
+ <release>1</release>
+ <filename>lsof.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/lsof'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>lynx</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.8.2</version>
+ <release>2</release>
+ <filename>lynx.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/lynx'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>m4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>6</release>
+ <filename>m4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/m4'/>
+ <dep name='/usr/doc/m4-1.4/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>m4-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>6</release>
+ <filename>m4-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='m4'/>
+ </requires>
+ </package>
+ <package>
+ <name>macutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0b3</version>
+ <release>9</release>
+ <filename>macutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/binhex'/>
+ <dep name='/usr/bin/frommac'/>
+ <dep name='/usr/bin/hexbin'/>
+ <dep name='/usr/bin/macsave'/>
+ <dep name='/usr/bin/macstream'/>
+ <dep name='/usr/bin/macunpack'/>
+ <dep name='/usr/bin/tomac'/>
+ <dep name='/usr/doc/macutils-2.0b3/README'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mailcap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>6</release>
+ <filename>mailcap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>mailx</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.1.1</version>
+ <release>6</release>
+ <filename>mailx.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/mail'/>
+ <dep name='/usr/bin/Mail'/>
+ <dep name='/usr/bin/mailx'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>majordomo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.94.4</version>
+ <release>1</release>
+ <filename>majordomo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/majordomo/Tools/archive.pl'/>
+ <dep name='/usr/lib/majordomo/Tools/archive_mh.pl'/>
+ <dep name='/usr/lib/majordomo/Tools/digest.send'/>
+ <dep name='/usr/lib/majordomo/Tools/logsummary.pl'/>
+ <dep name='/usr/lib/majordomo/Tools/makeindex.pl'/>
+ <dep name='/usr/lib/majordomo/Tools/new-list'/>
+ <dep name='/usr/lib/majordomo/Tools/sequencer'/>
+ <dep name='/usr/lib/majordomo/archive2.pl'/>
+ <dep name='/usr/lib/majordomo/bin/approve'/>
+ <dep name='/usr/lib/majordomo/bin/bounce'/>
+ <dep name='/usr/lib/majordomo/bin/medit'/>
+ <dep name='/usr/lib/majordomo/bounce-remind'/>
+ <dep name='/usr/lib/majordomo/config-test'/>
+ <dep name='/usr/lib/majordomo/config_parse.pl'/>
+ <dep name='/usr/lib/majordomo/digest'/>
+ <dep name='/usr/lib/majordomo/majordomo'/>
+ <dep name='/usr/lib/majordomo/majordomo.pl'/>
+ <dep name='/usr/lib/majordomo/majordomo_version.pl'/>
+ <dep name='/usr/lib/majordomo/request-answer'/>
+ <dep name='/usr/lib/majordomo/resend'/>
+ <dep name='/usr/lib/majordomo/shlock.pl'/>
+ <dep name='/usr/lib/majordomo/wrapper'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>make</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.77</version>
+ <release>1</release>
+ <filename>make.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/make'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>man</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5f</version>
+ <release>5</release>
+ <filename>man.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/apropos'/>
+ <dep name='/usr/bin/man'/>
+ <dep name='/usr/bin/man2html'/>
+ <dep name='/usr/bin/mantodvi'/>
+ <dep name='/usr/bin/whatis'/>
+ <dep name='/usr/man/man1/apropos.1.gz'/>
+ <dep name='/usr/man/man1/man.1.gz'/>
+ <dep name='/usr/man/man1/man2html.1.gz'/>
+ <dep name='/usr/man/man1/whatis.1.gz'/>
+ <dep name='/usr/man/man5/man.conf.5.gz'/>
+ <dep name='/usr/sbin/makewhatis'/>
+ </provides>
+ <requires>
+ <dep name='groff'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <conflicts>
+ <dep name='man_db'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>man-pages-ja</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.4</version>
+ <release>1</release>
+ <filename>man-pages-ja.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='man'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-ja'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages-it</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.3.0</version>
+ <release>1</release>
+ <filename>man-pages-it.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='man'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-it'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages-fr</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.7</version>
+ <release>1</release>
+ <filename>man-pages-fr.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='man'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-fr'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages-es</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.7a</version>
+ <release>1</release>
+ <filename>man-pages-es.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/makewhatis.es'/>
+ </provides>
+ <requires>
+ <dep name='man'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-es'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages-de</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.2</version>
+ <release>1</release>
+ <filename>man-pages-de.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='man'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-de'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages-cs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.12</version>
+ <release>1</release>
+ <filename>man-pages-cs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/makewhatis.cs'/>
+ </provides>
+ <requires>
+ <dep name='man'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages-cz'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>man-pages</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.24</version>
+ <release>2</release>
+ <filename>man-pages.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='man'/>
+ </requires>
+ <obsoletes>
+ <dep name='manpages'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>mawk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.3</version>
+ <release>2</release>
+ <filename>mawk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mawk'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mesa</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>2</release>
+ <filename>mesa.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='OpenGL'/>
+ <dep name='libMesaGL.so.3'/>
+ <dep name='libMesaGLU.so.3'/>
+ <dep name='libglut.so.3'/>
+ <dep name='/usr/X11R6/lib/libMesaGL.so'/>
+ <dep name='/usr/X11R6/lib/libMesaGL.so.3'/>
+ <dep name='/usr/X11R6/lib/libMesaGL.so.3.0'/>
+ <dep name='/usr/X11R6/lib/libMesaGLU.so'/>
+ <dep name='/usr/X11R6/lib/libMesaGLU.so.3'/>
+ <dep name='/usr/X11R6/lib/libMesaGLU.so.3.0'/>
+ <dep name='/usr/X11R6/lib/libglut.so'/>
+ <dep name='/usr/X11R6/lib/libglut.so.3'/>
+ <dep name='/usr/X11R6/lib/libglut.so.3.7'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mesa-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>2</release>
+ <filename>mesa-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libMesaGL.a'/>
+ <dep name='/usr/X11R6/lib/libMesaGLU.a'/>
+ <dep name='/usr/X11R6/lib/libglut.a'/>
+ </provides>
+ <requires>
+ <dep name='mesa-devel' op='=' version='3.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>mesa-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>2</release>
+ <filename>mesa-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='mesa' op='=' version='3.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>mesa-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>2</release>
+ <filename>mesa-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/mesa/Make-config'/>
+ <dep name='/usr/X11R6/lib/mesa/Makefile'/>
+ <dep name='/usr/X11R6/lib/mesa/book/aaindex'/>
+ <dep name='/usr/X11R6/lib/mesa/book/aapoly'/>
+ <dep name='/usr/X11R6/lib/mesa/book/aargb'/>
+ <dep name='/usr/X11R6/lib/mesa/book/accanti'/>
+ <dep name='/usr/X11R6/lib/mesa/book/accpersp'/>
+ <dep name='/usr/X11R6/lib/mesa/book/alpha'/>
+ <dep name='/usr/X11R6/lib/mesa/book/alpha3D'/>
+ <dep name='/usr/X11R6/lib/mesa/book/anti'/>
+ <dep name='/usr/X11R6/lib/mesa/book/bezcurve'/>
+ <dep name='/usr/X11R6/lib/mesa/book/bezmesh'/>
+ <dep name='/usr/X11R6/lib/mesa/book/checker'/>
+ <dep name='/usr/X11R6/lib/mesa/book/clip'/>
+ <dep name='/usr/X11R6/lib/mesa/book/colormat'/>
+ <dep name='/usr/X11R6/lib/mesa/book/cube'/>
+ <dep name='/usr/X11R6/lib/mesa/book/depthcue'/>
+ <dep name='/usr/X11R6/lib/mesa/book/dof'/>
+ <dep name='/usr/X11R6/lib/mesa/book/double'/>
+ <dep name='/usr/X11R6/lib/mesa/book/drawf'/>
+ <dep name='/usr/X11R6/lib/mesa/book/feedback'/>
+ <dep name='/usr/X11R6/lib/mesa/book/fog'/>
+ <dep name='/usr/X11R6/lib/mesa/book/fogindex'/>
+ <dep name='/usr/X11R6/lib/mesa/book/font'/>
+ <dep name='/usr/X11R6/lib/mesa/book/hello'/>
+ <dep name='/usr/X11R6/lib/mesa/book/image'/>
+ <dep name='/usr/X11R6/lib/mesa/book/light'/>
+ <dep name='/usr/X11R6/lib/mesa/book/lines'/>
+ <dep name='/usr/X11R6/lib/mesa/book/list'/>
+ <dep name='/usr/X11R6/lib/mesa/book/material'/>
+ <dep name='/usr/X11R6/lib/mesa/book/mipmap'/>
+ <dep name='/usr/X11R6/lib/mesa/book/model'/>
+ <dep name='/usr/X11R6/lib/mesa/book/movelight'/>
+ <dep name='/usr/X11R6/lib/mesa/book/nurbs'/>
+ <dep name='/usr/X11R6/lib/mesa/book/pickdepth'/>
+ <dep name='/usr/X11R6/lib/mesa/book/picksquare'/>
+ <dep name='/usr/X11R6/lib/mesa/book/plane'/>
+ <dep name='/usr/X11R6/lib/mesa/book/planet'/>
+ <dep name='/usr/X11R6/lib/mesa/book/polyoff'/>
+ <dep name='/usr/X11R6/lib/mesa/book/polys'/>
+ <dep name='/usr/X11R6/lib/mesa/book/quadric'/>
+ <dep name='/usr/X11R6/lib/mesa/book/robot'/>
+ <dep name='/usr/X11R6/lib/mesa/book/sccolorlight'/>
+ <dep name='/usr/X11R6/lib/mesa/book/scene'/>
+ <dep name='/usr/X11R6/lib/mesa/book/scenebamb'/>
+ <dep name='/usr/X11R6/lib/mesa/book/sceneflat'/>
+ <dep name='/usr/X11R6/lib/mesa/book/select'/>
+ <dep name='/usr/X11R6/lib/mesa/book/smooth'/>
+ <dep name='/usr/X11R6/lib/mesa/book/stencil'/>
+ <dep name='/usr/X11R6/lib/mesa/book/stroke'/>
+ <dep name='/usr/X11R6/lib/mesa/book/surface'/>
+ <dep name='/usr/X11R6/lib/mesa/book/teaambient'/>
+ <dep name='/usr/X11R6/lib/mesa/book/teapots'/>
+ <dep name='/usr/X11R6/lib/mesa/book/tess'/>
+ <dep name='/usr/X11R6/lib/mesa/book/tesswind'/>
+ <dep name='/usr/X11R6/lib/mesa/book/texbind'/>
+ <dep name='/usr/X11R6/lib/mesa/book/texgen'/>
+ <dep name='/usr/X11R6/lib/mesa/book/texprox'/>
+ <dep name='/usr/X11R6/lib/mesa/book/texsub'/>
+ <dep name='/usr/X11R6/lib/mesa/book/texturesurf'/>
+ <dep name='/usr/X11R6/lib/mesa/book/torus'/>
+ <dep name='/usr/X11R6/lib/mesa/book/trim'/>
+ <dep name='/usr/X11R6/lib/mesa/book/unproject'/>
+ <dep name='/usr/X11R6/lib/mesa/book/varray'/>
+ <dep name='/usr/X11R6/lib/mesa/book/wrap'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/bounce'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/clearspd'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/drawpix'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/gamma'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/gears'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/glinfo'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/glutfx'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/isosurf'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/morph3d'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/multiext'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/multitex'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/osdemo'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/paltex'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/pointblast'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/reflect'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/renormal'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/spectex'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/stex3d'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/tessdemo'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/texcyl'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/texobj'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/trispd'/>
+ <dep name='/usr/X11R6/lib/mesa/demos/winpos'/>
+ <dep name='/usr/X11R6/lib/mesa/mklib.linux'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/accum'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/bitmap1'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/bitmap2'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/blendeq'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/blendxor'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/copy'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/cursor'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/depth'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/eval'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/fog'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/font'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/line'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/logo'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/nurb'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/oglinfo'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/olympic'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/overlay'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/point'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/prim'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/quad'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/select'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/shape'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/sphere'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/star'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/stencil'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/stretch'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/texture'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/tri'/>
+ <dep name='/usr/X11R6/lib/mesa/samples/wave'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/config.guess'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/config.status'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/config.sub'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/configure'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/configure.orig'/>
+ <dep name='/usr/X11R6/lib/mesa/widgets-mesa/install-sh'/>
+ </provides>
+ <requires>
+ <dep name='mesa' op='=' version='3.0'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libMesaGL.so.3'/>
+ <dep name='libMesaGLU.so.3'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXi.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libglut.so.3'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>mgetty</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.20_Jan17</version>
+ <release>0</release>
+ <filename>mgetty.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/autopvf'/>
+ <dep name='/usr/bin/basictopvf'/>
+ <dep name='/usr/bin/faxq'/>
+ <dep name='/usr/bin/faxrm'/>
+ <dep name='/usr/bin/faxrunq'/>
+ <dep name='/usr/bin/faxspool'/>
+ <dep name='/usr/bin/g32pbm'/>
+ <dep name='/usr/bin/g3cat'/>
+ <dep name='/usr/bin/lintopvf'/>
+ <dep name='/usr/bin/newslock'/>
+ <dep name='/usr/bin/pbm2g3'/>
+ <dep name='/usr/bin/pvfamp'/>
+ <dep name='/usr/bin/pvfcut'/>
+ <dep name='/usr/bin/pvfecho'/>
+ <dep name='/usr/bin/pvffft'/>
+ <dep name='/usr/bin/pvffile'/>
+ <dep name='/usr/bin/pvffilter'/>
+ <dep name='/usr/bin/pvfmix'/>
+ <dep name='/usr/bin/pvfnoise'/>
+ <dep name='/usr/bin/pvfreverse'/>
+ <dep name='/usr/bin/pvfsine'/>
+ <dep name='/usr/bin/pvfspeed'/>
+ <dep name='/usr/bin/pvftoau'/>
+ <dep name='/usr/bin/pvftobasic'/>
+ <dep name='/usr/bin/pvftolin'/>
+ <dep name='/usr/bin/pvftormd'/>
+ <dep name='/usr/bin/pvftovoc'/>
+ <dep name='/usr/bin/pvftowav'/>
+ <dep name='/usr/bin/rmdfile'/>
+ <dep name='/usr/bin/rmdtopvf'/>
+ <dep name='/usr/bin/vm'/>
+ <dep name='/usr/bin/voctopvf'/>
+ <dep name='/usr/bin/wavtopvf'/>
+ <dep name='/usr/sbin/faxrunqd'/>
+ <dep name='/usr/sbin/mgetty'/>
+ <dep name='/usr/sbin/sendfax'/>
+ <dep name='/usr/sbin/vgetty'/>
+ </provides>
+ <requires>
+ <dep name='netpbm'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>mico</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.7</version>
+ <release>3</release>
+ <filename>mico.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libmico2.2.7.so'/>
+ <dep name='libmicoaux2.2.7.so'/>
+ <dep name='libmicocoss2.2.7.so'/>
+ <dep name='libmicox2.2.7.so'/>
+ <dep name='/usr/bin/eventd'/>
+ <dep name='/usr/bin/idl'/>
+ <dep name='/usr/bin/imr'/>
+ <dep name='/usr/bin/iordump'/>
+ <dep name='/usr/bin/ird'/>
+ <dep name='/usr/bin/mico-ar'/>
+ <dep name='/usr/bin/mico-c++'/>
+ <dep name='/usr/bin/mico-cpp'/>
+ <dep name='/usr/bin/mico-ld'/>
+ <dep name='/usr/bin/mico-shc++'/>
+ <dep name='/usr/bin/mico-shld'/>
+ <dep name='/usr/bin/micod'/>
+ <dep name='/usr/bin/nsadmin'/>
+ <dep name='/usr/bin/nsd'/>
+ <dep name='/usr/bin/propertyd'/>
+ <dep name='/usr/bin/traderd'/>
+ <dep name='/usr/lib/libmico2.2.7.so'/>
+ <dep name='/usr/lib/libmicoaux2.2.7.so'/>
+ <dep name='/usr/lib/libmicocoss2.2.7.so'/>
+ <dep name='/usr/lib/libmicox2.2.7.so'/>
+ <dep name='/usr/lib/mico-setup.csh'/>
+ <dep name='/usr/lib/mico-setup.sh'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmico2.2.7.so'/>
+ <dep name='libmicocoss2.2.7.so'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libreadline.so.3'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>mico-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.7</version>
+ <release>3</release>
+ <filename>mico-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libmico2.2.7.a'/>
+ <dep name='/usr/lib/libmicoaux2.2.7.a'/>
+ <dep name='/usr/lib/libmicocoss2.2.7.a'/>
+ <dep name='/usr/lib/libmicox2.2.7.a'/>
+ </provides>
+ </package>
+ <package>
+ <name>mico-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.7</version>
+ <release>3</release>
+ <filename>mico-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>mico-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.7</version>
+ <release>3</release>
+ <filename>mico-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/mico/examples/bench/bench'/>
+ <dep name='/usr/doc/mico/examples/boa/account2/account'/>
+ <dep name='/usr/doc/mico/examples/boa/account3/account'/>
+ <dep name='/usr/doc/mico/examples/boa/account4/account'/>
+ <dep name='/usr/doc/mico/examples/boa/activate/hello-permethod'/>
+ <dep name='/usr/doc/mico/examples/boa/activate/hello-shared'/>
+ <dep name='/usr/doc/mico/examples/boa/activate/hello-unshared'/>
+ <dep name='/usr/doc/mico/examples/codesets/runit'/>
+ <dep name='/usr/doc/mico/examples/dispatcher/x11/xhello'/>
+ <dep name='/usr/doc/mico/examples/interceptor/runit'/>
+ <dep name='/usr/doc/mico/examples/interop/jacorb/account'/>
+ <dep name='/usr/doc/mico/examples/interop/jacorb/run_applet'/>
+ <dep name='/usr/doc/mico/examples/interop/jdk/account'/>
+ <dep name='/usr/doc/mico/examples/interop/jdk/run_applet'/>
+ <dep name='/usr/doc/mico/examples/interop/visibroker/account'/>
+ <dep name='/usr/doc/mico/examples/interop/visibroker/run_applet'/>
+ <dep name='/usr/doc/mico/examples/mcast/runit'/>
+ <dep name='/usr/doc/mico/examples/obv/abstract/abstract'/>
+ <dep name='/usr/doc/mico/examples/obv/custom/custom'/>
+ <dep name='/usr/doc/mico/examples/obv/date/date'/>
+ <dep name='/usr/doc/mico/examples/obv/tree/tree'/>
+ <dep name='/usr/doc/mico/examples/obv/tricky/tricky'/>
+ <dep name='/usr/doc/mico/examples/poa/account-1/account'/>
+ <dep name='/usr/doc/mico/examples/poa/account-2/account'/>
+ <dep name='/usr/doc/mico/examples/poa/account-3/account'/>
+ <dep name='/usr/doc/mico/examples/poa/hello-1/hello'/>
+ <dep name='/usr/doc/mico/examples/poa/hello-2/hello'/>
+ <dep name='/usr/doc/mico/examples/poa/inherit/inherit'/>
+ <dep name='/usr/doc/mico/examples/services/events/runit'/>
+ <dep name='/usr/doc/mico/examples/services/naming/account_test'/>
+ <dep name='/usr/doc/mico/examples/services/property-daemon/start_demo'/>
+ <dep name='/usr/doc/mico/examples/services/relship/interactive'/>
+ <dep name='/usr/doc/mico/examples/services/relship/simple'/>
+ <dep name='/usr/doc/mico/examples/services/relship/start-servers'/>
+ <dep name='/usr/doc/mico/examples/services/relship/stop-servers'/>
+ <dep name='/usr/doc/mico/examples/services/relship/test'/>
+ <dep name='/usr/doc/mico/examples/services/stream-bench/bench'/>
+ <dep name='/usr/doc/mico/examples/services/trader/run'/>
+ <dep name='/usr/doc/mico/examples/shlib/hello'/>
+ <dep name='/usr/doc/mico/examples/ssl/ssl'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>midi-instruments</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>3</release>
+ <filename>midi-instruments.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>mimetypes</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>3</release>
+ <filename>mimetypes.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mimetypes'/>
+ </provides>
+ </package>
+ <package>
+ <name>mkisofs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.12b5</version>
+ <release>3</release>
+ <filename>mkisofs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mkisofs'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mktemp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>2</release>
+ <filename>mktemp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/mktemp'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>modutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.121</version>
+ <release>10</release>
+ <filename>modutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/depmod'/>
+ <dep name='/sbin/genksyms'/>
+ <dep name='/sbin/insmod'/>
+ <dep name='/sbin/kerneld'/>
+ <dep name='/sbin/ksyms'/>
+ <dep name='/sbin/lsmod'/>
+ <dep name='/sbin/modinfo'/>
+ <dep name='/sbin/modprobe'/>
+ <dep name='/sbin/request-route'/>
+ <dep name='/sbin/rmmod'/>
+ <dep name='/usr/libexec/modules/insmod.static'/>
+ <dep name='/usr/libexec/modules/mkinitrd.sh'/>
+ <dep name='/usr/libexec/modules/modloader'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>mod_php3-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.12</version>
+ <release>4</release>
+ <filename>mod_php3-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>mod_php3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.12</version>
+ <release>4</release>
+ <filename>mod_php3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mod_php3.so'/>
+ <dep name='/usr/libexec/apache/mod_php3.so'/>
+ </provides>
+ <requires>
+ <dep name='apache'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>mpg123</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.59q</version>
+ <release>1</release>
+ <filename>mpg123.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mpg123'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mrtg</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7.4b</version>
+ <release>2</release>
+ <filename>mrtg.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mrtg'/>
+ <dep name='/usr/bin/rateup'/>
+ <dep name='/usr/lib/perl5/site-perl/BER.pm'/>
+ <dep name='/usr/lib/perl5/site-perl/SNMP_Session.pm'/>
+ <dep name='/usr/lib/perl5/site-perl/SNMP_util.pm'/>
+ <dep name='/usr/libexec/mrtg/cfgmaker'/>
+ <dep name='/usr/libexec/mrtg/indexmaker'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>mt-st</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.4</version>
+ <release>4</release>
+ <filename>mt-st.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/mt'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>mtabase</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>8</release>
+ <filename>mtabase.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/mta'/>
+ <dep name='/usr/bin/mailq'/>
+ <dep name='/usr/bin/rmail'/>
+ <dep name='/usr/lib/sendmail'/>
+ <dep name='/usr/sbin/mta-switch'/>
+ <dep name='/usr/sbin/sendmail'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='4'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>mtools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.9.5</version>
+ <release>1</release>
+ <filename>mtools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/floppyd'/>
+ <dep name='/usr/bin/floppyd_installtest'/>
+ <dep name='/usr/bin/lz'/>
+ <dep name='/usr/bin/mattrib'/>
+ <dep name='/usr/bin/mbadblocks'/>
+ <dep name='/usr/bin/mcat'/>
+ <dep name='/usr/bin/mcd'/>
+ <dep name='/usr/bin/mcheck'/>
+ <dep name='/usr/bin/mcomp'/>
+ <dep name='/usr/bin/mcopy'/>
+ <dep name='/usr/bin/mdel'/>
+ <dep name='/usr/bin/mdeltree'/>
+ <dep name='/usr/bin/mdir'/>
+ <dep name='/usr/bin/mdu'/>
+ <dep name='/usr/bin/mformat'/>
+ <dep name='/usr/bin/minfo'/>
+ <dep name='/usr/bin/mkmanifest'/>
+ <dep name='/usr/bin/mlabel'/>
+ <dep name='/usr/bin/mmd'/>
+ <dep name='/usr/bin/mmount'/>
+ <dep name='/usr/bin/mmove'/>
+ <dep name='/usr/bin/mpartition'/>
+ <dep name='/usr/bin/mrd'/>
+ <dep name='/usr/bin/mread'/>
+ <dep name='/usr/bin/mren'/>
+ <dep name='/usr/bin/mshowfat'/>
+ <dep name='/usr/bin/mtools'/>
+ <dep name='/usr/bin/mtoolstest'/>
+ <dep name='/usr/bin/mtype'/>
+ <dep name='/usr/bin/mxtar'/>
+ <dep name='/usr/bin/mzip'/>
+ <dep name='/usr/bin/tgz'/>
+ <dep name='/usr/bin/uz'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>mtv</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1.0.1</version>
+ <release>1</release>
+ <filename>mtv.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libSDLx11.so.0.9'/>
+ <dep name='/usr/X11R6/bin/mtv'/>
+ <dep name='/usr/X11R6/bin/mtvp'/>
+ <dep name='/usr/X11R6/lib/libSDLx11.so.0.9'/>
+ <dep name='/usr/X11R6/lib/libSDLx11.so.0.9.9'/>
+ <dep name='/usr/doc/mtv-1.1.0.1/release-notes.html'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libforms.so.0.88'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>mutt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.95.6</version>
+ <release>2</release>
+ <filename>mutt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mutt'/>
+ <dep name='/usr/bin/mutt_dotlock'/>
+ </provides>
+ <requires>
+ <dep name='mimetypes'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>mysql</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.22.25</version>
+ <release>1</release>
+ <filename>mysql.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/mysql'/>
+ <dep name='/usr/bin/isamchk'/>
+ <dep name='/usr/bin/isamlog'/>
+ <dep name='/usr/bin/mysql_fix_privilege_tables'/>
+ <dep name='/usr/bin/mysql_install_db'/>
+ <dep name='/usr/bin/mysql_setpermission'/>
+ <dep name='/usr/bin/mysql_zap'/>
+ <dep name='/usr/bin/mysqlbug'/>
+ <dep name='/usr/bin/perror'/>
+ <dep name='/usr/bin/replace'/>
+ <dep name='/usr/bin/resolveip'/>
+ <dep name='/usr/bin/safe_mysqld'/>
+ <dep name='/usr/sbin/mysqld'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>mysql-bench</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.22.25</version>
+ <release>1</release>
+ <filename>mysql-bench.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/share/sql-bench/README'/>
+ <dep name='/usr/share/sql-bench/bench-init.pl'/>
+ <dep name='/usr/share/sql-bench/compare-results'/>
+ <dep name='/usr/share/sql-bench/copy-db'/>
+ <dep name='/usr/share/sql-bench/crash-me'/>
+ <dep name='/usr/share/sql-bench/run-all-tests'/>
+ <dep name='/usr/share/sql-bench/server-cfg'/>
+ <dep name='/usr/share/sql-bench/test-ATIS'/>
+ <dep name='/usr/share/sql-bench/test-alter-table'/>
+ <dep name='/usr/share/sql-bench/test-big-tables'/>
+ <dep name='/usr/share/sql-bench/test-connect'/>
+ <dep name='/usr/share/sql-bench/test-create'/>
+ <dep name='/usr/share/sql-bench/test-insert'/>
+ <dep name='/usr/share/sql-bench/test-select'/>
+ <dep name='/usr/share/sql-bench/test-wisconsin'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>mysql-client</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.22.25</version>
+ <release>1</release>
+ <filename>mysql-client.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libmysqlclient.so.6'/>
+ <dep name='/usr/bin/msql2mysql'/>
+ <dep name='/usr/bin/mysql'/>
+ <dep name='/usr/bin/mysqlaccess'/>
+ <dep name='/usr/bin/mysqladmin'/>
+ <dep name='/usr/bin/mysqlbug'/>
+ <dep name='/usr/bin/mysqldump'/>
+ <dep name='/usr/bin/mysqlimport'/>
+ <dep name='/usr/bin/mysqlshow'/>
+ <dep name='/usr/lib/libmysqlclient.so'/>
+ <dep name='/usr/lib/libmysqlclient.so.6'/>
+ <dep name='/usr/lib/libmysqlclient.so.6.0.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libmysqlclient.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>mysql-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.22.25</version>
+ <release>1</release>
+ <filename>mysql-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/comp_err'/>
+ <dep name='/usr/lib/mysql/libmysqlclient.la'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>nasm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.98</version>
+ <release>1</release>
+ <filename>nasm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/nasm'/>
+ <dep name='/usr/bin/ndisasm'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>navigator-export</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.08</version>
+ <release>3</release>
+ <filename>navigator-export.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libnullplugin.so'/>
+ <dep name='libnullplugin-dynMotif.so'/>
+ <dep name='libTrueDoc.so'/>
+ <dep name='/opt/netscape/navigator/dynfonts/libTrueDoc.so'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.bg'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.cs'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.el'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.hr'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.hu'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.ja'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.ko'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.pl'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.ro'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.ru'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.sk'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.sl'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.tr'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.zh_GB2312'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.zh_TW_Big5'/>
+ <dep name='/opt/netscape/navigator/java/classes/hpux/font.properties.zh_TW_CNS11643'/>
+ <dep name='/opt/netscape/navigator/libnullplugin-dynMotif.so'/>
+ <dep name='/opt/netscape/navigator/netscape'/>
+ <dep name='/opt/netscape/navigator/netscape-dynMotif'/>
+ <dep name='/opt/netscape/navigator/netscape-statMotif'/>
+ <dep name='/opt/netscape/navigator/plugins/libnullplugin.so'/>
+ <dep name='/opt/netscape/navigator/vreg'/>
+ <dep name='/usr/bin/navigator'/>
+ </provides>
+ <requires>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.5'/>
+ <dep name='libdl.so.1'/>
+ <dep name='libg++.so.27'/>
+ <dep name='libm.so.5'/>
+ <dep name='libstdc++.so.27'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libTrueDoc.so'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ncftp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.4.3</version>
+ <release>1</release>
+ <filename>ncftp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/ncftp'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libreadline.so.3'/>
+ </requires>
+ </package>
+ <package>
+ <name>ncompress</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.4</version>
+ <release>6</release>
+ <filename>ncompress.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/compress'/>
+ <dep name='/usr/bin/uncompress'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ncurses-termcap-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>4</release>
+ <filename>ncurses-termcap-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libtermcap.a'/>
+ </provides>
+ <requires>
+ <dep name='ncurses-devel-static' op='=' version='4.2'/>
+ </requires>
+ <conflicts>
+ <dep name='libtermcap-devel-static'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>ncurses-termcap-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>4</release>
+ <filename>ncurses-termcap-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libtermcap.so'/>
+ </provides>
+ <requires>
+ <dep name='ncurses-devel' op='=' version='4.2'/>
+ </requires>
+ <conflicts>
+ <dep name='libtermcap-devel'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>ncurses-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>4</release>
+ <filename>ncurses-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libncurses++.a'/>
+ </provides>
+ <requires>
+ <dep name='ncurses-devel' op='=' version='4.2'/>
+ </requires>
+ <obsoletes>
+ <dep name='ncurses-devel-compat-static'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ncurses-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>4</release>
+ <filename>ncurses-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libcurses.so'/>
+ <dep name='/usr/lib/libform.so'/>
+ <dep name='/usr/lib/libmenu.so'/>
+ <dep name='/usr/lib/libncurses.so'/>
+ <dep name='/usr/lib/libpanel.so'/>
+ <dep name='/usr/man/man3/curses.3x.gz.gz'/>
+ </provides>
+ <requires>
+ <dep name='ncurses' op='=' version='4.2'/>
+ </requires>
+ <obsoletes>
+ <dep name='ncurses-devel-compat'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ncurses</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>4</release>
+ <filename>ncurses.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='curses'/>
+ <dep name='libform.so.4'/>
+ <dep name='libmenu.so.4'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpanel.so.4'/>
+ <dep name='/usr/bin/captoinfo'/>
+ <dep name='/usr/bin/clear'/>
+ <dep name='/usr/bin/infocmp'/>
+ <dep name='/usr/bin/infotocap'/>
+ <dep name='/usr/bin/reset'/>
+ <dep name='/usr/bin/tic'/>
+ <dep name='/usr/bin/toe'/>
+ <dep name='/usr/bin/tput'/>
+ <dep name='/usr/bin/tset'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>net-tools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.52</version>
+ <release>4</release>
+ <filename>net-tools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/dnsdomainname'/>
+ <dep name='/bin/hostname'/>
+ <dep name='/bin/netstat'/>
+ <dep name='/sbin/arp'/>
+ <dep name='/sbin/ifconfig'/>
+ <dep name='/sbin/ipmaddr'/>
+ <dep name='/sbin/iptunnel'/>
+ <dep name='/sbin/plipconfig'/>
+ <dep name='/sbin/rarp'/>
+ <dep name='/sbin/route'/>
+ <dep name='/sbin/slattach'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-base</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.11</version>
+ <release>6</release>
+ <filename>netkit-base.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/ping'/>
+ <dep name='/usr/bin/rpcinfo'/>
+ <dep name='/usr/lib/LST/inetdconf.pl'/>
+ <dep name='/usr/sbin/inetd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-ftp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>7</release>
+ <filename>netkit-ftp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/ftp'/>
+ <dep name='/usr/bin/pftp'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libreadline.so.3'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-ntalk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.11</version>
+ <release>1</release>
+ <filename>netkit-ntalk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/talk'/>
+ <dep name='/usr/sbin/in.ntalkd'/>
+ <dep name='/usr/sbin/in.talkd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-rwho</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.12</version>
+ <release>1</release>
+ <filename>netkit-rwho.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/rwhod'/>
+ <dep name='/usr/bin/rwho'/>
+ <dep name='/usr/sbin/rwhod'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-rwall</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>6</release>
+ <filename>netkit-rwall.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/rwalld'/>
+ <dep name='/usr/bin/rwall'/>
+ <dep name='/usr/sbin/rpc.rwalld'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-rusers</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.11</version>
+ <release>2</release>
+ <filename>netkit-rusers.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/rusersd'/>
+ <dep name='/usr/bin/rup'/>
+ <dep name='/usr/bin/rusers'/>
+ <dep name='/usr/sbin/rpc.rusersd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-rsh</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>8</release>
+ <filename>netkit-rsh.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rcp'/>
+ <dep name='/usr/bin/rlogin'/>
+ <dep name='/usr/bin/rsh'/>
+ <dep name='/usr/sbin/in.rexecd'/>
+ <dep name='/usr/sbin/in.rlogind'/>
+ <dep name='/usr/sbin/in.rshd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libutil.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-tftp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.10</version>
+ <release>2</release>
+ <filename>netkit-tftp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/tftp'/>
+ <dep name='/usr/sbin/in.tftpd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>netkit-telnet</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.12</version>
+ <release>5</release>
+ <filename>netkit-telnet.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/telnet'/>
+ <dep name='/usr/sbin/in.telnetd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>netpbm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>940301</version>
+ <release>2</release>
+ <filename>netpbm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/asciitopgm'/>
+ <dep name='/usr/bin/atktopbm'/>
+ <dep name='/usr/bin/bioradtopgm'/>
+ <dep name='/usr/bin/bmptoppm'/>
+ <dep name='/usr/bin/brushtopbm'/>
+ <dep name='/usr/bin/cmuwmtopbm'/>
+ <dep name='/usr/bin/fitstopnm'/>
+ <dep name='/usr/bin/fstopgm'/>
+ <dep name='/usr/bin/g3topbm'/>
+ <dep name='/usr/bin/gemtopbm'/>
+ <dep name='/usr/bin/giftopnm'/>
+ <dep name='/usr/bin/gouldtoppm'/>
+ <dep name='/usr/bin/hipstopgm'/>
+ <dep name='/usr/bin/hpcdtoppm'/>
+ <dep name='/usr/bin/icontopbm'/>
+ <dep name='/usr/bin/ilbmtoppm'/>
+ <dep name='/usr/bin/imgtoppm'/>
+ <dep name='/usr/bin/lispmtopgm'/>
+ <dep name='/usr/bin/macptopbm'/>
+ <dep name='/usr/bin/mgrtopbm'/>
+ <dep name='/usr/bin/mtvtoppm'/>
+ <dep name='/usr/bin/pbmclean'/>
+ <dep name='/usr/bin/pbmlife'/>
+ <dep name='/usr/bin/pbmmake'/>
+ <dep name='/usr/bin/pbmmask'/>
+ <dep name='/usr/bin/pbmpscale'/>
+ <dep name='/usr/bin/pbmreduce'/>
+ <dep name='/usr/bin/pbmtext'/>
+ <dep name='/usr/bin/pbmto10x'/>
+ <dep name='/usr/bin/pbmto4425'/>
+ <dep name='/usr/bin/pbmtoascii'/>
+ <dep name='/usr/bin/pbmtoatk'/>
+ <dep name='/usr/bin/pbmtobbnbg'/>
+ <dep name='/usr/bin/pbmtocmuwm'/>
+ <dep name='/usr/bin/pbmtoepsi'/>
+ <dep name='/usr/bin/pbmtoepson'/>
+ <dep name='/usr/bin/pbmtog3'/>
+ <dep name='/usr/bin/pbmtogem'/>
+ <dep name='/usr/bin/pbmtogo'/>
+ <dep name='/usr/bin/pbmtoicon'/>
+ <dep name='/usr/bin/pbmtolj'/>
+ <dep name='/usr/bin/pbmtoln03'/>
+ <dep name='/usr/bin/pbmtolps'/>
+ <dep name='/usr/bin/pbmtomacp'/>
+ <dep name='/usr/bin/pbmtomgr'/>
+ <dep name='/usr/bin/pbmtopgm'/>
+ <dep name='/usr/bin/pbmtopi3'/>
+ <dep name='/usr/bin/pbmtopk'/>
+ <dep name='/usr/bin/pbmtoplot'/>
+ <dep name='/usr/bin/pbmtoptx'/>
+ <dep name='/usr/bin/pbmtox10bm'/>
+ <dep name='/usr/bin/pbmtoxbm'/>
+ <dep name='/usr/bin/pbmtoybm'/>
+ <dep name='/usr/bin/pbmtozinc'/>
+ <dep name='/usr/bin/pbmupc'/>
+ <dep name='/usr/bin/pcxtoppm'/>
+ <dep name='/usr/bin/pgmbentley'/>
+ <dep name='/usr/bin/pgmcrater'/>
+ <dep name='/usr/bin/pgmedge'/>
+ <dep name='/usr/bin/pgmenhance'/>
+ <dep name='/usr/bin/pgmhist'/>
+ <dep name='/usr/bin/pgmkernel'/>
+ <dep name='/usr/bin/pgmnoise'/>
+ <dep name='/usr/bin/pgmnorm'/>
+ <dep name='/usr/bin/pgmoil'/>
+ <dep name='/usr/bin/pgmramp'/>
+ <dep name='/usr/bin/pgmtexture'/>
+ <dep name='/usr/bin/pgmtofs'/>
+ <dep name='/usr/bin/pgmtolispm'/>
+ <dep name='/usr/bin/pgmtopbm'/>
+ <dep name='/usr/bin/pgmtoppm'/>
+ <dep name='/usr/bin/pi1toppm'/>
+ <dep name='/usr/bin/pi3topbm'/>
+ <dep name='/usr/bin/picttoppm'/>
+ <dep name='/usr/bin/pjtoppm'/>
+ <dep name='/usr/bin/pktopbm'/>
+ <dep name='/usr/bin/pngtopnm'/>
+ <dep name='/usr/bin/pnmalias'/>
+ <dep name='/usr/bin/pnmarith'/>
+ <dep name='/usr/bin/pnmcat'/>
+ <dep name='/usr/bin/pnmcomp'/>
+ <dep name='/usr/bin/pnmconvol'/>
+ <dep name='/usr/bin/pnmcrop'/>
+ <dep name='/usr/bin/pnmcut'/>
+ <dep name='/usr/bin/pnmdepth'/>
+ <dep name='/usr/bin/pnmenlarge'/>
+ <dep name='/usr/bin/pnmfile'/>
+ <dep name='/usr/bin/pnmflip'/>
+ <dep name='/usr/bin/pnmgamma'/>
+ <dep name='/usr/bin/pnmhisteq'/>
+ <dep name='/usr/bin/pnmhistmap'/>
+ <dep name='/usr/bin/pnminvert'/>
+ <dep name='/usr/bin/pnmnlfilt'/>
+ <dep name='/usr/bin/pnmnoraw'/>
+ <dep name='/usr/bin/pnmpad'/>
+ <dep name='/usr/bin/pnmpaste'/>
+ <dep name='/usr/bin/pnmrotate'/>
+ <dep name='/usr/bin/pnmscale'/>
+ <dep name='/usr/bin/pnmshear'/>
+ <dep name='/usr/bin/pnmsmooth'/>
+ <dep name='/usr/bin/pnmtile'/>
+ <dep name='/usr/bin/pnmtoddif'/>
+ <dep name='/usr/bin/pnmtofits'/>
+ <dep name='/usr/bin/pnmtopng'/>
+ <dep name='/usr/bin/pnmtops'/>
+ <dep name='/usr/bin/pnmtorast'/>
+ <dep name='/usr/bin/pnmtosgi'/>
+ <dep name='/usr/bin/pnmtosir'/>
+ <dep name='/usr/bin/pnmtoxwd'/>
+ <dep name='/usr/bin/ppm2tiff'/>
+ <dep name='/usr/bin/ppm3d'/>
+ <dep name='/usr/bin/ppmbrighten'/>
+ <dep name='/usr/bin/ppmchange'/>
+ <dep name='/usr/bin/ppmdim'/>
+ <dep name='/usr/bin/ppmdist'/>
+ <dep name='/usr/bin/ppmdither'/>
+ <dep name='/usr/bin/ppmflash'/>
+ <dep name='/usr/bin/ppmforge'/>
+ <dep name='/usr/bin/ppmhist'/>
+ <dep name='/usr/bin/ppmmake'/>
+ <dep name='/usr/bin/ppmmix'/>
+ <dep name='/usr/bin/ppmnorm'/>
+ <dep name='/usr/bin/ppmntsc'/>
+ <dep name='/usr/bin/ppmpat'/>
+ <dep name='/usr/bin/ppmquant'/>
+ <dep name='/usr/bin/ppmqvga'/>
+ <dep name='/usr/bin/ppmrelief'/>
+ <dep name='/usr/bin/ppmshift'/>
+ <dep name='/usr/bin/ppmspread'/>
+ <dep name='/usr/bin/ppmtoacad'/>
+ <dep name='/usr/bin/ppmtobmp'/>
+ <dep name='/usr/bin/ppmtogif'/>
+ <dep name='/usr/bin/ppmtoicr'/>
+ <dep name='/usr/bin/ppmtoilbm'/>
+ <dep name='/usr/bin/ppmtomap'/>
+ <dep name='/usr/bin/ppmtomitsu'/>
+ <dep name='/usr/bin/ppmtopcx'/>
+ <dep name='/usr/bin/ppmtopgm'/>
+ <dep name='/usr/bin/ppmtopi1'/>
+ <dep name='/usr/bin/ppmtopict'/>
+ <dep name='/usr/bin/ppmtopj'/>
+ <dep name='/usr/bin/ppmtopjxl'/>
+ <dep name='/usr/bin/ppmtopuzz'/>
+ <dep name='/usr/bin/ppmtorgb3'/>
+ <dep name='/usr/bin/ppmtosixel'/>
+ <dep name='/usr/bin/ppmtotga'/>
+ <dep name='/usr/bin/ppmtouil'/>
+ <dep name='/usr/bin/ppmtoxpm'/>
+ <dep name='/usr/bin/ppmtoyuv'/>
+ <dep name='/usr/bin/ppmtoyuvsplit'/>
+ <dep name='/usr/bin/psidtopgm'/>
+ <dep name='/usr/bin/qrttoppm'/>
+ <dep name='/usr/bin/rasttopnm'/>
+ <dep name='/usr/bin/rawtopgm'/>
+ <dep name='/usr/bin/rawtoppm'/>
+ <dep name='/usr/bin/rgb3toppm'/>
+ <dep name='/usr/bin/sgitopnm'/>
+ <dep name='/usr/bin/sirtopnm'/>
+ <dep name='/usr/bin/sldtoppm'/>
+ <dep name='/usr/bin/spctoppm'/>
+ <dep name='/usr/bin/spottopgm'/>
+ <dep name='/usr/bin/sputoppm'/>
+ <dep name='/usr/bin/tgatoppm'/>
+ <dep name='/usr/bin/xbmtopbm'/>
+ <dep name='/usr/bin/ximtoppm'/>
+ <dep name='/usr/bin/xpmtoppm'/>
+ <dep name='/usr/bin/xvminitoppm'/>
+ <dep name='/usr/bin/xwdtopnm'/>
+ <dep name='/usr/bin/ybmtopbm'/>
+ <dep name='/usr/bin/yuvsplittoppm'/>
+ <dep name='/usr/bin/yuvtoppm'/>
+ <dep name='/usr/bin/zeisstopnm'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpbm.so.1'/>
+ <dep name='libpgm.so.1'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libpnm.so.1'/>
+ <dep name='libppm.so.1'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>netwatch</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9a</version>
+ <release>3</release>
+ <filename>netwatch.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/netresolv'/>
+ <dep name='/usr/bin/netwatch'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>nfs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2beta44</version>
+ <release>3</release>
+ <filename>nfs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/showmount'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ <obsoletes>
+ <dep name='nfs-server-clients'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>nfs-server</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2beta44</version>
+ <release>3</release>
+ <filename>nfs-server.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/nfs'/>
+ <dep name='/usr/sbin/rpc.mountd'/>
+ <dep name='/usr/sbin/rpc.nfsd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>nis-client</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>8</release>
+ <filename>nis-client.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/domainname'/>
+ <dep name='/bin/nisdomainname'/>
+ <dep name='/etc/rc.d/init.d/nis-client'/>
+ <dep name='/usr/bin/ypcat'/>
+ <dep name='/usr/bin/ypchfn'/>
+ <dep name='/usr/bin/ypchsh'/>
+ <dep name='/usr/bin/ypmatch'/>
+ <dep name='/usr/bin/yppasswd'/>
+ <dep name='/usr/bin/ypwhich'/>
+ <dep name='/usr/sbin/ypbind'/>
+ <dep name='/usr/sbin/yppoll'/>
+ <dep name='/usr/sbin/ypset'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>nis-server</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>8</release>
+ <filename>nis-server.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/nis/nis_update'/>
+ <dep name='/etc/rc.d/init.d/nis-server'/>
+ <dep name='/usr/libexec/nis/mknetid'/>
+ <dep name='/usr/libexec/nis/rpc.yppasswdd'/>
+ <dep name='/usr/libexec/nis/rpc.ypserv'/>
+ <dep name='/usr/libexec/nis/rpc.ypxfrd'/>
+ <dep name='/usr/libexec/nis/ypxfr'/>
+ <dep name='/usr/libexec/nis/ypxfr_1perday'/>
+ <dep name='/usr/libexec/nis/ypxfr_1perhour'/>
+ <dep name='/usr/libexec/nis/ypxfr_2perday'/>
+ <dep name='/usr/sbin/yppush'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>nls</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>3</release>
+ <filename>nls.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>nss_ldap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>85</version>
+ <release>1</release>
+ <filename>nss_ldap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libnss_ldap.so.2'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='liblber.so.1'/>
+ <dep name='libldap.so.1'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>nte</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.7.0_990625</version>
+ <release>1</release>
+ <filename>nte.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/nte'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ntop</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2a4</version>
+ <release>1</release>
+ <filename>ntop.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/ntop-1.2a4/html/gauge.jpg'/>
+ <dep name='/usr/sbin/ntop'/>
+ </provides>
+ <requires>
+ <dep name='lsof'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>nwclient+utils-ndsadmin</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.2</version>
+ <release>2</release>
+ <filename>nwclient+utils-ndsadmin.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libnss_nds.so.2'/>
+ <dep name='nsapi_nds.so.1'/>
+ <dep name='pam_nds.so.1'/>
+ <dep name='/lib/security/pam_nds.so.1'/>
+ <dep name='/lib/security/pam_nds.so.1.0.0'/>
+ <dep name='/usr/lib/nsapi_nds.so.1'/>
+ <dep name='/usr/lib/nsapi_nds.so.1.0.0'/>
+ <dep name='/usr/man/man5/ndsadmin.conf.5.gz'/>
+ </provides>
+ </package>
+ <package>
+ <name>nwclient+utils-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.2</version>
+ <release>2</release>
+ <filename>nwclient+utils-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libnwatb.so'/>
+ <dep name='libnwcalls.so'/>
+ <dep name='libnwclient.so'/>
+ <dep name='libnwloc.so'/>
+ <dep name='libnwncp.so'/>
+ <dep name='libnwnet.so'/>
+ <dep name='/usr/include/nwclient/sdkinc/linux'/>
+ <dep name='/usr/include/nwclient/sdkinc/nwcext.h'/>
+ <dep name='/usr/lib/nwclient/libnwatb.so'/>
+ <dep name='/usr/lib/nwclient/libnwcalls.so'/>
+ <dep name='/usr/lib/nwclient/libnwclient.so'/>
+ <dep name='/usr/lib/nwclient/libnwloc.so'/>
+ <dep name='/usr/lib/nwclient/libnwncp.so'/>
+ <dep name='/usr/lib/nwclient/libnwnet.so'/>
+ </provides>
+ </package>
+ <package>
+ <name>nwclient+utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.2</version>
+ <release>2</release>
+ <filename>nwclient+utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libnwatb.so'/>
+ <dep name='libnwcalls.so'/>
+ <dep name='libnwclient.so'/>
+ <dep name='libnwloc.so'/>
+ <dep name='libnwncp.so'/>
+ <dep name='libnwnet.so'/>
+ <dep name='/etc/rc.d/init.d/nwclient'/>
+ <dep name='/etc/rc.d/rc0.d/K45nwclient'/>
+ <dep name='/etc/rc.d/rc1.d/K45nwclient'/>
+ <dep name='/etc/rc.d/rc2.d/S55nwclient'/>
+ <dep name='/etc/rc.d/rc3.d/S55nwclient'/>
+ <dep name='/etc/rc.d/rc4.d/S55nwclient'/>
+ <dep name='/etc/rc.d/rc5.d/S55nwclient'/>
+ <dep name='/etc/rc.d/rc6.d/K45nwclient'/>
+ <dep name='/usr/bin/nwboaddtrust'/>
+ <dep name='/usr/bin/nwbocreate'/>
+ <dep name='/usr/bin/nwboprops'/>
+ <dep name='/usr/bin/nwborm'/>
+ <dep name='/usr/bin/nwbosetspace'/>
+ <dep name='/usr/bin/nwboshowspace'/>
+ <dep name='/usr/bin/nwboshowtrust'/>
+ <dep name='/usr/bin/nwbpadd'/>
+ <dep name='/usr/bin/nwbpcreate'/>
+ <dep name='/usr/bin/nwbprm'/>
+ <dep name='/usr/bin/nwbpvalues'/>
+ <dep name='/usr/bin/nwdelqjob'/>
+ <dep name='/usr/bin/nwdsaddtrust'/>
+ <dep name='/usr/bin/nwdsattrs'/>
+ <dep name='/usr/bin/nwdscreate'/>
+ <dep name='/usr/bin/nwdsmodify'/>
+ <dep name='/usr/bin/nwdsrm'/>
+ <dep name='/usr/bin/nwdssetspace'/>
+ <dep name='/usr/bin/nwdsshowspace'/>
+ <dep name='/usr/bin/nwdsshowtrust'/>
+ <dep name='/usr/bin/nwdsvalues'/>
+ <dep name='/usr/bin/nwlogin'/>
+ <dep name='/usr/bin/nwlogout'/>
+ <dep name='/usr/bin/nwmount'/>
+ <dep name='/usr/bin/nwmsg'/>
+ <dep name='/usr/bin/nwnulpaswd'/>
+ <dep name='/usr/bin/nwpasswd'/>
+ <dep name='/usr/bin/nwprint'/>
+ <dep name='/usr/bin/nwqstat'/>
+ <dep name='/usr/bin/nwsend'/>
+ <dep name='/usr/bin/nwwhoami'/>
+ <dep name='/usr/bin/xnwboadmin'/>
+ <dep name='/usr/bin/xnwbocreate'/>
+ <dep name='/usr/bin/xnwborights'/>
+ <dep name='/usr/bin/xnwborightsDD'/>
+ <dep name='/usr/bin/xnwbotrustees'/>
+ <dep name='/usr/bin/xnwdsadmin'/>
+ <dep name='/usr/bin/xnwdscreate'/>
+ <dep name='/usr/bin/xnwdsrights'/>
+ <dep name='/usr/bin/xnwdsrightsDD'/>
+ <dep name='/usr/bin/xnwdstrustees'/>
+ <dep name='/usr/bin/xnwmanageq'/>
+ <dep name='/usr/bin/xnwprint'/>
+ <dep name='/usr/lib/libnwatb.so'/>
+ <dep name='/usr/lib/libnwcalls.so'/>
+ <dep name='/usr/lib/libnwclient.so'/>
+ <dep name='/usr/lib/libnwloc.so'/>
+ <dep name='/usr/lib/libnwncp.so'/>
+ <dep name='/usr/lib/libnwnet.so'/>
+ <dep name='/usr/lib/modules/nkfs.o'/>
+ <dep name='/usr/lib/nwamd/getBindObjects'/>
+ <dep name='/usr/lib/nwamd/getBindVols'/>
+ <dep name='/usr/lib/nwamd/getNDSObjects'/>
+ <dep name='/usr/lib/nwamd/getServers'/>
+ <dep name='/usr/lib/nwamd/getTrees'/>
+ <dep name='/usr/lib/nwamd/mountBindVol'/>
+ <dep name='/usr/lib/nwamd/mountNDSVol'/>
+ <dep name='/usr/lib/nwamd/nwauthen'/>
+ <dep name='/usr/lib/nwlocale/1250_UNI.036'/>
+ <dep name='/usr/lib/nwlocale/1250_UNI.042'/>
+ <dep name='/usr/lib/nwlocale/1250_UNI.048'/>
+ <dep name='/usr/lib/nwlocale/1251_UNI.007'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.001'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.002'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.003'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.031'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.032'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.033'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.034'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.039'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.041'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.044'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.045'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.046'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.047'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.049'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.061'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.090'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.351'/>
+ <dep name='/usr/lib/nwlocale/1252_UNI.358'/>
+ <dep name='/usr/lib/nwlocale/1256_UNI.785'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.001'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.003'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.031'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.032'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.033'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.034'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.039'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.041'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.044'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.046'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.049'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.061'/>
+ <dep name='/usr/lib/nwlocale/437_UNI.358'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.001'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.002'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.003'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.007'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.031'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.032'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.033'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.034'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.036'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.039'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.041'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.044'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.045'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.046'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.047'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.049'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.061'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.090'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.351'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.358'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.785'/>
+ <dep name='/usr/lib/nwlocale/850_UNI.972'/>
+ <dep name='/usr/lib/nwlocale/852_UNI.036'/>
+ <dep name='/usr/lib/nwlocale/852_UNI.038'/>
+ <dep name='/usr/lib/nwlocale/852_UNI.042'/>
+ <dep name='/usr/lib/nwlocale/852_UNI.048'/>
+ <dep name='/usr/lib/nwlocale/855_UNI.007'/>
+ <dep name='/usr/lib/nwlocale/855_UNI.038'/>
+ <dep name='/usr/lib/nwlocale/857_UNI.090'/>
+ <dep name='/usr/lib/nwlocale/860_UNI.351'/>
+ <dep name='/usr/lib/nwlocale/862_UNI.972'/>
+ <dep name='/usr/lib/nwlocale/863_UNI.002'/>
+ <dep name='/usr/lib/nwlocale/864_UNI.785'/>
+ <dep name='/usr/lib/nwlocale/865_UNI.045'/>
+ <dep name='/usr/lib/nwlocale/865_UNI.047'/>
+ <dep name='/usr/lib/nwlocale/866_UNI.007'/>
+ <dep name='/usr/lib/nwlocale/897_UNI.081'/>
+ <dep name='/usr/lib/nwlocale/932_UNI.081'/>
+ <dep name='/usr/lib/nwlocale/UNI_1250.036'/>
+ <dep name='/usr/lib/nwlocale/UNI_1250.042'/>
+ <dep name='/usr/lib/nwlocale/UNI_1250.048'/>
+ <dep name='/usr/lib/nwlocale/UNI_1251.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.001'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.002'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.003'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.031'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.032'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.033'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.034'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.039'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.041'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.044'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.045'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.046'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.047'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.049'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.061'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.090'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.351'/>
+ <dep name='/usr/lib/nwlocale/UNI_1252.358'/>
+ <dep name='/usr/lib/nwlocale/UNI_1256.785'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.001'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.003'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.031'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.032'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.033'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.034'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.039'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.041'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.044'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.046'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.049'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.061'/>
+ <dep name='/usr/lib/nwlocale/UNI_437.358'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.001'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.002'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.003'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.031'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.032'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.033'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.034'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.036'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.039'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.041'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.044'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.045'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.046'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.047'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.049'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.061'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.090'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.351'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.358'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.785'/>
+ <dep name='/usr/lib/nwlocale/UNI_850.972'/>
+ <dep name='/usr/lib/nwlocale/UNI_852.036'/>
+ <dep name='/usr/lib/nwlocale/UNI_852.038'/>
+ <dep name='/usr/lib/nwlocale/UNI_852.042'/>
+ <dep name='/usr/lib/nwlocale/UNI_852.048'/>
+ <dep name='/usr/lib/nwlocale/UNI_855.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_855.038'/>
+ <dep name='/usr/lib/nwlocale/UNI_857.090'/>
+ <dep name='/usr/lib/nwlocale/UNI_860.351'/>
+ <dep name='/usr/lib/nwlocale/UNI_862.972'/>
+ <dep name='/usr/lib/nwlocale/UNI_863.002'/>
+ <dep name='/usr/lib/nwlocale/UNI_864.785'/>
+ <dep name='/usr/lib/nwlocale/UNI_865.045'/>
+ <dep name='/usr/lib/nwlocale/UNI_865.047'/>
+ <dep name='/usr/lib/nwlocale/UNI_866.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_897.081'/>
+ <dep name='/usr/lib/nwlocale/UNI_932.081'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.001'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.002'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.003'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.031'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.032'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.033'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.034'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.036'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.038'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.039'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.041'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.042'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.044'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.045'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.046'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.047'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.048'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.049'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.061'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.081'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.090'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.351'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.358'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.785'/>
+ <dep name='/usr/lib/nwlocale/UNI_COL.972'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.001'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.002'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.003'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.007'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.031'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.032'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.033'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.034'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.036'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.038'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.039'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.041'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.042'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.044'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.045'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.046'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.047'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.048'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.049'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.061'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.081'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.090'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.351'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.358'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.785'/>
+ <dep name='/usr/lib/nwlocale/UNI_MON.972'/>
+ <dep name='/usr/man/man8/nwboaddtrust.8.gz'/>
+ <dep name='/usr/man/man8/nwbocreate.8.gz'/>
+ <dep name='/usr/man/man8/nwboprops.8.gz'/>
+ <dep name='/usr/man/man8/nwborm.8.gz'/>
+ <dep name='/usr/man/man8/nwbosetspace.8.gz'/>
+ <dep name='/usr/man/man8/nwboshowspace.8.gz'/>
+ <dep name='/usr/man/man8/nwboshowtrust.8.gz'/>
+ <dep name='/usr/man/man8/nwbpadd.8.gz'/>
+ <dep name='/usr/man/man8/nwbpcreate.8.gz'/>
+ <dep name='/usr/man/man8/nwbprm.8.gz'/>
+ <dep name='/usr/man/man8/nwbpvalues.8.gz'/>
+ <dep name='/usr/man/man8/nwdelqjob.8.gz'/>
+ <dep name='/usr/man/man8/nwdsaddtrust.8.gz'/>
+ <dep name='/usr/man/man8/nwdsattrs.8.gz'/>
+ <dep name='/usr/man/man8/nwdscreate.8.gz'/>
+ <dep name='/usr/man/man8/nwdsmodify.8.gz'/>
+ <dep name='/usr/man/man8/nwdsrm.8.gz'/>
+ <dep name='/usr/man/man8/nwdssetspace.8.gz'/>
+ <dep name='/usr/man/man8/nwdsshowspace.8.gz'/>
+ <dep name='/usr/man/man8/nwdsshowtrust.8.gz'/>
+ <dep name='/usr/man/man8/nwdsvalues.8.gz'/>
+ <dep name='/usr/man/man8/nwlogin.8.gz'/>
+ <dep name='/usr/man/man8/nwlogout.8.gz'/>
+ <dep name='/usr/man/man8/nwmount.8.gz'/>
+ <dep name='/usr/man/man8/nwmsg.8.gz'/>
+ <dep name='/usr/man/man8/nwnulpaswd.8.gz'/>
+ <dep name='/usr/man/man8/nwpasswd.8.gz'/>
+ <dep name='/usr/man/man8/nwprint.8.gz'/>
+ <dep name='/usr/man/man8/nwqstat.8.gz'/>
+ <dep name='/usr/man/man8/nwsend.8.gz'/>
+ <dep name='/usr/man/man8/nwwhoami.8.gz'/>
+ <dep name='/usr/man/man8/xnwboadmin.8.gz'/>
+ <dep name='/usr/man/man8/xnwbocreate.8.gz'/>
+ <dep name='/usr/man/man8/xnwborights.8.gz'/>
+ <dep name='/usr/man/man8/xnwborightsDD.8.gz'/>
+ <dep name='/usr/man/man8/xnwbotrustees.8.gz'/>
+ <dep name='/usr/man/man8/xnwdsadmin.8.gz'/>
+ <dep name='/usr/man/man8/xnwdscreate.8.gz'/>
+ <dep name='/usr/man/man8/xnwdsrights.8.gz'/>
+ <dep name='/usr/man/man8/xnwdsrightsDD.8.gz'/>
+ <dep name='/usr/man/man8/xnwdstrustees.8.gz'/>
+ <dep name='/usr/man/man8/xnwmanageq.8.gz'/>
+ <dep name='/usr/man/man8/xnwprint.8.gz'/>
+ <dep name='/usr/sbin/nwamd'/>
+ <dep name='/usr/sbin/nwclientd'/>
+ </provides>
+ <requires>
+ <dep name='glibc'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnwatb.so'/>
+ <dep name='libnwcalls.so'/>
+ <dep name='libnwclient.so'/>
+ <dep name='libnwloc.so'/>
+ <dep name='libnwncp.so'/>
+ <dep name='libnwnet.so'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>openldap-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>1</release>
+ <filename>openldap-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>openldap-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>1</release>
+ <filename>openldap-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='liblber.so.1'/>
+ <dep name='libldap.so.1'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>openldap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.3</version>
+ <release>1</release>
+ <filename>openldap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/ldapadd'/>
+ <dep name='/usr/bin/ldapdelete'/>
+ <dep name='/usr/bin/ldapmodify'/>
+ <dep name='/usr/bin/ldapmodrdn'/>
+ <dep name='/usr/bin/ldappasswd'/>
+ <dep name='/usr/bin/ldapsearch'/>
+ <dep name='/usr/bin/ud'/>
+ <dep name='/usr/libexec/fax500'/>
+ <dep name='/usr/libexec/go500'/>
+ <dep name='/usr/libexec/go500gw'/>
+ <dep name='/usr/libexec/in.xfingerd'/>
+ <dep name='/usr/libexec/mail500'/>
+ <dep name='/usr/libexec/rcpt500'/>
+ <dep name='/usr/libexec/rp500'/>
+ <dep name='/usr/libexec/slapd'/>
+ <dep name='/usr/libexec/slurpd'/>
+ <dep name='/usr/libexec/xrpcomp'/>
+ <dep name='/usr/sbin/centipede'/>
+ <dep name='/usr/sbin/ldbmcat'/>
+ <dep name='/usr/sbin/ldbmtest'/>
+ <dep name='/usr/sbin/ldif'/>
+ <dep name='/usr/sbin/ldif2id2children'/>
+ <dep name='/usr/sbin/ldif2id2entry'/>
+ <dep name='/usr/sbin/ldif2index'/>
+ <dep name='/usr/sbin/ldif2ldbm'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>OpenLinux</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.3</version>
+ <release>17</release>
+ <filename>OpenLinux.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/home/httpd/cgi-bin/rpm_query'/>
+ <dep name='/home/httpd/html/openlinux_help/HOWTO'/>
+ <dep name='/home/httpd/html/openlinux_help/doc'/>
+ <dep name='/home/httpd/html/openlinux_help/kde'/>
+ <dep name='/usr/bin/comminst'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>pam-apps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.55</version>
+ <release>6</release>
+ <filename>pam-apps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/passwd'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libpwdb.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>pam_ldap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>36</version>
+ <release>2</release>
+ <filename>pam_ldap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='pam_ldap.so'/>
+ <dep name='/lib/security/pam_ldap.so'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='liblber.so.1'/>
+ <dep name='libldap.so.1'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>patch</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5</version>
+ <release>1</release>
+ <filename>patch.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/patch'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>pciutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>pciutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/lspci'/>
+ <dep name='/sbin/setpci'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>1</release>
+ <filename>perl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/perl'/>
+ <dep name='/usr/bin/perl5.00502'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl-add</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>1</release>
+ <filename>perl-add.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='B.so'/>
+ <dep name='DB_File.so'/>
+ <dep name='Dumper.so'/>
+ <dep name='Fcntl.so'/>
+ <dep name='GDBM_File.so'/>
+ <dep name='IO.so'/>
+ <dep name='NDBM_File.so'/>
+ <dep name='Opcode.so'/>
+ <dep name='POSIX.so'/>
+ <dep name='SDBM_File.so'/>
+ <dep name='Socket.so'/>
+ <dep name='SysV.so'/>
+ <dep name='Thread.so'/>
+ <dep name='attrs.so'/>
+ <dep name='re.so'/>
+ <dep name='/usr/bin/a2p'/>
+ <dep name='/usr/bin/c2ph'/>
+ <dep name='/usr/bin/find2perl'/>
+ <dep name='/usr/bin/h2ph'/>
+ <dep name='/usr/bin/h2xs'/>
+ <dep name='/usr/bin/perlbug'/>
+ <dep name='/usr/bin/perlcc'/>
+ <dep name='/usr/bin/pl2pm'/>
+ <dep name='/usr/bin/pstruct'/>
+ <dep name='/usr/bin/s2p'/>
+ <dep name='/usr/bin/sperl5.00502'/>
+ <dep name='/usr/bin/splain'/>
+ <dep name='/usr/bin/suidperl'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/B/B.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/DB_File/DB_File.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/Data/Dumper/Dumper.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/Fcntl/Fcntl.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/GDBM_File/GDBM_File.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/IO/IO.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/IPC/SysV/SysV.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/NDBM_File/NDBM_File.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/Opcode/Opcode.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/POSIX/POSIX.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/SDBM_File/SDBM_File.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/Socket/Socket.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/Thread/Thread.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/attrs/attrs.so'/>
+ <dep name='/usr/lib/perl5/5.00502/i686-linux-thread/auto/re/re.so'/>
+ </provides>
+ <requires>
+ <dep name='perl' op='=' version='5.005_02'/>
+ <dep name='tcsh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl-cgi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.42</version>
+ <release>1</release>
+ <filename>perl-cgi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/share/perl5/eg/cgi/RunMeFirst'/>
+ <dep name='/usr/share/perl5/eg/cgi/nph-multipart.cgi'/>
+ </provides>
+ <requires>
+ <dep name='perl' op='=' version='5.005_02'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>1</release>
+ <filename>perl-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/share/perl5/eg/client'/>
+ <dep name='/usr/share/perl5/eg/down'/>
+ <dep name='/usr/share/perl5/eg/rename'/>
+ <dep name='/usr/share/perl5/eg/server'/>
+ <dep name='/usr/share/perl5/eg/unuc'/>
+ <dep name='/usr/share/perl5/eg/wrapsuid'/>
+ </provides>
+ <requires>
+ <dep name='perl' op='=' version='5.005_02'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl-man</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>1</release>
+ <filename>perl-man.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>pidentd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.7</version>
+ <release>2</release>
+ <filename>pidentd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/in.identd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl-pod</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>1</release>
+ <filename>perl-pod.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/perldoc'/>
+ <dep name='/usr/bin/pod2html'/>
+ <dep name='/usr/bin/pod2latex'/>
+ <dep name='/usr/bin/pod2man'/>
+ <dep name='/usr/bin/pod2text'/>
+ </provides>
+ <requires>
+ <dep name='perl' op='=' version='5.005_02'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>pilot-link-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9.3</version>
+ <release>2</release>
+ <filename>pilot-link-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/pi-csd'/>
+ <dep name='/usr/bin/pi-getram'/>
+ <dep name='/usr/bin/pi-getrom'/>
+ <dep name='/usr/bin/pi-nredir'/>
+ <dep name='/usr/lib/libpisock.so'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpisock.so.3'/>
+ </requires>
+ </package>
+ <package>
+ <name>pilot-link</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9.3</version>
+ <release>2</release>
+ <filename>pilot-link.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libpisock.so.3'/>
+ <dep name='/usr/bin/dlpsh'/>
+ <dep name='/usr/bin/pilot-addresses'/>
+ <dep name='/usr/bin/pilot-addresses-local'/>
+ <dep name='/usr/bin/pilot-clip'/>
+ <dep name='/usr/bin/pilot-debug'/>
+ <dep name='/usr/bin/pilot-dedupe'/>
+ <dep name='/usr/bin/pilot-file'/>
+ <dep name='/usr/bin/pilot-getrom'/>
+ <dep name='/usr/bin/pilot-install-datebook'/>
+ <dep name='/usr/bin/pilot-install-memo'/>
+ <dep name='/usr/bin/pilot-install-todos'/>
+ <dep name='/usr/bin/pilot-install-user'/>
+ <dep name='/usr/bin/pilot-mail'/>
+ <dep name='/usr/bin/pilot-memos-local'/>
+ <dep name='/usr/bin/pilot-read-expenses'/>
+ <dep name='/usr/bin/pilot-read-ical'/>
+ <dep name='/usr/bin/pilot-read-todos'/>
+ <dep name='/usr/bin/pilot-reminders-local'/>
+ <dep name='/usr/bin/pilot-schlep'/>
+ <dep name='/usr/bin/pilot-sync-plan'/>
+ <dep name='/usr/bin/pilot-tcp-gw'/>
+ <dep name='/usr/bin/pilot-undelete'/>
+ <dep name='/usr/bin/pilot-xfer'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpisock.so.3'/>
+ <dep name='libreadline.so.3'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>pixmap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.6p4</version>
+ <release>4</release>
+ <filename>pixmap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/pixmap'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>pixmap-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.6p4</version>
+ <release>4</release>
+ <filename>pixmap-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>plan</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.7.2</version>
+ <release>2</release>
+ <filename>plan.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/plan'/>
+ <dep name='/usr/X11R6/libexec/netplan'/>
+ <dep name='/usr/X11R6/libexec/notifier'/>
+ <dep name='/usr/X11R6/libexec/pland'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>playmidi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.4</version>
+ <release>2</release>
+ <filename>playmidi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/playmidi'/>
+ <dep name='/usr/bin/xplaymidi'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>plugger</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0</version>
+ <release>3</release>
+ <filename>plugger.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='plugger.so'/>
+ <dep name='/etc/pluggerrc'/>
+ <dep name='/opt/netscape/communicator/plugins/plugger.so'/>
+ <dep name='/usr/man/man7/plugger.7'/>
+ </provides>
+ </package>
+ <package>
+ <name>pmirror</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5</version>
+ <release>5</release>
+ <filename>pmirror.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/pmirror'/>
+ <dep name='/usr/lib/perl5/mftp.pl'/>
+ </provides>
+ <requires>
+ <dep name='perl'/>
+ <dep name='perl-add'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>popt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3</version>
+ <release>1</release>
+ <filename>popt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>portmap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5beta</version>
+ <release>3</release>
+ <filename>portmap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/pmap_dump'/>
+ <dep name='/usr/sbin/pmap_set'/>
+ <dep name='/usr/sbin/rpc.portmap'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ppp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.3.8</version>
+ <release>1</release>
+ <filename>ppp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/ppp/ip-down'/>
+ <dep name='/etc/ppp/ip-up'/>
+ <dep name='/usr/sbin/chat'/>
+ <dep name='/usr/sbin/pppd'/>
+ <dep name='/usr/sbin/ppplogin'/>
+ <dep name='/usr/sbin/pppstats'/>
+ </provides>
+ <requires>
+ <dep name='linux-kernel-binary' op='>=' version='2.2.3'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpam.so.0'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ppp-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.3.8</version>
+ <release>1</release>
+ <filename>ppp-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>procmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.13.1</version>
+ <release>1</release>
+ <filename>procmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/formail'/>
+ <dep name='/usr/bin/lockfile'/>
+ <dep name='/usr/bin/mailstat'/>
+ <dep name='/usr/bin/procmail'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>procps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.2</version>
+ <release>1</release>
+ <filename>procps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/ps'/>
+ <dep name='/usr/X11R6/bin/XConsole'/>
+ <dep name='/usr/bin/free'/>
+ <dep name='/usr/bin/oldps'/>
+ <dep name='/usr/bin/skill'/>
+ <dep name='/usr/bin/snice'/>
+ <dep name='/usr/bin/tload'/>
+ <dep name='/usr/bin/top'/>
+ <dep name='/usr/bin/uptime'/>
+ <dep name='/usr/bin/vmstat'/>
+ <dep name='/usr/bin/w'/>
+ <dep name='/usr/bin/watch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>psmisc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>18</version>
+ <release>1</release>
+ <filename>psmisc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/fuser'/>
+ <dep name='/usr/bin/killall'/>
+ <dep name='/usr/bin/pidof'/>
+ <dep name='/usr/bin/pstree'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>psutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.17</version>
+ <release>3</release>
+ <filename>psutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/epsffit'/>
+ <dep name='/usr/bin/extractres'/>
+ <dep name='/usr/bin/fixdlsrps'/>
+ <dep name='/usr/bin/fixfmps'/>
+ <dep name='/usr/bin/fixpsditps'/>
+ <dep name='/usr/bin/fixpspps'/>
+ <dep name='/usr/bin/fixscribeps'/>
+ <dep name='/usr/bin/fixtpps'/>
+ <dep name='/usr/bin/fixwfwps'/>
+ <dep name='/usr/bin/fixwpps'/>
+ <dep name='/usr/bin/fixwwps'/>
+ <dep name='/usr/bin/getafm'/>
+ <dep name='/usr/bin/includeres'/>
+ <dep name='/usr/bin/psbook'/>
+ <dep name='/usr/bin/psmerge'/>
+ <dep name='/usr/bin/psnup'/>
+ <dep name='/usr/bin/psresize'/>
+ <dep name='/usr/bin/psselect'/>
+ <dep name='/usr/bin/pstops'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>python</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>1</release>
+ <filename>python.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='arraymodule.so'/>
+ <dep name='audioop.so'/>
+ <dep name='binascii.so'/>
+ <dep name='bsddbmodule.so'/>
+ <dep name='cPickle.so'/>
+ <dep name='cStringIO.so'/>
+ <dep name='cmathmodule.so'/>
+ <dep name='cryptmodule.so'/>
+ <dep name='cursesmodule.so'/>
+ <dep name='errnomodule.so'/>
+ <dep name='fcntlmodule.so'/>
+ <dep name='grpmodule.so'/>
+ <dep name='imageop.so'/>
+ <dep name='mathmodule.so'/>
+ <dep name='md5module.so'/>
+ <dep name='newmodule.so'/>
+ <dep name='nismodule.so'/>
+ <dep name='operator.so'/>
+ <dep name='parsermodule.so'/>
+ <dep name='pwdmodule.so'/>
+ <dep name='readline.so'/>
+ <dep name='resource.so'/>
+ <dep name='rgbimgmodule.so'/>
+ <dep name='rotormodule.so'/>
+ <dep name='selectmodule.so'/>
+ <dep name='socketmodule.so'/>
+ <dep name='stropmodule.so'/>
+ <dep name='structmodule.so'/>
+ <dep name='syslogmodule.so'/>
+ <dep name='termios.so'/>
+ <dep name='timemodule.so'/>
+ <dep name='timingmodule.so'/>
+ <dep name='zlibmodule.so'/>
+ <dep name='/usr/bin/python'/>
+ <dep name='/usr/bin/python1.5'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/arraymodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/audioop.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/binascii.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/bsddbmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/cPickle.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/cStringIO.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/cmathmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/cryptmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/cursesmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/errnomodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/fcntlmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/grpmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/imageop.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/mathmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/md5module.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/newmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/nismodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/operator.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/parsermodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/pwdmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/readline.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/resource.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/rgbimgmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/rotormodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/selectmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/socketmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/stropmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/structmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/syslogmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/termios.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/timemodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/timingmodule.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/zlibmodule.so'/>
+ <dep name='/usr/lib/python1.5/plat-linux-i686/regen'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libreadline.so.3'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>python-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>1</release>
+ <filename>python-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>python-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>1</release>
+ <filename>python-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/python1.5/base64.py'/>
+ <dep name='/usr/lib/python1.5/cgi.py'/>
+ <dep name='/usr/lib/python1.5/config/install-sh'/>
+ <dep name='/usr/lib/python1.5/config/makesetup'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Abstract.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/BoxParent.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Buttons.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/CSplit.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/DirList.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/FormSplit.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/HVSplit.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Histogram.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Sliders.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Soundogram.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/Split.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/StripChart.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/TextEdit.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/TransParent.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/VUMeter.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/WindowParent.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/WindowSched.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/anywin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/basewin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/dirwin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/filewin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/formatter.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/gwin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/listwin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/mainloop.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/rect.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/srcwin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/stdwinevents.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/stdwinq.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/tablewin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/textwin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/wdb.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/wdbframewin.py'/>
+ <dep name='/usr/lib/python1.5/lib-stdwin/wdbsrcwin.py'/>
+ <dep name='/usr/lib/python1.5/mailbox.py'/>
+ <dep name='/usr/lib/python1.5/mimify.py'/>
+ <dep name='/usr/lib/python1.5/pdb.py'/>
+ <dep name='/usr/lib/python1.5/profile.py'/>
+ <dep name='/usr/lib/python1.5/quopri.py'/>
+ <dep name='/usr/lib/python1.5/reconvert.py'/>
+ <dep name='/usr/lib/python1.5/test/pystone.py'/>
+ <dep name='/usr/lib/python1.5/test/regrtest.py'/>
+ <dep name='/usr/lib/python1.5/test/test_binascii.py'/>
+ <dep name='/usr/lib/python1.5/test/test_bsddb.py'/>
+ <dep name='/usr/lib/python1.5/test/test_cmath.py'/>
+ <dep name='/usr/lib/python1.5/test/test_crypt.py'/>
+ <dep name='/usr/lib/python1.5/test/test_dbm.py'/>
+ <dep name='/usr/lib/python1.5/test/test_dl.py'/>
+ <dep name='/usr/lib/python1.5/test/test_errno.py'/>
+ <dep name='/usr/lib/python1.5/test/test_fcntl.py'/>
+ <dep name='/usr/lib/python1.5/test/test_gdbm.py'/>
+ <dep name='/usr/lib/python1.5/uu.py'/>
+ </provides>
+ <requires>
+ <dep name='python' op='=' version='1.5.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/env'/>
+ <dep name='/usr/bin/python'/>
+ </requires>
+ </package>
+ <package>
+ <name>python-eclass</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>2</release>
+ <filename>python-eclass.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='Acquisition.so'/>
+ <dep name='ExtensionClass.so'/>
+ <dep name='MethodObject.so'/>
+ <dep name='Missing.so'/>
+ <dep name='MultiMapping.so'/>
+ <dep name='Sync.so'/>
+ <dep name='ThreadLock.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/Acquisition.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/ExtensionClass.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/MethodObject.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/Missing.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/MultiMapping.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/Sync.so'/>
+ <dep name='/usr/lib/python1.5/site-packages/ThreadLock.so'/>
+ </provides>
+ <requires>
+ <dep name='python' op='>=' version='1.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>python-tk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>1</release>
+ <filename>python-tk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='_tkinter.so'/>
+ <dep name='/usr/lib/python1.5/lib-dynload/_tkinter.so'/>
+ <dep name='/usr/lib/python1.5/lib-tk/Canvas.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/Dialog.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/FileDialog.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/ScrolledText.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/SimpleDialog.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/Tkconstants.py'/>
+ <dep name='/usr/lib/python1.5/lib-tk/Tkinter.py'/>
+ </provides>
+ <requires>
+ <dep name='python' op='=' version='1.5.1'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libqt.so.1'/>
+ <dep name='/usr/lib/libqt.so.1.44'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/moc'/>
+ <dep name='/usr/lib/libqt.so'/>
+ </provides>
+ <requires>
+ <dep name='qt' op='=' version='1.44'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>qt-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt/examples/aclock/aclock'/>
+ <dep name='/usr/lib/qt/examples/application/application'/>
+ <dep name='/usr/lib/qt/examples/biff/biff'/>
+ <dep name='/usr/lib/qt/examples/connect/connect'/>
+ <dep name='/usr/lib/qt/examples/cursor/cursor'/>
+ <dep name='/usr/lib/qt/examples/dclock/dclock'/>
+ <dep name='/usr/lib/qt/examples/desktop/desktop'/>
+ <dep name='/usr/lib/qt/examples/dirview/dirview'/>
+ <dep name='/usr/lib/qt/examples/dragdrop/dragdrop'/>
+ <dep name='/usr/lib/qt/examples/drawdemo/drawdemo'/>
+ <dep name='/usr/lib/qt/examples/forever/forever'/>
+ <dep name='/usr/lib/qt/examples/hello/hello'/>
+ <dep name='/usr/lib/qt/examples/layout/layout'/>
+ <dep name='/usr/lib/qt/examples/life/life'/>
+ <dep name='/usr/lib/qt/examples/menu/menu'/>
+ <dep name='/usr/lib/qt/examples/movies/movies'/>
+ <dep name='/usr/lib/qt/examples/pref/pref'/>
+ <dep name='/usr/lib/qt/examples/progress/progress'/>
+ <dep name='/usr/lib/qt/examples/qdir/qdir'/>
+ <dep name='/usr/lib/qt/examples/qmag/qmag'/>
+ <dep name='/usr/lib/qt/examples/qwerty/qwerty'/>
+ <dep name='/usr/lib/qt/examples/scrollview/scrollview'/>
+ <dep name='/usr/lib/qt/examples/showimg/showimg'/>
+ <dep name='/usr/lib/qt/examples/splitter/splitter'/>
+ <dep name='/usr/lib/qt/examples/table/table'/>
+ <dep name='/usr/lib/qt/examples/tetrix/tetrix'/>
+ <dep name='/usr/lib/qt/examples/tictac/tictac'/>
+ <dep name='/usr/lib/qt/examples/timestmp/timestmp'/>
+ <dep name='/usr/lib/qt/examples/tooltip/tooltip'/>
+ <dep name='/usr/lib/qt/examples/validator/validator'/>
+ <dep name='/usr/lib/qt/examples/widgets/widgets'/>
+ <dep name='/usr/lib/qt/examples/xform/xform'/>
+ </provides>
+ <requires>
+ <dep name='qt' op='=' version='1.44'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-opengl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-opengl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libqgl.a'/>
+ </provides>
+ <requires>
+ <dep name='mesa'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-qimgio</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-qimgio.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libqimgio.so.0'/>
+ <dep name='/usr/lib/libqimgio.so'/>
+ <dep name='/usr/lib/libqimgio.so.0.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-tutorial</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.44</version>
+ <release>4</release>
+ <filename>qt-tutorial.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt/tutorial/t1/t1'/>
+ <dep name='/usr/lib/qt/tutorial/t10/t10'/>
+ <dep name='/usr/lib/qt/tutorial/t11/t11'/>
+ <dep name='/usr/lib/qt/tutorial/t12/t12'/>
+ <dep name='/usr/lib/qt/tutorial/t13/t13'/>
+ <dep name='/usr/lib/qt/tutorial/t14/t14'/>
+ <dep name='/usr/lib/qt/tutorial/t2/t2'/>
+ <dep name='/usr/lib/qt/tutorial/t3/t3'/>
+ <dep name='/usr/lib/qt/tutorial/t4/t4'/>
+ <dep name='/usr/lib/qt/tutorial/t5/t5'/>
+ <dep name='/usr/lib/qt/tutorial/t6/t6'/>
+ <dep name='/usr/lib/qt/tutorial/t7/t7'/>
+ <dep name='/usr/lib/qt/tutorial/t8/t8'/>
+ <dep name='/usr/lib/qt/tutorial/t9/t9'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libqt.so.2'/>
+ <dep name='/usr/lib/qt2/lib/libqt.so.2.0.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt2/bin/moc'/>
+ <dep name='/usr/lib/qt2/lib/libqt.so'/>
+ </provides>
+ <requires>
+ <dep name='qt2' op='=' version='2.0.1'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>qt2-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt2/examples/aclock/aclock'/>
+ <dep name='/usr/lib/qt2/examples/addressbook/addressbook'/>
+ <dep name='/usr/lib/qt2/examples/application/application'/>
+ <dep name='/usr/lib/qt2/examples/buttons_groups/buttons_groups'/>
+ <dep name='/usr/lib/qt2/examples/checklists/checklists'/>
+ <dep name='/usr/lib/qt2/examples/cursor/cursor'/>
+ <dep name='/usr/lib/qt2/examples/customlayout/customlayout'/>
+ <dep name='/usr/lib/qt2/examples/dclock/dclock'/>
+ <dep name='/usr/lib/qt2/examples/dirview/dirview'/>
+ <dep name='/usr/lib/qt2/examples/dragdrop/dragdrop'/>
+ <dep name='/usr/lib/qt2/examples/drawdemo/drawdemo'/>
+ <dep name='/usr/lib/qt2/examples/drawlines/drawlines'/>
+ <dep name='/usr/lib/qt2/examples/forever/forever'/>
+ <dep name='/usr/lib/qt2/examples/hello/hello'/>
+ <dep name='/usr/lib/qt2/examples/i18n/i18n'/>
+ <dep name='/usr/lib/qt2/examples/layout/layout'/>
+ <dep name='/usr/lib/qt2/examples/life/life'/>
+ <dep name='/usr/lib/qt2/examples/lineedits/lineedits'/>
+ <dep name='/usr/lib/qt2/examples/listbox/listbox'/>
+ <dep name='/usr/lib/qt2/examples/listbox_combo/listbox_combo'/>
+ <dep name='/usr/lib/qt2/examples/listviews/listviews'/>
+ <dep name='/usr/lib/qt2/examples/menu/menu'/>
+ <dep name='/usr/lib/qt2/examples/movies/movies'/>
+ <dep name='/usr/lib/qt2/examples/picture/picture'/>
+ <dep name='/usr/lib/qt2/examples/popup/popup'/>
+ <dep name='/usr/lib/qt2/examples/progress/progress'/>
+ <dep name='/usr/lib/qt2/examples/progressbar/progressbar'/>
+ <dep name='/usr/lib/qt2/examples/qbrowser/qbrowser'/>
+ <dep name='/usr/lib/qt2/examples/qdir/qdir'/>
+ <dep name='/usr/lib/qt2/examples/qfd/qfd'/>
+ <dep name='/usr/lib/qt2/examples/qfileiconview/qfileiconview'/>
+ <dep name='/usr/lib/qt2/examples/qiconview/qiconview'/>
+ <dep name='/usr/lib/qt2/examples/qmag/qmag'/>
+ <dep name='/usr/lib/qt2/examples/qwerty/qwerty'/>
+ <dep name='/usr/lib/qt2/examples/rangecontrols/rangecontrols'/>
+ <dep name='/usr/lib/qt2/examples/richtext/richtext'/>
+ <dep name='/usr/lib/qt2/examples/rot13/rot13'/>
+ <dep name='/usr/lib/qt2/examples/scribble/scribble'/>
+ <dep name='/usr/lib/qt2/examples/scrollview/scrollview'/>
+ <dep name='/usr/lib/qt2/examples/showimg/showimg'/>
+ <dep name='/usr/lib/qt2/examples/splitter/splitter'/>
+ <dep name='/usr/lib/qt2/examples/tabdialog/tabdialog'/>
+ <dep name='/usr/lib/qt2/examples/table/table'/>
+ <dep name='/usr/lib/qt2/examples/tetrix/tetrix'/>
+ <dep name='/usr/lib/qt2/examples/themes/themes'/>
+ <dep name='/usr/lib/qt2/examples/tictac/tictac'/>
+ <dep name='/usr/lib/qt2/examples/tooltip/tooltip'/>
+ <dep name='/usr/lib/qt2/examples/validator/validator'/>
+ <dep name='/usr/lib/qt2/examples/widgets/widgets'/>
+ <dep name='/usr/lib/qt2/examples/wizard/wizard'/>
+ <dep name='/usr/lib/qt2/examples/xform/xform'/>
+ </provides>
+ <requires>
+ <dep name='qt2' op='=' version='2.0.1'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2-opengl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-opengl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt2/lib/libqgl2.a'/>
+ </provides>
+ <requires>
+ <dep name='mesa'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2-qimgio</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-qimgio.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libqimgio.so.0'/>
+ <dep name='/usr/lib/qt2/lib/libqimgio.so'/>
+ <dep name='/usr/lib/qt2/lib/libqimgio.so.0.1.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt2-tutorial</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>2</release>
+ <filename>qt2-tutorial.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/qt2/tutorial/t1/t1'/>
+ <dep name='/usr/lib/qt2/tutorial/t10/t10'/>
+ <dep name='/usr/lib/qt2/tutorial/t11/t11'/>
+ <dep name='/usr/lib/qt2/tutorial/t12/t12'/>
+ <dep name='/usr/lib/qt2/tutorial/t13/t13'/>
+ <dep name='/usr/lib/qt2/tutorial/t14/t14'/>
+ <dep name='/usr/lib/qt2/tutorial/t2/t2'/>
+ <dep name='/usr/lib/qt2/tutorial/t3/t3'/>
+ <dep name='/usr/lib/qt2/tutorial/t4/t4'/>
+ <dep name='/usr/lib/qt2/tutorial/t5/t5'/>
+ <dep name='/usr/lib/qt2/tutorial/t6/t6'/>
+ <dep name='/usr/lib/qt2/tutorial/t7/t7'/>
+ <dep name='/usr/lib/qt2/tutorial/t8/t8'/>
+ <dep name='/usr/lib/qt2/tutorial/t9/t9'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libqt.so.2'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>rat</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.4_990625</version>
+ <release>1</release>
+ <filename>rat.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/rat'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>rcs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.7</version>
+ <release>5</release>
+ <filename>rcs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/ci'/>
+ <dep name='/usr/bin/co'/>
+ <dep name='/usr/bin/ident'/>
+ <dep name='/usr/bin/merge'/>
+ <dep name='/usr/bin/rcs'/>
+ <dep name='/usr/bin/rcsclean'/>
+ <dep name='/usr/bin/rcsdiff'/>
+ <dep name='/usr/bin/rcsfreeze'/>
+ <dep name='/usr/bin/rcsmerge'/>
+ <dep name='/usr/bin/rlog'/>
+ <dep name='/usr/doc/rcs-5.7/COPYING'/>
+ </provides>
+ <requires>
+ <dep name='diffutils'/>
+ <dep name='ed'/>
+ <dep name='mktemp'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>rdate</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>960923</version>
+ <release>1</release>
+ <filename>rdate.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rdate'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>readline-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0</release>
+ <filename>readline-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='readline-devel' op='=' version='2.2.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>readline-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0</release>
+ <filename>readline-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libhistory.so'/>
+ <dep name='/usr/lib/libreadline.so'/>
+ </provides>
+ <requires>
+ <dep name='readline' op='=' version='2.2.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>readline</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0</release>
+ <filename>readline.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libhistory.so.3'/>
+ <dep name='libreadline.so.3'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>recode</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5</version>
+ <release>1</release>
+ <filename>recode.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='librecode.so.0'/>
+ <dep name='/usr/bin/recode'/>
+ <dep name='/usr/lib/librecode.la'/>
+ <dep name='/usr/lib/librecode.so.0.0.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='librecode.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>rh-compat</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.3</version>
+ <release>1</release>
+ <filename>rh-compat.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libstdc++-libc6.1-1.so.2'/>
+ </provides>
+ <requires>
+ <dep name='libstdc++' op='=' version='2.9.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>rhmask</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>4</release>
+ <filename>rhmask.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rhmask'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>rosegarden</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2u0</version>
+ <release>2</release>
+ <filename>rosegarden.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='Petal.so'/>
+ <dep name='/usr/bin/rosegarden'/>
+ <dep name='/usr/lib/rosegarden/bin/editor'/>
+ <dep name='/usr/lib/rosegarden/bin/sequencer'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>rpm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5.5</version>
+ <release>3</release>
+ <filename>rpm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/rpm'/>
+ <dep name='/bin/rpmextr'/>
+ <dep name='/bin/rpminst'/>
+ <dep name='/bin/rpmshow'/>
+ <dep name='/usr/bin/gendiff'/>
+ <dep name='/usr/bin/rpm2cpio'/>
+ <dep name='/usr/lib/rpm-2.5.5/cklibc5.pl'/>
+ <dep name='/usr/lib/rpm-2.5.5/find-lang.sh'/>
+ <dep name='/usr/lib/rpm-2.5.5/find-provides'/>
+ <dep name='/usr/lib/rpm-2.5.5/find-requires'/>
+ <dep name='/usr/lib/rpm-2.5.5/fixsymlinks.pl'/>
+ <dep name='/usr/lib/rpm-2.5.5/fixup.pl'/>
+ <dep name='/usr/lib/rpm-2.5.5/freshen.sh'/>
+ <dep name='/usr/lib/rpm-2.5.5/mkcopyright.pl'/>
+ <dep name='/usr/lib/rpm-2.5.5/mkinstalldirs'/>
+ <dep name='/usr/lib/rpm-2.5.5/mklists.pl'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ <conflicts>
+ <dep name='patch' op='<' version='2.5'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>rpm-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5.5</version>
+ <release>3</release>
+ <filename>rpm-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>rstatd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.03</version>
+ <release>1</release>
+ <filename>rstatd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/rstatd'/>
+ <dep name='/usr/bin/rsysinfo'/>
+ <dep name='/usr/sbin/rpc.rstatd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>rstatd-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.03</version>
+ <release>1</release>
+ <filename>rstatd-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>rsync</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.3.1</version>
+ <release>1</release>
+ <filename>rsync.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rsync'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>samba</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>samba.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/samba'/>
+ <dep name='/usr/bin/nmblookup'/>
+ <dep name='/usr/bin/rpcclient'/>
+ <dep name='/usr/bin/smbclient'/>
+ <dep name='/usr/bin/smbpasswd'/>
+ <dep name='/usr/bin/smbprint'/>
+ <dep name='/usr/bin/smbstatus'/>
+ <dep name='/usr/bin/smbtar'/>
+ <dep name='/usr/bin/smbtestparm'/>
+ <dep name='/usr/bin/smbtestprns'/>
+ <dep name='/usr/bin/testparm'/>
+ <dep name='/usr/bin/testprns'/>
+ <dep name='/usr/doc/samba-2.0.5/COPYING'/>
+ <dep name='/usr/sbin/addtosmbpass'/>
+ <dep name='/usr/sbin/convert_smbpasswd'/>
+ <dep name='/usr/sbin/convertsmbpasswd'/>
+ <dep name='/usr/sbin/findsmb'/>
+ <dep name='/usr/sbin/make_smbcodepage'/>
+ <dep name='/usr/sbin/mksmbcodepage'/>
+ <dep name='/usr/sbin/mksmbpasswd'/>
+ <dep name='/usr/sbin/mksmbprinterdef'/>
+ <dep name='/usr/sbin/nmbd'/>
+ <dep name='/usr/sbin/samba'/>
+ <dep name='/usr/sbin/smbadduser'/>
+ <dep name='/usr/sbin/smbd'/>
+ <dep name='/usr/sbin/updatesmbpasswd'/>
+ </provides>
+ <requires>
+ <dep name='libpam' op='>=' version='0.66'/>
+ <dep name='SysVinit-scripts' op='>=' version='1.04' release='6'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpam.so.0'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/awk'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>samba-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>samba-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/samba-2.0.5/docs/textdocs/MIRRORS.txt'/>
+ </provides>
+ </package>
+ <package>
+ <name>sane</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.1</version>
+ <release>2</release>
+ <filename>sane.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libsane.so.1'/>
+ <dep name='libsane-abaton.so.1'/>
+ <dep name='libsane-agfafocus.so.1'/>
+ <dep name='libsane-apple.so.1'/>
+ <dep name='libsane-artec.so.1'/>
+ <dep name='libsane-canon.so.1'/>
+ <dep name='libsane-coolscan.so.1'/>
+ <dep name='libsane-dc210.so.1'/>
+ <dep name='libsane-dc25.so.1'/>
+ <dep name='libsane-dll.so.1'/>
+ <dep name='libsane-dmc.so.1'/>
+ <dep name='libsane-epson.so.1'/>
+ <dep name='libsane-hp.so.1'/>
+ <dep name='libsane-microtek.so.1'/>
+ <dep name='libsane-microtek2.so.1'/>
+ <dep name='libsane-mustek.so.1'/>
+ <dep name='libsane-net.so.1'/>
+ <dep name='libsane-pnm.so.1'/>
+ <dep name='libsane-qcam.so.1'/>
+ <dep name='libsane-ricoh.so.1'/>
+ <dep name='libsane-s9036.so.1'/>
+ <dep name='libsane-sharp.so.1'/>
+ <dep name='libsane-snapscan.so.1'/>
+ <dep name='libsane-tamarack.so.1'/>
+ <dep name='libsane-umax.so.1'/>
+ <dep name='/usr/bin/scanimage'/>
+ <dep name='/usr/bin/xcam'/>
+ <dep name='/usr/bin/xscanimage'/>
+ <dep name='/usr/lib/libsane.so.1'/>
+ <dep name='/usr/lib/libsane.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-abaton.so.1'/>
+ <dep name='/usr/lib/sane/libsane-abaton.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-agfafocus.so.1'/>
+ <dep name='/usr/lib/sane/libsane-agfafocus.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-apple.so.1'/>
+ <dep name='/usr/lib/sane/libsane-apple.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-artec.so.1'/>
+ <dep name='/usr/lib/sane/libsane-artec.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-canon.so.1'/>
+ <dep name='/usr/lib/sane/libsane-canon.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-coolscan.so.1'/>
+ <dep name='/usr/lib/sane/libsane-coolscan.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-dc210.so.1'/>
+ <dep name='/usr/lib/sane/libsane-dc210.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-dc25.so.1'/>
+ <dep name='/usr/lib/sane/libsane-dc25.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-dll.so.1'/>
+ <dep name='/usr/lib/sane/libsane-dll.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-dmc.so.1'/>
+ <dep name='/usr/lib/sane/libsane-dmc.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-epson.so.1'/>
+ <dep name='/usr/lib/sane/libsane-epson.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-hp.so.1'/>
+ <dep name='/usr/lib/sane/libsane-hp.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-microtek.so.1'/>
+ <dep name='/usr/lib/sane/libsane-microtek.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-microtek2.so.1'/>
+ <dep name='/usr/lib/sane/libsane-microtek2.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-mustek.so.1'/>
+ <dep name='/usr/lib/sane/libsane-mustek.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-net.so.1'/>
+ <dep name='/usr/lib/sane/libsane-net.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-pnm.so.1'/>
+ <dep name='/usr/lib/sane/libsane-pnm.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-qcam.so.1'/>
+ <dep name='/usr/lib/sane/libsane-qcam.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-ricoh.so.1'/>
+ <dep name='/usr/lib/sane/libsane-ricoh.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-s9036.so.1'/>
+ <dep name='/usr/lib/sane/libsane-s9036.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-sharp.so.1'/>
+ <dep name='/usr/lib/sane/libsane-sharp.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-snapscan.so.1'/>
+ <dep name='/usr/lib/sane/libsane-snapscan.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-tamarack.so.1'/>
+ <dep name='/usr/lib/sane/libsane-tamarack.so.1.0.1'/>
+ <dep name='/usr/lib/sane/libsane-umax.so.1'/>
+ <dep name='/usr/lib/sane/libsane-umax.so.1.0.1'/>
+ <dep name='/usr/sbin/find-scanner'/>
+ <dep name='/usr/sbin/in.saned'/>
+ </provides>
+ <requires>
+ <dep name='gtk+' op='>=' version='1.0'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libgdk-1.2.so.0'/>
+ <dep name='libglib-1.2.so.0'/>
+ <dep name='libgmodule-1.2.so.0'/>
+ <dep name='libgtk-1.2.so.0'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libsane.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>sane-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.1</version>
+ <release>2</release>
+ <filename>sane-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libsane.so'/>
+ <dep name='/usr/lib/sane/libsane-abaton.so'/>
+ <dep name='/usr/lib/sane/libsane-agfafocus.so'/>
+ <dep name='/usr/lib/sane/libsane-apple.so'/>
+ <dep name='/usr/lib/sane/libsane-artec.so'/>
+ <dep name='/usr/lib/sane/libsane-canon.so'/>
+ <dep name='/usr/lib/sane/libsane-coolscan.so'/>
+ <dep name='/usr/lib/sane/libsane-dc210.so'/>
+ <dep name='/usr/lib/sane/libsane-dc25.so'/>
+ <dep name='/usr/lib/sane/libsane-dll.so'/>
+ <dep name='/usr/lib/sane/libsane-dmc.so'/>
+ <dep name='/usr/lib/sane/libsane-epson.so'/>
+ <dep name='/usr/lib/sane/libsane-hp.so'/>
+ <dep name='/usr/lib/sane/libsane-microtek.so'/>
+ <dep name='/usr/lib/sane/libsane-microtek2.so'/>
+ <dep name='/usr/lib/sane/libsane-mustek.so'/>
+ <dep name='/usr/lib/sane/libsane-net.so'/>
+ <dep name='/usr/lib/sane/libsane-pnm.so'/>
+ <dep name='/usr/lib/sane/libsane-qcam.so'/>
+ <dep name='/usr/lib/sane/libsane-ricoh.so'/>
+ <dep name='/usr/lib/sane/libsane-s9036.so'/>
+ <dep name='/usr/lib/sane/libsane-sharp.so'/>
+ <dep name='/usr/lib/sane/libsane-snapscan.so'/>
+ <dep name='/usr/lib/sane/libsane-tamarack.so'/>
+ <dep name='/usr/lib/sane/libsane-umax.so'/>
+ </provides>
+ <requires>
+ <dep name='sane' op='=' version='1.0.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>scotty</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.10</version>
+ <release>4</release>
+ <filename>scotty.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='tkined1.4.10.so'/>
+ <dep name='tnm2.1.10.so'/>
+ <dep name='/usr/bin/ntping'/>
+ <dep name='/usr/bin/scotty'/>
+ <dep name='/usr/bin/scotty2.1.10'/>
+ <dep name='/usr/bin/straps'/>
+ <dep name='/usr/bin/tkined'/>
+ <dep name='/usr/bin/tkined1.4.10'/>
+ <dep name='/usr/lib/tkined1.4.10.so'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/bones.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/clock.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/cmip_trouble.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/event.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/game.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/ip_discover.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/ip_layout.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/ip_monitor.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/ip_trouble.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/ip_world.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/manager.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/mibtree'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/movie.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_browser.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_cisco.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_host.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_hp.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_monitor.tcl'/>
+ <dep name='/usr/lib/tkined1.4.10/apps/snmp_trouble.tcl'/>
+ <dep name='/usr/lib/tnm2.1.10.so'/>
+ <dep name='/usr/lib/tnm2.1.10/agents/snmpd'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/discover'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/emok'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/etherload'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/ifload'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/ifload2gif'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/mibgrep'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/mibtree'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/nslook'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/pcnfs'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/rpcprobe'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/rstat'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/snmptrapd'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/snmpwalk'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/tcpspeed'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/traceroute'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/udploss'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/udpspeed'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/uiping'/>
+ <dep name='/usr/lib/tnm2.1.10/examples/yanny'/>
+ </provides>
+ <requires>
+ <dep name='tcl' op='>=' version='7.5'/>
+ <dep name='tk' op='>=' version='4.1'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>screen</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.9.5</version>
+ <release>1</release>
+ <filename>screen.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/screen'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libutempter.so.0'/>
+ <dep name='libutil.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>sdr</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>6.1_990625</version>
+ <release>1</release>
+ <filename>sdr.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/sdr'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>sed</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.02</version>
+ <release>1</release>
+ <filename>sed.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/sed'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>sendmail-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.9.3</version>
+ <release>1</release>
+ <filename>sendmail-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>sendmail-cf</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.9.3</version>
+ <release>1</release>
+ <filename>sendmail-cf.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/share/sendmail/cf/cf/Build'/>
+ </provides>
+ <requires>
+ <dep name='sendmail'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>sendmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.9.3</version>
+ <release>1</release>
+ <filename>sendmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='MTA'/>
+ <dep name='/usr/libexec/sendmail/configure'/>
+ <dep name='/usr/libexec/sendmail/mail.local'/>
+ <dep name='/usr/libexec/sendmail/mailstats'/>
+ <dep name='/usr/libexec/sendmail/makemap'/>
+ <dep name='/usr/libexec/sendmail/praliases'/>
+ <dep name='/usr/libexec/sendmail/rmail'/>
+ <dep name='/usr/libexec/sendmail/sendmail'/>
+ <dep name='/usr/libexec/sendmail/smrsh'/>
+ </provides>
+ <requires>
+ <dep name='mtabase'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>setserial</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.15</version>
+ <release>1</release>
+ <filename>setserial.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/rc.serial'/>
+ <dep name='/sbin/setserial'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>setup</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>6</release>
+ <filename>setup.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/config.d/shells/OL-greeting'/>
+ </provides>
+ </package>
+ <package>
+ <name>seyon</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.20c</version>
+ <release>1</release>
+ <filename>seyon.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/seyon'/>
+ <dep name='/usr/X11R6/bin/seyon-emu'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>sgml-tools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.9</version>
+ <release>1</release>
+ <filename>sgml-tools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/nsgmls'/>
+ <dep name='/usr/bin/rtf2rtf'/>
+ <dep name='/usr/bin/sgml2html'/>
+ <dep name='/usr/bin/sgml2info'/>
+ <dep name='/usr/bin/sgml2latex'/>
+ <dep name='/usr/bin/sgml2lyx'/>
+ <dep name='/usr/bin/sgml2rtf'/>
+ <dep name='/usr/bin/sgml2txt'/>
+ <dep name='/usr/bin/sgmlcheck'/>
+ <dep name='/usr/bin/sgmlpre'/>
+ <dep name='/usr/bin/sgmlsasp'/>
+ <dep name='/usr/bin/sgmltools.v1'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>sh-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.16</version>
+ <release>7</release>
+ <filename>sh-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/date'/>
+ <dep name='/bin/echo'/>
+ <dep name='/bin/pwd'/>
+ <dep name='/bin/sleep'/>
+ <dep name='/bin/stty'/>
+ <dep name='/bin/su'/>
+ <dep name='/bin/uname'/>
+ <dep name='/usr/bin/['/>
+ <dep name='/usr/bin/basename'/>
+ <dep name='/usr/bin/dirname'/>
+ <dep name='/usr/bin/env'/>
+ <dep name='/usr/bin/expr'/>
+ <dep name='/usr/bin/factor'/>
+ <dep name='/usr/bin/groups'/>
+ <dep name='/usr/bin/id'/>
+ <dep name='/usr/bin/logname'/>
+ <dep name='/usr/bin/nice'/>
+ <dep name='/usr/bin/nohup'/>
+ <dep name='/usr/bin/pathchk'/>
+ <dep name='/usr/bin/printenv'/>
+ <dep name='/usr/bin/printf'/>
+ <dep name='/usr/bin/seq'/>
+ <dep name='/usr/bin/tee'/>
+ <dep name='/usr/bin/test'/>
+ <dep name='/usr/bin/tty'/>
+ <dep name='/usr/bin/users'/>
+ <dep name='/usr/bin/who'/>
+ <dep name='/usr/bin/whoami'/>
+ <dep name='/usr/bin/yes'/>
+ <dep name='/usr/sbin/chroot'/>
+ </provides>
+ <requires>
+ <dep name='libpam' op='>=' version='0.65'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpam.so.0'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow-misc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>3</release>
+ <filename>shadow-misc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libshadow.so.0'/>
+ <dep name='pam_dialup.so'/>
+ <dep name='/etc/rc.d/init.d/logoutd'/>
+ <dep name='/usr/bin/chage'/>
+ <dep name='/usr/bin/expiry'/>
+ <dep name='/usr/bin/gpasswd'/>
+ <dep name='/usr/bin/lastlog'/>
+ <dep name='/usr/bin/newgrp'/>
+ <dep name='/usr/bin/sg'/>
+ <dep name='/usr/lib/libshadow.so.0'/>
+ <dep name='/usr/lib/libshadow.so.0.0.0'/>
+ <dep name='/usr/sbin/chpasswd'/>
+ <dep name='/usr/sbin/dpasswd'/>
+ <dep name='/usr/sbin/groupmod'/>
+ <dep name='/usr/sbin/grpck'/>
+ <dep name='/usr/sbin/grpconv'/>
+ <dep name='/usr/sbin/grpunconv'/>
+ <dep name='/usr/sbin/logoutd'/>
+ <dep name='/usr/sbin/newusers'/>
+ <dep name='/usr/sbin/pwck'/>
+ <dep name='/usr/sbin/pwconv'/>
+ <dep name='/usr/sbin/pwunconv'/>
+ <dep name='/usr/sbin/usermod'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libshadow.so.0'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>sharutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>6</release>
+ <filename>sharutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/mail-files'/>
+ <dep name='/usr/bin/mailshar'/>
+ <dep name='/usr/bin/remsync'/>
+ <dep name='/usr/bin/shar'/>
+ <dep name='/usr/bin/unshar'/>
+ <dep name='/usr/bin/uudecode'/>
+ <dep name='/usr/bin/uuencode'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>slang</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.7</version>
+ <release>1</release>
+ <filename>slang.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libslang.so.1'/>
+ <dep name='/usr/doc/slang-1.3.7/COPYING.ART'/>
+ <dep name='/usr/doc/slang-1.3.7/COPYING.GPL'/>
+ </provides>
+ <requires>
+ <dep name='ncurses'/>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>slang-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.7</version>
+ <release>1</release>
+ <filename>slang-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='slang-devel' op='=' version='1.3.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>slang-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.7</version>
+ <release>1</release>
+ <filename>slang-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libslang.so'/>
+ </provides>
+ <requires>
+ <dep name='slang' op='=' version='1.3.7'/>
+ </requires>
+ </package>
+ <package>
+ <name>sliplogin</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.2</version>
+ <release>6S</release>
+ <filename>sliplogin.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/slip/slip.login'/>
+ <dep name='/etc/slip/slip.logout'/>
+ <dep name='/usr/sbin/sliplogin'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>smbfs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>smbfs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/smbmnt'/>
+ <dep name='/usr/bin/smbmount'/>
+ <dep name='/usr/bin/smbumount'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>sniffit</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.3.7beta</version>
+ <release>3</release>
+ <filename>sniffit.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/sniffit'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>sox</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>12.15</version>
+ <release>1</release>
+ <filename>sox.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/play'/>
+ <dep name='/usr/bin/sox'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>sox-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>12.15</version>
+ <release>1</release>
+ <filename>sox-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>splay</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.8.2</version>
+ <release>1</release>
+ <filename>splay.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/splay'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>squid</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.STABLE4</version>
+ <release>8</release>
+ <filename>squid.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/squid'/>
+ <dep name='/home/httpd/cgi-bin/cachemgr.cgi'/>
+ <dep name='/usr/lib/squid/dnsserver'/>
+ <dep name='/usr/lib/squid/unlinkd'/>
+ <dep name='/usr/sbin/client'/>
+ <dep name='/usr/sbin/squid'/>
+ </provides>
+ <requires>
+ <dep name='logrotate'/>
+ <dep name='shadow-misc'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>strace</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0</version>
+ <release>2</release>
+ <filename>strace.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/strace'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>svgalib-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.0</version>
+ <release>0</release>
+ <filename>svgalib-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>svgalib-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.0</version>
+ <release>0</release>
+ <filename>svgalib-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/libvga.so'/>
+ <dep name='/usr/lib/libvgagl.so'/>
+ <dep name='/usr/lib/svga/demos/accel'/>
+ <dep name='/usr/lib/svga/demos/addmodetest'/>
+ <dep name='/usr/lib/svga/demos/bankspeed'/>
+ <dep name='/usr/lib/svga/demos/bg_test'/>
+ <dep name='/usr/lib/svga/demos/eventtest'/>
+ <dep name='/usr/lib/svga/demos/forktest'/>
+ <dep name='/usr/lib/svga/demos/fun'/>
+ <dep name='/usr/lib/svga/demos/joytest'/>
+ <dep name='/usr/lib/svga/demos/keytest'/>
+ <dep name='/usr/lib/svga/demos/linearfork'/>
+ <dep name='/usr/lib/svga/demos/linearspeed'/>
+ <dep name='/usr/lib/svga/demos/lineart'/>
+ <dep name='/usr/lib/svga/demos/mjoytest'/>
+ <dep name='/usr/lib/svga/demos/mousetest'/>
+ <dep name='/usr/lib/svga/demos/printftest'/>
+ <dep name='/usr/lib/svga/demos/scrolltest'/>
+ <dep name='/usr/lib/svga/demos/speedtest'/>
+ <dep name='/usr/lib/svga/demos/spin'/>
+ <dep name='/usr/lib/svga/demos/svidtune'/>
+ <dep name='/usr/lib/svga/demos/testaccel'/>
+ <dep name='/usr/lib/svga/demos/testgl'/>
+ <dep name='/usr/lib/svga/demos/testlinear'/>
+ <dep name='/usr/lib/svga/demos/vgatest'/>
+ <dep name='/usr/lib/svga/threeDKit/plane'/>
+ <dep name='/usr/lib/svga/threeDKit/wrapdemo'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libvga.so.1'/>
+ <dep name='libvgagl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>svgalib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.0</version>
+ <release>0</release>
+ <filename>svgalib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libvga.so.1'/>
+ <dep name='libvgagl.so.1'/>
+ <dep name='/usr/lib/libvga.so.1.4.0'/>
+ <dep name='/usr/lib/libvgagl.so.1.4.0'/>
+ <dep name='/usr/sbin/dumpreg'/>
+ <dep name='/usr/sbin/mode3'/>
+ <dep name='/usr/sbin/restorefont'/>
+ <dep name='/usr/sbin/restorepalette'/>
+ <dep name='/usr/sbin/restoretextmode'/>
+ <dep name='/usr/sbin/savetextmode'/>
+ <dep name='/usr/sbin/svgakeymap'/>
+ <dep name='/usr/sbin/textmode'/>
+ <dep name='/usr/sbin/vga_reset'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libvga.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>swat</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.5</version>
+ <release>1</release>
+ <filename>swat.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/swat'/>
+ </provides>
+ <requires>
+ <dep name='setup' op='>=' version='2.0' release='2'/>
+ <dep name='tcp_wrappers'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpam.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>sysklogd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.31</version>
+ <release>1</release>
+ <filename>sysklogd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='syslog'/>
+ <dep name='/etc/rc.d/init.d/syslog'/>
+ <dep name='/usr/sbin/klogd'/>
+ <dep name='/usr/sbin/syslogd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.04'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>syslinux</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.45</version>
+ <release>1</release>
+ <filename>syslinux.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/syslinux'/>
+ <dep name='/usr/lib/syslinux/keytab-lilo.pl'/>
+ <dep name='/usr/lib/syslinux/sys2ansi.pl'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>SysVinit-scripts</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.05</version>
+ <release>5</release>
+ <filename>SysVinit-scripts.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/usleep'/>
+ <dep name='/etc/rc.d/init.d/bigfs'/>
+ <dep name='/etc/rc.d/init.d/functions'/>
+ <dep name='/etc/rc.d/init.d/halt'/>
+ <dep name='/etc/rc.d/init.d/inet'/>
+ <dep name='/etc/rc.d/init.d/local'/>
+ <dep name='/etc/rc.d/init.d/netmount'/>
+ <dep name='/etc/rc.d/init.d/network'/>
+ <dep name='/etc/rc.d/init.d/reboot'/>
+ <dep name='/etc/rc.d/init.d/rmnologin'/>
+ <dep name='/etc/rc.d/init.d/single'/>
+ <dep name='/etc/rc.d/init.d/skeleton'/>
+ <dep name='/etc/rc.d/init.d/skipped'/>
+ <dep name='/etc/rc.d/init.d/urandom'/>
+ <dep name='/etc/rc.d/init.d/zap'/>
+ <dep name='/etc/rc.d/rc'/>
+ <dep name='/etc/rc.d/rc.boot'/>
+ <dep name='/etc/rc.d/rc.gui'/>
+ <dep name='/etc/rc.d/rc.local'/>
+ <dep name='/etc/rc.d/rc.modules'/>
+ <dep name='/etc/rc.d/unconfigured.sh'/>
+ <dep name='/sbin/booter'/>
+ <dep name='/sbin/booterd'/>
+ <dep name='/sbin/ifdown'/>
+ <dep name='/sbin/ifup'/>
+ <dep name='/sbin/ssd'/>
+ <dep name='/sbin/start-stop-daemon'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit' op='>=' version='2.76'/>
+ <dep name='lisa' op='>=' version='4.0'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>SysVinit</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.76.3</version>
+ <release>2</release>
+ <filename>SysVinit.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/pidof'/>
+ <dep name='/sbin/halt'/>
+ <dep name='/sbin/init'/>
+ <dep name='/sbin/killall5'/>
+ <dep name='/sbin/poweroff'/>
+ <dep name='/sbin/reboot'/>
+ <dep name='/sbin/runlevel'/>
+ <dep name='/sbin/shutdown'/>
+ <dep name='/sbin/sulogin'/>
+ <dep name='/sbin/telinit'/>
+ <dep name='/usr/bin/last'/>
+ <dep name='/usr/bin/lastb'/>
+ <dep name='/usr/bin/mesg'/>
+ <dep name='/usr/bin/utmpdump'/>
+ <dep name='/usr/bin/wall'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.04'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tar</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.12</version>
+ <release>3</release>
+ <filename>tar.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/tar'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tcl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libtcl8.0.so'/>
+ <dep name='/usr/bin/tclsh8.0'/>
+ <dep name='/usr/lib/libtcl8.0.4.so'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcl-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tcl-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tcl-devel' op='=' version='8.0.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcl-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tcl-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tcl' op='=' version='8.0.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>tclX</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tclX.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libtclx8.0.4.so'/>
+ <dep name='libtkx8.0.4.so'/>
+ <dep name='/usr/bin/tcl8.0'/>
+ <dep name='/usr/bin/wishx8.0'/>
+ <dep name='/usr/lib/libtclx.so'/>
+ <dep name='/usr/lib/libtclx8.0.4.so'/>
+ <dep name='/usr/lib/libtkx.so'/>
+ <dep name='/usr/lib/libtkx8.0.4.so'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtclx8.0.4.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='libtkx8.0.4.so'/>
+ </requires>
+ </package>
+ <package>
+ <name>tclX-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tclX-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tclX-devel' op='=' version='8.0.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>tclX-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tclX-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/tclhelp8.0'/>
+ </provides>
+ <requires>
+ <dep name='tclX' op='=' version='8.0.4'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcpdump</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.4</version>
+ <release>5</release>
+ <filename>tcpdump.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/tcpdump'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcp_wrappers-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>7.6</version>
+ <release>4</release>
+ <filename>tcp_wrappers-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>tcp_wrappers</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>7.6</version>
+ <release>4</release>
+ <filename>tcp_wrappers.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/safe_finger'/>
+ <dep name='/usr/sbin/tcpd'/>
+ <dep name='/usr/sbin/tcpdchk'/>
+ <dep name='/usr/sbin/tcpdmatch'/>
+ <dep name='/usr/sbin/try-from'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcsh</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>6.08.00</version>
+ <release>2</release>
+ <filename>tcsh.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/tcsh'/>
+ </provides>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcsh-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>6.08.00</version>
+ <release>2</release>
+ <filename>tcsh-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>termcap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>10.2.7</version>
+ <release>0</release>
+ <filename>termcap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>teTeX</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.5</version>
+ <release>1</release>
+ <filename>teTeX.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/teTeX/bin/MakeTeXPK'/>
+ <dep name='/opt/teTeX/bin/access'/>
+ <dep name='/opt/teTeX/bin/afm2tfm'/>
+ <dep name='/opt/teTeX/bin/allcm'/>
+ <dep name='/opt/teTeX/bin/allec'/>
+ <dep name='/opt/teTeX/bin/allneeded'/>
+ <dep name='/opt/teTeX/bin/bibtex'/>
+ <dep name='/opt/teTeX/bin/dmp'/>
+ <dep name='/opt/teTeX/bin/dvi2fax'/>
+ <dep name='/opt/teTeX/bin/dvicopy'/>
+ <dep name='/opt/teTeX/bin/dvihp'/>
+ <dep name='/opt/teTeX/bin/dvilj'/>
+ <dep name='/opt/teTeX/bin/dvilj2p'/>
+ <dep name='/opt/teTeX/bin/dvilj4'/>
+ <dep name='/opt/teTeX/bin/dvilj4l'/>
+ <dep name='/opt/teTeX/bin/dvilj6'/>
+ <dep name='/opt/teTeX/bin/dvips'/>
+ <dep name='/opt/teTeX/bin/dvired'/>
+ <dep name='/opt/teTeX/bin/dvitomp'/>
+ <dep name='/opt/teTeX/bin/dvitype'/>
+ <dep name='/opt/teTeX/bin/e2pall'/>
+ <dep name='/opt/teTeX/bin/einitex'/>
+ <dep name='/opt/teTeX/bin/epstopdf'/>
+ <dep name='/opt/teTeX/bin/etex'/>
+ <dep name='/opt/teTeX/bin/evirtex'/>
+ <dep name='/opt/teTeX/bin/fmtutil'/>
+ <dep name='/opt/teTeX/bin/fontexport'/>
+ <dep name='/opt/teTeX/bin/fontimport'/>
+ <dep name='/opt/teTeX/bin/fontinst'/>
+ <dep name='/opt/teTeX/bin/gftodvi'/>
+ <dep name='/opt/teTeX/bin/gftopk'/>
+ <dep name='/opt/teTeX/bin/gftype'/>
+ <dep name='/opt/teTeX/bin/gsftopk'/>
+ <dep name='/opt/teTeX/bin/inimf'/>
+ <dep name='/opt/teTeX/bin/inimpost'/>
+ <dep name='/opt/teTeX/bin/iniomega'/>
+ <dep name='/opt/teTeX/bin/initex'/>
+ <dep name='/opt/teTeX/bin/kpsepath'/>
+ <dep name='/opt/teTeX/bin/kpsestat'/>
+ <dep name='/opt/teTeX/bin/kpsetool'/>
+ <dep name='/opt/teTeX/bin/kpsewhich'/>
+ <dep name='/opt/teTeX/bin/kpsexpand'/>
+ <dep name='/opt/teTeX/bin/mag'/>
+ <dep name='/opt/teTeX/bin/makeindex'/>
+ <dep name='/opt/teTeX/bin/makempx'/>
+ <dep name='/opt/teTeX/bin/mf'/>
+ <dep name='/opt/teTeX/bin/mft'/>
+ <dep name='/opt/teTeX/bin/mfw'/>
+ <dep name='/opt/teTeX/bin/mkfontdesc'/>
+ <dep name='/opt/teTeX/bin/mkindex'/>
+ <dep name='/opt/teTeX/bin/mkocp'/>
+ <dep name='/opt/teTeX/bin/mkofm'/>
+ <dep name='/opt/teTeX/bin/mktexlsr'/>
+ <dep name='/opt/teTeX/bin/mktexmf'/>
+ <dep name='/opt/teTeX/bin/mktexpk'/>
+ <dep name='/opt/teTeX/bin/mktextfm'/>
+ <dep name='/opt/teTeX/bin/mpost'/>
+ <dep name='/opt/teTeX/bin/mpto'/>
+ <dep name='/opt/teTeX/bin/newer'/>
+ <dep name='/opt/teTeX/bin/odvicopy'/>
+ <dep name='/opt/teTeX/bin/odvips'/>
+ <dep name='/opt/teTeX/bin/odvitype'/>
+ <dep name='/opt/teTeX/bin/ofm2opl'/>
+ <dep name='/opt/teTeX/bin/omega'/>
+ <dep name='/opt/teTeX/bin/opl2ofm'/>
+ <dep name='/opt/teTeX/bin/otangle'/>
+ <dep name='/opt/teTeX/bin/otp2ocp'/>
+ <dep name='/opt/teTeX/bin/outocp'/>
+ <dep name='/opt/teTeX/bin/ovf2ovp'/>
+ <dep name='/opt/teTeX/bin/ovp2ovf'/>
+ <dep name='/opt/teTeX/bin/oxdvi'/>
+ <dep name='/opt/teTeX/bin/oxdvi.bin'/>
+ <dep name='/opt/teTeX/bin/patgen'/>
+ <dep name='/opt/teTeX/bin/pdfeinitex'/>
+ <dep name='/opt/teTeX/bin/pdfetex'/>
+ <dep name='/opt/teTeX/bin/pdfevirtex'/>
+ <dep name='/opt/teTeX/bin/pdfinitex'/>
+ <dep name='/opt/teTeX/bin/pdftex'/>
+ <dep name='/opt/teTeX/bin/pdfvirtex'/>
+ <dep name='/opt/teTeX/bin/pfb2pfa'/>
+ <dep name='/opt/teTeX/bin/pk2bm'/>
+ <dep name='/opt/teTeX/bin/pktogf'/>
+ <dep name='/opt/teTeX/bin/pktype'/>
+ <dep name='/opt/teTeX/bin/pltotf'/>
+ <dep name='/opt/teTeX/bin/pooltype'/>
+ <dep name='/opt/teTeX/bin/ps2frag'/>
+ <dep name='/opt/teTeX/bin/ps2pk'/>
+ <dep name='/opt/teTeX/bin/pslatex'/>
+ <dep name='/opt/teTeX/bin/readlink'/>
+ <dep name='/opt/teTeX/bin/rubibtex'/>
+ <dep name='/opt/teTeX/bin/rumakeindex'/>
+ <dep name='/opt/teTeX/bin/tangle'/>
+ <dep name='/opt/teTeX/bin/tex'/>
+ <dep name='/opt/teTeX/bin/texconfig'/>
+ <dep name='/opt/teTeX/bin/texdoc'/>
+ <dep name='/opt/teTeX/bin/texexec'/>
+ <dep name='/opt/teTeX/bin/texhash'/>
+ <dep name='/opt/teTeX/bin/texi2html'/>
+ <dep name='/opt/teTeX/bin/texi2pdf'/>
+ <dep name='/opt/teTeX/bin/texlinks'/>
+ <dep name='/opt/teTeX/bin/texshow'/>
+ <dep name='/opt/teTeX/bin/texutil'/>
+ <dep name='/opt/teTeX/bin/tftopl'/>
+ <dep name='/opt/teTeX/bin/thumbpdf'/>
+ <dep name='/opt/teTeX/bin/tie'/>
+ <dep name='/opt/teTeX/bin/ttf2afm'/>
+ <dep name='/opt/teTeX/bin/vftovp'/>
+ <dep name='/opt/teTeX/bin/virmf'/>
+ <dep name='/opt/teTeX/bin/virmpost'/>
+ <dep name='/opt/teTeX/bin/viromega'/>
+ <dep name='/opt/teTeX/bin/virtex'/>
+ <dep name='/opt/teTeX/bin/vptovf'/>
+ <dep name='/opt/teTeX/bin/weave'/>
+ <dep name='/opt/teTeX/bin/xdvi'/>
+ <dep name='/opt/teTeX/bin/xdvi.bin'/>
+ <dep name='/opt/teTeX/share/texmf/dvips/config/updmap'/>
+ <dep name='/opt/teTeX/share/texmf/web2c/mktexdir'/>
+ <dep name='/opt/teTeX/share/texmf/web2c/mktexnam'/>
+ <dep name='/opt/teTeX/share/texmf/web2c/mktexupd'/>
+ </provides>
+ <requires>
+ <dep name='ed'/>
+ <dep name='sed'/>
+ <dep name='dialog'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>teTeX-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.5</version>
+ <release>1</release>
+ <filename>teTeX-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>teTeX-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.5</version>
+ <release>1</release>
+ <filename>teTeX-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/opt/teTeX/share/texmf/doc/generic/ruhyphen/mkcyryo'/>
+ <dep name='/opt/teTeX/share/texmf/doc/generic/ruhyphen/sorthyph'/>
+ <dep name='/opt/teTeX/share/texmf/doc/generic/ruhyphen/sortkoi8'/>
+ <dep name='/opt/teTeX/share/texmf/doc/generic/ruhyphen/trans'/>
+ <dep name='/opt/teTeX/share/texmf/doc/help/Catalogue/fixhtml'/>
+ <dep name='/opt/teTeX/share/texmf/doc/latex/changebar/chbar.sh'/>
+ <dep name='/opt/teTeX/share/texmf/doc/mkhtml'/>
+ <dep name='/opt/teTeX/share/texmf/doc/mkhtml.nawk'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>texinfo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.12</version>
+ <release>3</release>
+ <filename>texinfo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/makeinfo'/>
+ <dep name='/usr/bin/texi2dvi'/>
+ <dep name='/usr/bin/texindex'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>textutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.22</version>
+ <release>3</release>
+ <filename>textutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/cat'/>
+ <dep name='/usr/bin/cksum'/>
+ <dep name='/usr/bin/comm'/>
+ <dep name='/usr/bin/csplit'/>
+ <dep name='/usr/bin/cut'/>
+ <dep name='/usr/bin/expand'/>
+ <dep name='/usr/bin/fmt'/>
+ <dep name='/usr/bin/fold'/>
+ <dep name='/usr/bin/head'/>
+ <dep name='/usr/bin/join'/>
+ <dep name='/usr/bin/md5sum'/>
+ <dep name='/usr/bin/nl'/>
+ <dep name='/usr/bin/od'/>
+ <dep name='/usr/bin/paste'/>
+ <dep name='/usr/bin/pr'/>
+ <dep name='/usr/bin/sort'/>
+ <dep name='/usr/bin/split'/>
+ <dep name='/usr/bin/sum'/>
+ <dep name='/usr/bin/tac'/>
+ <dep name='/usr/bin/tail'/>
+ <dep name='/usr/bin/tr'/>
+ <dep name='/usr/bin/unexpand'/>
+ <dep name='/usr/bin/uniq'/>
+ <dep name='/usr/bin/wc'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tgif</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1.16</version>
+ <release>1</release>
+ <filename>tgif.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/tgif'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>time</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.7</version>
+ <release>2</release>
+ <filename>time.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/time'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>timidity</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1.0</version>
+ <release>1</release>
+ <filename>timidity.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/timidity'/>
+ </provides>
+ <requires>
+ <dep name='midi-instruments'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libslang.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>tin</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4_19990517</version>
+ <release>1</release>
+ <filename>tin.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rtin'/>
+ <dep name='/usr/bin/tin'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>tix</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1.0.006</version>
+ <release>1</release>
+ <filename>tix.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libtix4.1.8.0.so'/>
+ <dep name='/usr/bin/tixindex'/>
+ <dep name='/usr/bin/tixwish4.1.8.0'/>
+ <dep name='/usr/lib/libtix4.1.8.0.so'/>
+ <dep name='/usr/share/tix-4.1/Demos/widget'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtix4.1.8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>tix-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1.0.006</version>
+ <release>1</release>
+ <filename>tix-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tix-devel' op='=' version='4.1.0.006'/>
+ </requires>
+ </package>
+ <package>
+ <name>tix-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1.0.006</version>
+ <release>1</release>
+ <filename>tix-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tix' op='=' version='4.1.0.006'/>
+ </requires>
+ </package>
+ <package>
+ <name>tk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libtk8.0.so'/>
+ <dep name='/usr/bin/wish8.0'/>
+ <dep name='/usr/lib/libtk8.0.4.so'/>
+ <dep name='/usr/share/tk-8.0/Demos/browse'/>
+ <dep name='/usr/share/tk-8.0/Demos/hello'/>
+ <dep name='/usr/share/tk-8.0/Demos/ixset'/>
+ <dep name='/usr/share/tk-8.0/Demos/rmt'/>
+ <dep name='/usr/share/tk-8.0/Demos/rolodex'/>
+ <dep name='/usr/share/tk-8.0/Demos/square'/>
+ <dep name='/usr/share/tk-8.0/Demos/tcolor'/>
+ <dep name='/usr/share/tk-8.0/Demos/timer'/>
+ <dep name='/usr/share/tk-8.0/Demos/widget'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>tk-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tk-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tk-devel' op='=' version='8.0.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>tk-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tk-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tk' op='=' version='8.0.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>traceroute</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4a5</version>
+ <release>5</release>
+ <filename>traceroute.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/traceroute'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>tracker</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3</version>
+ <release>4</release>
+ <filename>tracker.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/analyzer'/>
+ <dep name='/usr/bin/randomize'/>
+ <dep name='/usr/bin/tracker'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>transfig</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.2.1</version>
+ <release>3</release>
+ <filename>transfig.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/fig2dev'/>
+ <dep name='/usr/X11R6/bin/fig2ps2tex'/>
+ <dep name='/usr/X11R6/bin/fig2ps2tex.sh'/>
+ <dep name='/usr/X11R6/bin/pic2tpic'/>
+ <dep name='/usr/X11R6/bin/transfig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/bricks.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/circles.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/crosshatch.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/crosshatch30.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/crosshatch45.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/dash.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/dashDot.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/dashDotDot.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/dashDotDotDot.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/dot.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/fishscales.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/hexagons.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/horiz_saw.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/horizontal.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/left30.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/left45.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/leftshingle.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/octagons.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/p13.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/right30.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/right45.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/rightshingle.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/small_fishscales.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp0.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp1.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp10.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp11.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp12.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp13.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp14.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp15.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp16.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp17.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp18.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp19.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp2.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp20.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp3.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp4.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp5.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp6.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp7.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp8.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/sp9.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/vert_bricks.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/vert_leftshingle.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/vert_rightshingle.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/vert_saw.bmp'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/bitmaps/vertical.bmp'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/tcsh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ucd-snmp-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.1</version>
+ <release>1</release>
+ <filename>ucd-snmp-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/encode_keychange'/>
+ <dep name='/usr/bin/snmpbulkwalk'/>
+ <dep name='/usr/bin/snmpdelta'/>
+ <dep name='/usr/bin/snmpget'/>
+ <dep name='/usr/bin/snmpgetnext'/>
+ <dep name='/usr/bin/snmpnetstat'/>
+ <dep name='/usr/bin/snmpset'/>
+ <dep name='/usr/bin/snmpstatus'/>
+ <dep name='/usr/bin/snmptable'/>
+ <dep name='/usr/bin/snmptest'/>
+ <dep name='/usr/bin/snmptranslate'/>
+ <dep name='/usr/bin/snmptrap'/>
+ <dep name='/usr/bin/snmpusm'/>
+ <dep name='/usr/bin/snmpwalk'/>
+ <dep name='/usr/bin/tkmib'/>
+ </provides>
+ <requires>
+ <dep name='ucd-snmp'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libsnmp.so.0'/>
+ <dep name='libz.so.1'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>ucd-snmp-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.1</version>
+ <release>1</release>
+ <filename>ucd-snmp-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ucd-snmp'/>
+ </requires>
+ </package>
+ <package>
+ <name>ucd-snmp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.1</version>
+ <release>1</release>
+ <filename>ucd-snmp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libsnmp.so.0'/>
+ <dep name='/etc/rc.d/init.d/snmpd'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/bug-report'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/fixproc'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/ipf-mod.pl'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/mib2c'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/passtest'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/rsnmp'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/snmp-ucd.sh'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/snmpcheck'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/snmpcheck.def'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/tkmib'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/trapnotif'/>
+ <dep name='/usr/doc/ucd-snmp-4.0.1/local/wesrestart'/>
+ <dep name='/usr/lib/libsnmp.so.0.4.0.1'/>
+ <dep name='/usr/sbin/snmpd'/>
+ <dep name='/usr/sbin/snmptrapd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libsnmp.so.0'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>uemacs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.0</version>
+ <release>3</release>
+ <filename>uemacs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/me'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>umsdosfs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.9</version>
+ <release>0</release>
+ <filename>umsdosfs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/udosctl'/>
+ <dep name='/sbin/umssetup'/>
+ <dep name='/sbin/umssync'/>
+ <dep name='/usr/man/man8/umssync.8.gz'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ <obsoletes>
+ <dep name='umsdos_progs'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>unarj</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.41a</version>
+ <release>6</release>
+ <filename>unarj.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/unarj'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>unzip</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.32</version>
+ <release>1</release>
+ <filename>unzip.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/funzip'/>
+ <dep name='/usr/bin/unzip'/>
+ <dep name='/usr/bin/unzipsfx'/>
+ <dep name='/usr/bin/zipgrep'/>
+ <dep name='/usr/bin/zipinfo'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>utempter</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.5</version>
+ <release>3</release>
+ <filename>utempter.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libutempter.so.0'/>
+ <dep name='/usr/sbin/utempter'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>util-linux</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.9s</version>
+ <release>4</release>
+ <filename>util-linux.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/arch'/>
+ <dep name='/bin/dmesg'/>
+ <dep name='/bin/kill'/>
+ <dep name='/bin/login'/>
+ <dep name='/bin/more'/>
+ <dep name='/bin/mount'/>
+ <dep name='/bin/umount'/>
+ <dep name='/sbin/cfdisk'/>
+ <dep name='/sbin/ctrlaltdel'/>
+ <dep name='/sbin/fdisk'/>
+ <dep name='/sbin/fsck.minix'/>
+ <dep name='/sbin/hwclock'/>
+ <dep name='/sbin/kbdrate'/>
+ <dep name='/sbin/losetup'/>
+ <dep name='/sbin/mkfs'/>
+ <dep name='/sbin/mkfs.minix'/>
+ <dep name='/sbin/mkswap'/>
+ <dep name='/sbin/sfdisk'/>
+ <dep name='/sbin/sln'/>
+ <dep name='/sbin/swapoff'/>
+ <dep name='/sbin/swapon'/>
+ <dep name='/usr/bin/cal'/>
+ <dep name='/usr/bin/chfn'/>
+ <dep name='/usr/bin/chkdupexe'/>
+ <dep name='/usr/bin/chsh'/>
+ <dep name='/usr/bin/col'/>
+ <dep name='/usr/bin/colcrt'/>
+ <dep name='/usr/bin/colrm'/>
+ <dep name='/usr/bin/column'/>
+ <dep name='/usr/bin/cytune'/>
+ <dep name='/usr/bin/ddate'/>
+ <dep name='/usr/bin/getopt'/>
+ <dep name='/usr/bin/hexdump'/>
+ <dep name='/usr/bin/ipcrm'/>
+ <dep name='/usr/bin/ipcs'/>
+ <dep name='/usr/bin/logger'/>
+ <dep name='/usr/bin/look'/>
+ <dep name='/usr/bin/mcookie'/>
+ <dep name='/usr/bin/namei'/>
+ <dep name='/usr/bin/renice'/>
+ <dep name='/usr/bin/rev'/>
+ <dep name='/usr/bin/script'/>
+ <dep name='/usr/bin/setsid'/>
+ <dep name='/usr/bin/setterm'/>
+ <dep name='/usr/bin/tsort'/>
+ <dep name='/usr/bin/ul'/>
+ <dep name='/usr/bin/whereis'/>
+ <dep name='/usr/bin/write'/>
+ <dep name='/usr/doc/util-linux-2.9s/COPYING.GPL'/>
+ <dep name='/usr/doc/util-linux-2.9s/COPYING.UCB'/>
+ <dep name='/usr/games/banner'/>
+ <dep name='/usr/lib/getopt/parse.bash'/>
+ <dep name='/usr/lib/getopt/parse.tcsh'/>
+ <dep name='/usr/lib/getopt/test.bash'/>
+ <dep name='/usr/lib/getopt/test.tcsh'/>
+ <dep name='/usr/sbin/fdformat'/>
+ <dep name='/usr/sbin/ramsize'/>
+ <dep name='/usr/sbin/rdev'/>
+ <dep name='/usr/sbin/readprofile'/>
+ <dep name='/usr/sbin/rootflags'/>
+ <dep name='/usr/sbin/setfdprm'/>
+ <dep name='/usr/sbin/swapdev'/>
+ <dep name='/usr/sbin/tunelp'/>
+ <dep name='/usr/sbin/vidmode'/>
+ <dep name='/usr/sbin/vigr'/>
+ <dep name='/usr/sbin/vipw'/>
+ </provides>
+ <requires>
+ <dep name='lisa' op='>=' version='4.0'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libutil.so.1'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/tcsh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>uucp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.06.1</version>
+ <release>11</release>
+ <filename>uucp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cu'/>
+ <dep name='/usr/bin/uucp'/>
+ <dep name='/usr/bin/uulog'/>
+ <dep name='/usr/bin/uuname'/>
+ <dep name='/usr/bin/uupick'/>
+ <dep name='/usr/bin/uustat'/>
+ <dep name='/usr/bin/uuto'/>
+ <dep name='/usr/bin/uux'/>
+ <dep name='/usr/doc/uucp-1.06.1/contrib/savelog.sh'/>
+ <dep name='/usr/doc/uucp-1.06.1/contrib/stats.sh'/>
+ <dep name='/usr/doc/uucp-1.06.1/contrib/uuq.sh'/>
+ <dep name='/usr/doc/uucp-1.06.1/contrib/uureroute.perl'/>
+ <dep name='/usr/doc/uucp-1.06.1/contrib/uuxconv'/>
+ <dep name='/usr/sbin/uuchk'/>
+ <dep name='/usr/sbin/uucico'/>
+ <dep name='/usr/sbin/uuconv'/>
+ <dep name='/usr/sbin/uusched'/>
+ <dep name='/usr/sbin/uuxqt'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>uucp-doc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.06.1</version>
+ <release>11</release>
+ <filename>uucp-doc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>vic</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.8ucl_990625</version>
+ <release>1</release>
+ <filename>vic.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/histtolut'/>
+ <dep name='/usr/X11R6/bin/vic'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>vim</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.3</version>
+ <release>4</release>
+ <filename>vim.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/ctags'/>
+ <dep name='/bin/ex'/>
+ <dep name='/bin/rview'/>
+ <dep name='/bin/rvim'/>
+ <dep name='/bin/vi'/>
+ <dep name='/bin/view'/>
+ <dep name='/bin/vim'/>
+ <dep name='/bin/xxd'/>
+ <dep name='/usr/bin/vi'/>
+ <dep name='/usr/share/vim/vimrc'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>vim-help</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.3</version>
+ <release>4</release>
+ <filename>vim-help.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='vim' op='>=' version='5.3'/>
+ </requires>
+ </package>
+ <package>
+ <name>vim-X11</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.3</version>
+ <release>4</release>
+ <filename>vim-X11.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/gvim'/>
+ <dep name='/usr/X11R6/man/man1/gvim.1.gz'/>
+ <dep name='/usr/share/vim/gvimrc'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>vixie-cron</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.1</version>
+ <release>19</release>
+ <filename>vixie-cron.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='cron'/>
+ <dep name='/etc/rc.d/init.d/cron'/>
+ <dep name='/usr/bin/crontab'/>
+ <dep name='/usr/sbin/cron'/>
+ </provides>
+ <requires>
+ <dep name='syslog'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>vnc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.2r3</version>
+ <release>3</release>
+ <filename>vnc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/Xvnc'/>
+ <dep name='/usr/X11R6/bin/vncpasswd'/>
+ <dep name='/usr/X11R6/bin/vncserver'/>
+ <dep name='/usr/X11R6/bin/vncviewer'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>wdiff</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.5.1</version>
+ <release>3</release>
+ <filename>wdiff.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/cbars'/>
+ <dep name='/usr/bin/wdiff'/>
+ </provides>
+ <requires>
+ <dep name='diffutils'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>webmin</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.744</version>
+ <release>1</release>
+ <filename>webmin.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='webmin-0.744'/>
+ <dep name='/etc/rc.d/init.d/webmin'/>
+ <dep name='/etc/rc.d/rc2.d/S99webmin'/>
+ <dep name='/etc/rc.d/rc3.d/S99webmin'/>
+ <dep name='/etc/rc.d/rc5.d/S99webmin'/>
+ <dep name='/usr/libexec/webmin/acl/delete_user.cgi'/>
+ <dep name='/usr/libexec/webmin/acl/edit_acl.cgi'/>
+ <dep name='/usr/libexec/webmin/acl/edit_user.cgi'/>
+ <dep name='/usr/libexec/webmin/acl/index.cgi'/>
+ <dep name='/usr/libexec/webmin/acl/save_acl.cgi'/>
+ <dep name='/usr/libexec/webmin/acl/save_user.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/change_dir.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/change_files.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/config-macos'/>
+ <dep name='/usr/libexec/webmin/apache/create_dir.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/create_files.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/create_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/create_virt.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/delete_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/dir_index.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_authgroup.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_authuser.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_defines.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_dir.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_files.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_global.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_gmime_type.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_virt.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/edit_vserv.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/files_index.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/find_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/htaccess_index.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/index.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/list_authgroups.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/list_authusers.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/reconfig.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/reconfig_form.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/restart.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_authgroup.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_authuser.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_defines.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_dir.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_files.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_global.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_gmime_type.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_virt.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/save_vserv.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/show_dir.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/show_files.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/show_htaccess.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/show_virt.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/start.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/stop.cgi'/>
+ <dep name='/usr/libexec/webmin/apache/virt_index.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/config-macos'/>
+ <dep name='/usr/libexec/webmin/bind8/create_forward.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/create_master.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/create_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/delete_zone.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/dns_boot.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_forward.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_master.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_record.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_recs.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_stub.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/edit_text.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/forward_form.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/index.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/master_form.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/restart.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_forward.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_master.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_record.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_soa.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_text.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/save_zonedef.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/slave_form.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/start.cgi'/>
+ <dep name='/usr/libexec/webmin/bind8/stub_form.cgi'/>
+ <dep name='/usr/libexec/webmin/bsdexports/delete_export.cgi'/>
+ <dep name='/usr/libexec/webmin/bsdexports/edit_export.cgi'/>
+ <dep name='/usr/libexec/webmin/bsdexports/index.cgi'/>
+ <dep name='/usr/libexec/webmin/bsdexports/restart_mountd.cgi'/>
+ <dep name='/usr/libexec/webmin/bsdexports/save_export.cgi'/>
+ <dep name='/usr/libexec/webmin/changepass.pl'/>
+ <dep name='/usr/libexec/webmin/chooser.cgi'/>
+ <dep name='/usr/libexec/webmin/config.cgi'/>
+ <dep name='/usr/libexec/webmin/config_save.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/config-macos'/>
+ <dep name='/usr/libexec/webmin/cron/config-osf1'/>
+ <dep name='/usr/libexec/webmin/cron/cron_editor.pl'/>
+ <dep name='/usr/libexec/webmin/cron/delete_cron.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/edit_allow.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/edit_cron.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/edit_env.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/exec_cron.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/index.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/save_allow.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/save_cron.cgi'/>
+ <dep name='/usr/libexec/webmin/cron/save_env.cgi'/>
+ <dep name='/usr/libexec/webmin/custom/acl_security.pl'/>
+ <dep name='/usr/libexec/webmin/custom/edit_cmd.cgi'/>
+ <dep name='/usr/libexec/webmin/custom/index.cgi'/>
+ <dep name='/usr/libexec/webmin/custom/run.cgi'/>
+ <dep name='/usr/libexec/webmin/custom/save_cmd.cgi'/>
+ <dep name='/usr/libexec/webmin/dfsadmin/delete_share.cgi'/>
+ <dep name='/usr/libexec/webmin/dfsadmin/edit_share.cgi'/>
+ <dep name='/usr/libexec/webmin/dfsadmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/dfsadmin/restart_sharing.cgi'/>
+ <dep name='/usr/libexec/webmin/dfsadmin/save_share.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-debian-linux'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-freebsd'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-openserver'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-osf1'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-redhat-linux'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-slackware-linux'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-solaris'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-suse-linux'/>
+ <dep name='/usr/libexec/webmin/dhcpd/config-unixware'/>
+ <dep name='/usr/libexec/webmin/dhcpd/edit_group.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/edit_host.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/edit_options.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/edit_shared.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/edit_subnet.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/index.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/list_leases.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/restart.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/save_group.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/save_host.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/save_options.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/save_shared.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/save_subnet.cgi'/>
+ <dep name='/usr/libexec/webmin/dhcpd/start.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/change_soa.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/create_master.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/create_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/delete_zone.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/dns_boot.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/edit_master.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/edit_record.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/edit_recs.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/edit_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/edit_text.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/master_form.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/restart.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/save_master.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/save_record.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/save_slave.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/save_text.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/save_zonedef.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/slave_form.cgi'/>
+ <dep name='/usr/libexec/webmin/dnsadmin/start.cgi'/>
+ <dep name='/usr/libexec/webmin/exports/edit_export.cgi'/>
+ <dep name='/usr/libexec/webmin/exports/index.cgi'/>
+ <dep name='/usr/libexec/webmin/exports/restart_mountd.cgi'/>
+ <dep name='/usr/libexec/webmin/exports/save_export.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/edit_part.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/fsck.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/fsck_form.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/index.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/make_tags.pl'/>
+ <dep name='/usr/libexec/webmin/fdisk/mkfs.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/mkfs_form.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/reboot.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/save_part.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/tunefs.cgi'/>
+ <dep name='/usr/libexec/webmin/fdisk/tunefs_form.cgi'/>
+ <dep name='/usr/libexec/webmin/file/BorderPanel.java'/>
+ <dep name='/usr/libexec/webmin/file/LineInputStream.java'/>
+ <dep name='/usr/libexec/webmin/file/chmod.cgi'/>
+ <dep name='/usr/libexec/webmin/file/copy.cgi'/>
+ <dep name='/usr/libexec/webmin/file/delete.cgi'/>
+ <dep name='/usr/libexec/webmin/file/images/binary.gif'/>
+ <dep name='/usr/libexec/webmin/file/images/image.gif'/>
+ <dep name='/usr/libexec/webmin/file/images/run.gif'/>
+ <dep name='/usr/libexec/webmin/file/images/text.gif'/>
+ <dep name='/usr/libexec/webmin/file/images/unknown.gif'/>
+ <dep name='/usr/libexec/webmin/file/index.cgi'/>
+ <dep name='/usr/libexec/webmin/file/list.cgi'/>
+ <dep name='/usr/libexec/webmin/file/makelink.cgi'/>
+ <dep name='/usr/libexec/webmin/file/mkdir.cgi'/>
+ <dep name='/usr/libexec/webmin/file/move.cgi'/>
+ <dep name='/usr/libexec/webmin/file/rename.cgi'/>
+ <dep name='/usr/libexec/webmin/file/root.cgi'/>
+ <dep name='/usr/libexec/webmin/file/save.cgi'/>
+ <dep name='/usr/libexec/webmin/file/show.cgi'/>
+ <dep name='/usr/libexec/webmin/file/upform.cgi'/>
+ <dep name='/usr/libexec/webmin/file/upload.cgi'/>
+ <dep name='/usr/libexec/webmin/format/copy_part_form.cgi'/>
+ <dep name='/usr/libexec/webmin/format/edit_disk.cgi'/>
+ <dep name='/usr/libexec/webmin/format/edit_part.cgi'/>
+ <dep name='/usr/libexec/webmin/format/fsck.cgi'/>
+ <dep name='/usr/libexec/webmin/format/fsck_form.cgi'/>
+ <dep name='/usr/libexec/webmin/format/index.cgi'/>
+ <dep name='/usr/libexec/webmin/format/newfs.cgi'/>
+ <dep name='/usr/libexec/webmin/format/newfs_form.cgi'/>
+ <dep name='/usr/libexec/webmin/format/save_part.cgi'/>
+ <dep name='/usr/libexec/webmin/format/tunefs.cgi'/>
+ <dep name='/usr/libexec/webmin/format/tunefs_form.cgi'/>
+ <dep name='/usr/libexec/webmin/group_chooser.cgi'/>
+ <dep name='/usr/libexec/webmin/help.cgi'/>
+ <dep name='/usr/libexec/webmin/hpuxexports/delete_export.cgi'/>
+ <dep name='/usr/libexec/webmin/hpuxexports/edit_export.cgi'/>
+ <dep name='/usr/libexec/webmin/hpuxexports/index.cgi'/>
+ <dep name='/usr/libexec/webmin/hpuxexports/restart_exporting.cgi'/>
+ <dep name='/usr/libexec/webmin/hpuxexports/save_export.cgi'/>
+ <dep name='/usr/libexec/webmin/images/binary.gif'/>
+ <dep name='/usr/libexec/webmin/images/image.gif'/>
+ <dep name='/usr/libexec/webmin/images/text.gif'/>
+ <dep name='/usr/libexec/webmin/images/unknown.gif'/>
+ <dep name='/usr/libexec/webmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/config-macos'/>
+ <dep name='/usr/libexec/webmin/inetd/delete_rpc.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/delete_serv.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/edit_rpc.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/edit_serv.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/index.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/restart_inetd.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/save_rpc.cgi'/>
+ <dep name='/usr/libexec/webmin/inetd/save_serv.cgi'/>
+ <dep name='/usr/libexec/webmin/init/atboot.pl'/>
+ <dep name='/usr/libexec/webmin/init/config-debian-linux'/>
+ <dep name='/usr/libexec/webmin/init/config-hpux'/>
+ <dep name='/usr/libexec/webmin/init/config-openserver'/>
+ <dep name='/usr/libexec/webmin/init/config-redhat-linux'/>
+ <dep name='/usr/libexec/webmin/init/config-slackware-linux'/>
+ <dep name='/usr/libexec/webmin/init/config-solaris'/>
+ <dep name='/usr/libexec/webmin/init/config-suse-linux'/>
+ <dep name='/usr/libexec/webmin/init/config-unixware'/>
+ <dep name='/usr/libexec/webmin/init/config.info'/>
+ <dep name='/usr/libexec/webmin/init/delboot.pl'/>
+ <dep name='/usr/libexec/webmin/init/delete_action.cgi'/>
+ <dep name='/usr/libexec/webmin/init/edit_action.cgi'/>
+ <dep name='/usr/libexec/webmin/init/fix_action.cgi'/>
+ <dep name='/usr/libexec/webmin/init/help.html'/>
+ <dep name='/usr/libexec/webmin/init/index.cgi'/>
+ <dep name='/usr/libexec/webmin/init/init-lib.pl'/>
+ <dep name='/usr/libexec/webmin/init/module.info'/>
+ <dep name='/usr/libexec/webmin/init/proc.html'/>
+ <dep name='/usr/libexec/webmin/init/reboot.cgi'/>
+ <dep name='/usr/libexec/webmin/init/save_action.cgi'/>
+ <dep name='/usr/libexec/webmin/init/save_local.cgi'/>
+ <dep name='/usr/libexec/webmin/init/shutdown.cgi'/>
+ <dep name='/usr/libexec/webmin/init/start_stop.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/apply.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/config'/>
+ <dep name='/usr/libexec/webmin/lilo/edit_global.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/edit_image.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/edit_other.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/images/image.gif'/>
+ <dep name='/usr/libexec/webmin/lilo/images/other.gif'/>
+ <dep name='/usr/libexec/webmin/lilo/index.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/save_global.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/save_image.cgi'/>
+ <dep name='/usr/libexec/webmin/lilo/save_other.cgi'/>
+ <dep name='/usr/libexec/webmin/logout.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/cancel_job.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/config-debian-linux'/>
+ <dep name='/usr/libexec/webmin/lpadmin/config-macos'/>
+ <dep name='/usr/libexec/webmin/lpadmin/config-redhat-linux'/>
+ <dep name='/usr/libexec/webmin/lpadmin/config-slackware-linux'/>
+ <dep name='/usr/libexec/webmin/lpadmin/config-suse-linux'/>
+ <dep name='/usr/libexec/webmin/lpadmin/delete_printer.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/edit_printer.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/list_jobs.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/save_printer.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/sortdrivers.pl'/>
+ <dep name='/usr/libexec/webmin/lpadmin/start.cgi'/>
+ <dep name='/usr/libexec/webmin/lpadmin/stop.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/alias_setup.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/create_form.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/create_list.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/delete_list.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_access.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_global.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_head.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_info.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_list.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_members.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_mesg.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/edit_subs.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/index.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_access.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_auto.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_global.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_head.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_info.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_members.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_mesg.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/majordomo/save_subs.cgi'/>
+ <dep name='/usr/libexec/webmin/mime.types'/>
+ <dep name='/usr/libexec/webmin/miniserv.pl'/>
+ <dep name='/usr/libexec/webmin/mount/config-osf1'/>
+ <dep name='/usr/libexec/webmin/mount/create_swap.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/debian-linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/edit_mount.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/freebsd-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/freebsd-mounts'/>
+ <dep name='/usr/libexec/webmin/mount/index.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/nfs_export.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/nfs_server.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/open-linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/redhat-linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/save_mount.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/slackware-linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/smb_server.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/smb_share.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/suse-linux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/mount/umount.cgi'/>
+ <dep name='/usr/libexec/webmin/mount/unixware-lib.pl'/>
+ <dep name='/usr/libexec/webmin/net/edit_aifc.cgi'/>
+ <dep name='/usr/libexec/webmin/net/edit_bifc.cgi'/>
+ <dep name='/usr/libexec/webmin/net/edit_dns.cgi'/>
+ <dep name='/usr/libexec/webmin/net/edit_host.cgi'/>
+ <dep name='/usr/libexec/webmin/net/index.cgi'/>
+ <dep name='/usr/libexec/webmin/net/list_hosts.cgi'/>
+ <dep name='/usr/libexec/webmin/net/list_ifcs.cgi'/>
+ <dep name='/usr/libexec/webmin/net/list_routes.cgi'/>
+ <dep name='/usr/libexec/webmin/net/save_aifc.cgi'/>
+ <dep name='/usr/libexec/webmin/net/save_bifc.cgi'/>
+ <dep name='/usr/libexec/webmin/net/save_dns.cgi'/>
+ <dep name='/usr/libexec/webmin/net/save_host.cgi'/>
+ <dep name='/usr/libexec/webmin/net/save_routes.cgi'/>
+ <dep name='/usr/libexec/webmin/newmods.pl'/>
+ <dep name='/usr/libexec/webmin/pap/edit_secret.cgi'/>
+ <dep name='/usr/libexec/webmin/pap/index.cgi'/>
+ <dep name='/usr/libexec/webmin/pap/save_secret.cgi'/>
+ <dep name='/usr/libexec/webmin/pap/save_sync.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/config-macos'/>
+ <dep name='/usr/libexec/webmin/proc/config-osf1'/>
+ <dep name='/usr/libexec/webmin/proc/edit_proc.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/foo.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_cpu.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_run.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_search.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_size.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_tree.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/index_user.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/kill_proc.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/kill_proc_list.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/renice_proc.cgi'/>
+ <dep name='/usr/libexec/webmin/proc/run.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/activate.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/check_quotas.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/copy_group.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/copy_group_form.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/copy_user.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/copy_user_form.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/edgrace.pl'/>
+ <dep name='/usr/libexec/webmin/quota/edit_group_quota.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/edit_user_quota.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/edquota.pl'/>
+ <dep name='/usr/libexec/webmin/quota/group_filesys.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/group_grace_form.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/group_grace_save.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/index.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/list_groups.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/list_users.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/module.info'/>
+ <dep name='/usr/libexec/webmin/quota/notes'/>
+ <dep name='/usr/libexec/webmin/quota/quota-lib.pl'/>
+ <dep name='/usr/libexec/webmin/quota/save_group_quota.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/save_sync.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/save_user_quota.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/solaris-lib.pl'/>
+ <dep name='/usr/libexec/webmin/quota/unixware-lib.pl'/>
+ <dep name='/usr/libexec/webmin/quota/user_filesys.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/user_grace_form.cgi'/>
+ <dep name='/usr/libexec/webmin/quota/user_grace_save.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/ask_epass.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/conf_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/conf_net.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/conf_pass.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/conf_print.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/conf_smb.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/create_copy.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/delete_euser.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/delete_share.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_epass.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_euser.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_fmisc.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_fname.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_fperm.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_fshare.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_popts.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_pshare.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_sec.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/edit_sync.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/index.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/kill_user.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/make_epass.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_copy.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_euser.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_fmisc.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_fname.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_fperm.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_fshare.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_net.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_pass.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_popts.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_print.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_pshare.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_sec.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_smb.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/save_sync.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/start_samba.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/swat.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/swat_save.cgi'/>
+ <dep name='/usr/libexec/webmin/samba/view_users.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/config-macos'/>
+ <dep name='/usr/libexec/webmin/sendmail/del_mailq.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_access.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_alias.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_domain.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_generic.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_mailer.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/edit_virtuser.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/flushq.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/index.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_access.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_aliases.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_cgs.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_cws.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_domains.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_generics.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_mailers.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_mailq.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_masq.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_opts.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_relay.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_trusts.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/list_virtusers.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_access.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_alias.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_cgs.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_cws.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_domain.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_generic.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_mailer.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_masq.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_opts.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_relay.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_trusts.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/save_virtuser.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/start.cgi'/>
+ <dep name='/usr/libexec/webmin/sendmail/stop.cgi'/>
+ <dep name='/usr/libexec/webmin/servers/edit_serv.cgi'/>
+ <dep name='/usr/libexec/webmin/servers/index.cgi'/>
+ <dep name='/usr/libexec/webmin/servers/link.cgi'/>
+ <dep name='/usr/libexec/webmin/servers/save_serv.cgi'/>
+ <dep name='/usr/libexec/webmin/setup.sh'/>
+ <dep name='/usr/libexec/webmin/software/close.cgi'/>
+ <dep name='/usr/libexec/webmin/software/closeall.cgi'/>
+ <dep name='/usr/libexec/webmin/software/delete_file.cgi'/>
+ <dep name='/usr/libexec/webmin/software/delete_pack.cgi'/>
+ <dep name='/usr/libexec/webmin/software/do_install.cgi'/>
+ <dep name='/usr/libexec/webmin/software/edit_pack.cgi'/>
+ <dep name='/usr/libexec/webmin/software/file_info.cgi'/>
+ <dep name='/usr/libexec/webmin/software/images/pack.gif'/>
+ <dep name='/usr/libexec/webmin/software/index.cgi'/>
+ <dep name='/usr/libexec/webmin/software/install_pack.cgi'/>
+ <dep name='/usr/libexec/webmin/software/list_pack.cgi'/>
+ <dep name='/usr/libexec/webmin/software/open.cgi'/>
+ <dep name='/usr/libexec/webmin/software/openall.cgi'/>
+ <dep name='/usr/libexec/webmin/software/search.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/acl.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/acl_save.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/cachemgr.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/chown.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/clear.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_acl.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_admin.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_auth.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_cache.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_cache_host.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_icp.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_logs.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_mem.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_ports.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_progs.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/edit_user.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/http_access.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/http_access_save.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/icp_access.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/icp_access_save.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/index.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/init_cache.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/move_http.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/move_icp.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/restart.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_admin.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_auth.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_cache.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_cache_host.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_icp.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_logs.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_mem.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_misc.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_ports.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_progs.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/save_user.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/start.cgi'/>
+ <dep name='/usr/libexec/webmin/squid/stop.cgi'/>
+ <dep name='/usr/libexec/webmin/telnet/index.cgi'/>
+ <dep name='/usr/libexec/webmin/user_chooser.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/delete_group.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/delete_user.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/edit_group.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/edit_user.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/list_logins.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/save_group.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/save_user.cgi'/>
+ <dep name='/usr/libexec/webmin/useradmin/search_user.cgi'/>
+ <dep name='/usr/libexec/webmin/web-lib.pl'/>
+ <dep name='/usr/libexec/webmin/webmin-init'/>
+ <dep name='/usr/libexec/webmin/webmin/change_access.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_bind.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_colours.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_lang.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_log.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_os.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_proxy.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/change_ssl.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/clone_mod.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/delete_mod.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_access.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_bind.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_colours.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_lang.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_log.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_mods.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_os.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_proxy.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/edit_ssl.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/index.cgi'/>
+ <dep name='/usr/libexec/webmin/webmin/install_mod.cgi'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>webmin-ldap</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.74</version>
+ <release>1</release>
+ <filename>webmin-ldap.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='webmin-ldap-0.74'/>
+ <dep name='/usr/libexec/webmin/ldap/auth.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/browser.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/close.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/create.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/create2.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/create3.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/delete.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/delete2.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/details.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/details2.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/hpux-lib.pl'/>
+ <dep name='/usr/libexec/webmin/ldap/index.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/ldap-lib.pl'/>
+ <dep name='/usr/libexec/webmin/ldap/ldapcl-lib.pl'/>
+ <dep name='/usr/libexec/webmin/ldap/mclose.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/mopen.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/move.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/open.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/search.cgi'/>
+ <dep name='/usr/libexec/webmin/ldap/target.cgi'/>
+ </provides>
+ <requires>
+ <dep name='webmin-0.74'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>wget</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.3</version>
+ <release>1</release>
+ <filename>wget.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/rmold'/>
+ <dep name='/usr/bin/wget'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>which</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>3</release>
+ <filename>which.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/which'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>whois</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.4BSD</version>
+ <release>1</release>
+ <filename>whois.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/whois'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>wine</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>990804</version>
+ <release>1</release>
+ <filename>wine.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libwine.so'/>
+ <dep name='/usr/X11R6/bin/dosmod'/>
+ <dep name='/usr/X11R6/bin/wine'/>
+ <dep name='/usr/X11R6/bin/wine.bin'/>
+ <dep name='/usr/X11R6/bin/winesetup'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libMesaGL.so.3'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libwine.so'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>wnn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>wnn-cwnn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn-cwnn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/libexec/cWnn42/catod'/>
+ <dep name='/usr/libexec/cWnn42/catof'/>
+ <dep name='/usr/libexec/cWnn42/cdicsort'/>
+ <dep name='/usr/libexec/cWnn42/cdtoa'/>
+ <dep name='/usr/libexec/cWnn42/cserver'/>
+ <dep name='/usr/libexec/cWnn42/cwddel'/>
+ <dep name='/usr/libexec/cWnn42/cwdreg'/>
+ <dep name='/usr/libexec/cWnn42/cwnnkill'/>
+ <dep name='/usr/libexec/cWnn42/cwnnstat'/>
+ <dep name='/usr/libexec/cWnn42/cwnntouch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>wnn-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>wnn-jwnn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn-jwnn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/libexec/jWnn42/atod'/>
+ <dep name='/usr/libexec/jWnn42/atof'/>
+ <dep name='/usr/libexec/jWnn42/dicsort'/>
+ <dep name='/usr/libexec/jWnn42/dtoa'/>
+ <dep name='/usr/libexec/jWnn42/jserver'/>
+ <dep name='/usr/libexec/jWnn42/wddel'/>
+ <dep name='/usr/libexec/jWnn42/wdreg'/>
+ <dep name='/usr/libexec/jWnn42/wnnkill'/>
+ <dep name='/usr/libexec/jWnn42/wnnstat'/>
+ <dep name='/usr/libexec/jWnn42/wnntouch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>wnn-kwnn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn-kwnn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/libexec/kWnn42/katod'/>
+ <dep name='/usr/libexec/kWnn42/katof'/>
+ <dep name='/usr/libexec/kWnn42/kdicsort'/>
+ <dep name='/usr/libexec/kWnn42/kdtoa'/>
+ <dep name='/usr/libexec/kWnn42/kserver'/>
+ <dep name='/usr/libexec/kWnn42/kwddel'/>
+ <dep name='/usr/libexec/kWnn42/kwdreg'/>
+ <dep name='/usr/libexec/kWnn42/kwnnkill'/>
+ <dep name='/usr/libexec/kWnn42/kwnnstat'/>
+ <dep name='/usr/libexec/kWnn42/kwnntouch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>wnn-twnn</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>3</release>
+ <filename>wnn-twnn.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/libexec/tWnn42/tatod'/>
+ <dep name='/usr/libexec/tWnn42/tatof'/>
+ <dep name='/usr/libexec/tWnn42/tdicsort'/>
+ <dep name='/usr/libexec/tWnn42/tdtoa'/>
+ <dep name='/usr/libexec/tWnn42/tserver'/>
+ <dep name='/usr/libexec/tWnn42/twddel'/>
+ <dep name='/usr/libexec/tWnn42/twdreg'/>
+ <dep name='/usr/libexec/tWnn42/twnnkill'/>
+ <dep name='/usr/libexec/tWnn42/twnnstat'/>
+ <dep name='/usr/libexec/tWnn42/twnntouch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>words</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2</version>
+ <release>3</release>
+ <filename>words.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/doc/words-2/README.linux.words'/>
+ <dep name='/usr/doc/words-2/README2.linux.words'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>wu-ftpd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5.0</version>
+ <release>4</release>
+ <filename>wu-ftpd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='ftpd'/>
+ <dep name='/usr/bin/ftpcount'/>
+ <dep name='/usr/bin/ftpshut'/>
+ <dep name='/usr/bin/ftpwho'/>
+ <dep name='/usr/sbin/in.ftpd'/>
+ <dep name='/usr/sbin/xferstats'/>
+ </provides>
+ <requires>
+ <dep name='tcp_wrappers'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libpam.so.0'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ <conflicts>
+ <dep name='linux-ftpd'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>x3270</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.1.7</version>
+ <release>3</release>
+ <filename>x3270.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/x3270'/>
+ </provides>
+ <requires>
+ <dep name='/usr/X11R6/bin/mkfontdir'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xanim</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.80.1</version>
+ <release>1</release>
+ <filename>xanim.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xanim'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_cvid_2.0_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_cyuv_1.0_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_h261_1.0_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_h263_1.0_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_iv32_2.1_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_iv41_1.0_linuxELFx86g21.xa'/>
+ <dep name='/usr/X11R6/lib/xanim/vid_iv50_1.0_linuxELFx86g21.xa'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xaw-3dlook</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5</version>
+ <release>2</release>
+ <filename>Xaw-3dlook.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libXaw.so.6'/>
+ <dep name='/usr/X11R6/bin/3dlook'/>
+ <dep name='/usr/X11R6/lib/libXaw.so.6.1Xaw3d'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xaw3d</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5</version>
+ <release>2</release>
+ <filename>Xaw3d.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='/usr/X11R6/lib/libXaw3d.so.6.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xaw3d-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5</version>
+ <release>2</release>
+ <filename>Xaw3d-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='Xaw3d-devel' op='=' version='1.5'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xaw3d-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5</version>
+ <release>2</release>
+ <filename>Xaw3d-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libXaw3d.so'/>
+ </provides>
+ <requires>
+ <dep name='Xaw3d' op='=' version='1.5'/>
+ </requires>
+ </package>
+ <package>
+ <name>xawtv</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.46</version>
+ <release>4</release>
+ <filename>xawtv.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/fbtv'/>
+ <dep name='/usr/X11R6/bin/radio'/>
+ <dep name='/usr/X11R6/bin/set-tv'/>
+ <dep name='/usr/X11R6/bin/streamer'/>
+ <dep name='/usr/X11R6/bin/v4l-conf'/>
+ <dep name='/usr/X11R6/bin/xawtv'/>
+ <dep name='/usr/X11R6/bin/xawtv-remote'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xbae</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.6.2</version>
+ <release>4</release>
+ <filename>Xbae.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libXbae.so.6'/>
+ <dep name='/usr/X11R6/lib/libXbae.so.6'/>
+ <dep name='/usr/X11R6/lib/libXbae.so.6.2'/>
+ </provides>
+ <requires>
+ <dep name='/sbin/ldconfig'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>Xbae-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.6.2</version>
+ <release>4</release>
+ <filename>Xbae-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>Xbae-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.6.2</version>
+ <release>4</release>
+ <filename>Xbae-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libXbae.so'/>
+ </provides>
+ </package>
+ <package>
+ <name>xboard</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0.2</version>
+ <release>2</release>
+ <filename>xboard.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/cmail'/>
+ <dep name='/usr/X11R6/bin/pxboard'/>
+ <dep name='/usr/X11R6/bin/xboard'/>
+ <dep name='/usr/X11R6/bin/zic2xpm'/>
+ <dep name='/usr/doc/xboard-4.0.2/ChangeLog'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>xcdroast</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.96e</version>
+ <release>4</release>
+ <filename>xcdroast.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xcdroast'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/cdrecord-1.6.1'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/isodetect'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/isoinfo'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/isosize'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/mycmp'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/mydd'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/mymkisofs-1.12b4'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/playcdda'/>
+ <dep name='/usr/X11R6/lib/xcdroast-0.96e/bin/readcdda'/>
+ <dep name='/usr/doc/xcdroast-0.96e/MAKEDEVICES.sh'/>
+ </provides>
+ <requires>
+ <dep name='tcl' op='>=' version='8.0'/>
+ <dep name='tk' op='>=' version='8.0'/>
+ <dep name='tix' op='>=' version='4.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ <dep name='libtix4.1.8.0.so'/>
+ <dep name='libtk8.0.so'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>xcolorsel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1a</version>
+ <release>5</release>
+ <filename>xcolorsel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xcolorsel'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xearth</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>6</release>
+ <filename>xearth.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xearth'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xemacs-auctex</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-auctex.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-base</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-base.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/etags'/>
+ <dep name='/usr/bin/gnuattach'/>
+ <dep name='/usr/bin/gnuclient'/>
+ <dep name='/usr/bin/gnudoit'/>
+ <dep name='/usr/bin/install-sid'/>
+ <dep name='/usr/bin/rcs-checkin'/>
+ <dep name='/usr/bin/xemacs'/>
+ <dep name='/usr/bin/xemacs-20.4'/>
+ <dep name='/usr/lib/xemacs-20.4/etc/xemacs-fe.sh'/>
+ <dep name='/usr/lib/xemacs-20.4/i386-Caldera-linux'/>
+ <dep name='/usr/libexec/xemacs-20.4/add-big-package.sh'/>
+ <dep name='/usr/libexec/xemacs-20.4/add-little-package.sh'/>
+ <dep name='/usr/libexec/xemacs-20.4/cvtmail'/>
+ <dep name='/usr/libexec/xemacs-20.4/digest-doc'/>
+ <dep name='/usr/libexec/xemacs-20.4/fakemail'/>
+ <dep name='/usr/libexec/xemacs-20.4/gnuserv'/>
+ <dep name='/usr/libexec/xemacs-20.4/gzip-el.sh'/>
+ <dep name='/usr/libexec/xemacs-20.4/hexl'/>
+ <dep name='/usr/libexec/xemacs-20.4/install-sid'/>
+ <dep name='/usr/libexec/xemacs-20.4/make-docfile'/>
+ <dep name='/usr/libexec/xemacs-20.4/make-path'/>
+ <dep name='/usr/libexec/xemacs-20.4/mmencode'/>
+ <dep name='/usr/libexec/xemacs-20.4/movemail'/>
+ <dep name='/usr/libexec/xemacs-20.4/profile'/>
+ <dep name='/usr/libexec/xemacs-20.4/rcs2log'/>
+ <dep name='/usr/libexec/xemacs-20.4/send-pr'/>
+ <dep name='/usr/libexec/xemacs-20.4/sorted-doc'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-au'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-file'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-html'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-image'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-mpeg'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-plain'/>
+ <dep name='/usr/libexec/xemacs-20.4/tm-ps'/>
+ <dep name='/usr/libexec/xemacs-20.4/tmdecode'/>
+ <dep name='/usr/libexec/xemacs-20.4/vcdiff'/>
+ <dep name='/usr/libexec/xemacs-20.4/wakeup'/>
+ <dep name='/usr/libexec/xemacs-20.4/yow'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libgpm.so.1'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>xemacs-calc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-calc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-emul</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-emul.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-emacs-link</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-emacs-link.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/emacs'/>
+ </provides>
+ </package>
+ <package>
+ <name>xemacs-icons</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-icons.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-lispsource</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-lispsource.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-lispprog</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-lispprog.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-mule</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-mule.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/b2m'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libgdbm.so.2'/>
+ <dep name='libgpm.so.1'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>xemacs-modes</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-modes.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-mailnews</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-mailnews.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/lib/xemacs-20.4/lisp/vm/make-autoloads'/>
+ </provides>
+ </package>
+ <package>
+ <name>xemacs-packages</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-packages.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-sgmldocs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-sgmldocs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xemacs-www</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>20.4</version>
+ <release>7</release>
+ <filename>xemacs-www.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xfig</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.2.2</version>
+ <release>2</release>
+ <filename>xfig.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xfig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/barrack.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/highrise1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/highrise2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/office.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/twostory.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Buildings/twostory_front.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/desktop1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/desktop2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/desktop3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/desktop4.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/film_digitizer.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/high_speed_disk.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/laptop.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/printer.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/scanner.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/scanner2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/tapedrive.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/telephone.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/terminal.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/tower1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/tower2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Computers/tower3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_db15.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_db25.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_db9.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_molex_4pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_molex_5pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/conn_molex_6pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_08pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_14pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_16pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_18pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_20pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_24pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_28pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/dip_40pin.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/fuse_holder.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/fuse_holder2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/led_digit.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/receptacle_female.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/receptacle_male.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/reed_relay.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Physical/terminal_block.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/battery.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/capacitor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/circle_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/circle_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/circle_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/coil.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/crystal.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/current_source.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_large_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_med_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diamond_small_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/diode.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/dot_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/dot_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/dot_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/fet1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/fet2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/frame_ground.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/fuse.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/fuse2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/ground.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/heater.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/inductor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/led.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/logic_ground.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/mov.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/npn.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/opamp.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/plug_socket.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/pnp.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/pushbutton_nc.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/pushbutton_no.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/relay.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/resistor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/sine.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/switch_spdt.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/switch_spst.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/thermostat.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/transformer.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/transformer_ironcore.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/triac.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/var_resistor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/var_resistor2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/zener.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Electrical/Schematic/zener2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_down.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_left.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_open_left.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_open_right.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_right.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/arrow_up.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/collate.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/comment_annotation.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/communication_link.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/connector.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/core.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/decision.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/display.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/document.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/extract.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/initialization.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/inputoutput.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/magnetic_disk.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/magnetic_tape.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/manual_input.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/manual_operator.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/merge.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/offline_storage.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/offpage_connector.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/online_storage.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/predefined_process.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/process.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/punched_card.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/sort.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Flowchart/terminal_interrupt.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/centrifuge.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/display.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/dual_display.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/ekg.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/film_digitizer.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/microscope.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/monitor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/stethsoscope.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Hospital/ultrasound.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/circle_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/circle_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/circle_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_large_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_med_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/diamond_small_fill.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/dot_large.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/dot_med.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/dot_small.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_and.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_and3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_inverter.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_inverter_schmidt.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_nand.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_nand3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_nand_schmidt.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_neg_in_or.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_neg_in_or3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_nor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_nor3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_or.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_or3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/gate_xor.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ground.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_1-8_demux.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_74165.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_74HC139.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_74HC244.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_74HC4040.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_74LS138.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_AC161.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_DAC0800LCN.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_HC595.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_d_flipflop.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_jk_flipflop.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/ic_oneshot.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Logic/logic_ground.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/eighth-tie.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/eighth.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/fermata.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/flat.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/half-dotted-down.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/half-dotted-up.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/half-down.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/half-up.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/natural.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/quarter-dotted-down.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/quarter-dotted-up.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/quarter-down.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/quarter-up.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/sharp.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/sixteenth-tie.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/sixteenth.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/staff.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/treble_clef.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/treble_staff.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/whole-dotted.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Music/whole.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/at+t_emmi.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/concentrator1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/concentrator2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/concentrator3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/ether_switch.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/forerunner_asx100.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/gdc_apex.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/hub1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/imux.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/microwave1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/microwave2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/mmedia_explorer.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/rack.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/rack2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/router.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/smux6000.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/switching_hub.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/synoptics_latticell.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/transceiver1.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/transceiver2.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/Libraries/Networks/transceiver3.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/accelerators.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/authors.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/command-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/drawing-mode.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/editing-mode.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/faq.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/features_bugs.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/fig-format.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/i18n.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/3dhouse-small.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/3dhouse.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/a-umlaut.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/add-arrow-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/add-arrow-button.gif.bak'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/add-point-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/align-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-latex-line.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-latex-vector.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-manhattan.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-mountain.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-mounthattan.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/angle-geom-unrestricted.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/anybrowser3.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-box-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-examples.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-type-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-type-open.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arc-type-pie-wedge.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-closed.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-indented.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-mode-backward.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-mode-both.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-mode-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-mode-forward.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-mode-none.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-open.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-pointed.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-size-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-size-image.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-size-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-type-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/arrow-types.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/balloons-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/balloons-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/blueball.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/blueballdot.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/blueramp.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/box-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/box-curve-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/break-compound-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/c-cedilla.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cap-style-butt.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cap-style-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cap-style-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cap-style-projecting.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cap-style-round.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/circle-diam-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/circle-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/circle-rad-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/closed-approx-spline-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/closed-interp-spline-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/cmd-accel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/color-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/copy-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/delete-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/delete-point-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/depth-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/drawedit-accel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/edit-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/edit-panel-picture.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/edit-panel-polyline.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/edit-panel-text.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/edit-point-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/ellipse-diam-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/ellipse-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/ellipse-rad-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/exclaim.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/export-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/file-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/fill-color-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/fill-style-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/fill-style-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/flip-horiz-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/flip-vert-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/glue-compound-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/goldline.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/greenball.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/greenpig.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/greenpig_sm.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/grid-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-abut-edge.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-center-even.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-center.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-edge-even.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-left.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-none.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/horiz-align-right.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/house_col576x369.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/image_browse.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/join-style-bevel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/join-style-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/join-style-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/join-style-miter.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/join-style-round.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/korean-text.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/latin1-chars.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/library-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/library_panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/line-style-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/line-style-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/line-width-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/mouse-function-indicator.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/move-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/move-point-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/num-copies-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/num-sides-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/num-x-copies-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/num-y-copies-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/open-approx-spline-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/open-compound-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/open-compound-button.gif.bak'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/open-interp-spline-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pen-color-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pict-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pict-info.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pict-japanese.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pict-new.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/point-position-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/polygon-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/polyline-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/polyline-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/print-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/pull-down.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/redball.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/redballdot.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/regular-polygon-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/rotate-angle-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/rotate-ccw-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/rotate-cw-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/ruler.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/scale-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/screen-image-small.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/screen-image.fig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/screen-image.fig.bak'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/screen-image.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/search-text-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/show-lengths.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/smart-link-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/smart-link-move.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/smart-link-off.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/smart-link-slide.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/splash.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/spline-curves.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/spline-examples.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/spline-line-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/spline-sf-example.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/sun-meta-key.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-angle-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-flags-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-flags-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-font-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-font-panel-latex.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-font-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-justify-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-justify-center.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-justify-left.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-justify-right.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-size-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/text-step-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/transit.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/transit_sm.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/unit-box.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/unit-box.gif.orig'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/unit-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/update-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/update-control.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/update-control.gif.bak'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/valid_html.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-abut-edge.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-bottom.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-center-even.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-center.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-edge-even.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-none.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/vertical-align-top.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/window2-small.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/window2.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/xfig-title.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/xfighelp.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/xim-off-the-spot.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/xim-over-the-spot.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/xim-root.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/zoom-button.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/images/zoom-panel.gif'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/index.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/indicator-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/installation.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/introduction.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/accelerators.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/authors.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/command-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/drawing-mode.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/editing-mode.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/faq.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/features_bugs.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/fig-format.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/i18n.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/index.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/indicator-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/installation.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/introduction.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/japanese.ps'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/misc-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/japanese/options.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/misc-panel.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/html/options.html'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/xfig-howto.pdf'/>
+ <dep name='/usr/X11R6/lib/X11/xfig/xfig.pdf'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xfig-examples</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.2.2</version>
+ <release>2</release>
+ <filename>xfig-examples.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/xfig/Examples/3dhouse.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/8-bit.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/aircraft.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/airflow.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/antennas.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/arithmetic.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/arrows.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/balance.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/bath.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/bedroom1.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/bedroom2.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/breadboard.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/bugs.gif'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/cassette.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/circuit.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/clipart.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/ctrlbox_lay.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/ctrlbox_sch.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/damper.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/deltat.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/dresser.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/experiment.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/filenames.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/flow.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/flowchart.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/gold.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/greek.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/greenpig.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/house.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/houseA.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/houseB.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/houseC.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/houseD.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/house_elev.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/housecheck.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/icebergs.jpg'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/illusion.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/lidar.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/linuxlogo.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/lists.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/logic.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/logo.eps'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/logo.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/musicnotes.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/network.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/orifices.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/patterns.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/pictures.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/ps-foil.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/ps-schematic.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/pumpkin.xbm'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/recycle.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/rfxc.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/roundboxes.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/roundboxes2.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/schemat.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/shades.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/snake4.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/sowpig.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/teapot.xpm'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/thermal.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/transit.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/watch.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/window1.fig'/>
+ <dep name='/usr/X11R6/lib/xfig/Examples/window2.fig'/>
+ </provides>
+ </package>
+ <package>
+ <name>xforms</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.88</version>
+ <release>2</release>
+ <filename>xforms.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libforms.so.0.88'/>
+ <dep name='/usr/X11R6/lib/libforms.so.0.88'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>xforms-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.88</version>
+ <release>2</release>
+ <filename>xforms-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/lib/libforms.a'/>
+ </provides>
+ <requires>
+ <dep name='xforms-devel' op='=' version='0.88'/>
+ </requires>
+ </package>
+ <package>
+ <name>xforms-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.88</version>
+ <release>2</release>
+ <filename>xforms-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/fdesign'/>
+ <dep name='/usr/X11R6/lib/libforms.so'/>
+ </provides>
+ <requires>
+ <dep name='xforms' op='=' version='0.88'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-xterm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-xterm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xterm'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-xsm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-xsm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/rstart'/>
+ <dep name='/usr/X11R6/bin/sessreg'/>
+ <dep name='/usr/X11R6/bin/smproxy'/>
+ <dep name='/usr/X11R6/bin/xsm'/>
+ <dep name='/usr/X11R6/lib/X11/rstart/commands/ListContexts'/>
+ <dep name='/usr/X11R6/lib/X11/rstart/commands/ListGenericCommands'/>
+ <dep name='/usr/X11R6/lib/X11/rstart/commands/x11r6/LoadMonitor'/>
+ <dep name='/usr/X11R6/lib/X11/rstart/commands/x11r6/Terminal'/>
+ <dep name='/usr/X11R6/lib/X11/rstart/rstartd.real'/>
+ <dep name='/usr/X11R6/lib/X11/xsm'/>
+ <dep name='/usr/bin/rstartd'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-config' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-xdm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-xdm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/chooser'/>
+ <dep name='/usr/X11R6/bin/xdm'/>
+ <dep name='/usr/X11R6/lib/X11/xdm'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-config' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-twm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-twm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/twm'/>
+ <dep name='/usr/X11R6/lib/X11/twm'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-config' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-setup</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-setup.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/XF86Setup'/>
+ <dep name='/usr/X11R6/bin/xmseconfig'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-server-modules</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-server-modules.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='pex5.so'/>
+ <dep name='xf86AceCad.so'/>
+ <dep name='xf86Calcomp.so'/>
+ <dep name='xf86Dial.so'/>
+ <dep name='xf86Dyna.so'/>
+ <dep name='xf86Elo.so'/>
+ <dep name='xf86MuTouch.so'/>
+ <dep name='xf86Summa.so'/>
+ <dep name='xf86Wacom.so'/>
+ <dep name='xie.so'/>
+ <dep name='/usr/X11R6/lib/modules/pex5.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86AceCad.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Calcomp.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Dial.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Dyna.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Elo.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86MuTouch.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Summa.so'/>
+ <dep name='/usr/X11R6/lib/modules/xf86Wacom.so'/>
+ <dep name='/usr/X11R6/lib/modules/xie.so'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-server-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-server-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>XFree86-server</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-server.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/SuperProbe'/>
+ <dep name='/usr/X11R6/bin/Xwrapper'/>
+ <dep name='/usr/X11R6/bin/reconfig'/>
+ <dep name='/usr/X11R6/bin/scanpci'/>
+ <dep name='/usr/X11R6/bin/xf86config'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-programs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-programs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/appres'/>
+ <dep name='/usr/X11R6/bin/beforelight'/>
+ <dep name='/usr/X11R6/bin/resize'/>
+ <dep name='/usr/X11R6/bin/xclipboard'/>
+ <dep name='/usr/X11R6/bin/xclock'/>
+ <dep name='/usr/X11R6/bin/xconsole'/>
+ <dep name='/usr/X11R6/bin/xlsfonts'/>
+ <dep name='/usr/X11R6/bin/xmag'/>
+ <dep name='/usr/X11R6/bin/xsetroot'/>
+ <dep name='/usr/X11R6/bin/xwd'/>
+ <dep name='/usr/X11R6/bin/xwud'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-misc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.3</version>
+ <release>2</release>
+ <filename>XFree86-misc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/fsshowfont'/>
+ <dep name='/usr/X11R6/bin/ico'/>
+ <dep name='/usr/X11R6/bin/listres'/>
+ <dep name='/usr/X11R6/bin/viewres'/>
+ <dep name='/usr/X11R6/bin/xditview'/>
+ <dep name='/usr/X11R6/bin/xedit'/>
+ <dep name='/usr/X11R6/bin/xev'/>
+ <dep name='/usr/X11R6/bin/xeyes'/>
+ <dep name='/usr/X11R6/bin/xfontsel'/>
+ <dep name='/usr/X11R6/bin/xgc'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXaw3d.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-libs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-libs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libICE.so.6'/>
+ <dep name='libPEX5.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXIE.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXi.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libXtst.so.6'/>
+ <dep name='/usr/X11R6/lib/libICE.so.6.3'/>
+ <dep name='/usr/X11R6/lib/libPEX5.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libSM.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libX11.so.6.1'/>
+ <dep name='/usr/X11R6/lib/libXIE.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libXaw.so.6.1'/>
+ <dep name='/usr/X11R6/lib/libXext.so.6.3'/>
+ <dep name='/usr/X11R6/lib/libXi.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libXmu.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libXp.so.6.2'/>
+ <dep name='/usr/X11R6/lib/libXt.so.6.0'/>
+ <dep name='/usr/X11R6/lib/libXtst.so.6.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-imake</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-imake.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/gccmakedep'/>
+ <dep name='/usr/X11R6/bin/imake'/>
+ <dep name='/usr/X11R6/bin/lndir'/>
+ <dep name='/usr/X11R6/bin/makedepend'/>
+ <dep name='/usr/X11R6/bin/makeg'/>
+ <dep name='/usr/X11R6/bin/mergelib'/>
+ <dep name='/usr/X11R6/bin/mkdirhier'/>
+ <dep name='/usr/X11R6/bin/xmkmf'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-fontserver</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-fontserver.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/fsinfo'/>
+ <dep name='/usr/X11R6/bin/fslsfonts'/>
+ <dep name='/usr/X11R6/bin/fstobdf'/>
+ <dep name='/usr/X11R6/bin/xfs'/>
+ <dep name='/usr/X11R6/lib/X11/fs'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-config' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-fonts-scale</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts-scale.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>XFree86-fonts-extra</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts-extra.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-fonts-cyrillic</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts-cyrillic.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>XFree86-fonts-75dpi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts-75dpi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>XFree86-fonts</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-fonts-100dpi</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-fonts-100dpi.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>XFree86-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='XFree86-devel'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-devel-prof</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-devel-prof.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='XFree86-devel'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/editres'/>
+ <dep name='/usr/X11R6/lib/libICE.so'/>
+ <dep name='/usr/X11R6/lib/libPEX5.so'/>
+ <dep name='/usr/X11R6/lib/libSM.so'/>
+ <dep name='/usr/X11R6/lib/libX11.so'/>
+ <dep name='/usr/X11R6/lib/libXIE.so'/>
+ <dep name='/usr/X11R6/lib/libXaw.so'/>
+ <dep name='/usr/X11R6/lib/libXext.so'/>
+ <dep name='/usr/X11R6/lib/libXi.so'/>
+ <dep name='/usr/X11R6/lib/libXmu.so'/>
+ <dep name='/usr/X11R6/lib/libXp.so'/>
+ <dep name='/usr/X11R6/lib/libXt.so'/>
+ <dep name='/usr/X11R6/lib/libXtst.so'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-contrib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.3</version>
+ <release>2</release>
+ <filename>XFree86-contrib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xbiff'/>
+ <dep name='/usr/X11R6/bin/xcalc'/>
+ <dep name='/usr/X11R6/bin/xload'/>
+ <dep name='/usr/X11R6/bin/xman'/>
+ <dep name='/usr/X11R6/bin/xmessage'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-config-eg</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-config-eg.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/X11/xdm/GiveConsole.example'/>
+ <dep name='/etc/X11/xdm/TakeConsole.example'/>
+ <dep name='/etc/X11/xdm/Xsession.example'/>
+ <dep name='/etc/X11/xdm/Xsetup_0.example'/>
+ <dep name='/usr/X11R6/bin/startx.example'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-config</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.4</version>
+ <release>1</release>
+ <filename>XFree86-config.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/X11/wmconfig/xinitrc.old'/>
+ <dep name='/etc/X11/wmconfig/xsessionrc.old'/>
+ <dep name='/etc/X11/xdm/GiveConsole'/>
+ <dep name='/etc/X11/xdm/TakeConsole'/>
+ <dep name='/etc/X11/xdm/Xsession'/>
+ <dep name='/etc/X11/xdm/Xsetup_0'/>
+ <dep name='/etc/X11/xinit/xinitrc'/>
+ <dep name='/etc/X11/xinit/xserverrc'/>
+ <dep name='/usr/X11R6/bin/startx'/>
+ </provides>
+ <requires>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-addons</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-addons.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/Xmark'/>
+ <dep name='/usr/X11R6/bin/atobm'/>
+ <dep name='/usr/X11R6/bin/bdftopcf'/>
+ <dep name='/usr/X11R6/bin/bitmap'/>
+ <dep name='/usr/X11R6/bin/bmtoa'/>
+ <dep name='/usr/X11R6/bin/dga'/>
+ <dep name='/usr/X11R6/bin/iceauth'/>
+ <dep name='/usr/X11R6/bin/lbxproxy'/>
+ <dep name='/usr/X11R6/bin/proxymngr'/>
+ <dep name='/usr/X11R6/bin/setxkbmap'/>
+ <dep name='/usr/X11R6/bin/showrgb'/>
+ <dep name='/usr/X11R6/bin/x11perf'/>
+ <dep name='/usr/X11R6/bin/x11perfcomp'/>
+ <dep name='/usr/X11R6/bin/xcmsdb'/>
+ <dep name='/usr/X11R6/bin/xcutsel'/>
+ <dep name='/usr/X11R6/bin/xfd'/>
+ <dep name='/usr/X11R6/bin/xfindproxy'/>
+ <dep name='/usr/X11R6/bin/xfwp'/>
+ <dep name='/usr/X11R6/bin/xieperf'/>
+ <dep name='/usr/X11R6/bin/xkbbell'/>
+ <dep name='/usr/X11R6/bin/xkbcomp'/>
+ <dep name='/usr/X11R6/bin/xkbevd'/>
+ <dep name='/usr/X11R6/bin/xkbprint'/>
+ <dep name='/usr/X11R6/bin/xkbvleds'/>
+ <dep name='/usr/X11R6/bin/xkbwatch'/>
+ <dep name='/usr/X11R6/bin/xkill'/>
+ <dep name='/usr/X11R6/bin/xlogo'/>
+ <dep name='/usr/X11R6/bin/xlsatoms'/>
+ <dep name='/usr/X11R6/bin/xlsclients'/>
+ <dep name='/usr/X11R6/bin/xmh'/>
+ <dep name='/usr/X11R6/bin/xon'/>
+ <dep name='/usr/X11R6/bin/xprop'/>
+ <dep name='/usr/X11R6/bin/xrefresh'/>
+ <dep name='/usr/X11R6/bin/xrx'/>
+ <dep name='/usr/X11R6/bin/xsetmode'/>
+ <dep name='/usr/X11R6/bin/xsetpointer'/>
+ <dep name='/usr/X11R6/bin/xwininfo'/>
+ <dep name='/usr/X11R6/lib/X11/x11perfcomp/fillblnk'/>
+ <dep name='/usr/X11R6/lib/X11/x11perfcomp/perfboth'/>
+ <dep name='/usr/X11R6/lib/X11/x11perfcomp/perfratio'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXIE.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXi.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Xvfb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Xvfb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/Xvfb'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Xprt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Xprt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/Xprt'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Xnest</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Xnest.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/Xnest'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-W32</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-W32.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_W32'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-VGA16</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-VGA16.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_VGA16'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-SVGA</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-SVGA.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_SVGA'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-S3V</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-S3V.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_S3V'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-S3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-S3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_S3'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-P9000</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-P9000.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_P9000'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Mono</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Mono.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_Mono'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Mach8</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Mach8.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_Mach8'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Mach64</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Mach64.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_Mach64'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-Mach32</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-Mach32.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_Mach32'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-IBM8514</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-IBM8514.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_8514'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-I128</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-I128.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_I128'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-FBDev</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-FBDev.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_FBDev'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-AGX</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-AGX.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_AGX'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86-3DLabs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86-3DLabs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='XServer'/>
+ <dep name='/usr/X11R6/bin/XF86_3DLabs'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-server' op='=' version='3.3.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>XFree86</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3.5</version>
+ <release>1</release>
+ <filename>XFree86.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/mkfontdir'/>
+ <dep name='/usr/X11R6/bin/xauth'/>
+ <dep name='/usr/X11R6/bin/xdpyinfo'/>
+ <dep name='/usr/X11R6/bin/xhost'/>
+ <dep name='/usr/X11R6/bin/xinit'/>
+ <dep name='/usr/X11R6/bin/xmodmap'/>
+ <dep name='/usr/X11R6/bin/xrdb'/>
+ <dep name='/usr/X11R6/bin/xset'/>
+ <dep name='/usr/X11R6/bin/xstdcmap'/>
+ <dep name='/usr/X11R6/bin/xvidtune'/>
+ <dep name='/usr/X11R6/lib/X11/xinit'/>
+ <dep name='/usr/X11R6/lib/X11/xkb/xkbcomp'/>
+ <dep name='/usr/bin/X11'/>
+ <dep name='/usr/include/X11'/>
+ <dep name='/usr/lib/X11'/>
+ <dep name='/usr/man/X11'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-config' op='=' version='3.3.5'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXIE.so.6'/>
+ <dep name='libXaw.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXi.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libXtst.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xmbase-grok</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.1</version>
+ <release>3</release>
+ <filename>xmbase-grok.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/grok'/>
+ <dep name='/usr/X11R6/lib/X11/grokdir/biblio.mktex.pl'/>
+ <dep name='/usr/X11R6/lib/X11/grokdir/procdemo'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>xmgr</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1.2</version>
+ <release>2</release>
+ <filename>xmgr.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xmgr'/>
+ <dep name='/usr/X11R6/lib/X11/xmgr/auxiliary/fdf2fit'/>
+ <dep name='/usr/X11R6/lib/X11/xmgr/examples/dotest'/>
+ </provides>
+ <requires>
+ <dep name='lynx'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXbae.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXmu.so.6'/>
+ <dep name='libXp.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>xntp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.93e</version>
+ <release>4</release>
+ <filename>xntp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/etc/rc.d/init.d/ntp'/>
+ <dep name='/usr/bin/ntpq'/>
+ <dep name='/usr/bin/ntptrace'/>
+ <dep name='/usr/bin/xntpdc'/>
+ <dep name='/usr/sbin/ntpdate'/>
+ <dep name='/usr/sbin/tickadj'/>
+ <dep name='/usr/sbin/xntpd'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xpdf</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.7</version>
+ <release>1</release>
+ <filename>xpdf.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/pdftops'/>
+ <dep name='/usr/bin/pdftotext'/>
+ <dep name='/usr/bin/xpdf'/>
+ <dep name='/usr/man/man1/pdftops.1.gz'/>
+ <dep name='/usr/man/man1/pdftotext.1.gz'/>
+ <dep name='/usr/man/man1/xpdf.1.gz'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xpm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.11</version>
+ <release>1</release>
+ <filename>xpm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libXpm.so.4'/>
+ <dep name='/usr/X11R6/lib/libXpm.so.4.11'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xpm-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.11</version>
+ <release>1</release>
+ <filename>xpm-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>xpm-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.11</version>
+ <release>1</release>
+ <filename>xpm-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/sxpm'/>
+ <dep name='/usr/X11R6/lib/libXpm.so'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libXpm.so.4'/>
+ <dep name='libXt.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xselection</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.6</version>
+ <release>2</release>
+ <filename>xselection.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xselection'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xterm-color</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>4</release>
+ <filename>xterm-color.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/ansi-xterm'/>
+ <dep name='/usr/X11R6/bin/color-xterm'/>
+ <dep name='/usr/X11R6/bin/xterm-color'/>
+ </provides>
+ <requires>
+ <dep name='XFree86-xterm'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>xtoolwait</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>xtoolwait.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xtoolwait'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libXext.so.6'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>xv</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.10a</version>
+ <release>8</release>
+ <filename>xv.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/bggen'/>
+ <dep name='/usr/X11R6/bin/vdcomp'/>
+ <dep name='/usr/X11R6/bin/xcmap'/>
+ <dep name='/usr/X11R6/bin/xv'/>
+ <dep name='/usr/X11R6/bin/xvpictoppm'/>
+ <dep name='/usr/man/man1/bggen.1.gz'/>
+ <dep name='/usr/man/man1/vdcomp.1.gz'/>
+ <dep name='/usr/man/man1/xcmap.1.gz'/>
+ <dep name='/usr/man/man1/xv.1.gz'/>
+ <dep name='/usr/man/man1/xvp2p.1.gz'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libtiff.so.3'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>xwatch</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.10</version>
+ <release>4</release>
+ <filename>xwatch.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/X11R6/bin/xwatch'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libforms.so.0.88'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>ytalk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1</version>
+ <release>2</release>
+ <filename>ytalk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/ytalk'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libICE.so.6'/>
+ <dep name='libSM.so.6'/>
+ <dep name='libX11.so.6'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>zip</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2</version>
+ <release>1</release>
+ <filename>zip.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/zip'/>
+ <dep name='/usr/bin/zipcloak'/>
+ <dep name='/usr/bin/zipnote'/>
+ <dep name='/usr/bin/zipsplit'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>zoneinfo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1999d</version>
+ <release>1</release>
+ <filename>zoneinfo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/sbin/zdump'/>
+ <dep name='/usr/sbin/zic'/>
+ <dep name='/usr/share/zoneinfo/localtime'/>
+ <dep name='/usr/share/zoneinfo/posixrules'/>
+ <dep name='/usr/share/zoneinfo/posixtime'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>zoo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.10</version>
+ <release>3</release>
+ <filename>zoo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/fiz'/>
+ <dep name='/usr/bin/zoo'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>zsh</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.5</version>
+ <release>1</release>
+ <filename>zsh.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/zsh'/>
+ <dep name='/usr/lib/zsh/acx'/>
+ <dep name='/usr/lib/zsh/c2z'/>
+ <dep name='/usr/lib/zsh/cat'/>
+ <dep name='/usr/lib/zsh/cdmatch'/>
+ <dep name='/usr/lib/zsh/cdmatch2'/>
+ <dep name='/usr/lib/zsh/checkmail'/>
+ <dep name='/usr/lib/zsh/cx'/>
+ <dep name='/usr/lib/zsh/harden'/>
+ <dep name='/usr/lib/zsh/lete2ctl'/>
+ <dep name='/usr/lib/zsh/mere'/>
+ <dep name='/usr/lib/zsh/multicomp'/>
+ <dep name='/usr/lib/zsh/proto'/>
+ <dep name='/usr/lib/zsh/pushd'/>
+ <dep name='/usr/lib/zsh/randline'/>
+ <dep name='/usr/lib/zsh/reporter'/>
+ <dep name='/usr/lib/zsh/run-help'/>
+ <dep name='/usr/lib/zsh/yp'/>
+ <dep name='/usr/lib/zsh/yu'/>
+ <dep name='/usr/lib/zsh/zed'/>
+ <dep name='/usr/lib/zsh/zlogin-dist'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/zsh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>zsh-doc-html</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1.5</version>
+ <release>1</release>
+ <filename>zsh-doc-html.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>ncurses</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>1</release>
+ <filename>ncurses.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='curses'/>
+ <dep name='libform.so.4'/>
+ <dep name='libmenu.so.4'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpanel.so.4'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>ld.so</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.9.9</version>
+ <release>2</release>
+ <filename>ld.so.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/sbin/ldconfig'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>lisa</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1</version>
+ <release>0</release>
+ <filename>lisa.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>procmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.10</version>
+ <release>8</release>
+ <filename>procmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>DEV</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.3</version>
+ <release>0</release>
+ <filename>DEV.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcsh</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>6.08.00</version>
+ <release>1</release>
+ <filename>tcsh.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/usr/bin/perl'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>patch</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5</version>
+ <release>1</release>
+ <filename>patch.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>libz</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0.2</version>
+ <release>1</release>
+ <filename>libz.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libz.so.1'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>SysVinit-scripts</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.04</version>
+ <release>0</release>
+ <filename>SysVinit-scripts.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='SysVinit' op='>=' version='2.76'/>
+ <dep name='lisa' op='>=' version='3.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>sh-utils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.16</version>
+ <release>3</release>
+ <filename>sh-utils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/env'/>
+ </provides>
+ <requires>
+ <dep name='libpam' op='>=' version='0.58'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpam.so.0'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>kbd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.96</version>
+ <release>1</release>
+ <filename>kbd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>util-linux</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7.1</version>
+ <release>5</release>
+ <filename>util-linux.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='lisa' op='>=' version='3.0'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>bool</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>bool.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>autoconf</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.13</version>
+ <release>0</release>
+ <filename>autoconf.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='awk'/>
+ <dep name='m4'/>
+ <dep name='mktemp'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>ed</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.2</version>
+ <release>5</release>
+ <filename>ed.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>bash</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14.7</version>
+ <release>9</release>
+ <filename>bash.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ </provides>
+ <requires>
+ <dep name='mktemp'/>
+ <dep name='/usr/bin/perl'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>findutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.1</version>
+ <release>9</release>
+ <filename>findutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>perl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>0</release>
+ <filename>perl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/perl'/>
+ </provides>
+ <requires>
+ <dep name='tcsh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>gawk</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.3</version>
+ <release>3</release>
+ <filename>gawk.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='awk'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>libpwdb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.54</version>
+ <release>7</release>
+ <filename>libpwdb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libpwdb.so.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>rpm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.5.5</version>
+ <release>2</release>
+ <filename>rpm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/bash'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ <conflicts>
+ <dep name='patch' op='<' version='2.5'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>ncurses-termcap-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>1</release>
+ <filename>ncurses-termcap-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ncurses-devel' op='=' version='4.2'/>
+ </requires>
+ <conflicts>
+ <dep name='libtermcap-devel'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>strace</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1</version>
+ <release>3</release>
+ <filename>strace.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>vixie-cron</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.0.1</version>
+ <release>18</release>
+ <filename>vixie-cron.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='cron'/>
+ </provides>
+ <requires>
+ <dep name='syslog'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>pciutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.99.4</version>
+ <release>1</release>
+ <filename>pciutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>crontabs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.10</version>
+ <release>2</release>
+ <filename>crontabs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='cron'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>info</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.12</version>
+ <release>3</release>
+ <filename>info.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libz.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs-c++</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.60</version>
+ <release>3</release>
+ <filename>egcs-c++.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libstdc++.so.2.9'/>
+ </provides>
+ <requires>
+ <dep name='gcc'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>egcs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.91.60</version>
+ <release>3</release>
+ <filename>egcs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='gcc'/>
+ </provides>
+ <requires>
+ <dep name='binutils'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>SysVinit</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.76</version>
+ <release>0</release>
+ <filename>SysVinit.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.04'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>python-eclass</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>0</release>
+ <filename>python-eclass.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='Acquisition.so'/>
+ <dep name='ExtensionClass.so'/>
+ <dep name='MethodObject.so'/>
+ <dep name='Missing.so'/>
+ <dep name='MultiMapping.so'/>
+ <dep name='Sync.so'/>
+ <dep name='ThreadLock.so'/>
+ </provides>
+ <requires>
+ <dep name='python' op='>=' version='1.5'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>binutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.9.1.0.19a</version>
+ <release>0</release>
+ <filename>binutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libbfd-2.9.1.0.19.so.0'/>
+ <dep name='libopcodes-2.9.1.0.19.so.0'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libbfd-2.9.1.0.19.so.0'/>
+ <dep name='libc.so.6'/>
+ <dep name='libopcodes-2.9.1.0.19.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-kernel-binary</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0a</release>
+ <filename>linux-kernel-binary.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow-misc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>3</release>
+ <filename>shadow-misc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libshadow.so.0'/>
+ <dep name='pam_dialup.so'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libshadow.so.0'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>libgr</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.13</version>
+ <release>1</release>
+ <filename>libgr.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libfbm.so.1'/>
+ <dep name='libjpeg.so.6'/>
+ <dep name='libpbm.so.1'/>
+ <dep name='libpgm.so.1'/>
+ <dep name='libpng.so.1'/>
+ <dep name='libpnm.so.1'/>
+ <dep name='libppm.so.1'/>
+ <dep name='libtiff.so.3'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>copyrights</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2</version>
+ <release>1</release>
+ <filename>copyrights.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>man</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5f</version>
+ <release>1</release>
+ <filename>man.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='groff'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ <conflicts>
+ <dep name='man_db'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>perl-add</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.005_02</version>
+ <release>0</release>
+ <filename>perl-add.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='B.so'/>
+ <dep name='DB_File.so'/>
+ <dep name='Dumper.so'/>
+ <dep name='Fcntl.so'/>
+ <dep name='IO.so'/>
+ <dep name='Opcode.so'/>
+ <dep name='POSIX.so'/>
+ <dep name='SDBM_File.so'/>
+ <dep name='Socket.so'/>
+ <dep name='SysV.so'/>
+ <dep name='Thread.so'/>
+ <dep name='attrs.so'/>
+ <dep name='re.so'/>
+ </provides>
+ <requires>
+ <dep name='perl' op='=' version='5.005_02'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>cracklib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7</version>
+ <release>1</release>
+ <filename>cracklib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>ncurses-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>1</release>
+ <filename>ncurses-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ncurses' op='=' version='4.2'/>
+ </requires>
+ <obsoletes>
+ <dep name='ncurses-devel-compat'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ncurses-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>1</release>
+ <filename>ncurses-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ncurses-devel' op='=' version='4.2'/>
+ </requires>
+ <obsoletes>
+ <dep name='ncurses-devel-compat-static'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ncurses-termcap-devel-static</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2</version>
+ <release>1</release>
+ <filename>ncurses-termcap-devel-static.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ncurses-devel-static' op='=' version='4.2'/>
+ </requires>
+ <conflicts>
+ <dep name='libtermcap-devel-static'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>procps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.9</version>
+ <release>2</release>
+ <filename>procps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libproc.so.1.2.6'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libproc.so.1.2.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>automake</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>0</release>
+ <filename>automake.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='autoconf' op='>=' version='2.13'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>isapnptools</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.16</version>
+ <release>1</release>
+ <filename>isapnptools.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.2</version>
+ <release>1</release>
+ <filename>qt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libqt.so.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>qt-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4.2</version>
+ <release>1</release>
+ <filename>qt-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='qt' op='=' version='1.4.2'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libstdc++.so.2.9'/>
+ </requires>
+ </package>
+ <package>
+ <name>pam-apps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.55</version>
+ <release>6</release>
+ <filename>pam-apps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='libpwdb.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>LPRng</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>1</release>
+ <filename>LPRng.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='lpr'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libnsl.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>rcs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>5.7</version>
+ <release>5</release>
+ <filename>rcs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='diffutils'/>
+ <dep name='ed'/>
+ <dep name='mktemp'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>nis-client</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>0</release>
+ <filename>nis-client.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcl</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tcl.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libtcl8.0.so'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libtcl8.0.so'/>
+ </requires>
+ </package>
+ <package>
+ <name>LPRng-lpd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.5.3</version>
+ <release>1</release>
+ <filename>LPRng-lpd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='lpd'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.03' release='2'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>readline</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0</release>
+ <filename>readline.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libhistory.so.3'/>
+ <dep name='libreadline.so.3'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>slang</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.2.2</version>
+ <release>0</release>
+ <filename>slang.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libslang.so.1'/>
+ </provides>
+ <requires>
+ <dep name='ncurses'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>sysklogd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.26</version>
+ <release>3</release>
+ <filename>sysklogd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='syslog'/>
+ </provides>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.03'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>groff-ps</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.11a</version>
+ <release>3</release>
+ <filename>groff-ps.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdriver.so.1.11'/>
+ <dep name='libgroff.so.1.11'/>
+ <dep name='libm.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>less</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>332</version>
+ <release>3</release>
+ <filename>less.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>gdb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.17</version>
+ <release>2</release>
+ <filename>gdb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='debugger'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libncurses.so.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>linux-kernel-include</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.2.1</version>
+ <release>0a</release>
+ <filename>linux-kernel-include.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>libpam</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.66</version>
+ <release>1</release>
+ <filename>libpam.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libpam.so.0'/>
+ <dep name='libpam_misc.so.0'/>
+ <dep name='pam_access.so'/>
+ <dep name='pam_cracklib.so'/>
+ <dep name='pam_deny.so'/>
+ <dep name='pam_env.so'/>
+ <dep name='pam_ftp.so'/>
+ <dep name='pam_group.so'/>
+ <dep name='pam_lastlog.so'/>
+ <dep name='pam_limits.so'/>
+ <dep name='pam_listfile.so'/>
+ <dep name='pam_mail.so'/>
+ <dep name='pam_nologin.so'/>
+ <dep name='pam_permit.so'/>
+ <dep name='pam_pwdb.so'/>
+ <dep name='pam_radius.so'/>
+ <dep name='pam_rhosts_auth.so'/>
+ <dep name='pam_rootok.so'/>
+ <dep name='pam_securetty.so'/>
+ <dep name='pam_shells.so'/>
+ <dep name='pam_stress.so'/>
+ <dep name='pam_tally.so'/>
+ <dep name='pam_time.so'/>
+ <dep name='pam_unix_acct.so'/>
+ <dep name='pam_unix_auth.so'/>
+ <dep name='pam_unix_passwd.so'/>
+ <dep name='pam_unix_session.so'/>
+ <dep name='pam_warn.so'/>
+ <dep name='pam_wheel.so'/>
+ </provides>
+ <requires>
+ <dep name='libpwdb' op='>=' version='0.54'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libpwdb.so.0'/>
+ </requires>
+ </package>
+ <package>
+ <name>diffutils</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.7b</version>
+ <release>0</release>
+ <filename>diffutils.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>setup</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>0a</release>
+ <filename>setup.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>m4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>6</release>
+ <filename>m4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ <package>
+ <name>e2fsprogs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.14</version>
+ <release>0</release>
+ <filename>e2fsprogs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libcom_err.so.2'/>
+ <dep name='libe2p.so.2'/>
+ <dep name='libext2fs.so.2'/>
+ <dep name='libss.so.2'/>
+ <dep name='libuuid.so.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcom_err.so.2'/>
+ <dep name='libe2p.so.2'/>
+ <dep name='libext2fs.so.2'/>
+ <dep name='libss.so.2'/>
+ <dep name='libuuid.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>glibc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.1</version>
+ <release>1</release>
+ <filename>glibc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libBrokenLocale.so.1'/>
+ <dep name='libSegFault.so'/>
+ <dep name='libc.so.6'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libnss_compat.so.2'/>
+ <dep name='libnss_db.so.2'/>
+ <dep name='libnss_dns.so.2'/>
+ <dep name='libnss_files.so.2'/>
+ <dep name='libnss_hesiod.so.2'/>
+ <dep name='libnss_nis.so.2'/>
+ <dep name='libnss_nisplus.so.2'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='librt.so.1'/>
+ <dep name='libutil.so.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libnss_files.so.2'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libresolv.so.2'/>
+ </requires>
+ </package>
+ <package>
+ <name>tcl-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.0.4</version>
+ <release>1</release>
+ <filename>tcl-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='tcl' op='=' version='8.0.4'/>
+ </requires>
+ </package>
+ <package>
+ <name>svgalib</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.3.1</version>
+ <release>1</release>
+ <filename>svgalib.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libvga.so.1'/>
+ <dep name='libvgagl.so.1'/>
+ </provides>
+ <requires>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libm.so.6'/>
+ <dep name='libvga.so.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/perl'/>
+ </requires>
+ </package>
+ <package>
+ <name>python</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>0a</release>
+ <filename>python.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='arraymodule.so'/>
+ <dep name='audioop.so'/>
+ <dep name='binascii.so'/>
+ <dep name='bsddbmodule.so'/>
+ <dep name='cPickle.so'/>
+ <dep name='cStringIO.so'/>
+ <dep name='cmathmodule.so'/>
+ <dep name='cryptmodule.so'/>
+ <dep name='cursesmodule.so'/>
+ <dep name='errnomodule.so'/>
+ <dep name='fcntlmodule.so'/>
+ <dep name='grpmodule.so'/>
+ <dep name='imageop.so'/>
+ <dep name='mathmodule.so'/>
+ <dep name='md5module.so'/>
+ <dep name='newmodule.so'/>
+ <dep name='nismodule.so'/>
+ <dep name='operator.so'/>
+ <dep name='parsermodule.so'/>
+ <dep name='pwdmodule.so'/>
+ <dep name='readline.so'/>
+ <dep name='resource.so'/>
+ <dep name='rgbimgmodule.so'/>
+ <dep name='rotormodule.so'/>
+ <dep name='selectmodule.so'/>
+ <dep name='socketmodule.so'/>
+ <dep name='stropmodule.so'/>
+ <dep name='structmodule.so'/>
+ <dep name='syslogmodule.so'/>
+ <dep name='termios.so'/>
+ <dep name='timemodule.so'/>
+ <dep name='timingmodule.so'/>
+ <dep name='zlibmodule.so'/>
+ <dep name='/usr/bin/python'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdl.so.2'/>
+ <dep name='libm.so.6'/>
+ <dep name='libpthread.so.0'/>
+ <dep name='libcrypt.so.1'/>
+ <dep name='libdb.so.2'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='libreadline.so.3'/>
+ <dep name='libz.so.1'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>python-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.5.1</version>
+ <release>0a</release>
+ <filename>python-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='python' op='=' version='1.5.1'/>
+ <dep name='/bin/sh'/>
+ <dep name='/usr/bin/env'/>
+ <dep name='/usr/bin/python'/>
+ </requires>
+ </package>
+ <package>
+ <name>dialog</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>0.6</version>
+ <release>6</release>
+ <filename>dialog.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libncurses.so.4'/>
+ <dep name='/bin/sh'/>
+ </requires>
+ </package>
+ <package>
+ <name>mtabase</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>5</release>
+ <filename>mtabase.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='SysVinit-scripts' op='>=' version='1.02' release='4'/>
+ <dep name='/bin/sh'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>sendmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>8.8.7</version>
+ <release>7</release>
+ <filename>sendmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='MTA'/>
+ </provides>
+ <requires>
+ <dep name='mtabase'/>
+ <dep name='procmail'/>
+ <dep name='/bin/sh'/>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ <dep name='libdb.so.3'/>
+ <dep name='libnsl.so.1'/>
+ <dep name='libresolv.so.2'/>
+ <dep name='/bin/bash'/>
+ </requires>
+ </package>
+ <package>
+ <name>mktemp</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.4</version>
+ <release>2</release>
+ <filename>mktemp.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/bin/mktemp'/>
+ </provides>
+ <requires>
+ <dep name='ld-linux.so.2'/>
+ <dep name='libc.so.6'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>p1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p3a'/>
+ </requires>
+ </package>
+ <package>
+ <name>p3a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p3a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p4a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p4a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p5</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p5.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='p5a'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>p6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p6virt'/>
+ </requires>
+ </package>
+ <package>
+ <name>p6a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p6a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p6virt'/>
+ </provides>
+ <requires>
+ <dep name='p6xxx'/>
+ </requires>
+ </package>
+ <package>
+ <name>p6b</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p6b.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p6virt'/>
+ </provides>
+ <conflicts>
+ <dep name='p2'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>p6c</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p6c.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p6virt'/>
+ </provides>
+ </package>
+ <package>
+ <name>p7new</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p7new.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='p7'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>p8</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p8.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='p8a' op='<' version='2.0'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>p8a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p8a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p9</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p9.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p9a'/>
+ </requires>
+ </package>
+ <package>
+ <name>p9a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p9a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p9b'/>
+ <dep name='p9c'/>
+ </requires>
+ </package>
+ <package>
+ <name>p9b</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p9b.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p9d'/>
+ </requires>
+ </package>
+ <package>
+ <name>p9c</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p9c.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p9d'/>
+ </requires>
+ </package>
+ <package>
+ <name>p10new</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p10new.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='p10'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>p10new2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p10new2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p10'/>
+ </provides>
+ </package>
+ <package>
+ <name>p11new</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p11new.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='p11'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>p11new2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p11new2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p11'/>
+ </provides>
+ </package>
+ <package>
+ <name>p11new3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>p11new3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='p11'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>p1</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p1.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p4a' op='<' version='1.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>p4a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p4a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p5</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p5.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p5a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p5a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p5b</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p5b.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p5a'/>
+ </requires>
+ </package>
+ <package>
+ <name>p6</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p6.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p7</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p7.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p8</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p8.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='p8a' op='<' version='1.0'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>p8a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p8a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p9</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p9.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p10</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p10.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p10a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p10a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p10'/>
+ </requires>
+ </package>
+ <package>
+ <name>p11</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p11.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>p11a</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>p11a.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='p11'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-06upgrade-test.solution 2005-11-05 21:20:13.000000000 +0100
++++ exercise-06upgrade-test.mistake 2005-11-30 10:37:37.000000000 +0100
+@@ -1,11 +0,0 @@
+->!> Checking for upgrades...
+->!> Upgrading p2-1.0-1 => p2-2.0-1[test]
+->!> Upgrading p3-1.0-1 => p3-2.0-1[test]
+->!> Upgrading p4-1.0-1 => p4-2.0-1[test]
+->!> Upgrading p4a-1.0-1 => p4a-2.0-1[test]
+->!> Upgrading p5-1.0-1 => p5-2.0-1[test]
+->!> Upgrading p6-1.0-1 => p6-2.0-1[test]
+->!> Upgrading p8-1.0-1 => p8-2.0-1[test]
+->!> Upgrading p8a-1.0-1 => p8a-2.0-1[test]
+->!> Upgrading p9-1.0-1 => p9-2.0-1[test]
+->!> Upgrading 9 packages
--- /dev/null
+I/O error : No such file or directory
--- /dev/null
+Loaded 17 packages from deptestomatic/exercise-06upgrade-system.xml
+Loaded 23 packages from deptestomatic/exercise-06upgrade-packages.xml
+
+------------------------------------------------
+
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+Unable to save subscription data to '/var/adm/zypp/subscriptions.xml'
+Subscription will not be saved!
+>!> Checking for upgrades...
+>!> Upgrading p2-1.0-1 => p2-2.0-1[test]
+>!> Upgrading p3-1.0-1 => p3-2.0-1[test]
+>!> Upgrading p4-1.0-1 => p4-2.0-1[test]
+>!> Upgrading p4a-1.0-1 => p4a-2.0-1[test]
+>!> Upgrading p5-1.0-1 => p5-2.0-1[test]
+>!> Upgrading p6-1.0-1 => p6-2.0-1[test]
+>!> Upgrading p8-1.0-1 => p8-2.0-1[test]
+>!> Upgrading p8a-1.0-1 => p8a-2.0-1[test]
+>!> Upgrading p9-1.0-1 => p9-2.0-1[test]
+>!> Upgrading 9 packages
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 1353, Install Size: 912, Total Priority: 0, Min Priority: 1600, Max Priority: 1600, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Upgrading p2-1.0-1 => p2-2.0-1[test]
+Upgrading p3-1.0-1 => p3-2.0-1[test]
+Upgrading p4-1.0-1 => p4-2.0-1[test]
+Upgrading p4a-1.0-1 => p4a-2.0-1[test]
+Upgrading p5-1.0-1 => p5-2.0-1[test]
+Upgrading p6-1.0-1 => p6-2.0-1[test]
+Upgrading p8-1.0-1 => p8-2.0-1[test]
+Upgrading p8a-1.0-1 => p8a-2.0-1[test]
+Upgrading p9-1.0-1 => p9-2.0-1[test]
+Marking resolvable p6b-2.0-1 as uninstallable
+p3a-2.0-1[test]: needed by [p3-2.0-1]
+Installing p3a-2.0-1[test]
+p9a-2.0-1[test]: needed by [p9-2.0-1]
+Installing p9a-2.0-1[test]
+p5a-1.0-1: conflicts with [p5-2.0-1]
+There are no installable providers of p5a for p5b-1.0-1
+p5a provides p5a-1.0-1, but is scheduled to be uninstalled.
+There are no installable providers of p9c for p9a-2.0-1[test]
+p9c provides p9c-2.0-1, but it is uninstallable. Try installing it on its own for more details.
+There are no installable providers of p9b for p9a-2.0-1[test]
+p9b provides p9b-2.0-1, but it is uninstallable. Try installing it on its own for more details.
+[ERROR] p9a-2.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Checking for upgrades...
+>!> Upgrading p2-1.0-1 => p2-2.0-1[test]
+>!> Upgrading p3-1.0-1 => p3-2.0-1[test]
+>!> Upgrading p4-1.0-1 => p4-2.0-1[test]
+>!> Upgrading p4a-1.0-1 => p4a-2.0-1[test]
+>!> Upgrading p5-1.0-1 => p5-2.0-1[test]
+>!> Upgrading p6-1.0-1 => p6-2.0-1[test]
+>!> Upgrading p8-1.0-1 => p8-2.0-1[test]
+>!> Upgrading p8a-1.0-1 => p8a-2.0-1[test]
+>!> Upgrading p9-1.0-1 => p9-2.0-1[test]
+>!> Upgrading 9 packages
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-06upgrade-system.xml"/>
+ <channel name="test" file="exercise-06upgrade-packages.xml"/>
+</setup>
+
+<trial>
+ <subscribe channel="test"/>
+ <upgrade/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-alternatives-1-test.solution 2005-11-05 21:15:48.000000000 +0100
++++ exercise-alternatives-1-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,21 +0,0 @@
+->!> Installing alt from channel test
+->!> Solution #1:
+->!> install WindowMaker-1.0-1[test]
+->!> install alt-1.0-1[test]
+->!> install sendmail-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
+->!> Solution #2:
+->!> install alt-1.0-1[test]
+->!> install icewm-1.0-1[test]
+->!> install postfix-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
+->!> Solution #3:
+->!> install WindowMaker-1.0-1[test]
+->!> install alt-1.0-1[test]
+->!> install postfix-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
+->!> Solution #4:
+->!> install alt-1.0-1[test]
+->!> install icewm-1.0-1[test]
+->!> install sendmail-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-alternatives-system.xml
+Loaded 8 packages from deptestomatic/exercise-alternatives-packages.xml
+
+------------------------------------------------
+
+>!> Installing alt from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 4
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = f5b08e61
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+WindowMaker-1.0-1[test]: needed by [alt-1.0-1]
+Installing WindowMaker-1.0-1[test]
+sendmail-1.0-1[test]: needed by [alt-1.0-1]
+Installing sendmail-1.0-1[test]
+Installing alt-1.0-1[test]
+
+Other Valid Solutions:
+
+>!> Solution #2:
+Checksum = 2456bb7e
+>!> install alt-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+icewm-1.0-1[test]: needed by [alt-1.0-1]
+Installing icewm-1.0-1[test]
+postfix-1.0-1[test]: needed by [alt-1.0-1]
+Installing postfix-1.0-1[test]
+Installing alt-1.0-1[test]
+>!> Solution #3:
+Checksum = 5c705ed1
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+WindowMaker-1.0-1[test]: needed by [alt-1.0-1]
+Installing WindowMaker-1.0-1[test]
+postfix-1.0-1[test]: needed by [alt-1.0-1]
+Installing postfix-1.0-1[test]
+Installing alt-1.0-1[test]
+>!> Solution #4:
+Checksum = 3bfcb5de
+>!> install alt-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+icewm-1.0-1[test]: needed by [alt-1.0-1]
+Installing icewm-1.0-1[test]
+sendmail-1.0-1[test]: needed by [alt-1.0-1]
+Installing sendmail-1.0-1[test]
+Installing alt-1.0-1[test]
+
--- /dev/null
+>!> Installing alt from channel test
+>!> Solution #1:
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+>!> Solution #2:
+>!> install alt-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+>!> Solution #3:
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+>!> Solution #4:
+>!> install alt-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-alternatives-system.xml"/>
+ <channel name="test" file="exercise-alternatives-packages.xml"/>
+</setup>
+
+<!--
+# double alternatives but otherwise good
+alt
+ -->
+<trial>
+ <install channel="test" package="alt"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-alternatives-2-test.solution 2005-11-05 21:16:19.000000000 +0100
++++ exercise-alternatives-2-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1 +0,0 @@
+->!> Installing alt-unresolvable from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-alternatives-system.xml
+Loaded 8 packages from deptestomatic/exercise-alternatives-packages.xml
+
+------------------------------------------------
+
+>!> Installing alt-unresolvable from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 123, Install Size: 456, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing alt-unresolvable-1.0-1[test]
+There are no installable providers of something == 4.0-1 for alt-unresolvable-1.0-1[test]
+[ERROR] alt-unresolvable-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing alt-unresolvable from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-alternatives-system.xml"/>
+ <channel name="test" file="exercise-alternatives-packages.xml"/>
+</setup>
+
+<!--
+# double alternatives but also unresolvable
+alt-unresolvable
+ -->
+<trial>
+ <install channel="test" package="alt-unresolvable"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-alternatives-3-test.solution 2005-11-05 21:16:54.000000000 +0100
++++ exercise-alternatives-3-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,25 +0,0 @@
+->!> Installing alt-conflict from channel test
+->!> Solution #1:
+->!> install alt-conflict-1.0-1[test]
+->!> install icewm-1.0-1[test]
+->!> install postfix-1.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=3, upgrades=0, uninstalls=1
+->!> Solution #2:
+->!> install WindowMaker-1.0-1[test]
+->!> install alt-conflict-1.0-1[test]
+->!> install sendmail-1.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=3, upgrades=0, uninstalls=1
+->!> Solution #3:
+->!> install WindowMaker-1.0-1[test]
+->!> install alt-conflict-1.0-1[test]
+->!> install postfix-1.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=3, upgrades=0, uninstalls=1
+->!> Solution #4:
+->!> install alt-conflict-1.0-1[test]
+->!> install icewm-1.0-1[test]
+->!> install sendmail-1.0-1[test]
+->!> remove foo-1.0-1
+->!> installs=3, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-alternatives-system.xml
+Loaded 8 packages from deptestomatic/exercise-alternatives-packages.xml
+
+------------------------------------------------
+
+>!> Installing alt-conflict from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 4
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 1d401a79
+>!> install alt-conflict-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+postfix-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing postfix-1.0-1[test]
+icewm-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing icewm-1.0-1[test]
+Installing alt-conflict-1.0-1[test]
+foo-1.0-1: conflicts with [alt-conflict-1.0-1]
+
+Other Valid Solutions:
+
+>!> Solution #2:
+Checksum = 8e51c99c
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-conflict-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+sendmail-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing sendmail-1.0-1[test]
+WindowMaker-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing WindowMaker-1.0-1[test]
+Installing alt-conflict-1.0-1[test]
+foo-1.0-1: conflicts with [alt-conflict-1.0-1]
+>!> Solution #3:
+Checksum = c852b21c
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-conflict-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+postfix-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing postfix-1.0-1[test]
+WindowMaker-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing WindowMaker-1.0-1[test]
+Installing alt-conflict-1.0-1[test]
+foo-1.0-1: conflicts with [alt-conflict-1.0-1]
+>!> Solution #4:
+Checksum = 3215b7c9
+>!> install alt-conflict-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=-1600
+- - - - - - - - - -
+sendmail-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing sendmail-1.0-1[test]
+icewm-1.0-1[test]: needed by [alt-conflict-1.0-1]
+Installing icewm-1.0-1[test]
+Installing alt-conflict-1.0-1[test]
+foo-1.0-1: conflicts with [alt-conflict-1.0-1]
+
--- /dev/null
+>!> Installing alt-conflict from channel test
+>!> Solution #1:
+>!> install alt-conflict-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+>!> Solution #2:
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-conflict-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+>!> Solution #3:
+>!> install WindowMaker-1.0-1[test]
+>!> install alt-conflict-1.0-1[test]
+>!> install postfix-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
+>!> Solution #4:
+>!> install alt-conflict-1.0-1[test]
+>!> install icewm-1.0-1[test]
+>!> install sendmail-1.0-1[test]
+>!> remove foo-1.0-1
+>!> installs=3, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-alternatives-system.xml"/>
+ <channel name="test" file="exercise-alternatives-packages.xml"/>
+</setup>
+
+<!--
+# double alternatives but also conflict
+alt-conflict
+ -->
+<trial>
+ <install channel="test" package="alt-conflict"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-alternatives-4-test.solution 2005-11-05 21:17:07.000000000 +0100
++++ exercise-alternatives-4-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1 +0,0 @@
+->!> Installing alt-conflict-unresolvable from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-alternatives-system.xml
+Loaded 8 packages from deptestomatic/exercise-alternatives-packages.xml
+
+------------------------------------------------
+
+>!> Installing alt-conflict-unresolvable from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 123, Install Size: 456, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing alt-conflict-unresolvable-1.0-1[test]
+There are no installable providers of something == 4.0-1 for alt-conflict-unresolvable-1.0-1[test]
+[ERROR] alt-conflict-unresolvable-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing alt-conflict-unresolvable from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-alternatives-system.xml"/>
+ <channel name="test" file="exercise-alternatives-packages.xml"/>
+</setup>
+
+<!--
+# double alternatives but also conflict and unresolvable
+alt-conflict-unresolvable
+ -->
+<trial>
+ <install channel="test" package="alt-conflict-unresolvable"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>alt</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>alt.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='windowmanager'/>
+ <dep name='smtp_daemon'/>
+ </requires>
+ </package>
+ <package>
+ <name>alt-unresolvable</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>alt-unresolvable.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='windowmanager'/>
+ <dep name='smtp_daemon'/>
+ <dep name='something' op='=' version='4.0' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>alt-conflict</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>alt-conflict.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='windowmanager'/>
+ <dep name='smtp_daemon'/>
+ </requires>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>alt-conflict-unresolvable</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>alt-conflict-unresolvable.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='windowmanager'/>
+ <dep name='smtp_daemon'/>
+ <dep name='something' op='=' version='4.0' release='1'/>
+ </requires>
+ <conflicts>
+ <dep name='foo'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>WindowMaker</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>WindowMaker.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='windowmanager'/>
+ </provides>
+ </package>
+ <package>
+ <name>icewm</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>icewm.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='windowmanager'/>
+ </provides>
+ </package>
+ <package>
+ <name>postfix</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>postfix.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='smtp_daemon'/>
+ </provides>
+ </package>
+ <package>
+ <name>sendmail</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>sendmail.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='smtp_daemon'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-bug21829-1-test.solution 2005-11-05 21:25:25.000000000 +0100
++++ exercise-bug21829-1-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Installing lsb from channel test
+->!> Installing lprng from channel test
+->!> Installing cups-client from channel test
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-bug21829-system.xml
+Loaded 4 packages from deptestomatic/exercise-bug21829-packages.xml
+
+------------------------------------------------
+
+>!> Installing lsb from channel test
+>!> Installing lprng from channel test
+>!> Installing cups-client from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 369, Install Size: 1368, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing lsb-1.0-1[test]
+Installing lprng-1.0-1[test]
+Installing cups-client-1.0-1[test]
+[ERROR] lprng-1.0-1 is scheduled to be installed, but this is not possible because of dependency problems.
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing lsb from channel test
+>!> Installing lprng from channel test
+>!> Installing cups-client from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-bug21829-system.xml"/>
+ <channel name="test" file="exercise-bug21829-packages.xml"/>
+</setup>
+
+<!--
+# lsb requires /usr/bin/lpr which is provided by both, cups-client and lprng.
+# Problem:
+# - only lprng gets lsb as referer
+# - remove list contains lsb despite /usr/bin/lpr is satisfied by cups-client
+# XXX: whether or not lsb is in the remove list depends on the order they are
+# checked in the solver which is not defined!
+lsb lprng cups-client
+ -->
+<trial>
+ <install channel="test" package="lsb"/>
+ <install channel="test" package="lprng"/>
+ <install channel="test" package="cups-client"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-bug21829-2-test.solution 2005-11-05 21:03:52.000000000 +0100
++++ exercise-bug21829-2-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,7 +0,0 @@
+->!> Installing lsb from channel test
+->!> Installing cups-client from channel test
+->!> Solution #1:
+->!> install cups-client-1.0-1[test]
+->!> install lsb-1.0-1[test]
+->!> |unflag lprng-1.0-1[test]
+->!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-bug21829-system.xml
+Loaded 4 packages from deptestomatic/exercise-bug21829-packages.xml
+
+------------------------------------------------
+
+>!> Installing lsb from channel test
+>!> Installing cups-client from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 8d36de18
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing lsb-1.0-1[test]
+Installing cups-client-1.0-1[test]
+Marking resolvable lprng-1.0-1 as uninstallable
+
--- /dev/null
+>!> Installing lsb from channel test
+>!> Installing cups-client from channel test
+>!> Solution #1:
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-bug21829-system.xml"/>
+ <channel name="test" file="exercise-bug21829-packages.xml"/>
+</setup>
+
+<!--
+# lsb requires /usr/bin/lpr which is provided by both, cups-client and lprng.
+# Problem:
+# - only lprng gets lsb as referer
+# - remove list contains lsb despite /usr/bin/lpr is satisfied by cups-client
+# XXX: whether or not lsb is in the remove list depends on the order they are
+# checked in the solver which is not defined!
+ -->
+<trial>
+ <install channel="test" package="lsb"/>
+ <install channel="test" package="cups-client"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-bug21829-3-test.solution 2005-11-05 21:04:00.000000000 +0100
++++ exercise-bug21829-3-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,7 +0,0 @@
+->!> Installing lsb from channel test
+->!> Installing lprng from channel test
+->!> Solution #1:
+->!> install lprng-1.0-1[test]
+->!> install lsb-1.0-1[test]
+->!> |unflag cups-client-1.0-1[test]
+->!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-bug21829-system.xml
+Loaded 4 packages from deptestomatic/exercise-bug21829-packages.xml
+
+------------------------------------------------
+
+>!> Installing lsb from channel test
+>!> Installing lprng from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = de4da918
+>!> install lprng-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag cups-client-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing lsb-1.0-1[test]
+Installing lprng-1.0-1[test]
+Marking resolvable cups-client-1.0-1 as uninstallable
+
--- /dev/null
+>!> Installing lsb from channel test
+>!> Installing lprng from channel test
+>!> Solution #1:
+>!> install lprng-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag cups-client-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-bug21829-system.xml"/>
+ <channel name="test" file="exercise-bug21829-packages.xml"/>
+</setup>
+
+<!--
+# lsb requires /usr/bin/lpr which is provided by both, cups-client and lprng.
+# Problem:
+# - only lprng gets lsb as referer
+# - remove list contains lsb despite /usr/bin/lpr is satisfied by cups-client
+# XXX: whether or not lsb is in the remove list depends on the order they are
+# checked in the solver which is not defined!
+ -->
+<trial>
+ <install channel="test" package="lsb"/>
+ <install channel="test" package="lprng"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-bug21829-4-test.solution 2005-11-05 21:04:25.000000000 +0100
++++ exercise-bug21829-4-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,8 +0,0 @@
+->!> Installing lsb from channel test
+->!> Installing cups from channel test
+->!> Solution #1:
+->!> install cups-1.0-1[test]
+->!> install cups-client-1.0-1[test]
+->!> install lsb-1.0-1[test]
+->!> |unflag lprng-1.0-1[test]
+->!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-bug21829-system.xml
+Loaded 4 packages from deptestomatic/exercise-bug21829-packages.xml
+
+------------------------------------------------
+
+>!> Installing lsb from channel test
+>!> Installing cups from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = a1507dbc
+>!> install cups-1.0-1[test]
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
+download size=0.4k, install size=1.3k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing lsb-1.0-1[test]
+Installing cups-1.0-1[test]
+cups-client-1.0-1[test]: needed by [cups-1.0-1]
+Installing cups-client-1.0-1[test]
+Marking resolvable lprng-1.0-1 as uninstallable
+
--- /dev/null
+>!> Installing lsb from channel test
+>!> Installing cups from channel test
+>!> Solution #1:
+>!> install cups-1.0-1[test]
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=3, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-bug21829-system.xml"/>
+ <channel name="test" file="exercise-bug21829-packages.xml"/>
+</setup>
+
+<!--
+# lsb requires /usr/bin/lpr which is provided by both, cups-client and lprng.
+# Problem:
+# - only lprng gets lsb as referer
+# - remove list contains lsb despite /usr/bin/lpr is satisfied by cups-client
+# XXX: whether or not lsb is in the remove list depends on the order they are
+# checked in the solver which is not defined!
+ -->
+<trial>
+ <install channel="test" package="lsb"/>
+ <install channel="test" package="cups"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-bug21829-5-test.solution 2005-11-05 21:10:50.000000000 +0100
++++ exercise-bug21829-5-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,11 +0,0 @@
+->!> Installing lsb from channel test
+->!> Solution #1:
+->!> install lprng-1.0-1[test]
+->!> install lsb-1.0-1[test]
+->!> |unflag cups-client-1.0-1[test]
+->!> installs=2, upgrades=0, uninstalls=0
+->!> Solution #2:
+->!> install cups-client-1.0-1[test]
+->!> install lsb-1.0-1[test]
+->!> |unflag lprng-1.0-1[test]
+->!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-bug21829-system.xml
+Loaded 4 packages from deptestomatic/exercise-bug21829-packages.xml
+
+------------------------------------------------
+
+>!> Installing lsb from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 2
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = de4da918
+>!> install lprng-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag cups-client-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=-800
+- - - - - - - - - -
+lprng-1.0-1[test]: needed by [lsb-1.0-1]
+Installing lprng-1.0-1[test]
+Marking resolvable cups-client-1.0-1 as uninstallable
+Installing lsb-1.0-1[test]
+
+Other Valid Solutions:
+
+>!> Solution #2:
+Checksum = 8d36de18
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=-800
+- - - - - - - - - -
+cups-client-1.0-1[test]: needed by [lsb-1.0-1]
+Installing cups-client-1.0-1[test]
+Marking resolvable lprng-1.0-1 as uninstallable
+Installing lsb-1.0-1[test]
+
--- /dev/null
+>!> Installing lsb from channel test
+>!> Solution #1:
+>!> install lprng-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag cups-client-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
+>!> Solution #2:
+>!> install cups-client-1.0-1[test]
+>!> install lsb-1.0-1[test]
+>!> |unflag lprng-1.0-1[test]
+>!> installs=2, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-bug21829-system.xml"/>
+ <channel name="test" file="exercise-bug21829-packages.xml"/>
+</setup>
+
+<!--
+# lsb requires /usr/bin/lpr which is provided by both, cups-client and lprng.
+# Problem:
+# - only lprng gets lsb as referer
+# - remove list contains lsb despite /usr/bin/lpr is satisfied by cups-client
+# XXX: whether or not lsb is in the remove list depends on the order they are
+# checked in the solver which is not defined!
+ -->
+<trial>
+ <install channel="test" package="lsb"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>cups-client</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>cups-client.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/lpr'/>
+ </provides>
+ <conflicts>
+ <dep name='lprng'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>lprng</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>lprng.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='/usr/bin/lpr'/>
+ </provides>
+ <conflicts>
+ <dep name='cups-client'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>cups</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>cups.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='cups-client'/>
+ </requires>
+ </package>
+ <package>
+ <name>lsb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>lsb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='/usr/bin/lpr'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>dummy</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>dummy.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>B</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>B.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <conflicts>
+ <dep name='A'/>
+ </conflicts>
+ </package>
+ <package>
+ <name>C</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>C.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='B'/>
+ </requires>
+ <obsoletes>
+ <dep name='A'/>
+ </obsoletes>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>A</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>A.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-corcircle-test.solution 2005-11-05 20:48:47.000000000 +0100
++++ exercise-corcircle-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,7 +0,0 @@
+->!> Installing B from channel test
+->!> Installing C from channel test
+->!> Solution #1:
+->!> install B-1.0-1[test]
+->!> install C-1.0-1[test]
+->!> remove A-1.0-1
+->!> installs=2, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-corcircle-system.xml
+Loaded 2 packages from deptestomatic/exercise-corcircle-packages.xml
+
+------------------------------------------------
+
+>!> Installing B from channel test
+>!> Installing C from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 3c511dd0
+>!> install B-1.0-1[test]
+>!> install C-1.0-1[test]
+>!> remove A-1.0-1
+>!> installs=2, upgrades=0, uninstalls=1
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing B-1.0-1[test]
+Installing C-1.0-1[test]
+A-1.0-1: replaced by [C-1.0-1]
+
--- /dev/null
+>!> Installing B from channel test
+>!> Installing C from channel test
+>!> Solution #1:
+>!> install B-1.0-1[test]
+>!> install C-1.0-1[test]
+>!> remove A-1.0-1
+>!> installs=2, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-corcircle-system.xml"/>
+ <channel name="test" file="exercise-corcircle-packages.xml"/>
+</setup>
+
+<!--
+# B conflicts with installed A which however is obsoleted by C. So this is
+# solvable but not installable as C requires B. Therefore B would be installed
+# a time when A is still there.
+B C
+ -->
+<trial>
+ <install channel="test" package="B"/>
+ <install channel="test" package="C"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent1-test.solution 2005-11-06 12:21:09.000000000 +0100
++++ exercise-inconsistent1-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Solution #1:
+->!> upgrade shadow-1.0-1 => shadow-1.1-1[test]
+->!> installs=0, upgrades=1, uninstalls=0
--- /dev/null
+Loaded 2 packages from deptestomatic/exercise-inconsistent1-system.xml
+Loaded 1 package from deptestomatic/exercise-inconsistent1-packages.xml
+
+------------------------------------------------
+
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = b310f2dc
+>!> upgrade shadow-1.0-1 => shadow-1.1-1[test]
+>!> installs=0, upgrades=1, uninstalls=0
+download size=0.1k, install size=0.0k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+There are no installable providers of libsomething.so.0 for shadow-1.0-1
+shadow-1.0-1: missing requirement libsomething.so.0
+shadow-1.1-1[test]: needed by [at-1-1]
+Upgrading shadow-1.0-1 => shadow-1.1-1[test]
+
--- /dev/null
+>!> Solution #1:
+>!> upgrade shadow-1.0-1 => shadow-1.1-1[test]
+>!> installs=0, upgrades=1, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent1-system.xml"/>
+ <channel name="test" file="exercise-inconsistent1-packages.xml"/>
+</setup>
+
+<!--
+# installed shadow has an open dependeny, the installable shadow does not
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+deptestomatic/exercise-inconsistent2-packages.xml:1: parser error : Document is empty
+
+^
+deptestomatic/exercise-inconsistent2-packages.xml:1: parser error : Start tag expected, '<' not found
+
+^
+Can't parse test file 'deptestomatic/exercise-inconsistent2-packages.xml'
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent2-test.solution 2005-11-06 12:21:28.000000000 +0100
++++ exercise-inconsistent2-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Solution #1:
+->!> remove at-1-1
+->!> remove shadow-1.0-1
+->!> installs=0, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 2 packages from deptestomatic/exercise-inconsistent2-system.xml
+Loaded -1 packages from deptestomatic/exercise-inconsistent2-packages.xml
+
+------------------------------------------------
+
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 50b4172d
+>!> remove at-1-1
+>!> remove shadow-1.0-1
+>!> installs=0, upgrades=0, uninstalls=2
+download size=0.0k, install size=0.0k
+total priority=0, min priority=2147483647, max priority=0
+other penalties=0
+- - - - - - - - - -
+There are no installable providers of libsomething.so.0 for shadow-1.0-1
+shadow-1.0-1: missing requirement libsomething.so.0
+There are no installable providers of shadow for at-1-1
+shadow provides shadow-1.0-1, but is scheduled to be uninstalled.
+at-1-1: depended on [shadow-1.0-1]
+at-1-1: missing requirement shadow
+
--- /dev/null
+>!> Solution #1:
+>!> remove at-1-1
+>!> remove shadow-1.0-1
+>!> installs=0, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent2-system.xml"/>
+ <channel name="test" file="exercise-inconsistent2-packages.xml"/>
+</setup>
+
+<!--
+# installed shadow has an open dependeny but there is no replacement available
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent3-test.solution 2005-11-06 12:22:17.000000000 +0100
++++ exercise-inconsistent3-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Solution #1:
+->!> install shadow-1.1-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-inconsistent3-system.xml
+Loaded 1 package from deptestomatic/exercise-inconsistent3-packages.xml
+
+------------------------------------------------
+
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = cc3a27b0
+>!> install shadow-1.1-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+shadow-1.1-1[test]: needed by [at-1-1]
+Installing shadow-1.1-1[test]
+
--- /dev/null
+>!> Solution #1:
+>!> install shadow-1.1-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent3-system.xml"/>
+ <channel name="test" file="exercise-inconsistent3-packages.xml"/>
+</setup>
+
+<!--
+# installed at has an open dependeny which is satisfied by installing shadow
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent4-test.solution 2005-11-06 12:22:40.000000000 +0100
++++ exercise-inconsistent4-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,4 +0,0 @@
+->!> Solution #1:
+->!> remove at-1-1
+->!> remove shadow-1.0-1
+->!> installs=0, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 2 packages from deptestomatic/exercise-inconsistent4-system.xml
+Loaded 2 packages from deptestomatic/exercise-inconsistent4-packages.xml
+
+------------------------------------------------
+
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 50b4172d
+>!> remove at-1-1
+>!> remove shadow-1.0-1
+>!> installs=0, upgrades=0, uninstalls=2
+download size=0.0k, install size=0.0k
+total priority=0, min priority=2147483647, max priority=0
+other penalties=0
+- - - - - - - - - -
+There are no installable providers of libsomething.so.0 for shadow-1.0-1
+shadow-1.0-1: missing requirement libsomething.so.0
+There are no installable providers of shadow for at-1-1
+shadow provides shadow-1.0-1, but is scheduled to be uninstalled.
+shadow provides shadow-1.0-1, but it is uninstallable. Try installing it on its own for more details.
+at-1-1: depended on [shadow-1.0-1]
+at-1-1: missing requirement shadow
+
--- /dev/null
+>!> Solution #1:
+>!> remove at-1-1
+>!> remove shadow-1.0-1
+>!> installs=0, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent4-system.xml"/>
+ <channel name="test" file="exercise-inconsistent4-packages.xml"/>
+</setup>
+
+<!--
+# installed shadow has an open dependeny, the available shadow has the same problem
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>libsomething</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>libsomething.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libsomething.so.0'/>
+ </provides>
+ </package>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>at</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>at.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='shadow'/>
+ </requires>
+ </package>
+ <package>
+ <name>shadow</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>shadow.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libsomething.so.0'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent5-test.solution 2005-11-06 12:23:09.000000000 +0100
++++ exercise-inconsistent5-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Solution #1:
+->!> install libsomething-1-1[test]
+->!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+Loaded 2 packages from deptestomatic/exercise-inconsistent5-system.xml
+Loaded 3 packages from deptestomatic/exercise-inconsistent5-packages.xml
+
+------------------------------------------------
+
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = c98a7280
+>!> install libsomething-1-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+libsomething-1-1[test]: needed by [shadow-1.0-1]
+Installing libsomething-1-1[test]
+
--- /dev/null
+>!> Solution #1:
+>!> install libsomething-1-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent5-system.xml"/>
+ <channel name="test" file="exercise-inconsistent5-packages.xml"/>
+</setup>
+
+<!--
+# installed shadow has an open dependeny, shadow is available in the same
+# version but also a package that fixes the dependency
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>kaffeine</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1</version>
+ <release>1</release>
+ <filename>kaffeine.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>kaffeine</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2</version>
+ <release>1</release>
+ <filename>kaffeine.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libkdesomething.so'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-inconsistent6-test.solution 2005-11-06 12:24:53.000000000 +0100
++++ exercise-inconsistent6-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,3 +0,0 @@
+->!> Solution #1:
+->!> remove kaffeine-2-1
+->!> installs=0, upgrades=0, uninstalls=1
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-inconsistent6-system.xml
+Loaded 1 package from deptestomatic/exercise-inconsistent6-packages.xml
+
+------------------------------------------------
+
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 2bb2fbd4
+>!> remove kaffeine-2-1
+>!> installs=0, upgrades=0, uninstalls=1
+download size=0.0k, install size=0.0k
+total priority=0, min priority=2147483647, max priority=0
+other penalties=0
+- - - - - - - - - -
+There are no installable providers of libkdesomething.so for kaffeine-2-1
+kaffeine-2-1: missing requirement libkdesomething.so
+
--- /dev/null
+>!> Solution #1:
+>!> remove kaffeine-2-1
+>!> installs=0, upgrades=0, uninstalls=1
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-inconsistent6-system.xml"/>
+ <channel name="test" file="exercise-inconsistent6-packages.xml"/>
+</setup>
+
+<!--
+# installed kaffeine has an open dependeny, kaffeine is available in older version
+JUST_SOLVE
+ -->
+<trial>
+ <verify/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>kdelibs3</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1</version>
+ <release>73</release>
+ <filename>kdelibs3.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='kdelibs'/>
+ </provides>
+ <obsoletes>
+ <dep name='kdesupport'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>kdelibs3-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>3.1</version>
+ <release>73</release>
+ <filename>kdelibs3-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='kdelibs-devel'/>
+ </provides>
+ <requires>
+ <dep name='kdelibs3' op='=' version='3.1'/>
+ </requires>
+ <obsoletes>
+ <dep name='kdesupport-devel'/>
+ </obsoletes>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>kdelibs-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>4</release>
+ <filename>kdelibs-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='kdelibs'/>
+ <dep name='kdesupport-devel'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdesupport-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>5</release>
+ <filename>kdesupport-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='kdesupport'/>
+ </requires>
+ </package>
+ <package>
+ <name>kdesupport</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>5</release>
+ <filename>kdesupport.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>kdelibs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0.1</version>
+ <release>4</release>
+ <filename>kdelibs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-kdelibsobs-test.solution 2005-11-05 21:30:38.000000000 +0100
++++ exercise-kdelibsobs-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,9 +0,0 @@
+->!> Installing kdelibs3-devel from channel test
+->!> Installing kdelibs3 from channel test
+->!> Solution #1:
+->!> install kdelibs3-3.1-73[test]
+->!> install kdelibs3-devel-3.1-73[test]
+->!> remove kdelibs-devel-2.0.1-4
+->!> remove kdesupport-2.0.1-5
+->!> remove kdesupport-devel-2.0.1-5
+->!> installs=2, upgrades=0, uninstalls=3
--- /dev/null
+Loaded 4 packages from deptestomatic/exercise-kdelibsobs-system.xml
+Loaded 2 packages from deptestomatic/exercise-kdelibsobs-packages.xml
+
+------------------------------------------------
+
+>!> Installing kdelibs3-devel from channel test
+>!> Installing kdelibs3 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 3f8566
+>!> install kdelibs3-3.1-73[test]
+>!> install kdelibs3-devel-3.1-73[test]
+>!> remove kdelibs-devel-2.0.1-4
+>!> remove kdesupport-2.0.1-5
+>!> remove kdesupport-devel-2.0.1-5
+>!> installs=2, upgrades=0, uninstalls=3
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing kdelibs3-devel-3.1-73[test]
+Installing kdelibs3-3.1-73[test]
+kdesupport-2.0.1-5: replaced by [kdelibs3-3.1-73]
+kdesupport-devel-2.0.1-5: replaced by [kdelibs3-devel-3.1-73]
+There are no installable providers of kdesupport-devel for kdelibs-devel-2.0.1-4
+kdesupport-devel provides kdesupport-devel-2.0.1-5, but is scheduled to be uninstalled.
+There are no installable providers of kdesupport for kdesupport-devel-2.0.1-5
+kdesupport provides kdesupport-2.0.1-5, but is scheduled to be uninstalled.
+kdelibs-devel-2.0.1-4: depended on [kdesupport-devel-2.0.1-5]
+kdelibs-devel-2.0.1-4: missing requirement kdesupport-devel
+
--- /dev/null
+>!> Installing kdelibs3-devel from channel test
+>!> Installing kdelibs3 from channel test
+>!> Solution #1:
+>!> install kdelibs3-3.1-73[test]
+>!> install kdelibs3-devel-3.1-73[test]
+>!> remove kdelibs-devel-2.0.1-4
+>!> remove kdesupport-2.0.1-5
+>!> remove kdesupport-devel-2.0.1-5
+>!> installs=2, upgrades=0, uninstalls=3
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-kdelibsobs-system.xml"/>
+ <channel name="test" file="exercise-kdelibsobs-packages.xml"/>
+</setup>
+
+<!--
+kdelibs3-devel kdelibs3
+ -->
+<trial>
+ <install channel="test" package="kdelibs3-devel"/>
+ <install channel="test" package="kdelibs3"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-01-test.solution 2005-11-06 11:55:37.000000000 +0100
++++ exercise-obscureobsoletes-01-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing foo2 from channel test
+->!> Solution #1:
+->!> install foo2-2.0-1[test]
+->!> remove foo-1.0-1
+->!> remove foo-devel-1.1-1
+->!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = e5994a26
+>!> install foo2-2.0-1[test]
+>!> remove foo-1.0-1
+>!> remove foo-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo2-2.0-1[test]
+foo-devel-1.1-1: replaced by [foo2-2.0-1]
+foo-1.0-1: replaced by [foo2-2.0-1]
+
--- /dev/null
+>!> Installing foo2 from channel test
+>!> Solution #1:
+>!> install foo2-2.0-1[test]
+>!> remove foo-1.0-1
+>!> remove foo-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 1 foo2 obsoletes foo and foo-devel. foo-devel requires foo. No problem since
+# foo-devel is obsoleted
+foo2
+ -->
+<trial>
+ <install channel="test" package="foo2"/>
+</trial>
+
+</test>
--- /dev/null
+Unknown tag 'lock' in trial
+Unknown tag 'lock' in trial
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = e5994a26
+>!> install foo2-2.0-1[test]
+>!> remove foo-1.0-1
+>!> remove foo-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo2-2.0-1[test]
+foo-devel-1.1-1: replaced by [foo2-2.0-1]
+foo-1.0-1: replaced by [foo2-2.0-1]
+
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 2 same thing but lets see what happens if packages are protected
+foo2 @foo @foo-devel
+ -->
+<trial>
+ <lock package="foo" channel="test"/>
+ <lock package="foo-devel" channel="test"/>
+ <install channel="test" package="foo2"/>
+</trial>
+
+</test>
--- /dev/null
+Unknown tag 'lock' in trial
+Unknown tag 'lock' in trial
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing foo2old from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 31bb43cf
+>!> install foo2old-2.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing foo2old-2.0-1[test]
+
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 3 same but this time via obsoletion of provides
+foo2old
+ -->
+<trial>
+ <lock package="foo" channel="test"/>
+ <lock package="foo-devel" channel="test"/>
+ <install channel="test" package="foo2old"/>
+</trial>
+
+</test>
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing barold from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = c44b95d0
+>!> install barold-4.0-1[test]
+>!> installs=1, upgrades=0, uninstalls=0
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing barold-4.0-1[test]
+
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 4 barold replaces bar via provides. bar-devel gets broken
+barold
+ -->
+<trial>
+ <install channel="test" package="barold"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-05-test.solution 2005-11-06 11:59:29.000000000 +0100
++++ exercise-obscureobsoletes-05-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,6 +0,0 @@
+->!> Installing barold2 from channel test
+->!> Solution #1:
+->!> install barold2-4.0-1[test]
+->!> remove bar2-1.0-1
+->!> remove bar2-devel-1.1-1
+->!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing barold2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 5000cfde
+>!> install barold2-4.0-1[test]
+>!> remove bar2-1.0-1
+>!> remove bar2-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing barold2-4.0-1[test]
+bar2-1.0-1: replaced by [barold2-4.0-1]
+There are no installable providers of bar2 == 1.0-1 for bar2-devel-1.1-1
+bar2 provides bar2-1.0-1, but is scheduled to be uninstalled.
+bar2-devel-1.1-1: depended on [bar2-1.0-1]
+bar2-devel-1.1-1: missing requirement bar2 == 1.0-1
+
--- /dev/null
+>!> Installing barold2 from channel test
+>!> Solution #1:
+>!> install barold2-4.0-1[test]
+>!> remove bar2-1.0-1
+>!> remove bar2-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 5 barold2 obsoletes bar2 which is needed by bar2-devel. bar2-devel however also
+# provides barold2 and is therefore replaced => no problem
+barold2
+ -->
+<trial>
+ <install channel="test" package="barold2"/>
+</trial>
+
+</test>
--- /dev/null
+Unknown tag 'lock' in trial
+Unknown tag 'lock' in trial
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing barold2 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 5000cfde
+>!> install barold2-4.0-1[test]
+>!> remove bar2-1.0-1
+>!> remove bar2-devel-1.1-1
+>!> installs=1, upgrades=0, uninstalls=2
+download size=0.1k, install size=0.4k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing barold2-4.0-1[test]
+bar2-1.0-1: replaced by [barold2-4.0-1]
+There are no installable providers of bar2 == 1.0-1 for bar2-devel-1.1-1
+bar2 provides bar2-1.0-1, but is scheduled to be uninstalled.
+bar2-devel-1.1-1: depended on [bar2-1.0-1]
+bar2-devel-1.1-1: missing requirement bar2 == 1.0-1
+
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 6 same thing but lets see what happens if packages are protected
+barold2 @bar2 @bar2-devel
+ -->
+<trial>
+ <lock package="bar2" channel="test"/>
+ <lock package="bar2-devel" channel="test"/>
+ <install channel="test" package="barold2"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-07-test.solution 2005-11-06 12:05:40.000000000 +0100
++++ exercise-obscureobsoletes-07-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing aaa from channel test
+->!> Installing bbb from channel test
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing aaa from channel test
+>!> Installing bbb from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing aaa-1.0-1[test]
+Installing bbb-2.0-1[test]
+[ERROR] A conflict over bbb (bbb-2.0-1) requires the removal of the to-be-installed resolvable bbb-2.0-1[test] [aaa-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing aaa from channel test
+>!> Installing bbb from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 7 aaa obsoletes bbb, should raise problem
+aaa bbb
+ -->
+<trial>
+ <install channel="test" package="aaa"/>
+ <install channel="test" package="bbb"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-08-test.solution 2005-11-06 12:06:33.000000000 +0100
++++ exercise-obscureobsoletes-08-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing aaa from channel test
+->!> Installing ccc from channel test
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing aaa from channel test
+>!> Installing ccc from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing aaa-1.0-1[test]
+Installing ccc-1.0-1[test]
+Marking bbb-2.0-1[test] as uninstallable due to conflicts over bbb (bbb-2.0-1) from aaa-1.0-1[test] [aaa-1.0-1, bbb-2.0-1]
+[ERROR] Can't install bbb-2.0-1 since it is already marked as needing to be uninstalled
+[ERROR] Marking this resolution attempt as invalid.
+bbb-2.0-1[test]: needed by [ccc-1.0-1]
--- /dev/null
+>!> Installing aaa from channel test
+>!> Installing ccc from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 8 as above but bbb is required by ccc
+aaa ccc
+ -->
+<trial>
+ <install channel="test" package="aaa"/>
+ <install channel="test" package="ccc"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-09-test.solution 2005-11-06 12:06:55.000000000 +0100
++++ exercise-obscureobsoletes-09-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing ddd from channel test
+->!> Installing ccc from channel test
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing ddd from channel test
+>!> Installing ccc from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 492, Install Size: 1824, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing ddd-1.0-1[test]
+Installing ccc-1.0-1[test]
+aaa-1.0-1[test]: needed by [ddd-1.0-1]
+Installing aaa-1.0-1[test]
+bbb-2.0-1[test]: needed by [ccc-1.0-1]
+Installing bbb-2.0-1[test]
+[ERROR] A conflict over bbb (bbb-2.0-1) requires the removal of the to-be-installed resolvable bbb-2.0-1[test] [aaa-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing ddd from channel test
+>!> Installing ccc from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 9 aaa required by ddd, bbb required by ccc
+ddd ccc
+ -->
+<trial>
+ <install channel="test" package="ddd"/>
+ <install channel="test" package="ccc"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-10-test.solution 2005-11-06 12:07:30.000000000 +0100
++++ exercise-obscureobsoletes-10-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing eee from channel test
+->!> Installing fff from channel test
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing eee from channel test
+>!> Installing fff from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 246, Install Size: 912, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing eee-1.0-1[test]
+Installing fff-1.0-1[test]
+[ERROR] A conflict over eee (eee-1.0-1) requires the removal of the to-be-installed resolvable eee-1.0-1[test] [fff-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing eee from channel test
+>!> Installing fff from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 10 fff obsoletes eee. should raise conflict
+eee fff
+ -->
+<trial>
+ <install channel="test" package="eee"/>
+ <install channel="test" package="fff"/>
+</trial>
+
+</test>
--- /dev/null
+--- exercise-obscureobsoletes-11-test.solution 2005-11-06 12:07:45.000000000 +0100
++++ exercise-obscureobsoletes-11-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,2 +0,0 @@
+->!> Installing ggg from channel test
+->!> Installing hhh from channel test
--- /dev/null
+Loaded 6 packages from deptestomatic/exercise-obscureobsoletes-system.xml
+Loaded 12 packages from deptestomatic/exercise-obscureobsoletes-packages.xml
+
+------------------------------------------------
+
+>!> Installing ggg from channel test
+>!> Installing hhh from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Pruned solutions: 0
+Deferred solutions: 0
+
+Failed Solution:
+Download Size: 492, Install Size: 1824, Total Priority: 0, Min Priority: 800, Max Priority: 800, Other Penalties: 0, Invalid
+- - - - - - - - - -
+Installing ggg-1.0-1[test]
+Installing hhh-1.0-1[test]
+fff-1.0-1[test]: needed by [ggg-1.0-1]
+Installing fff-1.0-1[test]
+eee-1.0-1[test]: needed by [hhh-1.0-1]
+Installing eee-1.0-1[test]
+[ERROR] A conflict over eee (eee-1.0-1) requires the removal of the to-be-installed resolvable eee-1.0-1[test] [fff-1.0-1]
+[ERROR] Marking this resolution attempt as invalid.
--- /dev/null
+>!> Installing ggg from channel test
+>!> Installing hhh from channel test
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-obscureobsoletes-system.xml"/>
+ <channel name="test" file="exercise-obscureobsoletes-packages.xml"/>
+</setup>
+
+<!--
+# 11 same but via deps
+ggg hhh
+ -->
+<trial>
+ <install channel="test" package="ggg"/>
+ <install channel="test" package="hhh"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>foo2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foo2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='foo'/>
+ <dep name='foo-devel'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>foo2old</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>foo2old.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='fooold'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>barold</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0</version>
+ <release>1</release>
+ <filename>barold.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>barold2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.0</version>
+ <release>1</release>
+ <filename>barold2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='bar2'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>aaa</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>aaa.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='bbb'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>bbb</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>2.0</version>
+ <release>1</release>
+ <filename>bbb.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>ccc</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>ccc.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bbb'/>
+ </requires>
+ </package>
+ <package>
+ <name>ddd</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>ddd.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='aaa'/>
+ </requires>
+ </package>
+ <package>
+ <name>eee</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>eee.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>fff</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>fff.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='eee'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>ggg</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>ggg.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='fff'/>
+ </requires>
+ </package>
+ <package>
+ <name>hhh</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>hhh.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='eee'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>foo</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>foo.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='fooold'/>
+ </provides>
+ </package>
+ <package>
+ <name>foo-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>foo-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='fooold'/>
+ </provides>
+ <requires>
+ <dep name='foo' op='=' version='1.0' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>bar</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='barold'/>
+ </provides>
+ </package>
+ <package>
+ <name>bar-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>bar-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='bar' op='=' version='1.0' release='1'/>
+ </requires>
+ </package>
+ <package>
+ <name>bar2</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>bar2.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ </package>
+ <package>
+ <name>bar2-devel</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.1</version>
+ <release>1</release>
+ <filename>bar2-devel.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='barold2'/>
+ </provides>
+ <requires>
+ <dep name='bar2' op='=' version='1.0' release='1'/>
+ </requires>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>mod_php4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3.4</version>
+ <release>43.4</release>
+ <filename>mod_php4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='apache-mod_php4'/>
+ </requires>
+ </package>
+ <package>
+ <name>horde</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>1.0</version>
+ <release>1</release>
+ <filename>horde.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='mod_php'/>
+ </requires>
+ </package>
+ <package>
+ <name>apache-mod_php4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3.4</version>
+ <release>43.4</release>
+ <filename>apache-mod_php4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mod_php'/>
+ </provides>
+ </package>
+ <package>
+ <name>apache2-mod_php4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3.4</version>
+ <release>43.4</release>
+ <filename>apache2-mod_php4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mod_php'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>mod_php4</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.2</version>
+ <release>82</release>
+ <filename>mod_php4.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='mod_php'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-phpalternatives-test.solution 2005-11-06 12:10:51.000000000 +0100
++++ exercise-phpalternatives-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,7 +0,0 @@
+->!> Installing horde from channel test
+->!> Installing mod_php4 from channel test
+->!> Solution #1:
+->!> install apache-mod_php4-4.3.4-43.4[test]
+->!> install horde-1.0-1[test]
+->!> upgrade mod_php4-4.2.2-82 => mod_php4-4.3.4-43.4[test]
+->!> installs=2, upgrades=1, uninstalls=0
--- /dev/null
+Loaded 1 package from deptestomatic/exercise-phpalternatives-system.xml
+Loaded 4 packages from deptestomatic/exercise-phpalternatives-packages.xml
+
+------------------------------------------------
+
+>!> Installing horde from channel test
+>!> Installing mod_php4 from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 644a3111
+>!> install apache-mod_php4-4.3.4-43.4[test]
+>!> install horde-1.0-1[test]
+>!> upgrade mod_php4-4.2.2-82 => mod_php4-4.3.4-43.4[test]
+>!> installs=2, upgrades=1, uninstalls=0
+download size=0.4k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing horde-1.0-1[test]
+Upgrading mod_php4-4.2.2-82 => mod_php4-4.3.4-43.4[test]
+apache-mod_php4-4.3.4-43.4[test]: needed by [mod_php4-4.3.4-43.4]
+Installing apache-mod_php4-4.3.4-43.4[test]
+
--- /dev/null
+>!> Installing horde from channel test
+>!> Installing mod_php4 from channel test
+>!> Solution #1:
+>!> install apache-mod_php4-4.3.4-43.4[test]
+>!> install horde-1.0-1[test]
+>!> upgrade mod_php4-4.2.2-82 => mod_php4-4.3.4-43.4[test]
+>!> installs=2, upgrades=1, uninstalls=0
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-phpalternatives-system.xml"/>
+ <channel name="test" file="exercise-phpalternatives-packages.xml"/>
+</setup>
+
+<!--
+horde mod_php4
+ -->
+<trial>
+ <install channel="test" package="horde"/>
+ <install channel="test" package="mod_php4"/>
+</trial>
+
+</test>
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>XFree86-libs</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3.0</version>
+ <release>1</release>
+ <filename>XFree86-libs.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='xshared'/>
+ </provides>
+ <obsoletes>
+ <dep name='xshared'/>
+ </obsoletes>
+ </package>
+ <package>
+ <name>XFree86</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.3.0</version>
+ <release>1</release>
+ <filename>XFree86.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <obsoletes>
+ <dep name='xf86'/>
+ </obsoletes>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+Assertion in deptestomatic_multi.cc, 41 : node->equals("test") --> exit
--- /dev/null
+<channel>
+ <subchannel>
+ <package>
+ <name>xf86</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.0</version>
+ <release>176</release>
+ <filename>xf86.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <requires>
+ <dep name='libXrandr.so.1'/>
+ </requires>
+ </package>
+ <package>
+ <name>xshared</name>
+ <summary>A fake summary</summary>
+ <description>A fake description</description>
+ <section>misc</section>
+ <history>
+ <update>
+ <hid>12345</hid>
+ <version>4.2.0</version>
+ <release>176</release>
+ <filename>xshared.rpm</filename>
+ <filesize>123</filesize>
+ <installedsize>456</installedsize>
+ <md5sum>0f55f36a3240858038a281911605024e</md5sum>
+ </update>
+ </history>
+ <provides>
+ <dep name='libXrandr.so.1'/>
+ </provides>
+ </package>
+ </subchannel>
+</channel>
\ No newline at end of file
--- /dev/null
+--- exercise-xfree-test.solution 2005-11-06 12:12:34.000000000 +0100
++++ exercise-xfree-test.mistake 2005-11-30 10:37:36.000000000 +0100
+@@ -1,8 +0,0 @@
+->!> Installing XFree86 from channel test
+->!> Installing XFree86-libs from channel test
+->!> Solution #1:
+->!> install XFree86-4.3.0-1[test]
+->!> install XFree86-libs-4.3.0-1[test]
+->!> remove xf86-4.2.0-176
+->!> remove xshared-4.2.0-176
+->!> installs=2, upgrades=0, uninstalls=2
--- /dev/null
+Loaded 2 packages from deptestomatic/exercise-xfree-system.xml
+Loaded 2 packages from deptestomatic/exercise-xfree-packages.xml
+
+------------------------------------------------
+
+>!> Installing XFree86 from channel test
+>!> Installing XFree86-libs from channel test
+Can't find rcd 1.x subscription file '/var/lib/rcd/subscriptions.xml'
+
+Completed solutions: 1
+Pruned solutions: 0
+Deferred solutions: 0
+Invalid solutions: 0
+
+Best Solution:
+
+>!> Solution #1:
+Checksum = 22a93a1c
+>!> install XFree86-4.3.0-1[test]
+>!> install XFree86-libs-4.3.0-1[test]
+>!> remove xf86-4.2.0-176
+>!> remove xshared-4.2.0-176
+>!> installs=2, upgrades=0, uninstalls=2
+download size=0.2k, install size=0.9k
+total priority=0, min priority=800, max priority=800
+other penalties=0
+- - - - - - - - - -
+Installing XFree86-4.3.0-1[test]
+Installing XFree86-libs-4.3.0-1[test]
+xshared-4.2.0-176: replaced by [XFree86-libs-4.3.0-1]
+xf86-4.2.0-176: replaced by [XFree86-4.3.0-1]
+There are no installable providers of libXrandr.so.1 for xf86-4.2.0-176
+xshared provides libXrandr.so.1, but is scheduled to be uninstalled.
+
--- /dev/null
+>!> Installing XFree86 from channel test
+>!> Installing XFree86-libs from channel test
+>!> Solution #1:
+>!> install XFree86-4.3.0-1[test]
+>!> install XFree86-libs-4.3.0-1[test]
+>!> remove xf86-4.2.0-176
+>!> remove xshared-4.2.0-176
+>!> installs=2, upgrades=0, uninstalls=2
--- /dev/null
+<?xml version="1.0"?>
+<test>
+<setup>
+ <system file="exercise-xfree-system.xml"/>
+ <channel name="test" file="exercise-xfree-packages.xml"/>
+</setup>
+
+<!--
+# XFree86 obsoletes xf86 which requires somthing from xshared which in turn is
+# obsoleted by XFree86-libs so there must not be aconflict
+# XXX: depends on the order in which both are checked
+XFree86 XFree86-libs
+ -->
+<trial>
+ <install channel="test" package="XFree86"/>
+ <install channel="test" package="XFree86-libs"/>
+</trial>
+
+</test>
--- /dev/null
+#!/bin/bash
+test=$1
+base=`basename $1 .xml`
+../../testsuite/deptestomatic $test | grep \>\!\> > $base.solution
--- /dev/null
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+
+/*
+ * deptestomatic.cc
+ *
+ * Copyright (C) 2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <libxml/parser.h>
+#include <libxml/xmlmemory.h>
+#include <zypp/solver/detail/libzypp_solver.h>
+
+#include <y2util/stringutil.h>
+
+int assertOutput( const char* output)
+{
+ printf( "Assertion in %s, %d : %s --> exit\n", __FILE__, __LINE__,
+ output );
+ exit (0);
+}
+
+# define assertExit(expr) \
+ (__ASSERT_VOID_CAST ((expr) ? 0 : \
+ (assertOutput (__STRING(expr)))))
+
+
+
+using namespace std;
+using namespace ZYPP;
+
+static MultiWorldPtr world = NULL;
+
+typedef list<unsigned int> ChecksumList;
+
+//---------------------------------------------------------------------------
+
+#if 0
+static void
+lock_resolvable (ResolvablePtr resolvable)
+{
+ RCResolvableDep *dep;
+ RCResolvableMatch *match;
+
+ dep = rc_resolvable_dep_new_from_spec (RC_RESOLVABLE_SPEC (resolvable),
+ RC_RELATION_EQUAL, RC_TYPE_RESOLVABLE,
+ RC_CHANNEL_ANY, false, false);
+
+ match = rc_resolvable_match_new ();
+ rc_resolvable_match_set_dep (match, dep);
+
+ rc_resolvable_dep_unref (dep);
+
+ rc_world_add_lock (rc_get_world (), match);
+}
+
+
+static bool
+remove_resolvable_cb (RCWorld *world, gpointer user_data)
+{
+ ResolvablePtr resolvable = user_data;
+
+ rc_world_store_remove_resolvable (RC_WORLD_STORE (world), resolvable);
+
+ return true;
+}
+
+
+static void
+remove_resolvable (ResolvablePtr resolvable)
+{
+ rc_world_multi_foreach_subworld_by_type (RC_WORLD_MULTI (world),
+ RC_TYPE_WORLD_STORE,
+ remove_resolvable_cb, resolvable);
+}
+
+/* ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** ** */
+
+#endif // 0
+
+
+//==============================================================================================================================
+
+//---------------------------------------------------------------------------------------------------------------------
+// helper functions
+
+typedef list<string> StringList;
+
+static void
+assemble_install_cb (constResolvablePtr resolvable,
+ ResolvableStatus status,
+ void *data)
+{
+ StringList *slist = (StringList *)data;
+ string str = stringutil::form ("%-7s ", resolvable->isInstalled() ? "|flag" : "install");
+ str += resolvable->asString();
+
+ slist->push_back (str);
+}
+
+
+static void
+assemble_uninstall_cb (constResolvablePtr resolvable,
+ ResolvableStatus status,
+ void *data)
+{
+ StringList *slist = (StringList *)data;
+ string str = stringutil::form ("%-7s ", resolvable->isInstalled() ? "remove" : "|unflag");
+ str += resolvable->asString();
+
+ slist->push_back (str);
+}
+
+
+static void
+assemble_upgrade_cb (constResolvablePtr res1,
+ ResolvableStatus status1,
+ constResolvablePtr res2,
+ ResolvableStatus status2,
+ void *data)
+{
+ StringList *slist = (StringList *)data;
+ string str = "upgrade ";
+
+ str += res2->asString();
+ str += " => ";
+ str += res1->asString();
+
+ slist->push_back (str);
+}
+
+
+
+static void
+print_sep (void)
+{
+ printf ("\n------------------------------------------------\n\n");
+}
+
+
+static void
+print_important (const string & str)
+{
+ printf (">!> %s\n", str.c_str());
+}
+
+
+static void
+print_solution (ResolverContextPtr context, int *count, ChecksumList & checksum_list)
+{
+ if (context->isValid ()) {
+
+ StringList items;
+ items.clear();
+
+ unsigned int checksum = 0;
+ bool is_dup = false;
+
+ printf (">!> Solution #%d:\n", *count);
+ ++*count;
+
+ context->foreachInstall (assemble_install_cb, &items);
+
+ context->foreachUninstall (assemble_uninstall_cb, &items);
+
+ context->foreachUpgrade (assemble_upgrade_cb, &items);
+
+ items.sort ();
+
+ for (StringList::const_iterator iter = items.begin(); iter != items.end(); iter++) {
+ const char *c = (*iter).c_str();
+ while (*c) {
+ checksum = 17 * checksum + (unsigned int)*c;
+ ++c;
+ }
+ }
+ printf ("Checksum = %x\n", checksum);
+
+ for (ChecksumList::const_iterator iter = checksum_list.begin(); iter != checksum_list.end() && !is_dup; iter++) {
+ if (*iter == checksum) {
+ is_dup = true;
+ }
+ }
+
+ if (! is_dup) {
+ for (StringList::const_iterator iter = items.begin(); iter != items.end(); iter++) {
+ print_important (*iter);
+ }
+ checksum_list.push_back (checksum);
+ } else {
+ printf (">!> This solution is a duplicate.\n");
+ }
+
+ items.clear();
+
+ } else {
+ printf (">!> Failed Attempt:\n");
+ }
+
+ printf (">!> installs=%d, upgrades=%d, uninstalls=%d\n", context->installCount(), context->upgradeCount(), context->uninstallCount());
+ printf ("download size=%.1fk, install size=%.1fk\n", context->downloadSize() / 1024.0, context->installSize() / 1024.0);
+ printf ("total priority=%d, min priority=%d, max priority=%d\n", context->totalPriority(), context->minPriority(), context->maxPriority());
+ printf ("other penalties=%d\n", context->otherPenalties());
+ printf ("- - - - - - - - - -\n");
+ fflush (stdout);
+
+ context->spewInfo ();
+ fflush (stdout);
+
+}
+
+
+//---------------------------------------------------------------------------------------------------------------------
+static bool
+mark_as_system_cb (constResolvablePtr resolvable, void *unused)
+{
+ ResolvablePtr r = ResolvablePtr::cast_away_const(resolvable);
+ r->setInstalled (true);
+
+ return true;
+}
+
+static void
+undump (const char *filename)
+{
+ UndumpWorldPtr undump_world;
+
+ undump_world = new UndumpWorld (filename);
+ if (undump_world == NULL) {
+ fprintf (stderr, "Couldn't undump from file '%s'", filename);
+ return;
+ }
+
+ world->addSubworld (undump_world);
+}
+
+
+static ChannelPtr
+get_channel (const char *channel_name)
+{
+ ChannelPtr channel;
+
+ channel = world->getChannelById (channel_name);
+
+ if (channel == NULL)
+ channel = world->getChannelByAlias (channel_name);
+
+ if (channel == NULL)
+ channel = world->getChannelByName (channel_name);
+
+ return channel;
+}
+
+
+static constResolvablePtr
+get_resolvable (const char *channel_name, const char *package_name)
+{
+ constChannelPtr channel;
+ constResolvablePtr resolvable;
+
+ channel = get_channel (channel_name);
+
+ if (channel == NULL) {
+ fprintf (stderr, "Can't find package '%s': channel '%s' not defined\n", package_name, channel_name);
+ return NULL;
+ }
+
+ resolvable = world->findResolvable (channel, package_name);
+
+ if (resolvable == NULL) {
+ fprintf (stderr, "Can't find package '%s' in channel '%s': no such package\n", package_name, channel_name);
+ return NULL;
+ }
+
+ return resolvable;
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+// setup related functions
+
+static bool
+add_to_world_cb (constResolvablePtr resolvable, void *data)
+{
+ WorldPtr world = *((WorldPtr *)data);
+ ((StoreWorldPtr)world)->addResolvable (resolvable);
+
+ return true;
+}
+
+
+static void
+load_channel (const string & name, const string & filename, const string & type, bool system_packages)
+{
+ string pathname = "deptestomatic/" + filename;
+
+ if (getenv ("RC_SPEW")) fprintf (stderr, "load_channel(%s,%s,%s,%s)\n", name.c_str(), pathname.c_str(), type.c_str(), system_packages?"system":"non-system");
+
+ ChannelType chan_type = system_packages ? CHANNEL_TYPE_SYSTEM : CHANNEL_TYPE_UNKNOWN;
+ ChannelPtr channel;
+ unsigned int count;
+ StoreWorldPtr store = new StoreWorld();
+
+ World::globalWorld()->addSubworld (store);
+
+ if (type == "helix")
+ chan_type = CHANNEL_TYPE_HELIX;
+ else if (type == "debian")
+ chan_type = CHANNEL_TYPE_DEBIAN;
+#if 0
+ else
+ printf ("Unknown channel type '%s', defaulting to helix\n", type.c_str());
+#endif
+ if (chan_type == CHANNEL_TYPE_UNKNOWN) { /* default to helix */
+ chan_type = CHANNEL_TYPE_HELIX;
+ }
+
+ channel = new Channel (name, name, name, name);
+
+ if (system_packages)
+ channel->setSystem (true);
+
+ channel->setType (chan_type);
+
+ store->addChannel (channel);
+
+ if (chan_type == CHANNEL_TYPE_HELIX) {
+ count = extract_packages_from_helix_file (pathname, channel, add_to_world_cb, (void *)&store);
+ } else if (chan_type == CHANNEL_TYPE_DEBIAN) {
+ count = extract_packages_from_debian_file (pathname, channel, add_to_world_cb, (void *)&store);
+ } else {
+ fprintf (stderr, "Unsupported channel type\n");
+ return;
+ }
+
+ if (system_packages) {
+ store->foreachResolvable (channel, mark_as_system_cb, NULL);
+ }
+
+ printf ("Loaded %d package%s from %s\n", count, count == 1 ? "" : "s", pathname.c_str()); fflush (stdout);
+}
+
+
+static bool done_setup = false;
+
+static void
+parse_xml_setup (XmlNodePtr node)
+{
+ assertExit (node->equals("setup"));
+
+ if (done_setup) {
+ fprintf (stderr, "Multiple <setup>..</setup> sections not allowed!\n");
+ exit (0);
+ }
+ done_setup = true;
+
+ node = node->children();
+ while (node != NULL) {
+ if (!node->isElement()) {
+ node = node->next();
+ continue;
+ }
+
+ if (node->equals ("system")) {
+ const char *file = node->getProp ("file");
+ assertExit (file);
+ load_channel ("@system", file, "helix", true);
+ free ((void *)file);
+ } else if (node->equals ("channel")) {
+ string name = node->getProp ("name");
+ string file = node->getProp ("file");
+ string type = node->getProp ("type");
+ assertExit (!name.empty());
+ assertExit (!file.empty());
+ load_channel (name, file, type, false);
+ } else if (node->equals ("undump")) {
+ const char *file = node->getProp ("file");
+ assertExit (file);
+ undump (file);
+ free((void *)file);
+ } else if (node->equals ("force-install")) {
+ const char *channel_name = node->getProp ("channel");
+ const char *package_name = node->getProp ("package");
+ constResolvablePtr resolvable;
+ constChannelPtr system_channel;
+
+ assertExit (channel_name);
+ assertExit (package_name);
+
+ resolvable = get_resolvable (channel_name, package_name);
+ if (resolvable) {
+ printf (">!> Force-installing %s from channel %s\n", package_name, channel_name);
+
+ system_channel = world->getChannelById ("@system");
+
+ if (!system_channel)
+ fprintf (stderr, "No system channel available!\n");
+
+ ResolvablePtr r = ResolvablePtr::cast_away_const(resolvable);
+ r->setChannel (system_channel);
+ r->setInstalled (true);
+ } else {
+ fprintf (stderr, "Unknown package %s::%s\n", channel_name, package_name);
+ }
+
+ free ((void *)channel_name);
+ free ((void *)package_name);
+ } else if (node->equals ("force-uninstall")) {
+ const char *package_name = node->getProp ("package");
+ constResolvablePtr resolvable;
+
+ assertExit (package_name);
+ resolvable = get_resolvable ("@system", package_name);
+
+ if (! resolvable) {
+ fprintf (stderr, "Can't force-uninstall installed package '%s'\n", package_name);
+ } else {
+ printf (">!> Force-uninstalling '%s'\n", package_name);
+ }
+
+ free ((void *)package_name);
+ } else if (node->equals ("lock")) {
+ const char *channel_name = node->getProp ("channel");
+ const char *package_name = node->getProp ("package");
+ constResolvablePtr resolvable;
+
+ assertExit (channel_name);
+ assertExit (package_name);
+
+ resolvable = get_resolvable (channel_name, package_name);
+ if (resolvable) {
+ printf (">!> Locking %s from channel %s\n", package_name, channel_name);
+ ResolvablePtr r = ResolvablePtr::cast_away_const(resolvable);
+ r->setLocked (true);
+ } else {
+ fprintf (stderr, "Unknown package %s::%s\n", channel_name, package_name);
+ }
+
+ free ((void *)channel_name);
+ free ((void *)package_name);
+
+ } else {
+ fprintf (stderr, "Unrecognized tag '%s' in setup\n", node->name());
+ }
+
+ node = node->next();
+ }
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+// trial related functions
+
+static void
+report_solutions (Resolver & resolver)
+{
+ int count = 1;
+ ChecksumList checksum_list;
+
+ printf ("\n");
+
+ if (!resolver.completeQueues().empty()) {
+ printf ("Completed solutions: %ld\n", (long) resolver.completeQueues().size());
+ }
+
+ if (resolver.prunedQueues().empty()) {
+ printf ("Pruned solutions: %ld\n", (long) resolver.prunedQueues().size());
+ }
+
+ if (resolver.deferredQueues().empty()) {
+ printf ("Deferred solutions: %ld\n", (long) resolver.deferredQueues().size());
+ }
+
+ if (resolver.invalidQueues().empty()) {
+ printf ("Invalid solutions: %ld\n", (long) resolver.invalidQueues().size());
+ }
+
+ if (resolver.bestContext()) {
+ printf ("\nBest Solution:\n\n");
+ print_solution (resolver.bestContext(), &count, checksum_list);
+
+ ResolverQueueList complete = resolver.completeQueues();
+ if (complete.size() > 1)
+ printf ("\nOther Valid Solutions:\n\n");
+
+ if (complete.size() < 20) {
+ for (ResolverQueueList::const_iterator iter = complete.begin(); iter != complete.end(); iter++) {
+ ResolverQueuePtr queue = (*iter);
+ if (queue->context() != resolver.bestContext())
+ print_solution (queue->context(), &count, checksum_list);
+ }
+ }
+ }
+
+ ResolverQueueList invalid = resolver.invalidQueues();
+ if (invalid.size() < 20) {
+ printf ("\n");
+
+ for (ResolverQueueList::const_iterator iter = invalid.begin(); iter != invalid.end(); iter++) {
+ ResolverQueuePtr queue = (*iter);
+ printf ("Failed Solution: \n%s\n", queue->context()->asString().c_str());
+ printf ("- - - - - - - - - -\n");
+ queue->context()->spewInfo ();
+ fflush (stdout);
+ }
+ } else {
+ printf ("(Not displaying more than 20 invalid solutions)\n");
+ }
+ fflush (stdout);
+}
+
+
+static bool
+trial_upgrade_cb (constResolvablePtr original, constResolvablePtr upgrade, void *user_data)
+{
+ Resolver *resolver = (Resolver *)user_data;
+
+ resolver->addResolvableToInstall (upgrade);
+
+ printf (">!> Upgrading %s => %s\n", original->asString().c_str(), upgrade->asString().c_str());
+
+ return false;
+}
+
+
+static void
+parse_xml_trial (XmlNodePtr node)
+{
+ bool verify = false;
+
+ assertExit (node->equals ("trial"));
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "parse_xml_setup()\n");
+
+ if (! done_setup) {
+ fprintf (stderr, "Any trials must be preceeded by the setup!\n");
+ exit (0);
+ }
+
+ print_sep ();
+
+ Resolver resolver;
+ resolver.setWorld (world);
+
+ node = node->children();
+ while (node) {
+ if (!node->isElement()) {
+ node = node->next();
+ continue;
+ }
+
+ if (node->equals("note")) {
+
+ const char *note = node->getContent ();
+ printf ("NOTE: %s\n", note);
+ free ((void *)note);
+
+ } else if (node->equals ("verify")) {
+
+ verify = true;
+
+ } else if (node->equals ("current")) {
+
+ const char *channel_name = node->getProp ("channel");
+ constChannelPtr channel = get_channel (channel_name);
+
+ if (channel != NULL) {
+ resolver.setCurrentChannel (channel);
+ } else {
+ fprintf (stderr, "Unknown channel '%s' (current)\n", channel_name);
+ }
+
+ free ((void *)channel_name);
+
+ } else if (node->equals ("subscribe")) {
+
+ const char *channel_name = node->getProp ("channel");
+ ChannelPtr channel = get_channel (channel_name);
+
+ if (channel != NULL) {
+ channel->setSubscription (true);
+ } else {
+ fprintf (stderr, "Unknown channel '%s' (subscribe)\n", channel_name);
+ }
+
+ free ((void *)channel_name);
+
+ } else if (node->equals ("install")) {
+
+ const char *channel_name = node->getProp ("channel");
+ const char *package_name = node->getProp ("package");
+ constResolvablePtr resolvable;
+
+ assertExit (channel_name);
+ assertExit (package_name);
+
+ resolvable = get_resolvable (channel_name, package_name);
+ if (resolvable) {
+ printf (">!> Installing %s from channel %s\n", package_name, channel_name);
+ resolver.addResolvableToInstall (resolvable);
+ } else {
+ fprintf (stderr, "Unknown package %s::%s\n", channel_name, package_name);
+ }
+
+ free ((void *)channel_name);
+ free ((void *)package_name);
+
+ } else if (node->equals ("uninstall")) {
+
+ const char *package_name = node->getProp ("package");
+ constResolvablePtr resolvable;
+
+ assertExit (package_name);
+
+ resolvable = get_resolvable ("@system", package_name);
+ if (resolvable) {
+ printf (">!> Uninstalling %s\n", package_name);
+ resolver.addResolvableToRemove (resolvable);
+ } else {
+ fprintf (stderr, "Unknown system package %s\n", package_name);
+ }
+
+ free ((void *)package_name);
+
+ } else if (node->equals ("upgrade")) {
+ int count;
+
+ printf (">!> Checking for upgrades...\n");
+
+ count = world->foreachSystemUpgrade (true, trial_upgrade_cb, (void *)&resolver);
+
+ if (count == 0)
+ printf (">!> System is up-to-date, no upgrades required\n");
+ else
+ printf (">!> Upgrading %d package%s\n", count, count > 1 ? "s" : "");
+
+ } else if (node->equals ("solvedeps")) {
+
+ XmlNodePtr iter = node->children();
+
+ while (iter != NULL) {
+ DependencyPtr dep = new Dependency (iter);
+
+ /* We just skip over anything that doesn't look like a dependency. */
+
+ if (dep) {
+ const char *conflict_str = iter->getProp ("conflict");
+
+ printf (">!> Solvedeps %s%s\n", conflict_str ? "conflict " : "", dep->asString().c_str());
+
+ resolver.addExtraDependency (dep);
+
+ free ((void *)conflict_str);
+ }
+ iter = iter->next();
+ }
+
+ } else {
+ fprintf (stderr, "Unknown tag '%s' in trial\n", node->name());
+ }
+
+ node = node->next();
+ }
+
+ if (getenv ("RC_DEPS_TIME")) {
+ int timeout = atoi (getenv ("RC_DEPS_TIME"));
+
+ resolver.setTimeout (timeout);
+ }
+
+ if (verify)
+ resolver.verifySystem ();
+ else
+ resolver.resolveDependencies ();
+
+ report_solutions (resolver);
+}
+
+//---------------------------------------------------------------------------------------------------------------------
+
+static void
+parse_xml_test (XmlNodePtr node)
+{
+ assertExit (node->equals("test"));
+
+ node = node->children();
+
+ while (node) {
+ if (node->type() == XML_ELEMENT_NODE) {
+ if (node->equals("setup")) {
+ parse_xml_setup (node);
+ } else if (node->equals ("trial")) {
+ parse_xml_trial (node);
+ } else {
+ fprintf (stderr, "Unknown tag '%s' in test\n", node->name());
+ }
+ }
+
+ node = node->next();
+ }
+}
+
+
+static void
+process_xml_test_file (const char *filename)
+{
+ xmlDocPtr xml_doc;
+ XmlNodePtr root;
+
+ xml_doc = xmlParseFile (filename);
+ if (xml_doc == NULL) {
+ fprintf (stderr, "Can't parse test file '%s'\n", filename);
+ exit (0);
+ }
+
+ root = new XmlNode (xmlDocGetRootElement (xml_doc));
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "Parsing file '%s'\n", filename);
+
+ parse_xml_test (root);
+
+ xmlFreeDoc (xml_doc);
+}
+
+
+//---------------------------------------------------------------------------------------------------------------------
+
+static void
+init_libzypp (void)
+{
+// rc_version_set_global (rc_version_rpm_new()); // rpm is the default for GVersion
+
+ World::setGlobalWorld (new MultiWorld());
+}
+
+int
+main (int argc, char *argv[])
+{
+ if (argc != 2) {
+ fprintf (stderr, "Usage: deptestomatic testfile.xml\n");
+ exit (0);
+ }
+
+ init_libzypp ();
+
+ world = World::globalWorld();
+
+ if (getenv ("RC_SPEW_XML")) fprintf (stderr, "init_libzypp() done\n");
+
+ process_xml_test_file (argv[1]);
+
+ return 0;
+}
+
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* edition.cc
+ *
+ * Testcases for 'Edition'
+ * contains epoch-version-release-arch
+ *
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/Edition.h>
+
+using namespace std;
+using namespace ZYPP;
+
+//---------------------------------------------------------------------------
+
+bool
+defaultarch(void)
+{
+ const Arch *arch = Arch::create(""); // the default should be 'unknown'
+
+ return arch == Arch::Any;
+}
+
+bool
+x86arch(void)
+{
+ const Arch *arch = Arch::create("x86");
+
+ return arch != Arch::Any;
+}
+
+//---------------------------------------------------------------------------
+
+bool
+emptyEdition(void)
+{
+ Edition edition;
+ return (edition.asString() == "");
+}
+
+bool
+epochEdition(void)
+{
+ Edition edition(1);
+
+ return (edition.asString() == "1:");
+}
+
+bool
+versionEdition(void)
+{
+ Edition edition(0,"42");
+
+ return (edition.asString() == "0:42");
+}
+
+bool
+releaseEdition(void)
+{
+ Edition edition(-1,"42","47.11");
+
+ return (edition.asString() == "42-47.11");
+}
+
+bool
+archEdition(void)
+{
+ Edition edition(0, "42", "47.11", Arch::create("x86_64"));
+
+ return (edition.asString() == "0:42-47.11.x86_64");
+}
+
+bool
+fullEdition(void)
+{
+ Edition edition(1, "42", "47.11", Arch::create("x86_64"));
+
+ return (edition.asString() == "1:42-47.11.x86_64");
+}
+
+//---------------------------------------------------------------------------
+
+int
+main (int argc, char *argv[])
+{
+ struct _testcase {
+ const char *name;
+ bool (*fun)();
+ } testcases[] = {
+
+#define FUN(name) { #name, name }
+
+ FUN(defaultarch), FUN(x86arch),
+ FUN(emptyEdition), FUN(epochEdition), FUN(versionEdition), FUN(releaseEdition), FUN(archEdition), FUN(fullEdition),
+ NULL, NULL
+
+ };
+
+ struct _testcase *testcase = testcases;
+
+ int failed = 0;
+
+ while (testcase->name)
+ {
+ bool result = (testcase->fun)();
+ printf ("%-16s ", testcase->name); fflush (stdout);
+ if (result) {
+ printf ("PASS\n");
+ }
+ else {
+ printf ("FAIL\n");
+ failed++;
+ }
+ testcase++;
+ }
+
+ return 0;
+}
+
+
--- /dev/null
+#
+# Makefile.am for solver/testsuite/lib
+#
+
+EXTRA_DIST = solver_init.exp
--- /dev/null
+#
+# run a prg file for single-time used testcases
+#
+proc single-run { src } {
+
+ set path [split $src "/"]
+ set filename [lindex $path [expr [llength $path]-1]]
+
+ # extract basename and check extension
+
+ set fname [split $filename "."]
+
+ if {[llength $fname] < 2} {
+ fail "Bad filename syntax '$src'"
+ return -1
+ }
+ if {[lindex $fname [expr [llength $fname]-1]] != "single"} {
+ fail "Not .single extension '$src'"
+ return -1
+ }
+
+ # setup filenames
+
+ # $src is the name of the original testfile with absolute path
+ # tests/$filename is the name of the original testfile with relative path,
+ # relative to the testsuite directory
+ set test_prg "$filename"
+
+ set base_name [lindex $fname 0]
+
+ puts "Running $base_name..."
+
+ #generate output directory
+
+ exec mkdir -p ./single.out/out
+ set outfile ./single.out/out/$base_name.out
+ set refoutfile ./single.out/$base_name.out
+ set errfile ./single.out/out/$base_name.err
+ set referrfile ./single.out/$base_name.err
+
+ # run the test
+
+ set command "LD_LIBRARY_PATH=\"\${LD_LIBRARY_PATH}:../src/.libs\" $src >$outfile 2>$errfile"
+ set result ""
+ set oops [catch { set result [exec sh -c $command] } catched]
+
+ if {$oops != 0} {
+ fail "test case failed for $base_name: $catched"
+ return -1
+ }
+
+ # check return code from runprg
+
+ if {$result != ""} {
+ warning "Run of $base_name results in '$result'"
+ return -1
+ }
+
+ if { [ file exists $refoutfile ] == 0 } {
+ perror "Missing file $refoutfile" 0
+ } else {
+ if { [ diff $refoutfile $outfile ] != 1 } {
+ puts "Output doesn't match expected data:"
+ puts [ exec sh -c "diff -u $refoutfile $outfile || true" ]
+ fail $base_name
+ return -1
+ }
+ }
+
+ if { [ file exists $referrfile ] == 0 } {
+ perror "Missing file $referrfile" 0
+ } else {
+ if { [ diff $referrfile $errfile ] != 1 } {
+ puts "Output doesn't match expected data:"
+ puts [ exec sh -c "diff -u $referrfile $errfile || true" ]
+ fail $base_name
+ return -1
+ }
+ }
+
+ # ok, all is fine
+
+ pass $base_name
+
+ return 0
+}
+
+
+#
+# run a prg file for several times ( defined in subdirectory <programname> )
+#
+proc multi-run { src } {
+
+ set errorOccured 0
+ set path [split $src "/"]
+ set filename [lindex $path [expr [llength $path]-1]]
+
+ # extract basename and check extension
+
+ set fname [split $filename "."]
+
+ if {[llength $fname] < 2} {
+ fail "Bad filename syntax '$src'"
+ return -1
+ }
+ if {[lindex $fname [expr [llength $fname]-1]] != "multi"} {
+ fail "Not .multi extension '$src'"
+ return -1
+ }
+
+ # setup filenames
+
+ # $src is the name of the original testfile with absolute path
+ # tests/$filename is the name of the original testfile with relative path,
+ # relative to the testsuite directory
+ set test_prg "$filename"
+
+ set base_name [lindex $fname 0]
+
+ puts "Running $base_name..."
+
+ set testcases [glob $base_name/*.xml ]
+
+ foreach testcase $testcases {
+ set testPath [split $testcase "/"]
+ set testFilename [lindex $testPath [expr [llength $testPath]-1]]
+ set testFname [split $testFilename "."]
+ set testBase_name [lindex $testFname 0]
+ puts " ... $testBase_name"
+
+ #generate output directory
+
+ exec mkdir -p ./$base_name/out
+ set errfile ./$base_name/out/$testBase_name.err
+ set referrfile ./$base_name/$testBase_name.err
+ set outfile ./$base_name/out/$testBase_name.out
+ set refoutfile ./$base_name/$testBase_name.out
+
+ # run the test
+
+ set command "LD_LIBRARY_PATH=\"\${LD_LIBRARY_PATH}:../src/.libs\" $src $testcase >$outfile 2>$errfile"
+ set result ""
+ set oops [catch { set result [exec sh -c $command] } catched]
+
+ if {$oops != 0} {
+ fail "test case failed for $testBase_name: $catched"
+ set errorOccured 0
+ continue
+ }
+
+ # check return code from runprg
+
+ if {$result != ""} {
+ warning "Run of $testBase_name results in '$result'"
+ set errorOccured 0
+ continue
+ }
+
+ if { [ file exists $refoutfile ] == 0 } {
+ perror "Missing file $refoutfile" 0
+ } else {
+ if { [ diff $refoutfile $outfile ] != 1 } {
+ puts "Output doesn't match expected data:"
+ puts [ exec sh -c "diff -u $refoutfile $outfile || true" ]
+ fail $testBase_name
+ set errorOccured 0
+ continue
+ }
+ }
+
+ if { [ file exists $referrfile ] == 0 } {
+ perror "Missing file $referrfile" 0
+ } else {
+ if { [ diff $referrfile $errfile ] != 1 } {
+ puts "Output doesn't match expected data:"
+ puts [ exec sh -c "diff -u $referrfile $errfile || true" ]
+ fail $testBase_name
+ set errorOccured 0
+ continue
+ }
+ }
+
+ # ok, all is fine
+ pass $testBase_name
+ }
+
+ if { $errorOccured == 0 } {
+ return 0
+ } else {
+ return -1
+ }
+
+}
+
--- /dev/null
+EXTRA_DIST = single_test.exp multi_test.exp
--- /dev/null
+#
+# multi_test.exp
+# 'main' file for all solver tests
+#
+# Runs all tests with the extention "multi" for several times.
+# Each testprogram <programname>.multi has an own subdirectory
+# <programmname> in which several testcases are defined for this program
+# Each testcase has 3 files:
+#
+# <programname>.in
+# <programname>.out
+# <programname>.err
+#
+# The program "<programname>.multi" will be called with the argument
+# "<programname>.in". The standard output will be compared with the
+# files "<programname>.out" and "<programname>.err".
+# The testcase is successful if the program returns 0 AND the outputs
+# are identically equal to the files "<programname>.out" and
+# "<programname>.err".
+
+
+if { [catch { set filenames [glob $srcdir/*.multi] } ] } {
+ puts "No .multi files found"
+} else {
+ # foreach file, call multi-run (from testsuite/lib)
+
+ foreach file $filenames { multi-run $file }
+}
--- /dev/null
+#
+# single_test.exp
+# 'main' file for all solver tests
+#
+# Runs all tests with the extention "single" one-time
+#
+
+# get all files matching *.single
+
+if { [catch { set filenames [glob $srcdir/*.single] } ] } {
+ puts "No .single files found"
+} else {
+ # foreach file, call single-run (from testsuite/lib)
+
+ foreach file $filenames { single-run $file }
+}
--- /dev/null
+EXTRA_DIST = *.out *.err
--- /dev/null
+defaultarch FAIL
+x86arch PASS
+emptyEdition PASS
+epochEdition PASS
+versionEdition PASS
+releaseEdition PASS
+archEdition FAIL
+fullEdition FAIL
--- /dev/null
+emptySpec PASS
+epochSpec PASS
+versionSpec PASS
+releaseSpec PASS
+archSpec FAIL
+fullSpec FAIL
--- /dev/null
+FAIL
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
+PASS
--- /dev/null
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/* spec.cc
+ * Copyright (C) 2000-2002 Ximian, Inc.
+ * Copyright (C) 2005 SUSE Linux Products GmbH
+ *
+ * Testcases for 'Spec'
+ * contains name + Edition
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License,
+ * version 2, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include <zypp/solver/detail/Spec.h>
+
+using namespace std;
+using namespace ZYPP;
+
+bool
+emptySpec (void)
+{
+ Spec spec(Kind::Package, "");
+ return spec.asString() == "";
+}
+
+bool
+epochSpec(void)
+{
+ Spec spec(Kind::Package, "foo", 1);
+
+ return (spec.asString() == "foo-1:");
+}
+
+bool
+versionSpec(void)
+{
+ Spec spec(Kind::Patch, "bar", 0,"42");
+ return (spec.asString() == "patch:bar-0:42");
+}
+
+bool
+releaseSpec(void)
+{
+ Spec spec(Kind::Package, "foobar", -1,"42","47.11");
+
+ return (spec.asString() == "foobar-42-47.11");
+}
+
+bool
+archSpec(void)
+{
+ Spec spec(Kind::Package, "arch", 0, "42", "47.11", Arch::create("x86_64"));
+
+ return (spec.asString() == "arch-0:42-47.11.x86_64");
+}
+
+bool
+fullSpec(void)
+{
+ Spec spec(Kind::Package, "full", 1, "42", "47.11", Arch::create("x86_64"));
+
+ return (spec.asString() == "full-1:42-47.11.x86_64");
+}
+
+
+
+//---------------------------------------------------------------------------
+
+int
+main (int argc, char *argv[])
+{
+ struct _testcase {
+ const char *name;
+ bool (*fun)();
+ } testcases[] = {
+
+#define FUN(name) { #name, name }
+
+ FUN(emptySpec), FUN(epochSpec), FUN(versionSpec), FUN(releaseSpec), FUN(archSpec), FUN(fullSpec),
+ NULL, NULL
+
+ };
+
+ struct _testcase *testcase = testcases;
+
+ int failed = 0;
+
+ while (testcase->name)
+ {
+ bool result = (testcase->fun)();
+ printf ("%-16s ", testcase->name); fflush (stdout);
+ if (result) {
+ printf ("PASS\n");
+ }
+ else {
+ printf ("FAIL\n");
+ failed++;
+ }
+ testcase++;
+ }
+
+ return 0;
+}
--- /dev/null
+#include <string.h>
+#include <zypp/solver/detail/utils.h>
+
+using namespace ZYPP;
+
+int
+main (int argc, char *argv[])
+{
+ if (strstrip(NULL) != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip("") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip(" ") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip("\t") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip(" ") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip("\t\t") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strstrip(" \t ") != NULL)
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("a"), "a"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" a"), "a"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("a "), "a"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" a "), "a"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("ab"), "ab"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" ab"), "ab"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("ab "), "ab"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" ab "), "ab"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("a b"), "a b"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" a b"), "a b"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip("a b "), "a b"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+ if (strcmp (strstrip(" a b "), "a b"))
+ {
+ printf ("FAIL\n");
+ }
+ else
+ {
+ printf ("PASS\n");
+ }
+
+ return 0;
+}