diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,11 @@
+# 2.1.1 (2023-03-27)
+- spec: use %autosetup
+- PackageUtils patchSpec: adding newline to stdin hangs patch
+
 # 2.1.0 (2023-02-15)
 - spec: list out ghc-*-prof BRs separately from ghc-*-devel
 - spec: output SPDX license tags
-- spec: for standalone f36+ cabal-install needs %ghc_set_gcc_flags"
+- spec: for standalone f36+ cabal-install needs %ghc_set_gcc_flags
 - spec: handle '.' paragraph separator lines in description
 - spec: initial support for --with-ghc version to build with ghcX.Y
 - spec: check if deps of missing deps available
diff --git a/cabal-rpm.cabal b/cabal-rpm.cabal
--- a/cabal-rpm.cabal
+++ b/cabal-rpm.cabal
@@ -1,5 +1,5 @@
 Name:                cabal-rpm
-Version:             2.1.0
+Version:             2.1.1
 Synopsis:            RPM packaging tool for Haskell Cabal-based packages
 Description:
     This package provides a RPM packaging tool for Haskell Cabal-based packages.
diff --git a/src/Commands/Spec.hs b/src/Commands/Spec.hs
--- a/src/Commands/Spec.hs
+++ b/src/Commands/Spec.hs
@@ -471,7 +471,7 @@
 
   put "%prep"
   put "# Begin cabal-rpm setup:"
-  put $ "%setup -q" ++ (if pkgname /= name then " -n" +-+ pkgver else "") +-+
+  put $ "%autosetup -p1" ++ (if pkgname /= name then " -n" +-+ pkgver else "") +-+
     (if hasSubpkgs then unwords (map (("-a" ++) . fst) $ number subpkgs) else  "")
   when revised $
     put $ (if revisedDOS
diff --git a/src/PackageUtils.hs b/src/PackageUtils.hs
--- a/src/PackageUtils.hs
+++ b/src/PackageUtils.hs
@@ -468,7 +468,7 @@
     putStrLn diff
     unless dryrun $ do
       putStrLn ""
-      (ok,out) <- cmdStderrToStdoutIn "patch" opts (diff ++ "\n")
+      (ok,out) <- cmdStderrToStdoutIn "patch" opts diff
       putStrLn out
       unless ok $
         shell_ "echo *.rej; cat *.rej"
