diff --git a/docs/source/version_history.rst b/docs/source/version_history.rst
index 40e2bcb..a874923 100644
--- a/docs/source/version_history.rst
+++ b/docs/source/version_history.rst
@@ -102,6 +102,8 @@
 
 #. ``SCHUR_JACOBI`` can now be used without ``SuiteSparse``.
 
+#. A ``.spec`` file for producing RPMs. (Taylor Braun-Jones)
+
 Bug Fixes
 ---------
 #. Fix ``No previous prototype`` warnings. (Sergey Sharybin)
@@ -128,6 +130,9 @@
 
 #. Fixed a memory leak in ``cxsparse.cc``. (Alexander Mordvintsev).
 
+#. Fixed the install directory for libraries by correctly handling
+   ``LIB_SUFFIX``. (Taylor Braun-Jones)
+
 
 1.4.0
 =====
diff --git a/include/ceres/dynamic_autodiff_cost_function.h b/include/ceres/dynamic_autodiff_cost_function.h
index 861164a..e4549c5 100644
--- a/include/ceres/dynamic_autodiff_cost_function.h
+++ b/include/ceres/dynamic_autodiff_cost_function.h
@@ -78,7 +78,7 @@
 class DynamicAutoDiffCostFunction : public CostFunction {
  public:
   explicit DynamicAutoDiffCostFunction(CostFunctor* functor)
-  : functor_(functor) {}
+    : functor_(functor) {}
 
   virtual ~DynamicAutoDiffCostFunction() {}
 
diff --git a/include/ceres/problem.h b/include/ceres/problem.h
index bccb329..bab3bfe 100644
--- a/include/ceres/problem.h
+++ b/include/ceres/problem.h
@@ -345,7 +345,7 @@
     // problem.
     //
     // NOTE: This vector should contain the same pointers as the ones
-    // used to add parameter blocks to the Problem. These parmeter
+    // used to add parameter blocks to the Problem. These parameter
     // block should NOT point to new memory locations. Bad things will
     // happen otherwise.
     vector<double*> parameter_blocks;
@@ -390,7 +390,7 @@
   // the gradient vector (and the number of columns in the jacobian)
   // is the sum of the sizes of all the parameter blocks. If a
   // parameter block has a local parameterization, then it contributes
-  // "LocalSize" entries to the gradient vecto (and the number of
+  // "LocalSize" entries to the gradient vector (and the number of
   // columns in the jacobian).
   bool Evaluate(const EvaluateOptions& options,
                 double* cost,
diff --git a/internal/ceres/line_search_direction.cc b/internal/ceres/line_search_direction.cc
index 2f27a78..1fc4de5 100644
--- a/internal/ceres/line_search_direction.cc
+++ b/internal/ceres/line_search_direction.cc
@@ -81,7 +81,7 @@
 
     *search_direction =  -current.gradient + beta * previous.search_direction;
     const double directional_derivative =
-        current. gradient.dot(*search_direction);
+        current.gradient.dot(*search_direction);
     if (directional_derivative > -function_tolerance_) {
       LOG(WARNING) << "Restarting non-linear conjugate gradients: "
                    << directional_derivative;
diff --git a/internal/ceres/linear_solver.h b/internal/ceres/linear_solver.h
index a980514..5aeedcd 100644
--- a/internal/ceres/linear_solver.h
+++ b/internal/ceres/linear_solver.h
@@ -106,11 +106,11 @@
     //
     // For example if elimination_groups is a vector of size k, then
     // the linear solver is informed that it should eliminate the
-    // parameter blocks 0 - elimination_groups[0] - 1 first, and then
-    // elimination_groups[0] - elimination_groups[1] and so on. Within
-    // each elimination group, the linear solver is free to choose how
-    // the parameter blocks are ordered. Different linear solvers have
-    // differing requirements on elimination_groups.
+    // parameter blocks 0 ... elimination_groups[0] - 1 first, and
+    // then elimination_groups[0] ... elimination_groups[1] - 1 and so
+    // on. Within each elimination group, the linear solver is free to
+    // choose how the parameter blocks are ordered. Different linear
+    // solvers have differing requirements on elimination_groups.
     //
     // The most common use is for Schur type solvers, where there
     // should be at least two elimination groups and the first
diff --git a/internal/ceres/mutex.h b/internal/ceres/mutex.h
index 410748f..0c48ed3 100644
--- a/internal/ceres/mutex.h
+++ b/internal/ceres/mutex.h
@@ -275,7 +275,8 @@
 // "MutexLock(x) COMPILE_ASSERT(false)". To work around this, "Ceres" is
 // prefixed to the class names; this permits defining the classes.
 
-// CeresMutexLock(mu) acquires mu when constructed and releases it when destroyed.
+// CeresMutexLock(mu) acquires mu when constructed and releases it
+// when destroyed.
 class CeresMutexLock {
  public:
   explicit CeresMutexLock(Mutex *mu) : mu_(mu) { mu_->Lock(); }
diff --git a/internal/ceres/preconditioner.h b/internal/ceres/preconditioner.h
index 5bb077e..894a2e6 100644
--- a/internal/ceres/preconditioner.h
+++ b/internal/ceres/preconditioner.h
@@ -70,7 +70,7 @@
     // For example if elimination_groups is a vector of size k, then
     // the linear solver is informed that it should eliminate the
     // parameter blocks 0 ... elimination_groups[0] - 1 first, and
-    // then elimination_groups[0] ... elimination_groups[1] and so
+    // then elimination_groups[0] ... elimination_groups[1] - 1 and so
     // on. Within each elimination group, the linear solver is free to
     // choose how the parameter blocks are ordered. Different linear
     // solvers have differing requirements on elimination_groups.
diff --git a/internal/ceres/problem_impl.cc b/internal/ceres/problem_impl.cc
index bc378aa..1fb9e39 100644
--- a/internal/ceres/problem_impl.cc
+++ b/internal/ceres/problem_impl.cc
@@ -657,8 +657,8 @@
                                     gradient != NULL ? &(*gradient)[0] : NULL,
                                     tmp_jacobian.get());
 
-  // Make the parameter blocks that were temporarirly marked
-  // constant, variable again.
+  // Make the parameter blocks that were temporarily marked constant,
+  // variable again.
   for (int i = 0; i < variable_parameter_blocks.size(); ++i) {
     variable_parameter_blocks[i]->SetVarying();
   }
diff --git a/internal/ceres/problem_test.cc b/internal/ceres/problem_test.cc
index 130148d..888eb7c 100644
--- a/internal/ceres/problem_test.cc
+++ b/internal/ceres/problem_test.cc
@@ -769,7 +769,7 @@
 // Simple cost function used for testing Problem::Evaluate.
 //
 // r_i = i - (j + 1) * x_ij^2
-template <int kNumResiduals, int kNumParameterBlocks >
+template <int kNumResiduals, int kNumParameterBlocks>
 class QuadraticCostFunction : public CostFunction {
  public:
   QuadraticCostFunction() {
diff --git a/internal/ceres/solver.cc b/internal/ceres/solver.cc
index 6436d2d..45e6865 100644
--- a/internal/ceres/solver.cc
+++ b/internal/ceres/solver.cc
@@ -204,7 +204,7 @@
     StringAppendF(&report, "\n");
     StringAppendF(&report, "\n");
 
-    StringAppendF(&report,   "%45s    %21s\n", "Given",  "Used");
+    StringAppendF(&report, "%45s    %21s\n", "Given",  "Used");
     StringAppendF(&report, "Linear solver       %25s%25s\n",
                   LinearSolverTypeToString(linear_solver_type_given),
                   LinearSolverTypeToString(linear_solver_type_used));
@@ -299,15 +299,15 @@
     // LINE_SEARCH
     StringAppendF(&report, "\nMinimizer                 %19s\n", "LINE_SEARCH");
     if (line_search_direction_type == LBFGS) {
-      StringAppendF(&report,   "Line search direction     %19s(%d)\n",
+      StringAppendF(&report, "Line search direction     %19s(%d)\n",
                     LineSearchDirectionTypeToString(line_search_direction_type),
                     max_lbfgs_rank);
     } else {
-      StringAppendF(&report,   "Line search direction     %19s\n",
+      StringAppendF(&report, "Line search direction     %19s\n",
                     LineSearchDirectionTypeToString(
                         line_search_direction_type));
     }
-    StringAppendF(&report,   "Line search type          %19s\n",
+    StringAppendF(&report, "Line search type          %19s\n",
                   LineSearchTypeToString(line_search_type));
 
     StringAppendF(&report, "\n");
diff --git a/internal/ceres/visibility.cc b/internal/ceres/visibility.cc
index 8e80fd1..371bdfa 100644
--- a/internal/ceres/visibility.cc
+++ b/internal/ceres/visibility.cc
@@ -139,7 +139,8 @@
     const int count = it->second;
     // Static cast necessary for Windows.
     const double weight = static_cast<double>(count) /
-        (sqrt(static_cast<double>(visibility[camera1].size() * visibility[camera2].size())));
+        (sqrt(static_cast<double>(
+                  visibility[camera1].size() * visibility[camera2].size())));
     graph->AddEdge(camera1, camera2, weight);
   }
 
diff --git a/internal/ceres/visibility_based_preconditioner.h b/internal/ceres/visibility_based_preconditioner.h
index 8a09c78..dae4987 100644
--- a/internal/ceres/visibility_based_preconditioner.h
+++ b/internal/ceres/visibility_based_preconditioner.h
@@ -38,7 +38,8 @@
 // documented here can be found in
 //
 // Visibility Based Preconditioning for Bundle Adjustment
-// A. Kushal & S. Agarwal, submitted to CVPR 2012
+// A. Kushal & S. Agarwal, CVPR 2012.
+//
 // http://www.cs.washington.edu/homes/sagarwal/vbp.pdf
 //
 // The two preconditioners share enough code that its most efficient
diff --git a/scripts/make_docs.py b/scripts/make_docs.py
index 41879cb..8f7e718 100644
--- a/scripts/make_docs.py
+++ b/scripts/make_docs.py
@@ -32,9 +32,9 @@
 #
 # Note: You will need Sphinx and Pygments installed for this to work.
 
-import sys
-import os
 import glob
+import os
+import sys
 
 if len(sys.argv) < 3:
   print "make_docs.py src_root destination_root"
@@ -63,5 +63,8 @@
   print "Postprocessing: ", name
   fptr = open(name)
   out = fptr.read().replace(input_pattern, output_pattern)
-  open(name, "w").write(out)
-  fptr.close();
+  fptr.close()
+
+  fptr = open(name, "w")
+  fptr.write(out)
+  fptr.close()
