Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 29014 Details for
Bug 46096
fixdbentries breaks vardb and binaries
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Script to fix /var/db/pkg
fixvardbentries (text/plain), 1.73 KB, created by
Jason Stubbs (RETIRED)
on 2004-04-10 04:10:06 UTC
(
hide
)
Description:
Script to fix /var/db/pkg
Filename:
MIME Type:
Creator:
Jason Stubbs (RETIRED)
Created:
2004-04-10 04:10:06 UTC
Size:
1.73 KB
patch
obsolete
>#!/usr/bin/python -O > >import os >import sys > >def fix_entries(path): > if path[-1] != "/": > path += "/" > ebuild = os.path.basename(os.path.dirname(path))+".ebuild" > ebuildfile = open(path+ebuild) > orig = ebuildfile.readlines() > ebuildfile.close() > if "\1" not in orig: > return > os.system("bunzip2 "+path+"environment.bz2") > envfile = open(path+"environment") > lines = envfile.readlines() > envfile.close() > os.system("bzip2 "+path+"environment") > env = {} > for line in lines: > line = " ".join(line.split()) > values = line.split("=") > if len(values) == 1: > break > key = values[0] > value = "=".join(values[1:]) > if value and value[0] == "$": > value = value[1:] > if value and value[0] == "'": > value = value[1:-1] > value = value.replace("\\n","\n") > value = value.replace("\\t","\t") > env[key] = value > for key in ["DEPEND","RDEPEND","PDEPEND"]: > if not env.has_key(key): > env[key] = "" > f = open(path+key, "w") > f.write(env[key]) > f.close() > fixed = [] > x=0 > while x != len(orig): > for key in ["DEPEND","RDEPEND","PDEPEND"]: > if orig[x].startswith(key): > quotes = orig[x].count('"') > while quotes != 2: > if quotes > 2: > print "broken ebuild "+ebuild > sys.exit(1) > x += 1 > quotes += orig[x].count('"') > fixed += [key+'="'+env[key]+'"\n'] > x += 1 > break > if x != len(orig): > fixed += orig[x] > x += 1 > ebuildfile = open(path+ebuild,"w") > ebuildfile.writelines(fixed) > ebuildfile.close() > >vardb = "/var/db/pkg/" >for cat in os.listdir(vardb): > if os.path.isdir(vardb+cat): > for pkg in os.listdir(vardb+cat): > if pkg[0] != "-" and os.path.isdir(vardb+cat+"/"+pkg) and \ > os.access(vardb+cat+"/"+pkg+"/environment.bz2",os.F_OK): > fix_entries(vardb+cat+"/"+pkg) > >import portage >del portage.mtimedb["updates"]
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 46096
:
28274
|
28275
|
28929
|
29014
|
29020
|
36556
|
37209
|
37526
|
37536
|
37537
|
37541
|
37591