如何以包括包debuild目录(how to include a directory in the

2019-07-29 20:45发布

一个简单的Debian软件包将在下面的步骤来创建,下面的步骤将是教程初学者

考虑我有一个文件可以说test.sh这将只打印测试屏幕上

#!/bin/sh
set -e
echo "this is sample debian package created " >&2

应该是什么安装Debian软件包之后输出? A)我希望把我命名为test.sh在/ home / BLA /桌面上的文件/使用安装包后“dpkg -i来测试1.0.deb”

为了实现以上的处理按照以下提到的步骤,因为它

mkdir test-1.0
cd test-1.0
#in order to place test.sh in /home/bla/Desktop, simply create the same directory structure in the test folder using this command

mkdir -p home/bla/Desktop/
cp test.sh home/bla/Desktop/
cd ..
cd ..
cd ..
mkdir DEBIAN
cd DEBIAN

与添加以下内容控制文件

Package: test
Version: 1.0
Section: devel 
Priority: optional
Architecture: all
Essential: no
Depends:  bash
Pre-Depends: no
Recommends: no
Maintainer: test <test@test.test>
Replaces: no
Provides: no
Description: A sample testpackage in order to demonstrate how to create debian packages

软件包已准备好来测试文件夹的外面进入的dpkg --build测试-1.0 /

你的包已准备就绪,你可以使用dpkg -i来测试1.0.deb安装

如果我想要做同样的过程与dh_make所和debuild,我无法加入其中,我想我的test.sh的目录结构被放置在安装后

我跟着步骤:

  1. mkdir test-1.0
  2. 复制与上述的目录结构

     cd test-1.0/ && mkdir -p home/bla/Desktop/ cp test.sh home/bla/Desktop/ 
  3. dh_make -n -s -e test@test.com

  4. cd debian
  5. rm *.ex *.EX
  6. cd ..
  7. debuild -us -uc

没有母校什么我test.sh根本没有被列入包后,我DONOT知道的是,是我从Debian安全手册理解的原因

任何一个可以知道做到这一点,请让我尽快..,我只是想知道使用debuild /或dpkg-buildpackage就像我在第一个过程,这是非常做过编译Debian软件包时,我如何能包括在包中的文件简单

Answer 1:

AQ / d例如利用DH * 以及dpkg-buildpackage:

1)Pepare工作目录和测试文件(我们将其包装应安装到“/任何/目录”),“foo” 脚本:

mkdir test-0.0.1
cd test-0.0.1
echo -e "#\!/bin/sh\necho \"hi, i'm foo\"" > foo
chmod +x foo

2)创建简单的Makefile将处理安装:

binary:
    # we are not going to build anything

install:
    mkdir -p $(DESTDIR)/any/dir
    cp foo $(DESTDIR)/any/dir

3)生成包骨架:

dh_make -i --createorig

图3a)任选地调节的Debian控制文件

4)建立软件包:

dpkg-buildpackage -A -uc

5)测定生成的包内容:

dpkg-deb -c ../test_0.0.1-1_all.deb | grep any

drwxr-xr-x root/root         0 2012-06-12 20:54 ./any/
drwxr-xr-x root/root         0 2012-06-12 20:54 ./any/dir/
-rwxr-xr-x root/root        30 2012-06-12 20:54 ./any/dir/foo

编辑:示例不使用的Makefile(如果你不打算建立任何东西):

1)创建测试数据:

mkdir test-0.0.1
cd test-0.0.1
mkdir contents
touch contents/a
touch contents/b

2)创建包骨架:

dh_make -i --createorig

3)创建的debian / test.install与文件,内容如下:

contents/   /usr/share/mycontents

4)建立包:

dpkg-buildpackage -A -uc

5)检查创建的软件包:

dpkg-deb -c ../test_0.0.1-1_all.deb | grep contents

drwxr-xr-x root/root         0 2012-06-13 11:44 ./usr/share/mycontents/
drwxr-xr-x root/root         0 2012-06-13 11:38 ./usr/share/mycontents/contents/
-rw-r--r-- root/root         0 2012-06-13 11:37 ./usr/share/mycontents/contents/a
-rw-r--r-- root/root         0 2012-06-13 11:38 ./usr/share/mycontents/contents/b


文章来源: how to include a directory in the package debuild