页次: 1
已经按照手册修改了部分代码,自己水平实在有限,看不懂手册,求助看看哪里不对。看错误提示是这个srcdir有问题,没找到这个srcdir到底是说明什么作用的。
pkgname=brother-dcp7180dn-cups-bin
pkgver=3.2.0
pkgrel=1
pkgdesc="CUPS wrapper for Brother dcp7180dn printer"
url="http://www.brother.com"
license=('GPL')
install="brother-dcp7180dn.install"
arch=('i686' 'x86_64')
depends_x86_64=('lib32-glibc')
md5sums=('39b4341b8f1ff0fe8cad908bccbd0509'
'af9440da1b53528ea722dff26d5355a9')
source=(
https://d.brother-movie.com/DCP7180DN/d … 1.i386.rpm
https://d.brother-movie.com/DCP7180DN/d … 1.i386.rpm
)
prepare() {
cd "$srcdir/usr/" || return 1
cd "$srcdir" || return 1
"$srcdir/usr/local/Brother/cupswrapper/cupswrapperDCP7180DN-3.2.0"
}
package() {
mkdir -p "$pkgdir/usr/share"
cp -R "$srcdir/usr/bin" "$pkgdir/usr"
cp -R "$srcdir/usr/lib" "$pkgdir/usr"
cp -R "$srcdir/usr/local/Brother" "$pkgdir/usr/share/brother"
rm "$pkgdir/usr/share/brother/cupswrapper/cupswrapperDCP7180DN-3.2.0"
rm "$pkgdir/usr/share/brother/inf/setupPrintcap"
install -m 644 -D ppd_file "$pkgdir/usr/share/cups/model/brother-DCP7180DN-cups-en.ppd"
install -m 755 -D wrapper "$pkgdir/usr/lib/cups/filter/brlpdwrapperDCP7180DN"
}
进入文件,makepkg -si 报错,我又新建了.install文件
post_install() {
__port2=`lpinfo -v | grep -i 'usb://Brother/dcp7180dn' | head -1`
if [ "$__port2" = '' ];then
__port2=`lpinfo -v | grep 'usb://' | head -1`
fi
__port=`echo $__port2| sed s/direct//g`
if [ "$__port" = '' ];then
__port="usb:/dev/usb/lp0"
fi
lpadmin -p HL2030 -E -v $__port -P /usr/share/cups/model/brother-DCP7180DN-cups-en.ppd
echo "If CUPS is not running now, start it after installation"
echo "and type command:"
echo " lpadmin -p DCP7180DN -E -v URL -P /usr/share/cups/model/brother-DCP7180DN-cups-en.ppd"
echo "where URL can be found using command:"
echo " lpinfo -v | grep -i 'Brother'"
echo "You can also register new printer using web interface at:"
echo " http://localhost:631/"
}
post_upgrade() {
/bin/true
}
pre_remove() {
lpadmin -x DCP7180DN
}
op=$1
shift
$op "$@"
现在提示:
makepkg -si
==> 正在创建软件包:brother-dcp7180dn-cups-bin 3.2.0-1 (2022年08月26日 星期五 17时51分12秒)
==> 正在检查运行时依赖关系...
==> 正在检查编译时依赖关系
==> 获取源代码...
-> 找到 dcp7180dncupswrapper-3.2.0-1.i386.rpm
-> 找到 dcp7180dnlpr-3.2.0-1.i386.rpm
==> 正在验证 source 文件,使用md5sums...
dcp7180dncupswrapper-3.2.0-1.i386.rpm ... 通过
dcp7180dnlpr-3.2.0-1.i386.rpm ... 通过
==> 正在释放源码...
-> 正在解压缩 dcp7180dncupswrapper-3.2.0-1.i386.rpm,使用 bsdtar
-> 正在解压缩 dcp7180dnlpr-3.2.0-1.i386.rpm,使用 bsdtar
==> 正在开始 prepare()...
/home/jyzx/Downloads/dcp7180cupsrpm/PKGBUILD: 第 24 行:cd: /home/jyzx/Downloads/dcp7180cupsrpm/src/usr/: 没有那个文件或目录
==> 错误: 在 prepare() 中发生一个错误。
正在放弃...
最近编辑记录 lwalwg (2022-08-26 17:56:34)
离线
应该不是直接srcdir/usr,而是srcdir/档案名/usr吧。我建议你检查一下src目录
霧雨 魔理沙です。
离线
按照你之前的回复,7045的包可以使用,建议去更改7045的PKGBUILD,或者使用类似产品线的其他aur:https://aur.archlinux.org/packages/brother-dcp7065dn,wiki里的作为模板的aur不一定适合你的产品,它原来的意图是解包驱动安装包并把里面的data.tar.gz打包为安装包。这是模板的包安装的文件清单:
这是brother-dcp7065dn AUR包的安装文件清单:
作为模板的PKGBUILD没有为CUPS安装pdd和filter文件,只是简单将驱动文件放置到/opt中。
错误发生在 cd "$srcdir/usr/" || return 1 这一行上,$srcdir是为了给打包准备的临时目录,该目录在你PKGBUILD文件所在位置的src文件夹。其他发行版的安装包文件会解包并放在该文件目录中,wiki模板的src是这样的:
而你的PKGBUILD是这样的:
也就是说hl2030的驱动包将文件安装到了/usr目录,而你的dcp7180却把文件安装到了/opt中,脚本当然提示找不到usr目录。
这个打包Brother驱动的wiki内容有些简略,确实容易被坑,不要完全按照指示操作。总结一下还是建议先试验deb驱动文件,改相同产品线的AUR,不论你说的7045还是我提到的7065dn,驱动文件目录结构应该会比较接近,不太容易出错。
最近编辑记录 Watermelon.Rei (2022-08-28 12:56:26)
离线
疫情影响,一直未登录,感谢各位回复。
7045确实可以打印,但是有个缺陷,第一张纸或者到windows第一张会出一张乱码在顶部的空白纸。
一直以为wiki是很强大的,还是自己学习不够深入。
感谢解疑答惑,有时间继续测试。
离线
页次: 1