如何在软件包debuild中包含一个目录

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

考虑我有一个文件让我们说test.sh这将只是在屏幕上打印testing

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

安装debian软件包后应该输出什么内容? A)我想使用“dpkg -i test-1.0.deb”安装软件包后,将上面的文件命名为test.sh,放在/ home / bla / Desktop /

为了实现上述过程,请按照下面提到的步骤进行操作

 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 

包已经准备好在testing文件夹之外,并inputdpkg –build test-1.0 /

你的软件包已经准备就绪,你可以使用dpkg -i test-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是不是包括在包后,我不知道是什么原因,这是我从debian手册了解

可以任何人知道这样做,请让我尽快..我只是想知道我怎么可以在包中使用debuild / dpkg-buildpackage构builddebian包时包含文件,就像我在第一个过程中所做的那样简单

使用dh * 和dpkg-buildpackage的 AQ / D示例:

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

 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