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

Deb dependencies #2

Open
wants to merge 70 commits into
base: master
Choose a base branch
from
Open

Conversation

bregma
Copy link
Owner

@bregma bregma commented Jul 17, 2015

Reorganization of Python sources into module for packaging-friendly installation. Some file moving and renaming; added support for running from the top of the source tree without setting PYTHONPATH or installing the package.

Chris Townsend and others added 30 commits June 2, 2015 09:20
The files are for:
* The module that does the heavy lifting of creating, destroying, updating, installing
  packages, etc. for the Libertine containers.
* A DBus session bridege to allow DBus session communication between the container and
  the host.
* A simple command line tool for invoking the module to do the necessary functions.
Added some more functions such as installing pakages into the container.
Cleanup up function names as well as cleaned up the command-line manager.
When embedding the Python code in the C++ code, it is much more straighforward to use a Python class to call many methods, so changed to using a class to make this possible.
Adding a new Python embedded class to allow the C++ code to call into the Python LibertineContainer class and functions.
* Cleanup up the class some to remove unneeded member variables and moved them local.
* Made a new method to initialize the Python module.
* Build for the main project.
Adds the 'My Containers' view if there is at least 1 container available.
The user password is going to be needed when setting up a Libertine container, so this adds the inital plumbing to handle that.  It assumes a password is being provided by the manager application.
Refactor some code from the Libertine class to the ContainerConfigList class.  This will make it easier to use these methods from different front ends.
Fixed up some styling issues.
Add a empty Libertine class ctor for use by the cli.
Chris Townsend and others added 30 commits June 24, 2015 09:36
Add a deleteContainer method for removing container entries in the json database when removing a container.
When using the destroy command, actually destroy the container now.
ContainersView: added actions to list items
Derive the ContainerManagerWorker from the QThread class and get rid of the ContainerManagerController class.
Add in the ability for the QML code to instantiate and use the ContainerManagerWorker.
Also, add work around in LXC so a GUI app can start the container.
Dynamically create ContainerManagerWorker objects from within the QML code.  This will extend the the threading of the object methods to allow concurrent work within the gui.
The user's password is necessary when creating a Libertine container.  This adds support for getting the password via CLI and also verifying the password via PAM.
Add a password page to get the user's password when creating a Libertine containers.  This builds on the last commit.
Don't pop() the previous page, so now when going to a new page, we can navigate back using the back arrow next to the page header.
Adds the app that was installed in the JSON file within the container definition.
Hooks up to the lxc install method.
Added a QML view for entering the *exact* package name to install.
Also, removed references to the U1db since it's not used.
Hook up adding the app in the JSON file from the cli.
Fix wrong variable name.
This now allows the CLI to update the packages in the container.
Enable updating the container from the GUI.
Also, check if an app is already installed before trying to install it.
Instead of using a state machine for page navigation, use pop()'s and push()'s instead.  The state machine is broken when trying to use back navigation, so hopefully this will feel more natural.
Add support for showing the installed apps.  The list is based on the currently chosen container.
Add a stdout/stderr redirector in the Python code for capturing output from lxc-attach calls.  This is needed to pass status, error messages, and data back to the Libertine manager.
Added enough package dependencies and installation rules to have a
functional installable DEB package.
Add the ability to get error output when installing packages in the container.  This can then be presented in the GUI.
Add support for removing packages inside the Libertine container.  Also removes the corresponding entry in the JSON file.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants