Re: Writing a port make deinstall

2017-07-11 Thread Kubilay Kocak
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 
> 
> 
> 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



___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Writing a port make deinstall

2017-07-11 Thread Eugene Grosbein
12.07.2017 9:38, blubee blubeeme wrote:

> How do I properly write this Makefile so deinstall works as expected?

Just add these files to pkg-plist and they are removed automatically.


___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Writing a port make deinstall

2017-07-11 Thread blubee blubeeme
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 


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
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"