Commit Graph

665 Commits

Author SHA1 Message Date
Juan RP
3e6651d286 xbps-alternatives(1): implemented -g <grp> -l. 2015-10-31 12:11:21 +01:00
Juan RP
7b43e7381b NEWS: mention xbps-remove(1) bugfix. 2015-10-31 12:09:08 +01:00
Juan RP
15dc9fbd55 NEWS: mention alternatives bugfix. 2015-10-31 11:52:39 +01:00
Juan RP
d68a2796c5 Post release bump to 0.49. 2015-10-31 11:37:40 +01:00
Juan RP
616a10bcae NEWS: prepare 0.48. 2015-10-30 14:52:41 +01:00
Juan RP
cb857dfc27 Alternatives framework for xbps (2/2).
See xbps-alternatives(1) for more information.

Thanks to all who helped to design this and for fixing grammar in
the manual page.
2015-10-30 12:24:46 +01:00
Juan RP
637c087173 xbps-*: do not log to console with syslog enabled. Close #123 2015-10-29 07:16:49 +01:00
Juan RP
4211f5cd09 New manual page for xbps-fbulk(1). 2015-10-28 09:37:09 +01:00
Juan RP
d4f1fd56cd NEWS: document libfetch env vars for SSL cert verification. 2015-10-28 07:36:50 +01:00
Juan RP
a13a7fa896 Implemented reverse conflicts for pkgs in pkgdb and transaction. 2015-10-28 05:23:42 +01:00
Juan RP
6044030ec1 NEWS: mention -M bugfix. 2015-10-27 12:52:43 +01:00
Juan RP
be5e544093 NEWS: twerks. 2015-10-24 09:33:34 +02:00
Juan RP
90eb1d9433 libfetch: merge some features from FreeBSD:
- Supports HTTP/1.1 308 redirect.
- SSLv[23] HTTPS connections are forbidden by default.
- TLS client certificate validation thru OpenSSL.
- Fixes for user/password encoding, misc.
2015-10-24 07:52:30 +02:00
Juan RP
b4d26f7945 NEWS: mention libxbps/pkgdb umask #108 PR. 2015-10-21 09:38:55 +02:00
Juan RP
24af8cde9b xbps-install(1): implement #109.
-n/--dry-run mode now prints "installed_size" obj as 5th argument,
and "filename-size" as 6th argument (if available).

Close #109
2015-10-19 19:02:26 +02:00
Juan RP
99bf58b091 NEWS: #113 was fixed long ago. 2015-10-19 18:48:56 +02:00
Juan RP
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
Juan RP
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
Juan RP
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
Enno Boland
f1617441db xbps-query: fail on trailing parameters. 2015-09-23 13:33:51 +02:00
Juan RP
d8fc08eb50 libxbps: make relative cachedir set via xbps.d(5) work again.
Close #117
2015-09-15 09:26:07 +02:00
Juan RP
21be2318cf xbps-create(1): support '--compression none' to skip any compression format. 2015-09-03 12:34:29 +02:00
Juan RP
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
Enno Boland
2a6b14ae74 Merge pull request #111 from Gottox/no-build-date
xbps-create: do not add a build-date property to packages.
2015-09-03 09:26:53 +02:00
Enno Boland
186ce68432 update NEWS with changes in xbps-rindex 2015-09-03 09:23:41 +02:00
Juan RP
d4961a0058 NEWS: mention issues fixed that were found by Coverity scan. 2015-09-02 19:00:40 +02:00
Juan RP
35e0b3fef5 NEWS: mention today's changes. 2015-09-02 18:57:41 +02:00
Enno Boland
9de0d8a60d xbps-create: do not add a build-date property to packages. 2015-08-19 16:05:51 +02:00
Juan RP
0d5385ad2b xbps-checkvers: fixed an endless loop with "reverts" containing extra alphanumeric chars. 2015-07-27 09:44:25 +02:00
Juan RP
8d20760fee Post release bump to 0.48. 2015-07-18 09:54:51 +02:00
Juan RP
de6d5d51cc NEWS: prepare 0.47. 2015-07-18 09:53:56 +02:00
Juan RP
22ffc14026 Override and use a sane umask when performing pkg configuration.
Close #106
2015-06-28 05:14:02 +02:00
Juan RP
dd5f57dfca NEWS: mention latest fetch change. 2015-06-28 05:12:08 +02:00
Juan RP
7190a2897e NEWS: prepare 0.46. 2015-06-24 10:16:25 +02:00
Juan RP
148e80d101 NEWS: mention getopt_long changes for all xbps utils. 2015-06-24 10:14:37 +02:00
Juan RP
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
Juan RP
5ebd4a6dfb xbps-uchroot: handle SIG{INT,TERM,QUIT} signals to cleanup temp masterdir. 2015-06-11 11:21:35 +02:00
Juan RP
1774d17e40 Keep /usr/sbin if found as obsolete, it's a symlink in void. 2015-06-05 08:29:05 +02:00
Juan RP
d86cece411 xbps-rindex(1): add support to sign specific pkgs, not the whole repo.
See NEWS for more information.
2015-06-04 16:01:43 +02:00
Juan RP
3d70668ad6 NEWS: update with recent changes for 0.45.1. 2015-06-04 10:00:14 +02:00
Juan RP
60c8bd7fef NEWS: prepare 0.45. 2015-06-03 11:16:36 +02:00
Juan RP
07e8330936 xbps-install(1): added -U --unpack-only to only unpack pkgs, skips configuration. 2015-06-03 11:15:11 +02:00
Juan RP
b2dd18faba configure: added --enable-fulldebug to enable extra/expensive debug code.
This is mostly to avoid the allocation required by the externalization of the
transaction dictionary, which in some cases is huge.

