Commit Graph

122 Commits

Author SHA1 Message Date
Adriaan de Groot
c4bfad9399 [packages] Provide status feedback
- The status message should be updated; the name is constant.

FIXES #1330
2020-03-09 15:41:17 -05:00
Adriaan de Groot
d3828a82fc [packages] Make dummy backend slower
- insert sleeps to make it slower (easier when testing)
- improve debug logging clarity by noting where the messages
  are coming from
2020-03-04 21:31:47 -05:00
Bart Ribbers
136d22188e
[packages] Add apk (Alpine Linux package manager) support 2020-02-27 12:58:53 +01:00
Adriaan de Groot
7cadfb8ddd [packages] Log unfamiliar package operations
- unknown operations get a warning
 - "source" will be added from netinstall shortly
2020-02-18 12:02:16 +01:00
Adriaan de Groot
d063d60e37 [packages] Explain pre-script isn't actually a shell script 2019-08-26 16:42:05 +02:00
Adriaan de Groot
36fe3ed188 [packages] Add -Su --noconfirm
- When updating the system (-Su) it may want to install newer
   packages; it asks for confirmation before doing so.

FIXES #1154
2019-05-27 14:06:05 +02:00
Adriaan de Groot
fe3a88f834 [packages] Fix cut-and-paste-o in packages try_remove
- Copied from_local from the code for install, which doesn't
   make sense and causes a NameError.

FIXES #1063
2019-01-03 14:36:48 +01:00
Adriaan de Groot
0a73d57808 [packages] Add support for pre- and post- scripts everywhere
- for remove and localInstall, add support for pre- and post-
   scripts like there already was for install.

This feels like there's code duplication going on, but I haven't
thought of an elegant way to distinguish the available operations
so that I can pass around functions instead.
2018-11-27 12:52:24 +01:00
Adriaan de Groot
34255b4cf5 [packages] Document *localInstall* operation. 2018-11-27 12:48:31 +01:00
Adriaan de Groot
05588a1ffd [packages] Improvide conf documentation
- about LOCALE packages
 - about pre- and post-scripts

CC: #1057
2018-11-27 12:39:19 +01:00
Kevin Kofler
15e9edca70 [packages]: Implement update_system for pkcon, yum, dnf
Also make install for yum and dnf follow the documented syntax: options
(-y) before the command (install), even though yum and dnf also accept
the other order. This also makes it consistent with remove.
2018-06-18 13:53:58 +02:00
Philip Müller
3a3a4ec363 [packages] update documentation 2018-06-17 13:15:55 +02:00
Philip Müller
c600c3ecca [packages] update documentation to reflect 'update_db' and 'update_system' differences 2018-06-17 13:10:59 +02:00
Philip Müller
1bd149c14e [packages] add initial support for update target system 2018-06-17 12:53:31 +02:00
Adriaan de Groot
9fe85e592f Merge branch '3.1.x-stable' 2018-04-04 11:10:34 -04:00
Adriaan de Groot
b8e6144553 [locale] Document how the locale entry in Global Storage works.
- Make the BCP47 value explicitly lower-case.
 - Add some constness and encapsulation.
 - Fix up documentation in the packages module explaining the
   format of the ${LOCALE} replacement (now forced to lower-case,
   but it is also only the language part, not e.g. en-UK).

