Opened 13 years ago

Closed 10 years ago

Last modified 9 years ago

#530 closed defect (fixed)

Updated makefiles for MSVC - trunk for 1.2.4

Reported by: Charlie Hull Owned by: Charlie Hull
Priority: normal Milestone: 1.2.18
Component: MSVC makefiles Version: SVN trunk
Severity: normal Keywords:
Cc: Greg Blocked By:
Blocking: Operating System: Microsoft Windows

Description

Includes a small patch for api/compactor.cc and omega/diritor.h - the latter works on Windows, but there may be a tidier way to do this.

Attachments (2)

patch46.patch (47.0 KB ) - added by Charlie Hull 13 years ago.
patch for MSVC makefiles - 1.2.4
patch48.patch (5.7 KB ) - added by Charlie Hull 13 years ago.
The remainder of the changes, including a much simpler Changelog patch.

Download all attachments as: .zip

Change History (11)

by Charlie Hull, 13 years ago

Attachment: patch46.patch added

patch for MSVC makefiles - 1.2.4

comment:1 by Olly Betts, 13 years ago

Hmm, the patch seems to include a number of changes that seem a bit peculiar, and some which seem unlikely to be intended.

Going through the files:

xapian-applications/omega/diritor.h - applied with minor tweaks, though it'd be nicer to return the file's owner (seems to require use of win32 API calls from what I can see). r15289.

xapian-core/api/compactor.cc - we're using the C++ versions of standard C headers (except where there is a good reason not to), so that added #include <ctime> instead. r15290.

xapian-maintainer-tools/win32msvc/ChangeLog - this patch seems very messed up, so not applied. It's a really good idea to at least skim through the generated patch for reasonableness before sending it in.

xapian-maintainer-tools/win32msvc/config.h.win32 - it's silly to be defining and setting the euid member on platforms where we aren't going to be using it, which simplifies the patch needed here. Setting PKGLIBBINDIR to "" isn't a good plan - this means that helpers will be looked for in the root directory of the current drive, which isn't desirable and could perhaps even be a security concern. If there isn't a good default, we should throw an exception if XAPIAN_OMEGA_PKGLIBBINDIR isn't set in the environment. The readability tests are currently pointless if we can't get the file's owner, so perhaps there's a cleaner way of dealing with that - I will ponder that.

xapian-maintainer-tools/win32msvc/config.h.win32 - OK.

xapian-maintainer-tools/win32msvc/config.mak - seems to rather arbitrarily change paths (or quoting of paths) for omega, python 3, php stuff - is that intended? Not applied.

xapian-maintainer-tools/win32msvc/README - "Xapian trunk 1.2.4" should probably just be "Xapian 1.2.4" - applied with that change in r15294.

xapian-maintainer-tools/win32msvc/win32_applications_omega.mak - another path change which I wonder about. Not applied for now.

xapian-maintainer-tools/win32msvc/win32_bindings_php.mak - seems to no longer clean up some files which might well be produced - is that meant?

xapian-maintainer-tools/win32msvc/win32_bindings_python.mak - seems to be removing support for Python 3...

xapian-maintainer-tools/win32msvc/win32_expand.mak and xapian-maintainer-tools/win32msvc/win32_unicode.mak just seem to be removing newlines at the end of the file, which seems unhelpful if anything, so I didn't apply those.

I applied the remaining makefile changes in r15295.

comment:2 by Olly Betts, 13 years ago

Milestone: 1.2.5

I noticed the ChangeLog issue was mostly due to whitespace differences (tabs vs spaces). I'm guessing you've diff-ed current SVN against a separate tree you have locally, so Richard and/or I have done some clean ups and these are being reversed by your patch. If so, it's hard to know if some things are such reversals, or intentional changes.

Anyway, probably the simplest thing is to work through the patch on IRC at some point.

There should be ample time to resolve this before 1.2.5.

by Charlie Hull, 13 years ago

Attachment: patch48.patch added

The remainder of the changes, including a much simpler Changelog patch.

comment:3 by Charlie Hull, 13 years ago

I've added a small patch file with the remainder of the changes, including a better Changelog patch - still not sure what to do about XAPIAN_OMEGA_PKGLIBBINDIR...

comment:4 by Olly Betts, 13 years ago

Milestone: 1.2.51.2.6

uid_t and geteuid() should no longer be needed.

I've just committed a change so that the S_IRUSR, etc defines aren't needed (r15396).

I wonder if the answer to XAPIAN_OMEGA_PKGLIBBINDIR is to get the path from argv[0] and use that by default, so that helper programs are looked for in the same directory as omindex.exe?

Moving milestone - we can test these updates with 1.2.5 and fold back in patches for 1.2.6.

comment:5 by Olly Betts, 13 years ago

Milestone: 1.2.61.2.x

I've applied what remained in r15488, except I dropped the uid_t, geteuid(), and S_IRUSER, etc changes as those should no longer be needed, and I'd prefer to get a compile error if the alternative fixes aren't working.

I also cleaned up some whitespace, so please repull from SVN before generating patches next time.

Still not sure what to do about XAPIAN_OMEGA_PKGLIBBINDIR - any thoughts?

The stuff which needed doing for 1.2.6 is now done, so milestone -> 1.2.x.

comment:6 by Olly Betts, 11 years ago

Is there a newer patch? I see 1.2.8 on the download site (though that's rather behind current releases - 1.2.12 is the latest, and has been out for months now).

comment:7 by Charlie Hull, 11 years ago

I realise the makefiles are lagging releases - apologies, purely due to pressure of work here. I will see if I can make a new release soon.

comment:8 by Olly Betts, 10 years ago

Cc: Greg added
Resolution: fixed
Status: newclosed

"boomboo" reports on IRC that the MSVC makefiles "work perfectly fine for the 1.2.x branch", so I'm closing this ticket.

comment:9 by Olly Betts, 9 years ago

Milestone: 1.2.x1.2.18

Setting milestone to a version this was presumably working in based on date of ticket closure.

Note: See TracTickets for help on using tickets.