rpmbuild-order 0.4.3.1 → 0.4.3.2
raw patch · 6 files changed
+14/−9 lines, 6 filesdep −bytestring
Dependencies removed: bytestring
Files
- ChangeLog.md +4/−0
- README.md +1/−1
- TODO +2/−0
- rpmbuild-order.cabal +2/−3
- src/Distribution/RPM/Build/Graph.hs +3/−3
- src/Main.hs +2/−2
ChangeLog.md view
@@ -1,3 +1,7 @@+# 0.4.3.2 (2021-02-03)+- intercalate newlines between cycles+- only list subcycles with over 2 packages+ # 0.4.3.1 (2020-09-24) - 'deps' and 'rdeps': --exclude option to ignore a "broken" neighboring package
README.md view
@@ -1,4 +1,4 @@-[](https://travis-ci.org/juhp/rpmbuild-order)+[](https://github.com/juhp/rpmbuild-order/actions) [](http://hackage.haskell.org/package/rpmbuild-order) [](https://opensource.org/licenses/BSD-3-Clause)
TODO view
@@ -7,3 +7,5 @@ - handle duplicate packages? - (r)deps: optimize using actual deps++- option to somehow display subpackage deps for cycles
rpmbuild-order.cabal view
@@ -1,12 +1,12 @@ Name: rpmbuild-order-Version: 0.4.3.1+Version: 0.4.3.2 License: BSD3 License-File: LICENSE Author: Henning Thielemann <haskell@henning-thielemann.de>, Jens Petersen <petersen@redhat.com> Maintainer: Jens Petersen <petersen@redhat.com> Copyright: 2010-2018 Henning Thielemann,- 2018-2020 Jens Petersen <petersen@redhat.com>+ 2018-2021 Jens Petersen <petersen@redhat.com> Category: Distribution Homepage: https://github.com/juhp/rpmbuild-order Bug-reports: https://github.com/juhp/rpmbuild-order/issues@@ -42,7 +42,6 @@ Executable rpmbuild-order Build-Depends: base < 5,- bytestring, directory, extra, fgl,
src/Distribution/RPM/Build/Graph.hs view
@@ -38,7 +38,7 @@ #endif import Control.Monad (guard, when, unless) import Data.Maybe (catMaybes, fromMaybe, mapMaybe)-import Data.List.Extra (dropSuffix, find, nubOrdOn, sort, sortOn)+import Data.List.Extra (dropSuffix, find, intercalate, nubOrdOn, sort, sortOn) import System.Directory (doesDirectoryExist, doesFileExist, #if MIN_VERSION_directory(1,2,5) listDirectory@@ -249,7 +249,7 @@ unless (null cycles) $ error $ unlines $ "Cycles in dependencies:" :- concatMap ((++ [""]) . renderCycles . subcycles) cycles+ intercalate [""] (map (renderCycles . subcycles) cycles) where cycles :: [[G.Node]] cycles =@@ -260,7 +260,7 @@ subcycles [] = error "cyclic graph with no nodes!" subcycles cycle'@(n:ns) = let sg = G.emap (const (1 :: Int)) $ G.subgraph cycle' graph- shorter = nubOrdOn sort $ sortOn length $ filter ((< length ns) . length) $ catMaybes $ mapAdjacent (\ i j-> sp j i sg) (cycle' ++ [n])+ shorter = nubOrdOn sort $ sortOn length $ filter ((\l -> l < length ns && l > 2) . length) $ catMaybes $ mapAdjacent (\ i j-> sp j i sg) (cycle' ++ [n]) in (nodeLabels graph cycle', map (nodeLabels sg) shorter) mapAdjacent :: (a -> a -> b) -> [a] -> [b]
src/Main.hs view
@@ -74,9 +74,9 @@ depsPackages rev rpmopts verbose excludedPkgs ignoredBRs lenient parallel mdir pkgs = do unlessM (and <$> mapM doesDirectoryExist pkgs) $ error "Please use package directory paths"- filter (`notElem` excludedPkgs) <$> listDirectory "." >>=+ listDirectory "." >>= -- filter out dotfiles- createGraph''' ignoredBRs rpmopts verbose lenient (not rev) mdir . filter ((/= '.') . head) >>=+ createGraph''' ignoredBRs rpmopts verbose lenient (not rev) mdir . filter ((/= '.') . head) . filter (`notElem` excludedPkgs) >>= createGraph'' rpmopts verbose lenient True mdir . dependencyNodes pkgs >>= sortGraph (if parallel then Parallel else Combine)