Commit Graph

178 Commits

Author SHA1 Message Date
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
bc97851fdb xbps-query(8): do not truncate output if stdout is not a tty. 2015-04-15 18:40:34 +02:00
Juan RP
62b21a4f93 xbps-install/question.c: char is not enough for fgetc, use int (HI GOTTOX) 2015-03-21 09:45:29 +01:00
Enno Boland
1eeaa99438 utils: test for EOF on error, not for \0. 2015-03-14 00:41:39 +01:00
Enno Boland
507a9e338f utils: small code cleanup. 2015-03-14 00:38:33 +01:00
Juan RP
1d0a8649da bin/xbps-install/util.c: properly report pkgs to be removed. 2015-02-02 09:49:16 +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
e95300e952 xbps-install/util: print installed version in pkgs on hold mode. 2015-01-28 18:06:58 +01:00
Juan RP
9bc3275515 xbps-install/state_cb: log XBPS_STATE_UPDATE via syslog too.
This way the updates are also recorded via syslog.
2015-01-28 09:48:20 +01:00
Juan RP
8f1e7d9e55 question: accept enter key as default preset value. 2015-01-12 10:22:30 +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
ee175a2a68 Improve xbps_end() and use it before exit(3)ing.
- Simplify xbps_repo_open::repo_get_dict().
- Use xbps_end() in the utils where necessary.
- Make xbps_end() call xbps_pkgdb_unlock() if necessary.
- Make xbps_end() release rpool resources.
- Make xbps_end() release resources from xbps_handle.
- Fixed 90% of reported leaks (still reachable at exit) from valgrind.

That was to silence valgrind's memcheck with --leak-check=full.
2015-01-10 19:11:31 +01:00
Juan RP
d98442d84e xbps-{install,query}.8: absolute path in --repository is not a requirement now. 2015-01-10 12:02:20 +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
59096a866b bin/*/*.8: mention system configuration directory. 2014-12-15 09:24:55 +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
70d5cea79c xbps-{install,query}.8: document -R and --repository independently. 2014-12-06 11:21:30 +01:00
Juan RP
4d5eb2b18e xbps-{install,query}.8: --repository opt expects abs paths for local repos. 2014-12-06 11:10:33 +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
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
fcaf18c494 bin/xbps-install/util.c: add a newline before the header (requested by chris2). 2014-11-13 15:25:35 +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
42bbc60154 xbps-install: fix cnt stats and align issues in the column output mode.
- The counter stats were not taken into account.
- Align version/new version with pkgs that have long versions (chromium).
2014-11-05 10:16:57 +01:00
Juan RP
59781f4e91 bin/xbps-install/fetch_cb.c: use STDOUT_FILENO. 2014-10-30 11:25:37 +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
12e18ae579 bin/xbps-install/util.c: use STDOUT_FILENO. 2014-10-30 10:59:42 +01:00
Juan RP
8f25116d54 bin/xbps-install/main.c: rename a var to make gcc-4.6 happy. 2014-10-04 22:05:33 +02:00
Juan RP
966718bb7d bin/*/*.8: fixed mdoc errors/warnings reported by mandoc -Wall. 2014-09-30 11:36:08 +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
20326738ed bin/xbps-install/fetch_cb.c: optimize: only call isatty() once. 2014-09-18 10:21:24 +02:00
Juan RP
f80df0fa22 xbps-{install,remove}: print guards in post-install/pre-remove messages.
This avoids the need to manually add them to the {INSTALL,REMOVE}.msg
files in binary packages, and saves some bytes in the repository archive
and binary packages.

