[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gentoo-dev
Subject:    Re: [gentoo-dev] for those that have been using portage 1.8.9_prex
From:       Bart Verwilst <verwilst () gentoo ! org>
Date:       2002-02-17 22:12:23
[Download RAW message or body]

After succesfully running the sh script, i try to run convertslots2.py,
it errors out with the following output:


root@Gentoo verwilst # ./convertslots2.py
Traceback (most recent call last):
  File "./convertslots2.py", line 16, in ?
    slotpath=dirname(localtree.getebuildpath(package))+"/SLOT"
AttributeError: 'vartree' instance has no attribute 'getebuildpath'


Bye!

On Sun, 2002-02-17 at 09:55, Geert Bevin wrote:
> Hello,
> 
> I provide these scripts to put your /var/db/pkg tree back to a
> compatible state after all the slots adventures.
> 
> First run convertslot.sh and then convertslots2.py, afterwards your
> installed package tree should be compatible with 1.8.8 again and with
> what slots are supposed to become in the next revisions.
> 
> Happy gentooing ! 
> 
> Geert
> -- 
> Geert Bevin             Uwyn
> "Use what you need"     Lambermontlaan 148
> http://www.uwyn.com     1030 Brussels
> gbevin@uwyn.com         Tel & Fax +32 2 245 41 06
> ----
> 

> #!/bin/sh
> # converts old changed dirnames to the previous format again
> # where slots aren't reflected in the dir path name
> slots=$(find /var/db/pkg -name SLOT)
> for slot in $slots;
> do
> 	dir=${slot%SLOT}
> 	pf=$(cat $dir/PF)
> 	newdir=$(dirname $dir)
> 	newdir="$newdir/$pf"
> 	if [ ! -d $newdir ]
> 	then
> 		mv $dir $newdir
> 		echo "$dir has been converted"
> 	else
> 		echo "$newdir already exists"
> 	fi
> done
> ----
> 

> #!/usr/bin/env spython
> import os
> from os.path import walk, splitext, exists, basename, dirname
> import sys
> 
> import output
> from output import *
> import portage
> import string
> from string import strip, find, replace, split
> 
> """converts $PV slots to null slots"""
> localtree=portage.vartree()
> for node in localtree.getallnodes():
> 	for package in localtree.dep_match(node):
> 		slotpath=dirname(localtree.getebuildpath(package))+"/SLOT"
> 		if os.path.exists(slotpath):
> 			package_parts=portage.catpkgsplit(package)
> 			slotfile=open(slotpath,'r+')
> 			actualslot=slotfile.readline().strip()
> 			if actualslot==package_parts[2]:
> 				slotfile.truncate(0)
> 				print slotpath,"has been set to null"
> 			slotfile.close()
> 
-- 

Bart Verwilst
Gentoo Linux Developer, Desktop Team
Gent, Belgium


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic