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