8 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
375f594808
Add argument to list packages needed by apps 2016-09-17 13:48:46 -04:00
Sunil Mohan Adapa
b097731e40
setup: Fix arguments to setup without install
- When arguments are passed to --setup-no-install, use them correctly.

- Explicitly initialize member in constructor

- Minor indentation
2016-09-03 11:28:58 +05:30
James Valleroy
548e0ebd60
Add --setup-no-install command
Acts the same as --setup, but does not install any packages. Will
raise an error if any required package is not already installed.
2016-09-03 10:02:54 +05:30
Hemanth Kumar Veeranki
60e808e9bb
Added option for plinth --setup
Now plinth --setup could take a list of modules to setup
2016-07-31 14:15:57 +05:30
Sunil Mohan Adapa
7a9a4cd861
packages: Switch to installing with apt-get
- Use action helper so that Plinth can run unprivilaged and action
  script can run as root.

- Use Status-Fd feature of apt-get to report progress.  Don't report
  much detail.

- Capture all stderr of the apt-get process and present it only in case
  of failure.

- Remove package installation using PackageKit.  Remove dependency on
  PackageKit.

- Merge --setup package installation with regular package installation.

This should fix the following problems:

- PackageKit throws errors when APT encounters an error and later
  corrects them and proceeds well.  This is reported upstream but not
  fixed.

- PackageKit does not install recommends by default and there is no easy
  way to tell it to do so.

- In some rare cases, PackageKit could get stuck for interactive input
  even though interactive flag is set to false.

- PackageKit does not work without network manager connections. (Could
  have been mitigated by altering packagekit configuration).

- PackageKit glib library leaks file descriptors after each operation.
  This leads to running out of fds during long running refresh
  operations such as OpenVPN setup.  (This should have subsided by not
  checking package install with the new setup mechanism.)]

Known issues:

- In development mode, inside action scripts the python modules are
  always loaded from system path and not development directory.

- With PackageKit it is possible to run multiple operations
  simultaneously.  Others would wait while the first is being
  installed.  With new implementation, the others error out unable to
  obtain lock.
2016-06-11 12:11:40 -04:00
Sunil Mohan Adapa
567fd590ab
setup: Run first time setup with apt
Due to problems with running PackageKit inside foriegn binary Qemu, this
is a fallback solution to use apt-get directly instead.
2016-05-08 10:46:57 +05:30
Sunil Mohan Adapa
1f5fa31e53
package: Remove old package installation methods 2016-02-13 13:52:33 +05:30
Sunil Mohan Adapa
be6ccabec2
setup: New module to handle application setup
- There shall be a setup helper object in every module.  The setup
  process will simply call methods in helper.

- Helper is responsible for loading/storing/checking module setup
  versions.

- Methods help in showing progress of setup process automatically.
2016-02-13 13:49:59 +05:30