AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[packaging](unix)

Martin Hope
Nicola Landro
Asked: 2024-06-09 18:50:13 +0800 CST

将 zenity 放入 flatpak /usr/bin 文件夹

  • 5

我尝试为Instant meshes创建一个 flatpak 应用程序,具体清单如下:

id: org.flatpak.InstantMeshes
runtime: org.gnome.Platform
runtime-version: "44"
sdk: org.gnome.Sdk
command: InstantMeshes
desktop-file-name-suffix: " (Nightly)"
finish-args:
  - --share=ipc
  - --socket=x11
  - --socket=wayland
  - --filesystem=home
  - --device=dri
modules:
  - name: zenity
    buildsystem: meson
    sources:
      - type: archive
        url: https://download.gnome.org/sources/zenity/3.41/zenity-3.41.0.tar.xz
        sha256: 19b676c3510e22badfcc3204062d432ba537402f5e0ae26128c0d90c954037e1
  
  - name: build instant meshes
    buildsystem: cmake
    build-commands:
      - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/app
      - make -j 4
      - install -D "./Instant Meshes" /app/bin/InstantMeshes
    sources:
      - type: git
        url: https://github.com/wjakob/instant-meshes.git
        branch: master
    build-options:
      append-path: "/usr/lib/"

  - name: Intant Meshes
    buildsystem: simple
    build-commands:
      # - install /app/bin/zenity /usr/bin/zenity
      - install -D InstantMeshes.desktop /app/share/applications/org.flatpak.InstantMeshes.desktop
      - install -D instantmeshes.png /app/share/icons/hicolor/256x256/apps/instantmeshes.png
    ensure-writable:
      - /app/bin/zenity
    sources:
      - type: file
        path: InstantMeshes.desktop
      - type: file
        path: instantmeshes.png

但是在运行时尝试打开文件夹时出现错误:

sh: line 1: /usr/bin/zenity: File o directory do not exist

这是因为 zenity 位于 /app/bin 路径中,但它是只读的,我无法从基本 flatpak 清单中进行修改。是否有可能将 zenity 引入 /usr/bin 文件夹?可能使用运行时?

packaging
  • 1 个回答
  • 19 Views
Martin Hope
Newbyte
Asked: 2022-03-19 03:56:35 +0800 CST

如何从 Flatpak 清单构建 .flatpak 包文件?

  • 1

我有一个要提交给 Flathub 的 Flatpak 清单,但我还想构建一个可以自己重新分发的 .flatpak 包文件。我该怎么做呢?我在 的命令参考中没有找到任何东西flatpak-builder,搜索也没有成果。需要明确的是,我不希望 Flatpak 包含所有必要的运行时,但我希望从其他地方安装 Freedesktop 运行时的用户能够安装它。

packaging flatpak
  • 1 个回答
  • 191 Views
Martin Hope
400 the Cat
Asked: 2021-09-08 20:02:33 +0800 CST

即使对代码进行了微小的更改,构建 Debian 软件包也会失败

  • 2

我可以make使用以下过程构建 Debian 软件包:

apt-get source make
cd make-*
dpkg-buildpackage --build=binary --no-sign

但是,一旦我对代码进行任何更改,甚至更改字符串中的一个字符,那么在测试期间构建就会失败:

1 Test in 1 Category Failed (See .diff* files in work dir for details) :-(

make[4]: *** [Makefile:1373: check-regression] Error 1
make[4]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
make[3]: *** [Makefile:1114: check-am] Error 2
make[3]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
make[2]: *** [Makefile:820: check-recursive] Error 1
make[2]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1/debian/build-make-guile'
dh_auto_test: error: cd debian/build-make-guile && make -j8 check VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:50: override_dh_auto_test] Error 255
make[1]: Leaving directory '/mnt/src/deb/MAKE/make-dfsg-4.2.1'
make: *** [debian/rules:24: build] Error 2
dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

我在这里粘贴了完整的输出

