Fix pg_buildext running.
This commit is contained in:
parent
96e3e52059
commit
4230c7a6b8
4 changed files with 15 additions and 4 deletions
|
@ -22,6 +22,7 @@ __all__ = [
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import sys
|
import sys
|
||||||
from typing import List, Set, Optional, Type, Tuple
|
from typing import List, Set, Optional, Type, Tuple
|
||||||
|
|
||||||
|
@ -543,7 +544,9 @@ class PgBuildExtOutOfDateControlFixer(BuildFixer):
|
||||||
def _fix(self, error, context):
|
def _fix(self, error, context):
|
||||||
logging.info("Running 'pg_buildext updatecontrol'")
|
logging.info("Running 'pg_buildext updatecontrol'")
|
||||||
self.session.check_call(["pg_buildext", "updatecontrol"])
|
self.session.check_call(["pg_buildext", "updatecontrol"])
|
||||||
# TODO(jelmer): Copy control file back
|
shutil.copy(
|
||||||
|
self.session.external_path('debian/control'),
|
||||||
|
context.tree.abspath(os.path.join(context.subpath, 'debian/control')))
|
||||||
return commit_debian_changes(
|
return commit_debian_changes(
|
||||||
context.tree,
|
context.tree,
|
||||||
context.subpath,
|
context.subpath,
|
||||||
|
@ -744,6 +747,8 @@ def main(argv=None):
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
from breezy.workingtree import WorkingTree
|
from breezy.workingtree import WorkingTree
|
||||||
|
import breezy.git
|
||||||
|
import breezy.bzr
|
||||||
from .apt import AptManager
|
from .apt import AptManager
|
||||||
from ..session.plain import PlainSession
|
from ..session.plain import PlainSession
|
||||||
from ..session.schroot import SchrootSession
|
from ..session.schroot import SchrootSession
|
||||||
|
|
|
@ -97,6 +97,9 @@ class Session(object):
|
||||||
def setup_from_directory(self, path, subdir="package") -> Tuple[str, str]:
|
def setup_from_directory(self, path, subdir="package") -> Tuple[str, str]:
|
||||||
raise NotImplementedError(self.setup_from_directory)
|
raise NotImplementedError(self.setup_from_directory)
|
||||||
|
|
||||||
|
def external_path(self, path: str) -> str:
|
||||||
|
raise NotImplementedError
|
||||||
|
|
||||||
|
|
||||||
class SessionSetupFailure(Exception):
|
class SessionSetupFailure(Exception):
|
||||||
"""Session failed to be set up."""
|
"""Session failed to be set up."""
|
||||||
|
|
|
@ -92,6 +92,9 @@ class PlainSession(Session):
|
||||||
def chdir(self, path):
|
def chdir(self, path):
|
||||||
os.chdir(path)
|
os.chdir(path)
|
||||||
|
|
||||||
|
def external_path(self, path):
|
||||||
|
return os.path.abspath(path)
|
||||||
|
|
||||||
def setup_from_vcs(
|
def setup_from_vcs(
|
||||||
self, tree, include_controldir=None, subdir="package"):
|
self, tree, include_controldir=None, subdir="package"):
|
||||||
from ..vcs import dupe_vcs_tree, export_vcs_tree
|
from ..vcs import dupe_vcs_tree, export_vcs_tree
|
||||||
|
|
|
@ -177,17 +177,17 @@ class SchrootSession(Session):
|
||||||
self.check_call(["mkdir", "-p", home], cwd="/", user="root")
|
self.check_call(["mkdir", "-p", home], cwd="/", user="root")
|
||||||
self.check_call(["chown", user, home], cwd="/", user="root")
|
self.check_call(["chown", user, home], cwd="/", user="root")
|
||||||
|
|
||||||
def _fullpath(self, path: str) -> str:
|
def external_path(self, path: str) -> str:
|
||||||
if self._cwd is None:
|
if self._cwd is None:
|
||||||
raise ValueError("no cwd set")
|
raise ValueError("no cwd set")
|
||||||
return os.path.join(self.location, os.path.join(self._cwd, path).lstrip("/"))
|
return os.path.join(self.location, os.path.join(self._cwd, path).lstrip("/"))
|
||||||
|
|
||||||
def exists(self, path: str) -> bool:
|
def exists(self, path: str) -> bool:
|
||||||
fullpath = self._fullpath(path)
|
fullpath = self.external_path(path)
|
||||||
return os.path.exists(fullpath)
|
return os.path.exists(fullpath)
|
||||||
|
|
||||||
def scandir(self, path: str):
|
def scandir(self, path: str):
|
||||||
fullpath = self._fullpath(path)
|
fullpath = self.external_path(path)
|
||||||
return os.scandir(fullpath)
|
return os.scandir(fullpath)
|
||||||
|
|
||||||
def setup_from_vcs(
|
def setup_from_vcs(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue