#!/usr/bin/env sh | |
if ! which md5sum > /dev/null; then | |
echo Install md5sum | |
exit 1 | |
fi | |
if ! which curl > /dev/null; then | |
echo Install curl | |
exit 1 | |
fi | |
home=$(gem env GEM_HOME) | |
cache=$home/cache | |
echo This will take a while... | |
for gem in $cache/*.gem; do | |
gemfile=$(basename $gem) | |
local=$(md5sum $gem | awk '{print $1}') | |
remote=$(curl -s -D - -X HEAD -H 'Connection:close' http://production.cf.rubygems.org/gems/$gemfile | grep 'ETag' | cut -d '"' -f 2) | |
if [[ ! $local = $remote ]]; then | |
echo $gemfile mismatch. local: $local, remote: $remote | |
fi | |
done | |
echo All done. |
#!/usr/bin/env sh | |
if ! which openssl > /dev/null; then | |
echo Install openssl | |
exit 1 | |
fi | |
if ! which curl > /dev/null; then | |
echo Install curl | |
exit 1 | |
fi | |
home=$(gem env GEM_HOME) | |
cache=$home/cache | |
echo This will take a while... | |
for gem in $cache/*.gem; do | |
gemfile=$(basename $gem) | |
local=$(openssl md5 $gem | awk '{print $2}') | |
remote=$(curl -s -D - -X HEAD -H 'Connection:close' http://production.cf.rubygems.org/gems/$gemfile | grep 'ETag' | cut -d '"' -f 2) | |
if [[ ! $local = $remote ]]; then | |
echo $gemfile mismatch. local: $local, remote: $remote | |
fi | |
done | |
echo All done. |
#!/usr/bin/env sh | |
if ! which openssl > /dev/null; then | |
echo Install openssl | |
exit 1 | |
fi | |
if ! which curl > /dev/null; then | |
echo Install curl | |
exit 1 | |
fi | |
echo This will take a while... | |
for gem in $(locate \*.gem); do | |
gemfile=$(basename $gem) | |
local=$(openssl md5 $gem | awk '{print $2}') | |
remote=$(curl -s -D - -X HEAD -H 'Connection:close' http://production.cf.rubygems.org/gems/$gemfile | grep 'ETag' | cut -d '"' -f 2) | |
if [[ ! $local = $remote ]]; then | |
echo $gemfile mismatch. local: $local, remote: $remote | |
fi | |
done | |
echo All done. |
This comment has been minimized.
This comment has been minimized.
Alternatively, use the openssl variant.. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Since we're all in the mood for learning :) |
This comment has been minimized.
This comment has been minimized.
Nice tip drnic, but I will just mention you need edit the script to use md5 -r instead of md5sum, since an alias will not work. |
This comment has been minimized.
This comment has been minimized.
If you have a valid locatedb, then validate_locate.sh is probably best, as it'll cover other gemsets etc. |
This comment has been minimized.
This comment has been minimized.
@raggi Thank you for posting this. |
This comment has been minimized.
This comment has been minimized.
Thanks very much for posting this. You've put my mind at ease. |
This comment has been minimized.
This comment has been minimized.
(Ubuntu 12.10 x86_64, zsh 5.0.0 (x86_64-unknown-linux-gnu)) [edit] |
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
|
This comment has been minimized.
This comment has been minimized.
sahi-1.0.0.gem mismatch. local: c32f744846c751d51f3a4e296432daa8, remote: faff6ce473c47a4bcb5e0c9b5a4def11 robin@robin-harvey-workstation:gem-checker$ locate *.gem | grep sahi | xargs ls -lh |
This comment has been minimized.
This comment has been minimized.
fission-0.4.0.gem mismatch. local: 0f010d636fbbdc036004710b91e3c2b1, remote: d34073ffa3435be30a5f92856c76ed33 |
This comment has been minimized.
This comment has been minimized.
Here's an OSX ready script, that also has some hints for folks using bundler. Also OSX md5 works fine, but awk must look at $4 not $1. Anyhoo: https://gist.github.com/4683645 |
This comment has been minimized.
This comment has been minimized.
Much appreciated! |
This comment has been minimized.
If you're on OSX and you don't have md5sum, and you use homebrew, do this: