HTML文件deb包,从脚本或二进制文件创建一个.deb包

问题描述

我搜索了一个简单的方法来为没有源代码编译的东西(config,shellscripts,专有软件)创建.deb软件包。这是一个相当大的问题,因为大部分的包教程都假设你有一个你想编译的源代码包。然后我找到this简短教程(德语)。

之后,我创建了一个小脚本来创建一个简单的存储库。喜欢这个:

rm /export/my-repository/repository/*

cd /home/tdeutsch/deb-pkg

for i in $(ls | grep my); do dpkg -b ./$i /export/my-repository/repository/$i.deb; done

cd /export/avanon-repository/repository

gpg --armor --export "My Package Signing Key" > PublicKey

apt-ftparchive packages ./ | gzip > Packages.gz

apt-ftparchive packages ./ > Packages

apt-ftparchive release ./ > /tmp/Release.tmp; mv /tmp/Release.tmp Release

gpg --output Release.gpg -ba Release

我将密钥添加到apt keyring中,并包含如下源代码:

deb http://my.default.com/my-repository/ ./

它看起来像回购本身运作良好(我遇到了一些问题,以解决它们,我需要两次添加软件包,并使发布文件的temp-file解决方法)。我还将一些下载的.deb文件放入回购站中,看起来他们也没有问题。但我自己创建的软件包没有… Wenn我做sudo apt-get update,他们导致这样的错误:

E: Problem parsing dependency Depends

E: Error occurred while processing my-printerconf (NewVersion2)

E: Problem with MergeList /var/lib/apt/lists/my.default.com_my-repository_._Packages

E: The package lists or status file could not be parsed or opened.

有没有人知道我做错了什么?

UPDATE 2012-03-06:仅仅是寻找简单方法创建DEB的另一个人的提示:看看FPM。

最佳解决方法

您已链接的教程使用低级方法来构建包。通常不推荐这种方法,如果不仔细做,可能会导致各种问题。

一旦您了解打包基础知识,为脚本创建.deb文件非常简单。简而言之:

# Configure your paths and filenames

SOURCEBINPATH=~

SOURCEBIN=myscript.sh

DEBFOLDER=~/somescripts

DEBVERSION=0.1

DEBFOLDERNAME=$DEBFOLDER-$DEBVERSION

# Create your scripts source dir

mkdir $DEBFOLDERNAME

# Copy your script to the source dir

cp $SOURCEBINPATH/$SOURCEBIN $DEBFOLDERNAME

cd $DEBFOLDERNAME

# Create the packaging skeleton (debian/*)

dh_make -s --indep --createorig

# Remove make calls

grep -v makefile debian/rules > debian/rules.new

mv debian/rules.new debian/rules

# debian/install must contain the list of scripts to install

# as well as the target directory

echo $SOURCEBIN usr/bin > debian/install

# Remove the example files

rm debian/*.ex

# Build the package.

# You will get a lot of warnings and ../somescripts_0.1-1_i386.deb

debuild

添加更多脚本需要将它们复制到该目录并添加到debian /install文件 – 然后只需re-run debuild。您还应该根据需要检查并更新debian /*文件。

您应该阅读手册页:dh_make,dh_install和debuild

参考资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值