Spec URL: ftp://srv.l14.ru/pub/repo/FC/9/SPECS/tktray.spec SRPM URL: ftp://srv.l14.ru/pub/repo/FC/9/SRPMS/tktray-1.1-1.fc9.src.rpm Description: Tktray is an extension that is able to create system tray icons. It follows http://www.freedesktop.org specifications when looking up the system tray manager. This protocol is supported by modern versions of KDE and Gnome panels, and by some other panel-like application.
This library Requires by tkabber https://bugzilla.redhat.com/show_bug.cgi?id=446976
Ok, I'll review it, first.
Sorry for the delay. REVIEW: - rpmlint is not silent. [petro@Sulaco SPECS]$ rpmlint ../RPMS/ppc/tktray-* tktray.ppc: E: description-line-too-long It follows http://www.freedesktop.org specifications when looking up the system tray manager. tktray.ppc: E: description-line-too-long This protocol is supported by modern versions of KDE and Gnome panels, and by some other panel-like application. [petro@Sulaco SPECS]$ Please, shorten these lines. + The package is named according to the Package Naming Guidelines. + The spec file name matches the base package %{name}, in the format %{name}.spec. + The package meets the Packaging Guidelines. + The package is licensed with a Fedora approved license and meet the Licensing Guidelines. - The License field in the package spec file doesn't match the actual license. I think that actual license is BSD, although IANAL (see license.terms). - The file, containing the text of the license(s) for the package must be included in %doc. + The spec file is written in American English. + The spec file for the package is legible. Consider only to remove excessive newlines and spacing and add newline before %changelog section. + The sources used to build the package matches the upstream source, as provided in the spec URL. [petro@Sulaco SOURCES]$ md5sum tktray1.1.tar.gz* d033dd0cf47cb6205364868455e01394 tktray1.1.tar.gz d033dd0cf47cb6205364868455e01394 tktray1.1.tar.gz.1 [petro@Sulaco SOURCES]$ + The package successfully compiles and builds into binary rpms on at least one supported architecture (powerpc). + All build dependencies are listed in BuildRequires. + A package owns all directories that it creates. + A package does not contain any duplicate files in the %files listing. + Permissions on files are set properly. - The package doesn't have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). + The package consistently using macros. + The package contains code, or permissable content. + Package doesn't contain any .la libtool archives. + Package does not own files or directories already owned by other packages. + At the beginning of %install, the package runs rm -rf $RPM_BUILD_ROOT. + All filenames in rpm packages are valid UTF-8. Summarizing things: * Fix license field * Add license.terms to %docs * Consider removal of excessive whitespacing in spec file and adding newline before %changelog (just for better look)) * Add a %clean section
UPD: and don't forget to shorten llines in %description
Fixed. My ftp server temporary unavailable from internet. See updated spec file in attachments.
Created attachment 306624 [details] updated spec file
Issues: * Still very long line in %description * in build section make invokes w/o %{?_smp_mflags}. If it cannot be built with %{?_smp_mflags} you must mention it. * chmod 644 license.terms in %prep section * Fix buildroot tag (according to http://fedoraproject.org/wiki/Packaging/Guidelines#head-b4fdd45fa76cbf54c885ef0836361319ab962473 ) to mandatory value: BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) * Seems that "Group: Applications/Communications" is wrong choice. I think that something like "Applications/System" or "User Interface/Desktops" will be more suitable. Other things looks good.
Ping! )
ok, today my internet provider return me to internet. ;) spec fixed, srpm and spec files: ftp://ftp.l14.ru/pub/repo/FC/9/SPECS/tktray.spec ftp://ftp.l14.ru/pub/repo/FC/9/SRPMS/tktray-1.1-1.fc9.src.rpm
OK, all issues are solved. Now this package is APPROVED.
Another one Ping! )
what next?
You shoud raise fedora-cvs flag to "?" and create "New Package CVS Request", as described here: https://fedoraproject.org/wiki/PackageMaintainers/CVSAdminProcedure
>You shoud raise fedora-cvs flag to "?" Flag Modification Denied You tried to request fedora-cvs. Only an authorized user can make this change. Logged In avl | My Front Page | Log Out
New Package CVS Request ======================= Package Name: tktray Short Description: System Tray Icon Support for Tk on X11 Owners: avl,lemenkov Branches: F-8 F-9 InitialCC: lemenkov Cvsextras Commits: yes
To accomplish the tasks described here, you need to be a member of the fedorabugs group. ?
Weird. Is it your first package submitted to Fedora? Are you already sponsored?
>Is it your first package submitted to Fedora? Yes. This is my first package. >Are you already sponsored? o0 What do you mean?
Ehhh... Right now you stopped at this point http://fedoraproject.org/wiki/PackageMaintainers/Join#Create_Your_Review_Request (Read from the exclamation mark and below) Sadly, I can't sponsor you, so we need to wait until someone sponsors you.
I'll try to look at the lastest srpm as one of sponsor members later.
ok. Thank You.
! Note: - Please change the version number every time you modify your spec to avoid confusion. Well, for 1.1-1: * First of all, this does not build. - On i386 http://koji.fedoraproject.org/koji/taskinfo?taskID=647411 build.log shows that libXext-devel is missing from BuildRequires (also libX11-devel can be added to BuildRequires explicitly) - On x86_64 http://koji.fedoraproject.org/koji/taskinfo?taskID=647385 build.log shows tclConfig.sh cannot be found (also tkConfig.sh is not found). Actually on x86_64 t{k,tl}Config.sh are under /usr/lib64, but configure does not try to search into the directory. Adding "--with-tcl=%{_libdir} --with-tk=%{__libdir}" to configure option is needed. * optflags http://fedoraproject.org/wiki/Packaging/Guidelines#CompilerFlags - Fedora specific compilation flags are not correctly honored. Due to this issue, the current debuginfo rpm is useless. * This can be fixed by using %configure macro as ------------------------------------------------------------- %build %configure \ --libdir=%{tcl_sitearch} \ --with-tcl=%{_libdir} \ --with-tk=%{_libdir} make %{?_smp_mflags} ------------------------------------------------------------- Check what %configure actually does by `rpm --eval %configure` . * License - This is MIT, not BSD. * Timestamps - To keep timestamps on the installed files as much as possible, consider to use: ------------------------------------------------------------- make DESTDIR=$RPM_BUILD_ROOT INSTALL="install -p" install ------------------------------------------------------------- This method usually works for recent autotool-based Makefiles. - Also, please keep the timestamp on the source tarball in srpm, too. Please re-download the source tarball by ------------------------------------------------------------- $ wget -N http://www.sw4me.com/tktray1.1.tar.gz ------------------------------------------------------------- for example. Actually the "correct" timestamps for tktray1.1.tar.gz is "2006-01-07 03:08 UTC", where the tarball in srpm shows "2008-05-16 18:11 UTC". * ABI virtual dependency http://fedoraproject.org/wiki/Packaging/Tcl - For directory ownership issue (and so on), the following virtual dependency must be added ------------------------------------------------------------- Requires: tcl(abi) = 8.5 ------------------------------------------------------------- * defattr - We now recommend %defattr(-,root,root,-) * Documents - Please consider to add "ChangeLog" to %doc (with permission fixed)
(In reply to comment #22) > ! Note: > - Please change the version number every time you modify your > spec to avoid confusion. Should be read as "Please change the *release* number", sorry...
(In reply to comment #22) > Actually on x86_64 t{k,tl}Config.sh are under /usr/lib64, but ... Actually on x86_64 t{k,cl}config.sh are .... > configure does not try to search into the directory. > Adding "--with-tcl=%{_libdir} --with-tk=%{__libdir}" to ... Adding "--with-tcl=%{_libdir} --with-tk=%{_libdir}" ... Sorry again...
fixed ftp://ftp.l14.ru/pub/repo/FC/9/SPECS/tktray.spec ftp://ftp.l14.ru/pub/repo/FC/9/SRPMS/tktray-1.1-2.fc9.src.rpm
Oh. one more thing: * optflags again From http://koji.fedoraproject.org/koji/getfile?taskID=647741&name=build.log ------------------------------------------------------------------------------- 225 gcc -pipe -DPACKAGE_NAME=\"tktray\" -DPACKAGE_TARNAME=\"tktray\" -DPACKAGE_VERSION=\"1.1\" -DPACKAGE_STRING= \"tktray\ 1.1\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -I"/usr/include" -I"/usr/include/tk-private/generic" -I"/usr/include/tk-private/unix" -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -O2 -fomit-frame-pointer -Wall -Wno-implicit-int -fPIC -c `echo tktray.c` -o tktray.o ------------------------------------------------------------------------------- - Compiler option "-fomit-frame-pointer" is forbidden on Fedora because this makes debugging very difficult - Also I guess "-Wno-implicit-int" should be removed (I think this is somewhat dangerous)
fixed ftp://ftp.l14.ru/pub/repo/FC/9/SPECS/tktray.spec ftp://ftp.l14.ru/pub/repo/FC/9/SRPMS/tktray-1.1-3.fc9.src.rpm
sorry I think, this is bad idea to hardcode options to CFLAGS_DEFAULT. fixed. ftp://ftp.l14.ru/pub/repo/FC/9/SPECS/tktray.spec ftp://ftp.l14.ru/pub/repo/FC/9/SRPMS/tktray-1.1-4.fc9.src.rpm
Okay. --------------------------------------------------------------- This package (tktray) is APPROVED by me --------------------------------------------------------------- Please follow the procedure written on: http://fedoraproject.org/wiki/PackageMaintainers/Join from "Get a Fedora Account". At a point a mail should be sent to sponsor members which notifies that you need a sponsor. At the stage, please also write on this bug for confirmation that you requested for sponsorship and your FAS (Fedora Account System) name. Then I will sponsor you. If you want to import this package into Fedora 8/9, you also have to look at http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem/Bodhi-info-DRAFT (after once you rebuilt this package on koji Fedora rebuilding system). If you have questions, please ask me.
>Please follow the procedure written on: >http://fedoraproject.org/wiki/PackageMaintainers/Join >from "Get a Fedora Account". I'm already have fedora account "avl".
(In reply to comment #30) > I'm already have fedora account "avl". It is not enough. Please follow "Join" wiki again. At least you must request for cvsextras membership.
https://admin.fedoraproject.org/accounts/group/members/cvsextras avl None 2008-06-05 19:59:45 MSD None unapproved user ?
Now I am sponsoring you. Please follow "Join" wiki again.
New Package CVS Request ======================= Package Name: tktray Short Description: System Tray Icon Support for Tk on X11 Owners: avl Branches: F-8 F-9 InitialCC: lemenkov Cvsextras Commits: yes
CVSROOT=:ext:avl.org:/cvs/pkgs/ CVS_RSH=ssh cvs co tktray Permission denied (publickey,keyboard-interactive). cvs [checkout aborted]: end of file from server (consult above messages if any) rsa-key was generated as describes in http://fedoraproject.org/wiki/Cryptography#Creating_SSH_Keys public key id_rsa.pub was uploaded to my profile. https://admin.fedoraproject.org/accounts/user/view/avl -------------------------- ssh -2 -vvv avl.org sleep 1 OpenSSH_5.0p1, OpenSSL 0.9.8g 19 Oct 2007 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug2: ssh_connect: needpriv 0 debug1: Connecting to cvs.fedoraproject.org [209.132.176.51] port 22. debug1: Connection established. debug3: Not a RSA1 key file /home/avl/.ssh/id_rsa. debug2: key_type_from_name: unknown key type '-----BEGIN' debug3: key_read: missing keytype debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug3: key_read: missing whitespace debug2: key_type_from_name: unknown key type '-----END' debug3: key_read: missing keytype debug1: identity file /home/avl/.ssh/id_rsa type 1 debug1: identity file /home/avl/.ssh/id_dsa type -1 debug1: Remote protocol version 1.99, remote software version OpenSSH_3.9p1 debug1: match: OpenSSH_3.9p1 pat OpenSSH_3.* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.0 debug2: fd 3 setting O_NONBLOCK debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha256,diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour128,arcfour256,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64,hmac-ripemd160,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,umac-64,hmac-ripemd160,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib,zlib debug2: kex_parse_kexinit: none,zlib,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: kex_parse_kexinit: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 debug2: kex_parse_kexinit: ssh-rsa,ssh-dss debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc.se,aes128-ctr,aes192-ctr,aes256-ctr debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: hmac-md5,hmac-sha1,hmac-ripemd160,hmac-ripemd160,hmac-sha1-96,hmac-md5-96 debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: none,zlib debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: debug2: kex_parse_kexinit: first_kex_follows 0 debug2: kex_parse_kexinit: reserved 0 debug2: mac_setup: found hmac-md5 debug1: kex: server->client aes128-cbc hmac-md5 none debug2: mac_setup: found hmac-md5 debug1: kex: client->server aes128-cbc hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug2: dh_gen_key: priv key bits set: 130/256 debug2: bits set: 510/1024 debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug3: check_host_in_hostfile: filename /home/avl/.ssh/known_hosts debug3: check_host_in_hostfile: match line 1 debug3: check_host_in_hostfile: filename /home/avl/.ssh/known_hosts debug3: check_host_in_hostfile: match line 1 debug1: Host 'cvs.fedoraproject.org' is known and matches the RSA host key. debug1: Found key in /home/avl/.ssh/known_hosts:1 debug2: bits set: 518/1024 debug1: ssh_rsa_verify: signature correct debug2: kex_derive_keys debug2: set_newkeys: mode 1 debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug2: set_newkeys: mode 0 debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug2: service_accept: ssh-userauth debug1: SSH2_MSG_SERVICE_ACCEPT received debug2: key: /home/avl/.ssh/id_rsa (0xb8d3cc20) debug2: key: (0xb8d3f760) debug2: key: /home/avl/.ssh/id_dsa ((nil)) debug1: Authentications that can continue: publickey,keyboard-interactive debug3: start over, passed a different list publickey,keyboard-interactive debug3: preferred gssapi-with-mic,publickey,keyboard-interactive,password debug3: authmethod_lookup publickey debug3: remaining preferred: keyboard-interactive,password debug3: authmethod_is_enabled publickey debug1: Next authentication method: publickey debug1: Offering public key: /home/avl/.ssh/id_rsa debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,keyboard-interactive debug1: Offering public key: debug3: send_pubkey_test debug2: we sent a publickey packet, wait for reply debug1: Authentications that can continue: publickey,keyboard-interactive debug1: Trying private key: /home/avl/.ssh/id_dsa debug3: no such identity: /home/avl/.ssh/id_dsa debug2: we did not send a packet, disable method debug3: authmethod_lookup keyboard-interactive debug3: remaining preferred: password debug3: authmethod_is_enabled keyboard-interactive debug1: Next authentication method: keyboard-interactive debug2: userauth_kbdint debug2: we sent a keyboard-interactive packet, wait for reply debug1: Authentications that can continue: publickey,keyboard-interactive debug3: userauth_kbdint: disable: no info_req_seen debug2: we did not send a packet, disable method debug1: No more authentication methods to try. Permission denied (publickey,keyboard-interactive).
solved. next problem. fedora-cvs tktray Checking out tktray from fedora cvs: Error: cvs server: cannot find module `tktray' - ignored cvs [checkout aborted]: cannot expand modules
Please wait until cvsadmins changes fedora-cvs flag to plus.
ок, thanks
cvs done (except for the CC, as lemenkov doesn't seem to be a valid username)
ok, Thank you, Kevin!
bug in tcl-devel in fedora-8? In file included from /usr/include/tk-private/generic/tkPort.h:34, from /usr/include/tk-private/generic/tkInt.h:27, from tktray.c:3: /usr/include/tk-private/generic/../unix/tkUnixPort.h:210:20: error: tclInt.h: No such file or directory tcl-devel i386 1:8.4.17-1.fc8 build 139 k tk-devel i386 1:8.4.17-2.fc8 build 460 k
(In reply to comment #41) > bug in tcl-devel in fedora-8? > > In file included from /usr/include/tk-private/generic/tkPort.h:34, > from /usr/include/tk-private/generic/tkInt.h:27, > from tktray.c:3: > /usr/include/tk-private/generic/../unix/tkUnixPort.h:210:20: error: tclInt.h: No > such file or directory Seems a bug in tk 8.4, fixed in tk 8.5 (i.e. F-9+). I applied a workaround for F-8 tktray (1.1-4.fc8.1) http://koji.fedoraproject.org/koji/buildinfo?buildID=51923 Please check the change in CVS. Now for F-8/9 please submit a request for pushing rpms to the repository i.e. visit: https://admin.fedoraproject.org/updates/ After requesting, you can close this bug as NEXTRELEASE
Oops, F-8 tcl is 8.4 so one more fix is needed. Fixed in 1.1-4.fc8.2 (please check later)
Thanks, Mamoru! Requests for F-9 and F-8 done.