1
0
mirror of https://github.com/openSUSE/libsolv.git synced 2026-02-05 12:45:46 +01:00

- minor text fixes and tweaks

This commit is contained in:
Michael Schroeder
2011-05-24 17:05:41 +02:00
parent e5c46e2321
commit 91dd4f1bc2
4 changed files with 18 additions and 71 deletions

15
INSTALL
View File

@@ -1,27 +1,18 @@
Compiling and installing the software Compiling and installing the software
Requirements:
** This is a research project, NOT a complete tool. **
Requirements
- C compiler - C compiler
- cmake - cmake
- make - make
- expat - expat
- db-4.3
Steps to compile Steps to compile/install:
1. mkdir build 1. mkdir build
2. cd build 2. cd build
3. cmake .. 3. cmake ..
4. make 4. make
5. make install
Steps to run the testsuite
1. cd testsuite
2a. ./runtest.rb --redcarpet data.libredcarpet
2b. ./runtest.rb data.libzypp

8
README
View File

@@ -1,7 +1,7 @@
libsolv, a free package dependency solver using a satisfyability This is libsolv, a free package dependency solver using a satisfyability
algorihtm algorihtm.
This code is based on two major, but independent, blocks This code is based on two major, but independent, blocks:
1. Using a dictionary approach to store and retrieve package 1. Using a dictionary approach to store and retrieve package
and dependency information. and dependency information.
@@ -18,6 +18,6 @@ cd build
cmake .. cmake ..
make make
To create a package To create a package:
make srcpackage make srcpackage
see package/ see package/

View File

@@ -1,33 +1,33 @@
INCLUDE(CheckFunctionExists) INCLUDE (CheckFunctionExists)
CHECK_FUNCTION_EXISTS(qsort_r HAVE_QSORT_R) CHECK_FUNCTION_EXISTS (qsort_r HAVE_QSORT_R)
CHECK_FUNCTION_EXISTS(__qsort_r HAVE___QSORT_R) CHECK_FUNCTION_EXISTS (__qsort_r HAVE___QSORT_R)
IF (HAVE_QSORT_R) IF (HAVE_QSORT_R)
ADD_DEFINITIONS(-DHAVE_QSORT_R=1) ADD_DEFINITIONS (-DHAVE_QSORT_R=1)
ENDIF (HAVE_QSORT_R) ENDIF (HAVE_QSORT_R)
IF (HAVE___QSORT_R) IF (HAVE___QSORT_R)
ADD_DEFINITIONS(-DHAVE___QSORT_R=1) ADD_DEFINITIONS (-DHAVE___QSORT_R=1)
ENDIF (HAVE___QSORT_R) ENDIF (HAVE___QSORT_R)
SET(libsolv_SRCS SET (libsolv_SRCS
bitmap.c poolarch.c poolvendor.c poolid.c strpool.c dirpool.c bitmap.c poolarch.c poolvendor.c poolid.c strpool.c dirpool.c
solver.c solverdebug.c repo_solv.c evr.c pool.c solver.c solverdebug.c repo_solv.c evr.c pool.c
queue.c repo.c repodata.c repopage.c util.c policy.c solvable.c queue.c repo.c repodata.c repopage.c util.c policy.c solvable.c
transaction.c rules.c problems.c transaction.c rules.c problems.c
chksum.c md5.c sha1.c sha2.c satversion.c) chksum.c md5.c sha1.c sha2.c satversion.c)
ADD_LIBRARY(libsolv STATIC ${libsolv_SRCS}) ADD_LIBRARY (libsolv STATIC ${libsolv_SRCS})
SET(libsolv_HEADERS SET (libsolv_HEADERS
bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h bitmap.h evr.h hash.h policy.h poolarch.h poolvendor.h pool.h
poolid.h pooltypes.h queue.h solvable.h solver.h solverdebug.h poolid.h pooltypes.h queue.h solvable.h solver.h solverdebug.h
repo.h repodata.h repopage.h repo_solv.h util.h repo.h repodata.h repopage.h repo_solv.h util.h
strpool.h dirpool.h knownid.h transaction.h rules.h problems.h strpool.h dirpool.h knownid.h transaction.h rules.h problems.h
chksum.h md5.h sha1.h sha2.h ${CMAKE_BINARY_DIR}/src/satversion.h) chksum.h md5.h sha1.h sha2.h ${CMAKE_BINARY_DIR}/src/satversion.h)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") SET (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
INSTALL(FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/libsolv") INSTALL (FILES ${libsolv_HEADERS} DESTINATION "${CMAKE_INSTALL_PREFIX}/include/libsolv")
INSTALL(TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR}) INSTALL (TARGETS libsolv LIBRARY DESTINATION ${LIB_INSTALL_DIR} ARCHIVE DESTINATION ${LIB_INSTALL_DIR})

View File

@@ -1,44 +0,0 @@
Solver algorithms:
------------------
- the solver allows arch changes from/to noarch without complaining.
good or bad?
- vendow changes are allowed from unknown to known. libzypp doesn't
allow that. Feature?
- should prune_best_version_arch consider the arch or the vendor this
is about an installed package?
- repo priorities should influence the order in which package rules
are fulfilled.
- prune_best_version_arch has a n^2 loop when looking at obsoletes.
Should we create an obsoletes index to speed that up?
Code cleanup:
-------------
- move whatprovides/whatprovidesdata from pool to solver?
good: can implement installed(), though I don't know if we need
it.
bad: need to allocate solver if we just want to look up a provides.
can't re-use whatprovides for multiple solver runs with different
solvers.
- implement unified idarray in pool, so that repos don't have to
come with their own idarrays? Would need memory for hash, but
unification would be a nice thing. Would also fix solver memory
leak with learned rules. Needs some hard numbers abour memory usage.
- make bitmap macros inline functions?
- rename ID Macros to ID_, e.g. ARCH_NOARCH to ID_ARCH_NOARCH?
- support different streams than FILE in repo_ functions? Is it
enough that glibc supports FILE overloading, see the undocumented
fopencookie()?