Using pkg updating without /usr/ports
Miroslav Lachman
000.fbsd at quip.cz
Sun Dec 20 08:30:26 UTC 2015
olli hauer wrote on 12/19/2015 20:48:
> On 2015-12-19 17:54, Miroslav Lachman wrote:
>> David Wolfskill wrote on 12/19/2015 14:46:
>>> On Sat, Dec 19, 2015 at 02:26:47PM +0100, Miroslav Lachman wrote:
> ...
>> pkg update and pkg upgrade works fine for me too, but pkg updating not. pkg updating is intended to read /usr/ports/UPDATING file and compare its content to installed packages and show important messages before running `pkg upgrade`.
>> But UPDATING file is not automatically synchronised between build server and 'client' (machine where I need to run `pkg updating`).
>>
>
> Absolute crude hack, but maybe works for you.
> Please note the port is absolute not supported and breaks many porting rules ...
> Instead installing the file on the servers to /usr/ports it can be installed anywhere and then use `pkg updating -f $file'
> It should be also the first port that is updated before all other ports
>
>
> on you build host:
> $ mkdir /usr/ports/misc/updating
>
> cat > /usr/ports/misc/updating/Makefile << _EOF
> PORTNAME= updating
> PORTVERSION!= /bin/date -j "+%Y%m%d.%H%M"
> CATEGORIES= misc
> MASTER_SITES= # none
> DISTFILES= # none
>
> MAINTAINER= updating at example.org
> COMMENT= UPDATING info
>
> LICENSE= BSD2
>
> NO_BUILD= yes
> WRKSRC= ${WRKDIR}/UPDATING
> SRC= ${PORTSDIR}/UPDATING
>
> PLIST_FILES= ${PORTSDIR}/UPDATING
> PLIST_DIRS= ${PORTSDIR}
>
> do-extract:
> @${DO_NADA}
>
> do-install:
> @${MKDIR} ${STAGEDIR}/${PORTSDIR}
> ${INSTALL_DATA} ${PORTSDIR}/UPDATING ${STAGEDIR}/${PORTSDIR}
>
> .include <bsd.port.mk>
> _EOF
>
>
> cat > /usr/ports/misc/updating/pkg-descr << _EOF
> ports UPDATING file
> _EOF
Really nice hack! :) Maybe I will give it a try.
The only other workaround I found is copy UPDATING by scp or rsync from
build servers to "clients" periodically by cron job.
Miroslav Lachman
More information about the freebsd-ports
mailing list