Packaging:GuidelinesTodo

From FedoraProject

(Redirected from Packaging/GuidelinesTodo)
Jump to: navigation, search


Contents

Action Items

Status should be one of:

StatusTask NameOwnerMeeting DateNotes
announceUse the better sourcemether2009-09-09 Draft available at https://fedoraproject.org/wiki/PackagingDrafts/Use_Better_Source
announceFortranJussi Lehtola2009-08-19PackagingDrafts/Fortran
writeupMPI packagingJussi Lehtola2009-08-12PackagingDrafts/MPI
writeupEnvironment modulesJussi Lehtola2009-08-12PackagingDrafts/EnvironmentModules
announceCorrect ant sample specJussi Lehtola2009-08-12PackagingDrafts/JavaAntSampleSpec
announceUpdate R guidelinespingou2009-08-12 ProposalUpdateRGuidelines
announceDrop Scrollkeeper Scriptletsspot2009-08-12 PackagingDrafts/DropScrollkeeperUpdate
announceNumpy and pygtk2spot2009-08-12 PackagingDrafts/PythonNumpy
announcedos2unixatorkhov 2009-07-28PackagingDrafts/Dos2unix
writeupFiltering auto-providescweyl2009-07-28PackagingDrafts/AutoProvidesAndRequiresFiltering
announceExplanation of no bundled librariesabadger19992009-07-28No_Bundled_Libraries
announcepre-built binariesoget2009-07-28PackagingDrafts/Removal_of_pre-built_binaries
announcePhase out Buildrootabadger19992009-06-02https://fedoraproject.org/wiki/Phase_out_buildroot_tag_%28draft%29
announceCommon Package Namesabadger19992009-04-14Common package names packaging guideline draft
writeupUsing Alternativesrathann2009-04-14PackagingDrafts/UsingAlternatives
announceWordPress pluginsIan Weller2009-04-14User:Ianweller/WordPress plugin packaging guidelines (draft)
writeupGConf scriptletsabadger19992009-05-12GConf Scriptlets (draft) Improve GConf scriplet handling.
announceGlobusellert2009-05-12PackagingDrafts/Globus Draft packaging guidelines for packages from the Globus Toolkit.
ratifyRPath Relaxationabadger19992009-10-07 RPath Packaging Draft
ratifyDirectory ownershipnotting2009-10-07 User:Notting/DirectoryDraft

Other TODO

Emailed Jussi Lehtola about the required changes to packages listed which are still listed here: PackagingDrafts/Fortran


Things to be considered for Packaging Guidelines

Has a Driver
Task Name Owner Target Date Notes
JavaScriptabadger1999 DiscussJavaScript libraries packaging guideline draft Libraries Packaged. See discussion page for Unresolved Issues
Type Specific Guidelinesabadger1999DiscussUser:Toshio/Type_Specific_Guidelines Talking with docs about this idea. Will send mail to packaging-list for input when we have something firmer.
OSGi Packaging GuidelinesalcapcomDiscussPackagingDrafts/OSGiGuidelines contains needed modifications and different way to implementing stuff that need to be discussed before writing 'real' guidelines.
Common voice data frameworkdchenDiscuss PackagingDrafts/CommonVoiceData
pkgconfig autorequires ajax, abadger1999 Next Meeting rpm automatically takes care of pkgconfig requires in all Fedora releases
Revised Emacs add-on guidelinesjguDiscussPackagingDrafts/EmacsPackagingRevised


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
Python virtual Providesnobody Later Python virtual provides draft Panu has been looking at this as part of rpm itself.
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. 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

Resolved items

