Commit Graph

1079 Commits

Author SHA1 Message Date
Roland Walker 00786c68a8 audit check for sha256 of the empty string 2015-01-02 10:30:26 -05:00
Roland Walker 1ae9ce2bd0 namespace Hbc followups 2015-01-02 10:20:09 -05:00
Roland Walker ef3d7c90d4 remove homebrew-fork resource.rb
* Most of what the Resource class does, we do (or can easily do) with
[`url.rb`](https://github.com/caskroom/homebrew-cask/blob/remove_homebrew_fork_resource/lib/hbc/url.rb)
* adjust our download_strategy.rb to compensate
* adjust homebrew-fork download_strategy.rb to compensate
* add parentheses in homebrew-fork download_strategy.rb
2015-01-02 09:43:14 -05:00
Roland Walker 202d6019f8 Move all code under an Hbc:: namespace
* convert existing Cask:: namespace to Hbc::
* move Homebrew-fork code under Hbc::
* move freestanding classes such as Tty and TopologicalHash under Hbc::
* recast HOMEBREW_CASK_ constants as HBC_
* modify our Homebrew Formula for backward compatibility
* devscripts and dev docs
2015-01-02 07:27:03 -05:00
Roland Walker 852552462b migrate puts_columns from homebrew-fork
into our codebase.
* recast in terms of existing Cask::Utils.stringify_columns
* fix stringify columns to use backticks so that stty can detect the tty
* recover desired behavior of not columnizing in stringify_columns if not
  on a tty
* update comments re: various Homebrew imports
2014-12-31 17:08:35 -05:00
Roland Walker 3b7bdf371a Merge pull request #8557 from rolandwalker/incorporate_homebrew_fork_hardware
incorporate `hardware.rb` from homebrew-fork
2014-12-31 17:04:54 -05:00
Roland Walker db33be107b Rewrite homebrew-fork which method
and incorporate into our codebase.  Update some incidental comments.
2014-12-31 09:35:04 -05:00
Roland Walker 476a72ae92 incorporate hardware.rb from homebrew-fork
* this is already a much-simplified version
* recast to avoid using popen_read method
* popen.rb is now unused and is removed
* new file is cask/hardware/cpu.rb
* toplevel ::Hardware namespace is temporarily aliased to Cask::Hardware
2014-12-31 08:34:49 -05:00
Roland Walker 36b8903a36 flatten homebrew-fork and move it under vendor/lib
* remove transitional modifications to $LOAD_PATH
* all require statements are now explicit about loading from homebrew-fork
2014-12-31 07:57:18 -05:00
Roland Walker 761a09b633 remove homebrew-fork xquartz.rb
On review, the primary gain from adopting this code is the
libpng detection method used in #8519.  The rest of the
logic is not useful to us until/unless we start requiring
specific X11 versions in `depends_on :x11`.
2014-12-30 20:05:26 -05:00
Roland Walker 43ab87b480 Merge pull request #8539 from rolandwalker/incorporate_homebrew_macos
incorporate a modified homebrew-fork `OS::Mac` into our codebase as `Cask::MacOS`
2014-12-30 17:16:24 -05:00
Roland Walker 60da9879e6 Merge pull request #8519 from rolandwalker/x11_detection
Check for libpng to assure X11 detection
2014-12-30 16:45:10 -05:00
Roland Walker 13085c7e26 incorporate homebrew-fork OS::Mac as Cask::MacOS
temporarily define ::MacOS = Cask::MacOS pending updates
to the DSL (it should be visible at the top level only
within Casks.)
2014-12-30 11:29:46 -05:00
Roland Walker 1b775d0f06 make @@release a class variable 2014-12-30 11:22:48 -05:00
Roland Walker 667fed6471 cache inverted Release hash 2014-12-30 11:21:30 -05:00
Roland Walker ec89e5d26b recast class OS::Mac::Version as OS::Mac::Release 2014-12-30 11:20:21 -05:00
Roland Walker 997c4a007d merge all OS X release symbols into one file 2014-12-30 11:14:06 -05:00
Roland Walker 0e20bd4f62 separate hardware from MacOS
and remove unused method prefer_64_bit?
2014-12-30 11:10:09 -05:00
Roland Walker 875f44d8e4 move unused xquartz.rb to new namespace
* migrate methods app_with_bundle_id and pkgutil_info within xquartz.rb
  as this is the only place they are used
* remove duplicate X11 namespace
2014-12-30 11:07:56 -05:00
Roland Walker 74b46f7e92 Check for libpng to assure X11 detection
Based on Homebrew's xquartz.rb.  Improves Yosemite specifically.
Fixes #8483
2014-12-30 09:59:28 -05:00
Roland Walker 8d2e23c03d don't redirect tput STDERR
when both outputs are redirected, it always returns 80
2014-12-30 08:57:56 -05:00
ndr c12365caba Satisfy Cask dependencies on install
Includes an unsavory hack to bypass redundant checks for Cask
subdependencies, in the form of an optional argument passed down from
`install` to `satisfy_dependencies`.
2014-12-29 17:07:05 +00:00
ndr 892eefe58c Implement Cask dependencies
as a class concerned with recursively loading, graphing and sorting all
dependencies of a given Cask.
2014-12-29 16:56:49 +00:00
ndr 1d0b697054 Add exception for cyclic Cask dependencies 2014-12-29 16:36:00 +00:00
ndr 54e03c27b0 Introduce a TopologicalHash class
In the interest of `depends_on :cask`, we introduce a topologically
sortable hashmap, implemented as a small subclass of Hash.
2014-12-29 16:31:24 +00:00
Roland Walker 3a39a017d4 Merge pull request #8465 from rolandwalker/improve_string_coercion
improve `String` coercion in `system_command.rb`
2014-12-27 23:29:08 -05:00
ndr 5b2c9d64be Strip instruction set detection methods from homebrew-fork 2014-12-28 00:44:37 +00:00
Roland Walker 3d8f9a874a improve String coercion in system_command.rb 2014-12-27 19:22:38 -05:00
ndr a3ad17dd83 Merge pull request #8464 from rolandwalker/remove_homebrew_mac_hardware
remove homebrew-fork os/mac/hardware.rb
2014-12-27 23:32:30 +00:00
Roland Walker 1970759587 remove homebrew-fork os/mac/hardware.rb
* remove many methods
* merge the remainder into hardware.rb directly
* make Hardware a module
* remove :dunno type, return nil instead
* redirect STDERR within backticks
2014-12-27 17:41:27 -05:00
Roland Walker 1163e1d87a move Hash monkeypatch to separate file 2014-12-27 17:04:21 -05:00
Roland Walker dfe630771e Merge pull request #8460 from rolandwalker/no_monkeypatch_cabv
move `cabv` method out of `Pathname` monkeypatch
2014-12-27 17:02:41 -05:00
Roland Walker cc84f6ecd5 don't monkeypatch MacOS#release
* complete transition from MacOS#version to MacOS#release
  throughout backend code
* recast related constants and comments as "release" instead
  of "version", and "point release" instead of "full version"
2014-12-27 09:19:38 -05:00
Roland Walker dbed4628e0 move cabv method out of Pathname monkeypatch
recast as utility method
2014-12-27 08:55:06 -05:00
Roland Walker 6e0e29df52 remove JSON support from homebrew-fork
and vendor/okjson.rb in our own codebase, recently adopted
from homebrew-fork.  JSON reads are used within Homebrew
to support download mirrors and GitHub interface: two things
we might wish to support in the future, but do not at this
time.
2014-12-26 19:36:59 -05:00
Roland Walker 69ffb280cd Merge pull request #8447 from rolandwalker/remove_homebrew_github
remove homebrew-fork `GitHub` class
2014-12-26 19:10:50 -05:00
Roland Walker 7612199f24 remove homebrew-fork GitHub class
It might be interesting in the future to incorporate this
class to search into untapped repos.  For now, it is not
being used, and so should be deleted.
2014-12-26 18:57:54 -05:00
Roland Walker 27a92b6d9a remove homebrew-fork Version class
replace with Gem::Version for OS X release comparisons.

Later we will need to pull in something like the Version class or
build something similar, to support a greater understanding of the
value of the version stanza (which is not solely numeric, as
Gem::Version expects).  For now, we don't need the complexity of
this class, as we aren't using it.
2014-12-26 18:33:18 -05:00
Roland Walker d1116d7e16 Merge pull request #8427 from rolandwalker/homebrew_remove_extend_pathname_rmdir_if_possible
rm homebrew-fork extend Pathname#rmdir_if_possible
2014-12-26 14:29:08 -05:00
Roland Walker be4f975b03 Merge pull request #8428 from rolandwalker/remove_homebrew_pathname_slash_monkeypatch
remove homebrew-fork `Pathname#/` monkeypatch
2014-12-26 14:28:58 -05:00
Roland Walker 6557cfe5a6 Merge pull request #8429 from rolandwalker/preserve_stdout_plist
leave stdout intact when parsing plists
2014-12-26 14:28:49 -05:00
Roland Walker 9d5a3d9240 Merge pull request #8430 from rolandwalker/make_pathnames_absolute
make relative `Pathname`s absolute in `system_command`
2014-12-26 14:28:40 -05:00
Roland Walker 64ee1394bc Merge pull request #8433 from rolandwalker/remove_homebrew_extend_argv
remove homebrew-fork ARGV monkeypatch
2014-12-26 14:28:31 -05:00
Roland Walker 16884ef0b0 Merge pull request #8434 from rolandwalker/remove_homebrew_popen_write
remove unused homebrew-fork method `popen_write`
2014-12-26 14:28:23 -05:00
Roland Walker 8d4076d4d9 Merge pull request #8435 from rolandwalker/strip_homebrew_hardware
remove unused constants/methods from hardware.rb
2014-12-26 14:28:12 -05:00
Roland Walker 0eb2c98b08 Merge pull request #8436 from rolandwalker/remove_some_download_methods
remove 3 unused methods from `download_strategy.rb`
2014-12-26 14:27:56 -05:00
Roland Walker c73b9b90c6 remove namespace workaround from homebrew-fork
irrelevant since we don't load Formulae
2014-12-26 13:20:57 -05:00
Roland Walker b4f1365d84 remove 3 unused methods from download_strategy.rb
in homebrew-fork
2014-12-26 13:12:02 -05:00
Roland Walker b1f90acad6 remove unused constants/methods from hardware.rb
in homebrew-fork.
2014-12-26 12:49:31 -05:00
Roland Walker c3f5a45255 remove unused homebrew-fork method popen_write 2014-12-26 12:42:04 -05:00
Roland Walker 679c72a81f remove homebrew-fork ARGV monkeypatch 2014-12-26 12:33:09 -05:00
Roland Walker 08f5937527 make relative Pathnames absolute in system_command
This was the original intention mentioned in some comments elsewhere.
This may occasionally produce a surprising result, in which case the
argument should be explicitly stringified.
2014-12-26 12:05:17 -05:00
Roland Walker 49c3d8d35f leave stdout intact when parsing plists
from a Cask::SystemCommand::Result instance
2014-12-26 11:32:03 -05:00
Roland Walker 05d6afa2ac remove homebrew-fork Pathname#/ monkeypatch
in favor of ordinary Pathname#join.  This was already the rule
for our codebase except for some areas of the test suite.
2014-12-26 11:06:34 -05:00
ndr f1eb7a2d65 Merge pull request #8425 from rolandwalker/homebrew_strip_utils
strip homebrew-fork `utils.rb`
2014-12-26 15:57:20 +00:00
Roland Walker f6f225127f rm homebrew-fork extend Pathname#rmdir_if_possible
integrate a modified version into our codebase as a utility
method (no longer a monkeypatch)
2014-12-26 09:59:24 -05:00
Roland Walker 6acc285737 remove homebrew-fork extend Pathname#version
apparently unused
2014-12-26 09:39:27 -05:00
Roland Walker d1ef048d4b strip homebrew-fork utils.rb
* remove unused methods gzip and paths
* migrate ohai, opoo, onoe into our own codebase
* move GitHub module into a separate file
* remove unused requires
2014-12-26 09:31:57 -05:00
Roland Walker a5f3f34e65 move require 'resource' to download_strategy.rb
where it is actually needed
2014-12-26 09:07:41 -05:00
Roland Walker 611e09c061 Merge pull request #8402 from rolandwalker/refactor_homebrew_tty
Refactor Homebrew's `Tty` class
2014-12-26 09:02:13 -05:00
Roland Walker daf660753c Refactor Homebrew's Tty class
which was incorporated into our codebase

* separate attributes from colors
* don't reset all attributes when setting a color
* allow chaining for multiple attributes
* cover all basic colors and attributes
* use more standard names ie Tty#underline instead of Tty#em
* add Tty#bg_red, etc.
* sanity checks
* style

This fixes some minor bugs such as the display of underline under single
dash in audit output.
2014-12-26 08:33:05 -05:00
Roland Walker 286b95c799 remove Pathname#cd monkeypatch
from homebrew-fork.  Replace our single use of this method in doctor.rb
2014-12-24 09:16:27 -05:00
Roland Walker e67848e051 adopt homebrew-fork Ruby 2.0.0 Pathname encode fix
into our main codebase per https://bugs.ruby-lang.org/issues/9915
2014-12-24 09:14:51 -05:00
Roland Walker 1c3c8d64f0 rm unused homebrew-fork extend/pathname methods
* stem
* text_executable?
2014-12-24 09:12:55 -05:00
Roland Walker 4142ccde69 remove modified Pathname#extname monkeypatch
from homebrew-fork.  It appears we do not depend on this behavior.
2014-12-24 09:11:46 -05:00
Roland Walker 9bb7e813b9 remove modified Pathname#write monkeypatch
from homebrew-fork.  It appears we do not depend on this behavior.
2014-12-24 09:11:26 -05:00
Roland Walker df23228866 Merge pull request #8391 from rolandwalker/remove_unused_pathname_methods
strip more unused methods from homebrew-fork extend/pathname.rb
2014-12-23 20:25:56 -05:00
Roland Walker c23b51f46d Merge pull request #8393 from rolandwalker/remove_homebrew_mac_methods
remove some unused methods from homebrew-fork `os/mac.rb`
2014-12-23 20:25:48 -05:00
Roland Walker b37658656e strip more unused methods from extend/pathname.rb
in homebrew-fork
2014-12-23 20:00:00 -05:00
Roland Walker 72fa49b1b1 whitespace 2014-12-23 19:59:26 -05:00
Roland Walker 027fd8509a rm some unused methods from homebrew-fork mac.rb 2014-12-23 19:59:01 -05:00
Roland Walker 15eb5fa587 remove homebrew-fork class Tty
* migrate into our codebase at lib/cask/utils/tty.rb
* merge with our monkeypatch
2014-12-23 19:58:21 -05:00
Roland Walker 2f1732d967 Merge pull request #8388 from rolandwalker/remove_homebrew_checksum
Remove homebrew-fork `Checksum` class and refactor
2014-12-23 19:56:40 -05:00
Roland Walker cfd16b984b remove homebrew-fork extend/string.rb
Integrate the last remaining monkeypatch `undent` into our own codebase.
2014-12-23 12:20:44 -05:00
Roland Walker fc8052c6e6 add requires removed during homebrew-fork cleanups
Recent deletions in homebrew-fork allowed tests to pass,
but HEAD was actually broken for interactive use.
2014-12-23 11:22:20 -05:00
Roland Walker 05690689bc Remove homebrew-fork Checksum class and refactor
* perform actual checksum calculation within download.rb
* use an accessor named sha256 instead of sums for checksum data
* migrate checksum-specific exceptions out of homebrew-fork
2014-12-23 11:08:45 -05:00
Roland Walker 8eb7de29a2 remove Homebrew namespaces in homebrew-fork
* remove two Homebrew modules
* rename Homebrew.system
* rename HomebrewArgvExtension
* remove some unused requires

still todo: constants starting with HOMEBREW_
2014-12-22 10:07:04 -05:00
Roland Walker 13391af9a9 Merge pull request #8318 from rolandwalker/explicit_ruby_2_requirement
explicitly require Ruby 2.0 at all entry points
2014-12-22 07:20:00 -05:00
Roland Walker 5dc63ef62e Merge pull request #8324 from rolandwalker/enforce_required_stanzas
actually require all required stanzas
2014-12-22 07:19:46 -05:00
ndr c5067fab70 Remove rogue include of homebrew-fork FileUtils 2014-12-21 23:57:47 +00:00
Roland Walker 45929e158d Merge pull request #8342 from rolandwalker/pare_homebrew_extend_pathname
delete ~75% of homebrew-fork extend/pathname.rb
2014-12-20 16:36:23 -05:00
Roland Walker 2b70fd815c delete ~75% of homebrew-fork extend/pathname.rb 2014-12-20 16:22:46 -05:00
ndr 4694461344 Merge pull request #8341 from rolandwalker/fully_remove_homebrew_mach
fully remove homebrew-fork mach.rb
2014-12-20 21:16:49 +00:00
Roland Walker 17986602a2 fully remove homebrew-fork mach.rb
that was mistakenly commented out
2014-12-20 16:08:49 -05:00
Roland Walker 9f218ee765 remove homebrew-fork with_system_path method 2014-12-20 15:57:34 -05:00
Roland Walker 8b7936ff41 Merge pull request #8339 from rolandwalker/remove_homebrew_download_stage
remove homebrew-fork staging logic
2014-12-20 15:56:04 -05:00
Roland Walker a1045925b5 remove homebrew-fork staging logic
we have a separate implementation, which is also separate from
download strategy
2014-12-20 15:46:12 -05:00
Roland Walker b22e75a499 Merge pull request #8338 from rolandwalker/remove_homebrew_string_chuzzle
remove homebrew-fork chuzzle method
2014-12-20 15:43:51 -05:00
Roland Walker 23e12093ed Merge pull request #8337 from rolandwalker/remove_homebrew_extend_fileutils
remove homebrew-fork extend/fileutils.rb
2014-12-20 15:38:38 -05:00
Roland Walker fcafd2f350 remove homebrew-fork chuzzle method 2014-12-20 15:38:08 -05:00
Roland Walker c396433984 Merge pull request #8336 from rolandwalker/remove_homebrew_start_with
remove `String` monkeypatches: `start_with?` and `undent_…_72`
2014-12-20 15:33:22 -05:00
Roland Walker e10d098f6d remove homebrew-fork extend/fileutils.rb 2014-12-20 15:32:18 -05:00
Roland Walker 83f628de29 Merge pull request #8334 from rolandwalker/adopt_okjson
adopt okjson.rb from homebrew-fork
2014-12-20 15:26:01 -05:00
Roland Walker 288af438cc Merge pull request #8335 from rolandwalker/move_homebrew_mktemp_to_resource
move mktemp method into homebrew-fork resource.rb
2014-12-20 15:25:53 -05:00
Roland Walker 0cc60463c3 remove String class monkeypatches: start_with? and
undent_..._72
2014-12-20 15:22:55 -05:00
Roland Walker f85ef452e1 move mktemp method into homebrew-fork resource.rb
This is the only place it is used.
No longer need to include FileUtils.
2014-12-20 15:12:39 -05:00
Roland Walker 3513190111 Merge pull request #8330 from rolandwalker/remove_homebrew_old_ruby
delete homebrew-fork code specific to old Rubies
2014-12-20 15:07:26 -05:00
Roland Walker 3e654b8a2b adopt okjson.rb from homebrew-fork 2014-12-20 15:01:53 -05:00
Roland Walker 2c7fd80cd2 Merge pull request #8328 from rolandwalker/vendor_structure
adopt lib/vendor structure
2014-12-20 14:58:46 -05:00
Roland Walker 820b51e5a6 delete homebrew-fork code specific to old Rubies 2014-12-20 14:55:58 -05:00