ENIGMA Forums

General fluff => Announcements => Topic started by: Josh @ Dreamland on March 03, 2012, 07:46:33 pm

Title: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 03, 2012, 07:46:33 pm
Yes, we're having some "Git problems." Ideka just suggested we switch to Mercurial, in fact, but it'd be pretty pathetic if some trouble with our choice of version control software was causing us all this hassle. In reality, there are a number of nasty things afoot.

Our only issue with git's capabilities is its inability to store binary files, something SVN never showed its issues with. The rest of the issues all had to happen eventually, it's just that by switching to git now, we've busted the grand problem piƱata.

The other issues are all related to deployment. What's worse is that a new STDC just hit the mainstream repositories on Linux, and ENIGMA's current parser doesn't get along with it. That timing is in itself bad, because I am just now recoding that parser anyway to be able to share code with ENIGMA.

Now, the rotten, dried up cherry on top of this shit sundae is that the forum's having email trouble, so new registrants can't get their confirmation email. I can't say whether this is related to the influx of new users whom we are only managing to confuse to tears with the endless--to borrow HaRRi's word--maze that is the installation process on ANY platform now. But there's that, too.

So, everything is tangled, and along with general bugfixes, IsmAvatar and I are working hard to untangle it. In addition to that, you probably can't see the progress from the forum because the project has been split into separate pieces now. The part of the parser I am working on is a separate project in itself now. I hope that this will improve its chances of being adopted by, for example, IDEs that need definitions for code completion. This is a large-ish aspiration due to the diversity of code with which the parser needs to be able to interface, but never say never.

Proceed with Comments/Concerns/Complaints/General Hatemail.  Except cheeseboy.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 03, 2012, 09:09:52 pm
It's not that git can't store binaries so much as rusky didn't want us storing binaries because it makes the repository huge and slow. Anyways, as long as we have the problem identified we can begin to move on from it.

As for your parser, as with anything, just because it's there doesn't mean they will use it. They probably already have their own parsers. Yours needs to bring something to the table that theirs doesn't have. Like modularity. Bitches love modularity.

Also, not sure that ideka was saying we should use mercurial or just sharing a Svn-to-distributed ideology brain-unscrambling link.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 03, 2012, 09:29:55 pm
> It's not that git can't store binaries so much as rusky didn't want us storing binaries because it makes the repository huge and slow.
Same difference; one way or another, it is not to our advantage to keep binaries in the repo. That's a problem based on our current scheme.

And they do have their own parsers, but they are sloppy and inaccurate. In a sense, that's a good thing; it means that the whole operation doesn't go crashing down when a definition is invalid. I am trying to make sure this new parser can recover from similar errors without much issue. I had Code::Blocks in mind most of all, because it has the most to gain. My parser can/will be able to do two things that Code::Blocks' current parser cannot. First and foremost, coerce expressions. When you have map<string,myclass*> mymap, and you type mymap["something"]->, Code::Blocks *attempts* to display members of the previous class. However, instead of showing members of myclass (the mapped type), it shows members of std::map. My parser would be able to correct that problem provided only that it was capable of reading a basic definition of string, a basic definition of map, and a basic definition of map::operator[], all of which the old parser could do (if poorly since the break). My parser is also quite fast, not to brag. At least the old one was. If there were already a parser that could do this shit, I'd have found it. I'll be advertising fervently that my parser is capable of "all this shit."

Also, yeah, I read Ideka's comment too hastily. Point is, we have a grip on git, just not workarounds for the (well understood) problems it has introduced (however indirectly).
Title: Re: Why does it look like nothing's happening?
Post by: RetroX on March 04, 2012, 10:34:03 am
I don't understand why Mercurial would even be brought up at all. Mercurial is worse with storing any kind of file (as size is concerned), and switching to it would be extremely counter-productive.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 04, 2012, 01:17:35 pm
...
Title: Re: Why does it look like nothing's happening?
Post by: Ideka on March 04, 2012, 10:05:30 pm
Ideka just suggested we switch to Mercurial
Wut.
I didn't suggest that.


As IsmAvatar said, I was
Quote
just sharing a Svn-to-distributed ideology brain-unscrambling link.
Though I mostly intended to explain to ugriffin why Git is better than SVN.
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 05, 2012, 11:32:16 am
It looks like nothings happening because nothing is. You ignore any problems in enigma and work on random projects that are 100% useless, You start new projects and create more problems in the proccess; You then leave these new projects unfinished to start other new projects; You create more and more problems. You shun anyone who reports a problem. You shun anyone who presents a solution. You wonder why noone helps you with enigma? You wonder why nothing gets done? You wonder why everythings broke? It's all your fault.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 05, 2012, 12:12:42 pm
Yes, yes, cheeseboy. I'm still not putting whatever trivial problem you have before the new parser.

Anyway, I like git better than SVN mostly because of github. The local versioning's just a bonus, which sometimes bites you in the ass.
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 05, 2012, 12:14:54 pm
Quote
"The other issues are all related to deployment. What's worse is that a new STDC just hit the mainstream repositories on Linux, and ENIGMA's current parser doesn't get along with it. That timing is in itself bad, because I am just now recoding that parser anyway to be able to share code with ENIGMA."
been bitching about that for months
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 05, 2012, 02:37:34 pm
And you expect me to allocate additional time to dealing with it because it's actually afflicting you? I'm in college. I only have so much time to myself, and even the time that is mine, I'm not allocating entirely to ENIGMA. Pissing and moaning about something that's broken on the IRC isn't going to aid in anything, it's just going to piss me off.
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 05, 2012, 03:01:02 pm
Waah im in college and its so hard. Rusky goes to college and he wrote a parser in a fraction of the time you did. I expect you fix problems in enigma. (What a crazy concept). Ive tried reporting bugs nicely. Ismavatar, TGMG, Rusky, harri and polygone all will listen to reason. In order to get you to listen i have to constantly piss and moan and even then theres no guarantee. You brought this upon yourself.
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 05, 2012, 05:35:23 pm
Well Josh is the slowest here. But he is not needed most of the time to get shit done. I already got ENIGMA to almost the perfect condition I need it in. I could upload the finishing touches (like screen_refresh fix, some surface functions and so on) but no one gave me the GIT still. The last problem that has been for ages is connected with the lacking ability of creating a "clean game". Josh says the icon bug has been fixed... but it will not be fixed in ENIGMA for a long time I suspect.

Also, the first two years in University were full of free time for me. Right now I got some shit to do, but I still manage to have up to 5 days a week free.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 05, 2012, 07:00:15 pm
Harri, you can fork the repository and then submit pull requests when you're ready to share something.

I'd add you myself, but either I don't have that ability, or I can't find the button.
Title: Re: Why does it look like nothing's happening?
Post by: Fede-lasse on March 06, 2012, 02:42:29 am
I love the communication in the ENIGMA team.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 06, 2012, 03:02:29 am
*shrug* We don't get paid enough.

Hey Josh, what do you think about increasing product price by, say, 10% to facilitate communication training, policies, and organization?
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 06, 2012, 05:33:42 am
*shrug* We don't get paid enough.

Hey Josh, what do you think about increasing product price by, say, 10% to facilitate communication training, policies, and organization?
Sounds good. I will do the math: 0*1.1=0.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 06, 2012, 04:58:50 pm
All right, cheeseboy, you've actually succeeded in pissing me off. Here are some bullet points you may have missed:
Fortunately for this project, neither I nor Ism have decided to leave it. In the event that either of us did, this project would crumble. While it is possible that someone new would rummage through the code in the project and run with the volumes of mundane GML functions implemented under SHELL/, no one in their right mind would run with the existing parser configuration as it is too deeply torn between GML and C++. This includes myself; ergo, I am recoding the parser to my specifications. Not as a GML lexer with LLVM code generation.

If you have a problem with this, feel free to leave.

As for the rest of you, understand that your comments are welcome, including constructive criticism. If in doubt on what constitutes constructive criticism, study the differences between your comments and the last several posts cheeseboy made. If you see a difference, it's probably constructive. Or written in English.

I should also point out that this is not my first year at a university. I was a full time college student in High School, but I brought ENIGMA to where it was back in 2010 (when I graduated) anyway. I am now a senior in college, even though it's just the start of my second year. Actually, I'm two credit hours shy of being a senior, but... I graduate in about a year.
Title: Re: Why does it look like nothing's happening?
Post by: Fede-lasse on March 07, 2012, 04:09:16 am
Josh, you're supposed to be the troll, not the one raging on a troll.
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 07, 2012, 06:55:12 am
Sooo when is the new parser comming? :P Just kidding. You shouldn't take Cheeseboy seriously as I have always been certain that he is a troll. Also, he works in McDonalds as far as I know so his technical input should be void.

