summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2011-08-05solver: move topology sorting to solver codeTimo Teräs6-105/+104
this allows quite some optimizations to running time and memory requirements.
2011-08-01solver: generate proper error messagesTimo Teräs3-196/+248
* the solver no longer does look-ahead locking of names (could be possibly optimized later); instead names are now always ordered strictly to properly detect the package names which are unsolveable * basic error tests added, so we can see the most likely problem in dependencies easily
2011-07-27solver: don't consider package that we can't haveTimo Teräs1-2/+26
Packages that need (re-)installation but which are not available, are excluded now properly.
2011-07-27solver: permutate each preferred solution firstTimo Teräs1-57/+55
The first found solution is the most preferred one then.
2011-07-27test: don't crash if the expected files are not thereTimo Teräs1-4/+8
2011-07-27Makefile: make it possible to override pkg-config via PKG_CONFIGNatanael Copa1-3/+4
2011-07-26solver: new package selection logic (which is not yet used)Timo Teräs6-3/+826
* basic code for a backtracking, forward checking dependency satisfier * works better when there are tricky dependencies to solve (when can't just upgrade everything to most preferred versions) * the new code always evaluates all of 'world' constraints (old code just does incremental updates based on heuristics) * is probably somewhat slower than old code (probably unnoticeable difference in most cases) * makes easier to write support for provides and repository pinning * test applet and a bunch of test cases added which uses the new code * from the old feature set install_if is not yet implemented
2011-07-24dot: applet to generate the dot attributed graph language filesTimo Teräs3-1/+154
This applet can be used to generate data for graphviz tools. Useful to visualize package dependencies, and possible errors in the repository. Usage examples: apk dot gnome-desktop | tred | dot -Tpng gnome-desktop.png -- to generate simplified dependency chart of gnome-desktop apk dot --errors | dot -Tpng index-errors.png -- to generate chart visualizing dependency errors in index
2011-07-24ver: database is not needed for version string checking and testsTimo Teräs1-0/+2
2011-07-22apk: improve indented printingTimo Teräs5-20/+41
* fixup the help messages to align up properly * refresh screen width on SIGWINCH
2011-07-16apk_database: add APK_DEFAULT_ARCH for ppc, ppc64 and arm portsWilliam Pitcock1-0/+6
2011-07-16apk: use APK_DEFAULT_ARCH in version().William Pitcock1-1/+1
2011-07-16apk_database: move APK_DEFAULT_ARCH to headers so that we can use it in ↵William Pitcock2-8/+10
version().
2011-07-16apk: display command descriptions in command listWilliam Pitcock1-5/+10
2011-07-11cache: return error if cache sync or download failsTimo Teräs1-3/+3
fixes #666
2011-06-28index: handle errors instead of silently failingTimo Teräs3-12/+41
Make indexer keep noise about errors that prevent index generation. Detect certain errors in the APKs better. And also have the applet return error in these scenarios.
2011-05-27db: more fix for read-only cache remountingTimo Teräs3-18/+15
remount to read-write before trying to create the cache directory subdirs. fix a fd leak that might prevent remounting back to rw.
2011-05-27db: remount read-only after the file handles have been closedNatanael Copa1-6/+6
The apk cache might be on the readonly media so we need wait with remounting til after atleast this filehandle is closed.
2011-05-23state: fix commit order of packagesTimo Teräs1-6/+17
commit 4e72075fbab introduced a bug where package installation might happen in wrong order (reminder for self to separate the package version deduction to separate step from installation ordering). this restricts the earlier commit to not mingle with the install order.
2011-05-23db: fix post-install script error message formattingTimo Teräs1-2/+2
2011-04-26state: make some of the interactive messages line up with apt which weren't ↵William Pitcock1-3/+3
already
2011-04-22db: remount ro cache to rw earlier for update to workTimo Teräs1-15/+16
2011-04-22apk: default screen width 70 if ioctl says 0 as widthTimo Teräs1-1/+1
2011-04-14db: Allow override arch when using --rootNatanael Copa3-2/+11
This is so we can do x86 --root installs on x86_64 hosts. Using --arch without --root can make great damage so we only enable it if --root is used.
2011-04-09state: make the progress bar look niceWilliam Pitcock1-3/+3
2011-04-09upgrade: Improve english messages on apk-tools/baselibs upgrade transaction.William Pitcock1-2/+2
2011-04-07fetch: fix fetching of packages with archTimo Teräs3-19/+24
2011-04-04pkg: add origin, maintainer, build_time and commit id to indexTimo Teräs2-1/+37
Parse these fields from .PKGINFO, and write them to index.
2011-04-04index: support rewriting of architectureTimo Teräs1-2/+13
Our build infra does not yet handle properly noarch, so for the time being we will rewrite them as native packages in index. This allows the package to be fetched from the proper URL. This feature will be removed once abuild and the build infra handle noarch properly.
2011-03-31state: late locking for install_if package selectionTimo Teräs1-0/+6
improves behaviour under certain corner case conditions.
2011-03-30state: use db in own struc when committingNatanael Copa6-8/+8
The db parameter to apk_state_commit is not needed so we remove it.
2011-03-29state, info: implement install_if (fixes #443)Timo Teräs2-60/+185
Implement the logic for install_if lines. Update info applet to also display the install_if related fields.
2011-03-29apk-tools-2.1.0_pre1v2.1.0_pre1Timo Teräs1-4/+3
2011-03-29fetch: fix package version printTimo Teräs1-3/+4
broke after making the version field an atom because the printf was not updated accordingly.
2011-03-27apk: fix gcc 4.6 warningsTimo Teräs1-2/+1
2011-03-27state: fix late locking of packagesTimo Teräs1-1/+1
commit 4e72075fbab introduced late locking for top level packages, but used the wrong package's top level flag for the check. this fixes a problem that dependencies might not get pulled in.
2011-03-19apk: improve progress barTimo Teräs3-12/+29
* make it as wide as the screen * make sure it's drawn after package change * and draw it using ansi escapes in line buffered stderr
2011-03-19upgrade: reset world dependencies during traversalTimo Teräs2-24/+14
This allows us to get apk-tools dependencies get reset at proper time in world. As a bonus, it reduces code amount.
2011-03-19state: lock package late for names specified on command lineTimo Teräs1-4/+11
This will fix certain scenarios where multiple packages are installed with full package files specified on command line and they depend on each other.
2011-03-16db: relocate from /var/lib/apkTimo Teräs3-47/+91
move all files therein to other places. this allows /var to be mounted from harddisk, but rest of system be run from ramdisk. this also removes support for historical version of the scripts database which was obsoleted in 2.0_pre16 (in July 2009).
2011-03-16db: move lock file to /var/lockTimo Teräs1-2/+4
in accordance with FSH. this also to clear /var of apk related things as we might want to run /var as harddisk, but rest of system from ramdisk.
2011-03-16apk: show progress bar by default for tty controlled runsTimo Teräs2-7/+12
and make the progress bar disappear on regular runs too.
2011-03-16db: fix cache tmpfs detectionTimo Teräs1-1/+1
comment out the code that was out for testing. duh.
2011-03-16db, cache: automatically remount cache read-write when neededTimo Teräs3-14/+104
.. and back to read-only after finishing with modifications. fixes #512
2011-03-16db: handle arch similarly to stable branchTimo Teräs3-16/+26
if package arch is not set, do not append anything to repository. if arch is set, it is appended to repository.
2011-03-16db: detect tmpfs betterTimo Teräs1-1/+4
Use statfs() filesystem type, instead of the device IDs.
2011-03-11url: try wget from $PATH first and fallback to busybox wgetNatanael Copa1-0/+4
If GNU wget is available, then we want use it as it gives the user possibility to set misc options, such as bandwidth limit in wgetrc. It might also be that busybox is not available in case bootstrapping alpine from other distros (think debian vserver host creating an alpine guest) In any case we, fall back to busybox wget in case wget libs are getting upgraded. (see http://redmine.alpinelinux.org/issues/347)
2011-01-21db: fix package cachingTimo Teräs1-2/+2
2011-01-05add: use default arch instead of noarch, improve errorsTimo Teräs2-3/+4
Packages without architecture should get the platforms default architecture (so we are backwards compatible). Only the virtual packages should get 'noarch' by default. Also print full path to the index file which failed.
2011-01-04db: check and initiailize required package fields before addition to dbTimo Teräs1-0/+5
The atomization change broke virtual packages because they don't have license or arch set.