aboutsummaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* db: move lock file to /var/lockTimo Teräs2011-03-161-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.
* apk: show progress bar by default for tty controlled runsTimo Teräs2011-03-162-7/+12
| | | | and make the progress bar disappear on regular runs too.
* db: fix cache tmpfs detectionTimo Teräs2011-03-161-1/+1
| | | | comment out the code that was out for testing. duh.
* db, cache: automatically remount cache read-write when neededTimo Teräs2011-03-163-14/+104
| | | | | | .. and back to read-only after finishing with modifications. fixes #512
* db: handle arch similarly to stable branchTimo Teräs2011-03-163-16/+26
| | | | | if package arch is not set, do not append anything to repository. if arch is set, it is appended to repository.
* db: detect tmpfs betterTimo Teräs2011-03-161-1/+4
| | | | Use statfs() filesystem type, instead of the device IDs.
* url: try wget from $PATH first and fallback to busybox wgetNatanael Copa2011-03-111-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)
* db: fix package cachingTimo Teräs2011-01-211-2/+2
|
* add: use default arch instead of noarch, improve errorsTimo Teräs2011-01-052-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.
* db: check and initiailize required package fields before addition to dbTimo Teräs2011-01-041-0/+5
| | | | | The atomization change broke virtual packages because they don't have license or arch set.
* pkg: recognize install_ifTimo Teräs2011-01-044-26/+55
| | | | | | | | Parse install_if from package metadata and include it in the indexes. Also setup the reverse install_if dependencies when loading a database. ref #443. Actual install_if functionality is not yet implemented.
* pkg, db: allow index with unsupported features to be loadedTimo Teräs2011-01-035-24/+60
| | | | | | Just disable installation of packages using the new stuff. Also flag lower case package info fields as non-critical and allow installation even if that features is not supported.
* version: fix evaluation order to make valgrind happyTimo Teräs2011-01-031-2/+2
| | | | otherwise we get reads from uninitialized/unallocated memory.
* pkg: dependencies to specific package checksumTimo Teräs2011-01-017-29/+48
| | | | | | | | | When package is installed from commandline, we should always install that specific instance of package (never favor repository version if it has difference identity). Otherwise we might not always end-up installing the .apk given on command line. The dependency is now against specific checksum identity (marked with >< dependency comparison). Fixes #492.
* various: use APK_DEPMASK_REQUIRE where applicableTimo Teräs2011-01-012-3/+3
| | | | .. instead of the longer flag combo.
* upgrade: perform upgrade of apk-tools first if availableTimo Teräs2011-01-015-7/+61
| | | | | | Also re-exec's apk-tools to perform rest of the upgrade using the new apk-tools. This allows handling of new apk-tools features properly. Fixes #140.
* index: remove support of old index formatTimo Teräs2011-01-013-14/+0
| | | | It's no longer needed or used.
* various: fix breakage from converting dependency versions to atomsTimo Teräs2011-01-015-2/+8
| | | | | The version now needs to be initialized atom always, since it's dereferenced in various places.
* url: use always busybox wgetTimo Teräs2011-01-011-1/+1
| | | | | | | I think there used to be problems with using http_proxy on bb wget, but those have been fixed for quite some time. This fixes #347. We should probably use libcurl or similar library eventually, but I'm not entirely sure if/when we want that.
* gunzip: fix ordering of boundary callbacksTimo Teräs2010-12-171-8/+24
| | | | | | | | | | The boundary callback should not happen until all the uncompressed data has been consumed. This previously seems to have worked because normally gzip library returns "no error" instead of the "stream end" if we extract exactly the amount of bytes remaining in the archive. (Perhaps this was changed in new zlib.) In any case, verification was broken with some apks due to this callback ordering issue.
* info: return error if owning package was not foundNatanael Copa2010-12-151-3/+6
|
* various: use 'atoms' for certain package field and misc fixesTimo Teräs2010-12-1415-109/+184
| | | | | | | - implement a hash table for commonly shared fields such as license, version and architecture - use macroes to print blobs or pkgname-pkgver strings - fix some old cruft
* pkg, db: add preliminary support for arch fieldTimo Teräs2010-12-145-8/+33
| | | | | | | Architecture is now: - parsed from .PKGINFO - written to index and installed db - appended to repository URL when fetching files
* db: remove support for unsigned repository indexTimo Teräs2010-12-103-40/+11
| | | | Unsigned indexes should not be needed anymore anyway.
* pkg: remove support for obsolete APKv1 (alpine-1.8 and earlier)Timo Teräs2010-12-101-63/+0
| | | | should not be needed anymore.
* db: print full url/filename of the failing packageTimo Teräs2010-12-091-24/+27
| | | | .. instead of the pkgname-pkgver string.
* io: enhance istream/bstreams with pipe to forked childTimo Teräs2010-12-097-22/+84
| | | | | * prunes the child pid to avoid zombies * handles the errors so e.g. file-not-found is reported properly
* blob: fix segfault on x86_64 with --virtualNatanael Copa2010-11-231-1/+1
| | | | | | | blob.ptr might be non-null on empty field in /var/lib/apk/installed so we compare with blob length. This fixes a segfault on x86_64.
* db: fix hash lookups on 64-bit machinesTimo Teräs2010-11-231-1/+1
| | | | | | The hash is 'unsigned long' everywhere which is 64-bits (on 64-bit boxes). Fix the one instance of it being 'unsigned int' since that would be 32-bit and cause lookup failures on 64-bit boxes.
* db: fix the previous commitTimo Teräs2010-10-082-3/+3
| | | | | id cache needs to be initialized early. and group database filename is surprisingly 'group'.
* io, db: id cache should be specific to database root, not system rootTimo Teräs2010-10-0810-63/+93
| | | | | Otherwise we end up using wrong uid/gid mappings when doing install to alternate system root. Fixes #434.
* archive: resolve uid, gid for file informationTimo Teräs2010-09-231-6/+3
| | | | | the uid and gid are used in other places than just changing file ownership on extraction.
* db: optionally remove dirs when unrefNatanael Copa2010-09-221-13/+15
| | | | | | | | | | We want remove dirs when they are unreferenced so we remove all dirs on apk del, but we don't want remove dirs when closing database. So we make removing dir optional when unreferencing it. This partially reverts commit c7ffc96a16c6963fe0a07be7ee75e8f1f7426882. fixes #406
* Fix building on eglibcNatanael Copa2010-08-304-0/+4
| | | | Seems like recent eglibc requires that you include sys/stat.h
* static build: do not use openssl enginesTimo Teräs2010-06-303-1/+7
| | | | | We want minimal static build. And this now also breaks with our openssl since it tries to automatically dlopen some of the engine modules.
* Makefile: do not require lua pkgconfig unless you intend build lua moduleNatanael Copa2010-06-161-5/+6
|
* upgrade: warn (do not fail) on missing top-level package namesTimo Teräs2010-06-151-3/+23
| | | | We we can upgrade rest of system just fine then.
* state: handle properly packages which are installedTimo Teräs2010-06-151-0/+3
| | | | | | Installed package does not need to be checked for availability. Account for packages missing if they get pruned out due to installability check.
* db: reinitialize trigger_pkg_list node after deletionTimo Teräs2010-06-151-0/+1
| | | | | The trigger list can be reused after it's cleared, make sure the list node is initialized all the time.
* Makefile: Don't build or install the libapk and lua module by defaultNatanael Copa2010-06-141-10/+29
| | | | | | | | | | | | | | | | | | | | Make the libapk and lua module optional at buildtime and off by default. This is because enabling libapk requires that mkinitfs also copies the libapk.so or the initramfs will not work. To build libapk: make LIBAPK=yes To build lua module (will enable LIBAPK=yes): make LUAAPK To link apk to libapk (will enable LIBAPK=yes): make SHARED_LIBAPK=yes All the above applies to make install target as well.
* db: --simulate never needs write access to dbTimo Teräs2010-06-121-0/+4
| | | | | So open the db in read-only mode instead. This allows --simulate to be run as non-root user.
* archive: honor username/groupname instead of uid/gidTimo Teräs2010-06-125-1/+140
| | | | Take the uid/gid from passwd and group.
* various: use O_CLOEXEC and add some error checkingTimo Teräs2010-06-116-31/+30
|
* build: fix CFLAGS, and use pkg-config for luaTimo Teräs2010-06-111-5/+4
|
* print: clean up after copy-pasteNatanael Copa2010-06-113-5/+2
|
* db: make apk_wait a part of dboptsNatanael Copa2010-06-113-8/+8
|
* lua: initial lua moduleNatanael Copa2010-06-112-2/+74
|
* First steps for libapkNatanael Copa2010-06-1122-74/+142
|
* db: do not free trigger list after package is unpackedNatanael Copa2010-06-101-6/+6
| | | | | | | | The triggers are read during apk_db_unpack_pkg(). If we delete the triggers list after then unpack we delete the triggers which is not what we want. This fixes bug introduced in ce3cf8bff901e7fcacbca640ffedaeea2b3bdf7f
* info: fix usage of arraysTimo Teräs2010-06-081-4/+4
|