From Fedora Project Wiki

fp-wiki>ImportUser
(Imported from MoinMoin)
 
m (Smooge moved page EPEL/Tasks/NextTestingStableMove to Archive:EPEL/Tasks/NextTestingStableMove without leaving a redirect: Page is not maintained)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
= Overview =
= Summary ==
 
{| style="border: 2px solid #d9d9d9" rowspan=2
|-
|||||||||style="text-align=left" |  '''Next steps'''
|-
|<rowspan=2> [[EPEL/Tasks/NextTestingStableMove?| Testing -> Stable]] ||{{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeCompletion-Start$", to="^## ScheduleIncludeCompletion-End$"}}||{{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeSummary-Start$", to="^## ScheduleIncludeSummary-End$"}}||{{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeOwner-Start$", to="^## ScheduleIncludeOwner-End$"}}||{{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeTarget-Start$", to="^## ScheduleIncludeTarget-End$"}}||{{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeUpdated-Start$", to="^## ScheduleIncludeUpdated-End$"}}
|-
|||||||||style="text-align=left" | {{:EPEL/Tasks/NextTestingStableMove,, from="^## ScheduleIncludeNextSeps-Start$", to="^## ScheduleIncludeNextSeps-End$"}}
|}
 
 
 
== Summary ==
<!-- ScheduleIncludeSummary-Start
-->


Move testing/ packages to proper repos
Move testing/ packages to proper repos


<!-- ScheduleIncludeSummary-End
-->
== Owner ==
<!-- ScheduleIncludeOwner-Start
-->
[[ThorstenLeemhuis| knurd]]
<!-- ScheduleIncludeOwner-End
-->
== Completion Level ==
== Completion Level ==
<!-- ScheduleIncludeCompletion-Start
-->


standing
standing


<!-- ScheduleIncludeCompletion-End
-->
== Target Date ==
== Target Date ==
<!-- ScheduleIncludeTarget-Start
-->


EPEL4: around the 15th each month
EPEL4: around the 15th each month
EPEL5: around the 1th each month
EPEL5: around the 1th each month


<!-- ScheduleIncludeTarget-End
-->
== Last updated ==
<!-- ScheduleIncludeUpdated-Start
-->
standing
<!-- ScheduleIncludeUpdated-End
-->
== Next steps ==
== Next steps ==
<!-- ScheduleIncludeNextSeps-Start
-->


* we should give maintainers a heads up some days before the move so they can say "no, please don't move foo due to bug bar"
* we should give maintainers a heads up some days before the move so they can say "no, please don't move foo due to bug bar"


* bodhi (which we can use once we use koji) should make this a lot easier in the long term
* bodhi (which we can use once we use koji) should make this a lot easier in the long term
<!-- ScheduleIncludeNextSeps-End
-->


= Details =
= Details =
Line 143: Line 97:


<pre>
<pre>
repoclosure -n -r centos${EPELVER} -r epel${EPELVER} -r epel${EPELVER}-testing > brokendeps
setarch i686 repoclosure -n -r centos${EPELVER} -r epel${EPELVER} -r epel${EPELVER}-testing > brokendeps-${EPELVER}
</pre>
 
Hint: if you use a x86_64 machine and want to check i386 repos use a command like this:
 
<pre>
setarch i686 repoclosure -n -a i386 -a i686 -r centos${EPELVER} -r epel${EPELVER} -r epel${EPELVER}-testing > brokendeps
</pre>
</pre>


For this to work you might need to remove the file /etc/rpm/platform
Hint: if you use a x86_64 machine remove /etc/rpm/platform


* Add a "exclude=" line to the epel?-testing section and add entries for every package that has a broken dep behind it (FIXME: add entry for packages that hit the repo not that long ago as well?)
* Add a "exclude=" line to the epel?-testing section and add entries for every package that has a broken dep behind it (FIXME: add entry for packages that hit the repo not that long ago as well?)
Line 161: Line 109:


<pre>
<pre>
repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > tobemoved-srpms
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > tobemoved-srpms-${EPELVER}
repoquery -qa --repoid=epel${EPELVER}-testing | sort  > tobemoved-rpms
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > tobemoved-srpms-rpms-${EPELVER}
setarch i686 repoquery -qa --repoid=epel${EPELVER}-testing | sort  > tobemoved-rpms-${EPELVER}
</pre>
</pre>


Line 172: Line 121:


<pre>
<pre>
repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > all-srpms-broken
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > all-srpms-broken-${EPELVER}
grep --file all-srpms-broken tobemoved-srpms
grep --file all-srpms-broken-${EPELVER} tobemoved-srpms-rpms-${EPELVER}
</pre>
</pre>


Line 183: Line 132:


<pre>
<pre>
echo $(repoquery -qa --qf '%{NAME}' --archlist=src  --repoid=epel${EPELVER}-testing-source $(cat tobemoved-srpms | sed 's|.src.rpm||' ) | sort ) > tobemoved-packages
echo $(repoquery -qa --qf '%{NAME}' --archlist=src  --repoid=epel${EPELVER}-testing-source $(cat tobemoved-srpms-${EPELVER} | sed 's|.src.rpm||' ) | sort ) > tobemoved-packages-${EPELVER}
</pre>
</pre>


Line 191: Line 140:


----
----
[[Category:EPEL, [[Category:EPELTasksOpen]]
[[Category:EPEL]]
[[Category:EPELTasksOpen]]

Latest revision as of 16:31, 16 March 2017

Summary =

Move testing/ packages to proper repos

Completion Level

standing

Target Date

EPEL4: around the 15th each month EPEL5: around the 1th each month

Next steps

  • we should give maintainers a heads up some days before the move so they can say "no, please don't move foo due to bug bar"
  • bodhi (which we can use once we use koji) should make this a lot easier in the long term

Details

  • The plan is to do a push to from testing to stable every four weeks; around the 15th each month is the goal for EPEL4, around the 1th each month the goal for EPEL5; in fact we most of the time actually realize the move on the Monday following those dates, to make sure that contributors and users have a chance to prepare for the move on working and weekend days

How to actually do the move

  • Create the file /etc/yum.repos.d/epel.repo with the following contents:
[centos5] 
baseurl=http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5/os/$basearch/
name=centos5
enabled=0

[centos5-source] 
baseurl=http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/5/os/SRPMS/
name=centos5-source
enabled=0

[epel5] 
baseurl=http://download.fedora.redhat.com/pub/epel/5/$basearch/
name=epel5
enabled=0

[epel5-source] 
baseurl=http://download.fedora.redhat.com/pub/epel/5/SRPMS/
name=epel5-source
enabled=0

[epel5-testing] 
baseurl=http://download.fedora.redhat.com/pub/epel/testing/5/$basearch/
name=epel5-testing
enabled=0

[epel5-testing-source] 
baseurl=http://download.fedora.redhat.com/pub/epel/testing/5/SRPMS/
name=epel5-testing
enabled=0

[centos4] 
baseurl=http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/4/os/$basearch/
name=centos4
enabled=0

[centos4-source] 
baseurl=http://ftp-stud.fht-esslingen.de/pub/Mirrors/centos/4/os/SRPMS/
name=centos4-source
enabled=0

[epel4] 
baseurl=http://download.fedora.redhat.com/pub/epel/4/$basearch/
name=epel4
enabled=0

[epel4-source] 
baseurl=http://download.fedora.redhat.com/pub/epel/4/$basearch/
name=epel4-source
enabled=0

[epel4-testing] 
baseurl=http://download.fedora.redhat.com/pub/epel/testing/4/$basearch/
name=epel4-testing
enabled=0

[epel4-testing-source] 
baseurl=http://download.fedora.redhat.com/pub/epel/testing/4/SRPMS/
name=epel4-testing-source
enabled=0
  • export something like
export EPELVER=5
  • run repoclosure:
setarch i686 repoclosure -n -r centos${EPELVER} -r epel${EPELVER} -r epel${EPELVER}-testing > brokendeps-${EPELVER}

Hint: if you use a x86_64 machine remove /etc/rpm/platform

  • Add a "exclude=" line to the epel?-testing section and add entries for every package that has a broken dep behind it (FIXME: add entry for packages that hit the repo not that long ago as well?)
  • run repoclosure again and add the packages with missing deps to the exclude line until all deps from epel?-testing are satisfied
  • run
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > tobemoved-srpms-${EPELVER}
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > tobemoved-srpms-rpms-${EPELVER}
setarch i686 repoquery -qa --repoid=epel${EPELVER}-testing | sort  > tobemoved-rpms-${EPELVER}
  • sanity check:
  • s/exclude=/includepkgs=/ in the epel?-testing section
  • run
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > all-srpms-broken-${EPELVER}
grep --file all-srpms-broken-${EPELVER} tobemoved-srpms-rpms-${EPELVER}

grep shouldn't find anything. If it does check add a exclude for those packages as well and start again

  • comment out the includepkgs= in the repo file
  • run
echo $(repoquery -qa --qf '%{NAME}' --archlist=src  --repoid=epel${EPELVER}-testing-source $(cat tobemoved-srpms-${EPELVER} | sed 's|.src.rpm||' ) | sort ) > tobemoved-packages-${EPELVER}

You can pass this list to the ToStable command later when you're actually doing the next push

  • mail the list, wait a few days, do the push