Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Nov 2018 14:50:29 +0100
From:      Jan Beich <jbeich@FreeBSD.org>
To:        Grzegorz Junka <list1@gjunka.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Few how-it-works questions
Message-ID:  <d0rb-soyi-wny@FreeBSD.org>
In-Reply-To: <73366a94-238a-ed9a-5dee-d5955525e851@gjunka.com> (Grzegorz Junka's message of "Sun, 11 Nov 2018 12:34:25 %2B0000")
References:  <73366a94-238a-ed9a-5dee-d5955525e851@gjunka.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Grzegorz Junka <list1@gjunka.com> writes:

> 1. Recommended way of upgrading ports is "poudriere ports -p local
> -u", right? But this always gets me the latest version, in which some
> ports may not compile, depending on my luck. I know I can use SVN to
> checkout a specific version of ports instead, but is it possible to
> find out in which SVN version which ports are compiling and which are
> not? In other words, can I open the history of builds of FreeBSD ports
> on the build servers and check which ports are building in a specific
> SVN version, then checkout that version to build on my server?

Navigate from https://pkg-status.freebsd.org/builds?type=3Dpackage&all=3D1
to get a list of SVN revisions built then check build log for each
until you get one from a successful build.

Inspecting /latest-per-pkg/<PKGBASE>/ on a package builder may help to
filter results more quickly based on PKGVERSION but it doesn't change
on every SVN revision.

> 2. Every time poudriere builds a new set of packages, it deletes those
> which have changed in ports or for which the options have changed,
> then it tries to build them again. But because the ports change, some
> may no longer build. In that case I am left with no packages to
> install on a system unless I am lucky enough to be able to cleanly
> build all ports again. What is the preferred strategy to maintain old
> packages until a new set is build correctly?

See KEEP_OLD_PACKAGES=3Dyes in poudriere.conf.sample.

>
> 3. When a package doesn't build because of a patch error:
>
> =3D=3D=3D>=C2=A0 Patching for ImageMagick6-6.9.10.14,1
> =3D=3D=3D>=C2=A0 Applying FreeBSD patches for ImageMagick6-6.9.10.14,1
> 1 out of 1 hunks failed--saving rejects to config/policy.xml.rej
> =3D> FreeBSD patch patch-config_policy.xml failed to apply cleanly.
> *** Error code 1
>
> Is this a problem with the ports tree, the upstream package, or some
> other package?

There's no generic answer. It can happen if the ports tree is inconsistent,
the upstream source have changed but downstream maintainer forgot to rebase
or a master port updated but its slave wasn't tested.

> In other words, can that problem be fixed without having an updated
> version of the port

Yes, by cherry-picking desired commit(s) fixing the issue.=20

> Are patches always kept in the ports tree or sometimes they may be
> kept separately (e.g. in another repo versioned independently)?

Depends on the port. Usually, patches are under files/ but backports or
extra features maybe defined via PATCH_SITES or EXTRA_PATCHES.
In rare cases patches maybe *within* distfile.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d0rb-soyi-wny>