Bug 17157 - task obsolete should only have a core version instead of one for core and one for tainted
Summary: task obsolete should only have a core version instead of one for core and one...
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: All Linux
Priority: Normal critical
Target Milestone: ---
Assignee: Sysadmin Team
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-15 23:01 CET by Barry Jackson
Modified: 2016-02-14 11:33 CET (History)
4 users (show)

See Also:
Source RPM: task-obsolete
CVE:
Status comment:


Attachments

Description Barry Jackson 2015-11-15 23:01:39 CET
Description of problem:
There should only be one version in core.

The same situation existed in Mga 5, and was (can still) cause problems when testing packages from backports or updates_testing that were at one time obsoleted in the older version.
The Mageia 5 situation has been partly mitigated by synchronizing the two versions, but it's not ideal, as when no version of task-obsolete is installed (default) either the old or new version may be installed by urpmi --auto-update depending on the particular obsolete involved.

To avoid this mess continuing into Mageia 6 can we please nuke the tainted task-obsoletes from the Cauldron mirrors.


Version-Release number of selected component (if applicable):
barjac> :v task-obsolete -dMga -rcauldron
<Sophie> 6-31.mga6 // core-release (Mga, cauldron, i586), core-release (Mga, cauldron, x86_64)
<Sophie> 5-41.mga5.tainted // tainted-release (Mga, 5, x86_64), tainted-release (Mga, 5, i586), tainted-release (Mga, cauldron, i586), tainted-release (Mga, cauldron, x86_64)

How reproducible:
See https://bugs.mageia.org/show_bug.cgi?id=1067#c35 and onwards for example of problem.

Steps to Reproduce:
1.
2.
3.


Reproducible: 

