22:07:30 <pcalarco> #startmeeting
22:07:30 <zodbot> Meeting started Sat Dec  5 22:07:30 2009 UTC.  The chair is pcalarco. Information about MeetBot at http://wiki.debian.org/MeetBot.
22:07:30 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
22:07:43 <pcalarco> #meetingtopic Packaging in Fedora
22:08:15 <pcalarco> #topic Why Packaging?
22:08:34 <pcalarco> packaging is one of those contributor roles on the Fedora Project wiki
22:09:01 <pcalarco> really critical because Fedora is after all a software development effort
22:09:37 <pcalarco> as you learn about packaging, it becomes easier as you develop skills
22:10:22 <pcalarco> start with a Bugzilla account, join the mailing lists (although they can be high traffic)
22:10:57 <pcalarco> learn how the review process works, and then go about making a package
22:12:18 <pcalarco> See: How to on creating an RPM package
22:13:53 <pcalarco> creating source RPMs and binary RPMs; the SRPMs we will use in the next step, the binary build on your machine we won't use at this point
22:14:14 <pcalarco> for different build systems, there are different templates
22:15:23 <pcalarco> always use these templates, it will get you 95% of the way there
22:16:00 <pcalarco> #topic Creating a spec file
22:16:31 <pcalarco> there are a number of metadata fields at the top of the spec file
22:17:13 <pcalarco> URL should point to upstream project homepage
22:17:24 <pcalarco> License important to fill in
22:18:00 <pcalarco> BuildArch indicates which architectures package can and cannot be built
22:18:40 <pcalarco> Requires: stating requirements for the package
22:18:57 <pcalarco> there are many scripts that will help you determine requirements
22:19:54 <pcalarco> next are a series of macros that will help you make, build, install
22:20:14 <pcalarco> anything that starts with a % sign is an RPM macro
22:20:28 <pcalarco> escape these with double -- %%
22:21:48 <pcalarco> there are some quirks with RPM language, but you will learn these and then after a few packages, you'll know what you need to know and these do not change much
22:23:27 <pcalarco> %config allows you to specify or prevent from replacing, specific config files for the package
22:24:36 <pcalarco> %changelog: put the date, your name with e-mail and version
22:25:30 <pcalarco> question: is there a way to write your RPMs so that they are available for most RPM-based distros?
22:25:50 <pcalarco> the issue is mostly with the different package names
22:27:12 <pcalarco> there can also be changes introduced by different versions of RPM itself, which necessitate changes to packages
22:29:50 <pcalarco> at rpm.org there are documentation resources for RPM macros
22:30:38 <pcalarco> #topic Packaging Guidelines
22:31:10 <pcalarco> many details to know; three sets of guidelines, the first of which is the Fedora wiki
22:31:31 <pcalarco> second is Package guidelines
22:31:43 <pcalarco> third is Application Guidelines
22:32:42 <pcalarco> #topic Package Review Process
22:32:54 <pcalarco> create a review request
22:33:20 <pcalarco> #link http://bugzilla.redhat.com/
22:34:19 <pcalarco> package review process is pretty simple:
22:34:33 <pcalarco> 1) need a sponsor, if you are new to packaging
22:35:32 <pcalarco> 2) Review will provide feedback on your package and when complete they will sign off on it
22:36:41 <pcalarco> documentation for doing updates is very clear once the package is in Fedora
22:37:29 <pcalarco> #topic Koji tools
22:37:52 <pcalarco> this and another tool, mock, are important
22:39:10 <pcalarco> #link http://fedoraproject.org/wiki/Projects/Mock
22:42:09 <pcalarco> Need to be sponsored to get access to Koji
22:42:32 <pcalarco> koji can be useful as allows to build on different architectures that your own
22:44:54 <pcalarco> Package Maintainers category on the wiki is very important and up to date and maintained
22:49:07 <pcalarco> there can be dependencies with packages that need to appear in updates before you can build your package sometimes; be patient
22:54:08 <pcalarco> #endmeeting