如何使用自定义更改构建包?

packaging deb
  • 1 个回答
  • 543 Views
Martin Hope
PHPoenX
Asked: 2020-01-05 00:47:55 +0800 CST

rpmlint“use-tmp-in-%postun”错误

  • 1

rpmlint 输出:

E: use-tmp-in-%postun

规格文件:

%postun
rm -r /var/aci /tmp/aci_tmp 2> /dev/null

另外,我不能删除包

如何在卸载此软件包之后或之前删除 /tmp 中的目录?

rpm packaging
  • 2 个回答
  • 73 Views
Martin Hope
Nelstaar
Asked: 2019-11-14 03:38:55 +0800 CST

为什么 dh_auto_install 和 dh_install 不使用同一目录?

  • 3

我尝试使用dpkg-buildpackage从源代码构建单个包。在某些时候dh_auto_install被调用并运行make install DESTDIR=/somewhere/debian/package-name

然后dh_install被调用,但只在.or中搜索,debian/tmp但不在debian/package-name!

我得到类似的东西:

dh_install: Cannot find (any matches for) "usr/include/*" (tried in ., debian/tmp)

如何使它们都在同一个目录中使用?

(如果我尝试构建多个包没有问题)(兼容 9)

packaging
  • 1 个回答
  • 1672 Views
Martin Hope
Arkady
Asked: 2019-05-27 23:32:27 +0800 CST

带有可选文件的 Debian 软件包

  • 2

创建 debian 包的脚本存在并且可以工作。我必须修改它们。在新的特定情况下,可能会有一些我想要包含的可选文件来打包。

如果我将它们添加到 package.install,那么我会失败,因为只有那些文件不存在。如果我不将它们添加到 package.install,那么即使它们存在,它们也永远不会被包含到包中。

为了确定具体情况,我有特殊的环境变量:SPECIFIC_CASE=CASE

我应该如何设置 debian 包创建脚本来搜索这些文件以防万一?

在文件rules(设计为 Makefile)中,我有目标:

copy_files:
override_dh_install:
override_dh_auto_install: (empty)
...list of other overrides...
install:
postbuild:
clean:
debian packaging
  • 1 个回答
  • 1064 Views
Martin Hope
Stewart
Asked: 2019-05-21 07:05:24 +0800 CST

为 Debian 打包 CMake 组件

  • 1

我有一个使用 cmake 的上游源包,我想将它打包为两个二进制 debian 包。

$ tree proj
proj/
├── app1.c
├── app2.c
└── CMakeLists.txt

Upstream 的CMakeLists.txt写作已经考虑到了这一点。他们使用 COMPONENTS 参数install

$ cat proj/CMakeLists.txt
include(GnuInstallDirs)

add_executable(app1 app1.c)
install(
  TARGETS app1 
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  COMPONENT app1)

add_executable(app2 app2.c)
install(
  TARGETS app2
  RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
  COMPONENT app2)

要在本地编译/安装,非常简单:

$ mkdir build && cd build
$ cmake ../proj -DCMAKE_INSTALL_PREFIX=/usr/local  # Configure
$ cmake --build .                                  # Build
$ cmake -DCOMPONENT=app1 -P cmake_install.cmake    # Install app1 component
$ cmake -DCOMPONENT=app2 -P cmake_install.cmake    # Install app2 component

但是您将如何为此构建debian/rules文件?

packaging deb
  • 1 个回答
  • 1632 Views
Martin Hope
Bastian Nanchen
Asked: 2019-02-07 05:30:55 +0800 CST

CentOS 7 - 在创建 RPM 包期间设置规范文件遇到的问题

  • 1

我的目标是将 Debian 包翻译成 RPM 包,以便将其安装在 CentOS Linux 7(Red Hat)上。我用外星人来完成它:alien --to-rpm --scripts --keep-version --generate debian_pkg.deb。我使用该--generate标志创建一个用于构建包的目录,因为我想将运行时依赖项添加到规范文件中。为此,我添加了这一行:Requires: nodejs tomcat8 java-1.8.0-openjdk java-1.8.0-openjdk-devel. 然后我尝试创建 package: rpmbuild -ba <package_name>.spec,但它突然以这个错误结束:

