Skip to content

Make plugin idempotent #24

Open
Open

Description

@probonopd

Repeated runs fail with [conda/stderr] mkdir: cannot create directory ‘_temp_home’: File exists . How do you develop this interactively (trial and error during development of an AppImage)?

Similar,

Running process: /home/me/linuxdeploy-plugin-conda.sh --appdir AppDir
[conda/stdout] Error: directory exists: AppDir/usr/conda
ERROR: Failed to run plugin: conda (exit code: 1) 

Activity

  1. TheAssassin commented on Jun 9, 2019

    @TheAssassin
    Member

    Duplicate of #10.

  2. probonopd commented on Jun 9, 2019

    @probonopd
    ContributorAuthor

    No, #10 is about not downloading repeatedly.
    This is about not erroring when running repeatedly.

  3. TheAssassin commented on Jun 9, 2019

    @TheAssassin
    Member

    #10 explains why it's necessary to error out to prevent running more than once.

  4. changed the title [-]Repeated runs fail[/-] [+]Allow running more than once[/+] on Jun 9, 2019
  5. probonopd commented on Jun 9, 2019

    @probonopd
    ContributorAuthor

    Then this is my feature request to make it so that one can run multiple times, like linuxdeployqt. It is necessary for efficient trial-and-error development.

  6. TheAssassin commented on Jun 9, 2019

    @TheAssassin
    Member

    Same as #10 (comment). Sure, would be nice to have, but implies a lot of work to make this reliable. Conda's installer doesn't support it properly.
    Also: linuxdeploy can run multiple times, only this plugin can't/won't. As stated in #10, you can just omit --plugin conda on subsequent runs.

  7. changed the title [-]Allow running more than once[/-] [+]Make plugin idempotent[/+] on Jun 23, 2019
  8. TheAssassin commented on Jun 23, 2019

    @TheAssassin
    Member

    This plugin should be idempotent with some exceptions.

    • subsequent runs should recognize existing conda environment and not recreate the environment from scratch
    • installation of dependencies should be called normally, and should not (but that's not a hard requirement) update anything already installed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions