Bug 70539 - Change the default linux_base and a little bit of cleanup
Summary: Change the default linux_base and a little bit of cleanup
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Trevor Johnson
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-16 16:30 UTC by Alexander Leidinger
Modified: 2005-01-01 15:25 UTC (History)
1 user (show)

See Also:


Attachments
linux_update.diff (65.62 KB, patch)
2004-08-16 16:30 UTC, Alexander Leidinger
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Leidinger freebsd_committer freebsd_triage 2004-08-16 16:30:13 UTC
This patch changes the default linux_base version to emulators/linux_base-8.
It also contains a patch which removes the implicit use of USE_LINUX in the
USE_LINUX_PREFIX case (change not yet documented in the patch, since I've
changed the comments from 4 column tabs to 8 column tabs; I will document it
in the 4 column tabs version if I get approval to commit the patch).

The linux_base-8 port ist marked RESTRICTED with "binaries under GNU GPL
without accompanying source". Either this can be removed, or the actual
linux_base has to marked as RESTRICTED too. I didn't changed this in my
patch (yet).

The patch contains the necessary changes to linux ports too (and a
little bit of cleanup regarding the linux bits). It's based upon
guesswork (the linux X11 lib dependencies, I haven't installed/tested
all ports).

It also fixes some ports which are marked BROKEN because of dependencies
to v7 and v8 of linux_base.

Additionally it contains a patch similar to the one in the follow-up to
PR 69997. There's no auto-detection, since this suggests every linux port
is supposed to work with every linux_base. We can't guarantee this.

Rationale for the removing the implicit USE_LINUX in the USE_LINUX_PREFIX
case:
I want to modernize the linux_base when I get time for it. Since I
want to modularize it at the same time (linux_base as a meta-port), I
need a way to be able to do what USE_LINUX_PREFIX does without the
implicit USE_LINUX. USE_LINUX should add a dependency to the linux_base
port of the day, so using it in the components which make up linux_base
would create a circular dependency. I could do what USE_LINUX_PREFIX
does by hand in every port, but I don't think we should go this route.

The rationale for splitting up linux_base: we don't need to portupgrade
the entire linux_base when we update one particular part (e.g. because
of a security fix), and it should be more easy to take care when
security issues show up.
Comment 1 Lars Thegler freebsd_committer freebsd_triage 2004-08-17 20:25:29 UTC
Responsible Changed
From-To: freebsd-ports-bugs->trevor

Over to maintainer
Comment 2 Jeremy Messenger 2004-08-24 06:45:08 UTC
I personal was hoping for someone who is willing to create something like  
'USE_LINUX=foobar' rather than just a 'yes'. We have more than two linux  
stuff. It should looks something like this (maybe in /etc/make.conf? Up to  
the user what they want the default, but the global default is redhat8 or  
redhat9):

USE_LINUX=[redhat7|redhat8|gentoo|debian|foobar|etc]

Perhaps, even add something like:

LINUX_DEPENDS=${LINUXBASE}/path/to/foobar.so:${PORTSDIR}/cat/port

The LINUX_ should understand the  
USE_LINUX=[redhat7|redhat8|gentoo|debian]. I am not sure what's best, but  
trying to show some ideas to make the maintainer's (include user) life  
more easier. Because, the linux stuff is kind of messy when some linux  
ports support both linux_base(-8) and maybe more than just both.

As for myself, I am still using linux_base so this PR is freaking me out  
and I will want the 'USE_LINUX=redhat7' in my /etc/make.conf. ;-)

Cheers,
Mezz


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org
Comment 3 Jeremy Messenger 2004-08-24 06:53:03 UTC
On Tue, 24 Aug 2004 00:45:08 -0500, Jeremy Messenger <mezz7@cox.net> wrote:

> I personal was hoping for someone who is willing to create something  
> like 'USE_LINUX=foobar' rather than just a 'yes'. We have more than two  
> linux stuff. It should looks something like this (maybe in  
> /etc/make.conf? Up to the user what they want the default, but the  
> global default is redhat8 or redhat9):
>
> USE_LINUX=[redhat7|redhat8|gentoo|debian|foobar|etc]
>
> Perhaps, even add something like:
>
> LINUX_DEPENDS=${LINUXBASE}/path/to/foobar.so:${PORTSDIR}/cat/port
>
> The LINUX_ should understand the  
> USE_LINUX=[redhat7|redhat8|gentoo|debian]. I am not sure what's best,  
> but trying to show some ideas to make the maintainer's (include user)  
> life more easier. Because, the linux stuff is kind of messy when some  
> linux ports support both linux_base(-8) and maybe more than just both.
>
> As for myself, I am still using linux_base so this PR is freaking me out  
> and I will want the 'USE_LINUX=redhat7' in my /etc/make.conf. ;-)

