This repository has been archived by the owner on Dec 24, 2019. It is now read-only.
Tags: benhoskings/babushka
Tags
v0.19.1 - Homebrew and rubygems fixes. * Fix homebrew support: handle the new formula location, use the standard homebrew installer, and simplify the deps that are used to install it. Thanks to Tim Riley and Josh Bassett. * Defer to rubygems to discover gem versions. Thanks to Josh Bassett. * Correctly detect Raspbian. Thanks to Morten Lied Johansen. * Add new ubuntu definitions. Thanks to Samer Masterson. * Only try to show the git ref in "--version" output when running in a git repo. * Upgrade the test suite to run on rspec 3. * Improve the README.
v0.19.0 - Remote babushkas over ssh; many fixes. This version includes new helpers for easily running babushka (and other shell commands) on a remote machine over ssh. I built the feature some time ago but wanted to use it in anger for a while before I merged it. Check the Babushka::SSH rdocs for a full explanation, but the gist is that you can do things like this from within a dep: ssh('user@host').shell('uptime') ssh('user@host').babushka('postgresql') It's a dumb implementation that doesn't do any connection reuse, etc. That's partly because it's more predictable this way because it's just doing what you'd otherwise be typing at a terminal. But more importantly, the idea is to simply invoke a remote babushka to do all the work locally on that box, rather than issue a series of remote calls, because that's how you get truly good performance. As such the overhead of a new connection per command shouldn't matter. This release also includes lots of little bugfixes, including the following: * Fix colour enabling/disabling for local and remote babushkas, depending on output device, etc * Properly recognise homebrew installations that weren't set up by babushka * More reliable debian version detection, thanks to a report from Victor Klos * When multiple deps with the given name are found across different default sources, use the first of them and issue a warning, instead of failing. * Support weeks/months/years in friendly time text; previously it only went as far as days * Bump the default git version to the most recent (at time of commit, v2.5.3)
v0.18.2 - Opensuse, a #cmd_dir fix, OS X build tools. * Basic opensuse/zypper support thanks to Robert Warmbier. * A fix for #cmd_dir; directories were recognised as commands when their names matched. Thanks to Chris Heisterkamp. * The 'xcode build tools' dep now tolerates gcc being installed in a separate location to the rest of the toolchain, to account for the case where it's installed separately via homebrew. [My release deps played up, and created 0.18.1 directly on top of 0.18.0 without incorporating these changes. This version fixes that, and merges the erroneous 0.18.1 commit so that 'stable' can fast-forward.]
v0.18.1 - Opensuse, a #cmd_dir fix, OS X build tools. * Basic opensuse/zypper support thanks to Robert Warmbier. * A fix for #cmd_dir; directories were recognised as commands when their names matched. Thanks to Chris Heisterkamp. * The 'xcode build tools' dep now tolerates gcc being installed in a separate location to the rest of the toolchain, to account for the case where it's installed separately via homebrew.
v0.18.0 - A --debug bug, and nodejs, debian, & pacman improvements. - Fixed an issue where shell commands' output was being corrupted by the use of --debug (see 7f78bbe). - (Tim Riley) Fixed NpmHelper.should_sudo? under nodenv. Previously it was requiring sudo because the global installation wasn't writable, even when nodenv meant a local, writable location would be used. - Made sure /usr/bin/node is available on apt boxes. The binary was renamed upstream. https://lists.debian.org/debian-devel-announce/2012/07/msg00002.html - Fixed debian version parsing so that different versions of the same release are understood as such, instead of as separate releases. (Thanks to schnittchen for reporting this and for the quick-fix patches in the meantime.) - Added automatic package list updating to PacmanHelper. - By default, parallelize builds in the 'src' template according to the cpu count. - Removed an attempt to avoid double-updating in the 'apt source' deps, that meant updating could be skipped altogether under certain conditions. - Added the definition for ubuntu 14.04 'trusty'.
v0.17.7 - such PRs wowe From @tamird: - Use File.writable_real? to avoid a questionable ruby stdlib group write access check From @schnittchen: - Work around a superflous ruby warning when Dir.chdir is used From @bearded: - Fix boolean defaults passed to accepts_*_for declarations - Remove unused String#colorize! start_at arg - Fix the rubinius entries in .travis.yml From @santouras: - Run via sudo when required when adding apt ppas. From @Val: - Add a version declaration for debian-7.3, and then debian-7.4 (This shouldn't be necessary, I'll refactor it someday)
v0.17.6 - gitfs, sudo, encoding handling, homebrew taps, and more. - The experimental --git-fs option has seen a lot of changes. It commits a base snapshot before making any changes, handles systems with no git name or user set, and can run as any user provided that sudo is configured correctly (this is achieved via a GitRepo change that runs destructive repo commands as the repo's owner). - BrewHelper can install and query homebrew taps now, thanks to ecin. (The code in BrewHelper makes too many assumptions about homebrew's internals, though; a refactor to instead use `brew info` is planned). - Handling of externally originating strings has been improved thanks to a bug report from Schnittchen. Strings in unknown or invalid encodings will be coerced into UTF-8 so babushka can operate on them without hitting invalid characters. This shouldn't cause any corruption except on strings whose encoding is invalid, where inknown chars will be replaced with '?'. - The #sudo helper has been much improved. It can assemble and escape correct shell commands properly now, which means sudo commands no longer have to be passed as a string; it will accept splatted commands just like #shell can, e.g. sudo('systemctl', 'start', service_name, :as => 'root') - Fancypath#puts was added, which functions just like IO#puts: it appends its input to the file and terminates with a newline. - Standard stream accessing was cleaned up to always use the constants (STDIN, etc) instead of the global vars ($stdin, etc), and to check the correct stream: for keyboard input and traps, STDIN; for colour detection, etc, STDOUT. - The spec suite no longer includes the 'Babushka' module at the top level, which makes it mirror real usage more. Previously, it was possible for a namespacing problem to exist without the spec suite seeing it, since the Babushka module was always in scope when the test suite ran.
PreviousNext