Hello,
In the company I work for we are using FreeBSD to run our servers. We also develop a large number of web (not only) applications. To facilitate the process of installing/deinstalling/upgrading of our software I want to write ports, and from them packages, for our libraries and applications. Most of our applications are written in Perl (and some on C++). So we use Module::Build to make the installer and write the port to make a package.
So I started with one simple application to compare two running databases (just to try to write some ports). After some reading I prepared the port and the package and everything looks great until I try to run
Here is the Makefile I've created for the port:
I want to distribute to the servers only the packages and not the ports. But I want to be able to update the servers with portmaster. I would really appreciate if someone pointed out what I did wrong. I Googled for some days but could not find anything on the topic.
Thanks in advance.
Kaloyan
In the company I work for we are using FreeBSD to run our servers. We also develop a large number of web (not only) applications. To facilitate the process of installing/deinstalling/upgrading of our software I want to write ports, and from them packages, for our libraries and applications. Most of our applications are written in Perl (and some on C++). So we use Module::Build to make the installer and write the port to make a package.
So I started with one simple application to compare two running databases (just to try to write some ports). After some reading I prepared the port and the package and everything looks great until I try to run
portmaster -da:
Code:
===>>> Returning to update check of installed ports
===>>> Launching child to reinstall p5-DBCMP-1.0.0
===>>> All >> p5-DBCMP-1.0.0 (12/12)
===>>> No /usr/ports/devel/DBCMP exists, and no information
===>>> about devel/DBCMP can be found in /usr/ports/MOVED
===>>> No valid installed port, or port directory given
===>>> Try portmaster --help
===>>> Update for p5-DBCMP-1.0.0 failed
===>>> Aborting update
===>>> Killing background jobs
Terminated
===>>> Exiting
Here is the Makefile I've created for the port:
Code:
# $FreeBSD$
PORTNAME= DBCMP
PORTVERSION= 1.0.0
CATEGORIES= devel perl5
#MASTER_SITES= CPAN
PKGNAMEPREFIX= p5-
DISTNAME= ${PORTNAME}-v${PORTVERSION}
MAINTAINER= kaloyan@digsys.bg
COMMENT= Comparing two active databases. Compares tables structure and data
BUILD_DEPENDS= p5-DBI>=1.52:${PORTSDIR}/databases/p5-DBI\
p5-DBD-Pg>=2.19.3:${PORTSDIR}/databases/p5-DBD-Pg \
RUN_DEPENDS:= ${BUILD_DEPENDS}
CONFIGURE_ARGS+= install_path=etc="${PREFIX}/etc/"
PERL_MODBUILD=YES
PERL_CONFIGURE= yes
MAN3= DBCMP.3 DBCMP::Private::BL.3 DBCMP::Private::DB.3
post-install:
@if [ ! -f ${PREFIX}/etc/DBCMP/DBCMPConfig.pm ]; then \
${CP} -p ${PREFIX}/etc/DBCMP/DBCMPConfig.pm.sample ${PREFIX}/etc/DBCMP/DBCMPConfig.pm ; \
fi
.include <bsd.port.mk>
I want to distribute to the servers only the packages and not the ports. But I want to be able to update the servers with portmaster. I would really appreciate if someone pointed out what I did wrong. I Googled for some days but could not find anything on the topic.
Thanks in advance.
Kaloyan