Commit Graph

259 Commits

Author SHA1 Message Date
dengbo f1ca50579c feat: move linglong-installer project to linglong
move linglong-installer project to linglong

Log:
2024-07-18 15:37:44 +08:00
dengbo 7f96e5c9ee fix: linglong-session-helper.service not start when reboot
linglong-session-helper.service should WantedBy default.target rather than multi-user.target

Log:
2024-07-15 13:49:58 +08:00
black-desk 26f811a4a9 chore: use MemoryMax in systemd service
Signed-off-by: black-desk <me@black-desk.cn>
2024-07-15 13:07:25 +08:00
dengbo 61e4876269 Revert "fix: linglong-session-helper can not start normal"
This reverts commit 58fa49709f.
2024-07-12 14:01:06 +08:00
dengbo 58fa49709f fix: linglong-session-helper can not start normal
WantedBy should be multi-users in systemd service

Log:
2024-07-12 11:55:29 +08:00
bluesky a2937ea359 feat: add ll-session-helper monitor listening service
通过 ll-session-helper 服务,来监听宿主机上 /etc/resolv.conf ,/etc/localtime等文件的变化。
设置开机自启

Issue: https://github.com/linuxdeepin/developer-center/issues/8989
Log: add ll-session-helper service
2024-07-11 15:54:02 +08:00
dengbo 85326447cd fix: example build error in uos20 arm arch
org.deepin.foundation has no 23.0.0 arm architecture, use 20.0.0

Log:
2024-07-08 13:51:56 +08:00
myml 832f7d9751 fix: incorrect symbolic link target
软链接指向了错误的二进制,会导致部分应用崩溃

Log:
2024-07-02 10:39:37 +08:00
myml f8cf372825 feat: Add static suffix to statically linked binaries
lintian检查要求静态链接的二进制, 文件名需要添加-static

Log:
2024-07-01 11:47:32 +08:00
dengbo d97f6b15c1 fix: ll-builder convert appimage error when use url
url is download to linglong/sources, should enter linglong/sources to
operate appimage file

Log:
2024-06-27 09:55:31 +08:00
kamiyadm 42319396b4 fix: update bash completion
fix https://github.com/linuxdeepin/developer-center/issues/9382

Log:
2024-06-26 13:15:55 +08:00
kamiyadm 037ff5b6bd chore: update bash completion of ll-cli
Support completion of install layer file.

Log:"
2024-06-20 16:41:33 +08:00
kamiyadm ddea8b0667 refactor: add 25-host-env to generate env variables
Add new generator 25-host-env and use it.

Log:
2024-06-20 10:52:46 +08:00
ComixHe 1326fb0c0e feat: support export uab file
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-06-19 16:08:11 +08:00
dengbo 5f496c5e0a feat: org.deepin.linglong.PackageManager add security check
org.deepin.linglong.PackageManager add Capability_Check, Cgroup_Check
and Polkit_Check, it only used to skip DBus security check, it will be removed later

Log:
2024-06-19 10:33:16 +08:00
myml c2d00d62e6 feat: Use scripts to download sources instead
file和archive类型的source也改用脚本处理

Log:
2024-06-17 21:18:41 +08:00
dengbo 89194daf92 chore: fix example.yaml spell
fix example.yaml spell

Log:
2024-06-06 09:51:09 +08:00
kamiyadm 223d6f7854 fix: org.deepin.foundation won't be upgraded by service
-

Log:
2024-05-31 11:32:00 +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
dengbo 2aa0e267df fix: ll-build failed to convert appimage
linglong.yaml must have command and base option when convert

Log:
2024-05-27 16:38:19 +08:00
Mingcong Bai eb17fcb74c fix(cmake): install linglong-repair-tool as a program
Previously, misc/CMakeLists.txt installed the program linglong-repair-tool as
a "FILES" item (no executable bit), this is incorrect as the user would fail
to run this program (with a "permission denied" error).

Correct the INSTALL() command and install linglong-repair-tool as a "PROGRAMS"
item to give it executable bit at install-time.
2024-05-23 14:40:04 +08:00
kamiyadm 9200d6e635 refactor: ll-builder create
Generate linglong.yaml from example.yaml.
close: https://github.com/linuxdeepin/linglong/issues/448

Log:
2024-05-22 11:03:09 +08:00
black-desk 027238437e fix(builder): --init-branch is not available in git 2.20.1
Signed-off-by: black-desk <me@black-desk.cn>
2024-05-17 14:58:41 +08:00
kamiyadm 5dc93a2e08 fix: use host icon for linglong-repair-tool
Using the icon 'deepin-repair-tools' which from deepin-icon-them.

Log:
2024-05-13 15:50:54 +08:00
kamiyadm 025d41be8c fix: move the reinstall operation to new script
-

Log:
2024-05-13 13:04:40 +08:00
bluesky d5a19ad562 chore: update docs
* 删除目前版本无法使用的玲珑构建文档
* 添加构建示例

Issue: https://github.com/linuxdeepin/developer-center/issues/8265
Log: update docs
2024-05-13 10:15:07 +08:00
kamiyadm 9373b35a5f chore: add excutable permission for some config
-

Log:
2024-05-10 18:20:48 +08:00
ComixHe 7f513e0d21 refact(generators): mount to default location
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-05-06 16:40:16 +08:00
dengbo 6b633f6f8c docs: optimization api doc
add description of api doc

Log:
2024-04-29 17:09:24 +08:00
dengbo 98c8dd8f35 fix: linglong-builder dependence is missing
linglong-builder add dependence

Log:
2024-04-26 17:29:43 +08:00
kamiyadm e624bbe0df chore: add systemd preset config to enable service
This is only used in the os which use rpm as package manager.
In debian, debhelper will do this job.

Log:
2024-04-26 16:01:39 +08:00
dengbo c80bd851cc fix: create-linglong-dirs +x permission is missing
create-linglong-dirs add +x permission

Log:
2024-04-25 11:44:34 +08:00
dengbo f4e6956ff8 chore: modify repo to stable
modify repo to stable

Log:
2024-04-24 11:20:41 +08:00
kamiyadm 1c5ec42068 fix: rename 'll-cli repo list' to 'll-cli repo show'
-

Log:
2024-04-23 14:35:40 +08:00
kamiyadm 03d894634d fix: TryExec should be set to ll-cli
-

Log:
2024-04-16 14:55:04 +08:00
kamiyadm 240d841c43 fix: fix typo
-

Log:
2024-04-16 14:55:04 +08:00
kamiyadm c171b05cba fix: missing X-linglong after patch desktop
-

Log
2024-04-15 17:13:17 +08:00
myml 46a418da71 fix: source fetch failure when kind is 'file' or 'archive'
修复'file'和'archive'类型的source下载

Log:
2024-04-10 16:24:46 +08:00
dengbo d003a5d871 fix: XDG_DATA_DIRS env is unset
XDG_DATA_DIRS environment variable maybe be unset by a program when
login, so we must set it again

Log:
2024-04-10 05:02:06 +00:00
myml 40de7dacea fix: source fetch error
修复源码拉取错误
源码应该存放在linglong/sources的子目录

Log:
2024-04-09 10:21:46 +08:00
kamiyadm 310fb062e1 chore: install some scripts for ll-builder
-

Log:
2024-04-08 21:17:36 +08:00
kamiyadm 6255704c6f feat: add a tool to generate app's configure file
We should patch some file after build, such as
 *.desktop, *.service.

Log:"
2024-04-08 20:01:04 +08:00
kamiyadm fcecef2dca fix: missing default config.yaml
-

Log:
2024-04-08 17:06:23 +08:00
myml 06b20ad74b fix: ll-build build error
修复多个会导致构建失败的错误

Log:
2024-04-08 06:44:37 +00:00
myml 197da7f88e feat: use tmpfs mount /run directory
/run应该是一个tmpfs类型的挂载点

