News:

Want to get involved in developing SMF, then why not lend a hand on our github!

Main Menu

Has anyone successfully installed Aeva on the 2.0 platform under linux?

Started by winky100, May 18, 2010, 04:28:08 PM

Previous topic - Next topic

Arantor

QuoteDid you already run into this problem? It looks that way. It looks like you bypassed it. Not sure, yet but it looks that way.

No, I've never had this problem, not in the 4 years I've been using SMF, on multiple different servers. I haven't had to bypass anything.

OK, so you said the bug was in strtr. Are you actually going to explain what the bug is or are you going to continue to wait for us to beg and plead and stroke your ego about how good you are, because that is all you appear to be doing - baiting us and waiting for us to tell you how smart you are.

winky100

Why in the world would I open myself to more ridicule by explaining the bug that is in strtr. It is there. The best course of action is for you to find it.

What I have learned from you all is that you all dont believe its a bug unless you discover it. So all my work is meaningless.

I am done with this subject.


Arantor

No, you're exposing yourself to more ridicule by evading the question, by failing to publish the root cause.

Right now you think it all hinges on you. If you post the FULL details of what you found, more people can look at this, people smarter than both you and I, and it can all get fixed faster.

Right now all you're doing is still pissing people off and exposing yourself to more ridicule.

winky100

Lets just forget about this for a while.

We have stepped on each others feelings. I never meant to do that. My only interest , frankly, is to get the source code fixed so I dont have to keep making the fix every time i get a new version of Subs-Package.php.

In retrospect I could have started this out differently.

Maybe after a few days we will all forget about it and I will have more info and I can present my case a little better.

Arantor

I'm not being funny but you could wipe most of the slate clean by posting what you actually have now, instead of throwing out veiled hints. That's the principle reason people here are pissed with you is because you've insisted on evading simple questions, and dropping hints that haven't helped anyone.

Look at some of the threads I've posted fixes for. Sometimes it took a while for the fix to come to light. But the more information that's available, the more people can start working on it right away as opposed to waiting for you to finally share things.

flapjack

let me quote myself:
Quote from: flapjack on May 18, 2010, 05:40:31 PM
http://www.simplemachines.org/community/index.php?topic=193486.0

and now, the content behind this link: http://img94.imageshack.us/img94/4017/ws7p.jpg



may I ask where are those details? I really, REALLY, want to help you, probably as most people actually still trying to get trough to you, but there's little to be done, without knowing the big picture.

Nao 尚

Quote from: winky100 on May 20, 2010, 05:55:21 PM
You did not answer the question.
Did YOU?

QuoteI didnt just give you a hint. I told you the bug is in strtr.
You didn't say which.
I will not make any deals with you. I've resigned. I will not be pushed, filed, stamped, indexed, briefed, debriefed or numbered.

Aeva Media rocks your life.


winky100

Aeva
SimpleDisk

In the package-info.xml file you can have the <require-dir> directiive

copytree will create that top level directory correctly.

However, if there are child directories that do not exist package_chmod will create that child directory as a file and when copytree gets control back from package_chmod it will get an error when it tried to create that child directory.

Aeva has the following lines in its package-info.xml file

      <require-dir name="Sources" destination="$boarddir" />
      <require-dir name="Themes" destination="$boarddir" />
      <require-dir name="mgal_data" destination="$boarddir" />


However, with only those directives none of the child directories of Package/temp/Sources, Package/temp/Themes will be created as directories. They will be created as files because package_chmod is called before copytree creates the child directory. Because of the bug in package_chmod that child directory will be created as file in package_chmod. When this happens it will appear that Aeva installed properly but its icons will be missing and other functions will not work.

Here is the copytree code that does that. You see that package_chmod is called before the recursive call to create the child directory. But by then it is too late because package_chmodd has already made a file out of it.

      package_chmod($destination . '/' . $entryname);

      if (is_dir($source . '/' . $entryname))
         copytree($source . '/' . $entryname, $destination . '/' . $entryname);


In SimpleDesk the diretory was created properly. There was no un-specified child directory.

      <require-dir name="images/simpledesk" destination="$imagesdir" />

If the above line was written like like this

      <require-dir name="images" destination="$imagesdir" />

the simpledesk child directory would not have been created, a file of that name would have been created instead.


For any package,(including Aeva) it is possible to bypass the bug in package_chmod by explicitely stating the child directories in the package-info.xml file.
                <require-dir name="Sources" destination="$boarddir" />
      <require-dir name="Sources/Aeva-getid3" destination="$boarddir" />
      <require-dir name="Themes/default/images/aeva" destination = "$boarddir" />

