Commit Graph

1197 Commits

Author SHA1 Message Date
103caf0694 libxbps: extend the fix for #116 even more for the expected case.
This now catches both test cases correctly.
2015-10-19 18:19:24 +02:00
b069eb14ae libxbps: fixed issue #116 (vpkg does not replace pkg with update in trans).
Thanks to @dominikh for the test case.
2015-10-19 18:01:43 +02:00
4e446968c5 alternatives: do not ignore symlink(2) return value.
This fixes the travisci warning seen with gcc.
2015-10-19 17:11:34 +02:00
240d87af92 rpool: if pkg wasn't found set errno to ENOENT.
This is to return a proper error to the callers (i.e xbps-query(1)).
2015-10-19 17:05:55 +02:00
faeff38ca2 Alternatives framework (1/2) (WIP). 2015-10-18 10:38:35 +02:00
c457b594aa libxbps: fix eudev-libgudev -> libgudev fallout.
Packages to be replaced must be collected *before* checking for
broken reverse dependencies, otherwise them will always be detected
as broken.
2015-10-14 11:46:56 +02:00
d8fc08eb50 libxbps: make relative cachedir set via xbps.d(5) work again.
Close #117
2015-09-15 09:26:07 +02:00
782ec10111 xbps-create(1): timestamps of metadata files are now set to epoch.
Thanks to @Gottox for finding the real issue.
2015-09-03 11:12:49 +02:00
8081751f86 libxbps: print in verbose mode what pkgs are added to the transaction.
Useful to know why a transaction cannot be completed when there are
unresolved reverse dependencies.

Requested by @chris2.
2015-09-02 18:56:20 +02:00
0f2543a650 Fixed and improved msg when revdeps cannot be resolved in a transaction.
After:

