| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| < | > | |||||
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 | |
Choose skin
Stef's Blog
Post details: My First Successful Package Build
(Copied from another source written on 16 August 2006; revised slightly.)
"Packaging with Conary is easy! Just pick a simple piece of software you want, write the little basic recipe, and you got it!"
Well, that's what I was told. However, not having packaged anything before in my life, and only having installed rpm and dpkg packages when I didn't have a source tarball and was willing to deal with dependency issues, there were a couple of concepts I needed to better grasp. While much of this was Conary-specific terminology which I had been reading and learning about for a couple of months, I was also not experienced with source/version control systems or with Python programming syntax. I felt that Conary packaging was simple enough that someone who was a Linux system administrator, without software development experience, should be able to package existing software for a Conary-based system.
Through reading concepts documents, researching on the Internet, and asking questions of some very patient developers at rPath, I was able to identify where rPath was missing documentation. The creation and revision of rPath documentation has been the catalyst to learning what I have needed to learn to package my own software using Conary. Ultimately, I wanted to offer a person like myself, with limited coding and packaging experience, sufficiently facilitating documents.
My first attempts to write a .conaryrc file, write a recipe for some package I selected, and cook the recipe all failed miserably. There were huge gaps in the information I was provided. The original Conary New Package Tutorial was not high level enough and didn't offer an example that a new packager could grasp and actively work with while reading through the tutorial. The concepts documents were outdated and need to be in a searchable wiki form where other documents can easily link to or transclude its information. The bridges that needed to be built were those that takes a person with limited coding and packaging experience (like I was) to being an intermediate level Conary packager.
JIRA issue DOC-92 requested the task of creating a HOWTO/tutorial for packaging software with Conary. Randy Barlow offered a helpful example in the comments of the issue along with some basic and easy-to-follow instructions. I took the issue with the combined goal of successfully creating my own first package as well as completely rewriting the Conary New Package Tutorial. I wrote the document and stepped through the steps in a matter of two days.
Missing or limited information included:
* How to identify what values to put for conaryrc directives
* How to determine the appropriate recipe classes and their use for a particular situation
* How to configure a local build environment for an rBuilder Online project
* How to distinguish between cooking a recipe and cooking a package
Some concepts I had to read or ask questions about more before proceeding were:
* Repository map
* Build label
* Configuration contexts
I added links throughout the revised document to existing or future documents where other bridging knowledge can aid a new packager. When the document draft was complete, I had also created my first basic package for a small program called Goom using my rBuilder Online repository in a project called watZen. The tutorial itself was written to reflect the steps I took and the knowledge I had to obtain to accomplish it.
I hope to continue packaging efforts and learn more about writing recipes. My recipe writing efforts should result in additional documentation to guide new packagers as they take on new packaging projects. Some ideas I have for that are:
* Encouragement for comments in the code
* More examples of recipes that feature certain quirks
* Example workflows of starting a recipe, building several additional lines of code to take care of necessary quirks, and ultimately building the package successfully (likely to be covered in the soon-to-be-developed Develop a Package Recipe HOWTO which currently links to other recipe-related docs)
Coming soon: Recipe Building, Episode Deux: Return of the Swedish Chef
bork bork bork...
Comments:
No Comments for this post yet...
Comments are closed for this post.