Commit Graph

125 Commits

Author SHA1 Message Date
dengbo11 dc2c18ee73 chore: code clear
Old command is not use, delete it.
2024-11-12 15:48:28 +08:00
dengbo11 71fe2c0e4b feat(cli): cli version support json format output
Cli version add json format output.
2024-11-12 15:48:28 +08:00
kamiyadm 06cd6d955e fix: cli returned if no avilable notifier
Fallback to DummyNotifier if no avilable notifier.

Log:
2024-11-11 17:07:59 +08:00
kamiyadm 7d848ab3a5 fix: some buildflag has uncertain value
Fully initialize those options.

Log:
2024-11-07 09:56:12 +08:00
dengbo11 f9ae16f25d feat(builder): linglong builder help information internationalization
Add ll-builder chinese, en_US, en_GB and spanish help information.
2024-11-06 18:16:45 +08:00
kamiyadm 97e0898bbf fix: can not do the migration
* If there need migrate and the current operation is
  not 'll-cli migrate', notify the message.
* Call runningAsRoot() before call migrate().

Log:
2024-11-06 10:43:11 +08:00
dengbo11 583ad9d024 feat(cli): linglong cli help information internationalization
Add ll-cli chinese and spanish help information.
2024-11-05 20:12:08 +08:00
kamiyadm c482eef998 fix(ll-cli): used a moved object
-

Log:
2024-11-05 20:10:10 +08:00
kamiyadm a769dbcb9b fix: build error because of wrong namespace
-

Log:
2024-11-05 16:05:40 +08:00
kamiyadm 21ce364aea fix: no permission to migrate
* Not doing interact before migration, only notification.
* Allow anyone to call WaitForAvailable() by dbus.

Log:
2024-11-05 15:33:04 +08:00
dengbo11 4ed4c07ec6 fix(cli): cli command output show abnormal
Do not use '\n' in command description, or it will show abnormal.
2024-11-04 13:39:27 +08:00
kamiyadm c056e3959a fix: auth_admin_keep is not worked
-

Log:
2024-11-01 17:37:54 +08:00
dengbo11 e8a17cd9c3 chore: misspelling of word
Word spelling inaccurate.
2024-11-01 10:56:18 +08:00
dengbo11 73d4db59e6 feat(cli): optimize cli command line parsing function
Use CLI11 to optimize cli command line parsing.
2024-11-01 10:56:18 +08:00
ComixHe ec4e2ecd44 feat: implement the 'deferred uninstallation' feature
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm 715105aaa9 refactor(ll-cli): the initialization of notifier
Original behavior is use the DBusNotifier first if it can be initialized.
For now, if ll-cli is running in tty, we should use the terminalNotifier.

Log:
2024-10-31 13:35:32 +08:00
ComixHe 032627936c feat: add syncing mecanism between ll-cli and ll-package-manager
ll-package-manager will delay the uninstall process of application
if there are running containers that are using the application that
will be uninstalled and ll-package-manager may not daemonlize anymore
in the future.

So we need a mecanism to sync states and let ll-package-manager to know
how many running container there are and whether container is building
or not.

ll-cli should touch a file under /run/linglong/UID which named
with current pid and left empty to present initialization of ll-cli is
incomplete, ll-package-manager should waiting until all file are valid
(or exit immediately) if ll-package-manager want to uninstalling
package.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
kamiyadm 670e82dd76 refactor: change some api of ll-cli/ll-package-manager
* Change dbus return type to QVariantMap.
* Add new dbus method SetRunningState, Prune.
* Add new subcommand prune.
* Change the parameters in TaskChange.
* Add task for Uninstall.
* Set correct Status and SubStatus.

Log:
2024-10-31 13:35:32 +08:00
dengbo11 09e0ce0ea5 feat(ll-cli): add ll-cli list --upgradable feature
Add ll-cli list --upgradable to show the latest version list of the
currently installed apps.

Log: add ll-cli list --upgradable feature
2024-10-25 16:09:26 +08:00
ComixHe b203d63996 feat: support migrating data interactively
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
kamiyadm 63fa3687a2 fix: some errors during migration
-

Log:
2024-10-08 17:40:34 +08:00
kamiyadm 3c8541ff39 feat(ll-cli): call WaitForAvailable before init PackageManager
Wait for the migration to complete, maybe ll-package-manager
is busy now.

