copy-jdk-configs-1.1-3.fc22$>,T4?6M*r8m>="|?"ld  > 17@L R X d  <H\   (H8T9`:GHIXY\]^&bod5e:f=l?t\uhvtwxy!"Z"`"hCcopy-jdk-configs1.13.fc22JDKs configuration files copierUtility script to transfer JDKs configuration files between updates or for archiving.Voarm02-builder08.arm.fedoraproject.org3Fedora ProjectFedora ProjectBSDFedora ProjectUnspecifiedhttps://hg.fedorahosted.org/hg/copy_jdk_configslinuxnoarch`ӁA큤VVoV4ce4d594897b9f099c03302943042cc46460198b858064439ce7d33be97e0b24386eaf71633bf096e6c17471f50e867dabdf14d38a157ca27a0425dc583eb9ferootrootrootrootrootrootcopy-jdk-configs-1.1-3.fc22.src.rpmcopy-jdk-configs @     /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.12.0.1VVqR@VUJiri Vanek - 1.1-3Jiri Vanek - 1.1-2Jiri Vanek - 1.1-1- pretrasn lua call now done in pcall (protected call) - also posttrans now always return 0- package now "installs" also during pretrans, so pretrasn scripts can use it - pretrasn "install" is removed in postrans- initial package1.1-3.fc22copy_jdk_configs.luacopy-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 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=neon -mfloat-abi=harddrpmxz2noarch-redhat-linux-gnueabiLua script, ASCII text executabledirectoryASCII textRfunction createPretransScript() -- the sript must be available during pretrans, so multiply it to tmp os.execute("mkdir -p /var/lib/rpm-state") temp_path="/var/lib/rpm-state/copy_jdk_configs.lua" -- print("generating " .. temp_path) 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 -- 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; 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") 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 end if (jvmDestdir == nill) 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 --trasnform substitute names to lua patterns local name = string.gsub(string.gsub(origname, "%-", "%%-"), "%.", "%%.") local javaver = string.gsub(origjavaver, "%.", "%%.") local jvms = { } 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/java.policy", "jre/lib/security/java.security", "jre/lib/security/local_policy.jar", "jre/lib/security/nss.cfg,", "jre/lib/ext"} 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 if (debug) then print("started") end; foundJvms = posix.dir(jvmdir); if (foundJvms == nil) then if (debug) then print("no, or nothing in "..jvmdir.." exit") end; return end if (debug) then print("found "..#foundJvms.."jvms") end; 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 if (debug) then print("matched: "..p) end; if (currentjvm == p) then if (debug) then print("this jdk is already installed. exiting lua script") end; return end ; table.insert(jvms, p) else if (debug) then print("NOT matched: "..p) end; end end if (#jvms <=0) then if (debug) then print("no matching jdk in "..jvmdir.." exit") end; return end; if (debug) then print("matched "..#jvms.." jdk in "..jvmdir) end; --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/bin/sh?07zXZ !#,X]"k%{AvX1ڋNHRFHh15 2WӶ*Kq\(ф_P?)@k Sr>"(ZSiR9K?zzxo)Y06m1Rr׎ct_5 @ U/Ǭ:Zʸᓰ Cz;,R6EaRQ ~zԮ ay>TQE`&(M>; wK\]W-f ӼWH0Q1 ^)sֿt]QHr*{1ΰ3 OI!HI5tkm'Y<sX@\L#_G ;̭N>Y2hTڽ*E^bOĒJxD3`J3Ņ/# C8R10Π0p:5zhcTZۋ9OLAsIoJ "xpPx}:popr1G}$a'בQH޽%ȑq%,nu /Hc%lEơrUNf陝b?k]F .9;V7lUQs1O_I1<c>JUx0$Ni_O%Mf56VeRh*KrH<6cnHU!~N-4d;jQ),AE~}$x8wPA]T V=J[28ҫ¿8tbHO}Rf٣[0n5kv,N "TGx7Ld-ӫ[vՊ89P;xO^kkwY|YfP?X8+pt &ޑH_ Pxl&쌩 1I_ȻZ]ȳ~(2AQUTtRbɷ(i~(e,r^~%$]X:4{>`bKhBx^vA b"{ [N}qO+ O_8JMͫb+:Ѓ!ŐͱU?.ԅ ;V}$:_d+4ęʑdx=;g@z ,F ,$J YZ