summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2015-04-07commit: return failure if there are any errorsNatanael Copa1-1/+1
fixes #4019
2015-03-11calculate and store checksum of xattrsTimo Teräs5-7/+63
ref #3027
2015-03-10rename file info related functions for consistencyTimo Teräs8-17/+17
2015-03-10extract xattrs from packagesTimo Teräs3-0/+46
ref #3027
2015-03-10rework error handling for write streamsTimo Teräs4-29/+19
2015-03-10rework error handling for read streamsTimo Teräs8-42/+74
2015-02-04remove old compat. field entry from installed db handlingTimo Teräs1-1/+0
Package pinning was first implemented with 'p' tag. However, it was before any release renamed to 's', and 'p' was reserved for package provides support for which is used now.
2015-01-30remove spurious audit message from missing files with --systemTimo Teräs1-4/+2
fixes #3840
2015-01-30sort world dependencies alphabeticallyTimo Teräs1-0/+8
this makes 'lbu diff' and aaudit diffs nice when a world dependency is added or removed. sorting also makes the ordering more deterministic as the world targets constraints are always applied in the same order. test suite updated accordingly.
2015-01-30always save 'world' with line feedsTimo Teräs2-4/+1
using space was for backwards compatibility with apk-tools 2.2.2 and earlier (from January 2012)
2015-01-30remove support for old database location in /varTimo Teräs3-57/+0
the location changed in apk-tools 2.1.0 (March 2011) which was used in Alpine Linux 2.2.
2015-01-30remove reverse dependencies firstTimo Teräs1-0/+6
when removing large sets of packets, the ordering of removal was not quaranteed to honor dependencies. this fixes the removal order to be in reverse dependency order as far as possible.
2014-12-08make del, fetch, fix and info return errorsTimo Teräs8-32/+63
In case all applet arguments are packages names (that is are not including wildcards), return error if they do not match to some package.
2014-12-08fix test modeTimo Teräs1-5/+7
2014-11-03db: assign write permission to lock fileKaarle Ritvanen1-2/+2
Allows running apk as an unprivileged user, e.g. with fakeroot. Opening the lock file fails without the write permission.
2014-11-01move --simulate to commit options group and alias -s for itTimo Teräs1-5/+4
2014-11-01make 'mode, uid, gid' triplet separate atomized structTimo Teräs3-53/+68
there are only few combinations for that triplet, and they occur multiple times reducing the struct sizes a bit. make sane defaults and prepare to not write defaults to disk to reduce on-disk installed db size.
2014-11-01support extended pax header in tar extractorTimo Teräs3-38/+93
2014-10-13db: improve and unify fdb error messagesTimo Teräs1-27/+13
2014-10-09db: unconditionally refresh index with --forceTimo Teräs1-1/+3
2014-10-08rework option parsing to have a group structureTimo Teräs14-319/+390
Add also a new 'commit' group that is the common options for all applets that can commit package changes.
2014-10-08url: fix double free from late libfetch changesTimo Teräs1-1/+0
2014-10-08io,url,db: support for if-modified-sinceTimo Teräs6-53/+81
2014-10-08url: use libfetch to retrieve http/https/ftp filesTimo Teräs3-56/+51
2014-10-07db: fix crash if unable to download cache itemTimo Teräs1-2/+3
fixes #3371
2014-10-07io: fix few error path leaksTimo Teräs2-6/+9
2014-10-07db: rework directory permission handlingTimo Teräs4-58/+88
Apk used to reset directory permissions always, but this is undesirable if user has modified the permissions - especially during tmpfs boot. Though, it is desirable to update the permissions when packaging has changed permissions, or a new package is installed and the merged permission mask / owner changes. Thus the new code updates the permissions only if: 1) We are booting and directory is not in apkovl 2) The directory is modified by a package install/remove/upgrade 3) The filesystem directory permission matched database Additionally "apk fix --directory-permissions" can be used to reset all directory permissions to the database defaults. Fixes #2966
2014-10-06solver: enforce conflicts during upgrades and new pkg installsTimo Teräs1-2/+11
This makes sure any conflicted packages will be removed first. Useful if we know there are conflicting files, and want to avoid adding potentially harmful replaces line. Add a test case for this too.
2014-10-06cache: delete more aggressively unneeded cached filesTimo Teräs2-6/+12
Also if --purge is specified delete all uninstalled packages. Fixes #2889
2014-10-06db: use per-pkg architecture (if available) to form download urlTimo Teräs1-2/+6
Allows one arch index files to refer to other arch packages. Mostly useful with noarch packages, but could be used e.g. to ship build with some of packages optimized for specific cpu generation and share most packages with the standard build.
2014-10-06info who-owns: print symlink target owner as a fallbackTimo Teräs1-3/+15
busybox trigger creates symlinks to itself. This helps user to see where these come from.
2014-10-06index: fix warning about package names without providerTimo Teräs3-9/+11
It's real only if there's a package with actual dependency (conflicts and install_if dependencies do not count).
2014-05-19solver: fix installation of non-repository packages during tmpfs bootTimo Teräs4-3/+13
allow packages in the cache's installed to be selected for installation by the solver. add test case for the issue.
2014-05-19test: improve loading of repositories, fix broken install-if testTimo Teräs1-3/+15
2014-05-19del: allow deletion of world dependency when it is not installedTimo Teräs1-0/+3
this happens e.g. after tmpfs boot when not all packages where available: the dependency is in world, but not installed.
2014-05-12finally fix building PIE binariesTimo Teräs3-14/+37
the dynamic applet registration never worked with PIE, and as a temporary hack -nopie was added to default link flags in 2008. this commit reworks the applet registration mechanism to something that is compatible with PIE, and removes the hack. finally!
2014-04-25db: allow replacing files of origin package is sameTimo Teräs1-0/+3
basically this makes packager's life simpler as there is no need to list the subpkg names in replaces. this was also very error prone and tedious job to do properly.
2014-04-10package: do not report duplicate reverse dependenciesTimo Teräs1-1/+4
most notable in error report from 'del' applet
2014-04-10url: double-fallback to static busyboxTimo Teräs1-0/+1
2014-04-10solver: purge install_if packages deleted from repositories on upgrade -aTimo Teräs1-2/+9
2014-04-10solver: fix cleaning of packages that got replaced by providesTimo Teräs1-1/+4
2014-04-04solver: fix inherited flags/pinning for install_if packagesTimo Teräs1-56/+28
noticeable fixes upgrading of packages which get pulled in only by install_if rule. this also simplifies the inheritance calculation for packages, as well as the place where it is done for install_if triggered packages.
2014-04-04solver: do not consider packages in cache as 'available'Timo Teräs1-5/+16
'available' really means 'available in one or more configured repository'. Cache is not a repository we track, so those are only available for installation, but not available as preferred to be installed from repository. fixes #2831.
2014-03-12audit: report missing files in system modeTimo Teräs1-21/+64
fixes #2113
2014-03-12solver: additional improvements to install_if handlingTimo Teräs2-4/+22
2014-03-12audit: include all files in etc/apk in overlayTimo Teräs3-40/+50
This implements a new protected path flag '!' to include always matching entries in the backup mode (overlay). This is also turned on for etc/apk to include everything there in overlay, because the full list of repositories and signing keys need to be in overlay - just getting them from a package is not enough during bootstrap.
2014-03-11solver: fixes to install_if handlingTimo Teräs1-14/+21
2014-03-07info: fix printing of 'replaces' fieldTimo Teräs1-1/+1
2014-02-03fetch: disable all progress/log output with --stdoutNatanael Copa1-1/+3
2014-02-03fetch: disable progress when outputting pkg to stdoutTimo Teräs1-1/+4