Task NameOwnerResolution DateNotes
Drop special provision for when Red Hat is upstreammether2009-08-20 https://fedoraproject.org/wiki/No_more_exception_where_we_are_upstream%28draft%29 FESCo decided to drop this requirement.
Guidelines for Pre-Reviewabadger1999 2009-05-12 Pre-review Guidelines (draft) Approved by FPC, given to FESCo, not put into guidelines because it is a one-off.
Embedded Desktop Files spot 2009-04-14 PackagingDrafts/EmbeddedDesktopFiles
Explicit Requires spot 2009-04-14 PackagingDrafts/ExplicitRequires
Symlinks spot 2009-04-14 PackagingDrafts/Symlinks
global preferred over define abadger1999 2009-04-14 PackagingDrafts/global_preferred_over_define
Use of Epoch tag spot 2009-04-14 PackagingDrafts/Epoch
Duplicate Files update User:Toshio 2009-04-14 PackagingDrafts/Duplicate Files
Source URL Updateabadger1999 2009-04-14Troublesome source URL packaging guideline draft. Section on dealing with URLs that can't go into the Source: line.
Documentation Naming spot 2009-04-14 PackagingDrafts/DocumentationNaming
Updated Haskell Guidelines spot 2009-04-14 PackagingDrafts/Haskell
PHP channel User:Remi 2009-04-14 PackagingDrafts/PHP
Icon Cache update User:Toshio 2009-02-17 PackagingDrafts/Icon_Cache
FontSpecTemplate outside of Packagingabadger1999 2009-03-02 Packaging:FontsSpecTemplate redirected to a page outside of Packaging. The redirect was dropped.
Update Desktop File Install Usage to Drop Vendor spot 2009-01-20 TomCallaway/DesktopFileVendor
Font Packaging Naming Guidelines Nicolas Mailhot 2009-01-20 PackagingDrafts/Font_package_naming_(2009-01-13)
Font package splitting rules (guidelines change) Nicolas Mailhot 2009-01-20 PackagingDrafts/Font package splitting rules (2008-12-21)
Make adherence to the FHS a MUST, with the added exception of /usr/<target> for cross toolchains. spot 2008-01-20 https://www.redhat.com/archives/fedora-devel-list/2008-December/msg00074.html "with exceptions for libexecdir (specified in the GNU Coding Standards) and /usr/target for crosscompilers"
Updates to the Eclipse plugin guidelines overholt 2009-01-20 Was previously discussed here. Only difference from that diff is the addition of Fedora 9 notes as requested here. http://overholt.fedorapeople.org/EclipsePlugins.diff
RubyGem with C code mtasaka 2009-01-20PackagingDrafts/RubyGem with C code
Font packaging automation Nicolas Mailhot 2008-01-20PackagingDrafts/Fonts_packaging_automation Refactoring of Fedora fonts packaging guidelines and template
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
Gamesmether2009-09-09 https://fedoraproject.org/w/index.php?title=SIGs/Games/Packaging is not a set of guidelines, just strong recommendations from the Games SIG. As is, it is not appropriate as Guidelines. If the Games SIG wishes to make them required guidelines, they can resubmit them for inclusion.
Prohibit /usr/bin/env in shebangabadger19992009-08-19Script_Interpreters_(draft) This was rejected as a MUST, a SHOULD might be acceptable however.
filesystem subpackagess4504kr2009-08-12PackagingDrafts/CreatingFilesystemSubpackages Instead of mandating many smaller -filesystem packages, it is preferred to improve the base system filesystem package to own common directories. Maintainers can still create -filesystem/-common packages as appropriate.
Guidelines for MAN pageshubbitus2009-05-12MAN pages which exists in_other places(draft) This draft conflicts with the general practice that Fedora packagers should be working to send improvements directly to upstream. Anyone who feels motivated to dig in other distributions for patches or improvements should feel free to do so, but it is not something that the FPC felt should be codified into the guidelines.
Compiler Flagsabadger1999 2009-04-28 Compiler_Flags_(draft) A more thorough document on how to ensure optflags are being used should be generated in the open Packagers/ namespace, then please request that FPC add a link to that package from the relevant section of the Packaging Guidelines.
Check for fonts in review Nicolas Mailhot 2009-02-17 PackagingDrafts/ReviewGuideline_for_fonts_(2009-01-22) Packagers and reviewers should follow the Font Guidelines, but FPC is looking to phase out ReviewGuidelines, not to add to it.
User Creation abadger1999 2009-02-17 Packaging/UserCreation was never passed, and has been removed.
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.