fedora-release-iot-29-11$>NxbEY䖾_&E^>>D?Dd  W %1LRY00 0 0 0 1 112 2&2D2X223P(3z8393:9>@?@G@H@I@X@Y@\@]A^ARbAdC;eC@fCClCEtC`uCtvCD<D@DnDtDCfedora-release-iot2911Base package for Fedora IoT specific default configurationsProvides a base package for Fedora IoT specific configuration files to depend on as well as IoT system defaults.]Abuildvm-23.phx2.fedoraproject.orgFedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://fedoraproject.org/linuxnoarch-- 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_edition_swidtag(release) symlink("/usr/lib/os.release.d/Fedora-" .. release .. ".swidtag", "/usr/lib/swidtag/fedoraproject.org/org.fedoraproject.Fedora-edition.swidtag") end local function unset_edition_swidtag() os.remove("/usr/lib/swidtag/fedoraproject.org/org.fedoraproject.Fedora-edition.swidtag") end -- release: the VARIANT_ID for os-release -- presets: whether this edition has extra presets beyond the -- defaults to enable or disable local variants = { atomichost = {release = "atomichost", presets = false}, cloud = {release = "cloud", presets = false}, cinnamon = {release = "cinnamon", presets = false}, container = {release = "container", presets = false}, coreos = {release = "coreos", presets = false}, iot = {release = "iot", presets = true}, kde = {release = "kde", presets = false}, matecompiz = {release = "matecompiz", presets = false}, nonproduct = {release = "fedora", presets = false}, server = {release = "server", presets = true}, silverblue = {release = "silverblue", presets = false}, soas = {release = "soas", presets = false}, workstation = {release = "workstation", presets = true}, xfce = {release = "xfce", presets = false}, } -- 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) -- Symlink the correct edition .swidtag for anything but nonproduct if edition == "nonproduct" then unset_edition_swidtag() else set_edition_swidtag(variant.release) end 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("iot")-- 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_edition_swidtag(release) symlink("/usr/lib/os.release.d/Fedora-" .. release .. ".swidtag", "/usr/lib/swidtag/fedoraproject.org/org.fedoraproject.Fedora-edition.swidtag") end local function unset_edition_swidtag() os.remove("/usr/lib/swidtag/fedoraproject.org/org.fedoraproject.Fedora-edition.swidtag") end -- release: the VARIANT_ID for os-release -- presets: whether this edition has extra presets beyond the -- defaults to enable or disable local variants = { atomichost = {release = "atomichost", presets = false}, cloud = {release = "cloud", presets = false}, cinnamon = {release = "cinnamon", presets = false}, container = {release = "container", presets = false}, coreos = {release = "coreos", presets = false}, iot = {release = "iot", presets = true}, kde = {release = "kde", presets = false}, matecompiz = {release = "matecompiz", presets = false}, nonproduct = {release = "fedora", presets = false}, server = {release = "server", presets = true}, silverblue = {release = "silverblue", presets = false}, soas = {release = "soas", presets = false}, workstation = {release = "workstation", presets = true}, xfce = {release = "xfce", presets = false}, } -- 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) -- Symlink the correct edition .swidtag for anything but nonproduct if edition == "nonproduct" then unset_edition_swidtag() else set_edition_swidtag(variant.release) end 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("iot")$]A]A]A]A]Abb7791c29c120e8ced40c8cab2a7feae03238ad60b8b34bc6b440e06f9850a9a6b61479207d767766058ca26739f433aa7d0cb8df52c61c40a3a0056b4b9f70c80603a0a99bec681ed9c7901de9ca5737475c49ee0e2a56d687817849147580b4006f5af05db53a86d492b04a0eafcbb1f616cb2dc2555d3fa920a09f4eecf87@rootrootrootrootrootrootrootrootrootrootfedora-release-29-11.src.rpmfedora-release-iotsystem-release-iotsystem-release-iot(29)system-release-product     fedora-releaserpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)29-114.2.2-13.0.4-14.6.0-14.0-15.2-14.14.2.1]A\\A\0@\@\\[1[[S@[/[[[[[~[x @[t[r@[l,[h8@[`O@[D[CN@[,[Z؄ZZ@Mohan Boddu - 29-11Stephen Gallagher - 29-10Robert Fairley - 29-9Kevin Fenzi - 29-8Stephen Gallagher - 29-7Mohan Boddu 29-6Mohan Boddu 29-5Peter Robinson 29-4Jan Pazdziora - 29-3Stephen Gallagher - 29-2Mohan Boddu 29-1Mohan Boddu 29-0.17Mohan Boddu 29-0.16Stephen Gallagher - 29-0.15Mohan Boddu 29-0.14Peter Robinson 29-0.13Jason L Tibbitts III - 29-0.12David Herrmann - 29-0.12Mohan Boddu 29-0.11Peter Robinson 29-0.10Peter Robinson 29-0.9Stephen Gallagher - 29-0.8Adam Williamson - 29-0.7Adam Williamson - 29-0.6Mohan Boddu - 29-0.5Stephen Gallagher - 29-0.4Hans de Goede - 29-0.3Matthias Clasen - 29-0.2Mohan Boddu - 29-0.1- Enable the session agent for snaps- Add Provides for the base module for Fedora (BZ #1688462)- Own /etc/issue.d directory.- own the /etc/swid dir- Include empty VERSION_CODENAME= field in os-release- Use the icon logo for `LOGO` in os-release(5)- Add 'LOGO' to os-release(5) for Fedora- Add IoT config to fix policy around TPM2 requirements- Produce distro-level SWID tag in /usr/lib/swidtag/fedoraproject.org. - Add edition supplemental .swidtag files, and amend convert-to-edition.lua to keep symlink to the correct one in sync with os-release.- Add ostree-finalize-staged.path preset- Setup for F29 Final - Add DOCUMENTATION_URL to os-release- Enable the stratis daemon for managing stratis storage- Set cpi.service as enabled in the systemd presets - Set device_cio_free service as enabled- Drop special issue handling and convert-to-edition script- Adding Container sub package - Adding CoreOS sub package - Adding Desktop Spin sub packages- Add Fedora IoT edition components- Escape use of the distprefix macro, so it makes it into the macro file instead of being expanded in the spec.- Enable dbus user units explicitly- Branching F29 from rawhide- Enable dbus units explicitly- Increment and build for source merge change- Drop Recommends: fedora-repos-modular from Server Edition since it has been merged into fedora-repos.- Drop rolekit from Server presets too- Server: don't require rolekit (not installable, soon to be retired)- Add selinux-autorelabel-mark.service to default presets - Enable the pipewire service for user sessions - fedora-* renamed to OS independent names - Fix pattern-match in convert-to-edition.lua- Add fedora-repos-modular to Fedora Server installs- Enable the virtualbox-guest-additions service (vboxservice.service) - Add PLATFORM_ID to /etc/os-release- Add polkit rules to let gnome-software update Atomic Workstation- Setup for rawhide being f2929-11iot-clevis.confFedora-iot.swidtagos-release-iot80-iot.preset80-iot.preset/etc/dracut.conf.d//usr/lib/os.release.d//usr/lib/os.release.d/presets//usr/lib/systemd/system-preset/-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/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m32 -march=i686 -mtune=generic -msse2 -mfpmath=sse -mstackrealign -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protectiondrpmxz2noarch-redhat-linux-gnuASCII textXML 1.0 document, ASCII textcannot open `/builddir/build/BUILDROOT/fedora-release-29-11.noarch/usr/lib/systemd/system-preset/80-iot.preset' (No such file or directory)https://bugz.fedoraproject.org/fedora-releaseutf-80d19b5a0ec66c47fd189442cc72cfffb9c83f7cf94396acdbe45e37d164511b7? 7zXZ !#,s]"k%nkxy<x(/lkndh(OSKm;*(ٔ>g\aVU jTeϲjA^Yu?l㳓+RbaYtH89PeLT'֪uB.q a d0 N&soM [F rB_VJy;rrJuXeGzQR:p!oizR5wg}@eX ai5fcd`a`VW_}\)4Qx(竈Us]F+ ql7 g՜5ܑ m,3I\-zt]yZv`mT:); _[%S eS(y]D|N;Ā',O-nMgB5  ΠᎌʮTEr/_=m,z> iQߨ"B`W]I,q/OIH:G:Jj8-\銆gKU%xrrn9vt l.&i!odSl4FQ?S!vN` '`^6saw 'rh!u4~!zM _C`ӹVXp0dU_,9SӚ7*R#XǠA1~3>Y&BTwαۯ$Xq-5/rV+4#TU)gr(JWʔbu;%j {ę9&7v%5whEiiL ՊVu"6鿘MN3_zGa]%ұ8>`Aܜz>+2ѹ'x h8vj}D)){NӅ9KD5AD1`14i=Li)0w -) qcGՔ[]wNgVlL)/#÷,EM#o^{ e:SIF \``*eurj]尷bqob?aOeP*$/[`ޞσXOOrNCMbȖI{3r/ -̮0_ Z]gBoQ &`*gNL%WUns970JxO?/nH<)=%\$5>A/ 5+h5۳FiL!x/=4XF $Q˒ YZ