Processing files: <package_name>
error: Directory not found: /root/rpmbuild/BUILDROOT/<package_name>/srv
error: Directory not found: /root/rpmbuild/BUILDROOT/<package_name>/srv/tmp
error: File not found: /root/rpmbuild/BUILDROOT/<package_name>/srv/tmp/file.tar.gz
error: File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/README.Debian
error: File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/changelog.Debian.gz
error: File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/copyright


RPM build errors:
    Directory not found: /root/rpmbuild/BUILDROOT/<package_name>/srv
    Directory not found: /root/rpmbuild/BUILDROOT/<package_name>/srv/tmp
    File not found: /root/rpmbuild/BUILDROOT/<package_name>/srv/tmp/file.tar.gz
    File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/README.Debian
    File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/changelog.Debian.gz
    File not found: /root/rpmbuild/BUILDROOT/<package_name>/usr/share/doc/frontend/copyright

我搜索了互联网,发现它链接到该%install部分,更具体地说%{buildroot},但我无法解决这个问题并解决它。有人可以帮帮我吗?

谢谢!

更新

这是本质上的规范文件:

Buildroot: /home/<package_dir>
Version: 1.0
Release: 849
Distribution: Debian
Group: Converted/misc
Requires: nodejs tomcat8 java-1.8.0-openjdk java-1.8.0-openjdk-devel

%define _rpmdir ../
%define _rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
%define _unpackaged_files_terminate_build 0

%pre
# some shell script

%post
# some shell script

%install
mkdir -p %{buildroot}/usr/share/doc/
mkdir -p %{buildroot}/usr/share/doc/frontend/

%files
%dir "/srv/"
%dir "/srv/tmp/"
"/srv/tmp/file.tar.gz"
%dir "/usr/"
%dir "/usr/share/"
%dir "/usr/share/doc/"
%dir "/usr/share/doc/frontend/"
"/usr/share/doc/frontend/README.Debian"
"/usr/share/doc/frontend/changelog.Debian.gz"
"/usr/share/doc/frontend/copyright"
centos packaging
  • 1 个回答
  • 1385 Views
Martin Hope
MrBit
Asked: 2019-01-13 12:45:06 +0800 CST

创建一个 .deb 包并自动运行它

  • 5

我正在使用运行最新的 Raspbian Stretch Lite 2018-11-13 的 Raspberry Pi 2 Model B。

我构建了一个程序,它使用 SPI 与 LoRa 芯片 (SX1276) 通信,从温度传感器获取一些数据并在屏幕上打印温度。

我的程序只包含一个可执行文件(除了wiringpi 库)。

我正在寻找使我的程序成为 *.deb 包的教程。使用本教程,我设法构建了一个lora.deb包。

当我安装我的lora.deb包sudo dpkg -i lora.deb时,可执行文件刚刚部署在一个目录中。

如何使该软件包自动运行可执行文件并在每次系统启动时运行它?

packaging deb
  • 1 个回答
  • 1196 Views
Martin Hope
shirish
Asked: 2018-12-16 07:37:37 +0800 CST

如何在 Debian 中提取和共享上游更新日志?

  • 1

我知道在 Debian 中你有一个 watch 文件,它通过上游版本(使用正则表达式)来区分一个包的原始版本,并告诉它是否有一个新的包版本。变更日志是如何完成的。它们是手动导入的,还是有一些 dh (debhelper) 魔法可以自动执行大部分工作,比如区分更改日志编号和添加最近的更改。源可以在某个 git 存储库中,它有一个名为 changelog 的文件,也可以是一个 tarball,它有一个名为 changelog 的文件。

debian packaging
  • 1 个回答
  • 26 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve