summaryrefslogtreecommitdiff
path: root/src/archive.c
AgeCommit message (Collapse)AuthorFilesLines
2011-09-13all: update copyright year statementTimo Teräs1-1/+1
2010-10-08io, db: id cache should be specific to database root, not system rootTimo Teräs1-3/+3
Otherwise we end up using wrong uid/gid mappings when doing install to alternate system root. Fixes #434.
2010-09-23archive: resolve uid, gid for file informationTimo Teräs1-6/+3
the uid and gid are used in other places than just changing file ownership on extraction.
2010-08-30Fix building on eglibcNatanael Copa1-0/+1
Seems like recent eglibc requires that you include sys/stat.h
2010-06-12archive: honor username/groupname instead of uid/gidTimo Teräs1-1/+4
Take the uid/gid from passwd and group.
2010-06-11various: use O_CLOEXEC and add some error checkingTimo Teräs1-1/+1
2010-06-11First steps for libapkNatanael Copa1-0/+1
2009-12-21apk: remove the unneeded --never-overwriteTimo Teras1-18/+1
turns out the logic does not work with overlays as expected due to busybox symlinks being unmanaged. remove the useless option.
2009-11-06archive: overwrite protection needs to use real filenameTimo Teras1-1/+7
otherwise we always extract the file as .apk-new and the database side just overwrites.
2009-11-06apk: add --never-overwrite flag (ref #197)Timo Teras1-2/+20
to never ever overwrite a while in the filesystem the user knows about. it gives the impression of extraction succeeding even though nothing was done. this is inteded to be used only for bootstrapping with overlay.
2009-09-03index, version: support for repository descriptions (fixes #141)Timo Teras1-1/+2
ability embed description information to repository indexes (e.g. repository name and version) and show it via "apk version -I".
2009-08-11archive: update for new place of checksum in tar headerTimo Teras1-9/+26
and take checksums for symlinks too.
2009-08-11db, audit: audit symlinks (by hash of the link target)Timo Teras1-1/+1
2009-08-03archive: compile fixNatanael Copa1-0/+1
We need the define for uint16
2009-07-31apk: use *at instead of chdir+normal file syscallTimo Teras1-26/+29
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-30io: fix mmap writing to actually workTimo Teras1-1/+1
apparently it needs to have both PROT_READ and PROT_WRITE. and it needs to be MAP_SHARED for the writing to be effective. oh, and the data needs to be preallocated with ftruncate; otherwise, one gets SIGBUS.
2009-07-29tar: make checksumming of inner files conditionalTimo Teras1-4/+7
and force checksumming only when unpacking archive. otherwise it's extra computation for nothing.
2009-07-29tar: don't call digest finalization twiceTimo Teras1-0/+3
otherwise bad things happens. avoid this be checking end of stream at the beginning of read.
2009-07-23archive: append .apk-new to hard link targetsNatanael Copa1-1/+5
Otherwise will link(2) fail since it does not exist.
2009-07-22various: more informative error messagesTimo Teras1-10/+11
2009-07-22various: installation fixesTimo Teras1-1/+2
- 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/+1
2009-07-21pkg: fix indexing of multi-part apksTimo Teras1-3/+3
2009-07-21db: fixes to package checksumming while installing itTimo Teras1-7/+12
2009-07-20db: signed index loading (ref #46)Timo Teras1-0/+5
prefer index in the new format as signed .tar.gz.
2009-07-16archive: use the abuild-tar mangled checksum if availableTimo Teras1-8/+28
to speed up apk installation avoid calculating checksums.
2009-07-16various: new style index generationTimo Teras1-12/+27
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-13/+0
2009-07-14db: live with sha1 and md5Timo Teras1-9/+82
this also convers scripts file to a tar archive.
2009-07-14blob: some helpers to replace snprintfTimo Teras1-1/+1
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-1/+6
some fixes on index reading code too.
2009-07-13io: move csumming away from bstream to gunzipTimo Teras1-2/+2
in future we want to checksum on gzip boundary basis, not the full file.
2009-01-17archive: utimes modifies file, not link so don't use it for symlinksTimo Teras1-7/+9
2009-01-17archive: preserve mtime on extractionapk-tools-2.0_pre4Timo Teras1-8/+27
2009-01-17archive: set suid bit after chown if neededNatanael Copa1-0/+6
chown will reset the suid bit so we need to set it again.
2009-01-07various: make fancy progress bar and update todoTimo Teras1-2/+4
2009-01-06io: fix some memory leaksTimo Teras1-1/+8
2009-01-06archive: minor clean upsTimo Teras1-2/+3
2008-11-28io: apk_ostream stuffTimo Teras1-5/+1
2008-11-14db: checksum installed files, protect config filesTimo Teras1-19/+13
Checksum of installed is computed on the fly when extracting them and it'll be saved to fdb. When installing config files those are diverted with suffix .apk-new if earlier version of same file with local changes exist.
2008-11-07use zlib internally to decompressTimo Teras1-175/+66
2008-10-26give more helpful error messagesNatanael Copa1-0/+3
2008-04-22Preserve uid and gid. Quiet flag to print dots on progress.Timo Teras1-6/+11
2008-04-21Argument parsing. Some other stuff too.Timo Teras1-1/+1
2008-04-17Initial commit of some stuff written so far. Still in state of flux. ExpectTimo Teras1-0/+349
breakage and major changes.