Commit Graph

76 Commits

Author SHA1 Message Date
dengbo b76e908d3b chore: use CMAKE_INSTALL_FULL_SYSCONFDIR
Update installation paths for shell scripts to use
`CMAKE_INSTALL_FULL_SYSCONFDIR` instead of `CMAKE_INSTALL_SYSCONFDIR`.
This ensures that the scripts are installed in the correct location,
even when the installation prefix is not the root directory. This fixes
issues where linglong related scripts were not correctly installed in
non-standard installation paths.

Influence:
1. Verify that linglong.sh is installed to the correct path, both when
installing to /usr and to a non-standard prefix.
2. Check that the environment variables set in the script are correctly
sourced when a new session starts.
2025-08-14 14:24:19 +08:00
rewine b0a2a1d873 fix: use CMAKE_INSTALL_SYSCONFDIR for config paths
1. Replace hardcoded /etc paths with CMAKE_INSTALL_SYSCONFDIR variable
2. Fix two installation destinations in the CMakeLists.txt file:
   - Changed /etc/profile.d to ${CMAKE_INSTALL_SYSCONFDIR}/profile.d
   - Changed /etc/X11/Xsession.d to ${CMAKE_INSTALL_SYSCONFDIR}/X11/
Xsession.d
3. This makes the installation paths configurable through CMake rather
than hardcoded
4. The change ensures better compatibility across different Linux
distributions and packaging systems

Influence:
1. Test installation on target system to verify script placement
2. Check that environment variables are properly set in both profile.d
and Xsession.d locations
3. Verify package builds work correctly with custom
CMAKE_INSTALL_SYSCONFDIR values

fix: 使用 CMAKE_INSTALL_SYSCONFDIR 变量替代配置路径中的硬编码值

1. 将原有的硬编码路径 /etc 替换为 CMAKE_INSTALL_SYSCONFDIR 变量
2. 修改了 CMakeLists.txt 中的两个安装路径:
   - 将 /etc/profile.d 替换为 ${CMAKE_INSTALL_SYSCONFDIR}/profile.d
   - 将 /etc/X11/Xsession.d 替换为 ${CMAKE_INSTALL_SYSCONFDIR}/X11/
Xsession.d
3. 这使得安装路径可以通过 CMake 配置而非固定写死
4. 此修改提升了不同 Linux 发行版和打包系统的兼容性

Influence:
1. 在目标系统上测试安装以验证脚本位置的正确性
2. 检查 profile.d 和 Xsession.d 中的环境变量是否正确设置
3. 验证使用自定义 CMAKE_INSTALL_SYSCONFDIR 值时的包构建过程
2025-08-13 11:44:57 +08:00
dengbo d8fd18a645 feat: Add Linyaps application icon
This commit adds a new application icon for Linyaps and integrates it
into the desktop entry.

The `linyaps.svg` file contains the vector graphic for the icon. The
CMakeLists.txt file is updated to install the icon to the correct
location in the file system (`/usr/share/icons/hicolor/scalable/apps`).
The `linyaps.desktop` file is modified to use the new icon by setting
the `Icon` field to "linyaps".

This change improves the visual presentation of the Linyaps application
in the desktop environment.

Log: Added application icon for Linyaps

