Bug 119907 - New ebuild for keepass password safe
|
Bug#:
119907
|
Product: Gentoo Linux
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: enhancement
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: fauli@gentoo.org
|
Reported By: luca.rosellini@libero.it
|
|
Component: Ebuilds
|
|
|
URL:
|
|
Summary: New ebuild for keepass password safe
|
|
Keywords: EBUILD, InOverlay
|
|
Status Whiteboard: [sunrise overlay]
|
|
Opened: 2006-01-22 04:15 0000
|
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=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
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
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
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
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=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)
(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
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.