Idea by @dominikh.
2014-09-16 09:58:27 +02:00
Juan RP
f26a9c1e2b xbps-{install,query}.8: sync with reality. 2014-09-12 12:15:03 +02:00
Juan RP
39aca1bbc9 Implement shlib checks for all pkg revdeps in the transaction.
Added three new test cases to verify its correctness.
2014-09-12 11:49:34 +02:00
Juan RP
dea7ea888e bin/*/*.8: sync with reality. 2014-09-11 12:21:33 +02:00
Juan RP
f9d162e639 xbps-install: show "pkgname (curver -> newver)" in updates; requested by @chneukirchen. 2014-09-11 11:43:15 +02:00
Juan RP
01dbb968dd Welcome pkgdb-0.38. 2014-09-11 00:12:12 +02:00
Juan RP
56ab438d3c xbps-install: indentation. 2014-09-07 09:34:33 +02:00
Juan RP
05e7a59f03 xbps_handle: constify xbps_xxx_cb_data argument. 2014-09-06 09:46:03 +02:00
Juan RP
bc92b387cb Really fix #53 this time: with or without -n. 2014-08-23 16:25:51 +02:00
Juan RP
8939e8697d bin/*/*.8: add missing End-List macros (.El). 2014-08-23 09:26:02 +02:00
Juan RP
4c14785480 Fix #53 (xbps-install with multiple arguments shouldn't fail if one is already installed). 2014-08-23 08:02:40 +02:00
Juan RP
0e745c29e8 xbps-install.8: clarify -ff behaviour. 2014-08-21 19:05:07 +02:00
Juan RP
f8d8f91a08 Implement support to "preserve" existent on-disk files.
See NEWS for more information. Fix #51
2014-08-01 15:09:51 +02:00
Juan RP
a28046332f Implemented support for pre-remove and post-install messages.
Close #44
2014-07-27 11:24:49 +02:00
Juan RP
38aba4ce60 xbps-install: fix previous of previous (heh). 2014-07-14 09:49:21 +02:00
Juan RP
314e345a5e xbps-install: fix previous; only print pkgs that have "download" property. 2014-07-14 09:43:52 +02:00
Juan RP
26fca48da2 xbps-install(8): added support to list pkgs that will be downloaded from remote repos. 2014-07-14 09:30:28 +02:00
Juan RP
4356b6fd65 Abort transaction if there's not enough free space on disk.
Close #7.
2014-07-13 11:45:04 +02:00
Juan RP
ad28774f2f bin/xbps-install/transaction.c: simplify. 2014-07-13 09:34:54 +02:00
Juan RP
9349e5fc40 xbps-install/state_cb.c: do not treat XBPS_STATE_DOWNLOAD always as an error. 2014-07-03 08:33:37 +02:00
Juan RP
e60677116d Fix #43 (xbps-install: unhelpful message for invalid dependency)
If a package that is going to be installed or updated contains invalid
dependencies return ENXIO and XBPS_STATE_INVALID_DEP xbps state to clients.

This improves the error messages returned to the clients when such
condition happens.
2014-07-02 10:59:25 +02:00
Juan RP
6bb61adb0e Enable syslog logging by default; updated API to use xbps_handle::flags. 2014-06-04 09:39:02 +02:00
Juan RP
61a1d33995 xbps-install(8): implemented single pkg updates without -u, --update.
The -u, --update is now only necessary to perform full system updates.