Log:
2024-10-08 17:40:34 +08:00
ComixHe 6f7b243ec2 feat: add new dbus object for migrating underlying storage
Adding version '1' to dbus service 'org.deepin.linglong.PackageManager' and it's dbus object.

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe 8d099eeda3 refactor: split target linglong::linglong into four parts
- linglong::linglong
 - linglong::utils
 - linglong::api
 - linglong::dbus-api

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-17 11:04:45 +08:00
myml bf8489cfc9 feat: Create dedicated client for HTTP requests
使用单独的client发送http请求, 避免请求结果混淆

Log:
2024-06-14 09:42:52 +08:00
kamiyadm bc08c49339 fix: move ll-package-manager to /usr/libexec/linglong
close: https://github.com/linuxdeepin/linglong/issues/460

Log:
2024-05-27 16:48:48 +08:00
kamiyadm 63c721b614 feat: support ll-cli content
New subcommand to display the exported files.

Log:
2024-04-28 11:43:33 +08:00
black-desk bbda931b9b feat: allow set the oci runtime via env variable
1. Introduce LINGLONG_DEFAULT_OCI_RUNTIME cmake option to set the
   default oci runtime cli used by linglong;
2. Allow override oci runtime by set env variable LINGLONG_OCI_RUNTIME.

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-18 11:11:56 +08:00
black-desk ee364e3007 refact: all API types use quicktype
1. Update dbus interface xml files to
   use QVariantMap as parameters and response;

2. Add api/schema/v1.yaml to generate all API types;

3. Remove qserializer.

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-01 17:05:32 +08:00
ComixHe b72ecefa93 refactor(package_manager): install and upgrade
* use dbus signal to notify cli download progress
  * support cancel downloading manually
  * use eventloop instead of threadpool

Signed-off-by: ComixHe <heyuming@deepin.org>
2024-03-15 18:00:42 +08:00
myml 319f2db592 feat: Check if crun exists
检查crun是否存在,如果不存在打印提示

Log:
2024-02-29 02:31:26 +00:00
black-desk 3903d7cfef
fix: update PFL.cmake
Signed-off-by: black-desk <me@black-desk.cn>
2024-02-22 10:56:59 +08:00
black-desk 3595a15382
chore: remove ll-service
Signed-off-by: black-desk <me@black-desk.cn>
2024-02-01 18:21:27 +08:00
myml 648d09d4c5 feat: Support using run and build
使用支持oci标准的crun替换ll-box

Log:
2024-01-26 13:28:33 +08:00
black-desk 4c96d3a3bd
chore: keep QDBUS_DEBUG while exec ll pkg manager
It make debug --no-dbus mode easier.

Signed-off-by: black-desk <me@black-desk.cn>
2024-01-12 15:24:41 +08:00
black-desk c00575da7f
fix(cli): compatiable with old --exec
continue 92f60891b2

Related: linuxdeepin/developer-center#6636
Related: linuxdeepin/developer-center#6736
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:42:55 +08:00
black-desk 68dcc268d0
chore: force log to stderr with --no-dbus
Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:31:25 +08:00
black-desk e3a46e5e6b
fix: correct dbus address for p2p mode
Old location has permission issue.

Signed-off-by: black-desk <me@black-desk.cn>
2024-01-04 15:31:24 +08:00
black-desk 92f60891b2
fix(cli): handle old run --exec arguments
Signed-off-by: black-desk <me@black-desk.cn>
2023-12-28 13:25:22 +08:00
kamiyadm c8a68af3c8 feat: support the operation of print info from layer
Print info from layer with ll-cli info <layer path>.

Log:
2023-12-22 14:53:26 +08:00
black-desk c834125382 fix: use Qt::QueuedConnection
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-15 09:50:10 +08:00
black-desk e9393e9e3b refact: remove pkg manager in ll-cli
use p2p dbus to call method from package_manager in ll-cli.
2023-11-13 01:01:23 +08:00
black-desk eb60cfbb80 refact: do not inject pkgManImpl
Run package manager directly in ll-cli is just a workaround.
Check comment for later refact note.
2023-11-13 01:01:23 +08:00
black-desk 45934ed095 chore: add version marco
add LINGLONG_VERSION
2023-11-13 01:01:23 +08:00
black-desk 2a7d840879 style(cli): use anonymous namespace
use namespace instead of static
2023-11-13 01:01:23 +08:00
black-desk f441040403 refact: refactory cli and its test
1. use pImpl for error;
2. remove factory template;
3. use gmock;
4. remove command helper class.
2023-11-13 01:01:23 +08:00
linxin 6712e3fc43 feat: add ll-cli command test
add ll-cli test