Umm, I mean 'WITH_LINUX=redhat7' in /etc/make.conf.....

Cheers,
Mezz

> Cheers,
> Mezz


-- 
mezz7@cox.net  -  mezz@FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/ - gnome@FreeBSD.org
Comment 4 Sean Farley 2004-08-25 03:57:36 UTC
On Tue, 24 Aug 2004 00:45:08 -0500, Jeremy Messenger <mezz7@cox.net> wrote:

> I personal was hoping for someone who is willing to create something
> like 'USE_LINUX=foobar' rather than just a 'yes'. We have more than
> two  linux stuff. It should looks something like this (maybe in
> /etc/make.conf? Up to the user what they want the default, but the
> global default is redhat8 or redhat9):
>
> USE_LINUX=[redhat7|redhat8|gentoo|debian|foobar|etc]
>
> Perhaps, even add something like:
>
> LINUX_DEPENDS=${LINUXBASE}/path/to/foobar.so:${PORTSDIR}/cat/port
>
> The LINUX_ should understand the
> USE_LINUX=[redhat7|redhat8|gentoo|debian]. I am not sure what's best,
> but trying to show some ideas to make the maintainer's (include user)
> life more easier. Because, the linux stuff is kind of messy when some
> linux ports support both linux_base(-8) and maybe more than just both.
>
> As for myself, I am still using linux_base so this PR is freaking me
> out and I will want the 'USE_LINUX=redhat7' in my /etc/make.conf. ;-)

Mezz,

Check out the last patch I submitted to ports/69997
(http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/69997) for a smaller
alternative although I am not certain which is better in the long run.

Sean
-----------------------
sean-freebsd@farley.org
Comment 5 Alexander Leidinger 2004-08-28 10:28:29 UTC
On Tue, 24 Aug 2004 21:57:36 -0500 (CDT)
Sean Farley <sean-freebsd@farley.org> wrote:

> On Tue, 24 Aug 2004 00:45:08 -0500, Jeremy Messenger <mezz7@cox.net> wrote:
> 
> > I personal was hoping for someone who is willing to create something
> > like 'USE_LINUX=foobar' rather than just a 'yes'. We have more than
> > two  linux stuff. It should looks something like this (maybe in
> > /etc/make.conf? Up to the user what they want the default, but the
> > global default is redhat8 or redhat9):
> >
> > USE_LINUX=[redhat7|redhat8|gentoo|debian|foobar|etc]
> >
> > Perhaps, even add something like:
> >
> > LINUX_DEPENDS=${LINUXBASE}/path/to/foobar.so:${PORTSDIR}/cat/port
> >
> > The LINUX_ should understand the
> > USE_LINUX=[redhat7|redhat8|gentoo|debian]. I am not sure what's best,
> > but trying to show some ideas to make the maintainer's (include user)
> > life more easier. Because, the linux stuff is kind of messy when some
> > linux ports support both linux_base(-8) and maybe more than just both.
> >
> > As for myself, I am still using linux_base so this PR is freaking me
> > out and I will want the 'USE_LINUX=redhat7' in my /etc/make.conf. ;-)
> 
> Mezz,
> 
> Check out the last patch I submitted to ports/69997
> (http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/69997) for a smaller
> alternative although I am not certain which is better in the long run.

Take a look at the patch, it already contains your suggestion (with the
default to linux_base-8). So it should satisfy both of you.

Since I only have connectivity to the net at the weekends for a while, I
can't keep the patch up-to-date every day. I don't try to push this
patch into the tree for a while because of this, so if someone wants to
do the dirty work of pushing it into the minds of the people in charge,
I can commit it at the weekends (or feel free to find someone to commit
it).

Bye,
Alexander.

-- 
              The best things in life are free, but the
                expensive ones are still worth a look.

http://www.Leidinger.net                       Alexander @ Leidinger.net
  GPG fingerprint = C518 BC70 E67F 143F BE91  3365 79E2 9C60 B006 3FE7
Comment 6 Jeremy Messenger 2004-08-28 17:58:07 UTC
Forgive me, I am currently stuck with the webmail (lacking wrap and etc) since my motherboard has died. I am using different desktop computer that is not mine.

