Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

msilib Directory.start_component() fails if keyfile is not None #56848

Closed
johnkeeping mannequin opened this issue Jul 25, 2011 · 10 comments
Closed

msilib Directory.start_component() fails if keyfile is not None #56848

johnkeeping mannequin opened this issue Jul 25, 2011 · 10 comments
Labels
3.7 (EOL) end of life 3.8 only security fixes OS-windows type-bug An unexpected behavior, bug, or error

Comments

@johnkeeping
Copy link
Mannequin

johnkeeping mannequin commented Jul 25, 2011

BPO 12639
Nosy @loewis, @zooba, @ZackerySpytz, @pablogsal, @miss-islington
PRs
  • bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None #13688
  • [3.6] bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688) #13703
  • [2.7] bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688) #13704
  • [3.7] bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688) #13705
  • Files
  • msilib.gen_id.patch: Patch to fix this issue
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = None
    closed_at = <Date 2019-05-31.22:39:58.039>
    created_at = <Date 2011-07-25.16:23:26.718>
    labels = ['3.8', 'type-bug', '3.7', 'OS-windows']
    title = 'msilib Directory.start_component() fails if keyfile is not None'
    updated_at = <Date 2019-06-02.18:05:40.044>
    user = 'https://bugs.python.org/johnkeeping'

    bugs.python.org fields:

    activity = <Date 2019-06-02.18:05:40.044>
    actor = 'pablogsal'
    assignee = 'none'
    closed = True
    closed_date = <Date 2019-05-31.22:39:58.039>
    closer = 'steve.dower'
    components = ['Windows']
    creation = <Date 2011-07-25.16:23:26.718>
    creator = 'john.keeping'
    dependencies = []
    files = ['22751']
    hgrepos = []
    issue_num = 12639
    keywords = ['patch']
    message_count = 10.0
    messages = ['141098', '235994', '236009', '344089', '344091', '344094', '344101', '344107', '344136', '344299']
    nosy_count = 6.0
    nosy_names = ['loewis', 'john.keeping', 'steve.dower', 'ZackerySpytz', 'pablogsal', 'miss-islington']
    pr_nums = ['13688', '13703', '13704', '13705']
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'behavior'
    url = 'https://bugs.python.org/issue12639'
    versions = ['Python 2.7', 'Python 3.7', 'Python 3.8']

    @johnkeeping
    Copy link
    Mannequin Author

    johnkeeping mannequin commented Jul 25, 2011

    If msilib.Directory.start_component() is called with the keyfile argument not None then it attempts to call self.cab.gen_id(self.absolute, keyfile) but the msilib.CAB.gen_id() method takes only two arguments (not three).

    @johnkeeping johnkeeping mannequin added the OS-windows label Jul 25, 2011
    @BreamoreBoy
    Copy link
    Mannequin

    BreamoreBoy mannequin commented Feb 14, 2015

    @Steve can you take a look at the patch please, it only changes one line.

    @zooba
    Copy link
    Member

    zooba commented Feb 14, 2015

    I guess it's okay, but I have literally zero knowledge or experience with the msilib module. Martin is still maintainer for that, as far as I know.

    @ZackerySpytz ZackerySpytz mannequin added 3.7 (EOL) end of life 3.8 only security fixes type-bug An unexpected behavior, bug, or error labels May 30, 2019
    @zooba
    Copy link
    Member

    zooba commented May 31, 2019

    New changeset c8d5bf6 by Steve Dower (Zackery Spytz) in branch 'master':
    bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688)
    c8d5bf6

    @zooba
    Copy link
    Member

    zooba commented May 31, 2019

    Thanks, Zackery!

    The backports are running CI now and should merge if everything passes.

    @miss-islington
    Copy link
    Contributor

    New changeset 49fc57a by Miss Islington (bot) in branch '3.7':
    bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688)
    49fc57a

    @zooba
    Copy link
    Member

    zooba commented May 31, 2019

    Looks like the tests need to be customized for 2.7 and 3.6:

    Traceback (most recent call last):
      File "D:\a\1\s\lib\test\test_msilib.py", line 64, in test_directory_start_component_keyfile
        self.addCleanup(db.Close)
    AttributeError: '_msi.Database' object has no attribute 'Close'

    I can edit directly in miss-islington's branch, but what's the change? Do we just remove the addCleanup code? Or should we just skip the backport?

    @ZackerySpytz
    Copy link
    Mannequin

    ZackerySpytz mannequin commented May 31, 2019

    Thanks for looking at this issue, Steve.

    At this point in time, 3.6 only takes security fixes, so PR 13703 should be closed.

    The Close() method was added in 3.7, so I think removing the addCleanup() call is the way to go for 2.7.

    @zooba
    Copy link
    Member

    zooba commented May 31, 2019

    New changeset bfc1f60 by Steve Dower (Miss Islington (bot)) in branch '2.7':
    [2.7] bpo-12639: msilib.Directory.start_component() fails if *keyfile* is not None (GH-13688)
    bfc1f60

    @zooba zooba closed this as completed May 31, 2019
    @pablogsal
    Copy link
    Member

    test_msilib is leaking references https://bugs.python.org/issue37124

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    3.7 (EOL) end of life 3.8 only security fixes OS-windows type-bug An unexpected behavior, bug, or error
    Projects
    None yet
    Development

    No branches or pull requests

    3 participants