/
usr
/
lib
/
python3
/
dist-packages
/
DistUpgrade
/
/usr/lib/python3/dist-packages/DistUpgrade
mkdir
upload
Name
Size
Mode
Actions
__pycache__/
-
0755
rm
apt_btrfs_snapshot.py
9873
0644
edit
dl
rm
apt_clone.py
33593
0644
edit
dl
rm
dist-upgrade.py
129
0644
edit
dl
rm
distro.py
23705
0644
edit
dl
rm
DistUpgradeApport.py
5064
0644
edit
dl
rm
DistUpgradeAptCdrom.py
12690
0644
edit
dl
rm
DistUpgradeCache.py
54413
0644
edit
dl
rm
DistUpgradeConfigParser.py
3837
0644
edit
dl
rm
DistUpgradeController.py
103835
0644
edit
dl
rm
DistUpgradeFetcher.py
6009
0644
edit
dl
rm
DistUpgradeFetcherCore.py
11472
0644
edit
dl
rm
DistUpgradeFetcherKDE.py
9950
0644
edit
dl
rm
DistUpgradeFetcherSelf.py
2064
0644
edit
dl
rm
DistUpgradeGettext.py
3043
0644
edit
dl
rm
DistUpgradeMain.py
9317
0644
edit
dl
rm
DistUpgradePatcher.py
4018
0644
edit
dl
rm
DistUpgradeQuirks.py
46761
0644
edit
dl
rm
DistUpgradeVersion.py
21
0644
edit
dl
rm
DistUpgradeView.py
16823
0644
edit
dl
rm
DistUpgradeViewGtk3.py
34667
0644
edit
dl
rm
DistUpgradeViewKDE.py
43122
0644
edit
dl
rm
DistUpgradeViewNonInteractive.py
13862
0644
edit
dl
rm
DistUpgradeViewText.py
12829
0644
edit
dl
rm
GtkProgress.py
4020
0644
edit
dl
rm
MetaRelease.py
17468
0644
edit
dl
rm
QUrlOpener.py
3321
0644
edit
dl
rm
ReleaseNotesViewer.py
7658
0644
edit
dl
rm
ReleaseNotesViewerWebkit.py
2983
0644
edit
dl
rm
SimpleGtk3builderApp.py
2056
0644
edit
dl
rm
SimpleGtkbuilderApp.py
2037
0644
edit
dl
rm
telemetry.py
3478
0644
edit
dl
rm
utils.py
18349
0644
edit
dl
rm
xorg_fix_proprietary.py
4083
0644
edit
dl
rm
__init__.py
0
0644
edit
dl
rm
Edit:
/usr/lib/python3/dist-packages/DistUpgrade/xorg_fix_proprietary.py
(4083B)
#!/usr/bin/python3 # # this script will examine /etc/xorg/xorg.conf and # transition from broken proprietary drivers to the free ones import sys import os import logging import time import shutil # main xorg.conf XORG_CONF = "/etc/X11/xorg.conf" def replace_driver_from_xorg(old_driver, new_driver, xorg=XORG_CONF): """ this removes old_driver driver from the xorg.conf and substitutes it with the new_driver """ if not os.path.exists(xorg): logging.warning("file %s not found" % xorg) return content = [] with open(xorg) as xorg_file: for line in xorg_file: # remove comments s = line.split("#")[0].strip() # check for fglrx driver entry if (s.lower().startswith("driver") and s.endswith('"%s"' % old_driver)): logging.debug("line '%s' found" % line.rstrip()) line = '\tDriver\t"%s"\n' % new_driver logging.debug("replacing with '%s'" % line.rstrip()) content.append(line) # write out the new version with open(xorg) as xorg_file: if xorg_file.readlines() != content: logging.info("saving new %s (%s -> %s)" % (xorg, old_driver, new_driver)) with open(xorg + ".xorg_fix", "w") as xorg_fix_file: xorg_fix_file.write("".join(content)) os.rename(xorg + ".xorg_fix", xorg) def comment_out_driver_from_xorg(old_driver, xorg=XORG_CONF): """ this comments out a driver from xorg.conf """ if not os.path.exists(xorg): logging.warning("file %s not found" % xorg) return content = [] with open(xorg) as xorg_file: for line in xorg_file: # remove comments s = line.split("#")[0].strip() # check for old_driver driver entry if (s.lower().startswith("driver") and s.endswith('"%s"' % old_driver)): logging.debug("line '%s' found" % line.rstrip()) line = '#%s' % line logging.debug("replacing with '%s'" % line.rstrip()) content.append(line) # write out the new version with open(xorg) as xorg_file: if xorg_file.readlines() != content: logging.info("saving new %s (commenting %s)" % (xorg, old_driver)) with open(xorg + ".xorg_fix", "w") as xorg_fix_file: xorg_fix_file.write("".join(content)) os.rename(xorg + ".xorg_fix", xorg) if __name__ == "__main__": if not os.getuid() == 0: print("Need to run as root") sys.exit(1) # we pretend to be do-release-upgrade so that apport picks up if we crash sys.argv[0] = "/usr/bin/do-release-upgrade" # setup logging logging.basicConfig(level=logging.DEBUG, filename="/var/log/dist-upgrade/xorg_fixup.log", filemode='w') logging.info("%s running" % sys.argv[0]) if not os.path.exists(XORG_CONF): logging.info("No xorg.conf, exiting") sys.exit(0) # remove empty xorg.conf to help xorg and its auto probing logic # (LP: #439551) if os.path.getsize(XORG_CONF) == 0: logging.info("xorg.conf is zero size, removing") os.remove(XORG_CONF) sys.exit(0) # make a backup of the xorg.conf backup = XORG_CONF + ".dist-upgrade-" + time.strftime("%Y%m%d%H%M") logging.debug("creating backup '%s'" % backup) shutil.copy(XORG_CONF, backup) nvidia = False try: mods = [line.split()[0] for line in open('/proc/modules')] except IOError: logging.info("Can't read /proc/modules") sys.exit(0) for m in mods: if m == 'nvidia': nvidia = True break if not nvidia: with open(XORG_CONF) as xorg_conf_file: if "nvidia" in xorg_conf_file.read(): logging.info("Removing nvidia from %s" % XORG_CONF) comment_out_driver_from_xorg("nvidia")
Save
cmd:
run