> From: Alexander Leidinger <Alexander@Leidinger.net>
> Date: 2004/08/28 Sat AM 05:28:29 EDT
> To: Sean Farley <sean-freebsd@farley.org>
> CC: freebsd-gnats-submit@FreeBSD.org,  mezz@FreeBSD.org
> Subject: Re: ports/70539: Change the default linux_base and a little bit of
>  cleanup
> 
> On Tue, 24 Aug 2004 21:57:36 -0500 (CDT)
> Sean Farley <sean-freebsd@farley.org> wrote:
> 
> > On Tue, 24 Aug 2004 00:45:08 -0500, Jeremy Messenger <mezz7@cox.net> wrote:
> > 
> > > I personal was hoping for someone who is willing to create something
> > > like 'USE_LINUX=foobar' rather than just a 'yes'. We have more than
> > > two  linux stuff. It should looks something like this (maybe in
> > > /etc/make.conf? Up to the user what they want the default, but the
> > > global default is redhat8 or redhat9):
> > >
> > > USE_LINUX=[redhat7|redhat8|gentoo|debian|foobar|etc]
> > >
> > > Perhaps, even add something like:
> > >
> > > LINUX_DEPENDS=${LINUXBASE}/path/to/foobar.so:${PORTSDIR}/cat/port
> > >
> > > The LINUX_ should understand the
> > > USE_LINUX=[redhat7|redhat8|gentoo|debian]. I am not sure what's best,
> > > but trying to show some ideas to make the maintainer's (include user)
> > > life more easier. Because, the linux stuff is kind of messy when some
> > > linux ports support both linux_base(-8) and maybe more than just both.
> > >
> > > As for myself, I am still using linux_base so this PR is freaking me
> > > out and I will want the 'USE_LINUX=redhat7' in my /etc/make.conf. ;-)
> > 
> > Mezz,
> > 
> > Check out the last patch I submitted to ports/69997
> > (http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/69997) for a smaller
> > alternative although I am not certain which is better in the long run.
> 
> Take a look at the patch, it already contains your suggestion (with the
> default to linux_base-8). So it should satisfy both of you.

Thanks Sean for show me this PR. I am still thinking a easier and better way. Do you think, it is good idea to do this? For example:

=================================
www/linux-opera:
	Makefile (point to default redhat8 or redhat9)
	Makefile.debian
	Makefile.gentoo
	Makefile.redhat6
	Makefile.redhat7
	Makefile.redhat8
	[...]
	pkg-plist
	pkg-plist.debian
	pkg-plist.gentoo
	pkg-plist.redhat6
	pkg-plist.redhat7
	pkg-plist.redhat8
=================================

Then if the user has 'WITH_LINUX=gentoo' in make.conf and it will use all Makefile.gentoo, pkg-plist.gentoo and etc. Will we accept that kind of stuff? Trying to make the things lesser messy and complicate in Makefile and bsd.*.mk. Also, above method seems to be easier for us to maintain.

I shall add my comment in that ports/69997 sometime soon.

BTW: Thanks for your work, Alexander.

Cheers,
Mezz

> Since I only have connectivity to the net at the weekends for a while, I
> can't keep the patch up-to-date every day. I don't try to push this
> patch into the tree for a while because of this, so if someone wants to
> do the dirty work of pushing it into the minds of the people in charge,
> I can commit it at the weekends (or feel free to find someone to commit
> it).
> 
> Bye,
> Alexander.
Comment 7 Sean Farley 2004-08-28 20:55:43 UTC
On Sat, 28 Aug 2004, Alexander Leidinger wrote:

<snip>

> Take a look at the patch, it already contains your suggestion (with
> the default to linux_base-8). So it should satisfy both of you.

I understand.  I was just letting Mezz know about a smaller alternative
to start with as opposed to not going with anything.  My solution was
only a small step for FreeBSD-kind.  :)

Sean
-----------------------
sean-freebsd@farley.org
Comment 8 Trevor Johnson freebsd_committer freebsd_triage 2004-12-20 12:49:44 UTC
State Changed
From-To: open->analyzed

Thanks for finding the ports which use Linux X11 libraries.  I've 
requested a macro in bsd.port.mk so this dependency can be recorded 
compactly (see PR 75301). 