This should reduce the massive memory usage required to inspect the externalized
dictionary.
2015-05-28 11:02:40 +02:00
Juan RP
fcdd71aac4 Move xbps utils manpages to the section 1 (user commands). 2015-05-16 09:46:10 +02:00
Juan RP
2c0e27a001 xbps-install: print required size and free size on ENOSPC. 2015-05-09 07:02:21 +02:00
Juan RP
da74e3dd9e libxbps: stop and error out if pkg signature is not valid. 2015-05-09 06:27:03 +02:00
Juan RP
b22d557287 NEWS: typo: descripters -> descriptors 2015-05-06 17:24:18 +02:00
Juan RP
c5d6556c50 xbps-remove: fix #95 (xbps-remove -R pkg lists/removes orphans) 2015-05-06 17:21:13 +02:00
Juan RP
2baf1ae101 xbps-uunshare: replace -D/-H/-S with -b src/dest and switch to getopt(3). 2015-05-06 11:40:19 +02:00
Juan RP
7d6d1805f3 xbps-uchroot: replace -D/-H/-S with -b src/dest and switch to getopt(3). 2015-05-06 11:24:47 +02:00
Juan RP
e9b8ff7360 Added support to specify --dbdir to customize path to pkgdb. 2015-05-05 16:00:04 +02:00
Juan RP
149f48fb8e xbps-uchroot: added -t option to mount a tmpfs for overlayfs. 2015-04-23 15:05:29 +02:00
Juan RP
31bf6c5309 xbps-uchroot: added -o <opts> to pass options to the temporary tmpfs mount. 2015-04-20 20:44:42 +02:00
Juan RP
e4284faf05 NEWS: sync with reality and simplify. 2015-04-16 10:11:42 +02:00
Juan RP
bc97851fdb xbps-query(8): do not truncate output if stdout is not a tty. 2015-04-15 18:40:34 +02:00
Juan RP
15893caf0b fetch: support keep-alive even if the HTTP server returns 304 (Not-Modified). 2015-04-13 12:05:40 +02:00
Juan RP
504e68ad82 NEWS: sync with reality. 2015-03-29 09:58:03 +02:00
Juan RP
efd24456ce Post release bump. 2015-03-21 09:32:07 +01:00
Juan RP
ba84eec50f NEWS: prepare 0.44.1. 2015-03-21 09:30:58 +01:00
Juan RP
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
Juan RP
52dae50075 xbps-uunshare: replace clone/exec with unshare/exec cmd.
There's no reason to clone and run cmd in the child, replace the
execution environment with cmd directly to avoid the child process.
2015-03-13 21:14:28 +01:00
Juan RP
1597727814 xbps-uunshare: do not fail if /proc/self/setgroups does not exist.
3.16 supports user_namespaces(7) but does not have /proc/self/setgroups.

Found by @cheneukirchen.
2015-03-09 12:34:57 +01:00
Juan RP
345183c13e NEWS: mention some items for 0.44.1. 2015-03-08 10:22:15 +01:00
Juan RP
38fb0aabe5 NEWS: prepare 0.44. 2015-03-06 09:04:02 +01:00
Juan RP
58e6d71d24 New utility: xbps-uunshare(8) - like xbps-uchroot(8) with user_namespaces(7). 2015-03-05 18:44:20 +01:00
Juan RP
927254c43e xbps-rindex(8): fix -s short option (omitted in shortopts). 2015-03-03 16:10:03 +01:00
Juan RP
4922c808f4 Implemented feature #77 (Add package repository locked mode)
Close #77
2015-03-03 12:11:28 +01:00
Juan RP
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
Juan RP
c712c99ced xbps-pkgdb: exit with error if any test fails. 2015-02-26 12:01:20 +01:00
Juan RP
cbe493858c libxbps: apply file timestamps to unmodified files on-disk while unpacking. 2015-02-25 11:10:18 +01:00
Juan RP
3855d2e2fb xbps-pkgdb(8): check pkg file mtime (iff the obj is available). 2015-02-22 18:45:47 +01:00
Juan RP
2cae0cba01 xbps-create(8): store file mtime in metadata for upcoming changes. 2015-02-22 18:20:32 +01:00
Juan RP
ae8ce64542 Restore pkg file timestamps while unpacking as regular user.
Requested by @dominikh.
2015-02-21 16:52:27 +01:00
Juan RP
a05e039cce Revert "Stop converting relative symlinks to absolute."
This reverts commit 9ae3638429.

This change is ok, but cannot be used right now because all existing
binpkgs were created with an old xbps-create(8).
2015-02-19 11:11:58 +01:00
Juan RP
9ae3638429 Stop converting relative symlinks to absolute.
There's no reason to make them absolute, simply store in the metadata
the target file as is. This vastly simplifies the code and makes all
test pass correctly.
2015-02-19 11:04:34 +01:00
Juan RP
2f9dd7237b NEWS: mention xbps-pkgdb(8) recent fixes. 2015-02-19 10:33:43 +01:00
Juan RP
3c34c300d1 xbps-create(8): record target file or relative symlinks correctly. 2015-02-18 14:55:54 +01:00
Juan RP
1403826fa6 libxbps: detect and remove properly symlinks with relative targets.
Close #78
2015-02-17 11:59:05 +01:00
Juan RP
7cdba2ed14 xbps-checkvers(8): fixed segfaults with missing vars on templates. 2015-02-16 18:53:45 +01:00
Juan RP
d607655371 libxbps: globally check for unresolved reverse dependencies.
Close #46. See NEWS for more information.
2015-02-03 10:20:13 +01:00
Juan RP
0c208bb744 xbps-query(8): ownedby: do not follow symlinks and print target file too. 2015-01-29 17:32:14 +01:00
Juan RP
20276fc068 xbps-install: add additional actions to the column output.
- downgrade if new version in repos is less than installed one.
- reinstall if both versions are equal.

and additionally always print installed pkg version, irrespectively of
the transaction mode.

Close #72
2015-01-29 09:58:32 +01:00
Juan RP
076b3f8c44 libxbps: add pkgs on hold mode to the transaction, but ignore them.
Those are there mostly to be shown by the clients and notify that
there's an update in repos that is being ignored.

Idea by @chneukirchen.
2015-01-28 12:07:47 +01:00
Juan RP
571d96fa92 libxbps: make sure to remove pkg metadata file on upgrades with skip-obsoletes.
This fixes the following case:

 - A-1.0_1 is installed and owns bin/foo.
 - A-1.1_1 is in the transaction and depends on B-1.0_1 that owns bin/foo.
 - B-1.0_1 is in the transaction and replaces A<1.1_1.
 - A-1.1_1 in the transaction now has "skip-obsoletes".
 - A is updated to 1.1_1, its metadata file (<pkgname>-files.plist) wasn't removed.

Added two new test cases to verify moving files from/to a dependency.
2015-01-27 17:53:37 +01:00
Juan RP
94d0e4e131 xbps-query(8): --regex now matches EREs in case insensitive mode. 2015-01-18 17:50:26 +01:00
Juan RP
f9eef6aa0d Perform global tracking of unresolved shlibs before accepting transaction.
Rather than checking per package being installed or updated, check
all installed packages to have all its shlib-requires resolved.
2015-01-18 10:23:52 +01:00
Juan RP
d11230a29d libxbps: abort pkg unpacking as soon as a file cannot be written.
Close #74
2015-01-18 10:22:05 +01:00
Juan RP
676888b5c1 xbps-query: optimize the search mode with --regex (compile ERE once). 2015-01-14 20:53:01 +01:00
Juan RP
f7142412c9 utils: implement issue #73 (only pay attention to the first char).
The answer can now just be 'y/Y' to accept it or 'n/N' to deny it.
Close #73
2015-01-11 16:52:04 +01:00
Juan RP
91b7b2fd5a Use a sane umask(2) before unpacking package files.
See https://github.com/voidlinux/void-packages/issues/835
for more information.
2015-01-11 11:01:09 +01:00
Juan RP
9aaff4e2d0 xbps-dgraph: -m --metadata was documented but not enabled in getopt (oops). 2015-01-11 08:58:02 +01:00
Juan RP
b09faadebc xbps-{install,query}: --repository now accepts relative paths in local repos. 2015-01-10 11:59:31 +01:00
Juan RP
7b3a500139 libxbps: the provides obj now expects exact pkgver strings.
This reduces extra allocs and simplifies the code, which was just
there to workaround some broken pkgs anyway.
2015-01-10 07:26:23 +01:00
Juan RP
1f6a5c0e47 libxbps: detection of orphaned packages is now 66% faster. 2015-01-10 05:43:35 +01:00
Juan RP
0ec2dd98ce NEWS: mention another performance improvement. 2015-01-08 10:35:07 +01:00
Juan RP
cdf7fc81af xbps-query(8): performance improvement to the ownedby mode with --regex.
Only compile the ERE once, rather than on any file. Found and suggested
by Christian Neukirchen (@chneukirchen).
2015-01-08 10:32:08 +01:00
Juan RP
f05dcb2378 Bump to 0.43.1. 2015-01-05 16:08:41 +01:00
Juan RP
9d582abe0f Fixed a regression with virtual packages declared via xbps.d(5).
Added a new test case to verify its correctness. Somehow virtual packages
declared via xbps.d(5) were not working correctly for dependencies.

This now works as expected with vpkgs declared with and without a version
component.
2015-01-05 16:04:22 +01:00
Juan RP
3e01986864 Post release bump. 2014-12-31 08:59:34 +01:00
Juan RP
fa46c853c5 NEWS: prepare 0.43. 2014-12-31 08:58:32 +01:00
Juan RP
576000307d NEWS: mention that pcc>=1.1.0 is a supported compiler. 2014-12-31 08:56:30 +01:00
Juan RP
65f9a43b5e Fallback to -fstack-protector if -strong is not supported. 2014-12-31 08:55:09 +01:00
Juan RP
eee895c6d8 Fixed a regression in vpkgs and improve xbps.d(5) virtualpkg declarations.
See the NEWS file for more information.
2014-12-31 08:51:45 +01:00
Juan RP
b1b0264a4e configure: build with -fstack-protector-strong if supported. 2014-12-28 03:36:40 +01:00
Juan RP
df1608d47d xbps-pkgdb: drop packaged-with from pkgdb; unnecessary and obsolete. 2014-12-26 15:53:02 +01:00
Juan RP
4ee6f943dd libfetch: fix races in the cache connection code.
Tested by @Gottox.
2014-12-23 10:52:54 +01:00
Juan RP
6a985190aa xbps_archive_fetch_xxx: avoid races with multiple threads in the libfetch code.
Protect our critical sections with a mutex for now, until libfetch
is really fixed to work correctly with multiple threads.
2014-12-22 18:18:20 +01:00
Juan RP
8593f21848 Post release version bump. 2014-12-22 11:06:49 +01:00
Juan RP
9edb4f368e NEWS: prepare 0.42. 2014-12-22 10:58:51 +01:00
Juan RP
c8ecf4ac6c xbps-reconfigure(8): new option -i, --ignore to ignore pkgs with -a, --all.
-i, --ignore can be specified multiple times and can be used to
ignore configuration of those packages while configuration of all
packages is being performed.

