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

Das.Linux at gmx.de Das.Linux at gmx.de
Mon May 11 08:08:41 UTC 2015


Hi all,

On 09.05.2015, at 00:23, Tobias Pape <Das.Linux at gmx.de> wrote:

> Hi all,
> 
> 


I just wiped the indicated packages from source.squeak.org.
Please report any problems; there shouldn't be one, but no one knows.
David, no action required from you.

Best regards
	-Tobias

PS: I adapted the 'run' script of squeaksource to be able to be used with
    'svc -t squeaksource' to hard-cycle the image (using exec and setuidgid)

> 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