packages feed

dnf-repo 0.5.2 → 0.5.3

raw patch · 5 files changed

+19/−8 lines, 5 files

Files

ChangeLog.md view
@@ -1,5 +1,10 @@ # dnf-repo releases +## 0.5.3 (2022-12-31)+- for copr template file, detect fedora distro otherwise assume epel+- don't print actions if no args+- skip euid check if proot session+ ## 0.5.2 (2022-11-28) - --releasever now induces using a separate dnf cache subdir - YumRepoFile: do not sort modes
README.md view
@@ -22,7 +22,7 @@  ```shellsession $ dnf-repo --version-0.5.2+0.5.3 $ dnf-repo --help DNF wrapper repo tool 
data/copr.fedorainfracloud.orgCOLONOWNERCOLONREPO.repo view
@@ -1,6 +1,6 @@ [copr:copr.fedorainfracloud.org:@COPR_OWNER@:@COPR_REPO@] name=Copr repo for @COPR_REPO@ owned by @COPR_OWNER@-baseurl=https://download.copr.fedorainfracloud.org/results/@COPR_OWNER@/@COPR_REPO@/fedora-$releasever-$basearch/+baseurl=https://download.copr.fedorainfracloud.org/results/@COPR_OWNER@/@COPR_REPO@/@DISTRO@-$releasever-$basearch/ type=rpm-md skip_if_unavailable=True gpgcheck=1
dnf-repo.cabal view
@@ -1,5 +1,5 @@ name:                dnf-repo-version:             0.5.2+version:             0.5.3 synopsis:            DNF wrapper tool to control repos description:         A command-line wrapper of the dnf package manager to
src/Main.hs view
@@ -8,7 +8,7 @@ import Data.Bifunctor (bimap) import Data.Char (isDigit) import Data.List.Extra-import Data.Maybe (mapMaybe)+import Data.Maybe (mapMaybe, maybeToList) import Network.HTTP.Directory (httpExists', (+/+)) import SimpleCmd import SimpleCmdArgs@@ -91,7 +91,7 @@     nameStates <- sort <$> concatMapM readRepos repofiles     let actions = selectRepo exact nameStates modes         moreoutput = not (null args) || null actions || listrepos-    unless (null actions || quiet) $ do+    unless (null actions || null args || quiet) $ do       mapM_ putStrLn $ reduceOutput $ mapMaybe (printAction save) actions       when moreoutput $         warning ""@@ -130,7 +130,7 @@       let repoargs = concatMap changeRepo actions           weakdeps = maybe [] (\w -> ["--setopt=install_weak_deps=" ++ show w]) mweakdeps           quietopt = if quiet then ("-q" :) else id-          cachedir = ["--setopt=cachedir=/var/cache/dnf" </> relver | Just relver <- [maybeReleaseVer args]]+          cachedir = ["--setopt=cachedir=/var/cache/dnf" </> relver | relver <- maybeToList (maybeReleaseVer args)]         in doSudo dryrun debug "dnf" $ quietopt repoargs ++ cachedir ++ weakdeps ++ args  -- FIXME pull non-fedora copr repo file@@ -141,8 +141,11 @@     Just (copr_owner,copr_repo) -> do       let repourl = "https://download.copr.fedorainfracloud.org/results" +/+ copr_owner +/+ copr_repo       unlessM (httpExists' repourl) $ error' $ "no such copr repo: " ++ repourl+      distro <- do+        isFedora <- grep_ "ID=fedora" "/etc/os-release"+        return $ if isFedora then "fedora" else "epel" -- FIXME!       template <- getDataFileName coprRepoTemplate-      repodef <- cmd "sed" ["-e", "s/@COPR_OWNER@/" ++ copr_owner ++ "/g", "-e", "s/@COPR_REPO@/" ++ copr_repo ++ "/g", template]+      repodef <- cmd "sed" ["-e", "s/@COPR_OWNER@/" ++ copr_owner ++ "/g", "-e", "s/@COPR_REPO@/" ++ copr_repo ++ "/g", "-e", "s/@DISTRO@/" ++ distro ++ "/", template]       let repofile = ("_copr:" ++) $                      replace "COLON" ":" $                      replace "OWNER" copr_owner $@@ -217,12 +220,15 @@                       else args !! (lst + 1)                     '=':rv -> rv                     _ -> error' $ "could not parse" +-+ opt+                  -- still not sure if this fully makes sense             in if all isDigit relver || relver `elem` ["rawhide","eln"]                then Just relver                else error' $ "unknown releasever:" +-+ relver  checkEuid :: IO ()-checkEuid = do+checkEuid =+  -- getLoginName fails for proot+  unlessM (cmdBool "pgrep" ["--session", "0", "proot"]) $ do   user <- getLoginName   euser <- getEffectiveUserName   when (user /= euser) $