Codeman655 / osxwinebuilder

Automatically exported from code.google.com/p/osxwinebuilder
GNU Lesser General Public License v2.1
0 stars 0 forks source link

OPTIMIZATION: make dependecies just once #8

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
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.

Original issue reported on code.google.com by oskar.ga...@gmail.com on 13 Jun 2010 at 12:58

GoogleCodeExporter commented 9 years ago
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.

Original comment by rwoodsm...@gmail.com on 13 Jun 2010 at 1:54

GoogleCodeExporter commented 9 years ago
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.

Original comment by oskar.ga...@gmail.com on 13 Jun 2010 at 2:03

GoogleCodeExporter commented 9 years ago
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.

Original comment by rwoodsm...@gmail.com on 13 Jun 2010 at 2:16

GoogleCodeExporter commented 9 years ago
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.

Original comment by rwoodsm...@gmail.com on 18 Jun 2010 at 4:33

GoogleCodeExporter commented 9 years ago
Calling this complete.  Please re-open if anything further is necessary.

Original comment by rwoodsm...@gmail.com on 17 Jul 2010 at 1:04