-
Notifications
You must be signed in to change notification settings - Fork 2
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
bregma
wants to merge
70
commits into
bregma:master
Choose a base branch
from
ubuntu-libertine:deb-dependencies
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.