Log:
2024-04-03 15:22:15 +08:00
black-desk ddd014d27a
fix: correct container configuration
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:05 +08:00
black-desk aaab7c5c30
fix: make container config generators work
1. chmod +x
2. fix wrong path
3. skip entries not present on host

Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:10:01 +08:00
black-desk 4d11b4f3e4
fix: move basedir from annotation to "root"
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-03 00:09:59 +08:00
ComixHe 7c345afe47 chore: change generator sequence
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-04-02 18:10:23 +08:00
ComixHe c9be53253f refactor: move some operation to a new generator
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-04-02 17:40:21 +08:00
black-desk 451e82c1ba
fix: correct generators
Signed-off-by: black-desk <me@black-desk.cn>
2024-04-01 20:35:40 +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
myml ca7e6ce296 feat: support fetch dsc sources
支持获取dsc格式的原料,便于从deb仓库构建应用

Log:
2024-03-22 22:54:13 +08:00
kamiyadm e6ff98e269 feat: add some check script for ll-builder
-

Log:
2024-03-22 13:12:08 +08:00
kamiyadm 8886992552 refactor: make source to a list and rename to sources
-

Log:
2024-03-12 08:03:41 +00:00
dengbo f0332800c2 feat: Refactor appimage convert features
to export linglong.layer(.uab) according to
the user-specified appimage package parameters

Log:
2024-03-04 06:21:02 +00:00
myml 327d3a1fae feat: remoteLatestRef should return error when app cannot be found
remoteLatestRef在查不到应用时应该返回错误

Log:
2024-02-29 02:52:09 +00:00
kamiyadm 78d84f2b01 fix: add 'll-cli repo list' to usage and completion
-

Log:
2024-02-04 09:57:06 +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 874c564597 feat: add sleep to upgrade-all to avoid impacting CLI operations
自动更新脚本添加休眠时间,避免因并发问题影响用户cli操作

Log:
2024-02-01 11:08:54 +08:00
myml f6748ad4a2 feat: clean up temporary file generated by build
清理构建产生的临时文件
优化strip脚本

Log:
2024-01-30 16:09:45 +08:00
kamiyadm 896d544d42 fix: update bash completion for ll-cli
-

Log:
2024-01-30 11:27:30 +08:00
myml abf262d844 feat: Optimize source download with shallow clone
使用浅克隆方式下载源代码,避免git仓库太大的问题

Log:
2024-01-26 18:29:14 +08:00
kamiyadm 5baebb2286 feat: add bash completion for ll-builder
-

Log:
2024-01-26 09:56:02 +08:00
linxin 4635f07c6b feat: display build details in linglong.yaml
display build details in linglong.yaml for developer

Log:
2024-01-15 14:11:23 +08:00
linxin 0fb9e3bdfc feat: add transfer appimage to linglong
help ll-builder to build linglong package with appimage file
2024-01-02 21:24:09 +08:00
black-desk d08a9655f8
fix: update upgrade-all script
Signed-off-by: black-desk <me@black-desk.cn>
2023-12-28 17:20:26 +08:00
black-desk 9d00026b28
refact: use new config
Signed-off-by: black-desk <me@black-desk.cn>
2023-12-26 10:19:38 +08:00
Felix Yan 9a5bc3f147 chore: correct typos for "environment"
Log:
2023-11-14 16:41:40 +08:00
kamiyadm 0abb7d2796 chore: update example.yaml
Update some dependencies in example.yaml.

Log:
2023-10-17 18:52:16 +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 d84b935d65
build: remove unused CMAKE option
Signed-off-by: black-desk <me@black-desk.cn>
2023-09-19 17:28:30 +08:00
black-desk 03b41991ae fix(scripts): correct command
Signed-off-by: black-desk <me@black-desk.cn>
2023-09-13 18:14:03 +08:00
black-desk 302385a3ff fix(scripts): ignore error in xargs
Related: linuxdeepin/developer-center#5561
Signed-off-by: black-desk <me@black-desk.cn>
2023-09-11 09:48:18 +08:00
black-desk e1cf9a32ec fix: correct CMakeLists 2023-08-29 10:45:08 +08:00
black-desk 80d983ea39 feat: initial implementation of upgrade tool
1. add a script upgrade-all;
2. add a systemd user timer linglong-upgrade.timer;
3. add a systemd user service linglong-upgrade.service;
4. split misc/systemd/service to user and system;
5. update debian *.install.

