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
Change History
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:
- Move to Qt 4.5.3 which was released begin October, AFAICT this has no consequences, but I still need to test it.
- 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).
- 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@…>
- Attachment 7293-w32pkg_upd22.2.patch added
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
Changed 2 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
