View previous topic :: View next topic |
Author |
Message |
zhenlin Veteran
Joined: 09 Nov 2002 Posts: 1361
|
Posted: Sun Nov 16, 2003 4:06 am Post subject: |
|
|
gsfgf wrote: | panserg wrote: | Are there any plans to use Portage on win32, natively or in Cygwin? |
cgywin has a funky c library which makes it ungodly hard to build apps aginst it. any code ported to cgywin would need to be heavily modidfied. |
Yes - but if you can port it to FreeBSD, which may not have GNU extensions - you're probably halfway to porting it to cygwin. |
|
Back to top |
|
|
zhenlin Veteran
Joined: 09 Nov 2002 Posts: 1361
|
Posted: Sun Nov 16, 2003 4:17 am Post subject: |
|
|
panserg wrote: | Use logical expressions (patterns) to gane fine-grained control. I think tilda is too obscured. KEYWORDS and PLATFORMS as words are too general. I would rather suggest something like:
Code: |
STABLE_HARDWARE="x86"
UNSTABLE_HARDWARE="ppc sparc"
BROKEN_HARDWARE="mips"
STABLE_KERNEL="Linux"
UNSTABLE_KERNEL="BSD OSX March"
BROKEN_KERNEL="NT"
|
IMHO much more readable and very specific. But not perfect. Portage is based on Python, remember?
Here is the example based on dctionaries:
Code: |
STABLE_PLATFORMS = {'kernels':["linux"], 'hardware':["x86"]}
UNSTABLE_PLATFORMS = {'kernels':["BSD", "OSX", "March"], 'hardware':["x86"]}
BROKEN_PLATFORMS = {'kernels':["NT"], 'hardware':["mips"]}
|
|
Nah... First, your syntax is ugly. Secondly - each OS/hardware combo should be considered a platform of its own... I like the way you've stripped down redundancy though.
Code: |
# OE stands for operating environment.
# This means we can have combos like linux-dietlibc to describe other (incompatible) programming environments.
# 'default' is an alias for {oe: any, hardware: any}
# any is assumed if an oe or hardware specifier is missing.
# AND is assumed for criteria combinations.
# First match algorithm
#
STABILITY="{oe:[linux], hardware:[x86, ppc]}: stable,
{oe:[freebsd]}: untested,
{oe:[darwin], hardware:[ppc]}: untested,
{oe:[macosx], hardware:[ppc]}: untested,
default: broken"
|
|
|
Back to top |
|
|
5amYan n00b
Joined: 11 Nov 2003 Posts: 10 Location: DC
|
Posted: Sat Nov 22, 2003 11:11 pm Post subject: more |
|
|
was working as of this post.
Seperating the src for ports and world/kernel makes perfect sense.
being a flexible OS solution you can install without the ports system. Or remove it later without affecting the world/kern src.
Somebody above noted that much of portage software would need patches for FreeBSD. Couldn't much of that be lifted out of the current ports tree?
As noted above you can choose not to build most if not all of the peripheral software that is installed with the base_system. But don't forget FBSD is an operating system. the Linux Kernel is just that a kernel.
One last note, perl has been used as a part of the base system for a long time. That is why it is an outdated version. In 5.x it is no longer part of the base.
There is a splinter BSD project at:
http://www.dragonflybsd.org
They are in essence rebuilding the bsd kernel and modifying it for the future... I bet they might be at a good stage to start designing/building in portage suport to their distribution...
just an idea... _________________ 4.6692016090 |
|
Back to top |
|
|
longodj Tux's lil' helper
Joined: 29 Aug 2003 Posts: 79 Location: New Jersey
|
Posted: Sat Nov 29, 2003 3:53 pm Post subject: |
|
|
Hey i love this idea but I can't get it to work :'-( When i try to make && make install sandbox I get this....
Code: | gcc -Wall -c -D_GNU_SOURCE -DPIC -fPIC -D_REENTRANT libsandbox.c
libsandbox.c: In function `open':
libsandbox.c:542: warning: `mode_t' is promoted to `int' when passed through `..
.'
libsandbox.c:542: warning: (so you should pass `int' not `mode_t' to `va_arg')
libsandbox.c: In function `execve':
libsandbox.c:758: warning: implicit declaration of function `strndupa'
libsandbox.c:758: warning: assignment makes pointer from integer without a cast
libsandbox.c: In function `init_env_entries':
libsandbox.c:937: warning: assignment makes pointer from integer without a cast
libsandbox.c:946: warning: implicit declaration of function `strndup'
libsandbox.c:946: warning: assignment makes pointer from integer without a cast
In file included from getcwd.c:97,
from libsandbox.c:1343:
/usr/include/sys/dir.h:41:2: warning: #warning "The information in this file sho
uld be obtained from <dirent.h>"
/usr/include/sys/dir.h:42:2: warning: #warning "and is provided solely (and temp
orarily) for backward compatibility."
In file included from libsandbox.c:1343:
getcwd.c: At top level:
getcwd.c:143: conflicting types for `malloc'
/usr/include/stdlib.h:100: previous declaration of `malloc'
getcwd.c:143: conflicting types for `realloc'
/usr/include/stdlib.h:107: previous declaration of `realloc'
In file included from libsandbox.c:1343:
getcwd.c:224:1: warning: "__lstat" redefined
getcwd.c:207:1: warning: this is the location of the previous definition
getcwd.c: In function `__egetcwd':
getcwd.c:346: `__ptr_t' undeclared (first use in this function)
getcwd.c:346: (Each undeclared identifier is reported only once
getcwd.c:346: for each function it appears in.)
getcwd.c:346: syntax error before "dotlist"
getcwd.c:388: warning: implicit declaration of function `_D_ALLOC_NAMLEN'
getcwd.c:419: warning: implicit declaration of function `_D_EXACT_NAMLEN'
getcwd.c:443: void value not ignored as it ought to be
getcwd.c:461: syntax error before "dotlist"
getcwd.c:472: syntax error before "dotlist"
In file included from libsandbox.c:1344:
canonicalize.c: In function `erealpath':
canonicalize.c:153: warning: implicit declaration of function `__mempcpy'
canonicalize.c:153: warning: assignment makes pointer from integer without a cas
t
canonicalize.c:163: void value not ignored as it ought to be
*** Error code 1
Stop in /usr/home/sandman/portage/portage-2.0.49-r18/src/sandbox-1.1.
| any ideas? _________________ Linux dreammachine 2.6.16-rc3-nitro1 #1 PREEMPT Thu Feb 23 15:56:10 EST 2006 x86_64 AMD Athlon(tm) 64 Processor 3800+ GNU/Linux
1Gb RAM
Quadro FX 1300
2 x 36Gb Raptors
1 x 400Gb
Plextor Slot-Load 16X DVD+/-RW
(Linux Friendly FSF Donor) |
|
Back to top |
|
|
swiftness n00b
Joined: 22 May 2003 Posts: 64 Location: FL, USA
|
Posted: Sun Nov 30, 2003 9:09 am Post subject: |
|
|
It's failing because of the glibc functions and such. BSD uses libc. From what I understand Gentoo Developer Grant Goodyear is working on the BSD port of portage. I played around with porting portage for a while until I was bogged down with course work. In any event I was able to get sandbox somewhat functional, I didn't really spend to much time with it so I'm not 100% sure it's doing what it's supposed to be doing. You can download it here:
http://home.cfl.rr.com/rbevlin/sandboxbsd.zip
you'll need gmake. The version of sandbox this was modified from came with portage 2.0.48-r7. The sandbox version was 1.1 I think. Sorry for the zip format, but I'm on a *gasp* Windows machine.
It seems that many people think that you can just drop portage into BSD and emerge away. It's important to note that most of the ebuilds will not work on BSD. They were not written with BSD in mind and do not utilize BSD patches. |
|
Back to top |
|
|
longodj Tux's lil' helper
Joined: 29 Aug 2003 Posts: 79 Location: New Jersey
|
Posted: Mon Dec 01, 2003 11:38 pm Post subject: |
|
|
Code: | mini# emerge sync
Operating system "FreeBSD" currently unsupported. Exiting. |
whaaaaaaaaaaat? _________________ Linux dreammachine 2.6.16-rc3-nitro1 #1 PREEMPT Thu Feb 23 15:56:10 EST 2006 x86_64 AMD Athlon(tm) 64 Processor 3800+ GNU/Linux
1Gb RAM
Quadro FX 1300
2 x 36Gb Raptors
1 x 400Gb
Plextor Slot-Load 16X DVD+/-RW
(Linux Friendly FSF Donor) |
|
Back to top |
|
|
swiftness n00b
Joined: 22 May 2003 Posts: 64 Location: FL, USA
|
Posted: Tue Dec 02, 2003 6:17 am Post subject: |
|
|
open portage.py in a text editor. Look for the following starting at line 119 I think:
Code: | if ostype=="Linux":
userland="GNU"
if "lchown" in dir(os):
# Included in python-2.3
lchown=os.lchown
else:
import missingos
lchown=missingos.lchown
os.environ["XARGS"]="xargs -r"
elif ostype=="Darwin":
userland="BSD"
lchown=os.chown
os.environ["XARGS"]="xargs"
else:
writemsg(red("Operating system")+" \""+ostype+"\" "+red("currently unsupported. Exiting.")+"\n")
sys.exit(1) |
and make it look like this
Code: | if ostype=="Linux":
userland="GNU"
if "lchown" in dir(os):
# Included in python-2.3
lchown=os.lchown
else:
import missingos
lchown=missingos.lchown
os.environ["XARGS"]="xargs -r"
elif ostype=="Darwin":
userland="BSD"
lchown=os.chown
os.environ["XARGS"]="xargs"
elif ostype=="FreeBSD":
userland="BSD"
lchown=os.chown
os.environ["XARGS"]="xargs"
else:
writemsg(red("Operating system")+" \""+ostype+"\" "+red("currently unsupported. Exiting.")+"\n")
sys.exit(1) |
try that. You'll probably run into problems after that. Let me know what they are and I'll try to help you get around them. |
|
Back to top |
|
|
Jazz Guru
Joined: 16 Nov 2003 Posts: 543 Location: Melbourne, Australia
|
Posted: Tue Dec 02, 2003 1:21 pm Post subject: |
|
|
UMMM !! i wanted to ask this since the first time i saw this in my make.conf !!
What is this sandbox ??? and what are its advantages ?
I had not asked about ccache and saw that i really missed it !! now i dont wanna do the same with sandbox !
Please someone willing to share some info here ??
Bye,
Jassi |
|
Back to top |
|
|
swiftness n00b
Joined: 22 May 2003 Posts: 64 Location: FL, USA
|
Posted: Tue Dec 02, 2003 10:35 pm Post subject: |
|
|
It's a path sandbox. It contains wrappers for various system call such as opendir, mkdir, fopen, and so forth. First it checks the real path to the object in question. For example, if the the object in question is the symlink /bin/bash -> /usr/local/bin/bash, the real path would be /usr/local/bin/bash. It does this check then decides whether or not to allow the system call. There is alot of work going on when you emerge a package. The idea here, I think, is to prevent important system files and so forth from being overwritten or removed. |
|
Back to top |
|
|
Kodama Tux's lil' helper
Joined: 28 Jan 2003 Posts: 85 Location: Linköping, Sweden
|
Posted: Wed Dec 03, 2003 10:47 am Post subject: |
|
|
I have tried to access this website 3-4 times since this thread started, and it's always down....
http://jeter.dyndns.org/ |
|
Back to top |
|
|
swiftness n00b
Joined: 22 May 2003 Posts: 64 Location: FL, USA
|
Posted: Wed Dec 03, 2003 8:14 pm Post subject: |
|
|
The website hasn't been updated in quite some time. In fact, I don't think it's been updated since it was created. I'm pretty sure that GSGF is no longer working on porting portage to BSD. |
|
Back to top |
|
|
|