Signed-off-by: black-desk <me@black-desk.cn>
2023-08-28 18:42:35 +08:00
black-desk a4d6511aef
chore: add SPDX-* comments to misc/*
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:54 +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
Iceyer 6e51c51e95
feat: change confing.josn to config.yaml
- Use config.yaml to support multi repos, now support repo only

Signed-off-by: Iceyer <me@iceyer.net>
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:14 +08:00
Iceyer d7747e581a
refact: change SystemHelper PackageManagerHelper
- Change SystemHelper to PackageMnanagerHelper for permisson control
- Update dbus introspect dtd file url

Signed-off-by: Iceyer <me@iceyer.net>
Change-Id: I2aecf702791d51847269549ea69bc2cf8644c779
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:03 +08:00
Iceyer 2f96947321
feat: add FilesystemHelper for mount erofs
- Add FilesystemHelper with Mount/Umount. These method only process with
mountpoint in /run/user/{uid}/linglong

Signed-off-by: Iceyer <me@iceyer.net>
Change-Id: Iaababa2e68806398e796ee0ba96dcf5fbcbedfe3
Signed-off-by: black-desk <me@black-desk.cn>
2023-08-15 13:51:02 +08:00
kamiyadm 76d298ddcb fix: some file which is not ELF is also not stripped
-

Log:
2023-07-04 12:29:57 +08:00
chenhuixing 218b8160f8 feat(builder): support some build flags
We should export some build flags before the build begins.

Log:
2023-02-24 09:36:00 +08:00
Chen Linxuan fb170fd64f fix: do not chown LINGONG_ROOT if it has existed
We should not chown LINGONG_ROOT and LINGLONG_LOG_DIR if them has
existed.
2023-02-16 18:25:48 +08:00
Chen Linxuan 6464896fce feat: ll-builder support project-wide config
- This commit make ll-builder support project-wide config.

  It will look for .linglong/builder/config.yml in the current
  directory and all the parent directories.

  If not found, it will search linglong/builder/config.yml in QT config
  paths.

  All above failed, it will use the default config we installed to
  CMAKE_INSTALL_DATADIR.

- This commit move builder templates install location as well.
2023-02-16 15:06:50 +08:00
Chen Linxuan 4364210d70 build: configurable static strings at compile time
This commit make

- The username of which user runs the linglong package manager;
- The location of linglong package manager store its data files;
- The location of linglong package manager put its log.

configurable at compile time
2023-02-16 10:54:07 +08:00
Chen Linxuan 8f1c9d0aa7 fix: linglong -> deepin-linglong
Close #27

"linglong" will be a frequently-used name of chinese. Let's back to
"deepin-linglong".

This commit partly revert 4be58ef48b.
2023-02-15 22:56:01 +08:00
Chen Linxuan ff353d8c41 refactor: use systemd to start AppManager
We can use systemd to start AppManager.

This commit remove the old configure files of autostart AppManager.
2023-02-15 19:45:59 +08:00
Chen Linxuan 63c6f743df chore: update default config file
In code "repo" is used as the default repository, now we write it into
onfig file.
2023-02-15 19:45:59 +08:00
Chen Linxuan 46bf987aab fix: configure xdg desktop file
Make it respect CMAKE_INSTALL_BINDIR
2023-02-15 19:45:59 +08:00
Chen Linxuan b0bb61d5ae fix: configure systemd service files
Make it respect CMAKE_INSTALL_BINDIR
2023-02-15 19:45:59 +08:00
Chen Linxuan a0260cd0c5 fix: configure dbus service files
Make it respect CMAKE_INSTALL_BINDIR
2023-02-15 19:45:59 +08:00
Chen Linxuan df12690a47 refactor: remove bash_completion for llpkg
It's ridiculous to just copy bash_completion of ll-cli then rename all
ll-cli to llpkg.
2023-02-15 19:45:59 +08:00
Chen Linxuan 234043a7ed refactor: remove LINGLONG_ROOT
There is no reason to keep linglong data in deepin v23 different from
other distributions.
2023-02-15 19:45:59 +08:00
Chen Linxuan 5969bac379 fix: update default repo url
The default repo url is now set to https://mirror-repo-linglong.deepin.com/.
2023-02-15 19:45:59 +08:00
Chen Linxuan 2494c3faae refactor: do not create log dir in debian trigger.
We create log dir in create-linglong-dirs now.
2023-02-15 19:45:59 +08:00
Chen Linxuan 4be58ef48b refactor: deepin-linglong -> linglong
This commit update systemd and dbus service files to use the system
user "linglong" created by systemd-sysuser, instead of the old
deepin-linglong user created in debian trigger.

Remove the scripts create deepin-linglong user as well.
2023-02-15 19:45:59 +08:00
Chen Linxuan dbefb9e1e5 refactor: create ostree repo in ll-package-manager
Now we create /var/lib/linglong and chown it to linglong user in
systemd service file. We add a script call create-linglong-dirs to do
this job.

As script might be installed to /usr/lib/linglong or
/usr/libexec/linglong. I just ignore the error.

Service files should be configured in cmake, let's fix this later.

OstreeRepoHelper has method ensureRepoEnv which will create the ostree
repo if it doesn't exist. This should be fine.

Update1: But we indeed have some codes open the ostree repo before call
OSTreeRepoHelper's ensureRepoEnv method. This commit include some quick
hack to fix this issue, which should be refactor later.

Update2: ensureRepoEnv use ostree_repo_new which does not create the
ostree repo if it not exist. This behavior is not match comment. So I
refactor this method to make it do the job it should have done.
2023-02-15 19:45:59 +08:00
Chen Linxuan 78b52fb930 refactor: use env generator instead of profile
Remove shell profile scripts. Just use systemd user environment
generator should be fine.
2023-02-15 19:45:59 +08:00
Chen Linxuan 128ee4581e chore: move shell profile to /misc
shell profiles are moved to /misc/profile
2023-02-15 19:45:59 +08:00
Chen Linxuan 3366ffc52d chore: move systemd env generator to /misc
systemd user env generator is moved to /misc/systemd/user-environment-generators
2023-02-15 19:45:59 +08:00
Chen Linxuan 5c45216b8e chore: move systemd service to /misc
systemd service files moved to /misc/systemd/service
2023-02-15 19:45:59 +08:00
Chen Linxuan d2339bb84f chore: move system-helper static files to /misc
ll-system-helper static files now moved to /misc
2023-02-15 19:45:59 +08:00
Chen Linxuan d437fb5140 chore: move service static files to /misc
ll-service static files are moved to the /misc.
2023-02-15 19:45:59 +08:00
Chen Linxuan 111a32e663 chore: move builder config to /misc
Now builder.yaml is placed under /misc/linglong
2023-02-15 19:45:59 +08:00
Chen Linxuan b51533e3a8 chore: move package manager static files to /misc
Now package manager static files are in /misc/systemd and /misc/dbus
2023-02-15 19:45:59 +08:00
Chen Linxuan 3b7e74d9fd chore: move cli bash_completion files to /misc
Now bash_completion files are under /misc/bash_completion
2023-02-15 19:45:59 +08:00
Chen Linxuan 3acc6edacf chore: move builder tempaltes to /misc
Now builder releated files are in /misc/builder-template
2023-02-15 19:45:59 +08:00
Chen Linxuan b0e2220ea3 feat: add sysuser config file
This commit introduce the new /misc directory, which should contains
all the static files.

This commit just install a sysuser config file which will make systemd
create "linglong" user. The systemd and dbus service configuration
files will be updated later.
2023-02-15 19:45:59 +08:00