'make dist' fails on clean checkout of inkscape from bzr

Bug #1188627 reported by Ryan Lerch
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Medium
Alex Valavanis

Bug Description

If you do a clean checkout of inkscape from BZR, then configure the build with "./autogen.sh", then try to build a distrobution tarball with "make dist", it currently fails with the following error message:

make[1]: *** No rule to make target `mkinstalldirs', needed by `distdir'. Stop.

This is due to the BZR tree missing the 'mkinstalldirs' shell script. To work around this issue, you can download a recent tarball from inkscape.org/download, and copy the 'mkinstalldirs' shell script in the tarball to the root directory of your inkscape checkout.

Is there any way that this file can be included in the BZR trunk?

Ryan Lerch (ryanlerch)
description: updated
description: updated
description: updated
su_v (suv-lp)
tags: added: build
su_v (suv-lp)
tags: added: packaging
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Is there any good reason why this script should not be included in bzr? I'm working overseas at the moment, but I can add it when I get back... unless there's a reason not to do so!

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Actually, I just found this advice [1]. Apparently mkinstalldirs is an autogenerated file and It isn't needed for build systems with Automake >= 1.9. The script itself used to be included in trunk but was removed in r10203 since it is bad practice to track autogenerated files [2].

[1] http://www.gnu.org/savannah-checkouts/gnu/gettext/manual/html_node/mkinstalldirs.html
[2] http://bazaar.launchpad.net/~inkscape.dev/inkscape/trunk/revision/10203

Changed in inkscape:
status: New → Triaged
importance: Undecided → Medium
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

As far as I can tell, there is no need to distribute the file provided that automake >= 1.9 is available. Please test the attached patch. I'll apply it in a couple of days if there are no objections.

Changed in inkscape:
status: Triaged → In Progress
assignee: nobody → Alex Valavanis (valavanisalex)
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Also, Ryan, it's a good idea to run "make distcheck" rather than "make dist" since it checks that all the necessary files are distributed in the tarball to actually build the package.

Revision history for this message
Ryan Lerch (ryanlerch) wrote :

Just checked out a fresh version of Inkscape, and applied your patch! And 'make dist' (and make distcheck) both work!

thanks!

Revision history for this message
Ryan Lerch (ryanlerch) wrote :

Alex, thanks also for the distcheck tip!

Although i tend to just still do the make dist and push to the fedora buildserver and triage the issues there. Does make distcheck do anything more than compile it all to see if it fails?

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

I think it does something like the following...

1. make dist (i.e., generate the tarball)
2. extract the distributed package
3. configure and make
4. make check (i.e., run any available automated tests)
5. Install into a temp folder
6. Run a few sanity checks on any binary targets... e.g., it checks that "inkscape --help" and "inkscape --version" etc give sensible replies.
7. Uninstalls from temp folder and checks that no crap is left behind
8. make dist (using the temp package)

I'm sure it has a few other useful tricks up its sleeve too!

Revision history for this message
Alex Valavanis (valavanisalex) wrote :
Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Committed in lp:inkscape r12564. I also added some missing libdepixelize to the distribution.

Changed in inkscape:
milestone: none → 0.49
status: In Progress → Fix Committed
Bryce Harrington (bryce)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.