Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Jan 2016 18:42:55 +0000
From:      =?ISO-8859-1?Q?Lu=EDs?= Fernando Schultz Xavier da Silveira <schultz@ime.usp.br>
To:        Brandon J. Wandersee <brandon.wandersee@gmail.com>
Cc:        Polytropon <freebsd@edvax.de>, freebsd-questions@freebsd.org, kpneal@pobox.com
Subject:   Re: Unexpected dependencies of graphics/libGL
Message-ID:  <20160120184255.77e936f2ef370977243ed474@ime.usp.br>
In-Reply-To: <86bn8gkw79.fsf@WorkBox.Home>
References:  <20160117031923.ce1f36547351bf07b6fff9a0@ime.usp.br> <20160117070715.1c33732b.freebsd@edvax.de> <20160117162018.964db3b1f2f2133242773e78@ime.usp.br> <20160117220247.69e6774f.freebsd@edvax.de> <20160118161235.GA92637@neutralgood.org> <20160119050806.cd08ca0687e76a4b09a701e3@ime.usp.br> <20160119062345.5402e98b.freebsd@edvax.de> <20160119063438.ca57c8a3bd8ba6781a58b040@ime.usp.br> <86bn8gkw79.fsf@WorkBox.Home>

next in thread | previous in thread | raw e-mail | index | archive | help
Indeed. As I have said, it is the proper tool to build package
repositories.

Maybe I should have rephrased myself as in
  "If the extra dependencies compromise the jail, the output packages
  can be compromised and, when installed, compromise the host system."

We can not live in a dreamland and expect that when a software
malfunctions, it will be kind enough to output an error message and
end with a non-zero exit code. It may also signal success but affect
the binaries and files contained in the resulting package. However,
as someone pointed out, I am repeating myself.

Just because we find a trick to not install crapware like autoconf,
it does not mean the integrity of the system is not affected by our
use of it.=20

On Wed, 20 Jan 2016 11:16:42 -0600
Brandon J. Wandersee <brandon.wandersee@gmail.com> wrote:

>=20
> Lu=EDs Fernando Schultz Xavier da Silveira writes:
>=20
> > If the extra dependencies break the jail, the output packages can be
> > malformed and, when installed, break the host system.
>=20
> Nope. Leaving aside the fact that no package should even (ideally)
> affect the base system (and so shouldn't break a jail), if a Poudriere
> jail does break, the build fails. Not the *port build*, but the
> *Poudriere bulk build process.* The whole thing will crash out with an
> error message. And while Poudirere doesn't require ZFS, it was crafted
> with ZFS in mind, and if it is installed and run in a zpool then any
> time a jail is updated or a bulk build process executed, a snapshot is
> created beforehand. Should things become completely borken, the jail
> and/or repository can simply be rolled back.
>=20
> Moreover, the package repository index is not updated until the bulk
> build for all packages is complete. If a particular package fails to
> build or pass a test then all packages upon which it depends are
> skipped, and all builds for packages which depend up the failed package
> are ignored. Only successfully built packages are made available for
> installation/upgrades.
>=20
> This can easily be resolved: Poudriere is the official build system for
> the FreeBSD ports team. All official packages you install via pkg(8) are
> built with it, and have been for a couple years now. Chances are you're
> not the first person to think about these things. If you don't trust
> Poudriere, you shouldn't trust packages. Since the ports system and
> package manager are now bound to one another (with all ports being built
> into packages and installed/tracked with pkg(8)), if you don't trust
> packages, you probably shouldn't place too much trust in the ports
> system, either.
>=20
> If a particular port/package can be successfully built and installed,
> yet is causing problems on its host system then it's entirely possible
> that the port itself is faulty, or (perhaps more likely) that the issue
> stems from a bug or malicious code within the compiled software
> itself. Poudriere can't account for such a circumstance, but then it
> doesn't have to. It's a build system designed to expedite the building
> of customized ports, while simulatneously preventing malicious code from
> being executed on the build system during that build process and
> avoiding a port/package upgrade from failing on a host system part-way
> through and breaking things in the process. If a port successfully
> builds in Poudriere, and its package is successfully added to the
> repository, and then successfully installed on the receiving system,
> then Poudriere has successfully done its job.
>=20
> --=20
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>    		      :: Brandon Wandersee ::
>                   :: brandon.wandersee@gmail.com ::
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 'A common mistake that people make when trying to design something
> completely foolproof is to underestimate the ingenuity of complete
> fools.'
>                             			- Douglas Adams
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>=20



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