aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "solver: increase score fields to 32-bits (from 16-bits)"root2013-06-112-31/+39
| | | | This reverts commit 84bfef1a6b587a7da7d12fb701ab0d1d5d6ce2a9.
* index: add sensible error message if metadata is too longTimo Teräs2013-05-303-26/+34
| | | | | | | | | | | fixes #1476 Instead of: ERROR: Index generation failed: Success The following is now printed: ERROR: Metadata for package timo-1.0-r0 is too long. ERROR: Index generation failed: No buffer space available
* db: unify handling of special packagesTimo Teräs2013-05-308-76/+69
| | | | | | make cache a special kind of repository, and automatically cache special packages (virtual packages, or ones installed from command line). add test cases for handling virtual packages. fixes #1617.
* db, info: allow packages to install files/symlinks to rootTimo Teräs2013-05-293-21/+44
| | | | fixes #1578
* db: make dev/null a character device with --initdbTimo Teräs2013-05-291-1/+1
| | | | fixes #1714
* solver: increase score fields to 32-bits (from 16-bits)Timo Teräs2013-04-292-39/+31
| | | | | We are having so many packages that they might overflow otherwise. "ERROR: Preference overflow" was already reported.
* upgrade: handle solver failure gracefullyTimo Teräs2013-04-291-1/+1
| | | | It is internal bug, but don't segfault on it. Fixes #1576.
* apk_hash.h: include stddef.hPierre Carrier2013-04-181-0/+1
| | | | Needed for ptrdiff_t in some libcs.
* *.c: malloc.h->stdlib.hPierre Carrier2013-04-182-2/+2
|
* solver: remove backjumping by nameTimo Teräs2013-01-282-29/+3
| | | | | | It is incorrect optimization causing valid solutions to be skipped. Any performance it might've gained, should be fixed by reintroduction of the minimum penalty logic added in previous commit.
* solver: reintroduce minimum penalty logicTimo Teräs2013-01-282-49/+78
| | | | Basic per-name per-package specific scoring added.
* solver: do not backtrack over "exclude none"Timo Teräs2013-01-221-1/+8
| | | | | Otherwise we can return no solution at all instead of partially satisfied solution (and give proper error message).
* solver: simplify strength evaluation in constraint handlingTimo Teräs2013-01-211-20/+8
|
* solver: check if solution is not found at allTimo Teräs2013-01-211-0/+6
| | | | This is an internal error.
* solver: fix reset of last_touched to zeroTimo Teräs2013-01-181-2/+2
|
* solver: some code clean upsTimo Teräs2013-01-181-5/+5
|
* solver: build fix for debug print on x86_64Natanael Copa2013-01-181-1/+1
| | | | use %zu for size_t
* solver: fix name assignment logic to not mess up internal stateTimo Teräs2013-01-181-11/+10
| | | | | Should get rid of error messages like: ERROR: Saved_score {4/0/0,74} != score {6/0/0,74}
* ver: fix help message of --limitTimo Teräs2012-11-051-2/+2
|
* solver: fix package prefence calculation a bitTimo Teräs2012-11-041-1/+3
|
* del: consider also reverse dependencies for provided namesTimo Teräs2012-10-091-8/+19
| | | | | So we get better error report if package is not deleted due to reverse dependency.
* solver: additional backjumping schemeTimo Teräs2012-10-082-11/+49
| | | | | | Enabled when all attempts to satisfy a name failed, we know that we can ignore all decisions until we find a decision affecting the name we wanted to satisfy.
* solver: optimize backjumpingTimo Teräs2012-10-082-8/+9
| | | | to be functional when backtracking
* solver: properly calculate decision "strength" with providesTimo Teräs2012-10-081-17/+13
|
* solver: fix back jumping once moreTimo Teräs2012-10-051-17/+33
|
* solver: record dependency apk_name in apk_decisionTimo Teräs2012-10-051-51/+19
| | | | | | | We can't just use the primary name, as that would mess up backtracking. We need to record the name which caused the name to get considered - that way the right last_touched_decision is used on backtracking.
* solver: various fixesTimo Teräs2012-10-031-14/+58
| | | | | | | | | | | | | * push_decision expects to always get the package primary 'name' as apk_name. ASSERT that and fix problem cases. (though - this might need to be reverted, and store the non primary name in apk_decision instead to accomodate for better backtracking optimizations) * fix error reporting of virtual package names * make 'assign_name' errors soft. the incorrect packages just are no longer consider instead of aborting whole calculation. * fix backtracking of virtual packages that are not depended directly
* solver: improve assert error messagesNatanael Copa2012-10-031-2/+3
| | | | Print name of package and void double "ERROR"
* solver: fix compile with -Werror on 64bitNatanael Copa2012-10-031-1/+1
|
* info: --provides alias -p is reserved for --root, use -PNatanael Copa2012-09-281-2/+2
| | | | fixes #1396
* apk: implement --progress-fd to write progress to a specified fdTimo Teräs2012-09-204-19/+35
|
* db: remove AT_SYMLINK_NOFOLLOW for directory permissionsTimo Teräs2012-09-041-2/+2
| | | | | | | | | | | fchmodat does not support this flag - symlinks do not have permissions. Sysadmin probably does not expect us to not follow symlinks either: if /var -> /mnt/foo/var, we should be making sure the permissions and ownership is correct on the target directory, not on the symlink. Since fchmodat never returned ENOENT with AT_SYMLINK_NOFOLLOW, this also fixes directory re-creation if it does not exist. fixes #1348.
* audit: report new directories in recurse mode tooTimo Teräs2012-07-161-12/+5
| | | | Add new 'd' flag for it.
* audit: fix protection mask of non-db directoriesTimo Teräs2012-07-163-26/+27
| | | | | | | | | If a directory has protection mask, but does not exist in db, we do not handle it right unless we calculate the protection mask by hand, or create temporary db dir entry for it. For simplicity create always the db dir entry -- depending on audit type we likely need to create it anyway. This commit also caches the db dir entry in the audit tree context to avoid duplicate lookups. ref #1241.
* audit: get right protection mask for base directories in the listsTimo Teräs2012-07-091-6/+14
| | | | | Use the paths' protection mask where available instead of the parent paths'. ref #1241
* search: improve output format for --rdependsNatanael Copa2012-06-061-2/+4
| | | | | | - makes -v option useful - makes --origin --quiet --exact useful for piping and scripting - makes the default output more readable
* ver: show all packages with -vNatanael Copa2012-05-071-1/+1
| | | | ref #1122
* ver: make --quiet output suitable for scripting/pipingNatanael Copa2012-05-071-0/+4
| | | | | | | | | | | | | Do not print version numbers or compare result char when in quiet mode. This makes the output suitable for be used in scripts or pipes. For example: # Upgrade all packages that matches a given regexp apk version --limit '<' --quiet | grep $regexp | apk fix --reinstall # Delete all packages that are removed from repository apk version --limit '?' --quiet | xargs apk del
* ver: print '?' when package is not available in any repoNatanael Copa2012-05-072-1/+3
| | | | | This makes it possible to differ between downgradable packages (-l '<') and unavailable in repos (-l '?').
* audit: apply protected_paths.d masks to individual filesTimo Teräs2012-05-011-3/+18
|
* db: strip leading and trailing slashes from protected path specTimo Teräs2012-05-011-0/+6
|
* solver: fix install_if triggers on cyclic and early depsTimo Teräs2012-04-271-11/+15
|
* solver: fix backtracking with install_if dependenciesTimo Teräs2012-04-271-17/+20
|
* ver: show all versions if package name specifiedTimo Teräs2012-04-271-1/+1
| | | | fixes #1116
* db: fix has_protected_children setup on leaf path entriesTimo Teräs2012-04-271-1/+1
| | | | Fixes --recurse during audit.
* pkg: honor --allow-untrusted when installing non-repository packagesTimo Teräs2012-04-031-13/+21
| | | | fixes #1072
* solver: fix a type from previous commitTimo Teräs2012-03-311-1/+1
|
* solver: fix installation of non-repository packagesTimo Teräs2012-03-311-1/+2
|
* info: fix exit code for -eTimo Teräs2012-03-301-3/+6
| | | | fixes #1069
* build: openssl seems to require -ldl for now, so add thatTimo Teräs2012-03-281-0/+1
|