Log: add test
2023-11-13 01:01:23 +08:00
linxin ae2ab9850c reface: add json output
add the type of data output by json

Log: add data output type
Issue:
2023-11-13 01:01:23 +08:00
linxin abcfb26eda refact: parser dbus proxy parameter
parse the dbus proxy config data from json file

Log: change the method of obtainning dbus proxy parameter
2023-11-13 01:01:23 +08:00
black-desk ee54a2edc0 refact(cli): early return
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk 2cca37b841 chore: remove unused comment
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk ef80f995a9 refact: make all exec command as QStringList
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
linxin 6aed2a2b6c refact: ll-cli command parser implement
use docopt lib to replace Qt command line parser lib

Log: change command line parser implement
Issues:
Signed-off-by: black-desk <me@black-desk.cn>
2023-11-13 01:01:23 +08:00
black-desk ee1dece0a3
style: run clang-format on all files
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-13 22:41:07 +08:00
black-desk 9ada065677
build: refact build process
- update cmake-format config;
- using PFL.cmake (https://github.com/black-desk/PFL.cmake);
- using CPM.cmake (https://github.com/cpm-cmake/CPM.cmake).

Signed-off-by: black-desk <me@black-desk.cn>
2023-10-11 13:35:51 +08:00
black-desk ac5d7bc795
refact: remove unneed function
Signed-off-by: black-desk <me@black-desk.cn>
2023-10-11 10:40:36 +08:00
black-desk b07e3ea778
refact: remove private class of package mangaer
Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:13 +08:00
black-desk dba8b94795
refact: remove private class of app_manager
- remove private class of app_manager
- remove singleton base of app_manager

Signed-off-by: Chen Linxuan <me@black-desk.cn>
2023-09-28 14:03:12 +08:00
black-desk 2eee362db8
feat: use journald to logging
- introduce the new utils/global module for holding functions using
  everywhere;
- add qt message handler for logging to journald;
- add -DQT_MESSAGELOGCONTEXT for enabling source location of log.

Signed-off-by: black-desk <me@black-desk.cn>
2023-09-25 14:07:31 +08:00
black-desk 995446c82a format: run clang-format on ll-cli
Signed-off-by: black-desk <me@black-desk.cn>
2023-09-05 15:12:26 +08:00
black-desk 814ea55b17 format: remove extra spaces
Signed-off-by: black-desk <me@black-desk.cn>
2023-09-05 15:11:23 +08:00
hpdqddsy f712e0655f refact: unify addOptions()
Unify all `addOption()` and `addOptions()` in `ll-cli`.
2023-09-05 15:10:08 +08:00
hpdqddsy 58e227b675 refact: refactor if clause
Refactor an if clause. Just a test.
2023-09-05 15:10:08 +08:00
black-desk c023e00dd5
fix(cli): correct the default repo name
When we update the config.json in LINGLONG_ROOT
to config.yaml
at commit 6e51c51e95,
we also update the default local repo name
in default configuration file
to "deepin".

But we didn't update the default value of
command line argument "--name" of
command `ll-cli repo modify`,
which make that command failed
when "--name" argument is not provided.

This commit update the default value of
"--name" to "deepin".

Signed-off-by: black-desk <me@black-desk.cn>
2023-08-17 23:23:12 +08:00
black-desk 23be7f5f7d
build: mv package_manager adaptor to linglong/adaptors
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:52:08 +08:00
black-desk 0771d23402
build: mv app_manager adaptor to linglong/adaptors
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:52:07 +08:00
black-desk 5ec0ebf3fc
build: mv linglong/api/v1/dbus/{interfaces,}
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:52:06 +08:00
black-desk 9c603411ec
build: move generated dbus interface codes to api/v1/dbus/interfaces
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:52:03 +08:00
black-desk e450e6b671
refact!: add version numbver to dbus interface
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:52:02 +08:00
black-desk 4e67f8e3f3
build: add SPDX-* comments to CMakeLists.txt
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:51 +08:00
black-desk dbd427f6ee
build: move module/* to src/linglong
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:46 +08:00
black-desk 60e1bdcbcc
build: move service to src/linglong
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:45 +08:00
black-desk 54f9648be1
build: move package_manager to src/linglong
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:44 +08:00
black-desk 1eb6e12073
refact: change llpkg into a shell script
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:39 +08:00
black-desk d0807308e6
build: move ll-cli to apps
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:38 +08:00