Close #67
2014-12-09 13:10:48 +01:00
Juan RP
b4ce0f1d0f Fix #71 (Tiny display bug in the column output mode) 2014-12-09 12:33:58 +01:00
Juan RP
395e147c6c xbps.d(5) - XBPS configuration directory 2014-12-09 11:41:35 +01:00
Juan RP
b78d78a1cd xbps-dgraph: wrote a manual page. 2014-11-29 08:18:36 +01:00
Juan RP
fe9a795995 xbps-{install,query}: added -M --memory-sync option.
This explicitly enables the in memory fetch/store of remote repository
data archives mode, ignoring existing on-disk repodata archives.

This changes the previous behaviour of falling back to this mode if no
on-disk repodata archives were found.

Thanks to @Gottox and @dominikh for comments.
2014-11-27 10:42:05 +01:00
Juan RP
7401ea3e64 Added support to fetch remote repodata on the fly.
See the NEWS file for more information.
2014-11-26 16:07:16 +01:00
Juan RP
89d11e871f xbps-{install,query}: added -i to ignore repos defined in xbps.d.
See the NEWS file for more information.
2014-11-21 10:56:41 +01:00
Juan RP
428a747fad Fix #69 (No way to set globally a custom architecture)
The "architecture" configuration keyword is now available to override
the native machine architecture returned by (uname(2)).

