Commit Graph

176 Commits

Author SHA1 Message Date
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
Juan RP
7c1a0ac3e8 New pkgdb (0.21) and repo index (1.7) format, see NEWS for info. 2013-03-05 04:08:42 +01:00
Juan RP
1f324a76a2 xbps-{install,query,rindex}.8: document environment var: XBPS_TARGET_ARCH. 2013-02-20 11:42:06 +01:00