Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add magic dependencies to jpeg->jpeg-turbo
Baptiste Daroussin committed 10 years ago
commit 7e448f3f8d6bbf46074b1a737177d120992b1644
parent 5e5d4bb
2 files changed +52 -2
modified libpkg/pkg_elf.c
@@ -238,6 +238,7 @@ analyse_elf(struct pkg *pkg, const char *fpath)

	int fd;

+
	pkg_debug(1, "analysing elf");
	if (lstat(fpath, &sb) != 0)
		pkg_emit_errno("fstat() failed for", fpath);
	/* ignore empty files and non regular files */
modified tests/frontend/jpeg.sh
@@ -6,7 +6,10 @@ tests_init \
	jpeg

jpeg_body() {
-
	touch libjpeg.so
+
	cc -shared -Wl,-soname=libjpeg.so.3 -o libjpeg.so.3
+
	ln -sf libjpeg.so.3 libjpeg.so
+
	cc -shared -Wl,-rpath=${TMPDIR} -L. -ljpeg -o deponjpeg.so
+
	cc -shared -Wl,-rpath=${TMPDIR} -L. -ljpeg -o magicdeponjpeg.so

	cat << EOF > jpeg.ucl
name: jpeg
@@ -20,6 +23,7 @@ prefix: /usr/local
desc: jpeg desc
files: {
	${TMPDIR}/libjpeg.so: "",
+
	${TMPDIR}/libjpeg.so.3: "",
}
EOF

@@ -33,8 +37,10 @@ comment: jpeg
www: http://jpeg
prefix: /usr/local
desc: jpeg desc
+
shlib_provided: [ "libjpeg.so.6" ]
files: {
	${TMPDIR}/libjpeg.so: "",
+
	${TMPDIR}/libjpeg.so.6: "",
}
EOF

@@ -51,6 +57,9 @@ desc: jpeg desc
deps: {
	jpeg: { origin: graphics/jpeg, version: "1.0" }
}
+
files: {
+
	${TMPDIR}/deponjpeg.so: "",
+
}
EOF

	cat << EOF > deponjpeg2.ucl
@@ -66,12 +75,52 @@ desc: jpeg desc
deps: {
	jpeg-turbo: { origin: graphics/jpeg-turbo, version: "1.0" }
}
+
files: {
+
	${TMPDIR}/deponjpeg.so: "",
+
}
+
EOF
+

+
	cat << EOF > magicdeponjpeg.ucl
+
name: magicdeponjpeg
+
origin: graphics/magicdeponjpeg
+
version: "1.0"
+
maintainer: test
+
categories: [test]
+
comment: jpeg
+
www: http://jpeg
+
prefix: /usr/local
+
desc: jpeg desc
+
files: {
+
	${TMPDIR}/magicdeponjpeg.so: "",
+
}
+
EOF
+

+

+
	cat << EOF > magicdeponjpeg2.ucl
+
name: magicdeponjpeg
+
origin: graphics/magicdeponjpeg
+
version: "1.0"
+
maintainer: test
+
categories: [test]
+
comment: jpeg
+
www: http://jpeg
+
prefix: /usr/local
+
desc: jpeg desc
+
files: {
+
	${TMPDIR}/magicdeponjpeg.so: "",
+
}
EOF

	atf_check -o ignore -e empty pkg register -M jpeg.ucl
	atf_check -o ignore -e empty pkg register -M deponjpeg.ucl
+
	atf_check -o ignore -e empty pkg register -M magicdeponjpeg.ucl
+

+
	cc -shared -Wl,-soname=libjpeg.so.6 -o libjpeg.so.6
+
	ln -sf libjpeg.so.6 libjpeg.so
+
	cc -shared -Wl,-rpath=${TMPDIR} -L. -ljpeg -o deponjpeg.so
+
	cc -shared -Wl,-rpath=${TMPDIR} -L. -ljpeg -o magicdeponjpeg.so

-
	for p in jpeg deponjpeg2 jpeg-turbo; do
+
	for p in jpeg deponjpeg2 magicdeponjpeg2 jpeg-turbo; do
		atf_check -o ignore \
			-e empty \
			pkg create -M ./${p}.ucl