First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 53269
Alias:
Product:
Component:
Status: NEW
Resolution:
Assigned To: Portage team <dev-portage@gentoo.org>
Hardware:
OS:
Version:
Priority:
Severity:
Reporter: SpanKY <vapier@gentoo.org>
Add CC:
CC:
Remove selected CCs
URL:
Summary:
Status Whiteboard:
Keywords:

Filename Description Type Creator Created Size Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 53269 depends on: Show dependency tree
Bug 53269 blocks: 137867 138388 284718
Votes: 0    Show votes for this bug    Vote for this bug

Additional Comments: (this is where you put emerge --info)


Not eligible to see or edit group visibility for this bug.








View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2004-06-07 19:43 0000
i'd offer something up but i suck at python

------- Comment #1 From Nicholas Jones (RETIRED) 2004-06-21 03:35:13 0000 -------
Someone needs to write the DTDs or whatever...
Create the parser and dev-portage cna handle the rest.

------- Comment #2 From SpanKY 2004-08-02 18:27:10 0000 -------
*** Bug 58741 has been marked as a duplicate of this bug. ***

------- Comment #3 From SpanKY 2005-01-19 15:21:56 0000 -------
*** Bug 78741 has been marked as a duplicate of this bug. ***

------- Comment #4 From SpanKY 2005-03-20 21:28:48 0000 -------
*** Bug 42320 has been marked as a duplicate of this bug. ***

------- Comment #5 From SpanKY 2005-09-28 07:58:45 0000 -------
*** Bug 107514 has been marked as a duplicate of this bug. ***

------- Comment #6 From Marius Mauch (RETIRED) 2006-05-22 21:46:15 0000 -------
*** Bug 134081 has been marked as a duplicate of this bug. ***

------- Comment #7 From Jakub Moc (RETIRED) 2006-06-07 07:00:44 0000 -------
*** Bug 135915 has been marked as a duplicate of this bug. ***

------- Comment #8 From SpanKY 2006-06-09 07:26:45 0000 -------
*** Bug 113298 has been marked as a duplicate of this bug. ***

------- Comment #9 From SpanKY 2006-06-09 13:12:32 0000 -------
*** Bug 113298 has been marked as a duplicate of this bug. ***

------- Comment #10 From Jakub Moc (RETIRED) 2006-08-03 05:14:21 0000 -------
*** Bug 142637 has been marked as a duplicate of this bug. ***

------- Comment #11 From Jakub Moc (RETIRED) 2006-09-26 03:38:56 0000 -------
*** Bug 149157 has been marked as a duplicate of this bug. ***

------- Comment #12 From Jakub Moc (RETIRED) 2006-10-03 13:27:21 0000 -------
*** Bug 149996 has been marked as a duplicate of this bug. ***

------- Comment #13 From Alec Warner 2007-03-04 18:47:41 0000 -------
*** Bug 169345 has been marked as a duplicate of this bug. ***

------- Comment #14 From Jakub Moc (RETIRED) 2007-03-09 22:58:41 0000 -------
*** Bug 170197 has been marked as a duplicate of this bug. ***

------- Comment #15 From SpanKY 2007-03-24 07:57:50 0000 -------
*** Bug 171378 has been marked as a duplicate of this bug. ***

------- Comment #16 From Jakub Moc (RETIRED) 2007-07-11 18:35:56 0000 -------
*** Bug 184981 has been marked as a duplicate of this bug. ***

------- Comment #17 From Jakub Moc (RETIRED) 2007-09-05 15:10:35 0000 -------
*** Bug 180797 has been marked as a duplicate of this bug. ***

