| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
| |
- Fix obvious typos in `release.in`.
- Build both binary and source Debian package. Also, make sure to run
`debuild` in the actual build directory.
- Add Debian source packages to gh-pages branch.
- Put lonely `:` on its own line, to help it stand out.
- Turn on signing for Debian source packages.
|
|
|
|
|
|
|
| |
Improve the `CONTRIBUTING.md` documentation about what dependencies
exist, how to install them, and how to get started in general. Remind
developers about the `configure` script, because without it no
`Makefile` will exist.
|
|
|
|
|
| |
The explanation in the man page was vague as to what "canonical source"
meant.
|
|
|
|
|
|
|
|
|
| |
The Makefiles were mostly filled with a complex shell script written in
m4sh. Moving that out into a separate script helps debugging and
compatibility, and in general makes life better.
This also improved the DEVELOPERS.md documentation to be more clear
about the steps of a release, including third-party packages.
|
|
|
|
|
|
|
| |
It wasn't obvious that you could also use rcup with undotted files to add them
as new rc files.
There was also a typo.
|
|
|
|
|
|
|
|
| |
These changes:
* add the steps needed to get set up
* update the docs regarding mandatory tests
* clarify release instructions
* fix documentation formatting
|
|
|
|
|
|
| |
The `helper.sh` was not being distributed, which caused `make distcheck`
to fail. Add it as data so that it's not processed but still
distributed.
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the `-U` option to lsrc(1), rcup(1), and rcdn(1) commands; its
argument is an exclusion pattern. Any file matching this pattern is
symlinked without the leading dot.
There is also a `-u` option to undo a `-U`. The `UNDOTTED` setting in
rcrc(5) can be used to set it permanently.
The mkrc(1) command has `-U` and `-u` flags. They take no argument.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test uses `$(hostname)`, which can produce the FQDN; however, the
code only uses the host name portion of that. Modify the test to do the
same by defining a `hostname` function that calls the hostname(1)
binary then pipes it through sed(1).
Use command instead of hardcoding the path.
OS X uses `$HOSTNAME` instead of the result of hostname(1). In the test
suite, use `$HOSTNAME` first, falling back to hostname(1).
|
|
|
|
|
| |
It was not the full path to the docs, but let's also just refer to the version
on master.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mac OS X's `readlink` command does not support the same options as GNU,
FreeBSD, and other operating systems, nor does it support canonicalizing
symlink resolutions.
In place of `readlink`, we're going to borrow [this] suggested
implementation from the community.
[this]:
http://stackoverflow.com/questions/1055671/how-can-i-get-the-behavior-of-gnus-readlink-f-on-a-mac
|
|
|
|
|
|
|
|
| |
We are now in the OpenBSD ports tree, so add pkg_add(1) instructions.
This only works on -current right now.
While here, re-arrange installation instructions to be alphabetical by
OS (or distribution) name.
|
|
|
|
|
|
|
|
| |
Various flags were missing from usage messages across the system; `-g`
and `-s` were the most notable ones. Add them to the appropriate usage
messages.
Spotted by Christopher Koch.
|
|
|
|
| |
The word "directory" was duplicated.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a `-g` flag to rcup(1) to generate a standalone shell
script. This shell script can then be run again, even on different
computers, to recreate the symlinks.
This allows people to recreate the "download my dotfiles and run
./install.sh" instructions, but with generated code that they do not
need to maintain.
This provides us more freedom with lsrc(1): since rcm can be used to
generate a universal shell script, lsrc(1) now can be harder to install
-- it can depend on a compiler, for example -- because you only need to
install it on one machine.
The generated script is rather limited; this can be improved in future
commits, as desired.
|
|
|
|
|
|
| |
Add instructions for how to install rcm on Ubuntu using the
[~martin-frost/thoughtbot-rcm
PPA](https://launchpad.net/~martin-frost/+archive/ubuntu/thoughtbot-rcm)
|
|
|
|
|
| |
The prior fix for `-k` moved the `:` from after `I` to after `k`. Move
it back.
|
|
|
|
|
|
|
|
|
| |
The rcdn(1) program is all set up to handle the `-K` and `-k` flags,
except those flags were never actually allowed through `getopts`.
Thanks to Mikkel Fahnøe Jørgensen for discovering this.
Closes #93.
|
|
|
|
|
|
|
|
| |
This adds a `-s` that can be used to override the `SYMLINK_DIRS` config,
or the `-S` flag, to lsrc(1), mkrc(1), rcup(1), and rcdn(1).
The `-s` flag is the opposite of -S: any argument, if it is a directory,
is not symlinked but instead recurred down.
|
|
|
|
|
|
|
|
|
| |
- Remove two configure flags which just caused warnings.
- Replace `pkgver` function with a working one.
- Explicititly `cd` into `srcdir` before `gitname` as found in
`PKGBUILD-git.proto`.
- Bump `pkgrel`.
- Specify correct package version.
|
|
|
|
|
| |
To give people a preview of the joy they will expect to find when they
start using rcm, link to the HTML manpages from the README.
|
|
|
|
|
|
|
|
|
|
|
|
| |
The lsrc(1), mkrc(1), rcup(1), and rcdn(1) commands will now print a
usage message and exit immediately (with 64, `EX_USAGE`) when given an
option it does not understand.
This includes `--version` and `--help`.
Normal `-h` will print usage and exit successfully, as normal.
Closes #59.
|
|
|
|
|
|
|
|
| |
The `check` target was broken because of `dist_TESTS`; it _must_ be just
`TESTS`, not distributed.
Use `dist_check_SCRIPTS` instead so that they can be packaged as scripts
for checking the system.
|
|
|
|
| |
This file is generated, so ignore it.
|
|
|
|
| |
This allows people to install rcm-git on Arch.
|
|
|
|
|
| |
The Debian changelog and NEWS.md.in need to be updated to prepare for
the auto-generation next time.
|
| |
|
|
|
|
|
| |
People who download the tarball should be able to run the tests
themselves, so distribute the tests as part of the tarball.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
New flags have accumulated without proper care for the usage
instructions or man pages.
I manually went through each program and verified its usage instruction
against its `getopts`, then I alphabeticalized the usage message.
Based on the usage message, I then verified the synposis in the manpage.
Then, based on the synposis, I alphabeticalized the detailed listing of
the arguments and filled in the missing pieces. The `-h` and `-V`
arguments were missing from all manpages.
In the future we will need to be more careful about this. It would be
good to automate a checker that refuses to build unless the docs have
all the flags mentioned.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As described in #82, the hostname on OS X can vary:
- The result of hostname(1) can change depending on DHCP settings; by
default, as you move between networks, your hostname will change.
- The value for `ComputerName` as set in scutil(8) contains values that
are inappropriate for a directory name (spaces, quotes, and so on),
and is blank by default.
- The value for `LocalHostName` changes based on DNS and DHCP settings.
Therefore, OS X users are highly encouraged to set a hostname using the
`HOSTNAME` variable in rcrc(5).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on issue #82, we now provide `-B` to override the hostname. In
particular:
- `mkrc -B foo` will enable `-o` but with the hostname set up `foo`.
- `lsrc -B foo` will work like normal `lsrc` except it treats `host-foo`
as the host-specific directory.
- `rcup -B foo` will run a normal `rcup` except `host-foo` is the
host-specific directory.
- `rcdn -B foo` is just like normal `rcdn`, but with `host-foo` as the
host-specific directory.
The `HOSTNAME` can also be set in the rcrc(5), and this is overridden by
the aforementioned `-B`.
While making this change: The `test/Makefile.am` used a mix of tabs and
spaces. Since it's a Makefile, replace it all with tabs.
|
|
|
|
|
|
|
|
| |
A `break` anywhere inside a `for` loop (even inside a `case`) will exit
from the innermost loop. Replace the `break` with a `:` to get the
desired effect.
Spotted by Pat Brisin.
|
|
|
|
| |
This is a thoughtbot project now, so assign copyright to thoughtbot.
|
|
|
|
|
| |
This merge conflict was not handled perfectly, apparently, because we
got the same entry twice in `NEWS.md.in`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is best explained with an example. If I want to track a file like
`~/.bundle/config`, the correct way would be:
~$ mkrc ~/.bundle/config
--> ~/.dotfiles/bundle/config
But if you are already inside the directory, say:
~/.bundle $
and you ran:
~/.bundle $ mkrc con<TAB> # for autocomplete
~/.bundle $ mkrc config
--> ~/.dotfiles/.config
Which is obviously not what you meant.
This basically checks first if the file exists in the current working
directory and if it is, it's expand the full path.
~/.bundle $ mkrc config
--> ~/.dotfiles/bundle/config
|
|
|
|
|
| |
This project is now a part of openSUSE, which can provide easy-to-use
packages for RHEL and CentOS. Link to that.
|
|
|
|
|
|
|
|
|
| |
This allows, at least, more executables to be picked up.
It doesn't pick up group-executable scripts and ignore xattr files but
it should be better than what was there before.
Closes #80
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This test suite uses cram to run integration tests through `/bin/sh`.
The tests are all high-level acceptance tests; they should work
regardless of the implemention code.
To run them, you must first install cram:
sudo pip install cram
Then the `check` target will run them:
make check
Failure output should be printed clearly to stdout, but in general: full
test output is in `test/test-suite.log` and output specific to a test
named `foo.t` is in `foo.t.log`.
Tests are now encouraged in `CONTRIBUTING.md` as part of the normal pull
request process.
This is a TAP-enabled test suite.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The bug:
~% ls -1 test-dotfiles/**/*(.)
test-dotfiles/tag-openbsdbox/zshrc_alias
test-dotfiles/tag-openbsdbox/zshrc_bsd
test-dotfiles/tag-zsh/zshrc
~% lsrc -t openbsdbox -t zsh -d test-dotfiles
/home/mike/.zshrc_alias:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_alias
/home/mike/.zshrc_bsd:/home/mike/test-dotfiles/tag-openbsdbox/zshrc_bsd
~%
We expect to also see:
/home/mike/.zshrc:/home/mike/test-dotfiles/tag-zsh/zshrc
This arises because we were checking for files the start with another
name, rather than a full equality.
|
| |
|
| |
|
|
|
|
| |
We had missed a few news items in our excitement.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Under Solaris, use ksh instead of `/bin/sh`.
This uses `$SHELL` as a POSIX shell, coupled with a `configure` check
that sets it correctly.
Note that the POSIX shell might end up being bash, so this actually
introduces more fragmentation than it reduces.
Taken from https://github.com/freedreno/mesa/blob/master/configure.ac
|
|
|
|
|
| |
This uses a bit of a hack: if `$DEBUG` is set to `:`, then we are not in
debug mode.
|
|
|
|
|
|
|
|
| |
The `rcm.sh` library was treated as a script in the Makefile, which gave
it executable permissions. Treating it as data just installs it as-is.
This fixes rpmlint's `script-without-shebang /usr/share/rcm/rcm.sh`
warning.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of requiring contributors to update rcm(7), pull the list of
contributors from the git log instead.
The `rcm.7` file has been moved to `rcm.7.mustache`. The `autogen.sh`
command will write `rcm.7` using autocontrib, a quick script included in
this commit.
This commit adds a `.mailmap` file, used by git-shortlog(1) to produce
correct and useful names and email addresses. An initial `.mailmap` has
been added to correct some existing email addresses and duplications.
`.mailmap` is documented in [Documentation/mailmap.txt][mailmap] for
git.
This adds a maintainer dependency on Ruby and the mustache gem. The
autocontrib program is spiked out in Ruby due to my familarity with the
language, but the choice of templating language (mustache) allows
flexibility for switching languages later. This is a dependency
requirement only for people who run `autogen.sh` -- maintainers.
This adds a maintainer dependency on git. Again, this is only for
maintainers, and many (all?) of them need git to get rcm's source
anyway.
Thanks to Patrick Brisbin and George Brocklehurst for the review.
[mailmap]: https://github.com/git/git/blob/6a907786af835ac15962be53f1492f23e044f479/Documentation/mailmap.txt
|
| |
|
|
|
|
|
| |
Add 1.2.1 to the NEWS.md.in and move the unreleased news items to the
correct spot.
|
|
|
|
|
|
|
|
|
|
| |
The `-v` (verbose) flag for `cp`, `ln`, and `rm` is not standard. It is
simple to implement using shell functions, so introduce `cp_v`, `ln_v`,
and `rm_v`. These shell functions use the existing `$VERBOSE` variable
for printing, which simplifies the code and reduces the number of
variables.
Fixes #61.
|