Sylvestre Ledru
1fbda8003c
coreutils 0.0.8 => 0.0.9, uucore_procs 0.0.7 => 0.0.8, uucore 0.0.10 => 0.0.11
2022-01-16 17:05:48 +01:00
Terts Diepraam
89112fb1c2
install: clap 3
2022-01-11 19:16:47 +01:00
Sylvestre Ledru
43e85ae9ce
install: Also import fs from uucore
2021-10-24 00:33:00 +02:00
Sylvestre Ledru
a5bc2211d5
Ignore two question-mark warnings
2021-10-23 20:59:19 +02:00
Sylvestre Ledru
59e9870c56
Prepare version 0.0.8
2021-10-23 19:21:50 +02:00
Jan Verbeek
1edd2bf3a8
Do not discard non-OS error messages
2021-09-14 15:11:54 +02:00
Jan Verbeek
259f18fcab
Update message quoting and filename printing
2021-09-07 19:49:01 +02:00
Sylvestre Ledru
0525d9bf6a
Remove useless import of USimpleError
2021-08-28 11:44:34 +02:00
Sylvestre Ledru
0e49913b84
Merge branch 'master' into chmod/compat
2021-08-28 11:21:26 +02:00
Andreas Hartmann
ce0d9bce28
install: Adapt to modified backup_control
interface
2021-08-25 16:33:50 +02:00
Michael Debertol
945e57ea22
chmod: show an error if a permission wasn't removed due to umask
2021-08-25 13:52:09 +02:00
Michael Debertol
15b40f6aa2
chmod: implement special handling of directory setuid/setgid
2021-08-25 13:52:09 +02:00
Michael Debertol
7153a595c6
chgrp: forward to chown
...
chgrp does mostly the same as chown.
By making chown a bit more configurable we can reuse its code for chgrp.
2021-08-24 15:22:05 +02:00
Michael Debertol
252220e9eb
refactor/uucore ~ make util_name and execution_phrase functions
...
Since util_name and execution_phrase no longer rely on features that are
only available to macros, they may as well be plain functions.
2021-08-14 17:55:18 +02:00
Roy Ivy III
c0854000d1
refactor ~ use execution_phrase!()
for usage messaging
2021-08-14 14:01:33 +02:00
Roy Ivy III
23b68d80ba
refactor ~ usage()
instead of get_usage()
2021-08-14 13:58:43 +02:00
Roy Ivy III
c5792c2a0f
refactor ~ use util_name!()
as clap::app::App name argument for all utils
2021-08-14 13:53:13 +02:00
Sylvestre Ledru
ea5097e4a0
Merge pull request #2562 from tertsdiepraam/uucore/simpler-uerror
...
`uucore`: simpler `UResult` and `UError`
2021-08-13 01:33:23 +02:00
Michael Debertol
1c30fb42d2
chgrp: handle empty group
2021-08-11 19:03:41 +02:00
Terts Diepraam
1649217116
uucore: remove distinction between common and custom errors
...
As custom errors are prefered over wrapping around common errors, the
distinction between UCommonError and UCustomError is removed. This
reduces the number of types and makes the error handling easier to
understand.
2021-08-10 17:55:28 +02:00
Andreas Hartmann
ce037bdf55
install: remove obsolete function call
...
The `copy_file_to_file` function was only a wrapper to a `copy` function with
the exact same interface. It has now beed removed for clarity.
2021-07-31 13:06:37 +02:00
Andreas Hartmann
4f235e9e95
install: Use uio_error
to construct errors from std::io::Error
...
Use new macro to construct UIoError types from `std::io::Error` before
printing. This gives consistent error messages across all utilities as it
prepends custom errors to the error description for the respective application
and error type. This saves the developers from manually appending the
`std::io::Error`-specific error messages.
2021-07-31 13:06:37 +02:00
Andreas Hartmann
0461a45c9a
install: Use show! macro for noncritical errors during execution
...
Drop the previous flags that would tell whether a noncritical error occured
during execution in favor of the `show!` macro from the error submodule.
This allows us to generate regular error types during execution to signify
failures inside the program, but without prematurely aborting program execution
if not needed or specified.
Also make verbose outputs use `print!` and friends instead of `show_error!` to
ensure verbose output is redirected to stdout, not stderr.
2021-07-31 13:06:37 +02:00
Andreas Hartmann
2b18e45ece
install: Use UResult
...
Related to uutils#2464
2021-07-31 13:06:37 +02:00
Terts Diepraam
eae8c72793
Merge pull request #2467 from Funky185540/backup_mode_determination
...
backup_control: Fix backup mode determination
2021-07-20 13:27:04 +02:00
Andreas Hartmann
e07b4e9f59
install: Adapt to modified backup mode determination
2021-07-19 17:01:49 +02:00
Sylvestre Ledru
26a882551b
update the dep to uucore_procs 0.0.6
2021-07-11 21:04:11 +02:00
Sylvestre Ledru
1d8a66b7d3
Update to version 0.0.7
2021-07-11 18:04:56 +02:00
Sylvestre Ledru
d3652cc3c0
Merge pull request #2457 from Funky185540/install-implement-backup
...
install: implement --backup, -b and -S
2021-07-04 09:57:45 +02:00
Andreas Hartmann
1a43a94e31
install: Apply rustfmt
2021-06-27 17:59:04 +02:00
Michael Debertol
2ebca384c6
all utils: enable wrap_help
...
This makes clap wrap the help text according to the terminal width,
which improves readability for terminal widths < 120 chars,
because clap defaults to a width of 120 chars without this feature.
2021-06-27 16:17:10 +02:00
Andreas Hartmann
df41fed640
install: Mark '-S', '-b' and '--backup' as implemented
...
Removes the "unimplemented" notice from the respective help texts. Stop
printing errors if the options are supplied via CLI.
2021-06-27 09:54:55 +02:00
Andreas Hartmann
5437985705
install: Implement '--backup' and '-b'
...
Adds the ability to perform file backups before installing newer files on top
of existing ones. Adds a status message about backups to stdout if running in
verbose mode.
2021-06-27 09:54:17 +02:00
Andreas Hartmann
49a9f359bb
install: Make use of 'backup_controls' for '--backup' opts
...
Use the methods and types offered by the 'backup_controls' module to implement
the logic for backing up files instead of overwriting.
2021-06-27 09:54:07 +02:00
Andreas Hartmann
a85adf3c3f
install: Internally rename short '-b' option
...
Rename from OPT_BACKUP_2 to a more descriptive name "OPT_BACKUP_NO_ARGS".
2021-06-26 00:27:08 +02:00
Andreas Hartmann
3155cd510f
install: Fix argument parsing for '--backup'
...
The '--backup' option would previously accept arguments separated from the
option either by a space or an equals sign. The GNU implementation strictly
requires an "equals" for argument separation.
As the argument to '--backup' is optional, the equals sign mustn't be ommited
as otherwise there is no way to tell a file argument apart from an argument
that's meant for the '--backup' option. This ensures that if '--backup' is
present it either has no further associated arguments (i.e. fallback to the
default), or the arguments are separated by an equals sign.
2021-06-26 00:27:08 +02:00
Michael Debertol
0531153fa6
uutils: move clap::App creation to separate functions
2021-06-25 21:23:45 +02:00
Michael Debertol
4e62c9db71
install: support target-directory
2021-06-18 16:45:36 +02:00
Jeong YunWon
d329c7c864
install : clean up returning Err
2021-06-11 23:26:58 +09:00
Roy Ivy III
c66d67a0b9
refactor/install ~ fix cargo clippy
complaint (clippy::needless_borrow)
2021-06-06 19:28:23 -05:00
Sylvestre Ledru
d8c06dd6bb
use clap::crate_version macro instead of the env variable
2021-06-02 19:00:19 +02:00
Roy Ivy III
9c0c8eb59f
change ~ remove 'main.rs' spell-checker exceptions
2021-05-31 08:11:31 -05:00
Jan Scheer
3aeccfd802
fix a lot of clippy warnings
2021-05-29 15:11:22 +02:00
Yağız can Değirmenci
c78a7937f8
chore: delete show_info macro and replace with show_error
2021-05-26 02:27:10 +03:00
Sivachandran
0ea35f3fbc
Implement install create leading components(-D) option ( #2092 )
...
* Implement install's create leading components(-D) option
* Format changes
* Add install test to check fail on long dir name
2021-04-19 22:03:13 +02:00
Reto Hablützel
d67560c37a
fix clippy for unix
2021-04-11 16:34:19 +02:00
Sivachandran
ee070028e4
install: implement stripping symbol table ( #2047 )
2021-04-10 11:53:29 +02:00
Sylvestre Ledru
f37284129e
new release 0.0.6 to address the cat issue
2021-04-03 16:06:58 +02:00
Sylvestre Ledru
ac031dffa4
new release 0.0.5
2021-04-03 10:30:07 +02:00
Juliana Rodrigueiro
97da14fcb2
install: Fix behaviour of the -d flag
...
The '-d' flag should create all ancestors (or components) of a
directory regardless of the presence of the "-D" flag.
From the man page:
-d, --directory
treat all arguments as directory names; create all components of the specified directories
With GNU:
$ install -v -d dir1/di2
install: creating directory 'dir1'
install: creating directory 'dir1/di2'
With this version:
$ ./target/release/install -v -d dir3/di4
install: dir3/di4: No such file or directory (os error 2)
install: dir3/di4: chmod failed with error No such file or directory (os error 2)
install: created directory 'dir3/di4'
Also, one of the unit tests misinterprets what a "component" is,
and hence was fixed.
2021-04-02 20:04:25 +01:00
Juliana Rodrigueiro
2a02f01fc2
install: Don't display success message when the dir was not created
...
Also don't run chmod when we just failed to create the directory.
Behaviour before this patch:
$ ./target/release/install -v -d dir1/dir2
install: dir1/dir2: Permission denied (os error 13)
install: dir1/dir2: chmod failed with error No such file or directory (os error 2)
install: created directory 'dir1/dir2'
2021-04-02 19:59:43 +01:00
Juliana Rodrigueiro
349c4f7af6
install: Make log message identical to GNU install
...
$ install -v -d dir1
install: creating directory 'dir1'
2021-04-02 19:59:43 +01:00
Sylvestre Ledru
faef7e9214
fix(install): Unbreak the CI by bringing the old behavior for install of /dev/null
2021-03-27 10:08:06 +01:00
Antonio Gurgel
35675fdfe7
install: implement -C
/ --compare
( #1811 )
...
* install: implement `-C` / `--compare`
GNU coreutils [1] checks the following: whether
- either file is nonexistent,
- there's a sticky bit or set[ug]id bit in play,
- either file isn't a regular file,
- the sizes of both files mismatch,
- the destination file's owner differs from intended, or
- the contents of both files mismatch.
[1] https://git.savannah.gnu.org/cgit/coreutils.git/tree/src/install.c?h=v8.32#n174
* Add test: non-regular files
* Forgot a #[test]
* Give up on non-regular file test
* `cargo fmt` install.rs
2021-03-27 09:18:47 +01:00
Neculai Balaban
f8125a1040
install: match GNU warning output
2021-03-20 16:11:29 +02:00
Neculai Balaban
0f7423dfa6
install: fix bug #1823
2021-03-20 14:49:22 +02:00
Hari
406cd865eb
install: run rustfmt
...
Fix formatting issues based on PR review comments
2021-03-15 11:00:30 -04:00
Hari
68ec2ed0f3
install: Implement --preserve-timestamps (-p)
...
Last access and last modify timestamps are extracted from the
existing file metadata and are applied to the newly created file.
2021-03-12 16:51:47 -05:00
Sylvestre Ledru
6ad8528b99
update of the uucore dep to 0.0.7
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
6481c5a247
Prepare version 0.0.4
2021-03-07 11:29:38 +01:00
Sylvestre Ledru
51383e10e6
Fix: install /dev/null target ( #1646 )
...
* fix(install): workaround the /dev/null bug
Caused by a limitation of fs::copy in rust. see:
https://github.com/rust-lang/rust/issues/79390
2021-02-11 15:59:58 +01:00
Sylvestre Ledru
beda329a21
Fix some clippy warnings
2021-02-07 15:12:15 +01:00
Sylvestre Ledru
d7a6bfa76c
bug(install) - needs entries from uucore too
2021-02-02 00:09:25 +01:00
Sylvestre Ledru
262b508b89
update the dep to uucore 0.0.6
2021-02-01 23:55:43 +01:00
Sylvestre Ledru
a807fc623a
Update to version 0.0.3
2021-01-22 09:40:38 +01:00
Sylvestre Ledru
b8e886ad1a
bump the minimal version of uucore & uucore_procs
2021-01-10 18:27:20 +01:00
Sylvestre Ledru
d9ae043a05
update of the version 0.0.1 => 0.0.2 ( #1686 )
2021-01-10 18:16:04 +01:00
Sylvestre Ledru
7942a64231
Remove 'extern crate'
...
Not necessary anymore. See:
https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-extern-crate
2020-12-31 15:44:00 +01:00
Sylvestre Ledru
718695d541
fix(install) - Install was failing with '-m 0333'
...
The parse_numeric was getting ' 0333' as input
and showing 'mode is too large ( 0333 > 7777) as error
Syntax used: https://sources.debian.org/src/firebird3.0/3.0.7.33374.ds4-1/debian/functions.sh/?hl=145#L145
2020-12-18 13:36:55 +01:00
Sylvestre Ledru
dca1f28085
install: various improvements in output & tests
2020-12-12 14:36:23 +01:00
Sylvestre Ledru
3024ade071
refactor(chgrp, install): Show the error in the program instead of the lib
2020-12-12 14:28:50 +01:00
Sylvestre Ledru
55c660b986
feature(install): move chown functions into uucore and have install owner support use it
2020-12-12 14:27:59 +01:00
Sylvestre Ledru
015e18731f
feature(install): install group support
2020-12-12 14:27:03 +01:00
Sylvestre Ledru
b07f496b70
fix(install): 'install file_a file_b' should just copy the file
2020-11-29 16:33:46 +01:00
Sylvestre Ledru
261b4e24d6
feature(install): remove a duplicate check.
...
Already done in is_new_file_path
2020-11-29 16:33:46 +01:00
Sylvestre Ledru
89f8624936
bug(install) - install -d can be run on an existing directory ( #1643 )
...
GNU:
$ install -d foo
$ install -d foo
Rust:
$ install -d foo
$ install -d foo
install: cannot create directory 'foo': File exists
install: foo: File exists (os error 17)
2020-11-29 16:31:26 +01:00
Sylvestre Ledru
adc9b12f32
install: fix a typo
2020-11-25 13:09:28 +01:00
Sylvestre Ledru
eada6e58e5
Merge pull request #1637 from sylvestre/clap-install
...
refactor(install): move to clap
2020-11-17 13:00:04 +01:00
Sylvestre Ledru
27d5256cb6
Use the correct syntax to define the mode
2020-11-16 22:02:06 +01:00
Sylvestre Ledru
f55d8a22ec
remove useless mut
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:49:26 +01:00
Sylvestre Ledru
5718af023b
use the OPT_VERBOSE
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:49:01 +01:00
Sylvestre Ledru
4fec824421
change the position of the TODO
...
Co-authored-by: Roy Ivy III <rivy.dev@gmail.com>
2020-11-15 22:48:39 +01:00
Sylvestre Ledru
2edfe32c48
refactor(install): move to clap
2020-11-13 18:21:56 +01:00
Roy Ivy III
6539b8c6b9
maint/deps ~ change version specification for dependencies between sub-packages
...
- refactor internal version specifications to be ">=M.m.p" (where M.m.p is *already published*)
## [why]
Loosening internal version dependencies decreases the coupling between packages such
that packages can be published in a looser order. It allows the packages to be version
updated and published in tandem (ie, by using `cargo workspace ...`). Once published,
the internal versions can then be updated (again, to an *already published* package
version), as needed.
2020-11-08 20:26:46 -06:00
Roy Ivy III
c17307c757
fix ~ update workspace pointers to 'uucore' and 'uucore_procs'
2020-11-08 20:26:46 -06:00
Alex Lyon
110d6844ad
Use an iterator over OsString for uumain()
...
Additionally, restructure `uname` so that we don't need to find the
iterator's length.
2020-06-16 03:28:02 -05:00
Roy Ivy III
fbbd881ca9
docs ~ reduce sub-crate meta-information keywords to the maximum of five
2020-05-31 15:48:54 -05:00
Roy Ivy III
2fd7e15d63
fix/install ~ correct uucore feature dependency
2020-05-30 02:21:05 -05:00
Roy Ivy III
f82de13847
docs ~ spell-check repairs and addition of exceptions
2020-05-30 01:36:02 -05:00
Roy Ivy III
ea3235c7e2
change ~ new_coreopts!()
=> app!()
(from uucore v0.0.4)
2020-05-29 22:59:48 -05:00
Roy Ivy III
6f465eeb9f
deps ~ update utils to uucore/uucore_procs v0.0.4
2020-05-29 22:59:48 -05:00
Roy Ivy III
d70db1f7d2
docs ~ improve/update sub-crate meta information
2020-05-29 22:59:47 -05:00
Roy Ivy III
7cfa8be5f2
docs ~ add meta information to sub-crates
2020-05-29 22:59:47 -05:00
Roy Ivy III
6cb609aeee
docs/codespell ~ fix spelling errors
2020-05-29 22:59:47 -05:00
Roy Ivy III
db2e950918
change ~ make all sub-crates independent
2020-05-29 22:59:40 -05:00
Roy Ivy III
5aa2b039a5
change ~ fixup paths (within workspace packages) to common code
2020-04-14 13:46:19 -05:00
Roy Ivy III
78c362c8b5
change ~ fixup paths (within workspace packages)
2020-04-14 13:46:18 -05:00
Roy Ivy III
f0b0e3b867
change ~ reorganize code files
2020-04-14 13:46:18 -05:00