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

linux – 如何在软件包debuild中包含一个目录,第1张

概述将在以下步骤中创建一个简单的Debian包,以下步骤将是初学者的教程 考虑我有一个文件让我们说test.sh只会在屏幕上打印测试 #!/bin/shset -eecho "this is sample debian package created " >&2 安装debian软件包后应该输出什么? A)我想在使用“dpkg -i test-1.0.deb”安装软件包后,在/ home / bl 将在以下步骤中创建一个简单的Debian包,以下步骤将是初学者的教程

考虑我有一个文件让我们说test.sh只会在屏幕上打印测试

#!/bin/shset -eecho "this is sample debian package created " >&2

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

为了实现上述过程,遵循下面提到的步骤

mkdir test-1.0cd 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 commandmkdir -p home/bla/Desktop/cp test.sh home/bla/Desktop/cd ..cd ..cd ..mkdir DEBIANcd DEBIAN

添加具有以下内容的控制文件

Package: testVersion: 1.0Section: devel Priority: optionalArchitecture: allEssential: noDepends:  bashPre-Depends: noRecommends: noMaintainer: test <test@test.test>Replaces: noProvIDes: noDescription: A sample testpackage in order to demonstrate how to create debian packages

包准备好来自test文件夹并输入dpkg –build test-1.0 /

您的包已准备就绪,您可以使用dpkg -i test-1.0.deb进行安装

如果我想用dh_make和debuild做同样的过程,我无法添加目录结构,我想在安装后放置test.sh

我遵循的步骤:

> mkdir test-1.0
>复制上面的目录结构

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

> dh_make -n -s -e test@test.com
> cd debian
> rm * .ex * .EX
> cd ..
> debuild -us -uc

没有什么我的test.sh完全没有包含在包中之后,我不知道是什么原因是我从debian手册中理解的

任何人都知道这样做,请尽快让我…,我只是想知道如何使用debuild / dpkg-buildpackage构建debian包时我可以在包中包含文件,就像我在第一个进程中所做的那样非常简单

解决方法 使用dh *和dpkg-buildpackage的Q / D示例:

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

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

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

binary:    # we are not going to build anythinginstall:    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 anydrwxr-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.1cd test-0.0.1mkdir contentstouch contents/atouch 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 contentsdrwxr-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
总结

以上是内存溢出为你收集整理的linux – 如何在软件包debuild中包含一个目录全部内容,希望文章能够帮你解决linux – 如何在软件包debuild中包含一个目录所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存