-
Notifications
You must be signed in to change notification settings - Fork 156
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
Changed install paths on unix #80
Conversation
… /usr/local/etc to /usr/local/etc/pvpgn
It seems to be ok to use these paths. Several questions:
|
I noticed that on Windows, the project installs into Program Files/pvpgn and then with all the unix paths like /var, /etc and so on. It also installs the config to Program Files/pvpgnconf so you end up with two entries in Program Files for one application. This is very "un-Windowsy" because normally you have a single entry for the program. Having unix subpaths on windows also looks weird to be honest. Perhaps the windows paths should be rewritten completely to fit better. Or, we should at least move the config into /pvpgn. |
How PvPGN can be fully uninstalled in this case? |
You just rm all the files you installed. And there is a list of them (install_manifest.txt is created in project root): http://www.cmake.org/Wiki/CMake_FAQ#Can_I_do_.22make_uninstall.22_with_CMake.3F There is no |
Will you create uninstall script in this pull request or should I merge patch without it? Now in addition to cmake we have also make files (*.am extension). Should we stay only cmake or support both? |
I will add Cmake can generate makefiles anyway so it's just duplicate work. I'd just use cmake personally. As for apt-get, you first need to make a .deb package (or rpm, depends on the distro) and then submit it to debian/ubuntu/whatever distro. Something similar goes for FreeBSD ports. I have absolutely no experience with this but basically, you need to package it in the correct "format" and then submit for review. I think it's a good idea but perhaps it should be done with a major stable release version. |
Ok, waiting for updates. Please, remove make files then. I agree that there should be only a stable release. But I also have no experience with it, and I'm not a linux user. It will be great if you or somebody else will find out how to make packages for most popular unix systems. |
I can take the development code and try to make a deb package for starters, so we know what to do when major version is rolled out. I will open a separate issue when I start with that. |
As for distro packaging, there is a tool in cmake called CPack which can produce them so it might actually be very easy to do. |
…ed make uninstall target: removes all files that were installed but leaves runtime generated files (db) and directories. Added make purge: removes everything, not leaving a trace on the disk.
Hopefully did not miss anything. I tested a few times on win and linux, seems good. |
Does it ready for merge now? |
Yes. |
Now |
When I do not add |
I can't find |
Yes sure, |
|
Apparently CMake attaches application name to |
Well, It was my mistake I forgot clean cmake build directory.
|
Works for me.
|
Yes, it works fine (I tried it with your master branch before). But now I receive cmake errors if build your code using Magic Builder:
|
I'll take a look tomorrow. |
It is because build_pvpgn.bat invokes a cmake flag |
Good job! |
Please, look into the new issue that appears only on Linux and caused by you commits.
I've checked with my revision before yours and it works. |
Works fine for me. How to reproduce? |
I tried on local VMs (debian 3.2.54-2, ubuntu 12.04) and VPS from @Grief-Code (ubuntu 14.04).
And basic test for opened port which fails (logs are in my prev post),
|
Can you try a build without MYSQL and LUA? If that works it might be dependency issue. |
Just tested without mysql and lua, but the same issue. It stops working after the commit 12b9374 where path to program is |
Hmm.. could I get access to one of the VMs? I can't reproduce this so I am completely helpless at the moment. |
@cen1 please, share your email or write on my email. |
I send you email, did you receive it? |
Yes. It works fine. I left it open for you to check out. You can |
Well, it seems I did mistake somewhere - it really works (without Lua). |
No idea. I will build with LUA on my vps and see what happens. |
FindLua.cmake fails on debian. I did |
You can install needed libraries using |
I don't yet know what is causing the termination but it has to be inside some LUA handler in the main loop that starts after the bnetd init. If there was an error inside a LUA script, would it be displayed in console or written to some log file and where? I was checking for an obvious problem like hardcoded system path but no such thing exists. bnetd.conf also has correct LUA scriptdir and scripts are loaded well as the log states. I will add a shitton debug info tomorrow to pinpoint the fail. |
Yes, if error occured in Lua script then error message should be logged into But as I said program terminates even without directory Lua support is implemented using http://luasp.org |
Process hangs at output_write_to_file(); server.cpp line 1340. Investigating the reason now. |
Going in deeper, output.cpp, gamelist_traverse(_glist_cb_simple, fp); line 182 This line seems to be the culprit: |
I've added "identifier" into
I don't know what's wrong with that and how it relates to the installation paths. |
The only reason this would kill the process is some kind of segmentation fault, meaning that pointer to identifier does not actually exist. I see you simply cast |
The second parameter is a file pointer and it is statically cast to a struct. How does that even work? |
Well, I see that second parameter for |
From /usr/local/var to /usr/local/var/pvpgn and /usr/local/etc to /usr/local/etc/pvpgn