Timo Teräs
6398d338c6
db: fix the previous commit
...
id cache needs to be initialized early. and group database filename
is surprisingly 'group'.
2010-10-08 16:09:03 +03:00
Timo Teräs
19419f1a88
io, db: id cache should be specific to database root, not system root
...
Otherwise we end up using wrong uid/gid mappings when doing install
to alternate system root. Fixes #434 .
2010-10-08 15:36:54 +03:00
Natanael Copa
b4adf7645f
Fix building on eglibc
...
Seems like recent eglibc requires that you include sys/stat.h
2010-08-30 13:04:25 +00:00
Timo Teräs
3062d681f9
archive: honor username/groupname instead of uid/gid
...
Take the uid/gid from passwd and group.
2010-06-12 13:43:29 +03:00
Timo Teräs
43cb554c3f
various: use O_CLOEXEC and add some error checking
2010-06-11 13:42:21 +03:00
Timo Teras
a7360395ea
db: fix migration and pruning of symlinks to dirs
...
the old code treated a symlink to directory as file; it tried
to calculate regular has of it. fix this by: 1) using no follow
on migration and pruning stats, and 2) the helper function to
check if it's point to directory and not calculate hash in that
case. fixes #188 .
2009-10-26 09:46:09 +02:00
Timo Teras
dee6ffa492
io: better error handling when writing stuff out
...
also have the output stream support writing to temporary file
and do renameat/unlinkat on close depending on if all writes
succeeded or not.
2009-08-12 11:05:09 +03:00
Timo Teras
addae04c26
db, audit: audit symlinks (by hash of the link target)
2009-08-11 19:02:22 +03:00
Timo Teras
46e9329568
io: flag for following symlinks on fstat
...
usually we are interested on the actual file's length. but
audit is interested about the link. so add a flag for this and
use it in audit.
2009-08-05 13:13:52 +03:00
Timo Teras
ea90152664
apk: use *at instead of chdir+normal file syscall
...
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-31 16:08:09 +03:00
Timo Teras
67108bf07a
io: fix corruption of big files on mmap write
...
remember to increment destination pointer; and munmap the proper
base address.
2009-07-31 10:50:55 +03:00
Timo Teras
5b48b85560
audit: protection mask for "symlinks only"
...
and use it for /etc/init.d by default. fixes #99 .
2009-07-30 10:42:20 +03:00
Timo Teras
60c668f1dc
io: keep static pointer to copying buffer
...
so we avoid some malloc/free calls.
2009-07-30 09:11:14 +03:00
Timo Teras
8e4075e6b1
io: fix mmap writing to actually work
...
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-30 09:07:35 +03:00
Timo Teras
2ff4059b9a
io: use mmap to write archive entries to disk
...
avoids some copying and system calls.
2009-07-29 19:33:52 +03:00
Timo Teras
9b77c053e8
pkg: cleanup the signing code
...
smaller callback and less cases to check. also reintroduce the
oneshot digest flag, hopefully correct this time.
2009-07-22 19:56:13 +03:00
Timo Teras
93f0b3524c
various: more informative error messages
2009-07-22 14:56:27 +03:00
Timo Teras
e30834fdcb
digest: use oneshot context flag where approriate
...
speeds up digest calculation on some cases.
2009-07-17 15:56:09 +03:00
Timo Teras
6b471bb614
various: new style index generation
...
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-16 15:16:05 +03:00
Timo Teras
0f6d96a4f5
gzip: always autoclose the inner stream
2009-07-16 13:47:26 +03:00
Timo Teras
981bc118f8
db: live with sha1 and md5
...
this also convers scripts file to a tar archive.
2009-07-14 19:14:05 +03:00
Timo Teras
4562f44f9b
bstream: make tokenizable and load index using bstream
...
some fixes on index reading code too.
2009-07-14 09:33:47 +03:00
Timo Teras
e69b81f525
io: move csumming away from bstream to gunzip
...
in future we want to checksum on gzip boundary basis, not the
full file.
2009-07-13 20:37:03 +03:00
Timo Teras
9858ffff69
cache: new applet (ref #49 )
...
Administrative tool to download or delete files to/from the cache.
2009-06-29 11:22:55 +03:00
Timo Teras
233918e518
db: cache packages (ref #49 )
...
If /etc/apk/cache is a symlink to directory, a copy of all installed
packages is stored there, and the index of remote repositories will
be there instead of /var/lib/apk. This enables to reconstruct running
system during boot.
Left as todo: remove cached copy when the package is removed, and
additional apk applet to download missing packages to cache and/or
remove extra items.
2009-06-29 09:29:57 +03:00
Timo Teras
49c904c993
io: fix mmap bstream fd leak
...
We need to close the fd on destruction. This is what the corresponding
istream variant does too.
2009-06-11 13:03:10 +03:00
Timo Teras
ec5b63c5e4
pkg: clean up writing of dependencies
2009-04-16 17:05:27 +03:00
Timo Teras
207bff6e6c
io: implement write cache
...
speeds up writing of package / file database.
2009-03-17 14:17:35 +02:00
Timo Teras
052fbe3f86
various: make fancy progress bar and update todo
2009-01-07 21:45:11 +02:00
Timo Teras
5e2aca2678
io: fix some memory leaks
2009-01-06 21:23:26 +02:00
Timo Teras
dc2ffc30e8
io: apk_ostream stuff
2008-11-28 16:28:54 +02:00
Timo Teras
4bafa681fe
io: prepartions for url handling
2008-11-28 15:03:27 +02:00
Timo Teras
a96572fba8
db: compressed index file
2008-11-27 21:06:45 +02:00
Timo Teras
1a7f3e3678
various: use apk_istream api
2008-11-27 16:59:04 +02:00
Timo Teras
8e23a2ba4e
db: checksum installed files, protect config files
...
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-14 14:26:59 +02:00
Timo Teras
791cf6f05b
pkg: speed up indexing of version 2 .apks
2008-11-07 19:18:53 +02:00
Timo Teras
0bf7a1a2cc
io: implement mmap(2) for reading pkgs
2008-11-07 19:06:58 +02:00
Timo Teras
aef0f036f0
use zlib internally to decompress
2008-11-07 17:11:08 +02:00