summaryrefslogtreecommitdiff
path: root/src/package.c
AgeCommit message (Collapse)AuthorFilesLines
2009-08-04db: support "replaces" directive (fixes #113)Timo Teras1-11/+5
it will allow to overwrite files owned by some other packages to get upgrades right (e.g. when splitting or renaming packages)
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-19/+48
this way we never change cwd, and relative filenames are always parsed consistently. this also helps filename construction in many places. this patch also changes '--root' to override location of all configuration to be in the new root. previously it depended on the file which one was used.
2009-07-29tar: make checksumming of inner files conditionalTimo Teras1-1/+1
and force checksumming only when unpacking archive. otherwise it's extra computation for nothing.
2009-07-24pkg: remove implicit bb dependency when install script is presentTimo Teras1-14/+0
this dependency is now inserted automatically by abuild.
2009-07-23index: more informative error messageTimo Teras1-1/+1
when failed to load an existing index.
2009-07-22signing: verify and generate identityTimo Teras1-0/+6
fixes verification of non-repository packages while installing them. this is final thing needed for full signing support (fixes #46).
2009-07-22add: fixes to installing non-repository packageTimo Teras1-2/+2
make sure cache is enabled on non-permanent rootfs setups. some optimizations and fixes too.
2009-07-22pkg: cleanup the signing codeTimo Teras1-95/+78
smaller callback and less cases to check. also reintroduce the oneshot digest flag, hopefully correct this time.
2009-07-22apk: allow-untrusted optionTimo Teras1-10/+15
to not make hard error of untrusted or missing signatures
2009-07-22various: more informative error messagesTimo Teras1-13/+16
2009-07-22various: misc fixesTimo Teras1-59/+54
- error codes for verification failure types - fix some fdb corruption on file migration - combine some dependency parsing code - fix versioned dependencies
2009-07-22various: installation fixesTimo Teras1-5/+0
- extract everything as .apk-new and overwrite only after data has been checksummed - url construction fixes (to work with simple http servers) - end of gunzip stream fixed - remove oneshot digesting flag for now as it's usage was broken
2009-07-21various: fix installation of new style apksTimo Teras1-1/+2
2009-07-21pkg: fix indexing of multi-part apksTimo Teras1-2/+2
2009-07-21db: fixes to package checksumming while installing itTimo Teras1-14/+23
2009-07-20db: signed index loading (ref #46)Timo Teras1-22/+88
prefer index in the new format as signed .tar.gz.
2009-07-20pkg: filenames with '/' cannot be control dataTimo Teras1-1/+1
2009-07-17digest: use oneshot context flag where approriateTimo Teras1-17/+26
speeds up digest calculation on some cases.
2009-07-17index: fix output file permissions, verify signed index (ref #46)Timo Teras1-7/+18
2009-07-17pkg: remove debug printsTimo Teras1-1/+0
2009-07-17pkg: fix index generationTimo Teras1-4/+12
that got broke during verify implementation.
2009-07-17verify: new applet (ref #46)Timo Teras1-73/+172
an utility to check package signature and integrity.
2009-07-16pkg: .PKGINFO field for data checksum is 'datahash'Timo Teras1-1/+1
in future we might add datahashalg to specify the algorithm used.
2009-07-16various: new style index generationTimo Teras1-22/+71
change the index generation to do old index, or the new style index where package identity is sha1 of control block and it's contained within an .tar.gz to allow signing in future.
2009-07-16gzip: always autoclose the inner streamTimo Teras1-2/+6
2009-07-16pkg: remove support for the deprecated .INSTALL scriptTimo Teras1-14/+1
2009-07-15cache: make cache cleaning work again properlyTimo Teras1-0/+3
2009-07-15pkg: fix package scanner to read whole archiveTimo Teras1-2/+2
otherwise we don't get chechksum anymore after the changes to support partial gzip checksumming.
2009-07-14db: live with sha1 and md5Timo Teras1-9/+10
this also convers scripts file to a tar archive.
2009-07-14blob: some helpers to replace snprintfTimo Teras1-28/+28
snprintf is dog slow. make the blob stuff have some helper functions so we can use them in code paths that are executed often.
2009-07-14bstream: make tokenizable and load index using bstreamTimo Teras1-3/+3
some fixes on index reading code too.
2009-07-13io: move csumming away from bstream to gunzipTimo Teras1-5/+23
in future we want to checksum on gzip boundary basis, not the full file.
2009-06-22package: removed debug codeNatanael Copa1-1/+0
2009-06-20ver: only compare the given packages, show versionNatanael Copa1-0/+5
make apk_version_compare() take strings rather than blobs add apk_pkgversion_compare(), a wrapper that takes packages
2009-06-16add: support for forced versionsNatanael Copa1-0/+33
Support version numbers specified with packages. For example: apk add 'busybox<1.14' apk add 'squid=>3.0'
2009-04-16pkg: clean up writing of dependenciesTimo Teras1-82/+60
2009-04-16pkg: apk_deps_del helper introducedTimo Teras1-0/+19
2009-04-16pkg: fix apk v1.0 URL field importTimo Teras1-1/+1
2009-04-14state: rework changeset calculation algorithmTimo Teras1-7/+79
Calculate changesets directly by stabilizating the package graph instead of recalculating the whole graph and then diffing (similar approach as seen in 'smart' package manager). The algorithm is not complete: defferred search space forking is missing. So you don't always get a solution on complex graphs. Benefits: - usually the search state tree is smaller (less memory used) - speed relational to changeset size, not database size (usually faster) - touch only packages related to users request (can work on partitially broken state; upgrades only necessary packages, fixes #7) Also implemented: - command prompt to confirm operation if packages are deleted or downgraded - requesting deletion of package suggests removal of all packages depending on the package being removed (you'll get list of packages that also get removed if you want package X removed) - option --simulate to see what would have been done (mainly for testing) - an untested implementation of versioned dependencies and conflicts A lot has changed, so expect new bugs too.
2009-03-17pkg: write dependencies directly file instead of bufferTimo Teras1-0/+23
So we don't get artificial limits on the amount of dependencies (fixes #8).
2009-02-27pkg: show warning if deprecated .INSTALL is present in packageTimo Teras1-1/+14
2009-01-21Revert "Revert "pkg: use absolute filenames for packages""Natanael Copa1-2/+7
This reverts commit 600f9e7e031c9e7244e078f35ec6c8dce1011149. My bad. This was correct.
2009-01-21Revert "pkg: use absolute filenames for packages"Natanael Copa1-7/+2
This reverts commit 46430ceb5607ac9e395432648c6a8c1a7cbceaf1. The problem this was suppoed to fix was fixed by letting apk_db_open() return with same working dir.
2009-01-20pkg: use absolute filenames for packagesTimo Teras1-2/+7
2009-01-16add: --upgrade|-u to control if upgrading is preferred or notTimo Teras1-3/+0
2009-01-13info: implement who owns packages query (apk_info -W)Timo Teras1-5/+7
In quiet mode e.g. "apk info -q -W <file list>" a list of dependencies suitable for .PKGINFO is output in one line.
2009-01-13pkg: use generic blob functions to parse dependenciesTimo Teras1-38/+36
2009-01-11db, package: new dependency format, second tryNatanael Copa1-4/+4
dependencies are separated with single space rather than ', '. makes db file slightly easier to parse from a shell script which might be handy.
2009-01-09Revert "db: change format for dependencies"Natanael Copa1-3/+3
This reverts commit b852d670a985c4da11b012707acaa63b8abdfadc.
2009-01-08db: change format for dependenciesNatanael Copa1-3/+3
Each dep is separated with a single space. I.E: D:dep1 dep2 dep3