Opened 10 years ago

Closed 10 years ago

#7293 closed patch (fixed)

win32-packager.pl updates and cleanup

Reported by: Jeff Lu <jll544@…> Owned by: Nigel
Priority: minor Milestone: unknown
Component: Ports - Windows Version: head
Severity: medium Keywords: win32 packager
Cc: Ticket locked: no

Description

Attached patch is an update and cleanup of the win32-packager script, with the major change of dropping QT3 and 0.21 build capability. These changes should make it easier to maintain the script going forward.

Changes, in no particular order:

- Drop QT3 and 0.21, along with related hacks, workarounds, etc.
- Add command-line options for oldthemes and mythplugins
  (myththemes is included by default)
- Add CPATH and LIBRARY_PATH variables in qt4_env.sh to enable:
- Removal of redundant library installs into mingw and msys
  (reduces initial build time with fewer ./configure calls)
- Update svn revision to 22349
- Update MinGW, unzip, MySQL download locations/versions
- General housekeeping and cleanup
  (outdated patches, make_clean.sh speed improvement, etc.)
- Fix a bug in _fetch that prevented subsequent error from printing

Tested on XP and Vista (32-bit).

Attachments (3)

7293-w32pkg_upd22.patch (42.5 KB) - added by Jeff Lu <jll544@…> 10 years ago.
7293-w32pkg_upd22.2.patch (42.9 KB) - added by Jeff Lu <jll544@…> 10 years ago.
Replaces initial patch; further cleanup of make_clan.sh
7293-w32pkg_upd22.3.patch (46.6 KB) - added by Jeff Lu <jll544@…> 10 years ago.
Updated patch: bumps Qt to 4.5.3 and MySql? to 5.1.42; also moves MySQL headers into /msys

Download all attachments as: .zip

Change History (12)

Changed 10 years ago by Jeff Lu <jll544@…>

Attachment: 7293-w32pkg_upd22.patch added

comment:1 Changed 10 years ago by Jonathan Martens <jonathan@…>

You beat me to it, but I have got a few more additions, we can perhaps add:

  1. Move to Qt 4.5.3 which was released begin October, AFAICT this has no consequences, but I still need to test it.
  2. Move to GCC 4.4.1-tdm-2, this has a minor consequence as the -fforce-mem tag is deprecated in GCC 4.3+ and I believe the configure stage of libmad (IIRC) still uses it, my test machines crashed in the process of testing this).
  3. AFAICT the make_clean script is doing way to much (and also consuming to much time) as make (dist)clean erases most of the files that is trying to find and manually delete.

comment:2 in reply to:  1 Changed 10 years ago by Jonathan Martens <jonathan@…>

Trac... sigh:

You beat me to it, but I have got a few more additions, we can perhaps add:

1. Move to Qt 4.5.3 which was released begin October, AFAICT this has no
   consequences, but I still need to test it.
2. Move to GCC 4.4.1-tdm-2, this has a minor consequence as the -fforce-mem tag
   is deprecated in GCC 4.3+ and I believe the configure stage of libmad (IIRC)
   still uses it, my test machines crashed in the process of testing this).
3. AFAICT the make_clean script is doing way to much (and also consuming to much 
   time) as make (dist)clean erases most of the files that is trying to find and 
   manually delete.

Changed 10 years ago by Jeff Lu <jll544@…>

Attachment: 7293-w32pkg_upd22.2.patch added

Replaces initial patch; further cleanup of make_clan.sh

comment:3 Changed 10 years ago by Jeff Lu <jll544@…>

Revised patch attached. QT4 does a pretty good job with 'make distclean', so the revised patch removes more unnecessary commands from make_clean.sh

comment:4 Changed 10 years ago by davidbuzz@…

Jeff ( and others ) , the 'make_clean.sh' script is over-zealous in it's clean-up, and it's designed specifically to over-clean rather than under-clean, as a longer build time is safer than a borked dll or package, especially during development. If you tweak it, please be sure to keep the existing "zeal", or you're risk of re-introducing build bugs is high. Buzz. :-)

comment:5 in reply to:  4 ; Changed 10 years ago by Jonathan Martens <jonathan@…>

Replying to davidbuzz@gmail.com:

Jeff ( and others ) , the 'make_clean.sh' script is over-zealous in it's clean-up, and it's designed specifically to over-clean rather than under-clean, as a longer build time is safer than a borked dll or package, especially during development. If you tweak it, please be sure to keep the existing "zeal", or you're risk of re-introducing build bugs is high. Buzz. :-)

I am not sure it should be so over-zealous as on the other OS-es a make (dist)clean should be enough. Why would we want to do extra on Windows?

IMHO it should work with make (dist)clean and if it does not there is something we need to fix, instead of work around.

In my experience the build process is pretty neat and the make (dist)clean process removes a lot (if not all) files that you try and manually find in order to delete, others are overwritten on each build and should therefore need no action.

Make is designed to do what it needs to do and clean what it needs to clean, so the over-zealousness is more a pain in the ... than a precaution in preventing issues. The same holds for the cleanup (removes local changes and patches applied in the tree, so you will have to hack them into win32-packager.pl which makes testing patches harder) and switch commands which are not needed as we build from trunk after this patch anyhow.

comment:6 in reply to:  5 Changed 10 years ago by Jeff Lu <jll544@…>

Replying to Jonathan Martens <jonathan@snetram.nl>:

IMHO it should work with make (dist)clean and if it does not there is something we need to fix, instead of work around.

Agreed. I would much prefer upstream bug fixes over workarounds in a build script. That said... David, if you have a specific example of a current bug that would be (re?)introduced by the proposed changes, please share.

switch commands which are not needed as we build from trunk after this patch anyhow

The 'svn switch' commands will be meaningful again when the 0.22 branch is established.

comment:7 Changed 10 years ago by markk

(In [22934]) Remove dbox2 configure option from the win32-packager script. Refs #7293.

Changed 10 years ago by Jeff Lu <jll544@…>

Attachment: 7293-w32pkg_upd22.3.patch added

Updated patch: bumps Qt to 4.5.3 and MySql? to 5.1.42; also moves MySQL headers into /msys

comment:8 Changed 10 years ago by Dibblah

Status: newassigned

comment:9 Changed 10 years ago by Nigel

Resolution: fixed
Status: assignedclosed

(In [23792]) Various build fixes - closes #7293. Note - I omitted the UnZIP upgrade.

Note: See TracTickets for help on using tickets.