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