Steps to Reproduce:
Comment 1 Thomas Backlund 2015-11-16 08:23:44 CET
(In reply to Barry Jackson from comment #0)
> Description of problem:
> There should only be one version in core.
> 
> The same situation existed in Mga 5, and was (can still) cause problems when
> testing packages from backports or updates_testing that were at one time
> obsoleted in the older version.

That's why there should _Always_ be versioned obsoletes in task-obsolete.
if there is not, it should be fixed.

> The Mageia 5 situation has been partly mitigated by synchronizing the two
> versions, but it's not ideal, as when no version of task-obsolete is
> installed (default) either the old or new version may be installed by urpmi
> --auto-update depending on the particular obsolete involved.


Actually urpmi should always select the tainted one if both are available and same EVR as the end "1.mga6.tainted" is bigger than "1.mga6" in comparision...

if it does not, we have a bug in the deps resolver

CC: (none) => tmb

Comment 2 Barry Jackson 2015-11-16 17:17:32 CET
Yes the original obsolete should have been versioned.

However, that would not have caused an issue if there was not an ancient version of task-obsolete in tainted.

Should the one in tainted be nuked, or should it be there - if so, why?
Comment 3 Rémi Verschelde 2015-11-16 17:27:15 CET
I guess it exists because it has been used at a time to nuke tainted SRPMs?
Comment 4 Barry Jackson 2015-11-16 22:52:10 CET
(In reply to Rémi Verschelde from comment #3)
> I guess it exists because it has been used at a time to nuke tainted SRPMs?

Tainted SRPMS? Are there such things? Surely we use the same sources for both tainted and core, only the submit --define section changes. Or am I really missing something? :\
Comment 5 Rémi Verschelde 2015-11-16 23:00:12 CET
(In reply to Barry Jackson from comment #4)
> (In reply to Rémi Verschelde from comment #3)
> > I guess it exists because it has been used at a time to nuke tainted SRPMs?
> 
> Tainted SRPMS? Are there such things? Surely we use the same sources for
> both tainted and core, only the submit --define section changes. Or am I
> really missing something? :\

We use the same SVN source, but when you submit with mgarepo, it's a SRPM that you submit. And the task-obsolete will also work only on packages of its own repo, i.e. to obsolete tainted packages you need a tainted task-obsolete.
Comment 6 Barry Jackson 2015-11-16 23:53:24 CET
(In reply to Rémi Verschelde from comment #5)
> (In reply to Barry Jackson from comment #4)
> > (In reply to Rémi Verschelde from comment #3)
> > > I guess it exists because it has been used at a time to nuke tainted SRPMs?
> > 
> > Tainted SRPMS? Are there such things? Surely we use the same sources for
> > both tainted and core, only the submit --define section changes. Or am I
> > really missing something? :\
> 
> We use the same SVN source, but when you submit with mgarepo, it's a SRPM
> that you submit. And the task-obsolete will also work only on packages of
> its own repo, i.e. to obsolete tainted packages you need a tainted
> task-obsolete.

OK,but the tainted task-obsoletes get installed, to obsolete core packages by urpmi --auto-updates  (if task-obsoletes is not already installed).

See comment #1 where tmb says that if tainted is available then tainted task-obsoletes will always be used, irrespective of it's version.

However urpmi task-obsoletes installs the newer core version even when tainted is enabled.
...and then that version is used by urpmi --auto-updates even with tainted enabled AND a an obsoleted package listed in the tainted version that is relevant to the transaction.
Comment 7 Barry Jackson 2015-11-17 00:00:05 CET
Ah I missed the EVR bit in tmb's comment so it's not "irrespective of version" but that does not affect the discussion as here the versions are different.
Comment 8 David Walser 2015-11-17 21:52:18 CET
task-obsolete's purpose is to remove packages from users' machines, NOT to remove them from a repo (that's only a side-effect).  For its purpose, obsoleting packages in task-obsolete in core will work no matter what repo they came from.  There should *NOT* be a duplicate package of task-obsolete in any other repo.
Comment 9 Barry Jackson 2015-11-18 12:40:44 CET
Thanks David.
I have asked on numerous occasions in #mageia-dev and #mageia-sysadm for it to be removed from Cauldron tainted (as you are aware) but nothing has happened, hence this bug report.

@tmb
Regarding unversioned Obsoletes in task-obsolete, there are approx. 120.
Comment 10 Marja Van Waes 2016-02-13 21:41:28 CET
The versions are the same, now

task-obsolete-6-46.mga6
task-obsolete-6-46.mga6.tainted

So the issue from the summary of this report, got fixed.

(In reply to David Walser from comment #8)
> task-obsolete's purpose is to remove packages from users' machines, NOT to
> remove them from a repo (that's only a side-effect).  For its purpose,
> obsoleting packages in task-obsolete in core will work no matter what repo
> they came from.  There should *NOT* be a duplicate package of task-obsolete
> in any other repo.

So the tainted version should be obsoleted by the core version, something like

Obsoletes: task-obsolete < 6-47.mga6.tainted ??

CC: (none) => marja11
Assignee: bugsquad => pkg-bugs

Comment 11 Marja Van Waes 2016-02-14 09:44:49 CET
(In reply to Marja van Waes from comment #10)

> 
> (In reply to David Walser from comment #8)
> > task-obsolete's purpose is to remove packages from users' machines, NOT to
> > remove them from a repo (that's only a side-effect).  For its purpose,
> > obsoleting packages in task-obsolete in core will work no matter what repo
> > they came from.  There should *NOT* be a duplicate package of task-obsolete
> > in any other repo.
> 
> So the tainted version should be obsoleted by the core version, something
> like
> 
> Obsoletes: task-obsolete < 6-47.mga6.tainted ??

Or, in case it gets accidentally pushed to tainted again:

Obsoletes: task-obsolete <= %{version}-%{release}.mga6.tainted ?

Should that work? I haven't found an example of only the tainted version of a package getting obsoleted.

Summary: task obsolete in Cauldron has two different versions in core and tainted => task obsolete should only have a core version instead of one for core and one for tainted

Comment 12 David GEIGER 2016-02-14 09:50:36 CET
Marja, nop we can't remove task-obsolete only from tainted repo, only a sysadmin can directly remove it.

CC: (none) => geiger.david68210

Comment 13 Marja Van Waes 2016-02-14 11:05:48 CET
(In reply to David GEIGER from comment #12)
> Marja, nop we can't remove task-obsolete only from tainted repo, only a
> sysadmin can directly remove it.

re-assigning to sysadmin team, then :-)

CC: (none) => sysadmin-bugs
Component: RPM Packages => Release (media or process)
Assignee: pkg-bugs => sysadmin-bugs

Comment 14 Marja Van Waes 2016-02-14 11:07:42 CET
(can't find the component i was looking for, thought it had to be something else than packages if it's isn't something a packager can do)

Component: Release (media or process) => RPM Packages

Comment 15 Thomas Backlund 2016-02-14 11:33:13 CET
dropped from tainted

Status: NEW => RESOLVED
Resolution: (none) => FIXED


Note You need to log in before you can comment on or make changes to this bug.