fedora-release-cloud-26-1$>> ~{ʎ)  >;3*?3d  Z  %FLS-+ + + +$ +0 + ++++,, ,,-I(-w8-9-:/>0?0G0H1I1X1Y1(\18]1D^1rb1d2e2f2l2t2u2v233Cfedora-release-cloud261Base package for Fedora Cloud-specific default configurationsProvides a base package for Fedora Cloud-specific configuration files to depend on.YVbuildvm-11.phx2.fedoraproject.orgFedora ProjectFedora ProjectMITFedora ProjectSystem Environment/Basehttps://pagure.io/fedora-releaselinuxnoarch-- This is intended to be run as an RPM scriptlet. -- Keep this file in sync with the convert-to-edition -- shell script local VARIANT_FILE = "/usr/lib/variant" -- Read in /usr/lib/variant and determine the edition local function read_variant() local variant local f = io.open(VARIANT_FILE, "r") if f ~= nil then while true do local line = f:read() if line == nil then break end local m = line:match("^VARIANT_ID=([^\n]+)") if m ~= nil then variant = m end end f:close() end return variant end -- Atomically replace a file with new contents local function writefile(path, data) local tmp = path .. ".convert-to-edition" local f = io.open(tmp, "w+") if f == nil then return end f:write(data) f:close() if not os.rename(tmp, path) then os.remove(tmp) end end -- Forcibly replace a symlink local function symlink(from, to) os.remove(to) assert(posix.symlink(from, to)) end -- Run a subroutine in a child process local function execute(...) local pid = posix.fork() if pid == 0 then posix.exec(...) posix.exit(1) elseif pid ~= -1 then local status = posix.wait(pid) if status ~= 0 then local program = ... error(program .. " exited with status " .. status) end end end -- Remove preset files for other editions -- This should never be necessary, but it's best to be safe local function clear_presets() local path = "/usr/lib/systemd/system-preset" for file in posix.files(path) do if file:match("^80-.*%.preset$") then os.remove(path .. "/" .. file) end end end -- Get a list of presets that need to be enabled or disabled -- as part of the installation of this edition local function read_presets(path) local result = {} local f = assert(io.open(path)) if f ~= nil then while true do local line = f:read() if line == nil then break end local cmd, arg = line:match("^([^ \t]+)[ \t]+([^\n \t]+)") if cmd == "enable" or cmd == "disable" then result[#result + 1] = arg end end f:close() end return result end local function set_variant(variant) writefile(VARIANT_FILE, "VARIANT_ID=" .. variant .. "\n") end local function set_release(release) symlink("./os.release.d/os-release-" .. release, "/usr/lib/os-release") end local function set_issue(release) symlink("./os.release.d/issue-" .. release, "/usr/lib/issue") end -- release: the VARIANT_ID for os-release -- issue: which /etc/issue file to install -- presets: whether this edition has extra presets beyond the -- defaults to enable or disable local variants = { atomichost = {release = "atomichost", issue = "fedora", presets = false}, cloud = {release = "cloud", issue = "fedora", presets = false}, nonproduct = {release = "fedora", issue = "fedora", presets = false}, server = {release = "server", issue = "server", presets = true}, workstation = {release = "workstation", issue = "fedora", presets = true}, } -- Call out to systemctl to enable or disable presets local function set_presets(edition, apply_presets) if variants[edition].presets then local target = "/usr/lib/systemd/system-preset/80-" .. edition .. ".preset" symlink("../../os.release.d/presets/80-" .. edition .. ".preset", target) if apply_presets then local presets = read_presets(target) local systemctl = "/usr/bin/systemctl" if posix.access(systemctl, "x") then --fork off a systemctl call local pid = assert(posix.fork()) if pid == 0 then -- Child posix.exec(systemctl, "preset", "-q", table.unpack(presets)) -- In case exec() fails os.exit(17) else -- RPM assert(posix.wait(pid)) end end end end end local function convert_to_edition(edition, apply_presets) local variant = variants[edition] if variant == nil then error("undefined edition: " .. edition) end set_release(variant.release) set_issue(variant.issue) clear_presets() set_presets(edition, apply_presets) end local function install_edition(edition) -- Create the variant file if it does not already exist. This needs -- to be done on both installation and upgrade, to ensure that we -- upgrade from F23 and earlier properly. if not posix.access(VARIANT_FILE, "f") then set_variant(edition) end if read_variant() == edition then -- (On initial installation only), fix up after %systemd_post -- in packages possibly installed before our preset file was -- added -- On upgrades, do not enable or disable presets to avoid -- surprising the user local initial_install = arg[2] == 1 convert_to_edition(edition, initial_install) end end local function uninstall_edition(edition) -- If we are uninstalling, we need to reset the variant file and -- force the os-release file back to os-release-fedora. We do this -- in %preun so that we don't have any time where the os-release -- symlink is dangling (since in %postun, the os-release-$EDITION -- file will have already been removed) if arg[2] == 0 then if read_variant() == edition then set_variant("nonproduct") convert_to_edition("nonproduct", false) end end end install_edition("cloud")-- This is intended to be run as an RPM scriptlet. -- Keep this file in sync with the convert-to-edition -- shell script local VARIANT_FILE = "/usr/lib/variant" -- Read in /usr/lib/variant and determine the edition local function read_variant() local variant local f = io.open(VARIANT_FILE, "r") if f ~= nil then while true do local line = f:read() if line == nil then break end local m = line:match("^VARIANT_ID=([^\n]+)") if m ~= nil then variant = m end end f:close() end return variant end -- Atomically replace a file with new contents local function writefile(path, data) local tmp = path .. ".convert-to-edition" local f = io.open(tmp, "w+") if f == nil then return end f:write(data) f:close() if not os.rename(tmp, path) then os.remove(tmp) end end -- Forcibly replace a symlink local function symlink(from, to) os.remove(to) assert(posix.symlink(from, to)) end -- Run a subroutine in a child process local function execute(...) local pid = posix.fork() if pid == 0 then posix.exec(...) posix.exit(1) elseif pid ~= -1 then local status = posix.wait(pid) if status ~= 0 then local program = ... error(program .. " exited with status " .. status) end end end -- Remove preset files for other editions -- This should never be necessary, but it's best to be safe local function clear_presets() local path = "/usr/lib/systemd/system-preset" for file in posix.files(path) do if file:match("^80-.*%.preset$") then os.remove(path .. "/" .. file) end end end -- Get a list of presets that need to be enabled or disabled -- as part of the installation of this edition local function read_presets(path) local result = {} local f = assert(io.open(path)) if f ~= nil then while true do local line = f:read() if line == nil then break end local cmd, arg = line:match("^([^ \t]+)[ \t]+([^\n \t]+)") if cmd == "enable" or cmd == "disable" then result[#result + 1] = arg end end f:close() end return result end local function set_variant(variant) writefile(VARIANT_FILE, "VARIANT_ID=" .. variant .. "\n") end local function set_release(release) symlink("./os.release.d/os-release-" .. release, "/usr/lib/os-release") end local function set_issue(release) symlink("./os.release.d/issue-" .. release, "/usr/lib/issue") end -- release: the VARIANT_ID for os-release -- issue: which /etc/issue file to install -- presets: whether this edition has extra presets beyond the -- defaults to enable or disable local variants = { atomichost = {release = "atomichost", issue = "fedora", presets = false}, cloud = {release = "cloud", issue = "fedora", presets = false}, nonproduct = {release = "fedora", issue = "fedora", presets = false}, server = {release = "server", issue = "server", presets = true}, workstation = {release = "workstation", issue = "fedora", presets = true}, } -- Call out to systemctl to enable or disable presets local function set_presets(edition, apply_presets) if variants[edition].presets then local target = "/usr/lib/systemd/system-preset/80-" .. edition .. ".preset" symlink("../../os.release.d/presets/80-" .. edition .. ".preset", target) if apply_presets then local presets = read_presets(target) local systemctl = "/usr/bin/systemctl" if posix.access(systemctl, "x") then --fork off a systemctl call local pid = assert(posix.fork()) if pid == 0 then -- Child posix.exec(systemctl, "preset", "-q", table.unpack(presets)) -- In case exec() fails os.exit(17) else -- RPM assert(posix.wait(pid)) end end end end end local function convert_to_edition(edition, apply_presets) local variant = variants[edition] if variant == nil then error("undefined edition: " .. edition) end set_release(variant.release) set_issue(variant.issue) clear_presets() set_presets(edition, apply_presets) end local function install_edition(edition) -- Create the variant file if it does not already exist. This needs -- to be done on both installation and upgrade, to ensure that we -- upgrade from F23 and earlier properly. if not posix.access(VARIANT_FILE, "f") then set_variant(edition) end if read_variant() == edition then -- (On initial installation only), fix up after %systemd_post -- in packages possibly installed before our preset file was -- added -- On upgrades, do not enable or disable presets to avoid -- surprising the user local initial_install = arg[2] == 1 convert_to_edition(edition, initial_install) end end local function uninstall_edition(edition) -- If we are uninstalling, we need to reset the variant file and -- force the os-release file back to os-release-fedora. We do this -- in %preun so that we don't have any time where the os-release -- symlink is dangling (since in %postun, the os-release-$EDITION -- file will have already been removed) if arg[2] == 0 then if read_variant() == edition then set_variant("nonproduct") convert_to_edition("nonproduct", false) end end end uninstall_edition("cloud")'A큤YVYVYV4309a8c2207076849aa9af2ee8ad4b5b8d1f82af84f4b7ee3c3525f256ccfb37e98708047560db5a5bcf7495c3108709760cbf6202df7b216cbd7918725e7d0frootrootrootrootrootrootfedora-release-26-1.src.rpmconfig(fedora-release-cloud)fedora-release-cloudsystem-release-cloudsystem-release-cloud(26)system-release-product     config(fedora-release-cloud)fedora-releaserpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)26-126-14.2.2-13.0.4-14.6.0-14.0-15.2-14.13.0.1YV=@Y;@Xg@Xf@X2@X2@X=W Mohan Boddu - 26-0.8Mohan Boddu - 26-0.7Mohan Boddu - 26-0.6Dennis Gilmore - 26-0.5Dennis Gilmore - 26-0.4Zbigniew Jędrzejewski-Szmek - 26-0.3Stephen Gallagher - 26-0.2Mohan Boddu - 26-0.1- Setup for F26 Final - Enable NetworkManager-wait-online.service to match NetworkManager.service- Enable cups on-demand socket activation - Enable ostree-remount on ostree-based systems- Disable systemd-networkd-wait-online.service- update for branching- bump for needed rebuild- Fix mangled Release tag- Move convert-to-edition to its own subpackage - Eliminate circular dependency on bash from the base package - Enable switcheroo-control.service- setup for rawhide being f2626-126-1os-release-cloudfedora-release-cloudLICENSE/usr/lib/os.release.d//usr/share/licenses//usr/share/licenses/fedora-release-cloud/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m32 -march=i686 -fasynchronous-unwind-tablesdrpmxz2noarch-redhat-linux-gnuASCII textdirectoryutf-8?P7zXZ !#,b]"k%{HfkxyIΞA;M*ixـ0]MhmbIһ|0^l[oySOcXlyCS)"8< lks3y6463bW9f IŸwy3&50ͥdH?"R5V \ -5QS^.tzv0nLC>#8w4Tﻭ+A K`o#Ifaas^C"1sԒ(=sL`eewu^)[%+բU?c$s>Z^oѣkrg]kma II N|Mb ab#ssUr&$ к+?"4L8†pSm9|5N l-ѕJ!j\)$F3E0\|'}Sip+f`ib4hCpN E S{0li߀RҒ