Re: [Gambas-user] Sharing libraries across projects
On Tue, 26 Jan 2016, Beno??t Minisini wrote: > Here is a proposal, tell me what you think. > > 1) When you create a project library, you will have to specify a vendor. > > 2) When creating the library executable of a library project, a symbolic > link to the executable will be created in > '~/.local/share/gambas3/lib/'. > Instead of an implicit symbolic link it is more straightforward (and still easy enough) to have a new button in the Project > Make menu which creates the executable at the proper place. > 3) When another project wants to use that library, it stores in its > project configuration file the relative path '/'. > Through the symbolic link created in 2), the true library executable > will be found by the IDE and by the project at runtime. > > 4) When creating a package of a library, the library executable will be > installed in '/usr/lib/gambas3/' ('/usr/lib/gambas3' is for > components). Maybe '/usr/share/gambas3/lib/' should be better, > to mimic 2). After all, Gambas libraries are not to be run, and are not > system shared libraries. > > 5) When running a project using a library outside of the IDE (i.e. not > in debugging mode), the project will search its libraries in > '/usr/lib/gambas3' (or maybe '/usr/share/gambas3/lib'). Never in > '~/.local/share/gambas3/lib' for security reasons. Tell me if I am > paranoid here. > I don't know. I don't want everyone to check their ~/.local/share/gambas3/lib before starting any project in the future, but in the end my need is to use a custom library from some executables. > 6) A project can use a library whose only the executable is installed. > The IDE must present the user everything it finds in > '~/.local/share/gambas3/lib' and '/usr/lib/gambas3' sub-directories when > selecting a library. It will search the '/' stored in > the project configuration file first in '~/.local/share/gambas3/lib', > then in '/usr/lib/gambas3'. > > 7) Backward-compatibility. If a project library has no vendor, then the > old behaviour will be retained: > - No symbolic link is created. > - The project using it stores its absolute path. > - When creating a package, the library executable is stored in the same > place as normal executables. > - When the project runs outside of the IDE, the library is searched in > '/bin' and '/usr/bin' only. > > I'd like all that stuff as simple as possible. If you can simplify it > and keep all the features we need, just tell me! > T Lee Davidson has a point. As I am now aware, for all I care the library search path does not need to be user-specific. If there is a button in the IDE which: - asks for the sudo / su password and - copies the executable to /usr/local/lib/gambas3// that would be alright. The interpreter should be able to trust libraries under /usr/local/lib and load them even when not debugging. If asking for root-enabling passwords in the IDE is not a good idea (I would understand that), a button to run a Makefile would even be enough :-) But this is would be far removed from a self-contained solution... Points 1, 3, 4, 6 and 7 are fine, modulo details about the path. Regards, Tobi -- "There's an old saying: Don't change anything... ever!" -- Mr. Monk -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
[Gambas-user] [Gambas Bug Tracker] Bug #887: Session is lost, and I don't know why.
http://gambaswiki.org/bugtracker/edit?object=BUG.887=L21haW4- Moviga TECHNOLOGIES added an attachment: website-0.0.1.tar.gz -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
[Gambas-user] [Gambas Bug Tracker] Bug #887: Session is lost, and I don't know why.
http://gambaswiki.org/bugtracker/edit?object=BUG.887=L21haW4- Moviga TECHNOLOGIES reported a new bug. Summary --- Session is lost, and I don't know why. Type : Bug Priority : Medium Gambas version : 3.8.90 (TRUNK) Product : Development Environment Description --- I cannot figure out why the Session variables are reset after going to /admin and logging in with user:test password:Test123. At first the Session variables are OK, and the login i successful. But as soon as you browse to another page, they are lost (try going to /admin once more after logging in, but do not use refresh as it will resend the Post data). You must also change the path to the attached database to the correct path. I have not called Session.Abandon(), nor have I reset the session variables. Only thing I can think of then is a bug... Kind regards System information -- [System] Gambas=3.8.90 r7585 OperatingSystem=Linux Kernel=4.3.3-3-ARCH Architecture=x86_64 Distribution=arch Desktop=KDE5 Theme=Breeze Language=nb_NO.UTF-8 Memory=3580M [Libraries] Cairo=libcairo.so.2.11400.6 Curl=libcurl.so.4.4.0 DBus=libdbus-1.so.3.14.6 GStreamer=libgstreamer-1.0.so.0.603.0 GTK+2=libgtk-x11-2.0.so.0.2400.29 GTK+3=libgtk-3.so.0.1800.6 OpenGL=libGL.so.1.2.0 Poppler=libpoppler.so.58.0.0 QT4=libQtCore.so.4.8.7 QT5=libQt5Core.so.5.5.1 SDL=libSDL-1.2.so.0.11.4 [Environment] DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus DESKTOP_SESSION=/usr/share/xsessions/plasma DISPLAY=:0 GB_GUI=gb.qt5 GS_LIB=/.fonts GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/.gtkrc-2.0:/.config/gtkrc-2.0 GTK_MODULES=canberra-gtk-module GTK_RC_FILES=/etc/gtk/gtkrc:/.gtkrc:/.config/gtkrc HOME= KDE_FULL_SESSION=true KDE_MULTIHEAD=false KDE_SESSION_UID=1000 KDE_SESSION_VERSION=5 LANG=nb_NO.UTF-8 LANGUAGE=nb LOGNAME= MAIL=/var/spool/mail/ MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl PWD= QT_IM_MODULE=compose QT_NO_GLIB=1 SESSION_MANAGER=local/:@/tmp/.ICE-unix/572,unix/:/tmp/.ICE-unix/572 SHELL=/bin/bash SHLVL=1 TZ=:/etc/localtime USER= XAUTHORITY=/tmp/xauth-1000-_0 XCURSOR_SIZE=0 XCURSOR_THEME=breeze_cursors XDG_CURRENT_DESKTOP=KDE XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share XDG_RUNTIME_DIR=/run/user/1000 XDG_SEAT=seat0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 XDG_SESSION_CLASS=user XDG_SESSION_DESKTOP=KDE XDG_SESSION_ID=c2 XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1 XDG_SESSION_TYPE=x11 XDG_VTNR=1 _=/usr/lib/kf5/start_kdeinit_wrapper -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
[Gambas-user] [Gambas Bug Tracker] Bug #887: Session is lost, and I don't know why.
http://gambaswiki.org/bugtracker/edit?object=BUG.887=L21haW4- Moviga TECHNOLOGIES added an attachment: CMS -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] Share code across projects
Am Sonntag, den 24.01.2016, 20:27 +0100 schrieb Tobias Boege: > On Sun, 24 Jan 2016, Beno??t Minisini wrote: > > Le 24/01/2016 17:17, Tobias Boege a ?crit : > > > Hi everybody, > > > > > > with the semester break upcoming, I plan to supplement a project of mine > > > with some other applications in which I want to use classes from the > > > project. I have not, if memory serves, written any "local" components yet. > > > By "local" I mean a component which is *not* installed into > > > /usr/lib/gambas3. > > > > > >>From what I remember from other threads, I could: > > >- symlink source files around, > > >- copy source files around, > > >- install the project to /usr/lib/gambas3, or > > >- create a Library. > > > > > > I don't really want to copy source files as I presume they will change > > > considerably during development. The symlink solution is kind of dirty and > > > makes the projects less easy to give to others. I would prefer not to > > > touch > > > /usr/lib/gambas3 for some private project of very limited scope (i.e. it > > > is > > > way too specific to lie amongst the general components). As I imagine, > > > using > > > a library becomes messy, too, if it should be shared by multiple projects. > > > Also I couldn't really share my project because the library path is > > > absolute > > > and won't work on somebody else's computer (right?). > > > > > > How are you others doing this? Did you notice or can you imagine any > > > problems > > > with your way of doing it? Any arguments in favour of the library > > > approach? > > > > > > I think a user-specific directory for custom components would be nice. It > > > would be a standard path relative to a user's home directory which is > > > taken into account by the IDE (when it lists the installed components) and > > > the interpreter (when it loads components). Or is that considered a > > > security > > > risk, Benoit? > > > > > > Regards, > > > Tobi > > > > > > > User-specific directory for components was existing before but has been > > removed. > > > > I think that custom components (in the sense of Gambas) can be a > > security risk, but it is above all a management mess. > > > > Moreover, as I said elsewhere, for me components are part of the > > language, it's like "interpreter drivers". > > > > So I'd prefer using libraries for that. > > > > OK. > > > But to fit your needs, I have to enhance the libraries support with: > > > > - The ability to share libraries between different projects without > > having to put everything in the same directory. > > > > - The ability to explicitly load a library from any path. > > > > What do you think? > > > > Thank you for picking this thread up so quickly. > > Especially that last point would be cool. As you may remember I have written > (and still work with) a way to insert (user-supplied) Gambas classes at run- > time, into a Gambas process. This works by creating a temporary component > out of the given classes and loading it. Until now this mechanism required a > small patch to the interpreter to allow loading components from an absolute > path. If you could do that last point, I would get rid of this customisation > (provided that Component.Load() would gain this ability, too). > > To extended the first point: if I add a library now, its absolute path > (usually including my user name because stuff is in my home directory) is > added to .project. Someone else would have to adjust this path manually to > get the project running. They would have to do that for every update of the > project that does not come in the form of a patch. What may be a better way > to address libraries? > > Regards, > Tobi > Salut Tobi, solved that problem with Libraries installed at '/usr/bin' as symlink, so I can use it in all project I want. For that I wrote instGA3 to set these symlinks easily (instGA3 is at Software-Farm) -- Amicalement Charlie -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] Share code across projects
Hi Tobi, Am 24.01.2016 um 17:17 schrieb Tobias Boege: > How are you others doing this? Did you notice or can you imagine any problems > with your way of doing it? Any arguments in favour of the library approach? As I deploy the products of my work as Debian packages (for that I wrote my own set of makefile and package-scripts) I let (by the package manager) install my own libs currently in /usr/bin. That is not the cleanest way, but ensures, that my executable files, also installed in /usr/bin, can find the libs. But I would prefer to install the libs to /usr/lib/$myname. If in a Gambas project there could be defined such a search path for libs for production environment, I would appreciate that. Alles Gute Christof Thalhofer -- Dies ist keine Signatur signature.asc Description: OpenPGP digital signature -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] Sharing libraries across projects
On 01/25/2016 07:31 PM, Benoît Minisini wrote: > 4) When creating a package of a library, the library executable will be > installed in '/usr/lib/gambas3/' ('/usr/lib/gambas3' is for > components). Maybe '/usr/share/gambas3/lib/' should be better, > to mimic 2). After all, Gambas libraries are not to be run, and are not > system shared libraries. To be in compliance with the Linux Filesystem Hierarchy Standard, shouldn't the use of '/usr/local' be considered? http://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04s09.html: "4.9.1. Purpose The /usr/local hierarchy is for use by the system administrator when installing software locally. It needs to be safe from being overwritten when the system software is updated. It may be used for programs and data that are shareable amongst a group of hosts, but not found in /usr." Lee __ "Artificial Intelligence is no match for natural stupidity." -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
[Gambas-user] Sharing libraries across projects
Here is a proposal, tell me what you think. 1) When you create a project library, you will have to specify a vendor. 2) When creating the library executable of a library project, a symbolic link to the executable will be created in '~/.local/share/gambas3/lib/'. 3) When another project wants to use that library, it stores in its project configuration file the relative path '/'. Through the symbolic link created in 2), the true library executable will be found by the IDE and by the project at runtime. 4) When creating a package of a library, the library executable will be installed in '/usr/lib/gambas3/' ('/usr/lib/gambas3' is for components). Maybe '/usr/share/gambas3/lib/' should be better, to mimic 2). After all, Gambas libraries are not to be run, and are not system shared libraries. 5) When running a project using a library outside of the IDE (i.e. not in debugging mode), the project will search its libraries in '/usr/lib/gambas3' (or maybe '/usr/share/gambas3/lib'). Never in '~/.local/share/gambas3/lib' for security reasons. Tell me if I am paranoid here. 6) A project can use a library whose only the executable is installed. The IDE must present the user everything it finds in '~/.local/share/gambas3/lib' and '/usr/lib/gambas3' sub-directories when selecting a library. It will search the '/' stored in the project configuration file first in '~/.local/share/gambas3/lib', then in '/usr/lib/gambas3'. 7) Backward-compatibility. If a project library has no vendor, then the old behaviour will be retained: - No symbolic link is created. - The project using it stores its absolute path. - When creating a package, the library executable is stored in the same place as normal executables. - When the project runs outside of the IDE, the library is searched in '/bin' and '/usr/bin' only. I'd like all that stuff as simple as possible. If you can simplify it and keep all the features we need, just tell me! -- Benoît Minisini -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user
Re: [Gambas-user] TextEdit on Qt5
Thanks heaps for doing this I have found one problem that blocks loading the qt5 component at all /usr/bin/gbi3: symbol lookup error: /usr/lib/gambas3/gb.qt5.so: undefined symbol: _ZTV14FixBreezeStyle On Sun, Jan 24, 2016 at 12:23 PM, Benoît Minisiniwrote: > Le 24/01/2016 02:18, Moviga Technologies a écrit : >> >> >> Making all in ext >> make[5]: Entering directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk/gb.qt5/src/ext' >> CXX gb_qt5_ext_la-main.lo >> /usr/lib/qt/bin/moc -o CTextEdit_moc.cpp CTextEdit.h >> CXX gb_qt5_ext_la-CTextEdit_moc.lo >> CXX gb_qt5_ext_la-CTextEdit.lo >> CXXLDgb.qt5.ext.la >> make[5]: *** No rule to make target 'gb.qt5.ext.component', needed by >> 'all-am'. Stop. >> make[5]: Leaving directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk/gb.qt5/src/ext' >> Makefile:1330: recipe for target 'all-recursive' failed >> make[4]: *** [all-recursive] Error 1 >> make[4]: Leaving directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk/gb.qt5/src' >> Makefile:448: recipe for target 'all-recursive' failed >> make[3]: *** [all-recursive] Error 1 >> make[3]: Leaving directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk/gb.qt5' >> Makefile:380: recipe for target 'all' failed >> make[2]: *** [all] Error 2 >> make[2]: Leaving directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk/gb.qt5' >> Makefile:438: recipe for target 'all-recursive' failed >> make[1]: *** [all-recursive] Error 1 >> make[1]: Leaving directory >> '/home/jornmo/Sync/Gambaspakker/Gambas-SVN/src/trunk' >> Makefile:379: recipe for target 'all' failed >> make: *** [all] Error 2 >> >> > > Oops, fixed in revision #7585. > > -- > Benoît Minisini > > -- > Site24x7 APM Insight: Get Deep Visibility into Application Performance > APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month > Monitor end-to-end web transactions and take corrective actions now > Troubleshoot faster and improve end-user experience. Signup Now! > http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 > ___ > Gambas-user mailing list > Gambas-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/gambas-user -- Site24x7 APM Insight: Get Deep Visibility into Application Performance APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month Monitor end-to-end web transactions and take corrective actions now Troubleshoot faster and improve end-user experience. Signup Now! http://pubads.g.doubleclick.net/gampad/clk?id=267308311=/4140 ___ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user