$ xbps-install -un
re2-2015.07.01_1 (update) breaks installed pkg `chromium-44.0.2403.155_1'
Transaction aborted due to unresolved dependencies.
$

Before:

$ xbps-install -un
chromium-44.0.2403.155_1 broken, needs `re2-2015.07.01_1'
Transaction aborted due to unresolved dependencies.
$
2015-09-02 11:20:18 +02:00
8acc375487 portableproplib/prop_object: fix tyops in previous. 2015-07-26 09:16:32 +02:00
0d3c07cdee portableproplib/prop_object: fix an insecure temporary file (CID #62739). 2015-07-26 09:11:20 +02:00
36026451ce Fix some insecure temporary files reported by Coverity. 2015-07-26 09:02:04 +02:00
78f9a97980 lib/package_unpack: ignore remove(2) return value (CID #98681). 2015-07-26 08:22:27 +02:00
28f01b3836 xbps_transaction_package_replace: fix a resource leak (CID #98688). 2015-07-26 08:15:07 +02:00
0b7093e108 portableproplib/prop_object: handle possible NULL pointer deref (CID #62722). 2015-07-26 08:10:26 +02:00
a8d2b1d742 pkgdb: handle possible NULL pointer derefs (CID #98684). 2015-07-26 08:08:05 +02:00
7edabe907f xbps_rpool_release: fix a double free (CID #98695). 2015-07-26 08:03:16 +02:00
090464e4b2 xbps_sanitize_path: fix an out-of-bounds access (CID #98686). 2015-07-26 08:01:29 +02:00
a7378f70de fetch: fix regression introduced in 791e683e.
us->size and us->{a,m}time must be set after there's real data.
2015-06-30 21:48:21 +02:00
22ffc14026 Override and use a sane umask when performing pkg configuration.
Close #106
2015-06-28 05:14:02 +02:00
791e683e01 fetch: handle GET with offset == length.
While xbps_fetch_file() creates the .part file and for whatever reason
it did not finish properly to rename the file, it could request the server
to restart the download with offset set to file size, resulting in HTTP 416
return code.

Handle this case by checking if the server returns 416 and then checking
if the returned file size matches the requested offset and just rename
the file.

Thanks to @beefcurtains for the test case.
2015-06-28 04:28:55 +02:00
00149d0f37 xbps_transaction_prepare: if ENOSPC, keep the transaction dictionary.
... we need this in xbps-install to print required/free space on rootfs.

Close #101
2015-06-20 09:48:21 +02:00
1774d17e40 Keep /usr/sbin if found as obsolete, it's a symlink in void. 2015-06-05 08:29:05 +02:00
87fcc7d6a8 If pkg signature verification files, remove pkg archive and its signature file. 2015-06-04 09:59:52 +02:00
92c07c126f xbps_repo_lock: sleep() for a second if the lock is already taken.
... rather than looping continuously.
2015-06-04 08:08:40 +02:00
07e8330936 xbps-install(1): added -U --unpack-only to only unpack pkgs, skips configuration. 2015-06-03 11:15:11 +02:00
c464874c1e unpack: make sure the xucd callbacks don't get a dangling pointer.
If the current entry filename has been changed, the pointer must be updated
to point to the updated string.
2015-05-28 10:39:39 +02:00
769a997afb Introduce xbps_plist_{array,dictionary}_from_file().
Those are a wrapper around xbps_{array,dictionary}_internalize_from_zfile()
that prints a debugging msg when the plist file cannot be internalized.

Update xbps to use these wrappers.
2015-05-28 10:15:05 +02:00
2ba31e048a proplib: check for EOF a bit early on the internalized plist. 2015-05-28 09:34:03 +02:00
fd30a00cb4 proplib: fix a NULL pointer dereference when internalizing empty blobs.
_prop_object_internalize_context_alloc: make sure that passed xml string
is not NULL before derefering it a bit later.
2015-05-28 09:14:28 +02:00
4fdc8de9d6 repo: make index and index-meta dicts immutable.
For clients that want to modify its content they will need to copy a mutable
dictionary instead. This will avoid unwanted modifications.
2015-05-22 12:19:48 +02:00
5e97a1eb39 xbps_pkgdb_update: return EINVAL if pkgdb cannot be internalized. 2015-05-22 12:18:54 +02:00
da74e3dd9e libxbps: stop and error out if pkg signature is not valid. 2015-05-09 06:27:03 +02:00
c5d6556c50 xbps-remove: fix #95 (xbps-remove -R pkg lists/removes orphans) 2015-05-06 17:21:13 +02:00
ea364affc8 libxbps: open fds with O_CLOEXEC to avoid warnings of leaked fds. 2015-04-15 21:02:38 +02:00
15893caf0b fetch: support keep-alive even if the HTTP server returns 304 (Not-Modified). 2015-04-13 12:05:40 +02:00
2216c84eca libxbps: continue updating all pkgs if xbps is uptodate. 2015-03-29 11:06:18 +02:00
83ade39960 xbps now autoupdates itself exclusively if there's an update.
That was added for 0.21, but for some reason that I cannot remember it was
disabled a bit later... looks like it's useful to have.
2015-03-29 09:56:28 +02:00
9a16283575 Introduce xbps_repo_{un,}lock() to serialize write access to repodata.
We use a simple file lock that is created with O_CREAT|O_EXCL.
This should fix the concurrency issues with multiple processes
running xbps-rindex -a/-c on the same repository/arch combo.
2015-03-25 12:00:59 +01:00
dc47dfd593 xbps_get_pkg_fulldeptree: detect pkgs depending on itself via virtual pkgs.
Reported by Duncan Overbrook.

Update NEWS with recent changes.
2015-03-20 08:03:06 +01:00
f9b6dd9d2d proplib: anonymous mappings need MAP_ANON.
Somehow I removed this accidentally in a previous change... sigh.
2015-03-11 17:06:45 +01:00
95d650bdb1 lib/transaction_shlibs.c: add a printf to see what's going on. 2015-03-07 08:02:39 +01:00
441f147f05 Fix reinstallation of pkgs in repolock mode.
At the time we've been searching for the pkg in a repo, no repos
were registered resulting in EINVAL. While here, if there's no
declared repos return ENOENT instead.
2015-03-05 21:23:58 +01:00
4922c808f4 Implemented feature #77 (Add package repository locked mode)
Close #77
2015-03-03 12:11:28 +01:00
976718417b libxbps: remove "skip-obsoletes" handling; unnecessary with the mtime checks. 2015-02-26 19:51:03 +01:00
b6b446d32e libxbps: properly detect obsolete files with files being between pkgs.
120 test cases now successfully pass, and all known issues about
pkg updates that move files between them should be gone (hopefully).
2015-02-26 19:37:46 +01:00
cbe493858c libxbps: apply file timestamps to unmodified files on-disk while unpacking. 2015-02-25 11:10:18 +01:00
b133b9023c lib/package_unpack.c: wrap some long lines and fix an obvious error. 2015-02-24 09:34:39 +01:00
7e21f1ee1a xbps_symlink_target: rename var to avoid shadowing a global var. 2015-02-19 11:44:10 +01:00