Opened 12 years ago

Closed 11 years ago

Last modified 11 years ago

#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)

Portfile (2.0 KB) - added by florian@… 12 years ago.
fakeroot Portfile
Portfile-1.18.4 (2.0 KB) - added by raimue (Rainer Müller) 12 years ago.
Updated for 1.18.4
Portfile-with-libtool (2.1 KB) - added by dank@… 11 years ago.
Updated with missing libtool build dep

Download all attachments as: .zip

Change History (15)

comment:1 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

If it must always build universal, then it should use something like:

variant universal {}
variant_set universal
default_variants +universal
universal_archs i386 ppc ppc64 x86_64

(the universal_archs line would need to vary by platform)

comment:2 Changed 12 years ago by mf2k (Frank Schima)

Keywords: haspatch removed
Version: 2.0.4

comment:3 in reply to:  1 Changed 12 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 12 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 12 years ago by florian@…

Updated Portfile once more with suggestions from anddam.

comment:6 Changed 12 years ago by raimue (Rainer Müller)

Cc: raimue@… added

Changed 12 years ago by florian@…

Attachment: Portfile added

fakeroot Portfile

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: newassigned
Summary: fakeroot candidate PortfileSubmission: fakeroot

I will try to commit this sometime this week.

comment:10 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 in reply to:  10 Changed 11 years ago by larryv (Lawrence Velázquez)

Resolution: fixed
Status: assignedclosed

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!

Note: See TracTickets for help on using tickets.