1 |
William L. Thomson Jr. posted on Mon, 10 Apr 2017 17:58:57 -0400 as |
2 |
excerpted: |
3 |
|
4 |
> When did changing targets to only have 1 version of Ruby, or 2 pythons |
5 |
> becoming hacking. I do like how it was phrased. It shows right there the |
6 |
> issue. If ANYONE has to hack around it, it sucks.... |
7 |
> |
8 |
>> Well, you've already dismissed the users for which it works out of the |
9 |
>> box... obviously they're not a proper Gentoo users if they don't break |
10 |
>> their system and then complain that Gentoo is doing everything wrong |
11 |
>> because they can break their systems. |
12 |
> |
13 |
> Only users who it works for, is those who are not wanting specific |
14 |
> versions and not others. As in those who do not set the targets and let |
15 |
> them be wide open, or wildcard. So they do not care what is installed. |
16 |
> |
17 |
> They are likely also not doing much with USE flags or other things. They |
18 |
> obviously do not care what is on their systems. |
19 |
> |
20 |
> Most any system admin does care about what is on their system. Every |
21 |
> other version is another potential for security issues etc. What good |
22 |
> system adminstrator just installs needless stuff because they are lazy. |
23 |
|
24 |
Not to step into the general argument here, but you're arguing in the |
25 |
name of gentoo users, of which I am one, and are misstating facts |
26 |
regarding the situation for users, so I thought I'd step in and correct |
27 |
that. |
28 |
|
29 |
FWIW: |
30 |
|
31 |
$$ equery l python |
32 |
* Searching for python ... |
33 |
[IP-] [ ] dev-lang/python-2.7.13:2.7 |
34 |
[IP-] [ ] dev-lang/python-3.4.6:3.4/3.4m |
35 |
|
36 |
$$ grep -r PYTHON_TARGETS /etc/portage |
37 |
/etc/portage/make/useexpand:PYTHON_TARGETS="python3_4 python2_7" |
38 |
|
39 |
|
40 |
Every once in awhile I decide to check to see if I can make that python3_5 |
41 |
yet, with something like this (lines added between packages for clarity |
42 |
due to wrapping): |
43 |
|
44 |
$$ emerge -vp --emptytree @world | grep python3_4 | grep -v python3_5 |
45 |
|
46 |
[ebuild R ] net-dns/bind-9.11.0_p3::gentoo USE="caps filter-aaaa |
47 |
idn ssl threads xml zlib -berkdb -dlz -dnstap -doc -fixed-rrset -geoip - |
48 |
gost -gssapi -ipv6 -json -ldap -libressl -lmdb -mysql -nslint -odbc - |
49 |
postgres -python -rpz (-seccomp) (-selinux) -static-libs -urandom" |
50 |
PYTHON_TARGETS="python2_7 python3_4" 0 KiB |
51 |
|
52 |
[ebuild R ] app-portage/mirrorselect-2.2.2-r2::gentoo |
53 |
PYTHON_TARGETS="python2_7 python3_4" 0 KiB |
54 |
|
55 |
[ebuild R ] app-portage/esearch-1.3-r1::gentoo LINGUAS="-fr -it" |
56 |
PYTHON_TARGETS="python2_7 python3_4" 0 KiB |
57 |
|
58 |
|
59 |
OK, so I've not synced and updated since the end of March (30th) so that |
60 |
might be slightly dated, but as of that sync, there's still three |
61 |
packages I have installed that haven't yet been certified as having |
62 |
python3_5 support yet. |
63 |
|
64 |
So I continue to wait before trying the python:3.5 update. In the mean |
65 |
time, it's locally masked so as to prevent randomly pulling it in, and |
66 |
packages continue to "just work" with 2.7/3.4. |
67 |
|
68 |
No real hassle or hacks. No specific per-package PYTHON_TARGET settings |
69 |
for some other :3.x, but I've set the global PYTHON_TARGETS to get just |
70 |
the two versions, one 3.x and one 2.x. There is as I said a simple |
71 |
package mask to prevent pulling in :3.5 prematurely, but that's not a |
72 |
hack, nor is it complex, it's a quite reasonable straight-forward package- |
73 |
mask of a newer version because not everything's ready to handle it yet |
74 |
and I don't want to pull in a third version unless I really have to. |
75 |
|
76 |
Yet I'm anything /but/ the claimed: |
77 |
|
78 |
> They are likely also not doing much with USE flags or other things. |
79 |
> They obviously do not care what is on their systems. |
80 |
|
81 |
Not only do I set USE="-* ..." to prevent devs randomly screwing up my |
82 |
painstakingly set USE flags, but I also set -* in |
83 |
/etc/portage/profile/packages (a newly possible negated wildcard, FWIW) |
84 |
to negate the full cascaded @system set. |
85 |
|
86 |
Further more, I am known to make the argument that anyone with the |
87 |
responsibility of managing what's installed on their own systems is a de- |
88 |
facto sysadmin, and should be taking that responsibility very seriously, |
89 |
including the security implications of excess packages, etc, as I most |
90 |
certainly do myself. |
91 |
|
92 |
That's also why I run the gentoo git repo and check selected commit |
93 |
messages based on what portage wants to update, including many of the -r |
94 |
updates (upstream didn't update, what's important enough for a gentoo -r |
95 |
bump and is it something I need to worry about other implications of for |
96 |
my system?), and checking out every one of the bugs listed in the portage |
97 |
update commit messages. Of course I check upstream changelogs as well |
98 |
for selected important packages, and run live-git-9999 versions of some |
99 |
of them, checking upstream git logs as well. (Not that I'd argue that |
100 |
/every/ responsible admin must do that, but it can certainly help in |
101 |
figuring out what went wrong with the update, sometimes, which at times |
102 |
makes my job as an admin easier. =:^) |
103 |
|
104 |
Taking that admin responsibility seriously is also, BTW, the big reason |
105 |
I'm subscribed here, to get a heads-up on many of the major system |
106 |
changes that are likely to affect me before I'm trying to figure them out |
107 |
from emerge -vp errors. Of course it's also because I actively chose |
108 |
gentoo as my distro and what happens in the gentoo community is something |
109 |
I care about, not just because it affects my system, but because I'm a |
110 |
part of that community and care what happens in it. |
111 |
|
112 |
So I'm about the /last/ user to accuse of "not caring" about what's on my |
113 |
system, yet apparently because I don't have PYTHON_TARGETS wildcarded and |
114 |
didn't have to hack it to only have the two versions on the system, |
115 |
you're claiming I /don't/ care. |
116 |
|
117 |
Of course if I wanted the 3.x version to be 3.5, I'd have a bit more |
118 |
hacking to do, but that just comes with the territory -- it's the same |
119 |
sort of grabbing patches from bugzie, etc, that I had to do when I wanted |
120 |
to run the still masked because not all packages had integrated the |
121 |
required patches yet gcc. In fact, that's effectively what python:3.5 |
122 |
*is* on my system, via package.mask, for much the same reason, not all |
123 |
packages I have merged have tested support for it yet. |
124 |
|
125 |
|
126 |
Meanwhile, what you're proposing would turn that upside down. I *would* |
127 |
have to hack things to get and keep them working then, package-masking |
128 |
the new python for versions that didn't work with it yet that hadn't been |
129 |
masked in the upstream gentoo and overlay repos, and/or googling gentoo |
130 |
bugzie and the net for patches so they would work, etc, much as I had to |
131 |
do with new gccs to get them to work, because you will have broken the |
132 |
previously working PYTHON_TARGETS system that was keeping things sane by |
133 |
only updating a package's PYTHON_TARGETS for a new python once it had |
134 |
actually been tested to work with it. |
135 |
|
136 |
-- |
137 |
Duncan - List replies preferred. No HTML msgs. |
138 |
"Every nonfree program has a lord, a master -- |
139 |
and if you use the program, he is your master." Richard Stallman |