New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make package easier to package for Debian? #48
Comments
Thanks for submitting this. What is the preferred method for fetching dependencies? Would git submodules work? I would still like the make system to clone submodules if they aren't already checked out, but the Debian build could bypass this by running |
[Charlie Curtsinger]
The preferred method is to fetch them from a mirror with Debian For security reasons, it is also a goal of the Debian project to be able Happy hacking |
A Debian package probably would find it useful to have the source for the analyzing web site refered in issue #55 too. |
Hi again. I was planning to look into getting coz into Debian, but I have not been able to get it working properly yet, and the build process is quite far away from what is needed in Debian. This make me unsure if trying to getting it into Debian is a good idea. What do you think? |
As you've probably noticed, I haven't had a chance to address any of the major issues you ran into. I'm just now getting to work on coz this summer and plan to make quite a few improvements over the next couple months. One important step in getting to a debian package is to get a libelfin debian package built as well. I need the libraries built with I propose we revisit packaging for debian in about a month, after I've had a chance to deal with the backlog of issues. |
Btw, one question that will come up if the source is uploaded to debian is the copyright status of the Coz-Curtsinger-Berger-SOSP2015.pdf file. Is it licensed according to the BSD license as listed in LICENSE.md content indicates? |
No, it actually shouldn't be in the repository. We (the authors) have retained copyright, but I believe in the publishing agreement we were required to grant exclusive rights to the ACM. This is inconsistent with requirements of the National Science Foundation for open access to federally-funded work, so it's unclear who has a right to distributed the article. I'm assuming everyone would prefer not to wander into that licensing wormhole. |
Technically, here's the verbiage.
However, ACM specifically allows us to post it under certain circumstances:
So the right thing to do is to post a version on arXiv (or one of our home pages) and link to it (or request permission from ACM to include it in the repo). |
I have gone ahead and requested permission though I doubt they will grant it. In the meanwhile, I will post it on arXiv. |
Posted to arxiv. Should be up on August 15. |
[Emery Berger notifications@github.com writes:
Note, for Debian to accept the file into its archive, the terms of use Happy hacking |
I have removed the PDF and instead posted the link to the arXiv (which may be freely downloaded by anyone). |
Thank you very much. While trying to build a Debian package with the library and viewer, I ran into these errors from the build checking software (lintian):
Is the error correct? Are the sources missing from the repository? |
So, a month have passed. Any progress on preparing the package for inclusion in Debian? libelfin entered Debian today, so that dependency is finally taken care of. But the profile viewer have several issues that need to be adressed before it can go into Debian |
Hi. Any news on this? We would like to get coz into Debian, but there are several unsolved challenges, as you can see. :) |
@petterreinholdtsen I just opened a pull request making some of the desired changes to the profiler viewer, plus more enhancements. The
|
Hi. Any chance to include the source version of the javascript libraries in the source directory, and generate the packed version during build? Also, any hope to provide a branch tag (aka version number) which include both the library and the viewer code? It would involve merging the gh-pages branch content into the master branch and tag the master branch, I believe. Today I uploaded a draft debian package to Debian for review by the Debian ftpmasters. I used the script available from https://anonscm.debian.org/cgit/pkg-coz/coz-profiler.git/tree/debian/get-orig-source to make a release tarball, joining the master and gh-pages branches to get something I could use in Debian. I doubt it will be accepted because the source of the javascript libraries are missing, but wanted to give it a go to get feedback from the ftpmasters. It might take a while before they have time to look at the package (weeks and months are normal), and I can upload new versions while we wait, so I would be very pleased if you could make coz easier to package in Debian while we wait for the review. :) |
A list of relevant dates was just posted on https://lists.debian.org/debian-devel-announce/2016/11/msg00002.html . We are running short on time to get coz into the next Debian release. Do you plan to place the viewer as part of the source code and provide source there for the javascript libraries used by the viewer? |
So to clarify, does this mean the deadline is in January? |
[John Vilk]
Very good to know there is progress. :)
I know it is in the gh-pages branch. I argue that it would be easier to
I suspect we talk past each other. The issue at hand is that the The issue is discussed in <URL: https://bugs.debian.org/839570 >, The general idea is that someone stranded on a deserted island with a [Emery Berger]
The upload deadline is most likely in early December. It leave some Happy hacking |
If the original source is multiple modules that become bundled together before minification, is it sufficient to include the bundled-but-not-minified file? Or do you want us to preserve the original build process? It looks like the following dependencies are already in Debian: I have never packaged something for Debian, so I am not sure how, exactly, we can reference these. Do we just augment the build process to symlink these in from a known location when building for Debian? Is it acceptable for our build script to use separate logic for Debian vs. non-Debian, where these files would not be available? The following are not present in Debian:
Let me know, @petterreinholdtsen. |
Also, @petterreinholdtsen, our profiler viewer is compiled from TypeScript 2.0 to JavaScript. It looks like Debian's version of TypeScript is at 1.8. Backporting the source code to 1.8 would require adding a number of extra type annotations to the code, as we rely upon the tagged union feature of 2.0. However, the JavaScript produced from TypeScript is not minified, easily readable, and just as modifiable as any other JavaScript file. Is that sufficient for inclusion in the package, or do we need to compile from the TypeScript source? |
[John Vilk]
The preferred way is to only include the non-minimized javascript and
<URL: https://anonscm.debian.org/cgit/pkg-coz/coz-profiler.git/tree/debian/rules >
We should try to get them included in Debian.
I noticed 2.0 is in experimental, and asked the maintainer in But I must admit, javascript packaging is not my strong side. :) Happy hacking |
Is this a reasonable checklist, then?
Are you able to start the process for getting |
[John Vilk]
I would split it in a short term and a long term list. Short Term:
Long term:
We will handle the debian packaging, so you do not need to think about
I'll see what I can do. I would like to find someone in Debian with Happy hacking |
I've now asked the typescript maintainer for his plans for 2.0 in unstable, and registered a request to get d3-tip and science.js into Debian. See http://bugs.debian.org/830708 for the links. |
I'm happy to report that the coz-profiler package was accepted into Debian yesterday. The package status can be seen on https://tracker.debian.org/pkg/coz-profiler . |
So there are complaints about lack of source because we are using minimized JavaScript. Since most uses won't be over a network, it seems reasonable to think we could just use the un-minimized versions. @ccurtsinger ? |
[Emery Berger]
This would solve the issue, definitely. What about providing the Happy hacking |
Regarding packaging, is there any reason to maintain ccutils as a separate repository? This forces debian to either manually copy its contents into debian's coz repository (breaking upstream's -- you -- history tracking due to additional fiddling), or to package ccutils as a separate package (which is a bit wasteful given its use). |
Very good to see progress on this. The changes pulled in the last day move us a long way forward. Now if the uncompressed javascript libraries were included and release tags were used, we should be all set. We are currently waiting for the broken binaries (on big endian architectures) to be removed from the Debian archive. Once this is done by the ftpmasters, the coz-profiler package will make it into 'testing' and become part of the next release (if no new RC issues pop up). I'm very happy libelfin and coz now include a simple self test, as it exposed the problems on big endian platforms. Without it, we would have shipped broken binaries in the next Debian release. The status of libelfin and coz-profiler can be seen on https://qa.debian.org/developer.php?login=vilanova@ac.upc.edu . |
The latest news is that the libelfin developer ported the library to big endian machines, and the library is now available on all release architectures in Debian. Thus we do no longer need to wait for the ftpmasters to remove broken binaries. I expect coz-profiler to make it into Debian Stretch (the future stable release) in 4 days. Would you be willing to tag releases of coz? I notice there are currently no tags in the git repo. Are there any news on including the source for the javascript libraries in the repo? I'm in contact with a friend who have the two remaining dependencies (d3-tip and science.js) as debian packages. We plan to upload them to Debian to be able to use debian dependencies for them. |
Which version of D3 will be available? Version 4 introduced breaking API changes. |
[Charlie Curtsinger]
Which version of D3 will be available? Version 4 introduced breaking
API changes.
Version 3.5 so far, see <URL: https://tracker.debian.org/pkg/d3 >.
--
Happy hacking
Petter Reinholdtsen
|
Okay, I just pushed a version that has the uncompressed javascript and css sources. If everything looks good on your end, I can tag a release this evening. |
[Charlie Curtsinger]
Okay, I just pushed a version that has the uncompressed javascript and
css sources. If everything looks good on your end, I can tag a release
this evening.
Both 'make' and 'make check' work for me with the latest version, so it
look good to me.
But I commented out the npm call in viewer/Makefile which do not seem to
do anything I need to get the viewer working. What exactly is npm
install doing?
…--
Happy hacking
Petter Reinholdtsen
|
The |
Hi Peter, can any of the tasks of this bug be marked as done? |
I can't really speak for Peter, but I had a look and d3-tip and science both seem to be in Debian now. I hope the analysis web pages can be included in the official release tarball, but have not seen any progress there. As for TypeScript, I have no idea what the status is. |
The first point in this task list should be marked as done (the gh-pages branch was moved into the viewer directory). The second one seems it can be marked as done too; all libraries in the viewer dir seem to have a non-minimised version. |
Marked those tasks as done. |
Coz is (and has been) in Debian, so this must have been resolved. Future changes can be filed as separate issues. |
Hi. I suggested to add coz-profiler to Debian, and wonder if you might be interested in making this easier?
First and foremost, the package must be buildable without Internet access. The build process today clones a git repo and download some code using wget. Neither is going to work for Debian. Could you perhaps rewrite the build process to avoid such downloading?
Second, it would be easier to figure out which version number to use for the package if you versioned releases, either by tagging the git repo or by making tarball releases with version numbers. Would you be interested in doing this?
The request to add the package in Debian can be found using http://bugs.debian.org/830708 .
Subtasks:
gh-pages
contents intomaster
as-is, and add build logic to build script.Long term:
The text was updated successfully, but these errors were encountered: