Background:
I made the original v8 Fedora package many moons ago, when I was more optimistic about the possibility of separating the useful components inside of chromium. Since that point, it has become clear that while v8 is useful software, the following facts are also true:
1. The v8 upstream is entirely disinterested in the concept of maintaining any sort of ABI/API consistency between releases. 2. The v8 that is used in chromium is not necessarily compatible with the upstream v8, as they have a history of picking and choosing code changes (and even applying chromium specific changes locally). 3. Virtually all consumers of v8 (including chromium) take a git checkout (not a specific one, just whatever they decided to code to) and use that revision, often creating a local fork of v8 from that revision, as they are either unwilling or unable to track v8 upstream. 4. Since v8 has no concept of a "stable" release that I can see, they simply do security fixes to the master branch, which, combined with the code changing violently, makes it very difficult to backport security fixes.
This means that other than plv8 (which is currently unable to build against the current v8 package in Fedora), I do not see any consumers of the Fedora v8 package (chromium has long since abandoned any possibility of using it). It does contain a "d8" binary, which is a javascript CLI debugger, but it is not clear to me that this is widely used, or that the benefit of its inclusion in Fedora outweighs the pain of maintaining this package.
Thus, I propose that the v8 package be abandoned/orphaned/taken to the farm upstate to run and play with the other dogs.
If you disagree, or are crazy enough to want to take it over, speak now.
~tom
P.S. I'll still maintain v8-314 as best I can, since there are actually users of that. The irony of that really ancient version being considered stable (and thus, used by other software) as a result of Fedora sticking on that version of v8 for so many releases is not lost on me.
On Mon, Jun 11, 2018 at 10:43 AM Tom Callaway tcallawa@redhat.com wrote:
Background:
I made the original v8 Fedora package many moons ago, when I was more optimistic about the possibility of separating the useful components inside of chromium. Since that point, it has become clear that while v8 is useful software, the following facts are also true:
- The v8 upstream is entirely disinterested in the concept of
maintaining any sort of ABI/API consistency between releases. 2. The v8 that is used in chromium is not necessarily compatible with the upstream v8, as they have a history of picking and choosing code changes (and even applying chromium specific changes locally). 3. Virtually all consumers of v8 (including chromium) take a git checkout (not a specific one, just whatever they decided to code to) and use that revision, often creating a local fork of v8 from that revision, as they are either unwilling or unable to track v8 upstream. 4. Since v8 has no concept of a "stable" release that I can see, they simply do security fixes to the master branch, which, combined with the code changing violently, makes it very difficult to backport security fixes.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
Hi,
Sorry for resurrecting a long-dead thread, but a few things happened recently: 1. v8 was just retired last week or so, 2. R-V8 just ported itself from v8-314 to v8 LTS 6/7.
Currently, R-V8 supports both v8-314 and v8, but as the latter fixes several downstream package issues, it is the recommended build target. I expect that eventually they will stop supporting 314 as well. This leaves me in a bit of a pickle as it does not bundle v8 and neither I nor upstream have any plans to build it ourselves.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
In Debian, the nodejs package provides a stable *shared* v8 library, and the recommended install is against libnode-dev. Unfortunately, in Fedora, while nodejs-devel provides v8.h, it does *not* provide any shared library.
Is this something we can also do in Fedora, i.e., split out a nodejs-libs subpackage, or similar?
Let's try this again, but CC'ing the package owners.
On 2019-02-17 9:12 p.m., Elliott Sales de Andrade wrote:
Hi,
Sorry for resurrecting a long-dead thread, but a few things happened recently:
- v8 was just retired last week or so,
- R-V8 just ported itself from v8-314 to v8 LTS 6/7.
Currently, R-V8 supports both v8-314 and v8, but as the latter fixes several downstream package issues, it is the recommended build target. I expect that eventually they will stop supporting 314 as well. This leaves me in a bit of a pickle as it does not bundle v8 and neither I nor upstream have any plans to build it ourselves.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
In Debian, the nodejs package provides a stable *shared* v8 library, and the recommended install is against libnode-dev. Unfortunately, in Fedora, while nodejs-devel provides v8.h, it does *not* provide any shared library.
Is this something we can also do in Fedora, i.e., split out a nodejs-libs subpackage, or similar?
-- Elliott
On Wed, Feb 27, 2019 at 7:02 PM Elliott Sales de Andrade quantum.analyst@gmail.com wrote:
Let's try this again, but CC'ing the package owners.
On 2019-02-17 9:12 p.m., Elliott Sales de Andrade wrote:
Hi,
Sorry for resurrecting a long-dead thread, but a few things happened recently:
- v8 was just retired last week or so,
- R-V8 just ported itself from v8-314 to v8 LTS 6/7.
Currently, R-V8 supports both v8-314 and v8, but as the latter fixes several downstream package issues, it is the recommended build target. I expect that eventually they will stop supporting 314 as well. This leaves me in a bit of a pickle as it does not bundle v8 and neither I nor upstream have any plans to build it ourselves.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
In Debian, the nodejs package provides a stable *shared* v8 library, and the recommended install is against libnode-dev. Unfortunately, in Fedora, while nodejs-devel provides v8.h, it does *not* provide any shared library.
Is this something we can also do in Fedora, i.e., split out a nodejs-libs subpackage, or similar?
I've been keeping the Node.js packages in Fedora alive, but on life-support, for a couple years now. I don't have the cycles to look into a significant rework of how they're designed. If you have ideas for how to do what you're asking, I will happily review a pull request to http://src.fedoraproject.org/rpms/nodejs
On Thu, 28 Feb 2019 at 16:24, Stephen Gallagher sgallagh@redhat.com wrote:
On Wed, Feb 27, 2019 at 7:02 PM Elliott Sales de Andrade quantum.analyst@gmail.com wrote:
Let's try this again, but CC'ing the package owners.
On 2019-02-17 9:12 p.m., Elliott Sales de Andrade wrote:
Hi,
Sorry for resurrecting a long-dead thread, but a few things happened recently:
- v8 was just retired last week or so,
- R-V8 just ported itself from v8-314 to v8 LTS 6/7.
Currently, R-V8 supports both v8-314 and v8, but as the latter fixes several downstream package issues, it is the recommended build target. I expect that eventually they will stop supporting 314 as well. This leaves me in a bit of a pickle as it does not bundle v8 and neither I nor upstream have any plans to build it ourselves.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
In Debian, the nodejs package provides a stable *shared* v8 library, and the recommended install is against libnode-dev. Unfortunately, in Fedora, while nodejs-devel provides v8.h, it does *not* provide any shared library.
Is this something we can also do in Fedora, i.e., split out a nodejs-libs subpackage, or similar?
I've been keeping the Node.js packages in Fedora alive, but on life-support, for a couple years now. I don't have the cycles to look into a significant rework of how they're designed. If you have ideas for how to do what you're asking, I will happily review a pull request to http://src.fedoraproject.org/rpms/nodejs
OK, I've sent a pull-request to do so [1]. It essentially mimics what the Debian package does (pass --shared and then manually install the executable since their script will only install one or the other.) The other changes just make sure paths are correct for tests to work. It works for me [2] to build R-V8 (though copr gets stuck building nodejs on x86_64 for some reason.)
[1] https://src.fedoraproject.org/rpms/nodejs/pull-request/4 [2] https://copr.fedorainfracloud.org/coprs/qulogic/nodejs-R-V8/builds/
Great, thanks. I took a look and did a review. I have a couple minor tweaks I'd like to see, then I'll go ahead and merge it (and backport/sideport it to the 8.x and 11.x branches)
On Thu, Mar 7, 2019 at 6:44 AM Elliott Sales de Andrade quantum.analyst@gmail.com wrote:
On Thu, 28 Feb 2019 at 16:24, Stephen Gallagher sgallagh@redhat.com wrote:
On Wed, Feb 27, 2019 at 7:02 PM Elliott Sales de Andrade quantum.analyst@gmail.com wrote:
Let's try this again, but CC'ing the package owners.
On 2019-02-17 9:12 p.m., Elliott Sales de Andrade wrote:
Hi,
Sorry for resurrecting a long-dead thread, but a few things happened recently:
- v8 was just retired last week or so,
- R-V8 just ported itself from v8-314 to v8 LTS 6/7.
Currently, R-V8 supports both v8-314 and v8, but as the latter fixes several downstream package issues, it is the recommended build target. I expect that eventually they will stop supporting 314 as well. This leaves me in a bit of a pickle as it does not bundle v8 and neither I nor upstream have any plans to build it ourselves.
For all of these same reasons, the Node.js SIG opted to carry a bundled copy of v8 in that package as well. I think we should move to have v8 considered to be a copylib for all reasonable purposes within Fedora.
In Debian, the nodejs package provides a stable *shared* v8 library, and the recommended install is against libnode-dev. Unfortunately, in Fedora, while nodejs-devel provides v8.h, it does *not* provide any shared library.
Is this something we can also do in Fedora, i.e., split out a nodejs-libs subpackage, or similar?
I've been keeping the Node.js packages in Fedora alive, but on life-support, for a couple years now. I don't have the cycles to look into a significant rework of how they're designed. If you have ideas for how to do what you're asking, I will happily review a pull request to http://src.fedoraproject.org/rpms/nodejs
OK, I've sent a pull-request to do so [1]. It essentially mimics what the Debian package does (pass --shared and then manually install the executable since their script will only install one or the other.) The other changes just make sure paths are correct for tests to work. It works for me [2] to build R-V8 (though copr gets stuck building nodejs on x86_64 for some reason.)
[1] https://src.fedoraproject.org/rpms/nodejs/pull-request/4 [2] https://copr.fedorainfracloud.org/coprs/qulogic/nodejs-R-V8/builds/
-- Elliott
On 6/11/2018 10:42 AM, Tom Callaway wrote:
Background:
I made the original v8 Fedora package many moons ago, when I was more optimistic about the possibility of separating the useful components inside of chromium. Since that point, it has become clear that while v8 is useful software, the following facts are also true:
- The v8 upstream is entirely disinterested in the concept of
maintaining any sort of ABI/API consistency between releases. 2. The v8 that is used in chromium is not necessarily compatible with the upstream v8, as they have a history of picking and choosing code changes (and even applying chromium specific changes locally). 3. Virtually all consumers of v8 (including chromium) take a git checkout (not a specific one, just whatever they decided to code to) and use that revision, often creating a local fork of v8 from that revision, as they are either unwilling or unable to track v8 upstream. 4. Since v8 has no concept of a "stable" release that I can see, they simply do security fixes to the master branch, which, combined with the code changing violently, makes it very difficult to backport security fixes.
This means that other than plv8 (which is currently unable to build against the current v8 package in Fedora), I do not see any consumers of the Fedora v8 package (chromium has long since abandoned any possibility of using it). It does contain a "d8" binary, which is a javascript CLI debugger, but it is not clear to me that this is widely used, or that the benefit of its inclusion in Fedora outweighs the pain of maintaining this package.
My packages in COPR depend on libv8 but I can just bundle it so it's not a problem. Thanks for maintaining it to this point.
devel@lists.stg.fedoraproject.org