Skip to content
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

The cliquer spkg is patching upstream #14349

Closed
SnarkBoojum mannequin opened this issue Mar 23, 2013 · 37 comments
Closed

The cliquer spkg is patching upstream #14349

SnarkBoojum mannequin opened this issue Mar 23, 2013 · 37 comments

Comments

@SnarkBoojum
Copy link
Mannequin

SnarkBoojum mannequin commented Mar 23, 2013

This spkg does the following:

  1. it compiles cliquer not only as an executable, but also as a library -- here I can't help but notice that the patches do to likewise in debian look more complete see here (and remember than when the header of a debian patch doesn't mention forwarding to upstream -- that means it was!)
  2. it modifies the api by making parse_input exported (non-static) -- was this forwarded upstream?
  3. it adds new functions, only for sage
  4. it uses make instead of $MAKE.
  5. it has testing code inside spkg-install instead of spkg-check.

Depends on #14892

CC: @kiwifb

Component: packages: standard

Author: Felix Salfelder

Branch/Commit: public/14349 @ 6253068

Reviewer: Nathann Cohen

Issue created by migration from https://trac.sagemath.org/ticket/14349

@SnarkBoojum SnarkBoojum mannequin added this to the sage-5.11 milestone Mar 23, 2013
@jdemeyer

This comment has been minimized.

@jdemeyer

This comment has been minimized.

@jdemeyer
Copy link

Replying to @SnarkBoojum:

  1. it adds new functions, only for sage

Please clarify how you would add these functions to Sage? They need access to the cliquer internals, so they cannot simply be added to Sage.

@SnarkBoojum
Copy link
Mannequin Author

SnarkBoojum mannequin commented May 24, 2013

comment:5

I don't remember the details, but I think it was a case of bad use of static variables ; so probably helping upstream get around that is a better route.

(That involves putting those variables in a params structure which gets passed around. Perhaps with some getter/setter api for the new structure.)

@jdemeyer
Copy link

comment:6

Good luck convincing upstream, I'm not going to do it...

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jun 20, 2013

Attachment: 0001-reduce-cliquer-patching.patch.gz

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jun 20, 2013

comment:7

Would somebody please help getting rid of the other one (cl.c.patch)?

@vbraun
Copy link
Member

vbraun commented Jul 7, 2013

comment:8

Most of the "global variables" aren't global but local to the compilation unit of the command line parser and only used to keep track of command line options. Its likely that one could just move the additional sage_... functions to an auxiliary source file in the Sage library.

Maybe we should get a GSoC student working on the build system to clean that up? :-P

Unless there is some action on this ticket soon I'll just take the current patch, add all currently untracked files to the repo, and use that for #14781

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jul 7, 2013

comment:9

Replying to @vbraun:

Most of the "global variables" aren't global but local to the compilation unit of the command line parser and only used to keep track of command line options. Its likely that one could just move the additional sage_... functions to an auxiliary source file in the Sage library.

seems to work. i'll test and upload the patch as soon as i'm done with gap.

@vbraun
Copy link
Member

vbraun commented Jul 12, 2013

comment:10

Felix, are you still working on this ticket? We need to resolve this ticket one way or another for #14781

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jul 13, 2013

comment:11

Still stuck with gap. My cliquer patch needs to be sorted out/rebased/ported, I don't know whether that makes much sense right now. please do with this tiket whatever seems appropriate.

