http://fedoraproject.org/wiki/Infrastructure/CoreExtrasCVSMerge
I made some improvements to notting's script from this page. A few
thoughts went into this...
1) At notting's recommendation the script only looks at /cvs/dist
packages that exist as source RPM %{name} in rawhide.
2) The FC-6 specific logic was removed, because it is actually
irrelevant. We are dealing with merging of only 'devel' on Wednesday.
The script tells you with WARN statements if a package is clearly moved
from Extras to Core, or if it is ambiguous because dead.package was
never added during the move. Upon inspection a decision can be made
manually. This script can be easily reused to do the same by comparing
FC-6 to FC-6 when we merge FC-6 into /cvs/pkgs later.
3) Some packages may have moved from Core to Extras during this cycle.
The package in /cvs/dist might not be properly marked with dead.package.
But this is OK, because these would have been excluded from this copy
list because they were not packages in rawhide anyway.
4) A few of the WARN DEVEL errors can be fixed even prior to the merge.
5) The less serious WARN MOVED messages, you might even be safe just
blanket blowing away the existing /cvs/extras/rpms/$i/devel and
replacing it with the /cvs/dist version. I am uncertain about this at
this late hour though. Sleeping...
# http://people.redhat.com/wtogami/temp/rawhide-srpm-names.txt
SRPMLIST=rawhide-srpm-names.txt
for i in `cat $SRPMLIST` ; do
# Skip and warn if devel is a dead.package (SANITY CHECK)
if [ -f /cvs/dist/rpms/$i/devel/dead.package,v ]; then
echo "SANITY DEAD: $i is a package in rawhide, but marked as
dead.package in /cvs/dist"
continue;
fi ;
# Skip if devel directory does not exist (SANITY CHECK)
if [ ! -d /cvs/dist/rpms/$i/devel ]; then
echo "SANITY MISSING: $i/devel does not exist, skipping..."
continue;
fi ;
# If devel exists in both Core and Extras, figure out why
if [ -d /cvs/extras/rpms/$i/devel ]; then
if [ -f /cvs/extras/rpms/$i/devel/dead.package,v ]; then
# Package moved from FE to FC, you might be able to erase FE and
replace it with FC
echo "WARN MOVED: $i moved from FE to FC"
else
# Package was moved, but improperly marked, investigate carefully
echo "WARN DEVEL: $i is alive in both FC and FE devel, investigate"
fi
else
# No conflicts, proceed with copying
echo /usr/local/bin/setup_package $i
echo mkdir -p /cvs/extras/rpms/$i/devel ;
echo cp -rv $i/devel/* /cvs/extras/rpms/$i/devel ;
fi
done | tee cvscopy.out