-
-
Notifications
You must be signed in to change notification settings - Fork 25
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
132 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
project pkg { | ||
arches = ["x86_64"] | ||
rpm { | ||
spec = "terra-obsolete.spec" | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 tbd | ||
%obsolete switchboard-plug-wallet 50582fc-3 | ||
|
||
%description | ||
|
||
Currently obsoleted packages: | ||
|
||
%list_obsoletes | ||
|
||
%prep | ||
|
||
%files | ||
|
||
%changelog | ||
%autochangelog | ||
|