(sorry i don't understand #14781)

@kiwifb
Copy link
Member

kiwifb commented Jul 13, 2013

comment:12

What it your problem with gap? Does it have ticket number?

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jul 13, 2013

comment:13

Replying to @kiwifb:

What it your problem with gap? Does it have ticket number?

I have created #14887.

@vbraun
Copy link
Member

vbraun commented Jul 15, 2013

comment:14

I've moved the 0001-reduce-cliquer-patching.patch to #14892. This ticket still has enough improvement suggestions for cliquer. Note how issue #9870 is related to this ticket.

@vbraun
Copy link
Member

vbraun commented Jul 15, 2013

Dependencies: #14892

@jdemeyer jdemeyer modified the milestones: sage-5.11, sage-5.12 Aug 13, 2013
@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Aug 23, 2013

Commit: aecdf29

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Aug 23, 2013

comment:16

A patch removing the patches is now ready on top of sage 5.12beta3 (build_system). It does not address #9870.

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Aug 23, 2013

Branch: u/felixs/14349

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Dec 2, 2013

Changed dependencies from #14892 to #14892, #15410

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Dec 2, 2013

comment:17

Hellooooooooo !!!

This patch probably needs to be rebased atop the nice additions of #15410, but would it also be possible to not create those two cl.c and cl.h files right inside of the graphs/ folder ? Could it be put inside of a cliquer/ folder, and couldn't it even stay inside of the spkg, even if it is not used to patch the sources but (nicely) imported at compile-time ?

The trick is nice and efficient, thanks for this patch :-)

Nathann

@vbraun
Copy link
Member

vbraun commented Dec 2, 2013

comment:18

I don't understand your question. In any case, upstream sources go into build/pkgs/cliquer, source files for the Sage library into src/sage/....

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Dec 2, 2013

comment:19

Well, then it would be cool if the cl.c and cl.h files could all be moved inside of a cliquer/ folder, for the graphs/ folder is already quite messy. Especially when these two cl.c and cl.h files are not documented in any way O_o

Would it make sense to get rid of the .c files automatically compiled by Cython for each .pyx file by the way ?

Nathann

@vbraun
Copy link
Member

vbraun commented Dec 2, 2013

comment:20

You can move them into graphs/cliquer if thats what you are asking.

There is a ticket for in-place cythonization somewhere. Obviously the cython output c files must be somewhere for the compiler to find them.

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Dec 2, 2013

comment:21

You can move them into graphs/cliquer if thats what you are asking.

Yep, that would be cool.

There is a ticket for in-place cythonization somewhere. Obviously the cython output c files must be somewhere for the compiler to find them.

I guess, but they just don't have to stay there afterwards :-P

Nathann

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Dec 2, 2013

comment:22

At u/ncohen/14349 you will find three commits atop of this ticket's branch, which rebase it on top of #15410 and 5.13.beta4, plus moves cl.c and cl.h to a new cliquer/ directory.

Nathann

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

comment:23

ping ?

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

Changed branch from u/felixs/14349 to public/14349

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

comment:24

Okay, let's forget about #15410 for the moment as it is not in positive_review anymore. Here is a new commit added on top of Felixs' which moves the two files into a cliquer/ folder.

Nathann

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

Changed commit from aecdf29 to none

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

Changed dependencies from #14892, #15410 to #14892

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 8, 2014

Commit: 6253068

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 8, 2014

Branch pushed to git repo; I updated commit sha1. New commits:

f55a304python-sage work without cliquer patching (#14349)
aecdf29module_list: add cl.c to cliquer.so sources (#14349)
25edb2ftrac #14349: rebase on 6.1.beta4
6253068trac #14349: move cl.* to cliquer/

@sagetrac-felixs
Copy link
Mannequin

sagetrac-felixs mannequin commented Jan 8, 2014

comment:26

i'd prefer fewer directories. but i agree with 6253068. consider these changes positively reviewed.

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

Reviewer: Nathann Cohen

@nathanncohen
Copy link
Mannequin

nathanncohen mannequin commented Jan 8, 2014

comment:27

Well.. I prefer to have the least amount of mess in the graph/ folder. And cl.c/cl.h files do not fit in the picture :-P

Thank you fo the review !

Nathann

@jdemeyer
Copy link

comment:28

Further clean-up of cliquer at #9870...

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@vbraun
Copy link
Member

vbraun commented Jan 31, 2014

Author: Felix Salfelder

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants