[Box-Admins] Re: Wiping Eliot's versions Re: [squeak-dev] automated way to delete specific trunk packages?

Levente Uzonyi leves at elte.hu
Sat May 9 17:43:37 UTC 2015


The easiest way to do it is to access it via RFB/VNC. Either load some 
version of the RFB package during startup (and then configure it), or 
start a native vnc server, and restart the VM on its display.
I don't suggest using xpra on this server, because it tends to use quite a 
lot of memory.

Levente

On Sat, 9 May 2015, Tobias Pape wrote:

> Hi levente,
>
> On 09.05.2015, at 01:36, Levente Uzonyi <leves at elte.hu> wrote:
>
>> squeaksource is running in the chroot environment. What you see on box4 is the future replacement, but it's not alive yet (at least it shouldn't be).
>>
>
> ah, ok, I forgot… but how to I get into _that_ image?
>
> Best regards
> 	-Tobias
>
>> Levente
>>
>> On Sat, 9 May 2015, Tobias Pape wrote:
>>
>>> Hi all,
>>>
>>>
>>> I just tried wiping the versions Eliot asked to be removed.
>>> I am able to remove the corresponding files from the disk and also remove
>>> the Squeaksource version entries.
>>>
>>> However, it seems that source.squeak.org is running on some kind of
>>> Magma-backend, where wiping the versions is virtually impossible for me.
>>> I put together the following script:
>>>
>>> "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-"
>>> | project projectDir rawVersions fs candidates condition mcModel |
>>> project := SSRepository current projects detect: [:p |  p id = 'trunk'].
>>> mcModel := (SSRepository storage respondsTo: #mcModelFor: ) ifTrue: [
>>> 				SSRepository storage mcModelFor: project].
>>> projectDir := SSFilesystem new projectDirectoryFor: project.
>>> " we really want to delete the versions, so circumvent the accessor that filters them "
>>> rawVersions := project instVarNamed: 'versions'.
>>> condition := [:version |
>>> 	#('Collections.spur' 'Compiler.spur' 'Kernel.spur' 'System.spur')
>>> 		anySatisfy: [:pat | version fileName beginsWith: pat]].
>>> candidates :=  (rawVersions select: condition) values.
>>> candidates
>>> 	do: [:version| | fileName |
>>> 		fileName := version fileName.
>>> 		Transcript showln: '> ', fileName.
>>> 		version diffs copy keysDo: [:diffName |
>>> 			projectDir deleteFileNamed: diffName ifAbsent: ["ok"].
>>> 			Transcript showln: '    Removed ', diffName.
>>> 			version diffs removeKey: diffName.
>>> 			Transcript showln: '    Wiped ', diffName].
>>> 		projectDir deleteFileNamed: fileName ifAbsent: ["ok"].
>>> 		Transcript showln: '  Removed ', fileName.
>>> 		rawVersions removeKey: fileName.
>>> 		" mcModel ifNotNil: [:m | m removeVersion: (project mcVersionFrom: version)]. " "<============== this does not work, chris"
>>> 		Transcript showln: '  Wiped ', fileName]
>>> 	displayingProgress: [:version | 'Wiping ', version fileName].
>>> self assert: [rawVersions noneSatisfy: condition].
>>> "=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-"
>>>
>>> At the position Indicated I tried removing the faulty version from the magma-based
>>> data structures, but #removeVersion: tries to remove from an (magma)array, which fail.
>>>
>>> I can't help any further here, sorry. Please somebody step in?
>>>
>>> Best regards
>>> 	-Tobias
>>>
>>> PS: I already backed up all affected files to ~squeaksoure/spur-backup
>>>
>>>
>>> On 08.05.2015, at 23:42, Levente Uzonyi <leves at elte.hu> wrote:
>>>
>>>> Hi Eliot,
>>>>
>>>> On Fri, 8 May 2015, Eliot Miranda wrote:
>>>>
>>>>> Hi Levente,
>>>>> On Fri, May 8, 2015 at 2:17 PM, Levente Uzonyi <leves at elte.hu> wrote:
>>>>>     Hi Eliot,
>>>>>
>>>>>     If you can generate the files while they are in the repository (on the server), then you can save the time waiting for someone to
>>>>>     delete them, because while you can't delete the files from the server, you can overwrite them. This wouldn't help with the .mcds, but
>>>>>     I think those are not cached in the image, so deleting just the .mcds is probably a way easier thing to do.
>>>>> I thought this too.  But when I tried doing this yesterday, and earlier, the files were not replaced.  I have a generated set waiting to upload as
>>>>> soon as the old ones have been deleted.
>>>>
>>>> I just reuploaded Collections-ul.625.mcz, and the server happily accepted it. It even sent a mail about it.
>>>> It's possible that it won't accept packages with different content, but it clearly accepts reuploads (which is a bug).
>>>>
>>>> Levente
>>>>
>>>>>
>>>>>     Levente
>>>>>
>>>>>     On Fri, 8 May 2015, Eliot Miranda wrote:
>>>>>
>>>>>           Hi David,
>>>>>
>>>>>               and to be very clear, the *only* packages to be deleted are those matching
>>>>>
>>>>>           Collections.spur*
>>>>>           Compiler.spur*
>>>>>           Kernel.spur*
>>>>>           System.spur*
>>>>>
>>>>>           Eliot (phone)
>>>>>
>>>>>           On May 8, 2015, at 7:22 AM, Eliot Miranda <eliot.miranda at gmail.com> wrote:
>>>>>
>>>>>                 Hi David,
>>>>>
>>>>>                     it is always possible to fix it another way but it would be hugely expensive.  The only affordable way I
>>>>>                 know is to delete the existing files and upload new ones.  Can someone who has access to the box simply login
>>>>>                 with either ash or FTP and delete them with a single command?  If I had access to the box that is what I would
>>>>>                 do.
>>>>>
>>>>>                 Eliot (phone)
>>>>>
>>>>>                 On May 7, 2015, at 7:19 PM, "David T. Lewis" <lewis at mail.msen.com> wrote:
>>>>>
>>>>>                       On Thu, May 07, 2015 at 04:58:55PM -0700, Eliot Miranda wrote:
>>>>>                             Hi All,
>>>>>
>>>>>                               I need to delete all the patched Spur packages in trunk to ensure that
>>>>>                             correctly patched versions replace them.  Is there an automated way of
>>>>>                             deleting packages on trunk?  I've used the web interface, but it'll take
>>>>>                             all day :-(
>>>>>                             --
>>>>>                             best,
>>>>>                             Eliot
>>>>>
>>>>>                       I don't know the answer to your question, but if I look at the files in
>>>>>                       the squeaksource repository, there are quite a few:
>>>>>
>>>>>                         davidlewis at squeak-box4:/home/squeaksource/sso2/ss/trunk$ ls *spur*mcz | wc -l
>>>>>                         246
>>>>>                         davidlewis at squeak-box4:/home/squeaksource/sso2/ss/trunk$ ls *spur*mcd | wc -l
>>>>>                         152
>>>>>                         davidlewis at squeak-box4:/home/squeaksource/sso2/ss/trunk$ ls *spur*mcm | wc -l
>>>>>                         33
>>>>>                         davidlewis at squeak-box4:/home/squeaksource/sso2/ss/trunk$ ls *spur* | wc -l
>>>>>                         450
>>>>>
>>>>>                       Is it really necessary to delete all of this stuff? Or could we keep it as is, and
>>>>>                       work around the problems in some other way?
>>>>>
>>>>>                       Dave
>>>>> --
>>>>> best,Eliot
>
>
>


More information about the Box-Admins mailing list