About this document
About Remixing, Respinning and Rebranding Fedora
Remix:: A Remix of Fedora is taking whatever amount of packages from the Fedora repositories and composing media based on that package set. Respin:: A Respin specifically updates existing media. Note the 'updating' is the key here. Usually, a Remix will include updates if they're available but that isn't the key point of a Remix, but for Respins, it is. Rebrand:: A Rebrand of Fedora
What is Not Fedora, Derived from Fedora, or just Fedora?
Not Fedora
You can no longer call the product Fedora, if;
1. you are to include any parts that Fedora doesn't ship, whether it be software, drivers or firmware, FOSS or proprietary, and 1. you are going to distribute and/or publish the product in any way.
You will need to rebrand Fedora and remove all Fedora trademarks and logos. This is not mutually exclusive with calling your distribution "Derived from Fedora", however. More on rebranding later in this document.
Derived from Fedora
You can say your distribution is derived from Fedora if it remains to be using the genuine Fedora repositories as listed on http://mirrors.fedoraproject.org/publiclist. This should enable you to override any set of packages Fedora ships, and ship extra packages that Fedora doesn't ship alongside with it, but doesn't touch the Fedora base as we ship it.
Fedora
If you compose a product build from Fedora parts entirely, the distribution may still be called Fedora. In fact, if you did compose a Fedora product, we'd like to hear about it. Email kanarip@fedoraproject.org for more info.
Shipping the Source
If you are distributing the product, the licenses of the software may require you to also distribute the sources of this software. Read the appropriate license for more information about having to also distribute the sources, as many licenses may have different obligations and require different ways of distributing the source along with the binaries.
As an example, we'll take GPLv2 , which has 3 options available to anyone distributing GPLv2 software. These basically come down to:
- 3a) Distribute the source along with your distribution.
- 3b) Make the source available for 3 years and include instructions on how to request that source.
- 3c) Include it with the instructions you received yourself under 2). This one is only allowed for non-commercial distributions.
The information you use should come from the original license document, this is just a pointer.
You can choose either of these methods to distribute the source along with your (binary) product. For the parts of which Fedora is upstream, 3c) doesn't apply as the Fedora Project releases under 3a). Unless you want to keep your sources available for 3 years, you will want to use 3a) too.
Rebranding Fedora Technical Issues and Requirements
Technically, rebranding Fedora would remove all trademarks and logos of Fedora and Red Hat
Packages to Replace
The following packages need to be replaced with your own custom set:
1. Remove fedora-logos 1. Remove fedora-release 1. Remove fedora-release-notes
Make sure the packages you replace these packages with, provide the same sort of thing these packages provide (e.g. fedora-logos provides "system-logos", your package should provide that too).
Rebuilding the Installer
You'll need to rebuild the installer, again removing all Fedora trademarks and references. With these replaced packages in place (in the build tree), anaconda-runtime's buildinstall
has enough command-line parameters to change the product name and path.
Rebranding with Revisor
So, I've rebuild the fedora-logos, fedora-release and fedora-release-notes packages, just as a proof of concept, to kanarip-logos, kanarip-release-8.0-1 and kanarip-release-notes-8.0.0. It has all the fedora-info though, so it isn't really rebranding, just a proof of concept.
Add them to the kickstart config you use to spin the model:
%packages kanarip-logos kanarip-release kanarip-release-notes
And add a model to /etc/revisor/revisor.conf
:
[k8-i386] main = /etc/revisor/conf.d/revisor-k8-i386.conf product_name = kanarip product_path = kanarip iso_basename = kanarip comps = /etc/revisor/comps-f7.xml architecture = i386 version = 8 getsource = 0 release_pkgs = ^kanarip-release.*$ release_files = eula.txt fedora.css GPL README-BURNING-ISOS-en_US.txt RELEASE-NOTES-en_US.html ^RPM-GPG img images stylesheet-images
And add the local repository with the kanarip-logos, kanarip-release and kanarip-release-notes in that repo (see the repo in bold):
[main] cachedir=-yumcache reposdir= keepcache=0 debuglevel=1 logfile=/var/log/revisor-yum.log pkgpolicy=newest distroverpkg=kanarip-release tolerant=1 exactarch=1 obsoletes=1 gpgcheck=1 plugins=0 metadata_expire=1800 installroot=/var/tmp/revisor [fedora] name=Fedora 7 - Moonshine - i386 #baseurl=http://localrepo/fedora/releases/7/Everything/i386/os/ mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-7&arch=i386 enabled=1 gpgcheck=0 [kanarip] name=kanarip 8 - Sunshine - i386 baseurl=http://fedora.kanarip.com/custom/ #mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-7&arch=i386 enabled=1 gpgcheck=0 [updates] name=Fedora 7 - i386 - Updates #baseurl=http://localrepo/fedora/updates/7/i386/ mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-f7&arch=i386 enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora
Run revisor with that config end you'll end up with something like this Some tests to see what is on the ISO
These are some tests to see what is on that ISO image.
[root@elwood ~] # mount -o loop -t iso9660 /srv/revisor/iso/kanarip-8-i386-CD.iso /mnt/k8/ [root@elwood ~] # cd /mnt/k8 [root@elwood k8] # ls -l total 277 -rw-r--r-- 1 root root 2882 2007-06-26 15:00 fedora.css -rw-r--r-- 1 root root 18385 2007-06-26 15:00 GPL drwxr-xr-x 4 root root 2048 2007-06-26 15:00 images drwxr-xr-x 2 root root 4096 2007-06-26 15:00 img drwxr-xr-x 2 root root 2048 2007-06-26 14:56 isolinux drwxr-xr-x 2 root root 65536 2007-06-26 14:53 kanarip -rw-r--r-- 1 root root 10000 2007-06-26 15:00 README-BURNING-ISOS-en_US.txt -rw-r--r-- 1 root root 157555 2007-06-26 15:00 RELEASE-NOTES-en_US.html drwxr-xr-x 2 root root 2048 2007-06-26 14:53 repodata -rw-r--r-- 1 root root 1910 2007-06-26 15:00 RPM-GPG-KEY -rw-r--r-- 1 root root 1706 2007-06-26 15:00 RPM-GPG-KEY-beta -rw-r--r-- 1 root root 1519 2007-06-26 15:00 RPM-GPG-KEY-fedora -rw-r--r-- 1 root root 1105 2007-06-26 15:00 RPM-GPG-KEY-fedora-rawhide -rw-r--r-- 1 root root 1076 2007-06-26 15:00 RPM-GPG-KEY-fedora-test -rw-r--r-- 1 root root 1232 2007-06-26 15:00 RPM-GPG-KEY-rawhide drwxr-xr-x 2 root root 4096 2007-06-26 15:00 stylesheet-images -r--r--r-- 1 root root 4062 2007-06-26 15:00 TRANS.TBL [root@elwood k8] # cd kanarip [root@elwood kanarip] # ls *fedora* ls: cannot access *fedora*: No such file or directory [root@elwood kanarip] # ls *kanarip* kanarip-logos-6.0.98-3.fc8.noarch.rpm kanarip-release-8-1.noarch.rpm kanarip-release-notes-8.0.0-1.noarch.rpm