#33689 closed submission (fixed)
Submission: fakeroot
Reported by: | florian@… | Owned by: | larryv (Lawrence Velázquez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | raimue (Rainer Müller) | |
Port: | fakeroot |
Description
I attached a portfile for port candidate sysutils/fakeroot. Note, that it's necessary to have a fat binary library for fakeroot to work properly for all executables. I'm not sure what is the best way to enforce this in the Portfile. Hence, I set universal_variant to "no" and configured individual configure.cflags-append for each "platform darwin <version>". Any comments?
For those who do not know what fakeroot is: fakeroot provides a fake "root environment" by means of LD_PRELOAD and SysV IPC (or TCP) trickery. It puts wrappers around getuid(), chown(), stat(), and other file-manipulation functions, so that unprivileged users can (for instance) populate tgz archives with root-owned files. On OS X, only binaries that do NOT rely on Mach-based [e]uid/[e]gid/mode APIs will correctly use fakeroot altered ownership/permissions.
Attachments (3)
Change History (15)
comment:1 follow-up: 3 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 13 years ago by mf2k (Frank Schima)
Keywords: | haspatch removed |
---|---|
Version: | 2.0.4 |
comment:3 Changed 13 years ago by florian@…
Great, thanks for the hint. I updated the Portfile accordingly. I'm not sure what
variant_set universal
is supposed to do. But it builds fine without it.
comment:4 Changed 13 years ago by florian@…
Updated Portfile: replaced
master_sites http://ftp.debian.org/debian/pool/main/f/fakeroot
with
master_sites debian:f/${name}
comment:5 Changed 13 years ago by florian@…
Updated Portfile once more with suggestions from anddam.
comment:6 Changed 13 years ago by raimue (Rainer Müller)
Cc: | raimue@… added |
---|
comment:7 Changed 12 years ago by florian@…
Updated fakeroot version (now 1.18.3) in Portfile. Still waiting for commit.
Changed 12 years ago by raimue (Rainer Müller)
Attachment: | Portfile-1.18.4 added |
---|
Updated for 1.18.4
Changed 11 years ago by dank@…
Attachment: | Portfile-with-libtool added |
---|
Updated with missing libtool build dep
comment:8 Changed 11 years ago by dank@…
Worked fine once I added a build dependency on libtool, without which it carped
:info:configure autoreconf: running: automake --add-missing --copy --force-missing :info:configure Makefile.am:10: error: Libtool library used but 'LIBTOOL' is undefined :info:configure Makefile.am:10: The usual way to define 'LIBTOOL' is to add 'LT_INIT' :info:configure Makefile.am:10: to 'configure.ac' and run 'aclocal' and 'autoconf' again. :info:configure Makefile.am:10: If 'LT_INIT' is in 'configure.ac', make sure :info:configure Makefile.am:10: its definition is in aclocal's search path. :info:configure autoreconf: automake failed with exit status: 1 :info:configure Command failed: ./bootstrap :info:configure Exit code: 1 :error:configure org.macports.configure for port fakeroot returned: command execution failed
I've attached a portfile identical to Portfile-1.18.4 but with a dependency added on libtool.
Pretty please commit... it's hard to package software without this.
comment:9 Changed 11 years ago by larryv (Lawrence Velázquez)
Owner: | changed from macports-tickets@… to larryv@… |
---|---|
Status: | new → assigned |
Summary: | fakeroot candidate Portfile → Submission: fakeroot |
I will try to commit this sometime this week.
comment:10 follow-up: 11 Changed 11 years ago by florian@…
Finally, thanks for the feedback after 1.5 years! Please note, that the current version is now 1.19.
comment:11 Changed 11 years ago by larryv (Lawrence Velázquez)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Ergh. That’s a while. Sorry for the delay.
I committed a new port in r111061:111065 with you as maintainer, but I basically rewrote it from scratch. The salient difference is that I used Kyle McKay’s fork, since he seems to be responsible for the OS X support. Plus the homepage is much nicer. The commit to use for any particular upstream release is the merge commit that brings that release into the fork.
comment:12 Changed 11 years ago by florian@…
Thanks, for committing this much improved Portfile. I was not aware of the fakeroot fork with MacOSX enhancements. Pulling the merged upstream releases from the fork is also a clean solution - good idea!
If it must always build universal, then it should use something like:
(the
universal_archs
line would need to vary by platform)