Influence:
1. Verify that the Linyaps icon is displayed correctly in application
launchers and desktop environments.
2. Check that the icon is visually appealing and consistent with the
application's branding.
3. Test the icon at different sizes to ensure it remains clear and
recognizable.
4. Confirm that the icon is correctly installed to the system's icon
directory.
2025-08-11 17:24:06 +08:00
Felix Yan 8a42aaa2cd fix: don't hardcode libexec dir
Use `CMAKE_INSTALL_FULL_LIBEXECDIR` so that setting `CMAKE_INSTALL_LIBEXECDIR` changes `LIBEXEC_LINGLONG_DIR` accordingly.
2025-06-23 10:31:06 +08:00
reddevillg 3bc48055bc fix: fix build failure caused by removed file
Signed-off-by: reddevillg <reddevillg@gmail.com>
2025-06-19 19:01:41 +08:00
ice909 33f5913209 feat: extract the export paths as a config file
Signed-off-by: ice909 <gaochang1@uniontech.com>
2025-04-07 17:14:27 +08:00
dengbo bc206df5be feat: add linglong desktop
Add linglong desktop file to support install uab.
2025-03-11 20:57:55 +08:00
ice909 02f64f65b2 feat: add command automatic completion for zsh
ll-cli in zsh supports automatic completion.
2025-02-24 14:28:40 +08:00
ComixHe d51b9b5b8c chore(uab): add exporting blacklist
Signed-off-by: ComixHe <heyuming@deepin.org>
2025-01-07 11:54:08 +08:00
myml 8544c5a0d6 feat: adjust systemd/user priority
XDG_DATA_DIRS下面的systemd优先级很高, 会影响系统systemd服务
将应用的systemd导出到其他地方, 再使用user-generator复制到优先级最低的generator.late目录
2024-12-25 17:31:40 +08:00
ComixHe bb25607b91 refactor(gen): change the way of uising generators
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-19 18:21:01 +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
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 d2e37dc5cf feat: add permission dialog
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-12-10 18:13:49 +08:00
kamiyadm ee9c5dee99 fix: admin user skips authentication during call PM
Default rules is enough. The extra rule allow the admin user
to skip authentication. Just remove it.

Log:
2024-11-20 10:13:31 +08:00
kamiyadm 3d0336714f chore: add polkit rules and install it
-

Log:
2024-10-31 18:00:49 +08:00
dengbo11 e72d2dc8cd fix(config): failed to install uab mime-type file
deepin-linglong.xml rename vnd.linyaps.uab.xml, install file name should be modified synchronously.
2024-10-16 18:17:18 +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
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
dengbo11 f0e83cdc2d fix(config): linglong config symlink is missing
Need to install linglong config file before create symlink.

Log: fix linglong config file is missing
2024-09-27 15:25:37 +08:00
dengbo11 3c3ffc8272 chore: code clean
Project configuration file optimization.

Log:
2024-09-26 15:12:47 +08:00
black-desk 4b98ee7682 chore!: remove linglong-upgrade
This patch deprecate the linglong-upgrade script, linglong-upgrade
systemd service and systemd timer.

Check comments in linglong-upgrade.service for more information.
2024-09-10 17:45:20 +08:00
black-desk c3e109848f chore: adjust XDG_DATA_DIRS environment
This patch does two things:

- Adjust linglong data directory order in XDG_DATA_DIRS;

  See comments in
  /misc/lib/systemd/system-environment-generators/61-linglong
  for more information.

- Remove user level linglong data directory in XDG_DATA_DIRS;

  We are not going to implement user level installation in linyaps.

Signed-off-by: black-desk <me@black-desk.cn>
2024-09-05 16:28:00 +08:00
dengbo11 bf27abe33b chore: delete appimage convert feature from ll-builder
delete appimage convert feature from ll-builder
and move it to linglong-pica

Log:
2024-08-28 13:54:32 +08:00
ComixHe f6dc1a947b chore: remove unneeded files
Signed-off-by: ComixHe <heyuming@deepin.org>
2024-08-01 17:46:34 +08:00
black-desk b37723d1d2 refact: remove create-linglong-dirs
1. Use tmpfiles.d to create /var/lib/linglong instead of ExecPre of
   systemd service;
2. Run wrap-and-sort;
3. Sort files to configure in misc/CMakeLists.txt.
2024-07-23 17:16:37 +08:00
dengbo f1ca50579c feat: move linglong-installer project to linglong
move linglong-installer project to linglong

Log:
2024-07-18 15:37:44 +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
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
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
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 025d41be8c fix: move the reinstall operation to new script
-

Log:
2024-05-13 13:04:40 +08:00
kamiyadm 9373b35a5f chore: add excutable permission for some config
-

Log:
2024-05-10 18:20:48 +08:00
dengbo 6b633f6f8c docs: optimization api doc
add description of api doc

Log:
2024-04-29 17:09:24 +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 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
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
myml 06b20ad74b fix: ll-build build error
修复多个会导致构建失败的错误

Log:
2024-04-08 06:44:37 +00: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
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 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