FIXES #922
2018-04-03 13:07:36 -04:00
Adriaan de Groot
4c04260b97 [packages] Don't change the global package list.
- Count only the packages that will be changed, given the current
   locale settings.
 - Preserve global storage unchanged (don't remove any locale-packages).
2018-04-03 08:28:29 -04:00
Adriaan de Groot
36aede52ef [packages] Example configuration installs a localization package 2018-04-03 08:20:01 -04:00
Adriaan de Groot
9cdb6734bf [packages] If locale is empty, pretend it is 'en'.
- Otherwise packages like vi-$LOCALE will be retained in the
   package list, which will cause install problems.
2018-04-03 08:02:16 -04:00
Adriaan de Groot
060990bdd0 Python: use warning() method in modules 2018-02-20 04:42:56 -05:00
Adriaan de Groot
051edb462f [packages] Add pisi package manager (based on some guesses) 2018-02-01 09:14:54 +01:00
Adriaan de Groot
d6731efdfd [packages] fix typo in docs 2018-01-25 10:44:48 +01:00
Adriaan de Groot
762ad54344 Documentation: change http links to GitHub to https 2017-12-20 08:39:09 -05:00
Adriaan de Groot
65a236cd60 [packages] Fix previous.
This, kids, is why you don't switch writing C++ and Python too often.
The C++ code isn't a syntax error in Python, although this would fail
at runtime.
2017-12-02 06:14:17 -05:00
Adriaan de Groot
3e3cd08ff3 [packages] Fix previous (false vs False) 2017-12-02 05:20:13 -05:00
Adriaan de Groot
150007c138 [packages] Feature: skip if no internet.
Update documentation, add a new key *skip_if_no_internet* to support
systems that **recommend** having an internet connection (but don't
require it), and which also use the packages module. This prevents
a long delay while the package manager tries to access the internet
and times out (repeatedly).

Existing configurations are unchanged.
2017-12-02 05:17:15 -05:00
Adriaan de Groot
7b145c2a36 [packages] Improve message when no packages are processed at all. 2017-12-01 16:48:02 -05:00
Adriaan de Groot
fe61925f31 [packages] Update module documentation 2017-12-01 13:46:59 -05:00
Adriaan de Groot
41f17892d6 [packages] Document run_operations() some more 2017-10-24 06:44:37 -04:00
Adriaan de Groot
a4f4d417a2 Packages module: improve translated progress reporting
- Reduce number of strings a bit
 - Less confusing translation requirements (I hope)
 - Report on progress between groups
2017-08-31 03:51:18 -04:00
Adriaan de Groot
a31c4b4cb3 Packages module: better progress reporting
- introduce multiple modes (remove, install) to
   distinguish progress messages
 - handle plurals via gettext
 - fix PEP8 whining from previous
2017-08-30 17:37:04 -04:00
Adriaan de Groot
e1a93987d0 Packages module: add progress reporting
Adds i18n to the module (but these strings are not yet extracted),
and reports progress as each group of packages is installed.

FIXES #781
2017-08-30 10:09:28 -04:00
Adriaan de Groot
162de207c8 Package module: extensive documentation of options 2017-08-29 10:34:38 -04:00
Adriaan de Groot
3799a26b3c Package module: optimize & fix
- Expand example configurations
 - Optimize commoon case of just listing package names
 - Do locale substitution in both kinds of cases
2017-08-29 06:58:30 -04:00
Adriaan de Groot
6c36534206 Package module: fix packages-could-be-objects code
- Check for 'list' when it's actually a 'dict' is strange.
   Reverse logic to consider 'str' a package name and everything
   else is special.
 - Refactor to handle the difference between package names and
   packages-with-script-data in one place.
 - Add code and config documentation.
 - Switch sample configurations to dummy-backend.
2017-08-29 05:51:30 -04:00
Adriaan de Groot
d66434985e Package module: refactor package-manager into multiple classes 2017-08-29 05:51:29 -04:00
Alf Gaida
fe14559f2f refine warn_text coding
fixed superfluous whitespace
2017-04-18 18:13:36 +02:00
Alf Gaida
122667f9a7 Fixed pep8 whining in module packages 2017-03-29 20:37:00 +02:00
Kyle Robertze
832fc9fd51 fixed two bugs in packages module
if the key "install" was used, the install would crash as the backwards
compatibility checks were incorrect. Fixed a typo in the run function so
pre- and post-install hooks now work correctly
2017-02-20 13:35:56 +01:00
Kyle Robertze
5eb0c8e40b updated docs to better explain new features
the docs do not current reflect the new net-install and packages modules
changes well. This updates them to explain the new keys in the
configuration files.
2017-02-20 11:06:58 +01:00
Kyle Robertze
36f723e59f added missing copyright statement 2017-02-07 17:10:48 +01:00
Kyle Robertze
4d24942547 corrected packages syntax errors 2017-02-07 17:10:48 +01:00
Kyle Robertze
45facda3cb corrected packages module features so that they are up to date 2017-02-07 17:10:48 +01:00
Kyle Robertze
d465617432 added support for pre- and post-install scripts 2017-02-07 17:10:48 +01:00
Teo Mrnjavac
fbb77aff0c Use --non-interactive with zypper update.
CAL-455 #close Fixed in master, please test.
2017-02-01 16:11:54 +01:00
Teo Mrnjavac
8804b15b59 Make try_{install,remove} more robust. 2017-02-01 11:34:10 +01:00
Rohan Garg
4a55802b18 Allow passing a LOCALE variable in the package list
This allows for installing locale packages. This can be achieved
by adding a entry of the format packagename-${LOCALE} in the
packages configuration module.
2016-12-20 16:57:23 +01:00
Teo Mrnjavac
c4df69b4a7 Allow try_install and try_remove entries in packages module. 2016-11-02 17:00:45 +01:00
Teo Mrnjavac
b272917e83 Add option of updating packages db before perfoming package operations. 2016-11-02 13:04:11 +01:00
V3n3RiX
ef3600891f improve portage backend, so that it removes ALL calamares deps 2016-08-12 15:32:35 +01:00
shainer
53214a15bc Add pkgman to run_operations invocation. 2016-07-05 21:06:27 +01:00
shainer
058c7d8913 packageOperations should be a map between operation type and list of packages. It does not make sense for it to be a list of dictionaries, all with the same format. Also makes conversions with QVariant harder. 2016-07-04 22:18:21 +01:00
Teo Mrnjavac
10ce42f35c Use target_env calls in Python modules. 2015-09-15 16:48:41 +02:00
Gormogon
bc66502fda Some more PEP 2015-06-14 07:25:37 -04:00
skullbocks
57406f3bc9 [modules/packages] Added support for Portage and Entropy 2015-06-08 19:29:51 +02:00
rshipp
f3319e1ef4 Change local_install to localInstall 2015-03-04 08:19:26 -07:00
rshipp
880c19c195 Fix incorrect if statement 2015-03-01 17:34:44 -07:00
rshipp
995341e9be Allow local installs with the packages module.
Courtesy of @Inkane. Adds the ability to use pacman -U to install
local packages.
2015-03-01 16:31:40 -07:00
Philip
e5eee1e4dd [unpackfs] proper sentence 2015-02-25 14:49:24 +01:00
Philip
be2353e54b [packages] add python doc strings 2015-02-25 14:49:23 +01:00
Gormogon
113d9db7cb Python Better Docstrings 2015-02-25 14:49:23 +01:00
Teo Mrnjavac
abeb6d9172 Run urpme noninteractive (OpenMandriva).
Thanks Tomasz Paweł Gajc <tpgxyz@gmail.com> for the patch.
2015-02-22 13:38:37 +01:00
Gormogon
09dc6bb5d7 [PEP 8] General Style Part 2 2015-02-18 09:47:24 -05:00
Gormogon
8e1480431a [PEP 263] Corrected Encoding Headers 2015-02-18 09:06:10 -05:00
Teo Mrnjavac
2cd9c7c0fa Improve urpmi call. Thanks Tomasz Paweł Gajc for the patch. 2015-01-27 18:38:11 +01:00
Kevin Kofler
5c6a302112 packages: Ignore error code for "dnf remove".
Unfortunately, dnf treats it as an error if we try to remove a package
that already did not exist. This means that, e.g., if we try to remove
calamares itself, but calamares was not installed on the base image,
only in the overlay, we will fail with an error. So, as long as we do
not have a better solution, we ignore the exit code of "dnf remove"
entirely.

(yum does not show this behavior, it returns success when the package to
remove is already not installed.)
2015-01-19 03:06:12 +01:00
Kevin Kofler
412b959870 packages: Offline package removal for yum and dnf.
When removing packages with yum or dnf, pass the --disablerepo=*
(disable all online repositories) and -C (run from cache) arguments.
Package removals do not normally require network access, and this
measure saves time and bandwidth and prevents possible unnecessary
errors (e.g., if we do not have active network access, or if there is
some problem with the mirrors).
2015-01-19 02:57:29 +01:00
Daniel Hillenbrand
722e87fd00 packages: add --noconfirm arg for pacman, also remove unneeded deps 2014-11-28 20:54:35 +01:00
Rohan Garg
ac5cecee19 Clean up unused packages after installation
Fixes #166.
2014-11-27 11:03:12 +01:00
Rohan Garg
6a9c9cbaae Fix typo 2014-10-27 18:39:11 +01:00
Rohan Garg
fdd84d1f99 Don't crash when packageOperations is empty 2014-10-27 16:58:42 +01:00
Pier Luigi Fiorini
5624132172 Add packages job
This job can be used to install and remove packages.
2014-09-01 21:48:35 +02:00