Red Hat Bugzilla – Bug 744964
Empty fields in packaged version of publian.cfg file corrupt ToC on website when repackaged
Last modified: 2012-10-30 23:11:36 EDT
Description of problem:
When Publican packages a document, it includes a version of the publican.cfg file that combines values from the author's version of the file with values that Publican supplies automatically.
In an untranslated book, these Publican-supplied values include blank entries for web_name_label and web_product_label.
If you open up a Publican-generated SRPM and then repackage the contents, these blank entries lead to values like these getting set in the %post section of the spec file:
If you install the repackaged doc on a website, these labels get used in the site ToC.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Package an untranslated document
2. open up the Publican-generated SRPM -- rpm2cpio *.src.rpm | cpio -vid ; tar -xf *.tgz
3. change into the expanded directory and run "publican package --lang en-US --binary"
4. install the Publican-generated RPM
Note the "ARRAY" entries in the spec file in tmp/rpm; then see these entries faithfully used as labels on the website.
No "ARRAY" entries in spec file or on website.
Added code to detect and ignore empty fields from config files.
Added code to detect and ignore blank labels.
Applied to branches/publican-2x and trunk.
Committed revision 1914.
package a publican book, unzip the book, wipe out some values in the publican.cfg file, repackage the book and then verify that there are no array hashes in the spec file of the repackaged book.
Checked on publican-3.0-0.fc16.t180
Added the web_name_label and web_product_label parameters to the publican.cfg file and left the values blank. Ran "publican package --lang en-US --binary" from the trunk directory. Spec file of the packaged book does not contain "ARRAY" entries.