/g/ - Technology

install openbsd

[Make a Post]
[X]





USE Flags on OpenBSD Nanonymous No.2025 [D][U][F][S][L][A][C] >>2029 >>2451
File: 3db23db566ee818c4290735884dc3e3131171135a90e546694052bf8a10c9a86.jpg (dl) (261.39 KiB)

I want Gentoo's USE flags on OpenBSD. I tried fucking around with Gentoo Prefix to get it to work under OBSD, but no dice. Is this feature available somehow in pkgsrc? The only thing preventing me from using OpenBSD exclusively is its god fucking awful ports collection.
Reposted from QTDDTOT.

Nanonymous No.2027 [D]

>no dice
Why not just rewrite portage in a better language like C or LuaJIT? It could continue using the original ebuild files so that you don't have to do as much work, or you could make a tool to convert ebuild files into whatever package description language you want to use.
The python version of portage is extremely slow and clunky, and pulls in python (which is pajeet bloatware) as a dependency. If you managed to rewrite it, your project would probably get famous among the various /g/ and /tech/ boards.

Nanonymous No.2028 [D]

>2027
I've got shit to do. Maybe I'll do that some day, but in the meantime, I need a working ports collection.

Nanonymous No.2029 [D] >>2033 >>2042

>>2025
Look into flavors. From the ports(7) man page:

FLAVORS
The OpenBSD ports tree comes with a mechanism called FLAVORS. Thanks to
this mechanism, users can select specific options provided by a given
port.

If a port is "flavored", there should be a terse description of available
flavors in the pkg/DESCR file.

For example, the misc/screen port comes with a flavor called static.
This changes the building process so a statically compiled version of the
program will be built. To avoid confusion with other packages or
flavors, the package name will be extended with a dash-separated list of
the selected flavors.

In this instance, the corresponding package will be called
screen-4.0.2-static.

To see the flavors of a port, use the show target:

$ make show=FLAVORS

To build a port with a specific flavor, just pass FLAVOR in the
environment of the make(1) command:

$ env FLAVOR="static" make package

and of course, use the same settings for the subsequent invocations of
make:

$ env FLAVOR="static" make install
$ env FLAVOR="static" make clean

More than one flavor may be specified:

$ cd /usr/ports/mail/exim
$ env FLAVOR="mysql ldap" make package

Specifying a flavor that does not exist is an error. Additionally, some
ports impose some further restrictions on flavor combinations, when such
combinations do not make sense.

Lots of ports can be built without X11 requirement and accordingly have a
no_x11 flavor.

Flavor settings are not propagated to dependencies. If a specific
combination is needed, careful hand-building of the required set of
packages is still necessary.

Not sure what you mean by "god fucking awful ports collection", if you were talking about the available binary packages then they are pretty bad. However, if you download the ports tree I'm pretty sure you get up to date packages (not to mention you can apply flavors as described above).

Nanonymous No.2033 [D] >>2034

>>2029
Interesting. Is there any way to automate things, such as saving your desired flavor so that it's picked automatically when updating packages, for instance?

Nanonymous No.2034 [D]

>>2033
write your own scripts to do that then, it would be orders of magnitude easier than rewriting portage in C or something. Don't think there's a built-in way of saving flavors and shit.

Nanonymous No.2042 [D]

>>2029
Too bad their port tree is utter shit and flavors are almost unused.

Nanonymous No.2092 [D] >>2101

Well, another question: is there any way to make Pkgsrc work more like Portage?

Nanonymous No.2101 [D]

>>2092
write your own wrapper scripts

Nanonymous No.2451 [D]

>>2025
An easier alternative might be using freebsd kernel on gentoo. I know it's possible becasue used debian with freebsd kernel.