Export to GitHub

osxwinebuilder - issue #8

OPTIMIZATION: make dependecies just once


Posted on Jun 13, 2010 by Swift Panda

Now every time the script is runned it build all dependencies and then it builds wine. If dependecies are not changed it is unnecessary. I think script should check if the dependencies are changed from last run, if yes it should rebuild them, if not it should go to next step.

It should reduce build times (after first build ofc) about half.

Comment #1

Posted on Jun 13, 2010 by Happy Dog

This is by design. All builds install all dependencies into their own prefix. This simplifies the installation of multiple versions at the (slight) cost of disk space. This will not be changed.

Comment #2

Posted on Jun 13, 2010 by Swift Panda

I understand, but this 'future' makes script completly useless for people who compile same version of wine few times trying different patches to source code. If you don't want to change it maybe you can add a flag to the command line execution which will make the work.

Comment #3

Posted on Jun 13, 2010 by Happy Dog

You should be able to patch, rebuild and reinstall individual packages by changing to the ~/wine/build/package-X.Y.Z, making your change, and running "make && make install" again.

If this makes the script useless, don't use it. It's open source: you're free to submit a patch or fork it as long as it remains LGPL. Re-opening, but this is very low priority.

Comment #4

Posted on Jun 18, 2010 by Happy Dog

New options added:

**

$ ~/wine/svn/osxwinebuilder/trunk/osxwinebuild.sh --help usage: osxwinebuild.sh [--help] [--no-clean-prefix] [--no-clean-source] [--no-rebuild] [--no-reconfigure] --help: display this help message --no-clean-prefix: do not move and create a new prefix if one already exists --no-clean-source: do not remove/extract source if already done --no-rebuild: do not rebuild packages, just reinstall --no-reconfigure: do not re-run 'configure' for any packages **

A full build takes around an hour on a Mini running Snow Leopard. Using the following options to overlay another build on the existing prefix takes approximately 10 minutes:

** ~/wine/svn/osxwinebuilder/trunk/osxwinebuild.sh \ --no-clean-prefix \ --no-clean-source \ --no-rebuild \ --no-reconfigure **

I can't promise this will be a panacea, but it should drastically reduce the time it takes to perform an incremental/patch-only build. Let me know if there are any problems with this, or if you have any other ideas/recommendations on making this a bit smoother. There are a few packages that simply don't care if they've not been re-configured or re-compiled, a 'make install' will kick off another full build.

Comment #5

Posted on Jul 17, 2010 by Happy Dog

Calling this complete. Please re-open if anything further is necessary.

Status: Fixed

Labels:
Type-Enhancement Priority-Low Usability Performance