Close #35 (https://github.com/voidlinux/xbps/issues/35)
2014-05-27 11:33:45 +02:00
Juan RP
43090cef2a Xref xbps-uchroot(8) 2014-04-21 10:58:09 +02:00
Juan RP
dacbb2f22f Fixed some warnings reported by clang. 2014-04-20 10:02:54 +02:00
Juan RP
1d74c1c144 xbps-install(8): -n,--dry-run option does not need pkgdb write perms anymore. 2014-04-18 09:06:53 +02:00
Juan RP
1fb3c501ed xbps-{install,query}.8: clarify package expression matching. 2014-04-18 08:53:14 +02:00
Juan RP
20fcf3ad0a xbps-install: sync usage() with reality. 2014-04-17 11:39:47 +02:00
Juan RP
8244f57320 bin/*: update manpages with Xref xbps-checkvers(8). 2014-04-07 12:22:55 +02:00
Juan RP
f74bf1c1c8 New custom configuration file format that does not need confuse. 2014-02-25 16:42:52 +01:00
Juan RP
4d1cdcac0c Fix concurrency issues in pkgdb: only allow 1 write transaction at the same time.
This implementation relies on a POSIX named semaphore, which is also
required by xbps-rindex(8).
2014-02-23 08:23:14 +01:00
Juan RP
5eea259c13 Remove the config.h kludge and override vasprintf detection via HAVE_VASPRINTF. 2014-01-20 18:50:33 +01:00
Juan RP
804a39c63b Added XBPS_ARCH environment var to override uname(2) machine result. 2014-01-09 11:41:25 +01:00
Juan RP
3730f9f5a4 bin/xbps-install/state_cb.c: use pkgver obj from pkgdb. 2013-12-25 11:12:03 +01:00
Juan RP
ec0d38c469 Implement per pkg RSA signatures and on-demand repository access. 2013-12-24 10:43:55 +01:00
Juan RP
0744b76946 xbps-xxx.8: update issues url. 2013-12-17 15:38:56 +01:00
Juan RP
2a21354a1c Make some reorganization in struct xbps_handle.
The variables to set cachedir, rootdir and metadir have been
changed to "array of chars", this way there are no extra allocations.

Update clients accordingly and bump API version.
2013-12-16 11:46:39 +01:00
Juan RP
cc19818680 Improve stats in the transaction dictionary. 2013-12-16 07:24:17 +01:00
Juan RP
4403caa434 Add repos set in xbps_handle::repositories to the top of the list.
That means that now xbps-install(8) and xbps-query(8) --repository
option does not override the repository list of a configuration file.
2013-12-04 16:59:15 +01:00
Juan RP
8882b0215f Redo how the repository keys are stored.
- Repository keys are now stored in a new directory on metadir (/var/db/xbps):

	<metadir>/key>

- Repository keys are stored with the hex fingerprint of its RSA
  public key in a plist dictionary:

	<metadir>/keys/xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.plist

- Drop xbps-rkeys(8) and merge its functionality into xbps-install(8) and
  xbps-query(8).

- xbps-query(8) -vL now shows some more details of remote repositories:

 3134 http://localhost:8000 (RSA signed, verified)
      Signed-by: Void Linux
      4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d
   16 http://localhost:8000/nonfree (RSA signed, verified)
      Signed-by: Void Linux
      4096 60:ae:0c:d6:f0:95:17:80:bc:93:46:7a:89:af:a3:2d

Bump XBPS_API_VERSION.
2013-11-18 16:05:46 +01:00
Juan RP
e03d49f6bf xbps-install: size required on disk == dlsize+instsize. 2013-11-15 10:29:07 +01:00
Juan RP
70047586ee Xref xbps-rkeys(8) 2013-10-12 10:13:32 +02:00
Juan RP
a5ecaa493f New utility: xbps-rkeys(8) to manage RSA public keys. 2013-10-09 10:13:07 +02:00
Juan RP
8d5c48b861 Added support for the long awaited feature: RSA signed repositories. 2013-10-05 11:38:04 +02:00
Juan RP
27db8e89c4 xbps-query: replace -D --defrepo' option with -R' and `--repository=url'.
The argument in `--repository' is optional, therefore must be specified
with `=' to work. If no argument is specified, repository mode is enabled
preserving the repository list of configuration file.
2013-09-18 17:13:43 +02:00
Juan RP
5e1432f418 Added support to specify multiple repositories via cmdline (close #17). 2013-09-18 16:45:05 +02:00
Juan RP
c514894152 xbps-{install,remove}: remove the stupid rw checks on rootdir/metadir. 2013-09-18 15:43:55 +02:00
Juan RP
c5acbc7953 mk/prog.mk: set MAN to $(BIN).8 by default. 2013-09-16 08:57:24 +02:00
Juan RP
4057e4961c Use C99 for loop initializers.
That means that a C99 compiler is now mandatory.
2013-09-15 10:06:49 +02:00
Juan RP
a039330f3c Misc cleanups: use __attribute__((__unused__)); remove dead code. 2013-08-29 10:45:30 +02:00
Juan RP
22ae6295f5 manpages: use github url for bugreports. 2013-08-18 10:17:45 +02:00
Juan RP
9c9d5b58dd Assume 80 columns if TIOCGWINSZ ws.col is bogus (0). 2013-08-10 12:59:59 +02:00
Juan RP
505a933097 Added support to verify reverse dependencies in a transaction.
See https://plus.google.com/106812073015308749022/posts/ZXMHimd8iKd
2013-06-27 16:52:31 +02:00
Juan RP
09e116b7f0 xbps_api.h -> xbps.h 2013-06-20 12:31:02 +02:00
Juan RP
42c0766c00 Get rid of libfetch and proplib external dependencies.
The list of required external deps is now confuse, libarchive and openssl.

libxbps now includes a wrapper for proplib prefixed with xbps_ rather than prop_.
2013-06-20 10:26:12 +02:00
Juan RP
db1efb3aa6 Relax memory requirements on 64bit platforms; fix two memleaks. 2013-06-12 10:04:10 +02:00
Juan RP
99be698979 Use a single file to store repository data.
This is just the starting point to extend repositories with PGP signatures.
2013-06-10 10:28:39 +02:00
Juan RP
5fd7565e6c xbps-install(8): -R now overrides the repository list set in a configuration file.
Now -R can be used independently if a configuration file exists or not.
2013-04-18 18:17:14 +02:00
Juan RP
a0d50f542a xbps-install: revert fa40928026.
If a package is already installed and it's being installed without -f (force),
xbps-install must return EEXIST.

xbps-src really expects this to ignore duplicated build dependencies.
2013-04-15 21:02:33 +02:00
Juan RP
ab8cb56c24 fetch_cb.c: fixed casts when computing ETA. 2013-03-27 16:14:23 +01:00
Juan RP
4d7c51c368 bin/xbps-install/transaction.c: fix -n (dry-run) output for removed pkgs. 2013-03-11 12:12:03 +01:00
Juan RP
f13d0cdb33 bin/xbps-install/transaction.c: remove extra newlines. 2013-03-08 10:01:19 +01:00
Juan RP
50ea03df2a Revert code to update xbps independently; I'll use another way to implement this. 2013-03-08 09:44:57 +01:00
Juan RP
bb17958212 xbps-install: remove dead code. 2013-03-07 11:31:55 +01:00
Juan RP
0a1859987a Respect automatic-install mode from pkgdb in transaction updates.
Also simplify register/unregister and remove useless state definitions.
2013-03-07 10:03:59 +01:00
Juan RP
90b6803825 Introduce XBPS_STATE_CONFIGURE_DONE and use it in xbps-reconfigure(8). 2013-03-07 09:24:04 +01:00
Juan RP
6d2497d8d8 xbps-install/state_cb.c: do not print anything if XBPS_STATE_XBPS_UPDATE is recvd. 2013-03-06 09:21:09 +01:00