Also, I actually found out fundies forked the enigma-dev to fix windows like more than a month ago (I didn't see that because of innavigatable GIT), so how is that going? Did you fix it? And if you did then can you merge back? Because Ism said that I should fork, add all the functions, then merge (which I can't do I think), but if I can't run it on windows then I don't know if the functions will break anything. It doesn't on my ENIGMA, but its the last from SVN, which is a while ago.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 07, 2012, 07:34:50 am
Fundies is cheeseboy. It's possible he got it working on Windows, but I think his goal was to fix Linux. Rusky broke all platforms when he went on his deleting spree.

Windows would probably work if you checked out the SVN, then checked out the Git overtop it.
Title: Re: Why does it look like nothing's happening?
Post by: luiscubal on March 07, 2012, 01:08:40 pm
"deleting spree". Doesn't git(and SVN, for that matter) keep a history that pretty much makes this sort of thing fixable in less than 5 minutes?

Couldn't you just go pick the previous versions of the deleted files on git (or your old SVN, if Rusky somehow broke git that badly), then add the missing files back to git so people who checked out git directly would have a working copy?
Title: Re: Why does it look like nothing's happening?
Post by: Game_boy on March 07, 2012, 01:18:04 pm
While being as aggressive as cheeseboy is pointless (the devs are mostly working on this for themselves rather than to an end goal), have you considered scaling back your aspirations? That is, not making something infinitely flexible or completely modular, and just focus on delivering, say, a 90% clone of GM6 by some not too distant time in the future.

The exposure you get from delivering a working product people can install and see the benefit of will fix manpower issues.

Do you yourselves still believe you can create something similarly functional to GM before GM catches up completely on speed and platform support? (Obviously you are free so leaving a lot of extraneous functions and features out would be understandable).

(Been following this project since it was posted on 64digits like 5 years ago, in that time all that has happened is a huge GM price increase)
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 07, 2012, 04:17:47 pm
For anyone intrested in running enigma on windows. dl.dropbox.com/u/26289275/enigma.7z (http://dl.dropbox.com/u/26289275/enigma.7z) Unzip that run git-bash and "cd enigma-dev/". you should then be able to run "git pull" to update and "java -jar lgm16b4.jar" to launch enigma. That zip includes everything needed to run enigma on windows and a few things that proably aren't needed. Also note openal is currently broke so before compiling a game be sure to select audio system none.
Title: Re: Why does it look like nothing's happening?
Post by: Fede-lasse on March 07, 2012, 04:36:38 pm
While being as aggressive as cheeseboy is pointless (the devs are mostly working on this for themselves rather than to an end goal), have you considered scaling back your aspirations? That is, not making something infinitely flexible or completely modular, and just focus on delivering, say, a 90% clone of GM6 by some not too distant time in the future.

The exposure you get from delivering a working product people can install and see the benefit of will fix manpower issues.

Do you yourselves still believe you can create something similarly functional to GM before GM catches up completely on speed and platform support? (Obviously you are free so leaving a lot of extraneous functions and features out would be understandable).

(Been following this project since it was posted on 64digits like 5 years ago, in that time all that has happened is a huge GM price increase)
It's meaningful posts like these that never have an impact on Josh.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 07, 2012, 05:27:21 pm
Quote
Do you yourselves still believe you can create something similarly functional to GM before GM catches up completely on speed and platform support? (Obviously you are free so leaving a lot of extraneous functions and features out would be understandable).

Yep. By throwing out the interpreter, Dailly has made room for serious optimizations, but judging by the fact that his C++ runner promise has been around for as long as ENIGMA, I'm going to call bluff or similar on his LLVM promise. If they switched to LLVM, we might be hurt. I'm thinking we have about 6-8 millennia before that happens. As far as platform support goes, they've basically already caught up since ENIGMA's Android support only works on every third Tuesday of the month.

At this point, being free is an advantage. But I don't have any personal interest in this project if that's the only advantage. At this point, I'm looking for capability in more aspects than just speed.

Oh, and Luis- If I wanted, I could recommit them. The issue is that I'm afraid he's right; some of those files just shouldn't be in the repository. We ought instead to include them with releases as needed. The issue is creating a release mechanism around git.
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 07, 2012, 06:24:30 pm
Quote
90% clone of GM6 by some not too distant time in the future.
I believe ENIGMA already can do 90% (or even more) of what GM can. Function wise there is everything you need. The problem is just that you can't really "make" the exe, thus you can't distribute it, and so you can't use ENIGMA to actually create commercial or freeware games. On the other hand I have created a lot of cool things starting with games, screensavers and ending with music mixing programs in ENIGMA. And as I have implemented all of the surface functionality (but not committed as I can't), then ENIGMA has everything short of pixel and vertex shaders to create some really beautiful games. Some of the graphical eye candy I posted on IRC was this:
http://dl.dropbox.com/u/21117924/god_rays.exe
http://dl.dropbox.com/u/21117924/reflection_demo.exe
http://dl.dropbox.com/u/21117924/ball_reflect.exe (this has some flickering problems because of some d3d_model bug, but you can still see the cool dynamic reflection on the ball. You can grab the ball with left mouse, toggle interpolation with control, change background with B).
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 07, 2012, 10:23:46 pm
Quote
If I wanted, I could recommit them. The issue is that I'm afraid he's right; some of those files just shouldn't be in the repository. We ought instead to include them with releases as needed. The issue is creating a release mechanism around git.
This is my stance as well. I think it sums up the problem pretty nicely.

Also, to clarify, Rusky didn't just delete the files. He deleted the history of the files. In essense, he made it so they never existed on the git repository. The reason is because, when you clone (svn "check out") a repository, you are fetching the entire history of the repository. You can delete a file, and that's all well and good, but a phantom of the file is still there, so that you can roll back to it. As a result, these phantoms make the repository larger, and when you're dealing with binaries, like jars, every time that file changes, the entire binary is re-added to the repository, since you can't just do a simple `diff` like on text files. As such, histories of binaries causes repositories to quickly bloat to a size somewhat similar to Josh.
Instead, binaries like LateralGM, which have their own histories, and don't need an additional binary history, are not included in binary form. Instead, they have their own source repository. As for how they are distributed to team members, that requires some decision - either they can be downloaded in binary form, or built from source - and this is really just a team decision: in what way can I best facilitate my team?
As for releases, we just build all the sources that we can, clump the binaries together, and distribute it. Not a big deal. The only question that remains then is how to distribute updates.
Title: Re: Why does it look like nothing's happening?
Post by: RetroX on March 08, 2012, 11:17:47 pm
For the record, git apparently does have binary diffs, but compiled code is usually different enough that you might as well be dumping the entire file there. Dumping small things like images is okay, but dumping entire JARs is really what we want to avoid.

LGM and the like should be compiled from the repositories and zipped and uploaded somewhere on the site. I don't see what's wrong with wgetting them from a makefile.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 09, 2012, 01:46:30 am
We're pretty much all in agreement with regards to the jars. I'm not sure about wgetting them from the makefile though - it's not that simple. The jars update occasionally - maybe once every 5-10 revisions. This means that we might not want to fetch them every time the user invokes make, because that would add an additional download time that usually just results in the same jars. We obviously don't want to do it as a 1-time thing because sometimes the updates are critical. We'd probably want some sort of intermediary to determine if the jars should be updated. Fetch some small information that determines the latest version, and compares it to the user's current version.
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 09, 2012, 07:42:57 am
Well binaries are no longer a problem. For windows I also think I will be able to compile the ENIGMA.exe, and the .dll. LGM can be downloaded from Ism who should put links to newest LGM available (the link on the wiki seems good for that).

Now the problem is that ENIGMA doesn't actually work. Not because of binaries but because of everything else. Someone should fix that.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 09, 2012, 10:33:39 am
Let's have LGM download itself.

Wait...
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 09, 2012, 11:01:24 am
Well binaries are no longer a problem. For windows I also think I will be able to compile the ENIGMA.exe, and the .dll. LGM can be downloaded from Ism who should put links to newest LGM available (the link on the wiki seems good for that).

Now the problem is that ENIGMA doesn't actually work. Not because of binaries but because of everything else. Someone should fix that.
I did. if you would just download that 7zip ...
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 09, 2012, 11:32:53 pm
Your 7zip extracts to 600 MB...
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 10, 2012, 02:37:57 am
Hey Harri, we might be able to get more people on Windows to try and hack something together if we collaborate on what we've been able to get so far.

If you would, update this wiki page http://enigma-dev.org/docs/Wiki/Install:Git:Windows with what you've done so far. I populated it with the furthest I was able to get.
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 10, 2012, 12:07:55 pm
Your 7zip extracts to 600 MB...
mingw is like 500mb msys is like 50mb
Title: Re: Why does it look like nothing's happening?
Post by: TheExDeus on March 10, 2012, 07:52:02 pm
Your 7zip extracts to 600 MB...
mingw is like 500mb msys is like 50mb
I only need the ENIGMA. Your GIT branch shows that you made like 20 line changes, I don't think that would require 600mb of crap. Just share the changed files or something.
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 10, 2012, 08:21:42 pm
Why would he need to share the changed files? Just merge them in locally if you want to try them.
Title: Re: Why does it look like nothing's happening?
Post by: ugriffin on March 11, 2012, 09:42:42 am
I agree with some of the comments in this forum. While GM's LLVM 'compiler' may be light years away, the truth is that they've got their multiplatform C++ runner out now, while ENIGMA has nothing. By the time YoYo has LLVM, if you guys don't at least have something, ENIGMA will have nothing.

The truth is that until we can make ENIGMA usable to make & distribute games, we can't expect more people to join the project, as there's no 'excitement factor' (and all the times I've even tried to use ENIGMA on my Mac something goes wrong anyways).

Another truth is that ENIGMA has the power to simply destroy YoYo's business model, once all the C++ extensibility you're talking about is ready. You'd probably get a good amount of downloads from the Cocos2D community and similar open source engines, as well as prolly half of the GM community would migrate to ENIGMA. Professionals looking for a new development tool? They'd ideally choose something FOSS: right now that option is Cocos2D. As a programmer working professionally in game development, I use Cocos2D as my game engine, partly because GM:Studio isn't finished, and because I know Cocos2D-iPhone (and its sibling Cocos2D-X) is free and extremely powerful. ENIGMA could be the 'alternative' to Cocos: FOSS but easier to use.

So I think we should have *something* out to increase interest in the project, and then move on to new features. Recreate GM61 and then move on from there.

My 2 cents. :)
Title: Re: Why does it look like nothing's happening?
Post by: RetroX on March 11, 2012, 11:32:08 am
We're pretty much all in agreement with regards to the jars. I'm not sure about wgetting them from the makefile though - it's not that simple. The jars update occasionally - maybe once every 5-10 revisions. This means that we might not want to fetch them every time the user invokes make, because that would add an additional download time that usually just results in the same jars. We obviously don't want to do it as a 1-time thing because sometimes the updates are critical. We'd probably want some sort of intermediary to determine if the jars should be updated. Fetch some small information that determines the latest version, and compares it to the user's current version.
Code: [Select]
wget lgm.md5
if md5sum -c --quiet lgm.md5; then
  wget lgm*.jar
fi
For the Linux version, anyway. The Linux version should be managed via the makefile, whereas the Windows version of LGM should just update itself.
(windows/linux "version" meaning when used on said platforms)
Title: Re: Why does it look like nothing's happening?
Post by: Josh @ Dreamland on March 11, 2012, 12:07:49 pm
That's dumb, too. :P Why would we have LGM be responsible for it on Windows but not on Linux? You need elevated privileges either way, because people keep installing ENIGMA in the Program Files on Win 7 (at which point nothing works so they show up on the IRC).

I don't know that LGM's actually going to be capable of updating anything. We'll probably have to maintain installers and patches for each platform, and have enigma.jar invoke the correct installation system on them (the installer on Windows, the package manager on Linux, Steve Jobs on Mac).
Title: Re: Why does it look like nothing's happening?
Post by: cheeseboy on March 11, 2012, 01:05:19 pm
Your 7zip extracts to 600 MB...
mingw is like 500mb msys is like 50mb
I only need the ENIGMA. Your GIT branch shows that you made like 20 line changes, I don't think that would require 600mb of crap. Just share the changed files or something.

You need all the libs I built. Otherwise the links will fail. The files have to be organized in certain way to work. It isn't as simple as uploading a few changes to git.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 11, 2012, 10:10:16 pm
Ok. I'll make sure to host an lgm.md5 next to lgm16b4.jar. Likewise, you should also find an enigma.md5. We could probably also combine the two, but I'm not a very fast shell scripter. Here's what I've got so far for producing a release:
Code: (bash) [Select]
$ cat release.sh
#!/bin/sh
cp ws-git/LateralGM/lgm16b4.jar Dropbox/Public/enigma-dep/lgm16b4.jar
#should probably make it so `release.sh e` does enigma.jar only.
cp enigma-dev/plugins/enigma.jar Dropbox/Public/enigma-dev/enigma.jar
cd Dropbox/Public/enigma-dep
md5sum lgm16b4.jar > lgm.md5
md5sum enigma.jar > enigma.md5

Edit: And here's one I made after I learned some basic SH scripting
Code: (bash) [Select]
#!/bin/sh
DB=~/Dropbox/Public/enigma-dep

rel_l()
{
  cp ws-git/LateralGM/lgm16b4.jar $DB/lgm16b4.jar
  cd $DB
  md5sum lgm16b4.jar > lgm.md5
  cd -
}
rel_e()
{
  cp enigma-dev/plugins/enigma.jar $DB/enigma.jar
  cd $DB
  md5sum enigma.jar > enigma.md5
  cd -
}

if [ "$#" -gt "0" ]; then
 echo $1 | grep l > /dev/null 2>&1
 if [ $? = 0 ]; then
  rel_l
 fi
 echo $1 | grep e > /dev/null 2>&1
 if [ $? = 0 ]; then
  rel_e
 fi
fi

Kind of annoying that md5sum also outputs the directory, otherwise I could probably simplify it a lot.
Title: Re: Why does it look like nothing's happening?
Post by: IsmAvatar on March 27, 2012, 07:16:21 pm
I just wanted to share that the checksums have now been combined into one file:
http://dl.dropbox.com/u/9975312/enigma-dep/update.md5

Apparently you can just chain the binaries onto the end of md5sum and it outputs a newline for each, and then -c will check all lines. It still has the nuisance of outputting the relative path, but I worked around that by just CD'ing first.

Here's the new release.sh

Code: (bash) [Select]
#!/bin/sh
DB=~/Dropbox/Public/enigma-dep
WORK=~/enigma-dev

if [ "$#" -gt "0" ]; then
 echo $1 | grep l > /dev/null 2>&1
 if [ $? = 0 ]; then
  cp ws-git/LateralGM/lgm16b4.jar $WORK/lgm16b4.jar
  cp ws-git/LateralGM/lgm16b4.jar $DB/lgm16b4.jar
  echo lgm16b4.jar
 fi
 echo $1 | grep e > /dev/null 2>&1
 if [ $? = 0 ]; then
  cp enigma-dev/pluginsource/enigma.jar $WORK/plugins/enigma.jar
  cp enigma-dev/pluginsource/enigma.jar $DB/enigma.jar
  echo enigma.jar
 fi
fi

cd $WORK
md5sum lgm16b4.jar plugins/enigma.jar plugins/shared/jna.jar > $DB/update.md5

I worked around the problem of including the directories to the binaries by copying them to my working copy and then md5summing the binaries in there.

Anyways, at this point, all that's really left is the updater code. Just toying with the code, it would probably look something like this:
Code: (bash) [Select]
#!/bin/sh
url=http://dl.dropbox.com/u/9975312/enigma-dep
curl -silent $url/update.md5 | md5sum -c --quiet 2> /dev/null
# Next, trim the ": FAILED" from each line
# For each line:
#curl -O $url/$line (might need to do some splicing to not include the relative paths in the url)


Edit:
After some discussion on the IRC between TGMG (mac), bobtheblueberry (oddly), and myself (ubuntu), we've found some tools that we have in common that we might use to develop an update script.



Here's an example of openssl md5:
Code: [Select]
$ openssl md5 lgm16b4.jar plugins/enigma.jar
MD5(lgm16b4.jar)= febec82e1498ebfab21751764e2e16d3
MD5(plugins/enigma.jar)= b5f6de84285a0795ad74f03c32bccafd