Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add terra-obsolete #994

Merged
merged 4 commits into from
Mar 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions anda/desktops/elementary/switchboard-plug-wallet/anda.hcl

This file was deleted.

This file was deleted.

4 changes: 0 additions & 4 deletions anda/desktops/elementary/switchboard-plug-wallet/update.rhai

This file was deleted.

6 changes: 6 additions & 0 deletions anda/terra/obsolete/anda.hcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
project pkg {
arches = ["x86_64"]
rpm {
spec = "terra-obsolete.spec"
}
}
126 changes: 126 additions & 0 deletions anda/terra/obsolete/terra-obsolete.spec
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
Name: terra-obsolete
# Please keep the version equal to the targeted Terra release
Version: 39
# The dist number is the version here, it is intentionally not repeated in the release
%global dist %nil

Release: %autorelease
Summary: A package to obsolete retired packages, based on Fedora's equivalent package

License: LicenseRef-Fedora-Public-Domain
BuildArch: noarch

# ===============================================================================
# Skip down below these convenience macros
%define obsolete_ticket() %{lua:
local ticket = rpm.expand('%1')

-- May need to declare the master structure
if type(obs) == 'nil' then
obs = {}
end

if ticket == '%1' then
rpm.expand('%{error:No ticket provided to obsolete_ticket}')
end

if ticket == 'Ishouldfileaticket' then
ticket = nil
end

-- Declare a new set of obsoletes
local index = #obs+1
obs[index] = {}
obs[index].ticket = ticket
obs[index].list = {}
}

%define obsolete() %{lua:
local pkg = rpm.expand('%1')
local ver = rpm.expand('%2')
local pkg_
local ver_
local i
local j

if pkg == '%1' then
rpm.expand('%{error:No package name provided to obsolete}')
end
if ver == '%2' then
rpm.expand('%{error:No version provided to obsolete}')
end

if not string.find(ver, '-') then
rpm.expand('%{error:You must provide a version-release, not just a version.}')
end

print('Obsoletes: ' .. pkg .. ' < ' .. ver)

-- Check if the package wasn't already obsoleted
for i = 1,#obs do
for j = 1,#obs[i].list do
pkg_, ver_ = table.unpack(obs[i].list[j])
if pkg == pkg_ then
rpm.expand('%{error:' .. pkg ..' obsoleted multiple times (' .. ver_ .. ' and ' .. ver ..').}')
end
end
end

-- Append this obsolete to the last set of obsoletes in the list
local list = obs[#obs].list
list[#list+1] = {pkg, ver}
}

%define list_obsoletes %{lua:
local i
local j
for i = 1,#obs do
for j = 1,#obs[i].list do
pkg, ver = table.unpack(obs[i].list[j])
print(' ' .. pkg .. ' < ' .. ver .. '\\n')
end
if obs[i].ticket == nil then
print(' (No ticket was provided!)\\n\\n')
else
print(' (See ' .. obs[i].ticket .. ')\\n\\n')
end
end
}

# ===============================================================================
# Add calls to the obsolete_ticket and obsolete macros below, along with a note
# indicating the Terra version in which the entries can be removed. This is
# generally three releases beyond whatever release Rawhide is currently. The
# macros make this easy, and will automatically update the package description.

# A link with information is important. Please don't add things here
# without having a link to a PR on GitHub, a link to a package
# retirement commit, or something similar. We generally recommend you
# put the GitHub PR in which the obsolete is being added.

# All Obsoletes: entries MUST be versioned (including the release),
# with the version being higher (!)
# than the last version-release of the obsoleted package.
# This allows the package to return to the distribution later.
# The best possible thing to do is to find the last version-release
# which was in the distribution, add one to the release,
# and add that version without using a dist tag.
# This allows a rebuild with a bumped Release: to be installed.

# Remove in 43
%obsolete_ticket https://github.com/terrapkg/packages/pull/994
%obsolete switchboard-plug-wallet 50582fc-3

%description

Currently obsoleted packages:

%list_obsoletes

%prep

%files

%changelog
%autochangelog

1 change: 0 additions & 1 deletion comps.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,6 @@
<packagereq type="default">switchboard-plug-security-privacy</packagereq>
<packagereq type="default">switchboard-plug-datetime</packagereq>
<packagereq type="default">switchboard-plug-parental-controls</packagereq>
<packagereq type="default">switchboard-plug-wallet</packagereq>
<packagereq type="default">switchboard-plug-useraccounts</packagereq>
<packagereq type="default">switchboard-plug-wacom</packagereq>
<packagereq type="default">switchboard-plug-locale</packagereq>
Expand Down
Loading