------- Comment #18 From Fabian Groffen 2007-12-25 22:43:01 0000 -------
[11:32pm] <mkelly32>
also, if anyone wants to take on my glep-27 stuff (really, just needs to be
plugged into portage)
[11:32pm] <mkelly32>
the source is around
[11:33pm] <grobian>
glep27 is?
[11:34pm] <mkelly32>
ENEWUSERS and ENEWGROUPS variables, keeping info for users and groups added by
enewuser/enewgroup in one place
[11:34pm] <mkelly32>
it was my summer of code project a year ago, never got it pushed into portage
[11:34pm] <grobian>
ohw yeah
[11:34pm] <grobian>
I recall that
[11:34pm] <mkelly32>
but i have pretty flowcharts and such showing how to do it
[11:36pm] <mkelly32>
basically, it would be really easy to do if portage had phase hooks, or
something similar, but a patch i wrote for that was rejected at the time
[11:37pm] <mkelly32>
for someone willing to add code for it directly into portage, the flowcharts
and such at
http://www.pioto.org/~pioto/creandus/API.html#public-api-usage-flowchart will
be useful
[11:38pm] <mkelly32>
and code is at svn://svn.pioto.org/creandus
[11:38pm] <mkelly32>
with some samples of stuff from the tree side in the overlay/ dir
[11:40pm] <jakub>
is that something for Bug 53269 ?
[11:40pm] <jeeves>
jakub: https://bugs.gentoo.org/53269 maj, P2, All,
vapier@gentoo.org->dev-portage@gentoo.org, NEW, pending, GLEP 27 needs to be
implemented (Portage Management of UIDs/GIDs)
[11:41pm] <mkelly32>
most likely
[11:41pm] <mkelly32>
i don't think i have an active bugzilla account anymore
[11:41pm] <mkelly32>
so would you mind adding what i said in a comment or something?

------- Comment #19 From Jakub Moc (RETIRED) 2008-01-26 19:20:08 0000 -------
*** Bug 207596 has been marked as a duplicate of this bug. ***

------- Comment #20 From SpanKY 2008-04-25 00:14:38 0000 -------
*** Bug 219225 has been marked as a duplicate of this bug. ***

------- Comment #21 From Marcelo Coelho 2008-04-25 21:30:52 0000 -------
What about a quick fix? Give the user a bash-friendly script to install the
necessary things that a certain package needs after the installation.

------- Comment #22 From SpanKY 2008-04-25 22:41:47 0000 -------
cp /etc/passwd $ROOT/etc/passwd

------- Comment #23 From Daniel Pielmeier 2008-06-16 18:58:47 0000 -------
Maybe there is another and probably easier way of managing groups and
users in gentoo instead of creandus. I don't know the approach of
creandus and this is just an idea which came into my mind.

What about modifying enewuser and enewgroup in eutils.eclass to manage a
few files which store information about groups and users.

/etc/portage/groups/{system,pm,local}
/etc/portage/users/{system,pm,local}

Where system is for the default set of groups/users coming with the
releases. pm for the ones needed by installed ebuilds and managed by
the package manager and local for software installed without the control
of the package manager controlled by the user.

Of course the names and locations are just an example. Maybe system
should go into the profiles and pm somewhere to /etc.

When software is installed by an ebuild, the pm file is updated with
the package which needs a group/user. If it is the first ebuild which
needs a particular group/user etc/{passwd, shadow, group} are updated
accordingly.

Every time an ebuild is unmerged which needs a group/user the pm file is
checked if there is still a need for the group/user. When there is no
entry for the group/user left, the group/user is removed from
/etc/{passwd, shadow, group}.

Of course the other files are taken into account for every operation.

The file could simply look like this:

Sample for users/pm:

Ebuild:         User:
cat1-pkg1-ver1  user1; user4
cat1-pkg1-ver2  user1
cat1-pkg2-ver1  user2
cat2-pkg1-ver1  user3

or

User:           Ebuild:
user1           cat1-pkg1-ver1, cat1-pkg1-ver2
user2           cat1-pkg2-ver1
user3           cat2-pkg1-ver1
user4           cat1-pkg1-ver1

cat/pkg-ver has to be stored in the file because of packages installed
more then one time because they are slotted.

To get the initial database every ebuild which invokes enewuser and
enewgroup needs a revision bump? There are also ebuilds which are using
this functions not directly but via eclass like the the ebuilds using
the games.eclass

Any comments on this? Am I missing something important why this is not
easy to implement? I am just trying to help and as can not help by
coding I try to help with ideas. Maybe it is a good approach maybe it is
crap, but I think it is at least worth to mention it.

Regards,

Daniel

------- Comment #24 From Francesc Zacarias 2009-01-06 17:01:29 0000 -------
Is there a reason for UID and GID to be hardcoded into ebuilds? Because if not,
that would make the implementation of GLEP 27 a lot easier: just get the first
system UID/GID available.
The Linux Standard Base has something to say about it:
http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/uidrange.html
So system accounts should be dynamically assigned. On the other hand, this only
applies to Linux. Don't know about BSD or other systems.

------- Comment #25 From Alec Warner 2009-01-06 17:43:59 0000 -------
(In reply to comment #24)
> Is there a reason for UID and GID to be hardcoded into ebuilds? Because if not,
> that would make the implementation of GLEP 27 a lot easier: just get the first
> system UID/GID available.
> The Linux Standard Base has something to say about it:
> http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/uidrange.html
> So system accounts should be dynamically assigned. On the other hand, this only
> applies to Linux. Don't know about BSD or other systems.
> 

Some of us have more than 1 system and would prefer that the
apache/mail/$OTHER_CRITICAL user be the same UID on every system we have.

-Alec

------- Comment #26 From Francesc Zacarias 2009-01-06 18:15:12 0000 -------
(In reply to comment #25)
> (In reply to comment #24)
> > Is there a reason for UID and GID to be hardcoded into ebuilds? Because if not,
> > that would make the implementation of GLEP 27 a lot easier: just get the first
> > system UID/GID available.
> > The Linux Standard Base has something to say about it:
> > http://refspecs.linux-foundation.org/LSB_3.2.0/LSB-Core-generic/LSB-Core-generic/uidrange.html
> > So system accounts should be dynamically assigned. On the other hand, this only
> > applies to Linux. Don't know about BSD or other systems.
> > 
> 
> Some of us have more than 1 system and would prefer that the
> apache/mail/$OTHER_CRITICAL user be the same UID on every system we have.
> 
> -Alec
> 

But that should be managed by servies like nis or ldap, not the package
manager.

------- Comment #27 From SpanKY 2009-01-06 20:52:19 0000 -------
please read the glep entirely.  your concern about static vs dynamic vs user
policy is already fully accounted for.

------- Comment #28 From Francesc Zacarias 2009-01-07 00:39:27 0000 -------
First, I'd like to say that I'm not trying to be a smartass and I'm no Gentoo
Developer. And I don't have any knowledge of which is the process to aprove a
GLEP. I don't even know if this is the right place to write! I've never done
this before.
I'm just another Gentoo user who happens to like this distro a lot and wants to
make it as better as possible. That's why I'm voicing my opinion, which is just
that: an opinion. So plese, don't get mad if I have some doubts on this GLEP.

(In reply to comment #27)
> please read the glep entirely.  your concern about static vs dynamic vs user
> policy is already fully accounted for.
> 

Yes I did, but still have some concerns about it. Forcing that behaviour upon
portage introduces a bunch of problems.
-First, this makes the implementation of portage more difficult without an
actual need. That was the point of my first message.
-Second, it ignores LSB and I think that's serious.
-As far as I cant tell, GLEP 27 is specifying the solution to a problem solved
and implemented long ago by the internal user management tools of each
distro/system (useradd in Linux, I bet BSD has something similar). Implementing
it again adds a burden to developers, (type the code, test and mantain it) and
users. For instance: I want to change the way UID/GID are assigned on my
system. On any linux distro, I just have to edit /etc/login.defs. In
Gentoo+GLEP27, I'd have to edit /etc/login.defs AND portage's config files.
This puts Gentoo on a worse situation than other OS because makes everything
more complicated.

To sum up: keeping track of the users/groups created by portage is a great
idea, but enforcing it's assignment isn't. That should be done by the
corresponding system tools, and enewuser/group already use them (they may need
to be fine tuned, though).

On the other hand, you could enforce the UID/GID assignment for ALL the ebuilds
if it's so important. Just create and maintain a list of all Gentoo services
and their corresponding xID, which means more work and would make some options
unadjustable for the user (in fact, some already are). But I still think that's
a better option than mixing both policies.

Again, this is just my point of view on the policy specified in GLEP 27, which
I hope is not set in stone.

------- Comment #29 From Alec Warner 2009-01-07 03:56:48 0000 -------
I want to avoid a long conversation on this bug.

If you have a problem with a glep, talk to mike or provide a diff.

If you and mike fundamentally disagree, write a competing GLEP and get it
approved and then implemented.

No one has implemented glep 27, so at its core what it says is not really
useful (since none of it applies in real life)

This bug is about implementing said GLEP, not about the glep itself.  There are
a number of places you can have that conversation (email with mike, the
gentoo-dev list, a separate bug marked as a blocker of this bug, and so forth.)

And yeah I'm being a bit pedantic, sorry for that :/

(and to be clear, I don't care one way or another how this gets done, or even
if it gets done)

-Alec

------- Comment #30 From SpanKY 2009-04-18 17:59:26 0000 -------
*** Bug 266246 has been marked as a duplicate of this bug. ***

------- Comment #31 From Mark Loeser 2009-06-28 02:27:56 0000 -------
*** Bug 253754 has been marked as a duplicate of this bug. ***

First Last Prev Next    No search results available      Search page      Enter new bug