如何为预编译文件创建 deb 包?

Byo*_*Lee 2 package-management packaging rpm deb

我知道如何rpm为RHEL打包,但打包经验很少deb

我想打包其他操作系统的库和头文件来制作交叉编译器,这样就不需要任何编译过程。然而,deb打包过程迫使编写某种Makefile.

如何为预编译文件制作 deb 包?除了同事之外我不会分发它,所以我不需要各种复杂的 debian 打包规则。

这是我的rpm .spec文件。这几乎是微不足道的..

%define os some-os
%define rootname sysroot-%{os}
%global debug_package %{nil}
Name: sysroot-some-os
License: UNLICENSED
Version: 0.1
Release: 1
Source: sysroot-some-os.tar.bz2
Summary: Sysroot from some os

BuildArch: noarch
BuildRequires: bzip2

%description
Sysroot from some os

%prep
%setup -q -n %{rootname}

%install
mkdir -p ${RPM_BUILD_ROOT}/opt/cross/%{os}/sysroot
cp -r * ${RPM_BUILD_ROOT}/opt/cross/%{os}/sysroot
chmod -R -x ${RPM_BUILD_ROOT}/opt/cross/%{os}/sysroot

%files
/opt/cross/%{os}/sysroot

%changelog
blabla..
Run Code Online (Sandbox Code Playgroud)

编辑:

也许有人可以考虑debian/install解决这个问题,但正如你所看到的,这个包有很多文件,写入每个文件并不是一个好主意。(查看.spec文件。)

use*_*.dz 5

是的,您可以直接创建Debian 二进制包

所有你需要的是

  1. packagename/DEBIAN/control文件,示例:

    Package: linuxstatus
    Version: 1.1-1
    Section: base
    Priority: optional
    Architecture: all
    Depends: bash (>= 2.05a-11), textutils (>= 2.0-12), awk, procps (>= \
    1:2.0.7-8), sed (>= 3.02-8), grep (>= 2.4.2-3), coreutils (>= 5.0-5)
    Maintainer: Chr. Clemens Lee <clemens@kclee.de>
    Description: Linux system information
     This script provides a broad overview of different
     system aspects.
    
    Run Code Online (Sandbox Code Playgroud)
  2. packagename您的文件与文件夹中的安装结构相同

  3. 跑步cd ..; dpkg-deb --build packagename

参考: Debian 二进制包构建 HOWTO