packages feed

rpmbuild-order 0.4.11 → 0.4.12

raw patch · 5 files changed

+37/−67 lines, 5 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,3 +1,8 @@+# 0.4.12 (2024-08-04)+- fix ordering of rust crates and rubygems+  by mapping their dynamic BRs to package names+- drop the manpage generated from --help+ # 0.4.11 (2024-02-18) - ProvReqs: new module for rpmspec dependency functions - ProvReqs: generate pkgconfig and cmake provides from %files (#4)
README.md view
@@ -12,10 +12,12 @@ ## Usage  `$ rpmbuild-order --version`+ ```-0.4.11+0.4.12 ``` `$ rpmbuild-order --help`+ ``` Order packages by build dependencies 
− rpmbuild-order.1
@@ -1,43 +0,0 @@-.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.49.3.-.TH RPMBUILD-ORDER "1" "February 2024" "rpmbuild-order 0.4.11" "User Commands"-.SH NAME-rpmbuild-order \- manual page for rpmbuild-order 0.4.11-.SH SYNOPSIS-.B rpmbuild-order-[\fI\,--version\/\fR] \fI\,COMMAND\/\fR-.SH DESCRIPTION-Order packages by build dependencies-.IP-Sort package sources (spec files) in build dependency order-.SS "Available options:"-.TP-\fB\-h\fR,\-\-help-Show this help text-.TP-\fB\-\-version\fR-Show version-.SS "Available commands:"-.TP-sort-sort packages-.TP-deps-sort dependencies in neighbouring package dirs-.TP-rdeps-sort dependents in neighbouring package dirs-.TP-layers-ordered output of dependency layers-.TP-chain-ordered output suitable for a chain\-build-.TP-leaves-List of the top leaves of package graph-.TP-roots-List lowest root packages-.TP-render-Show graph with graphviz
rpmbuild-order.cabal view
@@ -1,5 +1,5 @@ Name:             rpmbuild-order-Version:          0.4.11+Version:          0.4.12 License:          BSD3 License-File:     LICENSE Author:           Jens Petersen <petersen@redhat.com>,@@ -26,12 +26,11 @@   Since version 0.4, a library API is provided. Tested-with:       GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4, GHC == 8.6.5,                    GHC == 8.8.4, GHC == 8.10.7, GHC == 9.0.2, GHC == 9.2.8,-                   GHC == 9.4.8, GHC == 9.6.4, GHC == 9.8.1+                   GHC == 9.4.8, GHC == 9.6.6, GHC == 9.8.2 Cabal-Version:     1.18 Build-Type:        Simple Extra-doc-files:    README.md TODO ChangeLog.md-Extra-source-files: rpmbuild-order.1-                    test/pkgs/A/A.spec+Extra-source-files: test/pkgs/A/A.spec                     test/pkgs/B/B.spec                     test/pkgs/C/C.spec                     test/pkgs/D1.0/D1.0.spec
src/Distribution/RPM/Build/ProvReqs.hs view
@@ -15,7 +15,8 @@ import Data.Maybe (mapMaybe) import SimpleCmd (cmdFull, cmdLines, cmdStdErr, egrep_, error',                   grep, warning, (+-+))-import System.Directory (doesFileExist)+import SimpleCmd.Git (isGitDir)+import System.Directory (doesFileExist, getCurrentDirectory) import System.Exit (exitFailure) import System.FilePath import System.IO.Extra (withTempDir)@@ -29,9 +30,8 @@ rpmspecProvidesBuildRequires :: Bool -- ^ lenient (allow failure)                              -> [String] -- ^ RPM opts                              -> FilePath -- ^ spec file-                             -> IO (Maybe ([String], -- ^ Provides-                                           [String]  -- ^ BuildRequires-                                          ))+                             -- ghc 8.10 haddock cannot annotate inside type+                             -> IO (Maybe ([String], [String])) -- ^ (Provs,BRs) rpmspecProvidesBuildRequires lenient rpmopts spec = do   dynbr <- generateBuildRequires spec   if dynbr@@ -41,7 +41,7 @@       dynprovs <- dynProvides       prs <- rpmspecProvides lenient rpmopts spec       return $ dynprovs ++ prs-    return $ Just (provs, brs)+    return $ Just (provs, mapMaybe simplifyDep brs)     else do     mcontent <- rpmspecParse     case mcontent of@@ -111,21 +111,28 @@           _ -> Just dep  rpmspecDynBuildRequires :: FilePath -> IO [String]-rpmspecDynBuildRequires spec = do+rpmspecDynBuildRequires spec =   withTempDir $ \tmpdir -> do-    (out,err) <- cmdStdErr "rpmbuild" ["-br", "--nodeps", "--define", "_srcrpmdir" +-+ tmpdir, spec]-    -- Wrote: /current/dir/SRPMS/name-version-release.buildreqs.nosrc.rpm-    let errmsg =-          "failed to generate srpm for dynamic buildrequires for" +-+ spec ++-          "\n\n" ++ err-    case words out of-      [] -> error' errmsg-      ws -> do-        let srpm = last ws-        exists <- doesFileExist srpm-        if exists-          then cmdLines "rpm" ["-qp", "--requires", last ws]-          else error' errmsg+  sourceopt <- do+    isgit <- isGitDir "."+    if isgit+      then do+      cwd <- getCurrentDirectory+      return ["--define", "_sourcedir" +-+ cwd]+      else return []+  (out,err) <- cmdStdErr "rpmbuild" $ ["-br", "--nodeps", "--define", "_srcrpmdir" +-+ tmpdir, spec] ++ sourceopt+  -- Wrote: /current/dir/SRPMS/name-version-release.buildreqs.nosrc.rpm+  let errmsg =+        "failed to generate srpm for dynamic buildrequires for" +-+ spec +++        "\n\n" ++ err+  case words out of+    [] -> error' errmsg+    ws -> do+      let srpm = last ws+      exists <- doesFileExist srpm+      if exists+        then cmdLines "rpm" ["-qp", "--requires", last ws]+        else error' errmsg  rpmspecProvides :: Bool -> [String] -> FilePath -> IO [String] rpmspecProvides lenient rpmopts spec = do