Modify

Ticket #7293 (closed patch: fixed)

Opened 3 years ago

Last modified 2 years ago

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

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

Change History

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

comment:1 follow-up: ↓ 2 Changed 3 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 3 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 3 years ago by Jeff Lu <jll544@…>

Replaces initial patch; further cleanup of make_clan.sh

comment:3 Changed 3 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 follow-up: ↓ 5 Changed 3 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 ; follow-up: ↓ 6 Changed 3 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 3 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 2 years ago by markk

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

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

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

comment:8 Changed 2 years ago by Dibblah

  • Status changed from new to assigned

comment:9 Changed 2 years ago by nigel

  • Status changed from assigned to closed
  • Resolution set to fixed

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

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.