RPM Community Forums

Mailing List Message of <rpm-cvs>

[CVS] RPM: lua/local/ llocal.lua rpm/ CHANGES rpm/scripts/ integrity.c...

From: Ralf S. Engelschall <rse@rpm5.org>
Date: Sat 12 Jan 2008 - 14:13:34 CET
Message-Id: <20080112131334.35088348460@rpm5.org>
  RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Ralf S. Engelschall
  Root:   /v/rpm/cvs                       Email:  rse@rpm5.org
  Module: rpm lua                          Date:   12-Jan-2008 14:13:34
  Branch: HEAD                             Handle: 2008011213133300

  Modified files:
    lua/local               llocal.lua
    rpm                     CHANGES
    rpm/scripts             integrity.cfg integrity.fp integrity.lua
                            integrity.pgp

  Log:
    Upgrade RPM Lua functions util.rmatch(), util.rsubst() and util.rsplit()
    to new lrexlib 2.2. Additionally, because of slight incompatibilities,
    adjust the consumers of those functions, too.

  Summary:
    Revision    Changes     Path
    1.13        +12 -45     lua/local/llocal.lua
    1.2062      +1  -0      rpm/CHANGES
    1.2         +3  -3      rpm/scripts/integrity.cfg
    1.2         +1  -1      rpm/scripts/integrity.fp
    1.2         +4  -4      rpm/scripts/integrity.lua
    1.2         +12 -12     rpm/scripts/integrity.pgp
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: lua/local/llocal.lua
  ============================================================================
  $ cvs diff -u -r1.12 -r1.13 llocal.lua
  --- lua/local/llocal.lua	12 Jan 2008 12:33:33 -0000	1.12
  +++ lua/local/llocal.lua	12 Jan 2008 13:13:33 -0000	1.13
  @@ -61,59 +61,27 @@
   --  -----------------------------------------------------------------------  --
   
   --  regular expression based string matching
  -function util.rmatch(str, regex)
  -    return rex.new(regex):tfind(str)
  +function util.rmatch(str, regex, i, cf)
  +    return rex.new(regex, cf):tfind(str, i)
   end
   
   --  regular expression based string substitution
  -function util.rsubst(str, regex, subst)
  -    local result = str
  -    local re = rex.new(regex)
  -    local result_last = ""
  -    while result ~= result_last do
  -        result_last = result
  -        local s, e, m = re:tfind(result)
  -        if s ~= nil then
  -            local prolog = string.sub(result, 1, s - 1)
  -            local epilog = string.sub(result, e + 1)
  -            if type(subst) == "function" then
  -                result = subst(m)
  -            elseif type(subst) == "table" then
  -                result = subst[m[1]]
  -            else
  -                result = string.gsub(subst, "%$([0-9])", function (n) return m[tonumber(n)] end)
  -            end
  -            if result == nil then
  -                result = ""
  -            end
  -            result = prolog .. result .. epilog
  -        else
  -            break
  -        end
  -    end
  -    return result
  +function util.rsubst(str, regex, subst, n, cf)
  +    return rex.gsub(str, regex, subst, n, cf)
   end
   
   --  regular expression based string splitting
  -function util.rsplit(str, regex, count)
  +function util.rsplit(str, regex, n, cf)
       local result = {}
  -    local re = rex.new(regex)
  -    while str ~= "" do
  -        if count ~= nil then
  -            if count <= 0 then
  +    for section, _ in rex.split(str, regex, cf) do
  +        if n ~= nil then
  +            if n <= 0 then
                   break
               end
  -            count = count - 1
  -        end
  -        local s, e, m = re:tfind(str)
  -        if s ~= nil then
  -            table.insert(result, string.sub(str, 1, s -1))
  -            str = string.sub(str, e + 1)
  -        else
  -            break
  +            n = n - 1
           end
  +        table.insert(result, section)
       end
  -    table.insert(result, str)
       return result
   end
   
  @@ -285,9 +253,8 @@
           "([^\\r\\n]*" ..
           "(?:\\r?\\n(?:[ \\t]*|[ \\t]+[^\\r\\n]+))*" ..
           ")\\r?\\n",
  -        function (m)
  -            local key = m[1]
  -            local value = util.rsubst(m[2], "(?s)^\\s*(.*?)\\s*$", "$1")
  +        function (key, value)
  +            value = util.rsubst(value, "(?s)^\\s*(.*?)\\s*$", "%1")
               cfg[key] = value
           end
       )
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/CHANGES
  ============================================================================
  $ cvs diff -u -r1.2061 -r1.2062 CHANGES
  --- rpm/CHANGES	12 Jan 2008 12:33:53 -0000	1.2061
  +++ rpm/CHANGES	12 Jan 2008 13:13:33 -0000	1.2062
  @@ -1,4 +1,5 @@
   5.0.0 -> 5.1a1:
  +    - rse: upgrade RPM Lua functions util.rmatch(), util.rsubst() and util.rsplit() to new lrexlib 2.2
       - rse: upgrade the RPM Lua extension lrexlib from ancient version 1.1x to latest version 2.2
       - jbj: permit opt-in network access using %_rpmgio macro.
       - jbj: fix: deny rpmioSlurp network access (like all other Fopen call's).
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/scripts/integrity.cfg
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 integrity.cfg
  --- rpm/scripts/integrity.cfg	2 Jan 2008 16:57:37 -0000	1.1
  +++ rpm/scripts/integrity.cfg	12 Jan 2008 13:13:33 -0000	1.2
  @@ -19,7 +19,7 @@
   -----BEGIN PGP SIGNATURE-----
   Version: GnuPG v2.0.8 (OpenPKG-CURRENT)
   
  -iEYEARECAAYFAkd7wjQACgkQ0mcr4lELuksBDQCg8LuAQXmvxy9HgI5B1FmAuw23
  -HkcAnj8m04N2AAGEwijWtXaUchq/bJOd
  -=WKYF
  +iEYEARECAAYFAkeIus4ACgkQ4NtEALXQTmsJDACfW4WxxXIZy0OmIZF+3A/AkGnV
  +s18AnRmkOZmULuvRnhTkrs/h+BYrT7Tq
  +=Scxl
   -----END PGP SIGNATURE-----
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/scripts/integrity.fp
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 integrity.fp
  --- rpm/scripts/integrity.fp	2 Jan 2008 16:57:37 -0000	1.1
  +++ rpm/scripts/integrity.fp	12 Jan 2008 13:13:33 -0000	1.2
  @@ -1 +1 @@
  -A53B9DDD6C1446636CCC9E3BD2672BE2510BBA4B
  +8D79F253B6D3B089AB1B2919E0DB4400B5D04E6B
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/scripts/integrity.lua
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 integrity.lua
  --- rpm/scripts/integrity.lua	2 Jan 2008 16:57:37 -0000	1.1
  +++ rpm/scripts/integrity.lua	12 Jan 2008 13:13:33 -0000	1.2
  @@ -22,7 +22,7 @@
           --  query RPMDB for names of all installed packages
           local packages = rpm.query("%{NAME}", true, "*")
           --  iterate over all constraints
  -        for _, constraint in ipairs(util.rsplit(util.rsubst(cfg.Package, "(?s)^\\s*(.+?)\\s*$", "$1"), "(?s)\\s+")) do
  +        for _, constraint in ipairs(util.rsplit(util.rsubst(cfg.Package, "(?s)^\\s*(.+?)\\s*$", "%1"), "(?s)\\s+")) do
               --  parse constraint
               local s, _, m = util.rmatch(constraint, "(?s)^(!?)([^:]+):(!?)(.+)$")
               if s == nil then
  @@ -59,7 +59,7 @@
   -----BEGIN PGP SIGNATURE-----
   Version: GnuPG v2.0.8 (OpenPKG-CURRENT)
   
  -iEYEARECAAYFAkd7wjQACgkQ0mcr4lELukvhbQCfZjAV4Ut2fUr+TjQaxorJWgzi
  -mDgAnjwALDwR5rFVf07HJXGkg1Q+mxQE
  -=bwnz
  +iEYEARECAAYFAkeIus4ACgkQ4NtEALXQTms37ACdGutltMufb5o7ow9a+i9BWlWQ
  +ABUAoIzBInaquk+Rl5dZ6UPsNF8L9sxl
  +=6qWp
   -----END PGP SIGNATURE-----
  @@ .
  patch -p0 <<'@@ .'
  Index: rpm/scripts/integrity.pgp
  ============================================================================
  $ cvs diff -u -r1.1 -r1.2 integrity.pgp
  --- rpm/scripts/integrity.pgp	2 Jan 2008 16:57:37 -0000	1.1
  +++ rpm/scripts/integrity.pgp	12 Jan 2008 13:13:33 -0000	1.2
  @@ -1,17 +1,17 @@
   -----BEGIN PGP PUBLIC KEY BLOCK-----
   Version: GnuPG v2.0.8 (OpenPKG-CURRENT)
   
  -mQGiBEd7wjQRBACcZkFtmSEDdnI/sTqQ7r0d5/kAKIT7HkJQ3FaD04C3RBfL7xfW
  -ULTmszDO1UWU3ApaVPtFH6PedZ9OPh3saP7Yl6UZ50p63SIP945fVvtkw8gr8uQ8
  -7GSc2CjlJ+WisGn4y/Lxv9x/vo9mReyAVN9o0qer6nHOxHZ027lgWB5mnwCg/AOe
  -8V6Xk/iC7qfsNS0vsV234ysD/0G/P3e+jKKVPAokILt7HETK/TGToMC0v18pa0OJ
  -9XGF4kf0PDoSdbemPHVStSM2KBBMCp5I1Hh5FTcbEvt++U1m1wG+G9gy1yu0uxKw
  -AsQMH98ljVc0jybjjC2nKJu+Jz2DhX/QqdL1RYStUjZKFvGFoucFu4Nh1TKZ20Gr
  -3fUeA/0ezN89QlvUzxFWMjTTYlqlUdqnzS1Ao1kDhFaVRz6/5pjwfgbesZv4oAe/
  -BVL6TP1stP74DSyifQb+266dnMXENStoRLgBlq1dkdnjYgB8RX0jijxjHKm0Ii46
  -Mm+8dyyHqIbQ3yOPHS0fCYGCHX0xeHbiriyaNtx+2wY586V2c7Q1SW50ZWdyaXR5
  +mQGiBEeIus4RBADHaYAqFfzKwwiUhiXQY4fvTMGYVde/U4umrDO68QBf1/9iwQEu
  +qwc+eWTmCxEs3t58aa69MmMiUVrpspNKxMFEhuA0HsRIxzUi4hJCZ6de8aN6M1oL
  +M9mwCdI1I72Xg+tCO6vXTEAQssZNaTkKGYSa8XFPBPbXG8WHYXYnlZuDYwCgzx2T
  +0JbsymPZdGeOJ56iPVwQiH8EAJ51POgMKaxiIIKaECQ6CL9rXLW6szFsoivbZIjP
  +moI4bf/jQFOWS/6xeK4BYNgJ+3IvDedUTjsC6arfOkZKw1olGq/y4JafUie7LnjL
  +l8Fp3ElGKiVsa1HWvruyOt/yl689iHs1cVf9oxRv1V8vNEgGI/a3pd/hVfBusceB
  +pf+EA/4zSRce6GHqER8p6NfATCAnTDXEnriTGo5MSlT6iKZ52ygw6PvnR95RqsAp
  +xMGLu9bXFUP4Eqbwm/XyFVHtbxz/YpZ5gdcp3WZU63ZvkqEfAPBBTeLH6+o2W8Zw
  +yy1kpg1nwrKNy/fNmOM5ubY+NhWY2JN+FL4ckYPypMCW34w8FrQ1SW50ZWdyaXR5
   LUF1dGhvcml0eSA8aW50ZWdyaXR5LWF1dGhvcml0eUBleGFtcGxlLmNvbT6IYAQT
  -EQIAIAUCR3vCNAIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJENJnK+JRC7pL
  -TWcAoN3mM5tlb7LV9gWFMEbywaNSh8jvAKDEzrxZYvEQIDIpF3K2dueeZ+SkRQ==
  -=qLx+
  +EQIAIAUCR4i6zgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEODbRAC10E5r
  +TBUAnjVa3SbInBEV57rjS5HHwL/p0PiwAJwOBk76GGcShD7eLwDwPmgUipVHSw==
  +=9ltP
   -----END PGP PUBLIC KEY BLOCK-----
  @@ .
Received on Sat Jan 12 14:13:34 2008
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.