Packaging/GuidelinesTodo

From FedoraProject

Jump to: navigation, search


Action Items

Status should be one of:

StatusTask NameOwnerMeeting DateNotes

Things to be considered for Packaging Guidelines

Has a Driver
Task Name Owner Target Date Notes
JavaScriptabadger1999 DiscussPackagingDrafts/JavaScript Libraries Packaged. See discussion page for Unresolved Issues
Python virtual Providesabadger1999 PackagingDrafts/Python
RubyGem with C code mtasaka Please discuss PackagingDrafts/RubyGem with C code what is "Has a Driver"?
Font packaging automationNicolas Mailhot ASAP PackagingDrafts/Fonts_packaging_automation Complete refactoring onf Fedora fonts packaging guidelines


Queued but Unowned
Task Name Owner Target Date Notes
libexecdir in FHS nobody started, first feedback from FHS' editors, ongoing Get involved in FHS discussions to resurrect libexec in the FHS: Mail thread Is this link correct?
issue moved up to FHS' bugzilla: Bug #101
CFlags Prohibition nobody unknown Don't manually set CFLAGS in the spec, %configure should do it for you.
Patch Best Practice nobody unknown Remember that "Patch" is the same as "Patch0". You should consider using Patch0 for the first patch, since it removes any possible confusion as to which patch you're using. This is not required.
Files Generated by Scriptlets nobody unknown Policy on cleaning up things introduced in %post (and not creating files in %post.)
aclocal nobody unknown Should packages that place files under /usr/share/aclocal be required to have a Require: /usr/share/aclocal?
rpmbuild --with/--without nobody unknown Encourage using rpmbuild --with/--without for conditionally build parts of a spec. Discourage using --define 'with/without_xxx 1' and similar custom magic.
scons guidelines nobody unknown In the announcement thread for the cmake guidelines, it was suggested that scons guidelines in the same vein would be useful.
autoconf/automake usage nobody unknown Policy on using autoconf/automake in %setup or %build sections of a spec file and usage of older autoconf/automake releases. http://fedoraproject.org/wiki/PackagingDrafts/AutoConf


Tabled (On indefinite hold)
Task Name Owner Target Date Notes
arch specific script packages f13 unknown Packages containing scripts that require programs or features which are not available on all platforms should not be noarch. Example: system-config-boot which requires grub
iconcache RexDieter tabled update icon (cache) handling / policy, PackagingDrafts/ScriptletSnippets/iconcache
Files in /srv JesseKeating soon What files should be allowed to be placed in /srv/ ?

Resolved items

