tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: DESTDIR=full?



> On Thu, Apr 03, 2008 at 09:16:09PM +0300, Aleksey Cheusov wrote:
 >> Packages mentioned in BUILD_DEPENDS do not need to be installed as
 >> root and do not need s[ug]id permission or special ownerships. So,
 >> /usr/pkg made for bulk builds (not for actual work, of course) can
 >> be 'chown -R pkgsrc /usr/pkg' before building bootstrap tarball.  This
 >> (+ METALOG) gives a way to to run bulk builds in *FULLY* unprivileged
 >> mode.

> Sure and it makes it impossible for the bulk build to detect if
> something does want to modify /usr/pkg during the build.
Yes. Just like in UNPRIVILEGED=yes mode.
For my bulk build program this is not a problem at all
because PREFIX is removed and bootstrap is reinstalled
befiore building every package.
Anyway, everything has its own advantages and disadvantages.

> This is not about running bulk builds completely unprivileged --
> that never was a goal.
I see. And this level of USE_DESTDIR support is exactly what I'm
talking about.  It whould be great to see pkgsrc with such DESTDIR
support that allows to run bulk builds in FULLY unprivileged mode
including an installation stage. And no, I'm not about UNPRVILEGED=yes.

 >> > (a) METALOG is not portable as most install programs don't have the
 >> > backend.
 >> BSD install + chmod + chown is enough. It is easy to write a wrapper
 >> for them that should create METALOG instead of setting actual
 >> permission and ownerships just like build.sh does.

> Please look at how build.sh works and what assumption it makes about the
> tools before lecturing me.
Stay tuned! Nobody tries to lecture you! I know about all these
assumptions.  You just didn't read my post.

 >> > (b) You would have to change all programs to not use cp, pax and random
 >> > other tools for installing. Installation would also fail for anything
 >> > doing direct system calls (e.g. from python interpreters).
 >> This is not a problem at all, because many programs do not use
 >> DESTDIR variable too. So, all these packages should be patched
 >> either for supporting DESTDIR variable of for using BSD install.

> Many packages need one or two changes to use a different prefix during
> installation. Most work for normal unprivileged builds already.
Many packages are already patched for supporting USE_DESTDIR.  Many
packages don't need to be patched at all, either for $DESTDIR or for
using BSD install.  So, what?  Reread my post first.

> This is not done yet, but it is one of the biggest warts in pkgsrc
> (and one of the few things where FreeBSD ports is better).
I know that there are packages that need to be patched for:
DESTDIR support, UNPRIVILEGED support etc. 
This was NOT my question. Did you really read my post?

> You seem to have a major problem
> understanding what this functionality is addressing and what not.
> USE_DESTDIR=full works exactly as advertised. 
Yes, I think that FULL DESTDIR support is such level of support that
allows me to run bulk builds without root privileges at all.
"Stupid Linux developers" do so for many years.
Unprivileged build and "prefixed" packaging is big step
forward for pkgsrc but it
is not enough. I repeat fragment of the official documentation that
you skipped.

  5.3. Variables affecting the installation process
  ...

  * Full DESTDIR support can run the complete build, installation and
!                                                    ^^^^^^^^^^^^
    packaging as normal user. Root privileges are only needed to add
    packages.

So, I asked my question because not everything was clear enough for
me. Now I see, the level of DESTDIR support that I need and whould
like to call REALLY FULL "was not the goal".  No problem, but fix the
documentation.

> It is not a replacement for unprivileged builds. Unprivileged builds
> have limitations as well, but you don't seem to be aware of those.
Really? Ah, I forgot: inadequate kids like you always know everything
about everything. "Stupid Linux developers", "I strongly disagree",
"Period!" are always your best arguments.  Beleive me, I know the
difference between UNPRIVILEGGED=yes and USE_DESTDIR=really_full
I asked about.

-- 
Best regards, Aleksey Cheusov.


Home | Main Index | Thread Index | Old Index