Legacy/QASubmit

From FedoraProject

Jump to: navigation, search

Submitting Packages

If you decide to create update packages, the following is the procedure we suggest following in order to submit them for inclusion in the Fedora Legacy Project.

1. Identify the vulnerability and the solution for it. You may want to get some consensus on your approach with the Fedora Legacy members (e.g., by soliciting feedback on the Bugzilla entry) before you proceed if you are uncertain about anything.

2. Obtain the patch(es) needed to fix the vulnerability and update the package .spec file for the patch(es). For making QA easier, it's a good idea to re-use existing, publicly available patches and packages (especially from RHEL) as far as possible and reasonable.

3. Create your updated SRPM package. Use the latest update (by Red Hat, Fedora, or Fedora Legacy) as a basis. A Script may help to find the latest updates.

4. Check that your package conforms to the QA Checklist below. You may want to test build your package using mach or mock . See here for more info.

5. Sign the package with your GnuPG key (see PGPHowTo ). Do not use rpmbuild --sign but instead use rpm --addsign to sign the package.

6. Upload the package to a public server (preferably web accessible).

7. Submit a new Bugzilla entry (making sure you select Fedora Legacy for the package), which includes at least the following

QA Checklist

The following is a QA checklist (adapted from the fedora.us QAChecklist). This is simply a checklist of things that can be done for each source package during the package creation/modification process. Each package may have steps unique to that package which are not listed here.

(Please note that a lot of this checking may not be necessary for Legacy packages which are udpated from previously-existing Fedora Core packages, as most of these things should have already been done by the Core developer. Much of the below may be overkill for Legacy usage; but it is good to know of these items anyway.)

1. Are the sources from upstream pristine and free from trojans?

2. Are the pre- and post-install and uninstall scripts correct?

If so, at a minimum the installer must be warned about the issue during the install process. Preferably such issues should be removed if at all possible.

3. Check for missing BuildRequires. For more information, see this posting. 4. Is the Group tag an official one? See /usr/share/doc/rpm-*/GROUPS. 5. Are all paths within the .spec replaced with macros? 6. If the package has a DesktopEntry, are the VFolder categories ok?

7. Does the package have any %{buildroot} macros? If so, they should be replaced with $RPM_BUILD_ROOT. 8. Does the package have any %{optflags} macros? If so, they should be replaced with $RPM_OPT_FLAGS. 9. Does the package install any unowned directories? Read the thread at http://www.fedora.us/pipermail/fedora-devel/2003-June/001458.html for details. 10. Parallel makes using -jX generally speed up builds, especially on SMP machines. This is correctly accomplished by using make %{?_smp_mflags} in .spec files. However, not all packages are parallel build clean. To catch some of these errors, packagers and QA testers may want to add %_smp_mflags -j3 to /.rpmmacros, even if they use UP machines. 11. Does the package naming scheme follow the Fedora Legacy RPM Versioning conventions?

(Disclaimer: QA checklist above copied on 10/23/2006 by D.Eisenstein from <http://web.archive.org/web/20040622150829/www.fedoralegacy.org/wiki/index.php/QaTesting>. Please note that it may be buggy or have wiki-links missing. If there are errors, please either fix them, bring them up on the fedora-legacy-list, or write me about them. Thanks!)