�����copy-jdk-configs-4.0-3.el9����>� M Mv�������� ĉJ4!!�%j�o�Lne)Ip-Bm5 ']b�@areleng@rockylinux.org p-Bm5 ']�����Y+7F���[ y��xb� �� ��:x�FXB=����^�j��j�i�K��3�[� ����a��"��ۯbB���@} �&O�˯;!hO���ۉ'���:k�e1� �<�����2�4�V���-G���j���}������M���~>�N=F-�vIV�6/�_= 5��ބ��`�yb��Щ|@80�hΕV�{K!Y!�H})D�k�����'k�7��"Yx���W3��0&e}ކ��e��.�1p[᧢�y*�8V)w�\K{��R���z��y�+�͒���5>�N6���E���"�C ��,���9�����E�*�ٶ�<m�O��3��FKH��u� b|<�RƦTƌ�f=ӸˍRP-!��=�쯸@B����� �4F+EZ�B�9]���}��B����7&��.n`V>�=�| �M�����Y�>io;���|����x�����Hpw��9` <_�zq�����/\�����-"��?<5H@,�'� ��%d95505eb750099b6518ca4c31a662077d0952234a62a23a033e67a3fbbe314c3027a01160e01d784c7a0b9216a2b7f7989e7a9acd[]�W� ��)\-5C��UP<>�������D@�?@qd���� � =��������7�;� v�������� � � � � ����, X  (?8H9d:�G�H�I�X�Y�\�]^Sb�d e f %l (t @u Pv `w �x �y � ��?"�?��?��?��?��?��?��?��?��@,�@0Ccopy-jdk-configs4.03.el9JDKs configuration files copierUtility script to transfer JDKs configuration files between updates or for archiving. With script to fix incorrectly created rpmnew filesb�@Apb-2dcb695b-83ee-4782-a86d-61a4296d6ca3-b-noarchM^Rocky Linux 9Rocky Enterprise Software FoundationBSDRocky Linux Build System (Peridot) Unspecifiedhttps://pagure.io/copy_jdk_configslinuxnoarch1��Ӂ��A큤b�>Ib�>Ib�@Bb�>I8a81cc8d2d07d525c97b56f4bf5d1457ce716b3c1de1e103e6acb4c9a1ffd5a49391f6ad7e9e98f9eeb056395d2fc2e4cd062cc374c7b614612d47095a44e2c3386eaf71633bf096e6c17471f50e867dabdf14d38a157ca27a0425dc583eb9fe�rootrootrootrootrootrootrootrootcopy-jdk-configs-4.0-3.el9.src.rpm����������������copy-jdk-configs @@     /bin/sh/usr/bin/bash/usr/bin/luafindutilslualua-posixrpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)4.2.2-13.0.4-14.6.0-14.0-15.4.18-14.16.1.3a�`�[�`���`@_��^�)@^0"@Mohan Boddu - 4.0-3Fedora Release Engineering - 4.0-1Fedora Release Engineering - 4.0-0Fedora Release Engineering - 3.7-8Fedora Release Engineering - 3.7-7Andrew Hughes - 3.7-6Fedora Release Engineering - 3.7-5- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688- added requires and orderWithRequires of findutils to provide find and xargs (rh1965305)- bumped to 4.0 to resolve remvoed rpm 4.17 removing arg from global table- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild- Rebuilt for lua 5.4.0.- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild4.0-3.el9copy_jdk_configs.luacopy_jdk_configs_fixFiles.shcopy-jdk-configsLICENSE/usr/libexec//usr/share/licenses//usr/share/licenses/copy-jdk-configs/-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectioncpiozstd19noarch-redhat-linux-gnuLua script, ASCII text executableBourne-Again shell script, ASCII text executabledirectoryASCII textRRfunction 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 -- debug=true lua -- copy_jdk_configs.lua --currentjvm "%{uniquesuffix %{nil}}" --jvmdir "%{_jvmdir %{nil}}" --origname "%{name}" --origjavaver "%{javaver}" --arch "%{_arch}" --test call -- debug=true 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" --jvmDestdir /home/jvanek/Desktop local M = {} if (os.getenv("debug") == "true") then debug = true; else debug = false; end local function debugOneLinePrint(string) if (debug) then print(string) end ; end 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 -- main function, -- formelry main body -- move to function resolved -- https://bugzilla.redhat.com/show_bug.cgi?id=1892224 -- for readability not indented, todo, indent once tuned function M.mainProgram(arg) debugOneLinePrint("cjc: lua debug on") 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", "jre/lib/security/nss.fips.cfg", "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 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 or $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 --trasnform substitute names to lua patterns local name = string.gsub(string.gsub(origname, "%-", "%%-"), "%.", "%%.") local javaver = string.gsub(origjavaver, "%.", "%%.") local jvms = { } 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 < b end) if (debug) then print("sorted lsit of jvms") for i, file in pairs(jvms) do print(file) end end latestjvm = jvms[#jvms] if (temp ~= nil) then src = jvmdir .. "/" .. latestjvm debugOneLinePrint("temp declared as " .. temp .. " saving used dir of " .. src) file = io.open(temp, "w") file:write(src) file:close() end local readlinkOutput = os.tmpname() for i, file in pairs(caredFiles) do local SOURCE = jvmdir .. "/" .. latestjvm .. "/" .. file local DEST = jvmDestdir .. "/" .. currentjvm .. "/" .. file debugOneLinePrint("going to copy " .. SOURCE) debugOneLinePrint("to " .. DEST) local stat1 = posix.stat(SOURCE, "type"); if (stat1 ~= nil) then debugOneLinePrint(SOURCE .. " exists") dirWithParents(DEST) -- Copy with -a to keep everything intact local exe = "cp" .. " -ar " .. SOURCE .. " " .. DEST local linkExe = "readlink" .. " -f " .. SOURCE .. " > " .. 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 end --unindented main function if (arg == nil) then debugOneLinePrint("arg variable is nil, you have to call mainProgram manually") -- this can actually not be invoked, as the debug is set via arg else M.mainProgram(arg) end return M]]) file:close() end -- in netinst, the above call may fail. pcall should save instalation (as there is nothing to copy anyway) -- https://bugzilla.redhat.com/show_bug.cgi?id=1295701 -- todo, decide whether to check for {rpm_state_dir} and skip on not-existing, or keep creating if pcall(createPretransScript) then -- ok else -- print("Error running copy-jdk-configs pretrans.") end# remove file created in pretrans # echo "removing /var/lib/rpm-state/copy_jdk_configs.lua" || : rm "/var/lib/rpm-state/copy_jdk_configs.lua" 2> /dev/null || :/bin/shfindutilsutf-8c0fc1e073f6cc315c498ee563949c43835db458d3c72151e02fe03bff3e7cfd41d99f13b22595b29319f62ec4ac2b33f97092b7550dea26b63faffbe83c3db40?����(�/�h�ʤ 3������m�dϕ��f�܎Ig�N��� �z���W����>Y@F�@������>͛���F o��m���}}���� $1@�H{S��h�=7��#5Fb?�He����˲pPM�,@b�����)�B�/�}ݛS>@Qn��ؚY�>��vb�:w���i�s��w�i�J�{�v�#Ǒ^����� ���� �Հ򷑽�p�$AU�H��\APtm����#M����{����J������tɑjF۩t_#�,�jb\%���g9��nգ�׻���i]�$�9�\E��I0���]@-�['l�9���`+aޣ��n4�M5h��E��a��� ~hg�d�E���5bL>�G�0��<�~��4}�Ռ��"t0p�q�1נ��$G��I��jz�>2x_k��ah�Q�����}|LI3(`�İ�{s@�-��5 ��}���{�?�lW�9d�^�����jpH��#1ZaG&b��� )؜�䤮o��$TD4���bPŮH��[fY���jF�/m���9"*5�q.kr �ĎV��U$��E8k�4茜sn�$� |�Ȁ��vO��Oӗ��V� V^�n>�,��#6z�V!g�.~�����Ԥ3�1m���o�H���߻s4y}v��^�_�3�w_�s�z_�� G��Yk��t��X����1�3j��1�����V�� 9����啍�/���c˾�'����dl���l��=�#w.���r�b�7�)�׽�ҷʴn���^1������#1h�ξ��H[S����1�/7.���w�6�� η��� ��T��6 �J �ݙXe �Թ�����2���LZq��Z?���V� �+7&<�k[癐���4]�,���Z������4�}+����Vb�yN?m9���������>�A�N]엚�t���@9���[-�;8&Pw����N��#�V��~Ц�fo�0i�#I���G��omZ�Gޚ�"�A9d�40=X����T��p�x�[)F��Qԃ�8d"a ����d�b85>�c�m�L�-�i�������j|g��e���pO�2�� �Dǃ�c��<�P��%;�!`�ē��x恀���zL,��bIl��j�5B� ������C$��n/�|�� �������k��j���jW��V�����#��z4��&j�y Z��y  � �_`�� R�<d�T�ɓ��H��r�9��?��o������c�ш��^`�Ҟ�� O8턮+���*��F|�J��X����`� 6�BB��D秘�ϔ��\��u"����Pg���.=��� '7&��n�u��<��;Ws$�������E��LJ-":���B_%И]�� #<���%�c�Kl%v�TqY�����i��)���WO�!n��GoVFaeT�x��z�!���/tKL�~X� ��D�e�歬*I*=�TA^� \'^ _Z��)0�k*UP̽yb �@�mۉ�Z�ч>�Hf�FM��tΖ���CLh��3��a5ͨ2����C�Q��?����� ���!�/�B�� Hu����x�2��"�C�Uʭ�}}��{�Ð�6��O�1�(�.��*p�����7����$G�����@ʊL� �!�z����j^q ���=G��Qz�T�.9+��I��'��CJ.��_�=�XH��oO ��lHa���t��iN*�-#E驠��B8a�J�� ��ւa��.�m��K�"Y�u�gW�^�`���R�X�� LF%G����rh؉���۲$Dʸ��8gH��8@��z�����1����Pg�6�Ve�@�&�z�f4�$��V6F�P�X�z<ayǁZQfZXT��|p��e*�]�X�jj����é�:J����BFr!W�"$���ȱ��O��ܤ��M-��2�� �D&�F�ꔨY;0sޗ�GNA�[U�%����v՜�w�w�E�in2�f�z�b�W \�d�bpρTtL�������+�Te���Ә:⇥Yx��س�H^�膺���;l�2iM�BS��#�k��Shn�w1$h��B�7�p�SuPN�8N���v ���L�$�}Z�5��9U,���0Z>�%[c�#�� [�סDo��J�B��zvҒѧ�U�@�-�����@���3�~`l���y��۝s�^�O�C�kvo����0�"�7����ev�m��e���e����$t��8\��`( �b(�t��2�ņ���@78j,o�mM5�܅q�M��� ]2j�d�*$�; �l����]��ٳ��4~�{bi�D�t�ˤ������ ~���� (g,N(j2���t�m�$1����>�� ]���ö��$L��HX�8��J�p�7yv��O8���<3����v �M��HΧc)�t��|� �>}����W�Dc @��Ɗ4p6������Vv�eEm7����T�f�Z�y-ď��a�YV�� �6��Ś�I b�7(V̤?gdM�����d���+R��� �T������d� t��e߲&�)�{��q��+�}�(1m�'9�x�v�q�(o�Zd9��5�B�w��?��ک��`�qr�H%E�) �,z�����KPL��r �/��P':{Py�~��qL�]yQj�<�y��+d��hxe�'�S�I�'m��d���DcDt��a��D�>��f��t�3J���`˶[-����2�9�v%��l(�(s�v���` %Dҝ(�}�O��U"`>�m���Q�/u�E�P�� ��yJ�@.I$x������oT���ꁺFB��4�ʟ ��,���I�E���0Wx���[ωf6�)٬�L���RM}ӳB���@����!�IN�n�R�x:.Ј��`,� ҍ�C��/ u�ڥ�O��XH��9��~/J{��A�����N����f�%�ͷÙ��uJ��=T�/���63%����@5�^�Z@��rO�f����?�M���p�/a�Ĩ��vuB�)-T����ˡz� ݯ${�}�Ef��א'D�+��-S��+�$g/�'�!Y�N�M]G_� 1[��f��7��A,� 3W�xa~k����5�'�C�����|f X�|".��Ɉ��K�o�i܅/���0$�΢�J ,a=W|\%\�|�-���ʣj��S�J�Z��ě�w�5�τ�!�j{��4�2��bJή��u�h]�+Ծ*��T�e.��E|7�i��W�`d�+_ꒅ[Ǥ l ;!R�}u��m�.ruo �0�r�8��|�&�?hL�PH0�B~�fsk��9Ij(H&�^��C1�|�N�^Δs4�z�إX�8�{<��6$�PZ�����é��&�]����^�0�Lʳ���z�'��%F�=��5"����+�����c^�%�A�(J�Iv�p�&Tcd���� �jT@1��?n�(��g���)B5&��A��%�Jw��8�t�O�; ���<;�M����#~7]I�]��^1�E�T�=!;�_�U=^����:�Ҏ};��96���N�u���@�� ��D���f��̶+ g��P��E������R� g\i ��nw8�P��`fA�oM���� �jO�=��i�;��6|��9;o� �G�L�R����1i߫�GY�n��c�m )Yh҄'���8#�V7n��x��e����y� Q�!��J2uer�lA0F����.��=����ۻ��k_n��'����P"Eg�kN=�u��3�*��{���QWe���g��}< �q���!?�_����{/����_��o����� G~��iT��i�W/^�c��[*��)���Y�]�TF�h ��S�����Y�!Fr���4(CH��,� �R�^�_�\;�O�ú��h��\Л�/�����7�Y� OA���iS~�ܮ:}r�A�Hkؤ~�1:���"���'��7wF�@y7$���rnW�F 귝E���|uvhs�f~b��A�È;x�K|Lk�";�88.|�����0<0�0�p��tT��͋�h��*�\��g�:7��v/B�޲q����E��J��.� �G�}����� ��o�^�+O�%�����L7�'t�/�q��bRa\:�{�]}�W g�dUH��j�b���q=���� G�ģ+��"w����ٕ����YÙ(D��M�̅�y� f,v�T�Z�8���;�����x ._�vQmȅ��j����w���.,Ae���TvV������6��+�!�ع�,���5�� ������DңTp�:`�*u� D��T�=h�6����fdUY��X�(ځ�� ��hu��:a�0�L^� �w(JO��6���IIgչ oP��ZY06D��5Np����jj�{�p+���p�������jm�$�&���KDm��x�Jo@L��6�=�l�#�GW��*�~�ş��c�JZK���',<|��aŒJ��sˀ��u����)�t�h��q�@��Ɓ�#��h�#DDx���&.�5����_|T�Wc�V)pC!��c�+L&%