Hi -
I've gotten the Zinc HTTP server port to pass 132 of 139 tests. I just uploaded the code to Gemsource. I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code. 5 of the errors stem from Gemstone not having the following classes: GzipWriteStream GzipReadStream JPEGReadWriter and TextConverter + subclasses. The other two errors occur because an exception that should be raised is not raised. I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind. Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance. Paul |
On 04/08/2011 12:07 PM, Paul DeBruicker wrote:
> Hi - > > I've gotten the Zinc HTTP server port to pass 132 of 139 tests. I just > uploaded the code to Gemsource. I do not know what to do about the > remaining errors and they seem like not easy ones to fix, but also not > crucial to the basic operation of the code. 5 of the errors stem from > Gemstone not having the following classes: > > GzipWriteStream > GzipReadStream > JPEGReadWriter > and TextConverter + subclasses. > > The other two errors occur because an exception that should be raised is > not raised. > > I think I'm going to update the version of Zinc I ported to the most > recent version on Squeaksource while its fresh in my mind. > > Does anyone have interest and time to try to sort out the other 7 errors > or have suggestions about replacements for those classes I mention? > Thanks for any guidance. > > Paul Paul, Regarding the TextConverter stuff, you might be able to use some of the Grease stuff for UTF8 conversion... As for the others....in 3.0 there will be ANSI compliant Streams with an implementation that will be very similar to Pharo's (instance variables and state) ... that's the main difficulty with porting Streams to GLASS in 2.x the iv names are different and the internal state is different ... Dale |
In reply to this post by Paul DeBruicker
Paul,
I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts? Norbert Am 08.04.2011 um 21:07 schrieb Paul DeBruicker: > Hi - > > I've gotten the Zinc HTTP server port to pass 132 of 139 tests. I just uploaded the code to Gemsource. I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code. 5 of the errors stem from Gemstone not having the following classes: > > GzipWriteStream > GzipReadStream > JPEGReadWriter > and TextConverter + subclasses. > > The other two errors occur because an exception that should be raised is not raised. > > I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind. > > Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance. > > Paul |
Hi Norbert,
Good point. I tried it from a unmodified 1.0-beta.8.6 extent and wrote out the process below. I think the problem you identified stems from me not mentioning that you'd need to install the Cryptography package from Gemsource because you need an MD5 hash. Also I forgot to include a 'destroy' method in SocketStreamSocket. I've added it. I'll try to make a metacello config later in the weekend. The install process: Starting from the 1.0-beta.8.6 Install SocketStream-PaulDeBruicker.9.mcz from http://seaside.gemstone.com/ss/PharoCompat Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass. Install Zinc-HTTP-PaulDeBruicker.139.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents Install Zinc-Tests-PaulDeBruicker.78.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents I think that should do it. Thanks for the heads up about it being broken Paul On 04/08/2011 04:55 PM, Norbert Hartl wrote: > Paul, > > I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts? > > Norbert > > Am 08.04.2011 um 21:07 schrieb Paul DeBruicker: > >> Hi - >> >> I've gotten the Zinc HTTP server port to pass 132 of 139 tests. I just uploaded the code to Gemsource. I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code. 5 of the errors stem from Gemstone not having the following classes: >> >> GzipWriteStream >> GzipReadStream >> JPEGReadWriter >> and TextConverter + subclasses. >> >> The other two errors occur because an exception that should be raised is not raised. >> >> I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind. >> >> Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance. >> >> Paul > |
Am 09.04.2011 um 00:38 schrieb Paul DeBruicker: > Hi Norbert, > > Good point. I tried it from a unmodified 1.0-beta.8.6 extent and wrote out the process below. I think the problem you identified stems from me not mentioning that you'd need to install the Cryptography package from Gemsource because you need an MD5 hash. Also I forgot to include a 'destroy' method in SocketStreamSocket. I've added it. I'll try to make a metacello config later in the weekend. > > > The install process: > > Starting from the 1.0-beta.8.6 > > Install SocketStream-PaulDeBruicker.9.mcz from http://seaside.gemstone.com/ss/PharoCompat > > Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography > The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass. > Norbert > Install Zinc-HTTP-PaulDeBruicker.139.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents > > Install Zinc-Tests-PaulDeBruicker.78.mcz from http://seaside.gemstone.com/ss/ZincHTTPComponents > > > > I think that should do it. Thanks for the heads up about it being broken > > Paul > > > > > > On 04/08/2011 04:55 PM, Norbert Hartl wrote: >> Paul, >> >> I just did a quick (well..) run of the tests in my gemstone image and I have 100 passes out of 139. Maybe something is wrong with my image which would explain my troubles trying to fix some stuff. Can you elaborate on how you prepared the image for your porting efforts? >> >> Norbert >> >> Am 08.04.2011 um 21:07 schrieb Paul DeBruicker: >> >>> Hi - >>> >>> I've gotten the Zinc HTTP server port to pass 132 of 139 tests. I just uploaded the code to Gemsource. I do not know what to do about the remaining errors and they seem like not easy ones to fix, but also not crucial to the basic operation of the code. 5 of the errors stem from Gemstone not having the following classes: >>> >>> GzipWriteStream >>> GzipReadStream >>> JPEGReadWriter >>> and TextConverter + subclasses. >>> >>> The other two errors occur because an exception that should be raised is not raised. >>> >>> I think I'm going to update the version of Zinc I ported to the most recent version on Squeaksource while its fresh in my mind. >>> >>> Does anyone have interest and time to try to sort out the other 7 errors or have suggestions about replacements for those classes I mention? Thanks for any guidance. >>> >>> Paul >> > |
On 04/09/2011 08:44 AM, Norbert Hartl wrote:
>> Install Cryptography-PaulDeBruicker.43.mcz from http://seaside.gemstone.com/ss/Cryptography >> The Cryptography install will stop once and you'll have to 'terminate' it and retry it because Gemstone does not have #becomeForward: But the CryptoHashFunctionTest tests pass. >> > Any reason why you didn't change it become: ? As far as I can see it is just stored in a dictionary. In this scenario become: should be as good as becomeForward:, right? The module in the dictionary is keyed by module name. > > Norbert > At the time I was porting the Cryptography package I was just interested in being able to do SHA256 & HMAC hashing and I didn't need to change the parts of the package that are affected by the becomeForward: call to be able to do that. This was a while ago but I remember trying to proceed and do a full port and making changes but it seemed increasingly difficult/confusing/risky-because-its-cryptography that I stopped pursuing it because I had what I needed and it loaded and worked and didn't want to mislead others about stuff I had no idea about e.g. the other crypto functions. Aside from not knowing much about cryptography part of the challenge for me with the port was the ASN1Stream class is used a lot in that Package and I didn't have confidence I was rearranging things so the stream contents came out in the same order at the expected time. |
Am 09.04.2011 um 15:36 schrieb Paul DeBruicker: Well, history is kinda funny. I was planning myself back then to port the cryptograhy package. I was afraid of struggeling too much so I talked to Chris Muller about splitting the package. He said there were plans to split it up and most of the package structure is separated already. They just didn't get it going with monticello dependencies so they gave up. Now the problem is solved my metacello and another try sounds feasible. I really like to use Zinc in production. But if it depends on a package that not even loads in a clean way this is a no-go. What do you think about splitting the cryptography package into smaller chunks and only include what is working? Norbert
|
On 04/09/2011 10:59 AM, Norbert Hartl wrote:
> I really like to use Zinc in production. But if it depends on a package > that not even loads in a clean way this is a no-go. What do you think > about splitting the cryptography package into smaller chunks and only > include what is working? > > Norbert Yes splitting the Cryptography package sounds good to me. Dale has to add you as an admin I think on Gemsource. Also I think you only need the Cryptography package if you want to do anything related to digest authentication. I'm not positive but I think thats it. Paul |
Am 10.04.2011 um 00:37 schrieb Paul DeBruicker: > On 04/09/2011 10:59 AM, Norbert Hartl wrote: >> I really like to use Zinc in production. But if it depends on a package >> that not even loads in a clean way this is a no-go. What do you think >> about splitting the cryptography package into smaller chunks and only >> include what is working? >> >> Norbert > > > Yes splitting the Cryptography package sounds good to me. Dale has to add you as an admin I think on Gemsource. Also I think you only need the Cryptography package if you want to do anything related to digest authentication. I'm not positive but I think thats it. > Even if I only need the crypto stuff when doing digest auth we have to split a package. It is splitting the crypto package to get the working set accesible or it would be splitting zinc to be able not to load crypto dependent stuff. Splitting crypto package seems more reasonable to me. Norbert |
On 04/10/2011 05:50 AM, Norbert Hartl wrote:
> Cryptography repository on gemsource is assigned to GLASS DEVS where we all are contained. It could take a week or so for me to start doing it but then you seem to be satisified the way it is right now. > Even if I only need the crypto stuff when doing digest auth we have to split a package. It is splitting the crypto package to get the working set accesible or it would be splitting zinc to be able not to load crypto dependent stuff. Splitting crypto package seems more reasonable to me. > > Norbert I did not look too closely the other day but this morning I found that I could replace the need for the Cryptography package by using Gemstone's CharacterCollection>>#md5sum and LargePositiveInteger>>#hex methods. I uploaded a version of Zinc-HTTP to Gemsource that does not need the Cryptography package a few minutes ago. So you should be all set with what's there. I'm going to change the ConfigurationOfZincHTTPComponents on squeaksource to load the gemstone specific stuff next. Paul |
Free forum by Nabble | Edit this page |