Skip to content
This repository has been archived by the owner on Dec 24, 2019. It is now read-only.

Tags: benhoskings/babushka

Tags

v0.19.2

Toggle v0.19.2's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
v0.19.2 - More deprecations and removals.

v0.19.1

Toggle v0.19.1's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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

Toggle v0.19.0's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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

Toggle v0.18.2's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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

Toggle v0.18.1's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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

Toggle v0.18.0's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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.8

Toggle v0.17.8's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
v0.17.8 - A little update to fix the URL in 'npm.src'.

Thanks to Timothy Reen for this patch (and for noticing, since I don't
use npm).

v0.17.7

Toggle v0.17.7's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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

Toggle v0.17.6's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
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.

v0.17.5

Toggle v0.17.5's commit message

Unverified

This commit is not signed, but one or more authors requires that any commit attributed to them is signed.
v0.17.5 - Support for debian geoip mirrors from Laurent Vallar, new d…

…ebian versions, grey text on linux ptys, some minor core dep updates.