In our rails postinstall package script, preserve newlines when looking
authorWard Vandewege <ward@curoverse.com>
Fri, 6 Jan 2017 18:29:00 +0000 (13:29 -0500)
committerWard Vandewege <ward@curoverse.com>
Fri, 6 Jan 2017 18:29:00 +0000 (13:29 -0500)
for the '^database:' line, so that we match every line of the rake
db:migrate:status output, not just the first one.

refs #10838

build/rails-package-scripts/postinst.sh

index 17454ef7065ac3a17af6e813308f73d14435e7b2..e019170d71d24a6323e3b4eaee856c30cebb5768 100644 (file)
@@ -122,14 +122,14 @@ setup_conffile() {
 
 prepare_database() {
   DB_MIGRATE_STATUS=`$COMMAND_PREFIX bundle exec rake db:migrate:status 2>&1 || true`
-  if echo $DB_MIGRATE_STATUS | grep -qF 'Schema migrations table does not exist yet.'; then
+  if echo "$DB_MIGRATE_STATUS" | grep -qF 'Schema migrations table does not exist yet.'; then
       # The database exists, but the migrations table doesn't.
       run_and_report "Setting up database" $COMMAND_PREFIX bundle exec \
                      rake "$RAILSPKG_DATABASE_LOAD_TASK" db:seed
-  elif echo $DB_MIGRATE_STATUS | grep -q '^database: '; then
+  elif echo "$DB_MIGRATE_STATUS" | grep -q '^database: '; then
       run_and_report "Running db:migrate" \
                      $COMMAND_PREFIX bundle exec rake db:migrate
-  elif echo $DB_MIGRATE_STATUS | grep -q 'database .* does not exist'; then
+  elif echo "$DB_MIGRATE_STATUS" | grep -q 'database .* does not exist'; then
       if ! run_and_report "Running db:setup" \
            $COMMAND_PREFIX bundle exec rake db:setup 2>/dev/null; then
           echo "Warning: unable to set up database." >&2