copy-jdk-configs-3.7-3.oe1 >  A _jW^^f\eKۑ aaK=9Cb\FtYDL$9%bKG0;ˍIcjpRg؈ +W~D8P‚Qm% u&[2L"Ibҗ {l;*UBg ѼX)=j~K7[g#o}גYS\)ZjmB1(J L sgwI1wT ?n`#|]LĀlVx{{Tr638'fX8 TEsEFfz1bW]?%] Ec%!p onM)ʢoum2~L 7hb%Gm(gn27ZϤORKˤ+wVݖB{̏hCr_ӡG81[Fz 2PKDh>pC/?/d  5 0<_el|    ` dt   (89:F"G@HPI`XdYh\t]^bc1defltuvwHxXyhzp./0/6/@/D/J/Ccopy-jdk-configs3.73.oe1JDKs Configuration FileUtility script for transferring JDK configuration files when updating or archiving. Repair rpmnew file created by error by using scrip_=ecs-obsworker-0013AopenEuler:20.03:LTS:SP1 / standard_x86_64http://openeuler.orgBSDhttp://openeuler.orgUnspecifiedhttps://pagure.io/copy_jdk_configslinuxnoarch&ArӁA큤_>_>_>]Aa6affc066935f57bc54f3a9a1f0b6cfcbbe9e3914a05d847f6fa331bdb55a6398085523323d639dacc45ee2e8b8dfc225e0609786a8b78b71067d965b62298a8e386eaf71633bf096e6c17471f50e867dabdf14d38a157ca27a0425dc583eb9ferootrootrootrootrootrootrootrootcopy-jdk-configs-3.7-3.oe1.src.rpmcopy-jdk-configs@ @     /bin/bash/bin/sh/usr/bin/lualualua-posixrpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)4.2.2-13.0.4-14.6.0-14.0-15.2-14.15.1]߶gulining - 3.7-3- Pakcage initecs-obsworker-0013 16073994853.7-3.oe1copy_jdk_configs.luacopy_jdk_configs_fixFiles.shcopy-jdk-configsLICENSE/usr/libexec//usr/share/licenses//usr/share/licenses/copy-jdk-configs/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/openEuler/openEuler-hardened-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection obs://private/openEuler:20.03:LTS:SP1/standard_x86_64/cd6b7b383ed792c3cc560a7f74ed1c65-copy-jdk-configscpioxz2noarch-openEuler-linux-gnuLua script, ASCII text executableBourne-Again shell script, ASCII text executabledirectoryASCII textRRTnGXfunction createPretransScript() os.execute("mkdir -p /var/lib/rpm-state") temp_path="/var/lib/rpm-state/copy_jdk_configs.lua" file = io.open(temp_path, "w") file:write([[#!/usr/bin/lua -- rpm call -- lua -- copy_jdk_configs.lua --currentjvm "%{uniquesuffix %{nil}}" --jvmdir "%{_jvmdir %{nil}}" --origname "%{name}" --origjavaver "%{javaver}" --arch "%{_arch}" --debug true --test call --lua -- copy_jdk_configs.lua --currentjvm "java-1.8.0-openjdk-1.8.0.65-3.b17.fc22.x86_64" --jvmdir "/usr/lib/jvm" --origname "java-1.8.0-openjdk" --origjavaver "1.8.0" --arch "x86_64" --debug true --jvmDestdir /home/jvanek/Desktop local caredFiles = {"jre/lib/calendars.properties", "jre/lib/content-types.properties", "jre/lib/flavormap.properties", "jre/lib/logging.properties", "jre/lib/net.properties", "jre/lib/psfontj2d.properties", "jre/lib/sound.properties", "jre/lib/deployment.properties", "jre/lib/deployment.config", "jre/lib/security/US_export_policy.jar", "jre/lib/security/unlimited/US_export_policy.jar", "jre/lib/security/limited/US_export_policy.jar", "jre/lib/security/policy/unlimited/US_export_policy.jar", "jre/lib/security/policy/limited/US_export_policy.jar", "jre/lib/security/java.policy", "jre/lib/security/java.security", "jre/lib/security/local_policy.jar", "jre/lib/security/unlimited/local_policy.jar", "jre/lib/security/limited/local_policy.jar", "jre/lib/security/policy/unlimited/local_policy.jar", "jre/lib/security/policy/limited/local_policy.jar", "jre/lib/security/nss.cfg", "jre/lib/security/cacerts", "jre/lib/security/blacklisted.certs", "jre/lib/security/jssecacerts", "jre/lib/security/trusted.certs", "jre/lib/security/trusted.jssecerts", "jre/lib/security/trusted.clientcerts", "jre/lib/ext", "jre/lib/security/blacklist", "jre/lib/security/javaws.policy", "lib/security", "conf", "lib/ext"} -- before import to allow run from spec if (arg[1] == "--list") then for i,file in pairs(caredFiles) do print(file) end return 0; end -- yum install lua-posix local posix = require "posix" -- the one we are installing local currentjvm = nil local jvmdir = nil local jvmDestdir = nil local origname = nil local origjavaver = nil local arch = nil local debug = false; local temp = nil; local dry = false; for i=1,#arg,2 do if (arg[i] == "--help" or arg[i] == "-h") then print("all but jvmDestdir and debug are mandatory") print(" --currentjvm") print(" NVRA of currently installed java") print(" --jvmdir") print(" Directory where to find this kind of virtual machine. Generally /usr/lib/jvm") print(" --origname") print(" convinient switch to determine jdk. Generally java-1.X.0-vendor") print(" --origjavaver") print(" convinient switch to determine jdk's version. Generally 1.X.0") print(" --arch") print(" convinient switch to determine jdk's arch") print(" --jvmDestdir") print(" Migration/testing switch. Target Mostly same as jvmdir, but you may wont to copy ouside it.") print(" --debug") print(" Enables printing out whats going on. true/false. False by default") print(" --temp") print(" optional file to save intermediate result - directory configs were copied from") print(" --dry") print(" true/fase if true, then no changes will be written to disk except one tmp file. False by default") print(" **** specil parasm ****") print(" --list") print(" if present on cmdline, list all cared files and exists") os.exit(0) end if (arg[i] == "--currentjvm") then currentjvm=arg[i+1] end if (arg[i] == "--jvmdir") then jvmdir=arg[i+1] end if (arg[i] == "--origname") then origname=arg[i+1] end if (arg[i] == "--origjavaver") then origjavaver=arg[i+1] end if (arg[i] == "--arch") then arch=arg[i+1] end if (arg[i] == "--jvmDestdir") then jvmDestdir=arg[i+1] end if (arg[i] == "--debug") then --no string, boolean, workaround if (arg[i+1] == "true") then debug = true end end if (arg[i] == "--dry") then --no string, boolean, workaround if (arg[i+1] == "true") then dry = true end end if (arg[i] == "--temp") then temp=arg[i+1] end end if (jvmDestdir == nil) then jvmDestdir = jvmdir end if (debug) then print("--currentjvm:"); print(currentjvm); print("--jvmdir:"); print(jvmdir); print("--jvmDestdir:"); print(jvmDestdir); print("--origname:"); print(origname); print("--origjavaver:"); print(origjavaver); print("--arch:"); print(arch); print("--debug:"); print(debug); end local function debugOneLinePrint(string) if (debug) then print(string) end; end --trasnform substitute names to lua patterns local name = string.gsub(string.gsub(origname, "%-", "%%-"), "%.", "%%.") local javaver = string.gsub(origjavaver, "%.", "%%.") local jvms = { } function getPath(str,sep) sep=sep or '/' return str:match("(.*"..sep..")") end function splitToTable(source, pattern) local i1 = string.gmatch(source, pattern) local l1 = {} for i in i1 do table.insert(l1, i) end return l1 end local function slurp(path) local f = io.open(path) local s = f:read("*a") f:close() return s end function trim(s) return (s:gsub("^%s*(.-)%s*$", "%1")) end local function dirWithParents(path) local s = "" local dirs = splitToTable(path, "[^/]+") for i,d in pairs(dirs) do if (i == #dirs) then break end s = s.."/"..d local stat2 = posix.stat(s, "type"); if (stat2 == nil) then debugOneLinePrint(s.." does not exists, creating") if (not dry) then posix.mkdir(s) end else debugOneLinePrint(s.." exists,not creating") end end end debugOneLinePrint("started") foundJvms = posix.dir(jvmdir); if (foundJvms == nil) then debugOneLinePrint("no, or nothing in "..jvmdir.." exit") return end debugOneLinePrint("found "..#foundJvms.."jvms") for i,p in pairs(foundJvms) do -- regex similar to %{_jvmdir}/%{name}-%{javaver}*%{_arch} bash command if (string.find(p, name.."%-"..javaver..".*"..arch) ~= nil ) then debugOneLinePrint("matched: "..p) if (currentjvm == p) then debugOneLinePrint("this jdk is already installed. exiting lua script") return end ; if (string.match(p, ".*-debug$")) then print(p.." matched but seems to be debug variant. Skipping") else table.insert(jvms, p) end else debugOneLinePrint("NOT matched: "..p) end end if (#jvms <=0) then debugOneLinePrint("no matching jdk in "..jvmdir.." exit") return end; debugOneLinePrint("matched "..#jvms.." jdk in "..jvmdir) --full names are like java-1.7.0-openjdk-1.7.0.60-2.4.5.1.fc20.x86_64 table.sort(jvms , function(a,b) -- version-sort -- split on non word: . - local l1 = splitToTable(a, "[^%.-]+") local l2 = splitToTable(b, "[^%.-]+") for x = 1, math.min(#l1, #l2) do local l1x = tonumber(l1[x]) local l2x = tonumber(l2[x]) if (l1x ~= nil and l2x ~= nil)then --if hunks are numbers, go with them if (l1x < l2x) then return true; end if (l1x > l2x) then return false; end else if (l1[x] < l2[x]) then return true; end if (l1[x] > l2[x]) then return false; end end -- if hunks are equals then move to another pair of hunks end return a "..readlinkOutput debugOneLinePrint("executing "..linkExe) os.remove(readlinkOutput) os.execute(linkExe) local link=trim(slurp(readlinkOutput)) debugOneLinePrint(" ...link is "..link) if (not ((link) == (SOURCE))) then debugOneLinePrint("WARNING link "..link.." where file "..SOURCE.." expected!") debugOneLinePrint("Will try to copy link target rather then link itself!") --replacing any NVRA by future NVRA (still execting to have NVRA for any multiple-installable targets -- lua stubbornly consider dash as inteval. Replacing by dot to match X-Y more correct as X.Y rather then not at all local linkDest=string.gsub(link, latestjvm:gsub("-", "."), currentjvm) debugOneLinePrint("attempting to copy "..link.." to "..linkDest) if (link == linkDest) then debugOneLinePrint("Those are identical files! Nothing to do!") else local exe2 = "cp".." -ar "..link.." "..linkDest dirWithParents(linkDest) debugOneLinePrint("executing "..exe2) if (not dry) then os.execute(exe2) end end else debugOneLinePrint("executing "..exe) if (not dry) then os.execute(exe) end end else debugOneLinePrint(SOURCE.." does not exists") end end]]) file:close() end if pcall(createPretransScript) then -- ok else -- print("Error running copy-jdk-configs pretrans.") endrm "%{rpm_state_dir}/copy_jdk_configs.lua" 2> /dev/null || :/bin/shutf-8db64d23520adc8feb2a4baf762cc238522790b634010bcc983c8131f2c005d54?7zXZ !#,Dg] b2u y-iSqifnY}N:F[{!`[ޙ*a1|M=0$7KaK0 MP0Z'^IQC&K&oSf3l[AQEjRAm5U<¸#rpOUTow R,U6l7'mK}EE4ťϿ IOwY\y1Wiwĺ ,@خn 9t_HC 2(;s&+K_*[ ݞ.Jz7zW#7Ґ$+'-ÿZ|)QEТ;̷P} hG8}FP:>;]M@M)^fWL+'N`ltfkJ]ҦbXl]qU2Gw0LhZoBӑZ{GvД7oQ])I&%.m'y-N,s7z?l``L:K.&C_Ho£W! l+[#mhc鿷_LEr#8m)L aa䒉:o &R. c̚Y.W㲊k5}d娨Ex.u=F4"@GtaCuehKǷ -V7{W\}Ny M*ztȔ澼knKiΞ߶&#*l# Xa[,L$k>GH73z?Yil*KB Qϒf* 'nK۹n `h9GZc؎V1T/nTzPsEh VK\EyOD:I(<xw fy? ?V~dRt@ϐ@K(sk/67- nn"-^<(1pWM\[mn]~#_L;2^75"t}H/oRӏqR C5:Yg @wg@E9藛s@d`Sx!Nιƈ?ڳM,|Ny.U§'qRoGѬAb&:h*c cru(}^bDoi-gD 458hk^iZWe: 3Apidv2iH͑<NaY"PA/vzȐ(è:Xo-@rآzX{omӀ65q;1'IS2e aPP /Ctk* 8L@/QrX^: zɈZAuXW\"VYJ|qVgVLjkA\Q:ufwx5WS̐2f6Mt~m&$FK4& Z+䱅0Ar :c3aX63,6 YF䒅4 .G#a {N悅ppxhfph+)beTPQ}B4Ȑr]#4G?4ʭ|(Ha zՈV-N)kR %/Wf ƚ{@2q: > {o4q L]2szN0nږ:#y0ſi%< ?.#ta0v Q*dgva\P^/8oP.cZ]Ӷ5i.pbe#Oga8;  }F+sنA "o~e]3*a&$cοwo'k"{Uɖ|t}dE- /ўS"-f\8F0֩AI[ňx/{e!U ?t0%}D+L>L<?U jIpW"щx=ٹK aTޥOB N&jf8Ѭ}8n]/x) 77EmEtS~Z3ܮkI8Kc)- BWB݄is mp@\FB f}n3:M,igNg(eUIT?|־ OEA hY"jl`[@ ?Fǣ.9c8D${psbBCG,Tꊄ֧n%R63x=!.뉨xVO$cb6 F>]db[‰ZR)9_uςXnx˳rxfT!L*$~Q|* ZOjZh%`gbпJBBz#Uh 9##ѣr2=(| WR*FAyܩtx=4>3ɣ#"r-t٥"sT;Yu۱:1d,fU'󁟛|ZnP<8Kd DU?^ M#a8y+%ڦqx1;}TeJc .buLcq?lg%wèd𠅀e>jXo\n.u Dh?)}y6#KۼSwƎ,gӕ̞ Ǩrr{'$ۄy).MLZ a} "iH`OtAm2Uhfbpz\cR`~,n6nۚDcMLG r&4o7tfpaS˦3 r5HAt 9[H>KR*~iޭ^Vh QSYrMvZ*)mC߻h&ELCb#̀m#A wxԪ^8c<>xC(U]|wIq-Cx ?'O s/p6FZ#]4fyBtS砠|?ѵw]MS ժflc/I4G^ TN_8 .xOV:-ei2l[j9 O0}tgWF(D^C8z9f4l3Oj]@E$"[ %b! qWkDQEN NDu—mk -+X!E{kߟqg7^)Ϡ<{1qK*խ&܄@ASbɱ"%c.>q~.TOsAHУFEbj-fhA2XϐE5ξsr?Ж7?Yl?F`^>䡾.WurA X?{ߣ*.~Kx#Tx{oYKةs{U{wg !9A:){e:o}݈b?"lx*S_g0?ᅵ!ci辺@ֶ?²PmA3kyna ?.Eƚ@稾;еGt_"(lyԭ` `@h8TUhq*ĜK-&=iV F:1x9 „5g;8\EB` 3zL{\a=>( Pinؽ)25-&MLogfUԇ8 O{j;@fR,l<=+0F;p'D[]&OzXVgp|MJq{U%(v_UQtĘڃ7)=e.Ua y⪺cج& ,&Ĭ$jUV ZxA7FrXv9-nR );p`(aQ}Fi,C*tcRuֳuA_(b8PޭsRIx閱tYWN,Q D/#qŗh;=$Π~42ޞR>JRW#V1aGD\ecwr0'SXtaV7{iŁ. }m !Cےxi)A+BoLm:浶Ce㙓a;o@aGHm\`%^eyiۉn9wz)m'^#[KFr8%OaPZlXɨWWt%8zkEayܩbGgv[@U!j}3!0v]xbX2eoNμRp6jPʠ|54o3ԇ~q V5;Bsd3ɏ*PJsmtgcgk0_a!GupW'D%I}eQץOK;6AbBƗ.Qu'ShR]0(*7Ў0t1I%%Xu֑i֣9{o䤉Td` x_:NpX7Uw4'sR:0(Sn*Ċ_РRV}F_:/Gz$yPρJ&]SM["l&K?G1XPt͘91B/3;Dzb`y>HoPNw8oh4 LaoWVf}̰gR,1S_6]Zwf>r5xo?+1qw YZ