Date: Wed, 12 Jul 2017 12:42:31 +1000 From: Kubilay Kocak <koobs@FreeBSD.org> To: blubee blubeeme <gurenchan@gmail.com>, freebsd-ports@freebsd.org Subject: Re: Writing a port make deinstall Message-ID: <08c7851c-e145-76b9-db3a-6aba495d2f1c@FreeBSD.org> In-Reply-To: <CALM2mEn4T4mgsY3n1-5h7JQB0wt5eeeZRNsfVv0rLLy5B_g0cg@mail.gmail.com> References: <CALM2mEn4T4mgsY3n1-5h7JQB0wt5eeeZRNsfVv0rLLy5B_g0cg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 7/12/17 12:38 PM, blubee blubeeme wrote: > Hello FreeBSD ports team > > I am writing a Makefile to install a port > > I've written this much so far > > PORTNAME= epson-inkjet-printer-201401w > PORTVERSION= 201401w > PORTREVISION= 1 > PORTEPOCH= 0 > CATEGORIES= print > MASTER_SITES= > https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/d95c03482376873661d7a8d4c165b385cd082cf3/:amd64 > \ > > https://download3.ebz.epson.net/dsc/f/03/00/03/45/41/0c527f1eef727e350302db951a45d31319ee501b/:i386 > > DISTFILES_amd64= > epson-inkjet-printer-201401w-1.0.0-1lsb3.2.x86_64.rpm:amd64 > DISTFILES_i386= epson-inkjet-printer-201401w-1.0.0-1lsb3.2.i486.rpm:i386 > > > LICENSE= GPLv2 > DIST_SUBDIR= ${PORTNAME}/${PORTVERSION} > > COMMENT= CUPS filter for Seiko Epson Color Ink Jet Printers > > RESTRICTED= GNU Lesser General Public License version 2.1. \ > This program links the following object codes \ > which are distributed under the conditions of \ > SEIKO EPSON CORPORATION SOFTWARE LICENSE AGREEMENT. \ > *libEpson_201401w.so.1.0.0 \ > *libEpson_201401w.MT.so.1.0.0 > > > NO_BUILD= yes > NO_WRKSUBDIR= yes > PLIST_SUB= LINUXBASE=${LINUXBASE} > USES= linux > USE_LINUX= cups-libs jpeg > > do-install: > (gunzip ${WRKSRC}/opt/${PORTNAME}/ppds/Epson/*) > (find ${WRKSRC}/opt/${PORTNAME}/ppds/Epson -type f -exec sed -i "" > 's/\/opt\/epson/\/compat\/linux\/opt\/epson/g' {} \;) > (cp -r ${WRKSRC}/opt/${PORTNAME} /compat/linux/opt/) > (ln -s /compat/linux/opt/${PORTNAME}/ppds/Epson > /usr/local/share/cups/model/) > > #cleanup? > # rm -r /usr/local/share/cups/model/Epson > # rm -r /compat/linux/opt/epson-inkjet-printer-201401w/ > # rm -r ${WRKSRC} > .include <bsd.port.mk> > > > I don't know how to make the cleanup work. > > This Makefile passes works for installing the drivers and they work but > doing > > make deinstall clean > > doesn't remove the files that I placed, the symlinks, etc. > > How do I properly write this Makefile so deinstall works as expected? > > Best, > Owen Hi Owen, deinstall automatically works if and when all files/directories are correctly referenced in the pkg-plist. Writing a deinstallation procedure manually is not necessary. Porters Handbook: https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#porting-desc See Also: PLIST_FILES and other pkg-plist related entries Testing the port with poudriere and other tools will help you determine what is not working, in particular which files were installed but not referenced in the pkg-plist, and vice-versa. https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/testing.html For more help, there's also the #freebsd-ports IRC channel on freenode Hope that helps :) ./koobs
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?08c7851c-e145-76b9-db3a-6aba495d2f1c>