I've prepared a new Linux base port using packages from SUSE 9.1 
(see PR 75296), which is more suitable as a default than is 
linux_base-8.  Red Hat 8 has been discontinued.
Comment 9 Alexander Leidinger freebsd_committer freebsd_triage 2004-12-20 14:47:30 UTC
Zitat von Trevor Johnson <trevor@FreeBSD.org>:

> Thanks for finding the ports which use Linux X11 libraries.  I've
> requested a macro in bsd.port.mk so this dependency can be recorded
> compactly (see PR 75301).

This was one of the next steps on my TODO list. Together with fixing
the USE_X11_PREFIX mess in the linux ports (USE_X11_PREFIX implies
USE_XLIB, but the linux programs don't need the FreeBSD X11 libs).

> I've prepared a new Linux base port using packages from SUSE 9.1
> (see PR 75296), which is more suitable as a default than is
> linux_base-8.  Red Hat 8 has been discontinued.

The reason is to allow for a smooth transition. I know that v8 can be
used as a drop in replacement for v7. We already have alot of ports
which depend upon v8, so lifting the default from v7 to v8 would solve
those ports which are broken because of conflicts between v7 and v8.

After this I had indented to fix some "bugs" (like the handling of the
X11 prefix in the linux ports) and export the rpm infrastructure from
linux-gtk/Makefile to a file in Mk/.

I've choosed to do it this way, because I think this is more beneficial
for our userbase. The ports which depend on v8 are tested, switching the
rest to v8 should be stright forward, it unbreaks some ports and the
users benefit while the developer doesn't has to spend that much time
into the development as he has for an update to v9 (creating the port,
testing everything, ...). The total time for the developer may be
higher, but as an user I prefer the way I've outlined.

BTW.: the patch doesn't only adds a dependency to the linux XFree86 port,
it also fixes some bugs.

Would you please explain what your comment means? Do you want to throw
the patch into the thrashcan, or do you like it but just want a default
to v9 instead to v8? What about the question in my mail to you regarding
releasing the linux infrastructure ports to the public (e.g. to
freebsd-emulation@ or to a to be created linux mailinglist -- maybe
linuxolator@FreeBSD.org), which the commit of the patch would
incorporate?

Bye,
Alexander.

-- 
http://www.Leidinger.net/     Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org/        netchild @ FreeBSD.org  : PGP ID = 72077137
Comment 10 Trevor Johnson 2004-12-20 16:58:45 UTC
Alexander@Leidinger.net wrote:

> Zitat von Trevor Johnson <trevor@FreeBSD.org>:
>
> > Thanks for finding the ports which use Linux X11 libraries.  I've
> > requested a macro in bsd.port.mk so this dependency can be recorded
> > compactly (see PR 75301).
>
> This was one of the next steps on my TODO list.

Well, now it's done. :-)

> > I've prepared a new Linux base port using packages from SUSE 9.1
> > (see PR 75296), which is more suitable as a default than is
> > linux_base-8.  Red Hat 8 has been discontinued.
[...]
> Would you please explain what your comment means? Do you want to throw
> the patch into the thrashcan, or do you like it but just want a default
> to v9 instead to v8?

As I mentioned in PR 75296, Red Hat 9 has also been discontinued (at the
same time as 8.0).  Red Hat no longer issues security updates, nor
advisories, for it--see
<URL:http://www.seifried.org/security/redhat/20031230-redhat-support.html>.
That's why I made the SUSE 9.1 Linux base port.  I see your point about
wanting more QA for it, but better security is an important "feature" too.

The Linux base port in NetBSD pkgsrc is based upon SUSE; the distribution
is somewhat popular, and it contains 2263 source RPMs, so lack of software
that works with it should not be a major problem.  With linux_base-8 I
wasn't striving for something that would work with all Linux software.

I want to see what the response of portmgr is to my request for the
USE_LINUX_X11 macro.  If it's denied, they'll be recorded the way you
proposed in your patch, or similarly--is there any advantage to depending
on libXrender rather than libX11?  If my macro is approved then I will
record the dependencies with that, but still based upon your patch.

> What about the question in my mail to you regarding
> releasing the linux infrastructure ports to the public (e.g. to
> freebsd-emulation@ or to a to be created linux mailinglist -- maybe
> linuxolator@FreeBSD.org), which the commit of the patch would
> incorporate?

I missed that in your patch.  For now I prefer to be listed as maintainer
of the ports I maintain.  When error logs and such are addressed directly
to me they are easier for me to keep up with.  Most of those Linux
infrastructure ports are assigned to ports@ so you can just sweep them up
when your list is ready, or right now if you prefer.
-- 
Trevor Johnson
Comment 11 Alexander Leidinger 2004-12-21 14:24:39 UTC
Zitat von Trevor Johnson <trevor@jpj.net>:

> > > Thanks for finding the ports which use Linux X11 libraries.  I've
> > > requested a macro in bsd.port.mk so this dependency can be recorded
> > > compactly (see PR 75301).
> >
> > This was one of the next steps on my TODO list.
>
> Well, now it's done. :-)

Fine.

To portmgr: I haven't looked at the PR, but I support a feature like this.

> > > I've prepared a new Linux base port using packages from SUSE 9.1
> > > (see PR 75296), which is more suitable as a default than is
> > > linux_base-8.  Red Hat 8 has been discontinued.
> [...]
> > Would you please explain what your comment means? Do you want to throw
> > the patch into the thrashcan, or do you like it but just want a default
> > to v9 instead to v8?
>
> As I mentioned in PR 75296, Red Hat 9 has also been discontinued (at the
> same time as 8.0).  Red Hat no longer issues security updates, nor
> advisories, for it--see
> <URL:http://www.seifried.org/security/redhat/20031230-redhat-support.html>.
> That's why I made the SUSE 9.1 Linux base port.  I see your point about
> wanting more QA for it, but better security is an important "feature" too.

ATM no port is marked forbidden. And the linux infrastructure lacked
a lot of care in the last months. I don't know if this makes a difference
and which one of those features (QA/security) should have a higher
priority in this case.

> The Linux base port in NetBSD pkgsrc is based upon SUSE; the distribution
> is somewhat popular, and it contains 2263 source RPMs, so lack of software
> that works with it should not be a major problem.  With linux_base-8 I
> wasn't striving for something that would work with all Linux software.

I don't care about the distribution we use. ATM I've used v8 because this
is an existing port and alot of linux ports already depend upon it. My
patch unifies the linux_base handling (and unbreaks some ports because
of this). After the unification I intended to update to a more recent
linux base (I haven't made up my mind which one we should use).

> I want to see what the response of portmgr is to my request for the
> USE_LINUX_X11 macro.  If it's denied, they'll be recorded the way you
> proposed in your patch, or similarly--is there any advantage to depending
> on libXrender rather than libX11?  If my macro is approved then I will
> record the dependencies with that, but still based upon your patch.

libXrender isn't available in linux_base-6. I don't know if all our linux
ports may be able to run with linux_base-6, but it's too old and I want
to deprecate it. Having the linux X11 ports depend upon something which
isn't available in linux_base-6 is a "better safe than sorry" action
from me.

> > What about the question in my mail to you regarding
> > releasing the linux infrastructure ports to the public (e.g. to
> > freebsd-emulation@ or to a to be created linux mailinglist -- maybe
> > linuxolator@FreeBSD.org), which the commit of the patch would
> > incorporate?
>
> I missed that in your patch.  For now I prefer to be listed as maintainer

ATM I've assigned all of our ports I've touched with this patch to
ports@freebsd.org because I haven't made up my mind which ML to use.

> of the ports I maintain.  When error logs and such are addressed directly
> to me they are easier for me to keep up with.  Most of those Linux
> infrastructure ports are assigned to ports@ so you can just sweep them up
> when your list is ready, or right now if you prefer.

You've failed to be responsive. My PR was unanswered by you for roughly
4 months. There are other PRs which where unanswered by you (there where
commits with maintainer timeouts, e.g. linux-gtk2). Assigning the
important ports to a mailinglist would solve this problem. We don't have
a quarantee you are more responsive in the future. We also don't have a
quarantee I'm responive in the next months. But as long as some committers
care about our linux infrastructure there will be some committers subscribed
to a mailinglist (freebsd-emulation, linuxolator or whatever) and take care
about it. We have the X11, GNOME and KDE lists as a good example for this
behavior.

My proposal: outline what you want to do (like I did above and in my
other mails) and let portmgr decide which way we should go.

Bye,
Alexander.

-- 
http://www.Leidinger.net/     Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org/        netchild @ FreeBSD.org  : PGP ID = 72077137
Comment 12 Alexander Leidinger freebsd_committer freebsd_triage 2005-01-01 15:24:30 UTC
State Changed
From-To: analyzed->closed

The updated version of the patch is committed. Any further discussion should 
be held somewhere else.