Commit graph

12 commits

Author SHA1 Message Date
Joshua Miller
e8073d2596 pin dependencies 2017-07-15 15:16:09 -05:00
Joseph Crail
78d2e8db27 Fix comment spelling 2016-11-25 14:36:56 -05:00
Nathan Ross
36503a77c7 impl: use coreopts for brevity and consistent UX 2016-08-20 10:07:24 -04:00
Corey Farwell
01da600f71 Remove unused variable binding. 2016-08-05 09:06:39 -04:00
Corey Farwell
8fe3eac087 Remove unused imports. 2016-08-05 09:05:12 -04:00
Ben Eills
28d1de1de0 Fix type synonym relaiance which breaks some rusts 2016-07-13 15:51:41 +02:00
Ben Eills
fa2145bb84 Allow specification of mode strings for install
We now accept symbolic and numeric mode strings using the
--mode or -m option for install.  This is used either when
moving files into a directory, or when creating component
directories with the -d option.  This feature was designed
to mirror the GNU implementation, including the possibly
quirky behaviour of `install --mode=u+wx file dir`
resulting in dir/file having exactly permissions 0300.

Extensive integration tests are included.

This chnage required a higher libc dependency.
2016-07-13 15:29:24 +02:00
Ben Eills
b15fff6269 Implement creation of component directories (-d option)
Tested in two integration test:

 - One creating three component directories
 - One trying to create an already existing directory
2016-07-13 12:56:30 +02:00
Ben Eills
823ffbd1dd Copy rather than move files
Test this with one integration test.  Also document functions
and add an '(unimplemented)' marker to some arguments in help.
2016-07-13 12:27:11 +02:00
Ben Eills
a5d97323db Test for unimplemented command line arguments
We check if the user has given one of the (many)
not yet implemented command line arguments.  Upon
catching this, we display the specific transgressor
to stderr and exit with return code 2.

This behaviour is tested in one new integration test.
2016-07-13 10:37:08 +02:00
Ben Eills
8a5719561d Implement basic installation of file to directory
Bare minimum functionality of `install file dir` implemented.
Also added TODO markers in code for outstanding parameters
and split main function into smaller logical chunks.
2016-07-12 22:58:44 +02:00
Ben Eills
e72ec4a5bb Implement skeleton install utility
Add install utility skeleton source, based on
mv, including the getopts setup mirroring
GNU's `man install` documentation.  Also
add a single test and build system code.
2016-07-12 20:56:21 +02:00