Blob Blame History Raw
Name:       centos-obsolete-packages
# Please keep the version equal to the targeted CentOS release
Version:    8
Release:    3
Summary:    A package to obsolete retired packages

# This package has no actual content; there is nothing to license.
License:    Public Domain
URL:        https://www.centos.org/
BuildArch:  noarch

Source0:    README

# ===============================================================================
# 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')

    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

    local o = pkg .. ' < ' .. ver
    print('Obsoletes: ' .. o)

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

%define list_obsoletes %{lua:
    local i
    local j
    for i = 1,#obs do
        for j = 1,#obs[i].list do
            print('  ' .. obs[i].list[j] .. '\\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
}

# ========================================
# Please place non-python2 Obsoletes: here
# ========================================

# Erroneously added in 8.0
%obsolete_ticket https://wiki.centos.org/Manuals/ReleaseNotes/CentOS8.1911
%obsolete rpm 4.14.2-11.el8_0
%obsolete binutils 2.30-58.el8.0.1

# Carried over into 8.1
%obsolete which 2.21-10.el8

# This package won't be installed, but will obsolete other packages
Provides: libsolv-self-destruct-pkg()

%description
This package exists only to obsolete other packages which need to be removed
from the distribution for some reason.

Currently obsoleted packages:

%list_obsoletes


%prep
%autosetup -c -T
cp %SOURCE0 .


%files
%doc README


%changelog
* Fri May 29 2020 bstinson@centosproject.org - 8-3
- Add an obsolete for which

* Fri Jan 10 2020 bstinson@centosproject.org - 8-2
- Remove an obsolete for sssd

* Thu Jan  0 2020 Pablo Greco <pgreco@centosproroject.org> - 8-1
- Obsolete packages with erroneous i686 in x86_64