Comix
ed7dd782e9
refactor(uab): skip fc-cahce hook if uab file was exported in OnlyApp ( #966 )
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-16 16:51:14 +08:00
Comix
27ea143990
refactor: only create runtime directory before container running ( #965 )
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-16 16:12:01 +08:00
dengbo
5db9d54b40
fix: error to export applications entries directory
...
1. we must fix export entries when in no dbus mode;
2. we must copy application entries directorys to the root entries
directorys before rewrite file;
2025-01-10 22:00:11 +08:00
ComixHe
ba889e2c46
chore: fix some compiler warnings
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-10 12:08:59 +08:00
ComixHe
ec86bf68f1
fix: remove unneeded template disambiguator
...
After llvm 19, the program is ill-formed if the name prefixed by the template keyword is not followed by a template-argument-list.
Original cwg defects : https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#96
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-10 12:08:59 +08:00
ComixHe
3c475dea5f
fix: add runtimeCheck method for builder
...
all checkers should execute at the container which
based on binary layer
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-09 14:50:27 +08:00
dengbo
c7c3c6bb92
feat: add some translation
...
1. ll-dialog need to load translation file when running.
2. add some notification message translation.
2025-01-09 14:07:59 +08:00
ComixHe
67afecfb42
refactor(uab): adjust the process of creating container
...
to support self-running uab which is exported in 'onlyApp' mode
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe
137fe30110
feat(builder): support exporting uab in 'onlyApp' mode
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe
a28330e1e4
refactor(uab): use fd with fchdir in pivotRoot instead of ll-host
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe
30aaa4785b
feat(box): skip creation process if some dev symbolic links existing
...
ll-box wouldn't treat EEXIST as an error during creating
some dev symbolic links.
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
ComixHe
6ec4093aa7
feat(box): check some needed kernel settings at runtime
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-27 09:34:11 +08:00
ComixHe
a3a04ef4e9
feat(box): support capabilities manipulation
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-26 15:36:56 +08:00
ComixHe
11ce80835b
feat: change the compression algorithm to zstd
...
erofsfuse use fuse3 after 1.8.3
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-25 16:43:04 +08:00
myml
8e8bd7b0d7
feat: no need to export all entries on startup
...
不需要在每次启动package-manager时都执行一遍全量导出
2024-12-25 09:45:19 +08:00
ComixHe
e1c9652009
fix: Correcting file mappings when there is no file path passing
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 17:47:57 +08:00
ComixHe
53814760e8
fix(uab): use 'fusermount' to unmount erofs
...
Older versions of umount require root privileges
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 17:47:57 +08:00
ComixHe
85cc8ea8ee
build(uab): correct cmake file
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-24 12:29:46 +08:00
myml
6abd470586
feat: ll-builder supports import directory
...
ll-builder import命令支持传递目录, 这便于制作base和手动修改app
2024-12-24 09:37:44 +08:00
myml
0b7d27fc0b
fix: getRemoteModuleList for incompatibility with runtime modules
...
获取远程模块列表时, 应该考虑兼容旧版本的runtime modules
优化安装和升级流程, 只安装单个模块时, 不需要提前获取远程模块列表
2024-12-20 10:39:18 +08:00
ComixHe
a39015081c
refactor(gen): make all generator as a static library
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-18 15:28:04 +08:00
myml
090c9613eb
fix: incorrect official website display in the DTK About dialog
...
dtk的关于对话框中显示的网址信息是从系统文件中读取的,
需要将宿主机的文件挂载到容器中, 才能正常显示
Bug: https://pms.uniontech.com/bug-view-282565.html
2024-12-16 13:17:36 +08:00
ComixHe
4c5184d444
fix: QDesktopWidget is deprecated after Qt 6
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-12 17:26:10 +08:00
kamiyadm
01babce152
fix: error message displayed when generating cache
...
If LINGLONG_SKIP_HOME_GENERATE is set, don't mount the home dir of host.
Log:
2024-12-12 17:26:10 +08:00
kamiyadm
429bd1cc7c
refactor: adjust some cache generation and usage behaviors
...
The caches that have been processed are ld.so.cache and font cache.
Code:
* Add a new member ContainerBuilder to PackageManager. (package_manager)
* Add a new scripts to gererate cache in container. (ld-cache-generator/font-cache-generator)
* Add new func generateCache() to execute app-cache-generator. (pacakge_manager)
* Add new func removeCache() to remove cache. (package_manager)
* Mount the cache during running application. (cli)
Mount:(host->container)
* Remove /var/cache/fontconfig -> /var/cache/fontconfig
* Add /usr/local/share/fonts -> /usr/local/share/fonts
* Add /var/lib/linglong/cache/[hash] -> /run/linglong/cache
* Add /var/lib/linglong/cache/[hash]/fontconfig -> /var/cache/fontconfig
Config: (config.json)
* Remove the hooks part.
* Change env LINGLONG_LD_SO_CACHE to /run/linglong/cache/ld.so.cache.
Log:
2024-12-12 17:26:10 +08:00
ComixHe
644c0c4c48
refactor(uab): remove dependency 'libelf'
...
implement needed functions in light_elf
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-12 15:03:04 +08:00
kamiyadm
5682152a1d
feat: add new dialog to show cache generation
...
-
Log:
2024-12-11 15:05:26 +08:00
ComixHe
d2e37dc5cf
feat: add permission dialog
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-10 18:13:49 +08:00
ComixHe
ee85b850b2
fix: exit when the destination of 'extract' isn't specific
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-06 15:47:34 +08:00
ComixHe
ac3fedcca1
fix(uab): Correct the creation of the directory where the destination is being unpacked
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-05 14:10:11 +08:00
ComixHe
f976ec0507
fix: correct error while parsing args of subCommand 'run' and 'kill'
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-02 17:39:33 +08:00
ComixHe
44c9b617c2
fix: include filesystem due to compatible with old gcc
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-02 16:29:15 +08:00
ComixHe
2c66e0feb2
refactor(uab): remove openssl
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-02 16:29:15 +08:00
ComixHe
9281bffb39
feat(ll-box): support global option 'root'
...
refactor the way of parsing and executing command
now parsing all args at first
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-02 09:57:25 +08:00
ComixHe
01eb8ab22b
feat: add sha256 implementation for uab
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-29 17:58:00 +08:00
myml
572d384e89
feat: add list and remove commands to builder
...
builder添加应用列表和删除应用的命令, 便于开发者清理构建缓存
2024-11-29 17:17:03 +08:00
dengbo11
cbe4bf2f57
fix(pm): migration not performed when update from old version
...
tryMigrate should performe before construction ostree repo.
2024-11-29 17:15:27 +08:00
ComixHe
c65555e3fe
fix: resolve the real path of symlink
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-27 18:01:35 +08:00
ComixHe
a740f474d1
fix: correct the source of error message in ll-box
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-26 17:47:42 +08:00
ComixHe
851e178d3f
refactor: move migrating process to ll-package-manager
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-26 14:27:39 +08:00
dengbo11
db54a5f645
fix(cli): ll-cli kill can not stop app by reference
...
1. Compatible with old versions to stop running app container using fuzz reference.
2. Only support enter running app container by fuzz reference.
2024-11-23 17:24:25 +08:00
ComixHe
6ae5725e2c
fix: add fallback channel "main" to earlier packageInfo
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-23 16:03:16 +08:00
dengbo11
f533e6690e
fix(build): ll-builder push can not working fine
...
Option --repo-name should use correct variable.
2024-11-23 15:25:17 +08:00
dengbo11
c6b0bdcc0d
fix(build): ll-builder build compatible with '-f' option
...
Some packaging build platforms use the '-f' option, we must
provide for compatibility.
2024-11-23 15:05:54 +08:00
dengbo11
e6aea9d998
feat(cli): support kill or enter container by appid
...
Support kill or enter application by appid.
2024-11-22 17:20:22 +08:00
ComixHe
57ea9cb404
feat: filepathMapping supports multiple files or urls
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-22 15:15:50 +08:00
ComixHe
7a45551fd9
refactor(migrate): try to migrate builder repo
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-21 17:34:58 +08:00
myml
4bea611f7b
feat: re-export all application entries after migrate
...
在迁移后重新导出所有应用的entries, 避免数据残留影响功能
2024-11-21 16:55:36 +08:00
dengbo11
ce9545dd78
fix(ll-cli): cli sub command will error when use --json flag
...
Use fallthrough to allow list,search,info,content sub command to support --json flags.
2024-11-21 14:52:18 +08:00
dengbo11
5e39b2ad8e
refactor(ll-build): use build optios to replace variable
...
Use BuilderBuildOptions to replace variable directly.
2024-11-21 09:29:07 +08:00
dengbo11
124bc72721
fix(cli): add some options back for compatibility
...
--prune and --all options should be provided for compatibility with older command line parsing.
Bug: https://pms.uniontech.com/bug-view-288097.html
2024-11-20 17:16:00 +08:00
ComixHe
ca4f8bc7c7
refactor: re-implement migrate
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-19 17:46:22 +08:00
ComixHe
ebf272ce2c
refactor(gen): add blackList for hide some directory all the time
...
std::exist will follow symlink
so we should get status at first
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-11-15 13:59:09 +08:00
myml
e9fbcc4edb
feat: auth push the develop module
...
现在develop会自动构建, 在push的时候也应该自动推送
2024-11-15 10:51:15 +08:00
kamiyadm
c9d59d653d
fix: adjust error output level
...
-
Log:
2024-11-14 17:17:33 +08:00
dengbo11
2d561fcab3
fix: subcommand help information display error
...
Subcommand should add usage, or will inherited the parent command.
2024-11-13 11:30:23 +08:00
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
myml
a85107ae40
feat: not use the host machine PATH variable
...
目前会通过profile.d/00env.sh将宿主机的PATH变量传递到容器中并覆盖profile文件设置的默认值
目前看来并没有好处, 反而会导致预料之外的问题, 比如在一些系统上PATH没有包含/bin目录, 但玲珑的base有可能需要
2024-11-11 09:32:41 +08:00
myml
286121b4a2
fix: ll-builder build command parameter error
...
ll-builder build的命令参数有重复的变量, 导致部分参数不生效
网络库在断网时没有返回准确的错误信息
2024-11-08 17:56:03 +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
kamiyadm
c647ad834d
fix(ll-builder): some minor bugs
...
* We should keep the output format of 'll-builder repo show' as ll-cli.
* The command 'll-builder repo show' should return after print info.
* The linglong.yaml is not necessary to 'll-builder import'.
Log:
2024-11-05 14:36:39 +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
dengbo11
d724f434b4
feat(ll-builder): optimize cli command line parsing function
...
Use CLI11 to optimize Qt command line parsing.
2024-11-04 13:39:08 +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
b205d107eb
fix: resolving conflicts and compilation errors after rebasing from master branch
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +08:00
ComixHe
c65ef008b9
fix(ll-builder): correct behavior of subCommand 'repo'
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-31 13:35:32 +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
10763a1485
feat: support for hiding some directories in a user's home directory via configuration
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-25 04:04:01 +00:00
myml
ca6551e634
fix: unable to push a single module
...
修复因命令行解析配置错误导致无法推送单个模块
修复混用new和free
修复source没有url时报错信息不明
改进debug参数的说明
在pull依赖后应该执行一次模块合并操作
2024-10-23 15:01:17 +08:00
myml
6fe39d6040
feat: ll-builder add debug argument
...
ll-builder添加debug参数, 方便调试应用
debug环境使用develop模块, 可使用 gdb 调试应用
添加了模块拆分功能的文档, 更新了调试应用的文档
2024-10-22 11:21:39 +08:00
myml
e13e855369
feat: ll-cli support install and uninstall modules
...
ll-cli添加安装卸载模块的功能, 在运行时会自动使用已安装的所有模块
在安装, 卸载, 更新时会扫描全部已安装的应用,
然后将应用和模块文件合并到merged目录, 在运行应用时优先查找merged目录
卸载binary时会自动将其他模块删除, 在安装模块前要求用户先安装binary
如果需要调试应用, 要先安装base的develop模块, 再安装应用的develop模块
2024-10-22 11:21:39 +08:00
myml
6d5425545e
feat: support module split files
...
实现了调试符号剥离的功能, 在编译前给gcc添加全局-g参数, 在编译后剥离调试符号到$PREFIX/lib/debug目录
实现了按模块拆分文件的功能, 在linglong.yaml中使用modules字段将构建产物拆分到不同的模块中
Log:
2024-10-15 14:18:40 +08:00
dengbo11
972475473b
feat(linglong_builder): add build option to skip ldd check
...
Some appimage packages use libraries in packages(LD_LIBRARY_PATH),
it will cause the ldd check fails. so add build option to skip ldd
check.
2024-10-10 15:47:31 +08:00
myml
76f9b3c62b
fix: ll-box create mount point for nosymfollow
...
当前ll-box运行容器时会报错ld.so.cache target不存在, 但base里面是存在这个文件的
排查后发现当前的ld.so.cache有两个挂载项, 一个是fix mount创建的base文件挂载, 另一个是为支持ldconfig功能的软链接挂载
因为fixmount最后会检查target重复的挂载项, 并进行删除, 这导致第一个fix mount创建的挂载记录被删除, 另一个则没有了挂载点
现在为设置nosymfollow的挂载项预先创建挂载点(如果挂载点不存在的话), 这和其他挂载行为保持一致, 避免挂载点不存在时ll-box报错
2024-10-09 17:38:05 +08:00
dengbo11
56400783b5
refactor: code refactor
...
1. Remove the redundant header files included.
2. Remove redundant code(file.h,file.cpp).
3. remove ll-store-installer
Log: Code optimization
2024-10-09 15:01:51 +08:00
ComixHe
b203d63996
feat: support migrating data interactively
...
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
ComixHe
4507034871
fix: failed to modify repo config
...
incorrect usage of docopt
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
51065863af
refactor!: use command to operate configuration of builder and cli
...
1. We shouldn't operate repository of ll-build mannually by editing
configuration file.
2. Deprecate command 'll-cli repo modify' due to functional confusion of this command.
ll-cli use below commands to operate repository:
- ll-cli repo add NAME URL
- ll-cli repo remove NAME
- ll-cli repo update NAME URL
- ll-cli repo set-default NAME
ll-builder use below commands to operate repository:
- ll-builder repo add --name=NAME --url=URL
- ll-builder repo remove --name=NAME
- ll-builder repo update --name=NAME --url=URL
- ll-builder repo set-default --name=NAME
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-10-08 17:40:34 +08:00
black-desk
bd04c74f3d
fix(box): default to follow symbol link when parse mount source
...
When we lookup the source of a mount, unless we get a mount option tell
us to not follow symbol link, which means to treat the link it self as
a regular file, we should always follow the link.
For example, if the /etc in runtime namespace is a symbol link to
/usr/etc, and config.json tell us to perform a bind mount from runtime
namespace /etc to container namespace /etc, then the old code will
create /etc in container namespace as a file, which leads to an ENOTDIR
error when doing the bind mount.
Bug: https://pms.uniontech.com/bug-view-274969.html
2024-09-26 17:33:22 +08:00
dengbo11
fd0699cd00
fix: (temporary solution)the app cannot display normally due to font cache
...
bind /var/cache/fontconfig to container when run app
Log: fix app cannot display normally due to font cache
2024-09-26 14:41:05 +08:00
myml
e259b4582c
fix: unable to run and build applications using crun
...
挂载软链接时添加copy-symlink参数,
修复使用crun作为运行时, 在执行build和run时报错的问题
Log:
2024-09-18 15:01:47 +08:00
ComixHe
f4e79c2947
fix(box): adjust 'nosymfollow' priority to highest
...
when declare option 'copy-symlink' and 'nosymfollow' at the same time,
box will apply 'nosymfollow' and ignore 'copy-symlink'.
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-09-14 02:34:02 +00:00
dengbo11
71caecb838
chore: adujust include guards
...
Use #pragma once to replace #ifndef
reference https://includeguardian.io/article/pragma-once-vs-ifndef .
Log: use #pragma once to guard include
2024-09-05 14:55:38 +08:00