Bug 85625 - [patch] emulators/linux_base-8, plist fix
Summary: [patch] emulators/linux_base-8, plist fix
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: freebsd-emulation (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-02 10:40 UTC by Boris B.Samorodov
Modified: 2005-11-05 17:41 UTC (History)
0 users

See Also:


Attachments
patch-linux_base-8 (1.09 KB, text/plain)
2005-09-02 22:03 UTC, Boris B.Samorodov
no flags Details
pkg-plist.tar.bz2.uu (44.74 KB, text/plain)
2005-09-02 22:03 UTC, Boris B.Samorodov
no flags Details
patch-pkg-install (377 bytes, text/plain)
2005-09-03 11:09 UTC, Boris B.Samorodov
no flags Details
pkg-deinstall (296 bytes, text/plain)
2005-09-03 11:09 UTC, Boris B.Samorodov
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Boris B.Samorodov 2005-09-02 10:40:18 UTC
	Deinstalling packages at pointyhat for print/acroread7 fails
	http://pointyhat.freebsd.org/errorlogs/i386-errorlogs/a.7.2005072221/acroread7-7.0.1.log
	due to directories interference between emulators/linux_base-8,
	x11-toolkits/linux-gtk2, devel/linux-glib2. While the last two
	use an @unexec rmdir metod to cleanup directories, the first one
	doesn't. That's why pkg_deleting it doesn't work. And that is
	acroread7 problem at pointyhat.

	The patch below adds @unexec method and redirection of stderr
	to /dev/null to deal with directories.

Fix: 

WBR
-- 
bsam--EyXCdXCEv3l6C8npqadTzmlym2uIQDSt5Rn2Tf4wDfDoH0V1
Content-Type: text/plain; name="patch-linux_base-8"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="patch-linux_base-8"

--- Makefile.orig	Thu Sep  1 13:16:44 2005
+++ Makefile	Fri Sep  2 12:23:06 2005
@@ -8,7 +8,7 @@
 
 PORTNAME=		linux_base-8
 PORTVERSION=		8.0
-PORTREVISION=		6
+PORTREVISION=		7
 CATEGORIES=		emulators linux
 MASTER_SITES=		${MASTER_SITE_REDHAT_LINUX} \
 			${MASTER_SITE_REDHAT_LINUX:S/$/:new/} \
@@ -145,7 +145,10 @@
 	${RM} -f ${PLIST}
 	cd ${WRKSRC} && ${FIND} -s . -type f -o -type l | \
 		${CUT} -c3-999 >> ${PLIST} \
-		&& ${FIND} -d * -type d | ${SED} -e 's:^:@dirrm :' >> ${PLIST}
+		&& ${FIND} -d * -type d | \
+			${SED} -e 's:^:@unexec rmdir :' \
+				-e 's:$$: 2> /dev/null || true:' >> ${PLIST}
+				
 
 do-install:
 	cd ${WRKSRC} && ${FIND} * | ${CPIO} -dmp ${PREFIX}
How-To-Repeat: 	Install linux_base-8 alog with the mentioned ports and try to
	pkg_delete -f linux_base-8.
Comment 1 Alexander Leidinger freebsd_committer freebsd_triage 2005-09-02 11:56:30 UTC
Responsible Changed
From-To: freebsd-ports-bugs->emulation

Over to maintainer.
Comment 2 Boris B.Samorodov 2005-09-02 22:03:13 UTC
1. New patch for Makefile:
  - dynamic plist deleted;
  - a group of spaces replaced by a tab (as portlint reccommended).

2. A new plist file to replace a dynamic one:
  - "@unexec rmdir ... 2> /dev/null || true" instead of "@dirrm";
  - empty but needed directories are created "@exec mkdir ...".

WBR
-- 
Boris B. Samorodov, Research Engineer
InPharmtech Co,     http://www.ipt.ru
Telephone & Internet Service Provider
Comment 3 Boris B.Samorodov 2005-09-03 11:09:13 UTC
We do have lines for deinstallation at the port's pkg-install
file. But at http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/pkg-deinstall.html
it is said that we should use a pkg-deinstall script.

Here are two more patches. The first one is a real patch for pkg-install
and the second is a new file pkg-deinstall.

Hm. It become too many stand alone files and patches. Should I prepare
one patch-file to replace those?


WBR
-- 
Boris B. Samorodov, Research Engineer
InPharmtech Co,     http://www.ipt.ru
Telephone & Internet Service Provider
Comment 4 Alexander Leidinger freebsd_committer freebsd_triage 2005-11-05 17:39:49 UTC
State Changed
From-To: open->closed

Sorry, I forgot to take care of this PR after discussing it with you. 

Close this PR after taking some remaining parts from the PR (deinstall).