FS#18666 - [makepkg] add PKGBUILD option to disable fakeroot

Attached to Project: Pacman
Opened by Tomas Mudrunka (harvie) - Saturday, 13 March 2010, 14:45 GMT
Last edited by Dan McGee (toofishes) - Sunday, 14 March 2010, 20:43 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version 3.3.3
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 1
Private No

Details

Summary and Info: I have package (riak nosql database engine) that can't be maked within fakeroot (don't know why).
please add something like options=(!fakeroot)

i will make package without fakeroot and then i will move it to pkgdir and change owner using fakeroot myself...

i've tried to escape fakeroot like this:

build() {
unset LD_LIBRARY_PATH
unset LD_PRELOAD
unset FAKEROOTKEY
unset FAKED_MODE
make ...
...
}

with no success :-(

Steps to Reproduce:
1.) try to make riak. - works great
2.) try to make riak using PKGBUILD + makepkg. - does not work


thanks
This task depends upon

Closed by  Dan McGee (toofishes)
Sunday, 14 March 2010, 20:43 GMT
Reason for closing:  Not a bug
Comment by Dan McGee (toofishes) - Saturday, 13 March 2010, 15:16 GMT
1. Get upstream to fix the build, just about every method of packaging on every distro uses fakeroot.
2. If you "disable fakeroot", you'll end up with a package with permissions of your user. This is a terrible idea.

The "workaround" here is to build as root, but that is a rather bad idea. Honestly this sounds like a riak problem and not a makepkg problem, unless you think the ~4500 other packages in our repositories are doing it wrong. You've also failed to include a PKGBUILD or a link to one here so you're not going to get a whole lot of help.
Comment by Tomas Mudrunka (harvie) - Saturday, 13 March 2010, 19:39 GMT
please read my bug again.

1.) it's just option, so does not matter how stupid it is, it's just matter of freedom.
2.) i said that i can build package without fakeroot and then change owner and permissions to root using fakeroot myself.
Comment by Allan McRae (Allan) - Sunday, 14 March 2010, 11:12 GMT
I guess this error is during the build phase? Use separate build() and package() functions and fakeroot will not be used during build.
Comment by Tomas Mudrunka (harvie) - Sunday, 14 March 2010, 17:30 GMT
thanks for the tip ;-)
are you sure it works? many packages are using separate build() and package() functions, they all are not using fakeroot? how can you package (fake)root-owned files without fakeroot and without loosing ilusion of root owner?
Comment by Allan McRae (Allan) - Sunday, 14 March 2010, 20:20 GMT
Fakeroot is used, but only during the package() function. This gets around most fakeroot issues as it causes errors only during the compile in the vast majority of cases.
Comment by Tomas Mudrunka (harvie) - Sunday, 14 March 2010, 20:42 GMT
ok, thanks for info... i think this is not issue... cya ;-)

Loading...