Commit Graph

877 Commits (531fea4c9082d6542c776dcb6d4ca0a3949ecdd0)

Author SHA1 Message Date
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 4d5efe6a05 archive: utimes modifies file, not link so don't use it for symlinks 2009-01-17 13:34:18 +02:00
Timo Teras 0365f7462b archive: preserve mtime on extraction 2009-01-17 11:42:15 +02: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
Natanael Copa 24b424a458 apk: added option --version/-V
Both variants should work:
 apk --version
 apk <applet> --version
2009-01-17 08:51:52 +00:00
Natanael Copa f88f8205a7 archive: set suid bit after chown if needed
chown will reset the suid bit so we need to set it again.
2009-01-17 08:06:23 +00: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
Timo Teras 3e6fc1389f add: --upgrade|-u to control if upgrading is preferred or not 2009-01-16 13:59:36 +02:00
Natanael Copa 6354a27888 Makefile: added 'make static' target to build apk.static 2009-01-16 10:10:29 +00:00
Natanael Copa 7a50aa61b2 url: allow wget report error messages 2009-01-16 09:58:27 +00:00
Natanael Copa d8837aa6f4 apk: fix --root/-p option 2009-01-16 09:57:53 +00:00
Natanael Copa 33cb598bdf apk: short option for --root is -p
Used to be so in the really old days of apk.
2009-01-16 09:44:49 +00:00
Natanael Copa 50daa05773 info: only show package desc when --verbose
also introduce apk_verbosity. --quiet reduce verbosity and --verbose
increases it.

Default verbosity is 1.
2009-01-16 09:33:55 +00: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 4c7f1e0dec apk: isalnum() takes only unsigned char values add explicit check for that 2009-01-15 11:10:14 +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 af8f054560 state: fix again changeset ordering 2009-01-13 20:31:17 +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 c831ead63c state: fix generation of change-set to honour dependencies 2009-01-13 15:21:20 +02:00
Timo Teras 3755e1cde3 apk: per applet options 2009-01-13 14:09:45 +02:00
Timo Teras 0a7910c144 state: install packages in dependency order (not reverse) 2009-01-13 11:16:27 +02:00
Timo Teras ca364e34e2 pkg: use generic blob functions to parse dependencies 2009-01-13 09:32:04 +02:00
Timo Teras d16b424385 apk: honour --root command line switch
Was broken by earlier ROOT environment commit.
2009-01-13 09:31:27 +02:00
Natanael Copa b8940df6b9 apk: support for ROOT environment variable 2009-01-12 21:03:20 +00: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 9423906606 Makefile: build the info applet 2009-01-09 12:04:27 +00:00
Natanael Copa 1f21521684 info: new applet
so far it only lists installed packages
2009-01-09 11:02:16 +00:00
Natanael Copa 3867b4c71f Revert "db: change format for dependencies"
This reverts commit b852d670a9.
2009-01-09 11:00:20 +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 b852d670a9 db: change format for dependencies
Each dep is separated with a single space. I.E:

D:dep1 dep2 dep3
2009-01-08 13:55:51 +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
Natanael Copa d704e93f8d src/package.c: fix compiler warning on 64 bit hosts 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 5e2aca2678 io: fix some 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 354b6e4631 log: eliminate fortified build warning 2009-01-06 21:23:26 +02:00
Timo Teras 64b630b5fb archive: minor clean ups 2009-01-06 21:23:26 +02:00
Timo Teras a3769b2238 io: check inner stream existance before creating gunzip stream 2009-01-06 21:23:26 +02:00
Timo Teras fb911432cb apk_array: clear newly allocated memory 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 86676ac8c4 build: remove pthreads references 2008-11-12 11:57:53 +02:00
Timo Teras ffa03a21d8 db: remember empty .apks 2008-11-11 09:00:10 +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
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 951602e551 Fixes for hardened environment (and old gcc) 2008-04-21 09:41:53 +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