Skip to content

Commit da3ebaf

Browse files
committed
Initial commit of fakeroot-ng-0.18
0 parents  commit da3ebaf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+26476
-0
lines changed

AUTHORS

+51
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
fakeroot-ng is copyright (c) 2007-2009,2013 by Shachar Shemesh
2+
3+
Project's home page is at http://fakeroot-ng.lingnu.com
4+
5+
Special thanks goes to Bernhard R. Link for insisting that things be better
6+
than "good enough".
7+
8+
Thanks should also go to Tyler Larson, for saying "I need this fixed, so I'll
9+
pay for your time". The true open source model at work.
10+
11+
This program is free software; you can redistribute it and/or modify
12+
it under the terms of the GNU General Public License as published by
13+
the Free Software Foundation; either version 2 of the License, or
14+
(at your option) any later version.
15+
16+
This program is distributed in the hope that it will be useful,
17+
but WITHOUT ANY WARRANTY; without even the implied warranty of
18+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+
GNU General Public License for more details.
20+
21+
You should have received a copy of the GNU General Public License
22+
along with this program; if not, write to the Free Software
23+
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24+
25+
Contact Shachar at [email protected]. Commercial support is available through
26+
Shachar's company, Lingnu Open Source Consulting Ltd. http://www.lingnu.com
27+
28+
If I have seen further it is by standing on the shoulders of Giants.
29+
Sir Izik Newton
30+
Himself quoting the great men of the renaissance
31+
32+
Fakeroot Next Generation was written by Shachar Shemesh, in his spare time
33+
(such that there is). Fakeroot NextGen is a clean reimplementation, and no code
34+
was taken from previous implementations. It is based on a completely different
35+
technology, and therefor does not suffer from the other implementations
36+
limitations (but probably has its own unique ones).
37+
38+
The idea behind fakeroot ng has been around long before it came around. The
39+
first implementation, as far as we could find, is called "fakeroot". It can be
40+
found at http://alioth.debian.org/projects/fakeroot/. It lists Joost Witteveen,
41+
Clint Adams and Timo Savola as the authors. Its functionality, as well as its
42+
limitations, have been the inspiration that brought fakeroot-ng to be.
43+
44+
The original fakeroot's limitations were also the trigger that brought another
45+
project about. Called "fakechroot", written by Piotr Roszatycki, home dir at
46+
http://fakechroot.alioth.debian.org/, it attempts to overcome one of fakeroot's
47+
main limitation - its inability to catch the open(2) system call, and therefor
48+
its inability to emulate the "chroot" environment. It does not, however, change
49+
the core technology used, and therefor has limitations over how complete the
50+
environment is. It is hoped that as fakeroot-ng progresses, we can eliminate
51+
all of the limitations.

COPYING

+340
Large diffs are not rendered by default.

ChangeLog

+116
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
Version 0.18
2+
* Fix a problem with fchmodat
3+
* Fix a race in case of new client attaching just as the daemon is
4+
shutting down.
5+
* Rennovate the entire startup sequence.
6+
* Resolve the threading problem
7+
* Solve crash when run without a persitent state file
8+
* Performance changes
9+
* Update the home page
10+
* Add packaging tips in the README and README.packaging files
11+
* Add -h help command line option
12+
13+
Version 0.17
14+
* Allow setting the process credentials to things other than root
15+
16+
Version 0.16
17+
* Sending an ALRM signal to the fakeroot-ng process dumps to the log all
18+
tracked processes, along with their state
19+
* Add -f option - flush log after every print
20+
* Greater support for platforms that have no automatic new process attach
21+
mechanisms. Will now detect children through the clone return code.
22+
* Improve the ptrace emulation layer - will now attach fake debugger to
23+
child correctly.
24+
* Fix to the PTRACE_DETACH emulation - would not restart the process from
25+
which we detached.
26+
27+
Version 0.15
28+
* mkdirat would not put the directory into the lie database
29+
* When running chmod and when creating files and directories - do not
30+
allow the user to actually remove the permission for user - emulates the
31+
root behavior of allowing access to a file regardless of its actual
32+
permission.
33+
* Fix bug - when importing existing file's permission into the lie database,
34+
we used to copy the file's real uid into the fake gid.
35+
36+
Version 0.14
37+
* Fix bug in unlinkat - context data used in incorrect order, resulting in
38+
"Not a directory" error when deleting a file.
39+
* Remove configure command line to get format string protection to dlog
40+
* Solve all dlog format string warnings
41+
* Fix bug in distclean - would not remomve generated template makfile from
42+
arch/linux directory
43+
* The -p option will now connect to an existing debugger, if one exists.
44+
* Allow use of FAKEROOT_TMPDIR as well as TMPDIR for setting the location
45+
of the temporary files
46+
* Allow changing the default shared mem directory from /tmp via a
47+
configure command option (--with-memdir)
48+
49+
Version 0.13
50+
* Remove libtool from the ptlib build system. Make the actual build
51+
faster. Suggested by Bernhard R. Link
52+
* Add checks to make sure that fakeroot-ng will warn of a temporary
53+
directory that is mounted with "noexec"
54+
* Running "fakeroot-ng" with no arguments will run the current shell as
55+
"root"
56+
57+
Version 0.12
58+
* Complete the chroot support for all *at functions
59+
60+
Version 0.11
61+
* Fix compilation error
62+
* Resolve uninitialized buffer reliance for fork and vfork
63+
64+
Version 0.10
65+
* Implement set_string for copying a string into process space
66+
* Prevent the debugged process from sending a signal to the debugger
67+
* Chroot support (all but the *at functions)
68+
69+
Version 0.09
70+
* Read and writes to process memory can now be performed in any length
71+
and/or alignment
72+
* As a result - recursive debugger now works for x86_64 (only for 64bit)
73+
74+
Version 0.08
75+
* Many many many code cleanups
76+
* New platform (partially) supported - Linux/x86_64:
77+
* Supported - basic running
78+
* Not supported (well) - recursive debuggers, 32 bit programs
79+
* Really fix the "openat" issue this time
80+
* Add a program "calc_defaults" that attempts to detect values for a new
81+
platform's platform_specific.h
82+
* Write a new platform porting HOWTO
83+
84+
Version 0.07
85+
* Fix compilation errors on platforms that don't or partially support
86+
"openat"
87+
88+
Version 0.06
89+
* Fix bug with mknod implementation - would save state too late
90+
* Fix incorrect use of hyphen as minus in the man page
91+
* Add support for fchownat, fchmodat, mknodat, openat, mkdirat, symlinkat
92+
93+
Version 0.05
94+
* Add recursive debugger support - mainly strace at the moment
95+
96+
Version 0.04
97+
* Add a PowerPC port
98+
99+
Version 0.03
100+
* Add storing persistent state between runs
101+
* Several bug fixes
102+
103+
Version 0.02
104+
* New functions supported: chown, getgid/getegid, mknod (creating device
105+
files)
106+
* Assume ownership to root when creating files, directories and symbolic
107+
links
108+
* Improve some "stat" handling semantics
109+
* Slight change to the command line parameters
110+
* Internal restructuring and code cleanup
111+
* Entire emulation of all basic operations (a few know bugs for fringe
112+
cases).
113+
114+
Version 0.01
115+
* Initial release. Supports Linux/i386 only. Only supports {,f,l}stat64,
116+
(f)chmod and get(e)uid.

0 commit comments

Comments
 (0)