Howver, the proper way to fix this is to fix the package_chmod function so that it does not create any files. If you fix package_chmod all you need to do in the package-info.xml file is specify the top level directory and copytree will work properly.

This is what I see is happening.
It explains why SimpleDesk worked (even without my patch) and aeva only works with my patch.
The SimpleDesk installation did not have any unspecified child directories, while the Aeva installation did.

Of course you need to check my work because I dont know the code as well as you all do but this should be enough explanation to get you in the ballpark.

This bug was not in 1.1.11. If you look at package_chmod for that version you will see it did not create any files.

Arantor

* Arantor managed to install Aeva on a Linux host just a couple of days ago without a problem.

The only issue is the images in the admin menu and that's because they don't exist in my custom theme.

Dragooon

You seriously think I would have let SMF Media Gallery out had it not been working in Linux? I installed it on 3 different platforms, 2 of them being Linux. I use Aeva Media Gallery on 4 forums, running on 2 different servers, both using Linux.

Lotti

Quote from: winky100 on May 20, 2010, 09:51:57 PM
Aeva
SimpleDisk

In the package-info.xml file you can have the <require-dir> directiive

copytree will create that top level directory correctly.

However, if there are child directories that do not exist package_chmod will create that child directory as a file and when copytree gets control back from package_chmod it will get an error when it tried to create that child directory.

Aeva has the following lines in its package-info.xml file

      <require-dir name="Sources" destination="$boarddir" />
      <require-dir name="Themes" destination="$boarddir" />
      <require-dir name="mgal_data" destination="$boarddir" />


However, with only those directives none of the child directories of Package/temp/Sources, Package/temp/Themes will be created as directories. They will be created as files because package_chmod is called before copytree creates the child directory. Because of the bug in package_chmod that child directory will be created as file in package_chmod. When this happens it will appear that Aeva installed properly but its icons will be missing and other functions will not work.

Here is the copytree code that does that. You see that package_chmod is called before the recursive call to create the child directory. But by then it is too late because package_chmodd has already made a file out of it.

      package_chmod($destination . '/' . $entryname);

      if (is_dir($source . '/' . $entryname))
         copytree($source . '/' . $entryname, $destination . '/' . $entryname);


In SimpleDesk the diretory was created properly. There was no un-specified child directory.

      <require-dir name="images/simpledesk" destination="$imagesdir" />

If the above line was written like like this

      <require-dir name="images" destination="$imagesdir" />

the simpledesk child directory would not have been created, a file of that name would have been created instead.


For any package,(including Aeva) it is possible to bypass the bug in package_chmod by explicitely stating the child directories in the package-info.xml file.
                <require-dir name="Sources" destination="$boarddir" />
      <require-dir name="Sources/Aeva-getid3" destination="$boarddir" />
      <require-dir name="Themes/default/images/aeva" destination = "$boarddir" />

Howver, the proper way to fix this is to fix the package_chmod function so that it does not create any files. If you fix package_chmod all you need to do in the package-info.xml file is specify the top level directory and copytree will work properly.

This is what I see is happening.
It explains why SimpleDesk worked (even without my patch) and aeva only works with my patch.
The SimpleDesk installation did not have any unspecified child directories, while the Aeva installation did.

Of course you need to check my work because I dont know the code as well as you all do but this should be enough explanation to get you in the ballpark.

This bug was not in 1.1.11. If you look at package_chmod for that version you will see it did not create any files.
I have the same problem today, with a new SMF 2.0 RC5, and I solved from this, by
// package_chmod($destination . '/' . $entryname);
but... it's a problem also in this way?

Aleksi "Lex" Kilpinen

If you manage to pinpoint the problem - it could help, but I've seen dozens, maybe hundreds of AEVA installs on Linux based hosts, I've installed quite a few myself, and never seen problems like this. From the top of my head, I'd guess there has to be some sort of permissions issue involved in this, or something else on the server level blocking it from working correctly.
Slava
Ukraini!
"Before you allow people access to your forum, especially in an administrative position, you must be aware that that person can seriously damage your forum. Therefore, you should only allow people that you trust, implicitly, to have such access." -Douglas

How you can help SMF

Arantor

Nao and I both spent time investigating it; it's a server permissions issue vs SMF, but we were never able to pin it down exactly (there may be some validity in the fact that it works on 1.1.x since Aeva uses the same package for both 1.1.x and 2.0...)

Lotti

I have just done work with permissions for all the last night and all of this morning.
I have reset permission via SMF.
I have reset permission via FTP, like other subdomains, where there is no this problem.
I have see the phpinfo, but nothing it's different from the others subdomains.
No problem of htaccess.
The only thing that resolve, it's comment the line in subs-package... and not only for AEVA, but also for some others mod.

Advertisement: