Bug 1111362 - Review Request: sigram - Telegram client from Sialan.labs
Summary: Review Request: sigram - Telegram client from Sialan.labs
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-06-19 20:43 UTC by Markus Dorfer
Modified: 2015-07-21 12:56 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-07-06 15:44:47 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Markus Dorfer 2014-06-19 20:43:30 UTC
Spec URL: http://blog.startx.de/sigram/sigram.spec
SRPM URL: http://blog.startx.de/sigram/sigram-0.5.5.2-2.fc20.src.rpm
Description: a telegram client for linux written in qt.
Fedora Account System Username: faxe

this is my first package. i already built the package in fedora koji.
http://koji.fedoraproject.org/koji/taskinfo?taskID=7059911
so i kindly ask, that somebody sponsors my request.

Comment 1 Christopher Meng 2014-06-20 03:19:51 UTC
I just started packaging this.

Welcome to Fedora, your SPEC doesn't follow the guidelines well:

1. These tags should be dropped:

Group:      System/GUI/Other
Packager:   Markus Dorfer<markus.dorfer>
---

rm -rf %{buildroot}

---

%defattr(-,root,root,-)

---

2. URL:        https://github.com/sialan-labs/sigram.git

I would use this link:

http://labs.sialan.org/projects/sigram

3. Summary tag should be:

Telegram client from Sialan.labs

4. BuildRequires: openssl-devel
BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtdeclarative-devel
BuildRequires: unzip

First, you need to know that it's better for Qt packages to use pkgconfig when finding qt modules:

http://fedoraproject.org/wiki/Packaging:PkgConfigBuildRequires

Then for some of these lines below, you shouldn't include them in SPEC as RPM has dependency generator, when you BuildRequires something, the Requires will be finished by RPM during the install:

Requires:   qt5-qtquickcontrols >= 5
Requires:   qt5-qtbase >= 5
Requires:   qt5-qtbase-gui >= 5
Requires:   qt5-qtdeclarative >= 5
Requires:   qt5-qtgraphicaleffects >= 5

e.g if you BR'ed 

BuildRequires: qt5-qtbase-devel
BuildRequires: qt5-qtdeclarative-devel

As declared before, these should be finished by RPM:

Requires:   qt5-qtbase >= 5
Requires:   qt5-qtdeclarative >= 5

yum install qt-creator qt5-qtbase qt5-qtbase-devel qt5-qtdeclarative qt5-qtquick1 qt5-qtquick1-devel kde-plasma-applicationname kde-plasma-nm qt5-qtdeclarative-devel qt5-qtdeclarative-static qt5-qtgraphicaleffects

Seems that qt5-qtquick1-devel is missing in your spec?

The last, no need to add ">= 5", it's nonsensical.

5. %description
Telegram Client for Linux written in QT5.

Too short, please take a look at the upstream website/readme file to rewrite a new one.

6. %build

mkdir build && cd build
qmake-qt5 -o Makefile ../SialanTelegram.pro

make %{?_snmp_mflags} 

1) You should use RPM macro %_qt5_qmake, the meaning of this macro can be found via:

$ rpm -E %_qt5_qmake

And I think %_qt5_qmake ../SialanTelegram.pro is enough, no other option needed.

2) make %{?_snmp_mflags}

Typo, should be:

make %{?_smp_mflags}

7. %install

install -d %{buildroot}/usr/bin/
install -d %{buildroot}/usr/share/applications/
install -d %{buildroot}/usr/share/sigram/
install -d %{buildroot}/usr/share/pixmaps/
cp -r $RPM_BUILD_DIR/%{name}-%{version}/build/countries database emojis fonts translations %{buildroot}%{_datadir}/sigram/
cp -r $RPM_BUILD_DIR/%{name}-%{version}/build/icons/icon.png %{buildroot}%{_datadir}/pixmaps/sigram.png
install $RPM_BUILD_DIR/%{name}-%{version}/build/tg-server.pub %{buildroot}%{_datadir}/sigram/
install $RPM_BUILD_DIR/%{name}-%{version}/build/SialanTelegram %{buildroot}%{_datadir}/sigram/
install %{SOURCE2} %{buildroot}%{_datadir}/applications/sigram.desktop
install -m 0755 %{SOURCE1} %{buildroot}/usr/bin/%{name}

1) install -d %{buildroot}/usr/bin/
install -d %{buildroot}/usr/share/applications/
install -d %{buildroot}/usr/share/sigram/
install -d %{buildroot}/usr/share/pixmaps/

*Please learn how to use macros consistently*:

https://fedoraproject.org/wiki/Packaging:RPMMacros

2) Please preserve timestamps while doing file actions.

https://fedoraproject.org/wiki/Packaging:Guidelines#Timestamps

3) install %{SOURCE2} %{buildroot}%{_datadir}/applications/sigram.desktop

Please learn how to use desktop-file-install:

https://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files

8. Source0:    %{name}-%{version}.tar.gz

Ask upstream to tag the project, and follow the tarball link trick here:

http://pkgs.fedoraproject.org/cgit/git-cola.git/tree/git-cola.spec#n7

---------------------------

Based on your spec I think you have 0 knowledge of Fedora guidelines, please follow this page step by step if you want to be sponsored successfully:

https://fedoraproject.org/wiki/Join_the_package_collection_maintainers

Comment 2 Sergio Basto 2015-07-06 02:07:51 UTC
Why Christopher why not packaging tdesktop ? 

https://github.com/telegramdesktop/tdesktop

Comment 3 Markus S. 2015-07-06 15:44:47 UTC
Telegram Desktop relies on a patched Qt5 fork and that results in bugs like this one: https://github.com/telegramdesktop/tdesktop/issues/702

Btw Sigram appears to be dead (there is a fork called Curegram). IMO therefore this issue can be closed.

Comment 4 Sergio Basto 2015-07-06 16:05:56 UTC
yeah , for reference we got some projects in copr: 

dnf copr search telegram

Matched: telegram 

rrix/bitlbee-tg-hc : Bitlbee with support for Telegram and Hipchat
jreznik/cutegram : Cutegram is a cross platform, free and opensource telegram clients, focusing on user friendly, compatibility with
                 : desktop environments. Cutegram is using Qt5, QML, libqtelegram, libappindication, AsemanQtTools technologies and Faenza
                 : icons and Twitter emojies graphic sets. It's free and released under GPLv3 license.
rommon/telegram : telegram desktop app
lsof/telegram-purple : Telegram-purple is a Libpurple plugin that adds support for the Telegram messenger to Pidgin.
iranzo/telegram-cli : Telegram CLI rpm based on https://github.com/vysheng/tg code

Thanks,


Note You need to log in before you can comment on or make changes to this bug.