From Fedora Project Wiki

(use setarch everywhere)
No edit summary
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 156: Line 110:
<pre>
<pre>
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-${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}
setarch i686 repoquery -qa --repoid=epel${EPELVER}-testing | sort  > tobemoved-rpms-${EPELVER}
</pre>
</pre>
Line 167: Line 122:
<pre>
<pre>
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > all-srpms-broken-${EPELVER}
setarch i686 repoquery -qa --qf '%{SOURCERPM}' --repoid=epel${EPELVER}-testing | sort | uniq > all-srpms-broken-${EPELVER}
grep --file all-srpms-broken-${EPELVER} tobemoved-srpms-${EPELVER}
grep --file all-srpms-broken-${EPELVER} tobemoved-srpms-rpms-${EPELVER}
</pre>
</pre>



Revision as of 16:24, 29 March 2009

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