The XBPS_ARCH environment variable still has preference.
2014-11-19 11:36:09 +01:00
Juan RP
b2bc7af66e Fix #68 (xbps_binpkg_arch() asserts if arch contains a dash) 2014-11-19 11:14:37 +01:00
Juan RP
a6516505e9 xbps-query(8: added --cat=FILE mode support.
- This mode prints to stdout the matching FILE stored in a binary package.
- ABI break: renamed xbps_get_pkg_plist_from_binpkg() xbps_binpkg_get_plist().
- Added xbps_binpkg_get_file() as a generic way to get pkg file contents.
- Removed useless comments from xbps_api_impl.h.
2014-11-17 15:45:46 +01:00
Juan RP
3afb9d709d Get rid of repodata index-files; the archive is now 8x smaller.
See the NEWS file for more information.
2014-11-13 17:09:43 +01:00
Juan RP
039a155918 xbps-create(8): fix #64 "incorrect installed-size with hardlinks" 2014-11-12 12:37:35 +01:00
Juan RP
53f13d579e Added the "bestmatching" configuration keyword to enable pkg best matching.
See the NEWS file for more information.
2014-11-07 10:07:51 +01:00
Juan RP
40c3e048b0 xbps-rindex: added -d/--debug option. 2014-11-06 10:54:52 +01:00
Juan RP
5b522109f7 Replaced config/system {repo,preserve,virtualpkg}.d with a single directory.
See the NEWS file for more information.
2014-11-06 09:58:04 +01:00
Juan RP
9566a0e737 Re-add support for system virtualpkg.d (XBPS_SYS_VPKG_PATH).
This is still useful to set distro defaults for virtual packages, with
the option to override them via /etc/xbps/virtualpkg.d.
2014-11-05 09:40:32 +01:00
Juan RP
595136704e Get rid of system virtualpkg.d support (<prefix>/share/xbps/virtualpkg.d).
Binary packages do not need to provide those virtualpkg configuration files
anymore; all vpkg info is now collected from pkgdb.
2014-11-04 11:17:27 +01:00
Juan RP
b179c16fc0 xbps-{install,remove}: implemented column/wide output mode.
See https://github.com/voidlinux/xbps/issues/63 for info.

Close #63
2014-10-30 11:23:10 +01:00
Juan RP
654c77df25 Switch back to uncompressed plists.
There's no point in slowing down read performance just to save a few bytes.
2014-10-24 10:15:41 +02:00
Juan RP
ff189fd210 Replaced redundant dependency sorting code with a simpler implementation.
This fixes the issue found by "xbps-src bootstrap" when a package
without "provides" was declared as a virtual package.
2014-10-18 12:35:47 +02:00
Juan RP
83f5e35ec7 pkgdb: switch to zplists by default. 2014-10-17 10:11:56 +02:00
Juan RP
1531e26ac0 NEWS: sync. 2014-10-17 10:02:20 +02:00
Juan RP
d7633e88e0 Fix #62 (Dup replaced pkgs in transaction) 2014-10-17 09:52:32 +02:00
Juan RP
1c20086896 Package remove: disable file owner checks if euid==0.
All package files even not owned by root should be removed, so make sure
that those checks return success while being root.

This fixes package removal for polkit, that had /etc/polkit/rules.d
files owned by the polkitd user.
2014-10-17 09:17:07 +02:00
Juan RP
b3d105cbc3 NEWS: update. 2014-10-17 09:14:15 +02:00
Juan RP
fe76af7702 proplib: use GCC atomic builtins if supported. 2014-10-09 14:41:43 +02:00
Juan RP
f7841f98eb NEWS: prepare 0.41. 2014-09-29 15:54:15 +02:00
Juan RP
df71b40968 NEWS: mention last bugfix. 2014-09-29 15:50:56 +02:00
Juan RP
2711b07b77 Fix package files removal with only read bit set.
The previous code was checking incorrectly if the file had the write
bit set, and this is wrong because a package could have files with
only the read bit set (0444).
2014-09-28 13:33:15 +02:00
Enno Boland
2fe65dccec rename xbps-packages to void-packages 2014-09-26 14:24:06 +02:00
Enno Boland
162845023e NEWS: correct reverts description. 2014-09-23 21:05:28 +02:00
Enno Boland
66e697ffc4 NEWS: explain new reverts field. 2014-09-23 21:00:24 +02:00
Juan RP
202ab0d375 NEWS: mention recent changes. 2014-09-23 09:42:20 +02:00
Juan RP
c51d0fcbd8 Post release bump. 2014-09-18 17:29:10 +02:00
Juan RP
15e416dc59 NEWS: prepare 0.40. 2014-09-18 17:25:56 +02:00
Juan RP
f52eea34d4 xbps-install: abort transaction if there's insufficient disk space on rootdir.
The free disk space wasn't computed correctly and xbps-install(8) wasn't
handling ENOSPC rval in xbps_transaction_prepare().
2014-09-18 12:11:02 +02:00
Juan RP
2550d3d006 xbps-query: do not print ANSI escape codes if stdout is not a tty. 2014-09-18 10:14:42 +02:00
Juan RP
3b88cbb025 NEWS: mention zsh changes by @chneukirchen. 2014-09-17 18:57:01 +02:00
Juan RP
72c64c7626 xbps_file_hash: reduce memory footprint and process file in small chunks.
With xbps-rindex(8) -c/-r being multithreaded, the memory usage was
insanely high in the build server, with peaks of almost 4GB (this depends
on the file size being processed and number of threads).

Process the file in small chunks instead to compute the SHA256 hash.
2014-09-17 06:50:46 +02:00
Juan RP
94b9455175 NEWS: another change. 2014-09-16 09:58:27 +02:00
Juan RP
fe6d79fa46 NEWS: mention recent changes. 2014-09-16 09:58:27 +02:00