From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11047 invoked by alias); 4 Nov 2011 06:30:07 -0000 Received: (qmail 11018 invoked by uid 22791); 4 Nov 2011 06:30:05 -0000 X-SWARE-Spam-Status: No, hits=-2.1 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,RCVD_IN_DNSWL_LOW,TW_KG,TW_YG X-Spam-Check-By: sourceware.org Received: from out2.smtp.messagingengine.com (HELO out2.smtp.messagingengine.com) (66.111.4.26) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Fri, 04 Nov 2011 06:29:49 +0000 Received: from compute5.internal (compute5.nyi.mail.srv.osa [10.202.2.45]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id 79F6B20A13 for ; Fri, 4 Nov 2011 02:29:48 -0400 (EDT) Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute5.internal (MEProxy); Fri, 04 Nov 2011 02:29:48 -0400 Received: from [192.168.1.3] (50-88-210-98.res.bhn.net [50.88.210.98]) by mail.messagingengine.com (Postfix) with ESMTPSA id 26BF88E1033; Fri, 4 Nov 2011 02:29:48 -0400 (EDT) Message-ID: <4EB3865A.2060400@cwilson.fastmail.fm> Date: Fri, 04 Nov 2011 06:30:00 -0000 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.23) Gecko/20090812 Thunderbird/2.0.0.23 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: Mailing List: CygWin-Apps Subject: Re: [ITP] astrometry.net-0.38-1 References: <6r0p87d36jnok922ec2mkfjqpog218994j@4ax.com> <4E8F0AA2.4060402@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com X-SW-Source: 2011-11/txt/msg00015.txt.bz2 On 10/7/2011 12:18 PM, Jussi Kantola wrote: > However I had to modify backend-main.c so that the config file (which > defines the location of index files) > could be read from cygwin's preferred location, > /usr/share/astrometry/etc/backend.cfg. That's a little odd, and I don't think that's exactly what was meant by the documentation http://cygwin.com/setup.html#package_contents. I don't think this is a showstopper for this release, but ordinarily configuration files belong in the top-level /etc directory. However, once installed there, a name like "backend.cfg" is poorly chosen, since it doesn't really indicate what package it belongs to, and thus might conflict with some other package. /usr/share// is usually used for other, more extensive data files and support -- e.g. that's probably where your star catalog files (indexes?) ought to go. Furthermore, if backend.cfg is user-editable, then you would probably want to install it into /etc/defaults/etc/backend.cfg and include a postinstall/preremove scripts here: (a) /etc/postinstall/astrometry.net.sh (b) /etc/preremove/astrometry.net.sh whose job is to (a) copy the "default" version into /etc on install, IF no such file already exists, and (b) remove the /etc/backend.cfg file on uninstall, if and only if it is identical to the /etc/defaults/ one. See /etc/postinstall/tcp_wrappers.sh [or .done] /etc/preremove/tcp_wrappers.sh for and example. FYI, cygport will handle creating these scripts for you (almost) automatically, via a single command: make_etc_defaults /etc/backend.cfg All this complexity is so that user-modified configuration settings don't get clobbered by package updates, but non-modified files will get updated. However, what is probably a showstopper are various lines like this in the build: # Try building and installing python spherematch module make install-spherematch make[2]: Entering directory `/usr/src/packages/tmp/astrometry.net-0.38-1/libkd' python setup.py build --force --build-base build --build-platlib build/lib running build running build_py creating build creating build/lib copying spherematch.py -> build/lib running build_ext building 'spherematch_c' extension creating build/temp.cygwin-1.7.9-i686-2.6 gcc -fno-strict-aliasing -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/usr/lib/python2.6/site-packages/numpy/core/include/numpy -I../qfits-an/include -I../util -I. -I/usr/include/python2.6 -c pyspherematch.c -o build/temp.cygwin-1.7.9-i686-2.6/pyspherematch.o gcc -shared -Wl,--enable-auto-image-base build/temp.cygwin-1.7.9-i686-2.6/pyspherematch.o libkd.a ../util/libanfiles.a ../util/libanutils.a ../qfits-an/lib/libqfits.a -L/usr/lib/python2.6/config -lpython2.6 -o build/lib/spherematch_c.dll cp build/lib/spherematch_c.so spherematch_c.so cp: cannot stat `build/lib/spherematch_c.so': No such file or directory make[2]: *** [spherematch_c.so] Error 1 IOW, cygwin python's distutils is _doing the right thing_ -- creating the plugin with the name spherematch_c.dll -- but the Makefile in astrometry.net thinks the plugin will always be named spherematch_c.so and reports an error when it tries to install the latter file. Also, when I did 'make install ...' my lib/astrometry/bin directory was empty. I can't help but think this will cause problems for your users... Now, this bit is interesting: - mkdir -p $(INSTALL_DIR)/python/astrometry/libkd + mkdir -p $(INSTALL_DIR)/share/astrometry/python/astrometry/libkd Normally, python extensions go under the "real" python dir: /usr/lib/python2.6/site-packages//... But...this whole build system doesn't really support that; it hardcodes the destination path and then adds that path to sys.path via the "application" .py files; when it really should use some mechanism to find the entry in $python's sys.path list which contains "site-packages". So...accepting that, the python stuff should ALSO go under /lib rather than /share, because (a) the .pyc files are platform specific, and (b) the .dll's which ought to go there are also platform specific. ....so, not GTG. Also, you missed Corinna's statement: "If the binaries are using it (the libbackend library), they should also be linked against [the DLL], rather than being linked statically." Your build still links against libbackend.a, rather than cygbackend.dll. I'm trying to massage your -src package to DTRT. Stay tuned. -- Chuck