From Fedora Project Wiki

New Development Layout

What?

Currently Development is layed out in a form that made sense long ago. However Core layout has drifted and no longer matches what Development looks like.

Here is the current layout of Development:

development/
/isos
/SRPMS
/${arch}/
/debug
/Fedora

The change to be consistent with core would be:

development/
/source/
/SRPMS
/${arch}/
/iso
/debug
/os/
/Fedora

Why?

This would accomplish a few things. First, it would make the layout of development match that of actual releases, so code written to mirror releases can be used as is to mirror development too. It pulls the debug/ content out of the installable directory making it easier to mirror just the installable dir (and saves headache trying to do createrepo on the installable tree but excluding debug). And it just adds to the consistent look/feel we're trying to create.

How?

Code has already been written internally to place development in the new layout. This code also creates hardlinks to the old file locations. Why?

  • This allows mirrors to leverage the -H option of rsync to get the new layout hardlinked
  • This allows the master mirror to later remove these hardlinks and the new layout will remain and mirrors will not have to download the entire tree again.
  • This allows current yum configs to find old layout, and new yum configs provided to find the new layout.

This means that users will see 2x the content when casually looking at a mirror. This is OK, doesn't hurt. People syncing are urged to use rsync, and the -H option to create hardlinks.

When?

We are planning for the new layout + hardlinks to land on the public mirrors Thu. May 18. Then certain things will need to be modified to handle the new layout. This should take no more than a week, so that the hardlinked old layout will be removed Thu. May 25.

What nees to be happen, and who owns it?

  • New layout + hardlinks pushed to mirrors (JesseKeating) done
  • Fix spam-o-matic email generator (JesseKeating) done
  • Fix treediff (JesseKeating) done
  • Development publish script (JesseKeating) done
  • Rsync scripts that exclude debug / srpms (Mirrors)
  • Yum mirror files updated for new location (Fedora Mirror Admins) done
  • Yum package updated to point to new location (JesseKeating) done
  • Documentation regarding Development/Rawhide updated (Fedora Documentation Team)
  • Hardlinks to old layout removed (JesseKeating) done

Contact

Currently the proper contact for this project is JesseKeating : jkeating at redhat dot com