From gwking at metabang.com Mon Dec 3 04:20:27 2007 From: gwking at metabang.com (Gary King) Date: Sun, 2 Dec 2007 23:20:27 -0500 Subject: [asdf-install-devel] Announce: ASDF-Install -unstable- with better Windows support Message-ID: <6BBFCF2C-7075-4006-9BD0-C31780E8C49A@metabang.com> Thanks to Dan Muller, Andy Cristina and Attila Lendvai, ASDF-Install should now play more nicely on Windows systems. The change log has the details but here is the summary: > Summarizing: On Windows we will now use *GNU-TAR-PROGRAM* and *SHELL-SEARCH-PATHS* just like on UNIX. We still assume Cygwin and still run cygpath on the tar arguments. We no longer use *CYGWIN-BASH-PROGRAM*, but we still honor *CYGWIN-BIN-DIRECTORY*. Are these changes 100% backwards compatible? No, some failure cases will fail differently. But out-of-the-box success, using Cygwin, and without customization, is more likely. Because of the magnitude of these changes, I've setup an unstable darcs repository. You can get these using darcs get http://common-lisp.net/project/asdf-install there is also a tarball at http://common-lisp.net/project/asdf-install/asdf-install-unstable/asdf-install.tar.gz the tarball is signed with my GPG key. Please enjoy and let me know if anything seems amiss (let me here is it all works for you too so that I can move these changes into the stable repository...). Thanks, -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From gwking at metabang.com Mon Dec 3 04:22:32 2007 From: gwking at metabang.com (Gary King) Date: Sun, 2 Dec 2007 23:22:32 -0500 Subject: [asdf-install-devel] Re: [Sbcl-help] asdf install broken on win32? In-Reply-To: References: Message-ID: Hi Terrance, You may want to look at the portable version of ASDF-Install (http://common-lisp.net/project/asdf-install ); there's been some recent work in making it more Windows friendly. -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From attila.lendvai at gmail.com Mon Dec 3 11:05:35 2007 From: attila.lendvai at gmail.com (Attila Lendvai) Date: Mon, 3 Dec 2007 12:05:35 +0100 Subject: [asdf-install-devel] Announce: ASDF-Install -unstable- with better Windows support In-Reply-To: <6BBFCF2C-7075-4006-9BD0-C31780E8C49A@metabang.com> References: <6BBFCF2C-7075-4006-9BD0-C31780E8C49A@metabang.com> Message-ID: > Because of the magnitude of these changes, I've setup an unstable > darcs repository. You can get these using > > darcs get http://common-lisp.net/project/asdf-install small mistake, the correct link is: darcs get http://common-lisp.net/project/asdf-install/asdf-install-unstable -- attila From metaperl at gmail.com Mon Dec 3 07:51:31 2007 From: metaperl at gmail.com (Terrence Brannon) Date: Mon, 3 Dec 2007 02:51:31 -0500 Subject: [asdf-install-devel] Re: [Sbcl-help] asdf install broken on win32? In-Reply-To: References: Message-ID: On Dec 2, 2007 11:22 PM, Gary King wrote: > Hi Terrance, > > You may want to look at the portable version of ASDF-Install (http://common-lisp.net/project/asdf-install Yeah I just grabbed asdf_latest.tgz from there > ); there's been some recent work in making it more Windows friendly. Well, it seems to need something called sb-bsd-sockets. And how to install this is not mentioned in the README: c:/Documents and Settings/Administrator/My Documents/dl/asdf-install/asdf-install # sbcl This is SBCL 1.0.9, an implementation of ANSI Common Lisp. More information about SBCL is available at . SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. This is experimental prerelease support for the Windows platform: use at your own risk. "Your Kitten of Death awaits!" * (load "load-asdf-install.lisp") ;;; ASDF-INSTALL: Loading ASDF-INSTALL package from directory ;;; "c:\Documents and Settings\Administrator\My Documents\dl\asdf-install\asdf-install\" debugger invoked on a SB-KERNEL:READER-PACKAGE-ERROR: READER-ERROR at 3750 (line 105, column 53) on #: package "SB-BSD-SOCKETS" not found Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. (SB-IMPL::READ-TOKEN # #\s) 0] From rudi at constantly.at Mon Dec 3 09:43:22 2007 From: rudi at constantly.at (Rudi Schlatte) Date: Mon, 3 Dec 2007 17:43:22 +0800 Subject: [asdf-install-devel] Re: [Sbcl-help] asdf install broken on win32? In-Reply-To: References: Message-ID: <8B6C7941-2FE9-4E7D-9286-52FC84E48114@constantly.at> On 03.12.2007, at 15:51, Terrence Brannon wrote: > On Dec 2, 2007 11:22 PM, Gary King wrote: >> Hi Terrance, >> >> You may want to look at the portable version of ASDF-Install (http://common-lisp.net/project/asdf-install > > Yeah I just grabbed asdf_latest.tgz from there > >> ); there's been some recent work in making it more Windows friendly. > > Well, it seems to need something called sb-bsd-sockets. And how to > install this is not mentioned in the README: Where did you get your sbcl, and how did you install it? sb-bsd- sockets is part of sbcl and is compiled and installed along with it. This should Just Work. Rudi From metaperl at gmail.com Mon Dec 3 13:14:18 2007 From: metaperl at gmail.com (Terrence Brannon) Date: Mon, 3 Dec 2007 08:14:18 -0500 Subject: [asdf-install-devel] Re: [Sbcl-help] asdf install broken on win32? In-Reply-To: <8B6C7941-2FE9-4E7D-9286-52FC84E48114@constantly.at> References: <8B6C7941-2FE9-4E7D-9286-52FC84E48114@constantly.at> Message-ID: On Dec 3, 2007 4:43 AM, Rudi Schlatte wrote: > > On 03.12.2007, at 15:51, Terrence Brannon wrote: > > > On Dec 2, 2007 11:22 PM, Gary King wrote: > >> Hi Terrance, > >> > >> You may want to look at the portable version of ASDF-Install (http://common-lisp.net/project/asdf-install > > > > Yeah I just grabbed asdf_latest.tgz from there > > > >> ); there's been some recent work in making it more Windows friendly. > > > > Well, it seems to need something called sb-bsd-sockets. And how to > > install this is not mentioned in the README: > > Where did you get your sbcl, http://sourceforge.net/project/downloading.php?groupname=sbcl&filename=sbcl-1.0.9-x86-windows-binary.msi&use_mirror=superb-west > and how did you install it? I just ran the installer. I see what the issue is now. If I type (require 'asdf-install), then SB-BSD-SOCKETS gets loaded with no problem. But typing (load "load-asdf-install.lisp") in the directory I unpacked asdf_latest.tgz into does not automatically load SB-BSD-SOCKETS, hence the error. But yes, I really need to get this portable one going because the one that comes with the windows binary cannot find gpg or tar. -- http://www.aliveandwell.org/ | http://www.SlowChess.com | http://mostholy.wholefoodfarmacy.com From gwking at metabang.com Mon Dec 3 17:41:36 2007 From: gwking at metabang.com (Gary King) Date: Mon, 3 Dec 2007 12:41:36 -0500 Subject: [asdf-install-devel] Re: [Sbcl-help] asdf install broken on win32? In-Reply-To: References: <8B6C7941-2FE9-4E7D-9286-52FC84E48114@constantly.at> Message-ID: Hi Terrance, SBCL should have socket support and that should be the package sb-bsd- sockets. I'd really like to figure out what isn't working since this installation sort of snafi causes nothing but pain and frustration... What happens if you (require :sb-bsd-sockets) at the SBCL prompt before trying to asdf-install? Did you build SBCL from source or install a binary? -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From gwking at metabang.com Wed Dec 5 02:47:25 2007 From: gwking at metabang.com (Gary King) Date: Tue, 4 Dec 2007 21:47:25 -0500 Subject: [asdf-install-devel] Announce: ASDF-Install -unstable- with better Windows support In-Reply-To: References: <6BBFCF2C-7075-4006-9BD0-C31780E8C49A@metabang.com> Message-ID: <438002AF-0CDA-488F-9890-449A00FA05CC@metabang.com> Thanks Attila, On Dec 3, 2007, at 6:05 AM, Attila Lendvai wrote: >> Because of the magnitude of these changes, I've setup an unstable >> darcs repository. You can get these using >> >> darcs get http://common-lisp.net/project/asdf-install > > > small mistake, the correct link is: > > darcs get http://common-lisp.net/project/asdf-install/asdf-install-unstable > > -- > attila > _______________________________________________ > asdf-install-devel mailing list > asdf-install-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-install-devel -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From mail at chaitanyagupta.com Wed Dec 12 21:34:45 2007 From: mail at chaitanyagupta.com (Chaitanya Gupta) Date: Thu, 13 Dec 2007 03:04:45 +0530 Subject: [asdf-install-devel] asdf-install stable repository not working? Message-ID: <476053F5.5060307@chaitanyagupta.com> Hello, $ darcs get http://common-lisp.net/project/asdf-install gives this output - --- Output starts --- Invalid repository: http://common-lisp.net/project/asdf-install darcs failed: Failed to download URL http://common-lisp.net/project/asdf-install/_darcs/inventory : HTTP error (404?) --- Output ends --- Is something wrong with the stable repository? I am using the repository information given on the home page. The unstable repository seems to be working fine though. Thanks, From chaitanya at cleartrip.com Wed Dec 12 21:18:58 2007 From: chaitanya at cleartrip.com (Chaitanya Gupta) Date: Thu, 13 Dec 2007 02:48:58 +0530 Subject: [asdf-install-devel] asdf-install stable repository not working? Message-ID: <47605042.90506@cleartrip.com> Hello, $ darcs get http://common-lisp.net/project/asdf-install gives this output - --- Output starts --- Invalid repository: http://common-lisp.net/project/asdf-install darcs failed: Failed to download URL http://common-lisp.net/project/asdf-install/_darcs/inventory : HTTP error (404?) --- Output ends --- Is something wrong with the stable repository? I am using the repository information given on the home page. The unstable repository seems to be working fine though. Thanks, -- Chaitanya Gupta Developer Cleartrip From gwking at metabang.com Wed Dec 12 23:18:09 2007 From: gwking at metabang.com (Gary King) Date: Wed, 12 Dec 2007 18:18:09 -0500 Subject: [asdf-install-devel] asdf-install stable repository not working? In-Reply-To: <47605042.90506@cleartrip.com> References: <47605042.90506@cleartrip.com> Message-ID: Hi, Thanks for noticing this. I'm not sure what went amiss but the darcs repository was definitely messed up. It should be fixed now. Thanks again, On Dec 12, 2007, at 4:18 PM, Chaitanya Gupta wrote: > Hello, > > $ darcs get http://common-lisp.net/project/asdf-install > gives this output - > --- Output starts --- > Invalid repository: http://common-lisp.net/project/asdf-install > > darcs failed: Failed to download URL > http://common-lisp.net/project/asdf-install/_darcs/inventory : HTTP > error (404?) > --- Output ends --- > > Is something wrong with the stable repository? I am using the > repository > information given on the home page. > > The unstable repository seems to be working fine though. > > Thanks, > > -- > Chaitanya Gupta > Developer > Cleartrip > > _______________________________________________ > asdf-install-devel mailing list > asdf-install-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-install-devel -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From pikdj2002 at sneakemail.com Wed Dec 19 02:56:44 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 18 Dec 2007 21:56:44 -0500 Subject: [asdf-install-devel] Patch to fix load-asdf-install, et al Message-ID: <4949-35029@sneakemail.com> I have a small patch to fix load-asdf-install.lisp (adding an expression to load variables.lisp). The patch also removes loader.lisp, which seemed to be obsolete. Available via http://danm.homelinux.org/darcsweb.cgi, in asdf-install/submitted. -- Dan Muller From pikdj2002 at sneakemail.com Wed Dec 19 03:14:58 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 18 Dec 2007 22:14:58 -0500 Subject: [asdf-install-devel] Opinions regarding some more cleanup... Message-ID: <22713-22606@sneakemail.com> I'd like to suggest the following small changes to further cleanup and simplify configuration of asdf-install. Comments are relative to the unstable repository. - Document *shell-search-paths*. It's used only to find the tar executable and (on Windows) to find cygpath. I haven't looked to see how other things (gpg, and ...?) are located. Perhaps the native shell is just expected to find them. - Remove undocumented *cygwin-bin-directory*. *shell-search-paths* should suffice, really. - Replace undocumented *tar-extractors* with *tar-extractor* (and document it). This is really the most versatile "escape hatch" for getting tar extraction to work under any circumstances. But I don't see why a list is needed rather than a singular funcallable value -- you either get this right for your environment, or not. - Document default Cygwin-assuming behavior on Windows. Guess I'll have to learn cl-markdown to fix the documentation bits. Any strong opinions about any of these? There are lots of other exported symbols that I believe are undocumented: *shell-path* asdf-install-dirs private-asdf-install-dirs *temporary-directory* add-locations add-registry-location asdf-install-version signature-error gpg-error gpg-shell-error installation-abort install-anyways asdf-isntall-customize I'm not suggesting that they all ought to be documented. Perhaps some of them are provisional and not trusted to live long; I haven't dug through the repository history to see. Just taking note of them. -- Dan Muller From gwking at metabang.com Wed Dec 19 22:53:00 2007 From: gwking at metabang.com (Gary King) Date: Wed, 19 Dec 2007 17:53:00 -0500 Subject: [asdf-install-devel] Patch to fix load-asdf-install, et al In-Reply-To: <4949-35029@sneakemail.com> References: <4949-35029@sneakemail.com> Message-ID: <2BB22508-8533-4E34-864C-2FF4D1EC9518@metabang.com> Thanks Dan, I'll try to get to this tonight. On Dec 18, 2007, at 9:56 PM, Dan Muller wrote: > > I have a small patch to fix load-asdf-install.lisp (adding an > expression to load variables.lisp). The patch also removes > loader.lisp, which seemed to be obsolete. > > Available via http://danm.homelinux.org/darcsweb.cgi, in > asdf-install/submitted. > > -- > Dan Muller > _______________________________________________ > asdf-install-devel mailing list > asdf-install-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-install-devel -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From pikdj2002 at sneakemail.com Sun Dec 23 16:25:01 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Sun, 23 Dec 2007 11:25:01 -0500 Subject: [asdf-install-devel] A series of small patches, incl. docs. Message-ID: <16144-26392@sneakemail.com> I offer the following patches, accessible via darcs at http://danm.homelinux.org/darcsweb.cgi, in asdf-install/submitted. I tried to do these in small, readily comprehensible and reviewable steps: Sun Dec 23 09:10:27 Eastern Standard Time 2007 Dan Muller * Tabs cleanup, TODO notes on documentation. Use of tabs versus spaces for indentation was inconsistent in several files. Untabified all files, added an Emacs file variables list at end-of-file to promote consistency. Added TODO comments in defpackage.lisp to mark undocumented exports. Sun Dec 23 09:55:10 Eastern Standard Time 2007 Dan Muller * Renamed FIND-SHELL-COMMAND to FIND-PROGRAM. This internal function really has nothing to do with the shell anymore. Sun Dec 23 10:07:38 Eastern Standard Time 2007 Dan Muller * Renamed *SHELL-SEARCH-PATHS* to *PROGRAM-DIRECTORIES*. Sun Dec 23 10:13:42 Eastern Standard Time 2007 Dan Muller * Removed *CYGWIN-BIN-DIRECTORY*. Sun Dec 23 10:23:01 Eastern Standard Time 2007 Dan Muller * Changed *TAR-EXTRACTORS* to *TAR-EXTRACTOR*. A list is not needed here -- it's now a singular funcallable value. Sun Dec 23 11:17:09 Eastern Standard Time 2007 Dan Muller * Documentation updates, mainly for *PROGRAM-DIRECTORIES* and *TAR-EXTRACTOR*. I modified the markdown sources by following existing examples; I have not tested them, as I have not taken time to install and learn cl-markdown and its dependencies yet. Feedback welcome. -- Dan Muller From gwking at metabang.com Sun Dec 23 17:18:50 2007 From: gwking at metabang.com (Gary King) Date: Sun, 23 Dec 2007 12:18:50 -0500 Subject: [asdf-install-devel] A series of small patches, incl. docs. In-Reply-To: <16144-26392@sneakemail.com> References: <16144-26392@sneakemail.com> Message-ID: <7A939C33-1007-4DF8-9310-658C8BF2AB6B@metabang.com> Hi Dan, This is great; I will pull these later today. I get your others patches yesterday but ended up having to apply them by hand because darcs said: > > darcs pull http://danm.homelinux.org/asdf-install/submitted > > darcs failed: Not a repository: http://danm.homelinux.org/asdf-install/submitted > (user error (Failed to download URL http://danm.homelinux.org/asdf-install/submitted/_darcs/inventory > libcurl: HTTP error (404?))) > [misterx:~/darcs/asdf-install-unstable] gwking% I'm probably doing something silly wrong; can you please let me know what it is? thanks, On Dec 23, 2007, at 11:25 AM, Dan Muller wrote: > > I offer the following patches, accessible via darcs at > http://danm.homelinux.org/darcsweb.cgi, in asdf-install/submitted. I > tried to do these in small, readily comprehensible and reviewable > steps: > > Sun Dec 23 09:10:27 Eastern Standard Time 2007 Dan Muller > > * Tabs cleanup, TODO notes on documentation. > > Use of tabs versus spaces for indentation was inconsistent in several > files. Untabified all files, added an Emacs file variables list at > end-of-file to promote consistency. > > Added TODO comments in defpackage.lisp to mark undocumented exports. > > Sun Dec 23 09:55:10 Eastern Standard Time 2007 Dan Muller > > * Renamed FIND-SHELL-COMMAND to FIND-PROGRAM. > > This internal function really has nothing to do with the shell > anymore. > > Sun Dec 23 10:07:38 Eastern Standard Time 2007 Dan Muller > > * Renamed *SHELL-SEARCH-PATHS* to *PROGRAM-DIRECTORIES*. > > > Sun Dec 23 10:13:42 Eastern Standard Time 2007 Dan Muller > > * Removed *CYGWIN-BIN-DIRECTORY*. > > > Sun Dec 23 10:23:01 Eastern Standard Time 2007 Dan Muller > > * Changed *TAR-EXTRACTORS* to *TAR-EXTRACTOR*. > > A list is not needed here -- it's now a singular funcallable value. > > Sun Dec 23 11:17:09 Eastern Standard Time 2007 Dan Muller > > * Documentation updates, mainly for *PROGRAM-DIRECTORIES* and *TAR- > EXTRACTOR*. > > I modified the markdown sources by following existing examples; I > have > not tested them, as I have not taken time to install and learn > cl-markdown and its dependencies yet. Feedback welcome. > > > -- > Dan Muller > _______________________________________________ > asdf-install-devel mailing list > asdf-install-devel at common-lisp.net > http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-install-devel -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From 367znud02 at sneakemail.com Sun Dec 23 17:47:08 2007 From: 367znud02 at sneakemail.com (Dan Muller) Date: Sun, 23 Dec 2007 12:47:08 -0500 Subject: [asdf-install-devel] A series of small patches, incl. docs. In-Reply-To: <7A939C33-1007-4DF8-9310-658C8BF2AB6B@metabang.com> (Gary King gwking-at-metabang com's message of "Sun\, 23 Dec 2007 12\:18\:50 -0500") References: <16144-26392@sneakemail.com> <7A939C33-1007-4DF8-9310-658C8BF2AB6B@metabang.com> Message-ID: Gary King wrote: > This is great; I will pull these later today. I get your others > patches yesterday but ended up having to apply them by hand because > darcs said: > >> > darcs pull http://danm.homelinux.org/asdf-install/submitted >> >> darcs failed: Not a repository: >> http://danm.homelinux.org/asdf-install/submitted (user error >> (Failed to download URL >> http://danm.homelinux.org/asdf-install/submitted/_darcs/inventory >> libcurl: HTTP error (404?))) >> [misterx:~/darcs/asdf-install-unstable] gwking% > > I'm probably doing something silly wrong; can you please let me know > what it is? No, this is probably something wrong at my end. I'm no Apache guru, and I'm sure I've messed up something with the confiuration. I'll look into it right now and post another message when I think I have it straightened out. From 367znud02 at sneakemail.com Sun Dec 23 17:52:20 2007 From: 367znud02 at sneakemail.com (Dan Muller) Date: Sun, 23 Dec 2007 12:52:20 -0500 Subject: [asdf-install-devel] A series of small patches, incl. docs. In-Reply-To: (Dan Muller's message of "Sun\, 23 Dec 2007 12\:47\:08 -0500") References: <16144-26392@sneakemail.com> <7A939C33-1007-4DF8-9310-658C8BF2AB6B@metabang.com> Message-ID: Dan Muller <367znud02 at sneakemail.com> writes: > Gary King wrote: >> >>> > darcs pull http://danm.homelinux.org/asdf-install/submitted >>> >>> darcs failed: Not a repository: >>> http://danm.homelinux.org/asdf-install/submitted (user error >>> (Failed to download URL >>> http://danm.homelinux.org/asdf-install/submitted/_darcs/inventory >>> libcurl: HTTP error (404?))) >>> [misterx:~/darcs/asdf-install-unstable] gwking% >> >> I'm probably doing something silly wrong; can you please let me know >> what it is? > > No, this is probably something wrong at my end. I'm no Apache guru, > and I'm sure I've messed up something with the confiuration. I'll look > into it right now and post another message when I think I have it > straightened out. OK, for the moment, try using http://danm.homelinux.org/darcs/asdf-install/submitted. I think it might take me a little while to figure out how to fix the link that you were probably following, which is generated by a locally-hacked version of darcsweb. From pikdj2002 at sneakemail.com Sun Dec 23 18:33:18 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Sun, 23 Dec 2007 13:33:18 -0500 Subject: [asdf-install-devel] A series of small patches, incl. docs. In-Reply-To: (Dan Muller's message of "Sun\, 23 Dec 2007 12\:52\:20 -0500") References: <16144-26392@sneakemail.com> <7A939C33-1007-4DF8-9310-658C8BF2AB6B@metabang.com> Message-ID: <13257-36941@sneakemail.com> Dan Muller <367znud02 at sneakemail.com> writes: > Dan Muller <367znud02 at sneakemail.com> writes: > >> Gary King wrote: >>> >>>> > darcs pull http://danm.homelinux.org/asdf-install/submitted >>>> >>>> darcs failed: Not a repository: >>>> http://danm.homelinux.org/asdf-install/submitted (user error >>>> (Failed to download URL >>>> http://danm.homelinux.org/asdf-install/submitted/_darcs/inventory >>>> libcurl: HTTP error (404?))) >>>> [misterx:~/darcs/asdf-install-unstable] gwking% >>> >>> I'm probably doing something silly wrong; can you please let me know >>> what it is? >> >> No, this is probably something wrong at my end. I'm no Apache guru, >> and I'm sure I've messed up something with the confiuration. I'll look >> into it right now and post another message when I think I have it >> straightened out. > > OK, for the moment, try using > http://danm.homelinux.org/darcs/asdf-install/submitted. I think it > might take me a little while to figure out how to fix the link that > you were probably following, which is generated by a locally-hacked > version of darcsweb. I think I have it all fixed now. On page ... http://danm.homelinux.org/asdf-install/submitted ... the link listed as "url" should now be correct and accessible, and that's the URL to use with Darcs. I also figured out why my darcsweb pages were so ugly -- the style sheet wasn't accessible. They look much nicer now. The full list of repos on my system is at: http://scorpion/darcsweb.cgi Just one more thing I'd like to figure out with darcsweb: How to easily add a per-repository short description. I think you can drop a file for this somewhere under _darcs... -- Dan Muller From mail at chaitanyagupta.com Mon Dec 24 20:51:18 2007 From: mail at chaitanyagupta.com (Chaitanya Gupta) Date: Tue, 25 Dec 2007 02:21:18 +0530 Subject: [asdf-install-devel] Relative symlinks to sysfiles Message-ID: <47701BC6.1030208@chaitanyagupta.com> Hi, One minor problem I have with asdf-install is that symlinks (usually in the systems/ directory) to .asd files are absolute, and not relative. This becomes a pain if you want to shift your Lisp libraries to a different directory from the one they were installed in - all the symlinks have to be created again. So I have attached a small patch which allows one to create relative symlinks to .asd files (usually in the systems/ directory) -- if *relative-symlinks* is non-NIL, the symlinks created are relative. The code is not all that great, but this is the "best, hopefully portable" solution that I could come up with (will be great if anyone can suggest improvements). It works on ACL8 and SBCL 1.0.5 on OS X (I cannot test it on other environments right now, but it should work fine on Linux for these two implementations, I think). The patch is in unified diff format (created using darcs diff -u). If its good enough, I'll create a patch file and send it. Otherwise suggestions are always welcome. Thanks, Chaitanya -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: asdf-install.patch URL: From pikdj2002 at sneakemail.com Tue Dec 25 18:39:11 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 25 Dec 2007 13:39:11 -0500 Subject: [asdf-install-devel] Relative symlinks to sysfiles In-Reply-To: <47701BC6.1030208@chaitanyagupta.com> (Chaitanya Gupta mail-at-chaitanyagupta com's message of "Tue\, 25 Dec 2007 02\:21\:18 +0530") References: <47701BC6.1030208@chaitanyagupta.com> Message-ID: <26772-45221@sneakemail.com> Chaitanya Gupta wrote: > One minor problem I have with asdf-install is that symlinks (usually in > the systems/ directory) to .asd files are absolute, and not relative. > This becomes a pain if you want to shift your Lisp libraries to a > different directory from the one they were installed in - all the > symlinks have to be created again. > > So I have attached a small patch which allows one to create relative > symlinks to .asd files (usually in the systems/ directory) -- if > *relative-symlinks* is non-NIL, the symlinks created are relative. The > code is not all that great, but this is the "best, hopefully portable" > solution that I could come up with (will be great if anyone can suggest > improvements). It works on ACL8 and SBCL 1.0.5 on OS X (I cannot test it > on other environments right now, but it should work fine on Linux for > these two implementations, I think). > > The patch is in unified diff format (created using darcs diff -u). If > its good enough, I'll create a patch file and send it. Otherwise > suggestions are always welcome. > Hi Chaitanya, I didn't test your patch, because I'm currently only testing on Windows. Eventually I need to get myself set up for testing on my Linux box, too. My only critique at the moment has to do with the fact that I'd like to see the set of customizable exports from ASDF-INSTALL kept small. Symlinking the system files is a problematic area for Windows users and needs a better solution there. Rather than adding an exported boolean symbol, I'd much rather see something like a variable whose value is a function that is responsible for "registering" a system file. By default, this would symlink as is currently done; you could replace the value with your function, which then wouldn't have to be part of ASDF-INSTALL (although it could still be, as an exported convenience function). This would also provide a means for Windows users to replace it with a function that coordinates with their ASDF (or MK-DEFSYSTEM) configuration. Also, accompanying updates to documentation and unit tests would be nice for new features, but I realize that raises the bar on contributions quite a bit. -- Dan Muller From pikdj2002 at sneakemail.com Tue Dec 25 21:34:57 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 25 Dec 2007 16:34:57 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings Message-ID: <19493-30060@sneakemail.com> Merry Christmas -- another batch of patches added to my "submitted" darcs repository. They can be pulled from here: Naked darcs URL: http://danm.homelinux.org/darcs/asdf-install/submitted/ darcsweb URL: http://danm.homelinux.org/darcsweb.cgi Patch descriptions follow. Note especially the unit test patch, which is independent of the others. The only one which is likely to have an effect on ASDF-INSTALL's behavior is the one named "More refactoring, mostly in INSTALL-PACKAGES". The others are intended mainly to make the code easier to understand. Tue Dec 25 15:26:37 Eastern Standard Time 2007 Dan Muller * Improved testing of unit test results. Added function ENSURE-INSTALL-RESULTS-SAME and used it in many of the tests. In particular, replaced the test for success in space-in-working-directory : test-1, allowing it to pass on Windows systems. One thing I don't quite understand: When I made this change, I discovered that installing moptilities also installs closer-mop in one unit test, but not in another unit test. This wasn't tested for before, so I don't know if it's expected or not. I adjusted the test success conditions so that they both pass despite this anomaly. Tue Dec 25 14:46:24 Eastern Standard Time 2007 Dan Muller * Canonicalized NEED-MORE-PACKAGES condition. This refactoring gathers together some of the more complicated defsystem-specific behavior by introducing an internal condition, NEED-MORE-PACKAGES. Instead of having to handle defsystem-specific conditions in core installation code, the code that tries to load a system is now responsible for translating defsystem-specific conditions to a NEED-MORE-PACKAGES condition, which is handled in a defsystem-independent fashion. This is only a small step towards better handling of multiple defsystems. Tue Dec 25 13:12:55 Eastern Standard Time 2007 Dan Muller * Gave local vars in INSTALL-PACKAGE more descriptive names. Tue Dec 25 12:33:37 Eastern Standard Time 2007 Dan Muller * More refactoring, mostly in INSTALL-PACKAGES. Changed the names of various variables in INSTALL-PACKAGES to clarify purpose and whether they involve packages or systems. (The distinction can usually be made clear, except when trying to recursively install missing components.) Also refactored the code to treat downloaded versus local archive files more similiarly; this required taking some additional care in what gets pushed on the local list SYSTEMS-TO-LOAD and the dynamic list *SYSTEMS-INSTALLED-THIS-TIME*. Also a minor simplification in CANONICAL-SYSTEM-NAME, addition of a doc string, clarification of a comment. Tue Dec 25 11:20:10 Eastern Standard Time 2007 Dan Muller * Factored out ONE-ITER as INSTALL-PACKAGES. First of several refactorings to make the code more legible. INSTALL was simply too large for me to easily comprehend. Mon Dec 24 14:12:22 Eastern Standard Time 2007 Dan Muller * Moved system name canonicalization to a separate function. -- Dan Muller From mail at chaitanyagupta.com Tue Dec 25 21:51:09 2007 From: mail at chaitanyagupta.com (Chaitanya Gupta) Date: Wed, 26 Dec 2007 03:21:09 +0530 Subject: [asdf-install-devel] Relative symlinks to sysfiles In-Reply-To: <26772-45221@sneakemail.com> References: <47701BC6.1030208@chaitanyagupta.com> <26772-45221@sneakemail.com> Message-ID: <47717B4D.3000308@chaitanyagupta.com> Dan Muller wrote: > Hi Chaitanya, > > I didn't test your patch, because I'm currently only testing on > Windows. Eventually I need to get myself set up for testing on my > Linux box, too. > > And I can only test on OS X at the moment. ;) > My only critique at the moment has to do with the fact that I'd like > to see the set of customizable exports from ASDF-INSTALL kept > small. Symlinking the system files is a problematic area for Windows > users and needs a better solution there. Rather than adding an > exported boolean symbol, I'd much rather see something like a variable > whose value is a function that is responsible for "registering" a > system file. By default, this would symlink as is currently done; you > could replace the value with your function, which then wouldn't have > to be part of ASDF-INSTALL (although it could still be, as an exported > convenience function). This would also provide a means for Windows > users to replace it with a function that coordinates with their ASDF > (or MK-DEFSYSTEM) configuration. > I agree that this would be a better approach than what's done currently (calling MAYBE-SYMLINK-SYSFILE from INSTALL-PACKAGE), but instead of providing "a" default, I think it would be better to provide "reasonable" system-specific default functions for registering a system e.g. one for unix-based systems, another for windows, etc (and my preferred way could be a convenience exported function - I /think/ some people might want symlinks this way). BTW, even without my patch, currently MAYBE-SYMLINK-FILE does nothing on Windows (AFAIK, registering a system only means creating a symlink right now). This is from the stable repository: (defun maybe-symlink-sysfile (system sysfile) (declare (ignorable system sysfile)) #-(or :win32 :mswindows) (let ((target (merge-pathnames (make-pathname :name (pathname-name sysfile) :type (pathname-type sysfile)) system))) (when (probe-file target) (unlink-file target)) (symlink-files sysfile target))) So I had not worried about windows while creating this patch. ;) > Also, accompanying updates to documentation and unit tests would be > nice for new features, but I realize that raises the bar on > contributions quite a bit. > > That's not an issue. I didn't send this with the intention of getting it committed in its current form -- I want to see how good/bad the idea/code is, and whether there's a better alternative (like what you suggested). I have no problem writing documentation/unit tests once the code is fixed. Thanks, Chaitanya From pikdj2002 at sneakemail.com Tue Dec 25 22:34:35 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 25 Dec 2007 17:34:35 -0500 Subject: [asdf-install-devel] Relative symlinks to sysfiles In-Reply-To: <47717B4D.3000308@chaitanyagupta.com> (Chaitanya Gupta mail-at-chaitanyagupta com's message of "Wed\, 26 Dec 2007 03\:21\:09 +0530") References: <47701BC6.1030208@chaitanyagupta.com> <26772-45221@sneakemail.com> <47717B4D.3000308@chaitanyagupta.com> Message-ID: <30036-01807@sneakemail.com> Chaitanya Gupta wrote: > Dan Muller wrote: >> My only critique at the moment has to do with the fact that I'd like >> to see the set of customizable exports from ASDF-INSTALL kept >> small. Symlinking the system files is a problematic area for Windows >> users and needs a better solution there. Rather than adding an >> exported boolean symbol, I'd much rather see something like a variable >> whose value is a function that is responsible for "registering" a >> system file. By default, this would symlink as is currently done; you >> could replace the value with your function, which then wouldn't have >> to be part of ASDF-INSTALL (although it could still be, as an exported >> convenience function). This would also provide a means for Windows >> users to replace it with a function that coordinates with their ASDF >> (or MK-DEFSYSTEM) configuration. >> > I agree that this would be a better approach than what's done currently > (calling MAYBE-SYMLINK-SYSFILE from INSTALL-PACKAGE), but instead of > providing "a" default, I think it would be better to provide > "reasonable" system-specific default functions for registering a system > e.g. one for unix-based systems, another for windows, etc (and my > preferred way could be a convenience exported function - I /think/ some > people might want symlinks this way). I agree on all three points: providing reasonable defaults, that some folks might prefer relative symlinks, and that relative symlinks should be available via an exported function. > BTW, even without my patch, currently MAYBE-SYMLINK-FILE does nothing on > Windows (AFAIK, registering a system only means creating a symlink right > now). Yes, I've been looking at this, and have some ideas, and some unfinished code. For Windows, I'd like to create a pseudo-link file containing only a pathname referencing the actual system file in its installed location. With ASDF, it's easy to add an appropriate sysdef search function. I played around with other approaches, but this one is the closest to symbolic link files, with most of their good characteristics. Come to think of it, this could be provided in both absolute and relative flavors, too. ASDF-INSTALL also adds entries to asdf:*central-registry* and/or mk-defsystem's equivalent. (See MAYBE-UPDATE-CENTRAL-REGISTRY and ADD-REGISTRY-LOCATION.) I'd like to see it stop doing that, unless there's a reason for it that I haven't noticed; it can mask problems that occur with actually setting up the symbolic link (or whatever one chooses to do on Windows). For instance, everything might appear to install and load properly, but the next time you start your Lisp system, installed systems can no longer be found. Better to find out right away if you've messed up the system file installation. You might want to take a look at the unstable release, and/or my "submitted" repository. I always announce my patches here at the same time that I publish them in the latter. http://danm.homelinux.org/darcs/asdf-install/submitted -- Dan Muller From pikdj2002 at sneakemail.com Wed Dec 26 02:34:35 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 25 Dec 2007 21:34:35 -0500 Subject: [asdf-install-devel] Relative symlinks to sysfiles In-Reply-To: <47717B4D.3000308@chaitanyagupta.com> (Chaitanya Gupta mail-at-chaitanyagupta com's message of "Wed\, 26 Dec 2007 03\:21\:09 +0530") References: <47701BC6.1030208@chaitanyagupta.com> <26772-45221@sneakemail.com> <47717B4D.3000308@chaitanyagupta.com> Message-ID: <14555-86481@sneakemail.com> Chaitanya Gupta wrote: > Dan Muller wrote: >> I didn't test your patch, because I'm currently only testing on >> Windows. Eventually I need to get myself set up for testing on my >> Linux box, too. >> >> > And I can only test on OS X at the moment. ;) FWIW, I just spent some time trying to test ASDF-INSTALL on my Debian box. I haven't done much Lisp work there yet, so wasn't sure what to expect. I basically just want to get ASDF-INSTALL's unit tests running, initially with the stable release to make sure I'm set up right. I found that I had CMUCL installed already, so I tried that first. Took some fumbling around to get ASDF-INSTALL to download and install Lift. It didn't end cleanly; the self-tests didn't all succeed. Then I tried the ASDF-INSTALL unit tests. No joy. Some error in Lift regarding *WORKING-DIRECTORY* being unbound. Didn't get very debugging it, either, no doubt due to my unfamiliarity with the environment. Then I installed SBCL and tried that. Here, the unit tests sort of work, except that I get the prompt for the install directory each time. I haven't tried debugging that yet. So now I'm curious as to what environment Gary uses for testing... -- Dan Muller From pikdj2002 at sneakemail.com Wed Dec 26 02:44:24 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Tue, 25 Dec 2007 21:44:24 -0500 Subject: [asdf-install-devel] Patches - *SYSTEM-FILE-INSTALLER* & loader fixes Message-ID: <5119-05445@sneakemail.com> The first patch listed below was inspired by the dialog with Chaitanya. The other arose from errors introduced by a previous patch. I'm actually not sure how the loader file was working without any mention of conditions.lisp, but the error became apparent when I tried to test on Linux. Available from: Naked darcs URL: http://danm.homelinux.org/darcs/asdf-install/submitted/ darcsweb URL: http://danm.homelinux.org/darcsweb.cgi Tue Dec 25 18:48:32 EST 2007 Dan Muller * Added customization variable *SYSTEM-FILE-INSTALLER*. Also added documentation for same. MAYBE-SYMLINK-SYSFILE is its default value. This makes it possible to customize the linking of system files. Tue Dec 25 19:25:39 EST 2007 Dan Muller * Added conditions.lisp to load-asdf-install.lisp, and as a dependency in .asdf file. -- Dan Muller From mail at chaitanyagupta.com Wed Dec 26 19:05:12 2007 From: mail at chaitanyagupta.com (Chaitanya Gupta) Date: Thu, 27 Dec 2007 00:35:12 +0530 Subject: [asdf-install-devel] Relative symlinks to sysfiles In-Reply-To: <30036-01807@sneakemail.com> References: <47701BC6.1030208@chaitanyagupta.com> <26772-45221@sneakemail.com> <47717B4D.3000308@chaitanyagupta.com> <30036-01807@sneakemail.com> Message-ID: <4772A5E8.2010809@chaitanyagupta.com> Dan Muller wrote: > ASDF-INSTALL also adds entries to asdf:*central-registry* and/or > mk-defsystem's equivalent. (See MAYBE-UPDATE-CENTRAL-REGISTRY and > ADD-REGISTRY-LOCATION.) I'd like to see it stop doing that, unless > there's a reason for it that I haven't noticed; it can mask problems > that occur with actually setting up the symbolic link (or whatever one > chooses to do on Windows). For instance, everything might appear to > install and load properly, but the next time you start your Lisp > system, installed systems can no longer be found. Better to find out > right away if you've messed up the system file installation. > > I agree there. Have been bitten by this once or twice. > You might want to take a look at the unstable release, and/or my > "submitted" repository. I always announce my patches here at the same > time that I publish them in the latter. > > http://danm.homelinux.org/darcs/asdf-install/submitted > > Thanks. I will take a look. Chaitanya From gwking at metabang.com Wed Dec 26 19:36:56 2007 From: gwking at metabang.com (Gary King) Date: Wed, 26 Dec 2007 14:36:56 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <19493-30060@sneakemail.com> References: <19493-30060@sneakemail.com> Message-ID: <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> Hi Dan, These patches are great! Thanks for all your work. I've pulled all of the patches from before "Tue Dec 25 15:26:37 Eastern Standard Time" except for this one: > Dan Muller**20071225224604] { > hunk ./asdf-install/defpackage.lisp 6 > - #+asdf > - (:import-from #:asdf #:*defined-systems*) > hunk ./asdf-install/installer.lisp 437 > - #+asdf > - (*defined-systems* (if propagate $ > - (make-hash-table :test 'equal) > - *defined-systems*)) > } Unless I'm confused, this is necessary for the propagate command to work (hmmm, I wonder if there is a test for that?). I've also altered the patch that mostly involved tab/space consistency. In the deftestsuite test-asdf-install (below), you had removed the (:setup ...) clause. I've put it back but will remove it if there is a reason for it being removed. > (deftestsuite test-asdf-install () > () > (:dynamic-variables > (*locations* > `((,(merge-pathnames (make-pathname :directory '(:relative > "site")) > *working-directory*) > ,(merge-pathnames (make-pathname :directory '(:relative "site- > systems")) > *working-directory*) > "temporary install"))) > (*preferred-location* "temporary install") > (asdf-install::*private-asdf-install-dirs* "") > (asdf:*central-registry* > (list > (merge-pathnames (make-pathname :directory '(:relative "site- > systems")) > *working-directory*)))) > (:setup > (delete-directory-and-files *working-directory* :verbose? t > :if-does-not-exist :ignore) > (ensure-directories-exist *working-directory*))) Let me know. Now I need to look at the next batch of your work. thanks, -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From pikdj2002 at sneakemail.com Wed Dec 26 19:46:35 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Wed, 26 Dec 2007 14:46:35 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> Message-ID: <27095-43993@sneakemail.com> On 12/26/2007, "Gary King gwking-at-metabang.com |Open Source Author/Both|" <...> wrote: >These patches are great! Thanks for all your work. My pleasure, I'm having fun sinking my teeth into some Lisp work. Much more fun than C#, which is what I do weekdays... >I've pulled all of the patches from before "Tue Dec 25 15:26:37 >Eastern Standard Time" except for this one: > >> Dan Muller**20071225224604] { >> hunk ./asdf-install/defpackage.lisp 6 >> - #+asdf >> - (:import-from #:asdf #:*defined-systems*) >> hunk ./asdf-install/installer.lisp 437 >> - #+asdf >> - (*defined-systems* (if propagate $ >> - (make-hash-table :test 'equal) >> - *defined-systems*)) >> } > >Unless I'm confused, this is necessary for the propagate command to >work (hmmm, I wonder if there is a test for that?). You may be right. I checked that *DEFINED-SYSTEMS* wasn't referenced elsewhere in ASDF-INSTALL, but that was silly, because of course that's not the point of binding it, is it? It's for its side-effect on ASDF. But is this really necessary, given the :before method that's defined for asdf::find-system elsewhere? (I think that's the name, I don't have the source handy here at work.) If I did get this wrong, it might have affected my other patches, e.g. the choice of results that I test for in the unit test patch. >I've also altered the patch that mostly involved tab/space >consistency. In the deftestsuite test-asdf-install (below), you had >removed the (:setup ...) clause. I've put it back but will remove it >if there is a reason for it being removed. This looks like a mistake on my part, I don't remember consciously removing that, and can't think of a reason to, either. This might explain one of the errors I was struggling with last night trying to run the unit tests on Linux, although it didn't seem to disturb test runs on Windows. Thanks for reviewing these carefully! -- DanM From pikdj2002 at sneakemail.com Thu Dec 27 00:27:56 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Wed, 26 Dec 2007 19:27:56 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> (Gary King gwking-at-metabang com's message of "Wed\, 26 Dec 2007 14\:36\:56 -0500") References: <19493-30060@sneakemail.com> <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> Message-ID: <21042-24704@sneakemail.com> Gary King wrote: > I've also altered the patch that mostly involved tab/space > consistency. In the deftestsuite test-asdf-install (below), you had > removed the (:setup ...) clause. I've put it back but will remove it > if there is a reason for it being removed. > >> (deftestsuite test-asdf-install () >> () >> (:dynamic-variables >> (*locations* >> `((,(merge-pathnames (make-pathname :directory '(:relative >> "site")) >> *working-directory*) >> ,(merge-pathnames (make-pathname :directory '(:relative "site- >> systems")) >> *working-directory*) >> "temporary install"))) >> (*preferred-location* "temporary install") >> (asdf-install::*private-asdf-install-dirs* "") >> (asdf:*central-registry* >> (list >> (merge-pathnames (make-pathname :directory '(:relative "site- >> systems")) >> *working-directory*)))) >> (:setup >> (delete-directory-and-files *working-directory* :verbose? t >> :if-does-not-exist :ignore) >> (ensure-directories-exist *working-directory*))) > OK, I'm home now and have just taken time to look into this. I know what happened, and it's not pretty. My working repository is based on stable; that's all that was available when I started this work. But unstable, which you made available later, has a bunch of additional patches in it! And I didn't notice that until about three minutes ago... I hope that doesn't make my other patches too hard to apply! I'm going to try merging unstable into (a copy of) my working repository. -- Dan Muller From pikdj2002 at sneakemail.com Thu Dec 27 01:17:20 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Wed, 26 Dec 2007 20:17:20 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <21042-24704@sneakemail.com> (Dan Muller pikdj2002-at-sneakemail com's message of "Wed\, 26 Dec 2007 19\:27\:56 -0500") References: <19493-30060@sneakemail.com> <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> <21042-24704@sneakemail.com> Message-ID: <25832-18136@sneakemail.com> "Dan Muller pikdj2002-at-sneakemail.com |Open Source Author/Both|" <...> writes: > Gary King wrote: >> I've also altered the patch that mostly involved tab/space >> consistency. In the deftestsuite test-asdf-install (below), you had >> removed the (:setup ...) clause. I've put it back but will remove it >> if there is a reason for it being removed. [conflict code elided] > > OK, I'm home now and have just taken time to look into this. I know > what happened, and it's not pretty. My working repository is based on > stable; that's all that was available when I started this work. But > unstable, which you made available later, has a bunch of additional > patches in it! And I didn't notice that until about three minutes > ago... > > I hope that doesn't make my other patches too hard to apply! I'm going > to try merging unstable into (a copy of) my working repository. > I've updated my "submitted" repository to include all of unstable, plus a conflict resolution patch for test-asdf-install.lisp. This made my unit tests on Linux work a bit better; but I've got new failures on Windows that I have to investigate. I figured it was worthwhile to get make the conflict resolution patch available in the meantime, though. BTW, one of the things that was vexing me on Linux is that SBCL seems to have ASDF-INSTALL preloaded, or something. Whenever ASDF was asked to load it or compile it, it was going to the old, system-wide installation. I worked around this by explicitly loading the test version's .asd file, and that got me a bit further along. -- Dan Muller From pikdj2002 at sneakemail.com Thu Dec 27 03:10:49 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Wed, 26 Dec 2007 22:10:49 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <25832-18136@sneakemail.com> (Dan Muller pikdj2002-at-sneakemail com's message of "Wed\, 26 Dec 2007 20\:17\:20 -0500") References: <19493-30060@sneakemail.com> <8B42553D-7E63-436D-BA83-E6F79610D1F4@metabang.com> <21042-24704@sneakemail.com> <25832-18136@sneakemail.com> Message-ID: <14414-90026@sneakemail.com> Dan Muller keeps talking to himself: > Dan Muller wrote: > > I've updated my "submitted" repository to include all of unstable, > plus a conflict resolution patch for test-asdf-install.lisp. > > This made my unit tests on Linux work a bit better; but I've got new > failures on Windows that I have to investigate. I figured it was > worthwhile to get make the conflict resolution patch available in the > meantime, though. I have tracked the causes of the failures on Windows down and pushed two more patches to submitted. This brings me back to where I was before, with one unit test that errors out (direct-install : test-1), apparently because I don't have Gary's key marked as fully trusted. (Is that a prerequisite for passing some of the tests?) I still have five unit test errors with SBCL on Debian. Some of those seem to be due to an attempt to delete a non-empty directory. But that's better than I was doing before in this environment. Here are the patch descriptions, plus the description for the conflict resolution patch: Wed Dec 26 21:56:55 Eastern Standard Time 2007 Dan Muller * Fixed PATHNAME-NAME+TYPE in TEST-ASDF-INSTALL to account for :UNSPECIFIC pathname-type. Wed Dec 26 20:57:25 Eastern Standard Time 2007 Dan Muller * Removed binding of *DEFAULT-PATHNAME-DEFAULTS* in INSTALL-PACKAGE. In LispWorks Personal 5.0.1, the call to DIRECTORY in INSTALL-PACKAGE sometimes returns NIL when it shouldn't. The problem seems to related to the binding and/or use of *DEFAULT-PATHNAME-DEFAULTS*. On examination, it seems that binding this is really pointless anyway, since it was also being passed explicitly to MAKE-PATHNAME. So I replaced it with a lexical variable. That solved the problem that I was encountering. Wed Dec 26 19:45:22 Eastern Standard Time 2007 Dan Muller * Resolving conflicts in test suites between DanM's changes and unstable. These occurred due to a somewhat stale repository. -- Dan Muller From gwking at metabang.com Thu Dec 27 16:17:33 2007 From: gwking at metabang.com (Gary King) Date: Thu, 27 Dec 2007 11:17:33 -0500 Subject: [asdf-install-devel] Announce : ASDF-Install 0.6.11 Message-ID: <0D2B8565-8218-447B-995B-69A66F7D79AC@metabang.com> Dan Muller has been doing a lot of work on the innards of [ASDF- Install][] to clean up kruft and make life easier for the multi- platform reality in which we live. [ASDF-Install]: http://common-lisp.net/project/asdf-install Recent patches include: * some nice refactoring of the install function to make it easier to understand, extend, and debug * the elimination of several moribund special variables and the renaming of some others * some cleanup and improvements in the automated test suite. These changes can be found on the unstable darcs repository. Use darcs get http://common-lisp.net/project/asdf-install/asdf-install-unstable/ to check it out from darcs or download the [tarball][]. [tarball]: http://common-lisp.net/project/asdf-install/asdf-install-unstable/asdf-install.tar.gz -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From pikdj2002 at sneakemail.com Fri Dec 28 04:54:05 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Thu, 27 Dec 2007 23:54:05 -0500 Subject: [asdf-install-devel] Ugh. CLISP, files, pathnames. Message-ID: <12846-71658@sneakemail.com> Boy did I make a mistake this evening. I tried running the unit tests with CLISP (the Cygwin variant, although I don't think that matters). So, Gary, after beating my head against tests/utilities for a couple of hours, I'm left wondering: Why did you remove the use of CL-FAD from the unit tests? DELETE-DIRECTORY-AND-FILES and its supporting methods are onerous to get working with CLISP because of its bizarrely strict interpretation of PROBE-FILE and DELETE-FILE, its limited support of :WILD-INFERIORS, and its frequent intolerance of :UNSPECIFIC. I would have thought that CL-FAD had already dealt with most of this. Did you have problems with it? -- Dan Muller From gwking at metabang.com Fri Dec 28 15:40:10 2007 From: gwking at metabang.com (Gary King) Date: Fri, 28 Dec 2007 10:40:10 -0500 Subject: [asdf-install-devel] Ugh. CLISP, files, pathnames. In-Reply-To: <12846-71658@sneakemail.com> References: <12846-71658@sneakemail.com> Message-ID: <4540E234-D3E3-4340-9DFD-0152D0A53DC5@metabang.com> Hi Dan, > DELETE-DIRECTORY-AND-FILES and its supporting methods are onerous to > get working with CLISP because of its bizarrely strict interpretation > of PROBE-FILE and DELETE-FILE, its limited support of :WILD-INFERIORS, > and its frequent intolerance of :UNSPECIFIC. bummer. > I would have thought that CL-FAD had already dealt with most of > this. Did you have problems with it? No, I didn't have problems. Though there were a few slight design issues I didn't like, it worked fine. I removed it because it seemed like "just one more thing". If you want to restore it, that would be fine. I'm happy to do this too (and hope to have a few hours this weekend to look at it and your other patches) so if you'd rather wait, that's fine too (just let me know ). thanks for your continuing efforts, this cleanup work is _great_ and will let us move into 2008 with the hope for more features! -- Gary Warren King, metabang.com Cell: (413) 559 8738 Fax: (206) 338-4052 gwkkwg on Skype * garethsan on AIM From pikdj2002 at sneakemail.com Fri Dec 28 23:55:23 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Fri, 28 Dec 2007 18:55:23 -0500 Subject: [asdf-install-devel] Patches - unit test improvements, clarifying refactorings In-Reply-To: <27095-43993@sneakemail.com> (Dan Muller pikdj2002-at-sneakemail com's message of "Wed\, 26 Dec 2007 14\:46\:35 -0500") References: <27095-43993@sneakemail.com> Message-ID: <20300-66327@sneakemail.com> Dan Muller wrote: > Gary King wrote: > >>I've pulled all of the patches from before "Tue Dec 25 15:26:37 >>Eastern Standard Time" except for this one: >> >>> Dan Muller**20071225224604] { >>> hunk ./asdf-install/defpackage.lisp 6 >>> - #+asdf >>> - (:import-from #:asdf #:*defined-systems*) >>> hunk ./asdf-install/installer.lisp 437 >>> - #+asdf >>> - (*defined-systems* (if propagate $ >>> - (make-hash-table :test 'equal) >>> - *defined-systems*)) >>> } >> >>Unless I'm confused, this is necessary for the propagate command to >>work (hmmm, I wonder if there is a test for that?). > > You may be right. I checked that *DEFINED-SYSTEMS* wasn't referenced > elsewhere in ASDF-INSTALL, but that was silly, because of course that's > not the point of binding it, is it? It's for its side-effect on ASDF. > But is this really necessary, given the :before method that's defined > for asdf::find-system elsewhere? (I think that's the name, I don't > have the source handy here at work.) > > If I did get this wrong, it might have affected my other patches, e.g. > the choice of results that I test for in the unit test patch. > I looked at the ASDF internals again, and I believe that defining the :AROUND (not :BEFORE) method for ASDF:FIND-COMPONENT (not FIND-SYSTEM) is adequate, and the binding of ASDF::*DEFINED-SYSTEMS* is redundant. Unless I'm misunderstanding the purpose of PROPAGATE. IMO, the binding of *DEFINED-SYSTEMS* is more elegant, but the fact that it's an internal symbol, whereas FIND-COMPONENT is exported, makes the latter the preferred technique. A unit test for PROPAGATE would certainly be welcome. :) -- Dan Muller From pikdj2002 at sneakemail.com Sat Dec 29 03:11:11 2007 From: pikdj2002 at sneakemail.com (Dan Muller) Date: Fri, 28 Dec 2007 22:11:11 -0500 Subject: [asdf-install-devel] Ugh. CLISP, files, pathnames. In-Reply-To: <4540E234-D3E3-4340-9DFD-0152D0A53DC5@metabang.com> (Gary King gwking-at-metabang com's message of "Fri\, 28 Dec 2007 10\:40\:10 -0500") References: <12846-71658@sneakemail.com> <4540E234-D3E3-4340-9DFD-0152D0A53DC5@metabang.com> Message-ID: <2686-74598@sneakemail.com> Gary King wrote: >> DELETE-DIRECTORY-AND-FILES and its supporting methods are onerous to >> get working with CLISP because of its bizarrely strict interpretation >> of PROBE-FILE and DELETE-FILE, its limited support of :WILD-INFERIORS, >> and its frequent intolerance of :UNSPECIFIC. > > bummer. > >> I would have thought that CL-FAD had already dealt with most of >> this. Did you have problems with it? > > No, I didn't have problems. Though there were a few slight design > issues I didn't like, it worked fine. I removed it because it seemed > like "just one more thing". If you want to restore it, that would be > fine. I'm happy to do this too (and hope to have a few hours this > weekend to look at it and your other patches) so if you'd rather wait, > that's fine too (just let me know ). OK, as per a separate reply to Gary (which I guess I didn't send to the list, my bad), I did work on this for a while tonight. Very exciting work. Much too exciting. "Portability is hard." I guess I was overdue for a reminder. :) So here's a status update. Dropping CL-FAD back in was easy. The results aren't so good, though, and the reason is interesting. Symlinks. Bloody symlinks. The test suites use DELETE-DIRECTORY-AND-FILES (currently defined in utilities.lisp, but I'm now using the CL-FAD version) to delete their temporary directory trees, which include both the directory containing systems, and the directory containing symlinks to system files. Even on Windows, when I'm testing wth Cygwin's CLISP, I am dealing with Cygwin's simulated symlinks. DIRECTORY is specified to return truenames, so it seems that most Lisps are going to return the symlink targets' pathnames instead of those of the symlink files themselves. So if DELETE-DIRECTORY-AND-FILES delets a symlink's target before the symlink that points to it, then later it encounters a symlink which is "bad", i.e. it points to a non-existent file. Usually this is fine, but CLISP, by default, *ignores* bad symlinks. Thus they don't get deleted, thus the directory containing them can't get deleted because it's not empty. Luckily, *this* problem has an easy fix, and I've sent Edi Weitz a request to add it. I modified my local copy of CL-FAD and kept testing. (Fix described later, if you're interested.) If D-D-A-F happens upon the symlink first, then it actually sees the truename of the target, and deletes *that* instead. Which means you end up with the same effect: the target is deleted, and the symlink doesn't get deleted, and the symlink's directory isn't empty and thus can't be deleted. Lovely. Well, I'm sure there's a way around this. It's possible, after all, to tell if the truename you get from DIRECTORY doesn't refer to something in the directory you passed it! (That might not lead to a *general* solution to the problem, because a symlink could point to a target in the same directory. Although ... then you'd see a duplicate result! Hmmm.) Anyway, aside from this problem, there's trouble with the return values from the CLISP variant of ASDF-INSTALL::SHELL-COMMAND. It should work more like RETURN-OUTPUT-FROM-PROGRAM, apparently. In fact, SHELL-COMMAND is used only in two places. One is to unlink a file, where the program output is ignored. The other is GPG-RESULTS, where I'm thinking that using RETURN-OUTPUT-FROM-PROGRAM (for all platforms) would actually make more sense. Anyway, I'm bouncing back and forth between these two issues. Hopefully I can spend a bit more time on it later this weekend. > thanks for your continuing efforts, this cleanup work is _great_ and > will let us move into 2008 with the hope for more features! Indeed, all of this current work is really aimed at getting the unit tests running cleanly for the variety of Lisps I have handy, so we can move on to bigger and scarier changes that will really benefit from having the tests available! Here's the change to CL-FAD for CLISP that I sent to Edi. In fad.lisp, look for this: #+:clisp (nconc (directory wildcard) (directory (clisp-subdirectories-wildcard wildcard))) ... and make it look like this: #+:clisp (nconc (directory wildcard :if-does-not-exist :keep) ; DWM (directory (clisp-subdirectories-wildcard wildcard))) -- Dan Muller