This is an unofficial guide.
Using FRS to host a yum repository
- Behind the scenes, the file release system will use redirects intelligently to serve the download files and the repo metadata, as well as serve them from a mirror that is close to the client.
- Because the user-agent of yum isn't a web browser, the html download page will be bypassed and a direct download will initiate
- Use a local machine to organize a repo directory structure (e.g. /opt/repos/yum/<releasever>/<basearch>/ )</basearch></releasever>
- Generate the yum repo information on the local repo structure (sf.net doesn't support 'createrepo' operations in ishell service)
cd /opt/repos/yum/<releasever>/<basearch>/
create repo .
- repeat the 'createrepo' operation for each release and architecture
- rsync the entire tree to FRS at the project root of your choosing
rsync -avP -e ssh /opt/repos/yum/ <sf-username>@frs.sourceforge.net:/home/pfs/project/a/aa/<projectname>/yum/
Next create a .repo file for the new repository.
- Note that I was able to drop the suffix '/download' from the download path in the yum.repo file. The sf.net mirror redirectors should still handle the download url properly.
- Make sure to format your base url using the new format for the download system: e.g. baseurl=
http://sourceforge.net/projects/<projectname>/files/yum/$releasever/$basearch/
- Create a repo file for your users to download and a README on how to install the new repo file into their OS.
Example:
#/etc/yum.repos.d/myproject.repo
[myproject-repo]
name= My Project (sf.net) $releasever - $basearch
failovermethod=priority
baseurl=http://sourceforge.net/projects/<project>/files/yum/$releasever/$basearch/
enabled=1
metadata_expire=7d
#gpgcheck=1
#gpgkey=http://sourceforge.net/projects/<project>/files/yum/<MY-RPM-GPG-KEY>