Task NameOwnerResolution DateNotes
MinGW RichardJones 2008-11-18 PackagingDrafts/MinGW - As of 2008-09-22 these are in a good state for discussion.
Unowned Directoriesabadger1999 2008-10-30 PackagingDrafts/UnownedDirectories Clarification only
PatchUpstreamStatuswalters2008-09-16PackagingDrafts/PatchUpstreamStatus
DesktopVerifycaillon2008-09-16PackagingDrafts/DesktopVerify
Haskell spot2008-09-16 Packaging/Haskell
Lisp spot2008-09-16Packaging/Lisp
Font Bundlesspot2008-09-16 TomCallaway/Packaging_Font_Bundles2
Avoid Font Bundlingspot2008-09-16 TomCallaway/No_bundling_of_fonts_in_other_packages2 (Fonts policy amendment)
Withdraw the JPackage Naming Exceptionspot2008-05-20["Packaging/JPackagePolicy"]
Sugar Activities DennisGilmore2008-04-22["Packaging/SugarActivityGuidelines"]
Update Static Lib Policies TomCallaway2008-04-22["PackagingDrafts/StaticLibraryPolicy"]
No packages may own files or dirs in /srvspot2008-04-08["PackagingDrafts/NoBitsInSrv"]
Build GCJ AOT bits conditionallyLubomirKundrak2008-04-08["PackagingDrafts/ConditionalGCJ"]
SysV-style initscript guidelines spot 2008-04-01 ["Packaging/SysVInitScript"]
Java package guidelines AndrewOverholt 2008-04-01 ["Packaging/Java"]
Eclipse plugin guidelines spot 2008-04-01 ["Packaging/EclipsePlugins"]
GCJGuidelinesspot2008-04-01["Packaging/GCJGuidelines"]
Tcl packaging guidelines MichaelThomas 2008-03-11 ["Packaging/Tcl"]
Updated OCaml packaging guidelines RichardJones 2008-03-11 ["PackagingDrafts/OCaml"]
ASCII Naming Guidelines spot 2008-03-25 ["PackagingDrafts/ASCIINaming"]
Perl Guidelines spot 2008-03-25 ["PackagingDrafts/Perl"]
Self:OpenOffice.org extensions guidelines CaolanMcNamara 2008-03-25 ["Packaging/OpenOffice.orgExtensions"]
Fonts SIG packaging policies NicolasMailhot 2007-11-20 general fonts packaging policy
Fonts SIG packaging policies NicolasMailhot 2007-11-20 fonts spec template (only general case for now can be extended later)
Python EggsToshioKuratomi2007-09-18Python modules need to be able to provide multiple versions. Eggs allow this. Work out how to modify the guidelines for eggs. ["PackagingDrafts/PythonEggs"]
R packaging Guidelinesspot2007-09-11["PackagingDrafts/R"]
Emacsen Packaging Guidelines and templates spot 2007-09-11 PackagingDrafts/EmacsenAddOns
PHP Guidelinesspot2007-09-11PEAR Packages, PECL Packages, Macros and Scriplets: ["PackagingDrafts/PHP"]
Handling dynamic UID/GID in packagesVilleSkyttä2007-08-13["PackagingDrafts/UsersAndGroups"]
License Tag Guidelinesspot2007-07-31["PackagingDrafts/LicenseTag"]
writeupRelax Package Naming for Dual VersionsToshioKuratomi2007-07-10With multiple versions of a library it does not matter which of them is versioned and which versionless
Directory Ownership Improvement[wiki:Self:TomCallaway spot] 2007-06-26PackagingDrafts/DirectoryOwnershipImprovement
Static Library UpdateToshioKuratomi2007-06-19
Scriptlet snippets fixesVilleSkyttä2007-06-19Scriptlet snippets fail safety fixes/clarifications
OCamlToshioKuratomi2007-06-12Guidelines for libraries and programs written in OCaml
cmakeRexDieter2007-03-20 PackagingDrafts/cmake
Ruby gems[wiki:Self:DavidLutterkort lutter] 2007-05-01 Packaging of Ruby GEMS
Static LibrariesToshioKuratomi2007-05-22http://fedoraproject.org/wiki/PackagingDrafts/StaticLibraryChanges
Extra DistTag Conditional Macros[wiki:Self:TomCallaway spot] 2007-05-21PackagingDrafts/ExtraDistTagConditionalMacros
PHP: Versioned BuildRequires in Macros Section[wiki:Self:TomCallaway spot] 2007-05-21PackagingDrafts/PHP
PHP: PECL Extensions[wiki:Self:TomCallaway spot] 2007-05-21PackagingDrafts/PHP
Conflicts[wiki:Self:TomCallaway spot] 2007-05-07PackagingDrafts/Conflicts
extras-list referencestibbs2007-04-13PackagingDrafts/FixMailingListRefs
ResponsibilitiesToshioKuratomi2007-04-10http://fedoraproject.org/wiki/PackagingDrafts/OverallReviewGoals
UTF8 FilenamesToshioKuratomi2007-03-27PackagingDrafts/Utf8Filenames
Post Release Packages[wiki:Self:TomCallaway spot] 2007-03-27PackagingDrafts/PostRelease
Firmware Guidelines[wiki:Self:TomCallaway spot] 2007-03-06https://www.redhat.com/archives/fedora-packaging/2007-February/msg00292.html
PackagingDrafts/BuildRootHandling[wiki:Self:TomCallaway spot] 2007-03-13Require that BuildRoot be deleted immediately at the beginning of %install
Static linkageRalfCorsepius2006-10-31Static linkage should be "strongly discouraged" [1]
PackagingDrafts/SciptletsWriteDirsAxelThimm2007-03-13Only allow writing in %buildroot during %install
Init scriptsJesseKeating2007-02-27PackagingDrafts/InitScripts
Disallow %config files in /usrAxelThimm2007-03-06PackagingDrafts/UsrConfigs
BuildrootAxelThimm2007-02-27PackagingDrafts/BuildRoot
package builds allowed to write in certain filesystem areasAxelThimm2006-10-12Build scripts of packages (%prep, %build, %install and %check) may only alter files (create, modify, delete) under %{buildroot}, %{_builddir} and valid temporary locations like /tmp, /var/tmp (or $TMPDIR or %{_tmppath} as set by the rpmbuild process). Further clarification: That should hold true irrespective of the builder's uid
Source URL Requirementabadger19992007-02-20http://www.fedoraproject.org/wiki/PackagingDrafts/SourceUrl
File dependenciesToshioKuratomi2007-02-20Limit file deps to certain directories.
http://www.fedoraproject.org/wiki/PackagingDrafts/FileDeps
spec file naming clarificationabadger19992007-02-13PackagingDrafts/SpecFileNaming
jpackage naming[wiki:Self:TomCallaway spot] 2007-02-13Packaging/JPackagePolicy
.desktop filesRexDieter2007-01-30PackagingDrafts/DesktopFiles
non-pear PHP extension paths[wiki:Self:TomCallaway spot] 2007-01-30Non-pear PHP extensions should put their Class files in /usr/share/php
MakeInstall Clarification[wiki:Self:TomCallaway spot] 2007-01-30Clarify %makeinstall section, on why it should not be used [wiki:Self:PackagingDrafts/MakeInstall PackagingDrafts/MakeInstall]
BuildRoot is mandatory[wiki:Self:TomCallaway spot] 2007-01-30Suggested buildroot is now mandatory
All binaries must be built from source[wiki:Self:TomCallaway spot] 2007-01-30See: [wiki:Self:PackagingDrafts/SourceRequirement PackagingDrafts/SourceRequirement]
BuildRequires Clarification[wiki:Self:TomCallaway spot] 2007-01-30Clarify BuildRequires tools, see [wiki:Self:PackagingDrafts/BuildRequires PackagingDrafts/BuildRequires]
Debuginfo packagesVilleSkyttä2007-02-09Add pointer to [wiki:Self:Packaging/Debuginfo sanity checking of debuginfo packages] to guidelines, require explanation in specfile if disabled .
Requires vs PreReq[wiki:Self:TomCallaway spot] 2006-10-31Use "Requires" not "PreReq". rpm.org explanation
Provides/obsoletes clarificationsVilleSkyttä2007-01-22Naming guidelines improvements on Provides/Obsoletes use when renaming/replacing packages.
Failsafe scriptletsVilleSkyttä2006-12-14Make  : (or other scriptlet failure preventation measures) more prominent in ["Packaging/ScriptletSnippets"]
Directory ownershipJasonTibbitts2006-11-07"Packages must not own files or directories already owned by other packages that they depend on. Exceptions to this rule are: perl...." Add specific wording on when and how Perl packages are excluded from this.
TranslationsRexDieter2006-10-31If the package has any translations, add BuildRequires: gettext. If you don't, your package could fail to generate translation files in the buildroot.
bumping release num after the dist tagspot2006-10-16Added to Packaging/NamingGuidelines
GConf configure flagabadger19992006-10-12Update the ScriptletSnippet for alternate GConf disabling "GConf schema installation can be prevented at build time by using GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL.... alternatively, %configure --disable-schemas works for some packages."
Ruby library providesDavidLutterkort2006-10-12Current ruby packaging guidelines say that ruby library packages must provide 'ruby(LIBRARY)'; this should be changed to include a version, i.e. 'ruby(LIBRARY) = VERSION' where VERSION is the upstream version of the library as long as upstream follows a reasonable versioning process (which most ruby projects do)
desktop-file-install --vendorRexDieter2006-10-05clarify --vendor=... usage. proposal: PackagingDrafts/DesktopFiles
pkgconfigRexDieter2006-09-14PackagingDrafts/pkgconfig
libexecdir (completed)abadger19992006-06-29The packaging guidelines follow the FHS. An exception should be made for %{_libexecdir} which is useful for binaries intended for running by other programs. This is especially true on multilib systems. Packaging list discussion . (Note by Axel: Maybe get involved in FHS discussions to resurrect libexec in the FHS?)
monoabadger19992006-06-29The current ["Packaging/Mono"] Guidelines contain misinformation and poor practices. We need to separate the good practices from the ones that were done because an upstream package made it convenient. There have been several mailing list discussions: 1 2 3 My (hopefully accurate) summary
rubylutter2006-06-29The Ruby packaging guidelines need to be discussed/blessed so that Ruby review requests can move forward
Drafts Hierarchyabadger19992006-07-06The problems with the Mono Guidelines and the change in permissions on the ["Packaging"] hierarchy shows we need a separate area to propose draft documents and changes. This area 1) should not be taken as official by packagers, 2) should allow packagers to write in comments, 3) serve as a staging area where future guidelines can be discussed. I'd like to bless ["PackagingDrafts"] for this. Currently used for ["PackagingDrafts/RubyGems"] and ["PackagingDrafts/Mono"]
Perl tweaksJasonTibbittseasyfixNo changes to the guidelines. Perl template was commented to tell the packager to remove OPTIMIZE and other lines for noarch packages.
PHP guidelinesJasonTibbitts2006-07-27Decide whether the PHP guidelines (Packaging/PHP) are good as is, or if they need more work.
ScriptletSnippetsabadger19992006-07-27Ratify the ScriptletSnippets as official guide.
changelog formatspot2006-07-06We decided to adopt ["PackagingDrafts/Changelog"] . Adopted as a Must
Python:Include %ghost filesabadger19992006-08-10After recent discussion on fed-extras, %ghost'ing of .pyo files is seen as harmful. We should just include them in %files.
Reword %makeinstall guidelineabadger19992006-08-24Discussed and voted on the mailing list: Fedora's RPM includes a %makeinstall macro but it must NOT be used when make install DESTDIR=%{buildroot} will work.  %makeinstall is a kludge that can work with Makefiles that don't make use of the DESTDIR variable but it has the following potential issues:
$RPM_OPT_FLAGSVilleSkyttä2006-08-??A section about [wiki:Self:Packaging/Guidelines#CompilerFlags compiler flags] has been added to the packaging guidelines
Reword ldconfig guidelineabadger19992006-08-17MUST: Every binary RPM package which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun.
CommitID JasonTibbitts 2007-06-26Allow upstream VCS commit ID to appear in alphatag


Rejected Items
Task NameOwnerResolution DateNotes
Avoid packing junk in CMake/CPack dchen 2008-11-18 PackagingDrafts/CmakeCpack isn't relevant for a Fedora Packaging guideline
Package Names should be all lowercaseabadger1999 2008-04-08 ["PackagingDrafts/ASCIINamingLowercase"]
RPMGroups[wiki:Self:TomCallaway spot] 2006-11-28Revisit Making Group optional at some point, when RPM is ready.
ipv6 in Fedora[wiki:Self:TomCallaway spot] 2006-07-13ipv6 initiatives should be a Fedora SIG, not a Packaging Committee decision.
Hardcoding Dist Tagsspot2006-07-13Allow packages to write Release: 1.fc5 literally instead of Release: 1%{?dist}
Python Submodule Namingabadger19992006-08-24Should a python submodule named paste.deploy be named python-paste-deploy or python-pastedeploy. List discussion decided to leave this at maintainers discretion (status quo)
kernel modulesAxelThimm2006-08-23Review the kernel module packaging guide mail on fedora-extras own page
disttags for rawhide/testAxelThimm2006-08-31What disttags should Rawhide use to ensure proper upgrade paths and automated rebuilds (e.g. .fc6.89 vs .fc7).
disttags for FLAxelThimmwithdrawnWhat disttags should Fedora Legacy (for RHL7.3 and RHL9) use to ensure proper upgrade paths.
libfoo<soname> or compatAxelThimmwithdrawnGuidelines for creating compatibility packages possibly already in advance mail on fedora-extras
Secure BuildRoot LubomirKundrakfailed vote["PackagingDrafts/SecureBuildRoot"] idea is sound, but should be handled in rpm.
Register VirtualProvides PatriceDumasfailed vote["PackagingDrafts/ProvidesList"] idea is sound, but should be automatically generated.