|
Post by jskeet on Aug 17, 2007 14:25:26 GMT 7
I've now managed to build Subversion for the N2100 and it appears to work. There's a Subversion module for the N5200 which looks like a good starting point for building an N2100 module, but it uses module.lib for lots of stuff: this is a general helper script which eases module development, from what I've seen.
I've had a quick look at it, and the most obvious change is from /raid/data/module to /raid/module, but I don't know how much of the rest also needs changing.
Does anyone have any experience of this?
Out of interest, is this the most appropriate forum to post this sort of question on? I can't see any forums specifically for development questions... this seems to be the closest there is.
Jon
|
|
|
Post by omega on Aug 17, 2007 15:06:29 GMT 7
Hi Jon, you're right, there isn't any special forum for these questions other than this one. I have some experience about this 'cause I'm the author of the module.lib and the other module framework scripts Basically you don't really need the module.lib helper script. I've just created them in order to have a central library for some common tasks needed for module installation and handling. I don't own a N2100 and therefore I don't know the differences between the N2100 and the N5200, but hopefully you only need to adjust some paths and maybe some minor changes in some functions and then you could just use my module framework. This could be an interesting point for other N1200 module writers too.... Andreas
|
|
|
Post by jskeet on Aug 17, 2007 15:09:13 GMT 7
Right. My reason for using the module.lib helper script is that it's used by the Subversion scripts - I'd like to change as little as possible.
I suggest that I see what I can do to make module.lib compatible with the N2100, and run the changes past you. If we're really cunning, we might be able to isolate the changes as variables, autodetect the platform, and have a single module.lib script for both platforms. That would be handy...
Jon
|
|
|
Post by omega on Aug 17, 2007 16:55:26 GMT 7
If we're really cunning, we might be able to isolate the changes as variables, autodetect the platform, and have a single module.lib script for both platforms. That would be handy... Go ahead... I'll support you as much as possible Andreas
|
|
|
Post by dbridges on Aug 17, 2007 17:32:46 GMT 7
|
|
|
Post by dbridges on Aug 17, 2007 17:34:43 GMT 7
I cant confirm but i get the impression that n5200 modules are installed via the firmware functionality whereas n2100 had a dedicated module capability.
|
|
|
Post by jskeet on Aug 17, 2007 19:48:31 GMT 7
Yup, I've seen that - hopefully I'll be able to update it with some more hints and tips after doing the Subversion module. Indeed. It's more a case of working out how much is involved in porting the 5200 module to the 2100. If I can edit and then reuse the module.lib script, that'll be great - I'll have to look at all the different usages within the 5200 scripts and work out what the 2100 equivalent is. Jon
|
|
|
Post by omega on Aug 17, 2007 20:13:07 GMT 7
I cant confirm but i get the impression that n5200 modules are installed via the firmware functionality whereas n2100 had a dedicated module capability. This doesn't hold anymore.... For software versions <= 1.00.06.05 this was true, but all versions after that have had and are having an equivalent module framework like on the N2100. So Jon is right: there shouldn't be much differences..... Andreas
|
|
|
Post by dbridges on Aug 18, 2007 4:48:26 GMT 7
Indeed. It's more a case of working out how much is involved in porting the 5200 module to the 2100. If I can edit and then reuse the module.lib script, that'll be great - I'll have to look at all the different usages within the 5200 scripts and work out what the 2100 equivalent is. Jon You may be in for more pain than it's worth by starting with a n5200 module. You're probably better off starting with a n2100 module like SSH...
|
|
|
Post by jskeet on Aug 18, 2007 6:50:16 GMT 7
You may be in for more pain than it's worth by starting with a n5200 module. You're probably better off starting with a n2100 module like SSH... Do you have any examples of where it's likely to be a headache? The web interface looks very nice - beyond what I'd originally been considering doing before I found the N5200 module. My first goal was just to create a module which installed Subversion but didn't configure it at all, with the user having to do that from an SSH login. Of course, I could still start with that and expand... but I like the idea of trying to get a common set of tools to help make module development a bit easier if possible. On that front, I've already made a start on three things: 1) I've removed all the .svn directories from my extracted copy of the toolchain. I haven't recompressed it yet, but I expect it to be about half the size it was. A bit more of a friendly download 2) I've started writing up a "getting started" guide which goes from "I've just got a Windows box" to "I can compile a program in a VM and run it on my N2100" 3) I've written up how I've built Subversion, which serves two purposes: 3a) Anyone wanting to build their own Subversion differently should be able to do so easily 3b) It documents the N2100 values of some of the autoconf options which can't be detected and need to be explicitly supplied. I don't want to give the impression that I've done huge amounts yet - just that I've been writing things up as I've gone. I'm in the middle of writing a C# book, so I don't have an awful lot of time for playing at the moment, but I'll do what I can... Jon
|
|
|
Post by dbridges on Aug 18, 2007 10:18:13 GMT 7
It's not that it's likely to be a headache but it may cause one.
Please take into account that there are a lot of modules developed to the existing n2100 framework. Particularly given that the n2100 has been around a lot longer.
Suddenly starting to develop them to a n5200 framework could confuse things.
Don't get me wrong. I'm not against improving things but change without gain is not an improvement and there is no real gain in trying to merge the n2100 and n5200 modules.
It just makes it more confusing because module developers will have to consider the alternate platform when bundling their modules. This doesn't make sense when you consider that the two platforms are completely different.
There is no commercial module development. Modules are written by those who need them. Making it harder for people will make it less likely that people will go so far as to make a module.
Besides. The list of practical enhancements has pretty much run it's course.
Also, Thecus themselves have caused issues in trying to merge things in the firmware...
|
|
|
Post by jskeet on Aug 18, 2007 14:53:07 GMT 7
There is no commercial module development. Modules are written by those who need them. Making it harder for people will make it less likely that people will go so far as to make a module. I'm not trying to make it harder to develop a module - I'm trying to make it easier! Module.lib has lots of nice helpful functions which ease module development - all I'm trying to do is make a version which works on the N2100 as well as the N5200. I don't see how I can possibly make it harder to develop modules - it's not like anything I can (or would) do could stop people developing modules in the way that they can now. I disagree with that, certainly. After subversion, I would like to put a decent ftp client on, and then some more text utilities - basically make the N2100 a more usable box having SSH'd into it. Those are two extra enhancements I want after barely scratching the surface! Jon
|
|
|
Post by omega on Aug 18, 2007 22:52:35 GMT 7
IMHO, this discussion is not really worth it..... Only the person writing a module is concerned about the module code, nobody else. And if someone is keen on duplicating his code for every module, why should someone else care? My approach was to create a shell library with common shell functions which are used by all of my modules. And there is nothing wrong doing the same approach for the N2100. This will ease module development and maintainability. There is really no point expecting any headache.... But hey, this is not a religious discussion, there are many ways to heaven.... So Jon, my advise is to maintain a shell library for the N2100 module programming too, it will help a lot. If you just take my N5200 library or just write a library from scratch is up to you. Andreas
|
|
|
Post by malboro on Aug 24, 2007 5:10:39 GMT 7
Hi jskeet, like you I have build svn binaries for the N2100. It seemed to work in a first attempt. But playing around a little bit more figured out that I indeed can create a repository on the thecus, but committing changes to it ends up in an error message: myserver:/raid/tmp/test/repos# svn commit x --message "My Message"
Adding x Adding x/x.txt subversion/libsvn_client/commit.c:865: (apr_err=160004) svn: Commit failed (details follow): subversion/libsvn_fs_fs/fs_fs.c:967: (apr_err=160004) svn: Malformed text rep offset line in node-rev As I'm trying for a couple of days now, I wonder if you had the same problems malboro
|
|