Home | Docs | Forums | Lists | Bugs | Planet | Store | GMN | Get Gentoo!
Not eligible to see or edit group visibility for this bug.
View Bug Activity | Format For Printing | XML | Clone This Bug
This is the very first ebuild for keepass password safe. Keepass is a win32/linux tool useful to safely store and manage passwords. Since I am a newbie in developing ebuilds this ebuild doesn't work yet. Dependency checking is ok but I get several sandbox access violations at compile time. Any suggestion from a real developer will be appreciated.
Created an attachment (id=77792) [details] First ebuild for keepass 0.1.3 This is a preliminary and not fully working version of the ebuild
Created an attachment (id=78667) [details] Working keepass-0.1.3.ebuild I tried to make the description less redundant (of course it's nice and of course it's for Linux, else we wouldn't propose an ebuild for it) and emphasize its main selling points. Of course that's also only a proposal.
I installed the "working ebuild" posted above by Michael Mauch successfully, and the program appears to work correctly (only opened it, didn't test it very much beyond that, other than creating a new database which I have not yet populated). There are, however, a couple of problems with the ebuild/application. 1. This version requires qt-3.3, and does not compile against QT4; an error message advises uic: File generated with too old version of Qt Designer and the build fails shortly therafter: In file included from lib/UrlLabel.cpp:22: lib/UrlLabel.h:24:21: qsignal.h: Onbekend bestand of map In file included from lib/UrlLabel.cpp:22: lib/UrlLabel.h:29: error: `WFlags' has not been declared lib/UrlLabel.h:29: error: ISO C++ forbids declaration of `f' with no type lib/UrlLabel.cpp:28: error: `WFlags' has not been declared lib/UrlLabel.cpp:28: error: ISO C++ forbids declaration of `f' with no type lib/UrlLabel.cpp: In constructor `LinkLabel::LinkLabel(QWidget*, const char*, const QString&, int, int, int)': lib/UrlLabel.cpp:28: error: no matching function for call to `QLabel::QLabel(QWidget*&, const char*&, int&)' /usr/include/qt4/QtGui/qlabel.h:116: note: candidates are: QLabel::QLabel(const QLabel&) /usr/include/qt4/QtGui/qlabel.h:47: note: QLabel::QLabel(const QString&, QWidget*, Qt::WFlags) /usr/include/qt4/QtGui/qlabel.h:46: note: QLabel::QLabel(QWidget*, Qt::WFlags) lib/UrlLabel.cpp:31: error: `setPaletteForegroundColor' was not declared in this scope lib/UrlLabel.cpp:32: error: `PointingHandCursor' was not declared in this scope lib/UrlLabel.cpp: In member function `virtual void LinkLabel::mouseReleaseEvent(QMouseEvent*)': lib/UrlLabel.cpp:42: error: invalid use of undefined type `struct QMouseEvent' /usr/include/qt4/QtGui/qwidget.h:53: error: forward declaration of `struct QMouseEvent' lib/UrlLabel.cpp:42: error: `LeftButton' was not declared in this scope make[1]: *** [../build/UrlLabel.o] Fout 1 make[1]: Leaving directory `/var/tmp/portage/keepass-0.1.3/work/keepass/src' make: *** [sub-src-make_default] Fout 2 I had to uninstall QT4 for the emerge to recognize that QT-3.3.4-r8 was available, but once it did, the application then built without any errors. 2. The program, once installed, is apparently in German. Despite an initial error dialog claiming that the German language file is unavailable, the GUI appears in German, that being the built-in language of the application. Going to Extras=> Language offers no other choices (German is the only available language, and is therefore selected as default). However, according to the homepage of the port ( http://keepass.berlios.de/index.php?lang=english&inhalt=translations.html ), Russian and English translations are available in some fashion: German - Built-In English - (v0.1.3) Author: Tarek Saidi - included in the program package Russian - (v0.1.3) Author: Aleksey Kirpichnikov - included in the program package I thought that "included in the program package" might mean that if I installed the RPM or DEB, I would have English available, but the source does not include these files, but this is not the case. From checking the forums at http://keepass.berlios.de/forum/viewtopic.php?t=21 , I found that the two additional translation files are in fact available in the /share/i18n/ directory, but this directory and its contents are not copied to /usr/share/keepass with the rest of the 'loose' files in the /share/ directory of the tarball. Copying the i18n directory manually to /usr/share/keepass does provide access to the two additional languages, and allowed me to change the GUI to use English as default. 3. Upstream issue: the Windows version of this program has been updated to 1.0.4 as of January; the port is "apparently" (from the webpage forums) close to 0.2.0, although there seems to be no information as to how close to a release the Linux port may be. There is, though, a SVN repository, which dev version does apparently compile against QT4 (at least for MacOSX, according to the forums). Unless someone communicates with the developer and discovers that the release of 0.2.0 is imminent, I might almost prefer a live-cvs (svn, actually) ebuild to this one for what seems to be a rapidly-becoming-outdated release (and it's only some four months old, don't'cha just love Linux development). In any case, once I resolved these issues, the program emerged fine, and seems to be working fine (now that I can read the menus), so all this ebuild appears to need (but I'm no expert in ebuild writing myself) is some specific pointer to QT3 libs in the case that QT4 is also installed as it was on my ~x86 box, and the additon of a doins /share/keepass/i18n/* (assuming that doins will create an i18n directory, which I don't know if it will), to be good to go. Hope this is useful to you; I'd like to see this in Portage as it seems a nice program which will be a suitable and long-awaited replacement to my current solution, which is my old-from-before-I-switched-to-Linux Windows password manager, run under Wine.
http://fachschaft.imn.htwk-leipzig.de/~tkrah/gentoo/keepass-0.2.0-ebuild.tar.gz I made a new ebuild and patches for v0.2.0 to compile cleanly with qt4.1 and qt3Support. Maybe its not perfect - but it works, hints are welcome. Made additionally a keepass.desktop file for menu integration and copied key.png from icons folder to pixmap directory for supporting icon in the desktop file. kind regards
(In reply to comment #4) > http://fachschaft.imn.htwk-leipzig.de/~tkrah/gentoo/keepass-0.2.0-ebuild.tar.gz In SRC_URI you must replace ${P} by ${PV} otherwise the download fails. It works on x86
Made new ebuild and changed project name to follow the official new name, called keepassX. Removed the patches, they are only needed when qmake -project is done. Using integrated project files made these ones obsolete, should now build without warnings. SRC_URI changed too, thx for reporting. http://fachschaft.imn.htwk-leipzig.de/~tkrah/gentoo/keepassX-0.2.0.tar.bz2 kind regards
Created an attachment (id=85688) [details] keepassX-0.2.0.ebuild
Created an attachment (id=85689) [details] keepass.desktop Version 0.2.0 Additional file for keepassX-0.2.0
Created an attachment (id=85690) [details] keepass.png version 0.2.0 additional file for keepassX-0.2.0
Please download files here so they are available as long bugs.gentoo.org exists and not just on your webspace...everyone lurking around here should know about how to move the files around and create a digest.
The provided ebuild works fine for me on ~amd64 here.
Just a rename action and some playing around with the patches without a lot of insight...0.2.1 does not compile
Created an attachment (id=88570) [details] KeePassX-0.2.1 Ebuild
Made new ebuild of KeePassX 0.2.1 - the project renamed to KeePassX long time ago, so its not called KeePass anymore. Should work fine. kind regards
Created an attachment (id=88972) [details] KeepassX 0.2.1 with new SRC_URI
(In reply to comment #15) > Created an attachment (id=88972) [edit] [details] > KeepassX 0.2.1 with new SRC_URI > KeePassX moved from Berlios to Sourceforge, i replaced the Homepage and SRC_URI and added ~amd64, since it works fine here.
0.2.1 emerges and works Portage 2.1-r1 (default-linux/x86/2005.1, gcc-4.1.1, glibc-2.3.6-r4, 2.6.16-gentoo-r9 i686) ================================================================= System uname: 2.6.16-gentoo-r9 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.6.15 ccache version 2.3 [enabled] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: 0.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O2 -march=athlon-xp -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache confcache distlocks metadata-transfer parallel-fetch sandbox sfperms strict" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/" LANG="de_DE@euro" LC_ALL="de_DE@euro" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.informatik.rwth-aachen.de/gentoo-portage" USE="x86 3dnow 3dnowext X Xaw3d a52 alsa artworkextra asf audiofile avi bash-completion berkdb bidi bitmap-fonts bootsplash bzip2 cairo cdda cddb cdparanoia cdr cli cracklib crypt css cups curl custom-cflags dbus dga directfb divx4linux dlloader dri dts dvd dvdr dvdread dvi eds emacs emboss encode esd evo exif fam fat fbcon fdftk ffmpeg firefox foomaticdb fortran ftp gb gcj gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal howl icq idn imagemagick imap imlib ipv6 isdnlog java javascript jikes jpeg jpeg2k ldap leim libg++ libwww lm_sensors mad maildir matroska mbox mikmod mime mmx mmxext mng mono motif mp3 mpeg mpeg2 mule nautilus ncurses nforce2 nls nocardbus nosendmail nowebdav nptl nptlonly nsplugin nvidia ogg oggvorbis opengl pam pcre pdf pdflib perl plotutils pmu png ppds pppd preview-latex print python qt qt3 qt4 quicktime readline reflection reiserfs samba sdk session slang spell spl sse ssl svg svga t1lib tcltk tcpd theora thunderbird tiff truetype truetype-fonts type1-fonts usb vcd videos vorbis win32codecs wmf wxwindows xine xml xml2 xorg xosd xv xvid zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_de userland_GNU video_cards_radeon video_cards_vesa video_cards_fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created an attachment (id=93202) [details] keepassx-0.2.2.ebuild Newest version: -SRC_URI now uses mirror://sourceforge.net -inheriting eutils.eclass and kde-functions.eclass was not necessary -fixed ${S} (0.2.2 demands that)
Mirror SRC_URI doesn't work for me, can you check that - using harcoded sourceforge mirror solves the issue.
(In reply to comment #19) > Mirror SRC_URI doesn't work for me, can you check that - using harcoded > sourceforge mirror solves the issue. Can't reproduce that. What error message do you get? Can you please try a package that also uses this SF mirror magic (e.g. JabRef)?
Created an attachment (id=94373) [details] keepassx-0.2.2-r1.ebuild Just changes the icon's name, nothing more
Created an attachment (id=94374) [details] keepassx-0.2.2-r1.ebuild Sorry for the noise: The icons is not really needed, one is installed in /usr/share/keepass/icons/, so use that instead (keepass.desktop will be updated as well)
Created an attachment (id=94375) [details] keepass.desktop from version 0.2.2-r1 Please test this new version
(In reply to comment #23) > Created an attachment (id=94375) [edit] [details] > keepass.desktop from version 0.2.2-r1 > > Please test this new version > I cannot get this one working - I get: ------------------------ >>> Emerging (1 of 1) sys-apps/KeePassX-0.2.2-r1 to / >>> checking ebuild checksums ;-) >>> checking auxfile checksums ;-) >>> checking miscfile checksums ;-) >>> checking KeePassX-0.2.2.tar.gz ;-) >>> Unpacking source... >>> Unpacking KeePassX-0.2.2.tar.gz to /var/tmp/portage/KeePassX-0.2.2-r1/work >>> Source unpacked. >>> Compiling source in /var/tmp/portage/KeePassX-0.2.2-r1 ... /usr/local/portage/sys-apps/KeePassX/KeePassX-0.2.2-r1.ebuild: line 16: cd: /var/tmp/portage/KeePassX-0.2.2-r1/work/KeePassX-0.2.2: No such file or directory Usage: /usr/bin/qmake [mode] [options] [files] QMake has two modes, one mode for generating project files based on some heuristics, and the other for generating makefiles. Normally you shouldn't need to specify a mode, as makefile generation is the default mode for qmake, but you may use this to test qmake on an existing project Mode: -project Put qmake into project file generation mode In this mode qmake interprets files as files to be built, defaults to *.c; *.ui; *.y; *.l; *.ts; *.qrc; *.h; *.hpp; *.hh; *.hxx; *.H; *.cpp; *.cc; *.cxx; *.C -makefile Put qmake into makefile generation mode (default) In this mode qmake interprets files as project files to be processed, if skipped qmake will try to find a project file in your current working directory Warnings Options: -Wnone Turn off all warnings -Wall Turn on all warnings -Wparser Turn on parser warnings -Wlogic Turn on logic warnings Options: * You can place any variable assignment in options and it will be * * processed as if it was in [files]. These assignments will be parsed * * before [files]. * -o file Write output to file -unix Run in unix mode -win32 Run in win32 mode -macx Run in Mac OS X mode -d Increase debug level -t templ Overrides TEMPLATE as templ -tp prefix Overrides TEMPLATE so that prefix is prefixed into the value -help This help -v Version information -after All variable assignments after this will be parsed after [files] -norecursive Don't do a recursive search -recursive Do a recursive search -cache file Use file as cache [makefile mode only] -spec spec Use spec as QMAKESPEC [makefile mode only] -nocache Don't use a cache file [makefile mode only] -nodepend Don't generate dependencies [makefile mode only] -nomoc Don't generate moc targets [makefile mode only] -nopwd Don't look for files in pwd [project mode only] !!! ERROR: sys-apps/KeePassX-0.2.2-r1 failed. Call stack: ebuild.sh, line 1539: Called dyn_compile ebuild.sh, line 939: Called src_compile KeePassX-0.2.2-r1.ebuild, line 17: Called die !!! qmake failed !!! If you need support, post the topmost build error, and the call stack if relevant. !!! This ebuild is from an overlay: '/usr/local/portage' ------------------------
(In reply to comment #24) > (In reply to comment #23) > > Created an attachment (id=94375) [edit] [details] > > keepass.desktop from version 0.2.2-r1 > > > > Please test this new version > > > > I cannot get this one working - I get: > > ------------------------ > >>> Emerging (1 of 1) sys-apps/KeePassX-0.2.2-r1 to / Name the ebuild keepassx-0.2.2-r1.ebuild (not upper case!) and try again, please
(In reply to comment #25) > Name the ebuild keepassx-0.2.2-r1.ebuild (not upper case!) and try again, > please > Thanks - that did it
This is now in the sunrise overlay. You can find it soon at: http://gentoo-sunrise.org/svn/reviewed/app-admin/keepassx I commited a slightly revised version -r2 -inherit eutils (for domenu) -renamed keepass.desktop to keepassx.desktop -install .desktop file a bit more elegantly with domenu -added RDEPEND line
(From update of attachment 94374 [details]) Now in sunrise
Please test and report problems here.
Ebuild is in Portage now for ~x86 as app-admin/keepassx, I hope I forgot no on in the inital ChangeLog entry. Keywording for other arches will be requested. Thanks for the patience.