Bug 736189

Summary: Publican should die with a useful message if directory creation fails
Product: [Community] Publican Reporter: Jeff Fearn 🐞 <jfearn>
Component: publicanAssignee: Jeff Fearn 🐞 <jfearn>
Status: CLOSED CURRENTRELEASE QA Contact: Ruediger Landmann <rlandman+disabled>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 2.7CC: dayleparker, mmcallis, publican-list
Target Milestone: 3.0   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 3.0.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-10-31 03:11:28 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jeff Fearn 🐞 2011-09-06 23:05:50 UTC
Description of problem:
Every time Publican creates a directory it should check for success and croak with a useful message if it fails.

Version-Release number of selected component (if applicable):
publican-2.7

How reproducible:
Easy

Steps to Reproduce:
1. cd to a book as a normal user
2. create tmp dir
3. chown root:root tmp
4: run publican build
  
Actual results:
Weird errors

Expected results:
"Can't create directory $dir $why"

Additional info:

Comment 1 Jeff Fearn 🐞 2012-03-12 04:40:51 UTC
This should be fixed in master branch due to moving from system call to mkpath. mkpath delivers a useful message when it fails.

$cd foo
$ mkdir tmp
$ sudo chown  root:root tmp
$ publican build --langs all --formats xml

DEBUG: Publican: config loaded
Setting up ar-SA
mkdir tmp/ar-SA: Permission denied at /usr/share/perl5/vendor_perl/Publican/Builder.pm line 331

Comment 2 Dayle Parker 2012-04-26 06:54:47 UTC
Fix verified on Fedora 16 with Publican 3.0-0.fc16.t166. The same message is generated:


$ publican build --langs all --formats xml

Setting up en-US
mkdir tmp/en-US: Permission denied at /usr/share/perl5/vendor_perl/Publican/Builder.pm line 345