Commit Graph

160 Commits (440cffef5891dab07631e17f83845f9f95f89b0d)

Author SHA1 Message Date
Timo Teras c11b70c7f0 db: track reverse dependencies
This will be used later by the commit change calculator (for improved
changeset calculation, ref #7). Will be also used by "apk info" to show
reverse dependencies or "required by" information.
2009-04-14 09:21:30 +03:00
Timo Teras 7735cc644d pkg: write dependencies directly file instead of buffer
So we don't get artificial limits on the amount of dependencies
(fixes #8).
2009-03-17 13:19:06 +02:00
Natanael Copa 2b10123399 db: unlink apk-new if it is identical to existing config 2009-03-04 09:27:59 +00:00
Timo Teras 3752b47e7b db: apk-new should be created if the existing file is modified 2009-03-04 11:08:49 +02:00
Timo Teras 652a7bb179 db: fix overwrite warning 2009-03-04 11:00:17 +02:00
Timo Teras a62dcf37c1 apk: --force to overwrite files 2009-03-04 08:36:56 +02:00
Timo Teras 457943f83e apk: --clean-protected option
So you will not get .apk-new files of the new configuration files.
2009-03-04 08:27:06 +02:00
Timo Teras 7027a7d844 db: new apk to have separate install scripts for each action 2009-02-27 11:18:15 +02:00
Natanael Copa ca51ec3238 db: allow more than one --repository arg 2009-02-17 12:23:01 +00:00
Natanael Copa 502e5612cc db: do not allow overwrite busybox links
we let bb use /bin and /sbin, all packages overriding busybox must
install the bins in /usr/bin and /usr/sbin
2009-02-08 19:31:25 +00:00
Timo Teras b8eb27d75b db: fix purging of packages from database
apk_hash_delete() actually deletes the file entry, so unlinking
from other lists need to happen before that. Also free the diri
instead of leaking it.
2009-01-22 21:45:18 +02:00
Natanael Copa 3bcc676a2b db: print files when (un)installing if --verbose 2009-01-22 15:55:27 +00:00
Natanael Copa 75b339cae2 db: always create directories during install
We dont care if a directory have references or not, we care if directory
is relly there.

Only the creator of the direcotry will set the permissions.

This fixes the situation where you install a package owning a dir then
you remove this dir manually and try install a second package also owning
the dir.

For example:

  apk add e2fsprogs-dev
  rm -rf /usr/lib/pkgconfig
  apk add zlib-dev
2009-01-22 10:34:03 +00:00
Natanael Copa 02073e84d6 db: let apk_db_open() leave working dir as it was 2009-01-21 09:03:10 +00:00
Timo Teras aee61d0a0b db: try creating db if locking fails
Otherwise creating rootfs from scratch with --initdb cannot be locked
due to the lock file path missing.
2009-01-19 21:19:36 +02:00
Natanael Copa 57407ed4e9 db: create .apk-new even if file not in db
Protect files in protected dirs even if the file is not previously
registered in the database. We do so by always extracting to a
.apk-new file name, compare the checksums afterwards and rename if
file was identical.
2009-01-18 14:49:18 +01:00
Timo Teras a98b57b1ae db: database locking and creation to part of opening it
Add flags field to db open call. Also make error reporting quite a bit
more detailed.
2009-01-17 11:08:48 +02:00
Timo Teras 1a9cc552a5 del: proper ordering of file db entry deletion 2009-01-17 09:33:02 +02:00
Timo Teras edfaac3099 db: apk_db_read_state() needs to be before apk_db_add_repository()
Otherwise installed db load fails due to internal reasons. This would
cause a lot of other funny stuff happen.
2009-01-16 16:25:19 +02:00
Timo Teras 82b9cb31fd db: make fetching from other than first repository work 2009-01-16 15:38:04 +02:00
Timo Teras 1b5422fb4a index: write out only packages specified in command line
Ignore /etc/apk/repositories, so additional repositories that depend
on other repositories need to have explicit --repository reference on
command line when generating the index (to avoid warnings).
2009-01-16 15:14:23 +02:00
Timo Teras 6b6c10cdf2 db: fix relative --root to work after apk_db_create call
This was broke on --initdb addition to add applet since apk_db_create
changes the working directory.
2009-01-16 14:52:47 +02:00
Natanael Copa af6f329fc7 db: set the perms to /var/lib/apk/* to 644
this allows non-root users to query the database.
2009-01-16 08:17:28 +00:00
Timo Teras cf3dfb7611 db, hash: fix package purging/upgrading to update filedb properly 2009-01-16 09:33:05 +02:00
Natanael Copa fed45e4b7f db: try create root in case it does not exist
But we dont bother try create all subdirs (i.e mkdir -p ...)
2009-01-16 07:07:15 +00:00
Timo Teras cfdef51bee db: index file location is a URL 2009-01-15 12:55:26 +02:00
Timo Teras 2cfde12c89 audit: new command to check changed files
Currently only implement --backup to get list of (config) files in
protected directories to backup.

This also fixes a database corruption bug in database.c.
2009-01-14 19:48:30 +02:00
Timo Teras 15b547c55b db: keep only filename in file entries, hash by both directory and file 2009-01-14 10:44:47 +02:00
Timo Teras 3309eaa900 add: --initdb to replace create applet 2009-01-13 20:58:08 +02:00
Timo Teras a59347fdac db: hash files by name, instead of keep two directory lists 2009-01-13 20:32:18 +02:00
Timo Teras b7f9f9bdb2 info: implement who owns packages query (apk_info -W)
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-13 15:22:14 +02:00
Timo Teras 3755e1cde3 apk: per applet options 2009-01-13 14:09:45 +02:00
Natanael Copa 09385545d9 db, package: new dependency format, second try
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-11 14:03:55 +00:00
Natanael Copa f54b7bc320 db: report error when create db in non-existing dir 2009-01-09 10:19:23 +00:00
Natanael Copa 08748b5c3f db: allow comments and empty lines in repositories file 2009-01-08 09:12:39 +00:00
Natanael Copa 174dd41113 src/database.c: get repository file from environment variable APK_REPOS
Defaults to /etc/apk/repositories, absolute path and not relative
the install root.
2009-01-08 07:16:53 +00:00
Timo Teras 052fbe3f86 various: make fancy progress bar and update todo 2009-01-07 21:45:11 +02:00
Timo Teras c7ffc96a16 db: rmdir() directories only on package purge 2009-01-06 21:23:26 +02:00
Timo Teras 0655699133 db: remove forgotten debug print 2009-01-06 21:23:26 +02:00
Timo Teras 0314104d93 db, pkg: fix rest of memory leaks 2009-01-06 21:23:26 +02:00
Timo Teras 6b2b9d303e db: restructure in-memory organization 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 5ea81ca564 add: add support to install packages not in a repository 2008-11-28 13:34:40 +02:00
Timo Teras 545a915faf db: rework 'files' to 'installed'
Make the db of installed packages more similar to index file and
reuse the code. Also rename the database file.
2008-11-28 13:15:06 +02:00
Timo Teras a96572fba8 db: compressed index file 2008-11-27 21:06:45 +02:00
Timo Teras f0609951b9 hash, db: use apk_blob_t and list_* 2008-11-27 20:25:01 +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 ffa03a21d8 db: remember empty .apks 2008-11-11 09:00:10 +02:00
Timo Teras aef0f036f0 use zlib internally to decompress 2008-11-07 17:11:08 +02:00
Timo Teras 6967c28b96 db: fix installation of apk v1 packages 2008-11-07 13:22:16 +02:00
Timo Teras 36f73847ee pkg: support for new scripts 2008-11-07 13:05:55 +02:00
Timo Teras 014d39488b db: do not install .PKGINFO files 2008-11-07 09:51:53 +02:00
Timo Teras 57154db85d db: parse new style .PKGINFO 2008-11-06 16:58:58 +02:00
Natanael Copa cb25f35ed4 give more helpful error messages 2008-10-26 11:35:34 +00:00
Timo Teras 219a1b2ee8 Overwriting of bb files, apk_create (from old apk-tools), chdir changes,
other stuff.
2008-04-22 08:16:26 +00:00
Timo Teras 384c2f1d94 Preserve uid and gid. Quiet flag to print dots on progress. 2008-04-22 06:04:20 +00:00
Timo Teras 823283edca Argument parsing. Some other stuff too. 2008-04-21 16:30:10 +00:00
Timo Teras d6c7435242 Initial commit of some stuff written so far. Still in state of flux. Expect
breakage and major changes.
2008-04-17 14:09:13 +00:00