Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1208911 - Review Request: doublecmd - Twin-panel (commander-style) file manager
Summary: Review Request: doublecmd - Twin-panel (commander-style) file manager
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1209477 1215643 1247925
Blocks: FE-DEADREVIEW
TreeView+ depends on / blocked
 
Reported: 2015-04-03 20:57 UTC by Raphael Groner
Modified: 2017-12-12 23:32 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 989791
Environment:
Last Closed: 2015-12-16 16:22:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
licensecheck.txt (105.58 KB, text/plain)
2015-11-17 19:39 UTC, Raphael Groner
no flags Details
rpmlint.txt (2.11 KB, text/plain)
2015-11-17 19:40 UTC, Raphael Groner
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 989791 0 medium CLOSED Review Request: doublecmd-qt4 - Twin-panel (commander-style) file manager(Qt4) 2023-09-12 00:23:37 UTC
Red Hat Bugzilla 989792 0 medium CLOSED Review Request: doublecmd-gtk2 - Twin-panel (commander-style) file manager(Gtk2) 2022-05-16 11:32:56 UTC

Internal Links: 989791 989792

Description Raphael Groner 2015-04-03 20:57:46 UTC
Spec URL: https://raphgro.fedorapeople.org/review/qt/doublecmd-qt/doublecmd-qt.spec
SRPM URL: https://raphgro.fedorapeople.org/review/qt/doublecmd-qt/doublecmd-qt-0.6.1-1.20150402svn5941.fc21.src.rpm
Description: Twin-panel (commander-style) file manager (Qt4)
Fedora Account System Username: raphgro

rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9408616
==> ERROR: Broken dependency: KASComp 1.8>KASComp 1.8

f22 scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9408636
==> OK

As a base doublecmd-gtk.spec from vondruch is used cause the links in the original request (bug #989791) are dead.

There are some rpmlint errors about the plugin binaries. Not sure how to fix, help would be very appreciated.


+++ This bug was initially created as a clone of Bug #989791 +++

Spec URL: http://cicku.me/doublecmd-qt4.spec
SRPM URL: http://cicku.me/doublecmd-qt4-0.5.6-1.fc20.src.rpm
Description: Double Commander is a cross platform open source file manager with two panels 
side by side. It is inspired by Total Commander and features some new ideas.

Here are some key features of Double Commander:
- Unicode support
- All operations working in background
- Multi-rename tool
- Tabbed interface
- Custom columns
- Internal text editor (F4)  with syntax hightlighting
- Built in file viewer (F3) to view files of in hex, binary or text format
- Archives are handled like subdirectories. You can easily copy files to and 
from archives. Supported archive types: ZIP, TAR GZ, TGZ, LZMA and also BZ2, 
RPM, CPIO, DEB, RAR.
- Extended  search function with full text search in any files
- Configurable button bar to start external programs or internal menu commands
- Total Commander WCX, WDX and WLX plug-ins support
- File operations logging

Fedora Account System Username: cicku

--- Additional comment from Mario Blättermann on 2013-08-04 21:58:56 CEST ---

A *.desktop file needs to be installed explicitely or validated:
http://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_usage

Besides that, desktop-file-utils are needed as a build requirement.

The package contains the file /usr/bin/doublecmd. The same file is in the package doublecmd-gtk2 (bug #989792), which would cause a package conflict. You have added a Conflicts: tag to both packages, but I wouldn't recommend this really. You should try to package both from the same source rpm instead and rename the files appropriately. If you would do so, you could move the files shared between the two versions to a -common subpackage (noarch), such as docs, icons, man pages, wherever possible.

--- Additional comment from Christopher Meng on 2013-08-05 03:21:50 CEST ---

(In reply to Mario Blättermann from comment #1)
> A *.desktop file needs to be installed explicitely or validated:
> http://fedoraproject.org/wiki/Packaging:Guidelines#desktop-file-install_usage

Fixed.

> The package contains the file /usr/bin/doublecmd. The same file is in the
> package doublecmd-gtk2 (bug #989792), which would cause a package conflict.
> You have added a Conflicts: tag to both packages, but I wouldn't recommend
> this really. You should try to package both from the same source rpm instead
> and rename the files appropriately. If you would do so, you could move the
> files shared between the two versions to a -common subpackage (noarch), such
> as docs, icons, man pages, wherever possible.

I understand your meaning, but the fact is that Lazarus only supports one widgetset(gtk2 or qt) in one time, so I cannot build them in one src rpm,

./build.sh beta qt

if then I run

./build.sh beta gtk2,

the newly built things will override the generated qt files.

This also happen in another package I haven't submitted.

--- Additional comment from Michael Schwendt (Fedora Packager Sponsors Group) on 2013-08-05 10:23:18 CEST ---

At the end of %prep you could copy the builddir contents to a second builddir.

--- Additional comment from Christopher Meng on 2013-08-05 11:11:30 CEST ---

(In reply to Michael Schwendt from comment #3)
> At the end of %prep you could copy the builddir contents to a second
> builddir.

After consulting with upstream, they said that I can use another way:

./build.sh beta gtk2
./build.sh save gtk2

and

./build.sh beta qt
./build.sh save qt

then 

install/linux/install.sh gtk2 from saved gtk2 and install/linux/install.sh qt4 from saved qt4.

Is it alright?

I don't have time today, tomorrow may have a try.

--- Additional comment from Michael Schwendt (Fedora Packager Sponsors Group) on 2013-08-16 21:35:44 CEST ---

> Is it alright?

Dunno. I haven't examined the source code that much. One more general way is to create a copy of the source tree (e.g. in %prep), so you get two trees which you can configure differently (likely with a strict set of --enable-foo/--disable-foo options).

--- Additional comment from Mario Blättermann on 2013-10-20 20:00:27 CEST ---

Is there any decision made how to proceed with doublecmd? In any case, you should close one ticket of doublecmd-qt and doublecmd-gtk. It would be odd to generate to srpms for the two packages.

--- Additional comment from Mario Blättermann on 2013-10-31 20:05:33 CET ---

Any progress here...?

--- Additional comment from Mario Blättermann on 2013-11-16 16:32:25 CET ---

(In reply to Mario Blättermann from comment #7)
> Any progress here...?

Same question again...?

Anyway, you should open a new review ticket for doublecmd and mark doublecmd-qt4 and doublecmd-gtk2 as duplicates. In fact both of the current tickets are NotReady.

--- Additional comment from Raphael Groner on 2014-03-28 15:16:19 CET ---

(In reply to Mario Blättermann from comment #7)
> Any progress here...?

http://vondruch.fedorapeople.org/doublecmd/

--- Additional comment from Raphael Groner on 2014-12-11 18:14:40 CET ---

Should I take the request by clone this bug and closing?

--- Additional comment from Raphael Groner on 2015-02-05 16:16:04 CET ---

Hi Christopher,

are you still interested in mainting this package? If not, I would suggest to consider this as a dead review, unfortunately.

--- Additional comment from Raphael Groner on 2015-02-25 17:03:52 CET ---

Ping? Again?

--- Additional comment from Christopher Meng on 2015-02-26 04:14:39 CET ---

(In reply to Raphael Groner from comment #12)
> Ping? Again?

--- Additional comment from Raphael Groner on 2015-03-30 16:32:31 CEST ---

WTF? What's this here? No progress since monthes. Sorry to raise and sound unfriendly but this issue here is generally no acceptable process.

--- Additional comment from Raphael Groner on 2015-04-03 22:34:08 CEST ---

Taking over here. Closing.

Comment 1 Vít Ondruch 2015-04-07 06:16:41 UTC
Raphael,

Thanks for taking this for a review. I have never tried to push Double Commander through it, since I am not sure about its bundling.

Nevertheless, if you are serious about this review, would you mind to adjust your spec to have actually doublecmd-gtk and doublecmd-qt subpackages? Doing just doublecmd-qt or doublecmd-gtk review would be missed opportunity IMO.

Thanks.

Comment 2 Raphael Groner 2015-04-07 15:00:32 UTC
Hi Vit.

Sure, we can add the gtk2 build. In past, there were those two separate requests that never got more feedback. Therefore I continued to do so with the separation.

What bundling are you talking about?

Comment 3 Vít Ondruch 2015-04-08 08:33:01 UTC
The plugins ships with some bundled libraries, if I am not mistaken. Not sure how much of the code is original and how much of it is just copied from somewhere.

Also, the components are tricky. This is how Delphi/Lazarus works, but typically, this code is taken from somewhere and just copied into the project. It should be probably discussed with FPC.

Comment 4 Raphael Groner 2015-04-27 11:34:39 UTC
* Sun Apr 26 2015 Raphael Groner <> - 0.6.2-0.1.20150426svn6000
- revision 6000
- add build for gtk2
- split into subpackages

SPEC: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd.spec
SRPM: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd-0.6.2-0.1.20150426svn6000.fc21.src.rpm

rawhide scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9575854
==> FTBFS, bug #1215643
ERROR: Broken dependency: KASComp 1.8>KASComp 1.8

f22 scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9575922
==> FTBFS, bug #1215643

f21 scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=9576041
==> OK

f20 scratch (without Suggests): http://koji.fedoraproject.org/koji/taskinfo?taskID=9576067
==> OK


(In reply to Vít Ondruch from comment #3)
> The plugins ships with some bundled libraries, if I am not mistaken. Not
> sure how much of the code is original and how much of it is just copied from
> somewhere.

Upstream says it is GPLv2 or LGPLv2 with exception for the Lazarus libraries. I do not see any problem here.

> Also, the components are tricky. This is how Delphi/Lazarus works, but
> typically, this code is taken from somewhere and just copied into the
> project. It should be probably discussed with FPC.

Hmm ok. Maybe poking arout at FPC could be useful somehow.

Comment 5 Raphael Groner 2015-04-27 11:59:35 UTC
f20 scratch (without Suggests): http://koji.fedoraproject.org/koji/taskinfo?taskID=9576272
==> FTBFS
TExternalToolList.Run Exception: /builddir/build/BUILD/doublecmd-r6000/components/doublecmd/dcprocessutf8.pas(24,5) Fatal: Can't find unit UTF8Process used by DCProcessUtf8

Comment 6 Raphael Groner 2015-05-01 12:51:38 UTC
It turns out that lazbuild needs a bugfix to get some doublecmd build success.

> Lazarus 1.4 has a bug in lazbuild utility. I wrote about it to Lazarus
> bugtracker and it was fixed (revisions 48892,48893). This fix will be 
> included in Lazarus 1.4.2 .

Comment 7 Raphael Groner 2015-05-10 09:16:36 UTC
Upstream announced version 0.6.2 beta. I'll try to update the package soon.
http://doublecmd.sourceforge.net/mantisbt/changelog_page.php?version_id=34

If there'll still be build issues as it turns out for the r6000 checkout, we should continue this review with the 0.6.1 stable version.

Comment 8 Raphael Groner 2015-07-14 18:02:07 UTC
Waiting for availability of new lazbuild, see comment #6.

Comment 10 Vít Ondruch 2015-07-21 05:54:14 UTC
Last time I discussed the .zdli with upstream, they insisted that we should distribute also the .zdli, although we have possibly debuginfo available and that we should use the "beta" target for build. I know that it seems to be duplicated information, on the other hand, there is code in DoubleCmd, which can consume the .zdli and should be able to provide some better crash reports for end users as well for upstream.

In the end, it is up to you, I just sharing the information ...

Comment 11 Raphael Groner 2015-07-21 09:21:35 UTC
(In reply to Vít Ondruch from comment #10)
> Last time I discussed the .zdli with upstream, they insisted that we should
> distribute also the .zdli, although we have possibly debuginfo available and
> that we should use the "beta" target for build. I know that it seems to be
> duplicated information, on the other hand, there is code in DoubleCmd, which
> can consume the .zdli and should be able to provide some better crash
> reports for end users as well for upstream.

Okay, fixed. Thanks for this information.

Though, I don't see any reason why "beta" target is needed, do you mean to put in Release? Version 0.6.4 is official with no beta hint at all, the zero in front of version should be enough identification for any beta thought of upstream.

* Tue Jul 21 2015 Raphael Groner <> - 0.6.4-2
- distribute zdli files for crash reports
- avoid duplicated documentation and binaries
- improve shell logging

SPEC: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd.spec
SRPM: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd-0.6.4-2.fc22.src.rpm

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=10424505

Comment 12 Raphael Groner 2015-07-21 09:34:47 UTC
FTBFS for arch i686:
…
+ /usr/bin/lazbuild src/doublecmd.lpi --bm=beta --widgetset=gtk2 --cpu=i386
…
TProject.DoLoadStateFile Statefile not found: /builddir/build/BUILD/doublecmd-0.6.4/units/i386-linux-gtk2/doublecmd.compiled
TBuildManager.CheckIfPackageNeedsCompilation  No state file for Project
TExternalTool.DoExecute Title="Project: Executing command before" Process.CurrentDirectory="/builddir/build/BUILD/doublecmd-0.6.4/src/" Executable="/builddir/build/BUILD/doublecmd-0.6.4/src/_getsvnrev.cmd" Params:
/usr/lib/lazarus/
An unhandled exception occurred at $00000008 :
EAccessViolation : Access violation
  $00000008
  $081710A7
  $081722CE
  $0805F4D2
An unhandled exception occurred at $0806FDD1 :
EInOutError : 
  $0806FDD1
  $08065998
  $0808D015
  $08060634
  $080A12E5
  $0806383E
  $081710A7
  $081722CE
  $0805F4D2


Really strange cause that does not happen with arch x86_64.

Comment 13 Vít Ondruch 2015-07-21 10:11:12 UTC
(In reply to Raphael Groner from comment #11)
> Though, I don't see any reason why "beta" target is needed, do you mean to
> put in Release? Version 0.6.4 is official with no beta hint at all, the zero
> in front of version should be enough identification for any beta thought of
> upstream.

I think that the "beta" builds everything, including the plugins (you do this in separate step) and debug information. Not sure what and if there is any other difference, but I doubt that.

(In reply to Raphael Groner from comment #12)
> FTBFS for arch i686:

It builds in Rawhide and F21 at least [1], but the F22 build is broken ATM (it is actually Rawhide build, have to wait till Lazarus lands in updates for F22 :/ ).



[1] https://copr.fedoraproject.org/coprs/vondruch/doublecmd/

Comment 14 Raphael Groner 2015-07-21 11:16:27 UTC
> [1] https://copr.fedoraproject.org/coprs/vondruch/doublecmd/

I decided to not like building from subversion, at least not for an official package and if there's no patch needed.

FTBFS is magically fixed. But ARM seems to partly build for ages (duration is >1 day), maybe we should consider to use an ExcludeArch here.

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=10424958

Comment 15 Christopher Meng 2015-07-23 09:13:29 UTC
I'm thinking about using alternative command to make 2 packages existing in one system.

Thoughts?

Comment 16 Christopher Meng 2015-07-23 09:15:00 UTC
I'm also against that as default doublecmd is built with gtk2 widget.

Comment 17 Raphael Groner 2015-07-23 15:04:45 UTC
Christopher, what are you talking about?

The difference between qt and gtk2 is handled with subpackages. I fail to see any trouble with that.

Comment 18 Rex Dieter 2015-10-21 15:58:25 UTC
naming: ok

licensing: ok

sources: ok
926bd7bea6bccd2c618d97d39cc7d4ad  doublecmd-0.6.4-src.tar.gz

1. MUST use desktop-file-install or desktop-file-validate for application .desktop files, see
http://fedoraproject.org/wiki/Packaging:Guidelines#Desktop_files

macros: ok

scriptlets: ok (n/a)

2.  SHOULD reconsider the need for -plugins subpkg, what's the use-case for this optional component (rather than just including it all in the main pkg)?

3.  SHOULD include only one (or none?) of these in the main pkg,
Suggests:       %{name}-qt = %{version}-%{release}
Suggests:       %{name}-gtk = %{version}-%{release}
Including both doesn't give dnf any hint/help as to which to pick by default.

Comment 19 Rex Dieter 2015-11-16 12:49:11 UTC
ping?

Comment 20 Raphael Groner 2015-11-16 21:19:54 UTC
Sorry for the long delay, this request got somehow lost under the table.

SPEC: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd.spec
SRPM: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd-0.6.6-1.fc23.src.rpm

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=11872752

* Mon Nov 16 2015 Raphael Groner <> - 0.6.6-1
- new upstream version
- add desktop-file-validate
- remove obsolete Suggests
- split plugins into optional subpackages
- add more documentation

For plugins, please notice the additional (but proprietary?) documentation:
http://doublecmd.sourceforge.net/site/eng/plugins.html
Those zip files are part of Total commander API documentation, and so can not be part of our packages, there's no obvious license.

Comment 21 Raphael Groner 2015-11-17 19:02:58 UTC
Another update due to execution of licensecheck and rpmlint.

SPEC: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd.spec
SRPM: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd-0.6.6-1.fc23.src.rpm

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=11886103

* Tue Nov 17 2015 Raphael Groner <> - 0.6.6-1
- new upstream version
- add desktop-file-validate
- remove obsolete Suggests
- split plugins into optional subpackages
- add more documentation
- improve license specification
- fix rpmlint warnings

No idea how to fix those rpmlint errors with the plugins:
E: shared-lib-without-dependency-information (several binaries)
E: library-not-linked-against-libc (ftp.wfx)

For plugins, please notice the additional (but proprietary?) documentation:
http://doublecmd.sourceforge.net/site/eng/plugins.html
Those zip files are part of Total commander API documentation, and so can not be part of our packages, there's no obvious license.

Comment 22 Raphael Groner 2015-11-17 19:39:12 UTC
Created attachment 1095627 [details]
licensecheck.txt

Comment 23 Raphael Groner 2015-11-17 19:40:36 UTC
Created attachment 1095628 [details]
rpmlint.txt

Comment 24 Upstream Release Monitoring 2015-11-18 22:46:54 UTC
raphgro's scratch build of doublecmd-0.6.6-2.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=11895688

Comment 25 Raphael Groner 2015-11-18 22:56:42 UTC
SPEC: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd.spec
SRPM: https://raphgro.fedorapeople.org/review/doublecmd/doublecmd-0.6.6-2.fc23.src.rpm

Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=11895688

* Wed Nov 18 2015 Raphael Groner <> - 0.6.6-2
- disable qt build on arm architectures

Comment 26 Raphael Groner 2015-11-26 20:42:28 UTC
ARM support is not the best in fpc 2.x series, there's the new upstream version 3.0 of fpc that could make things better.

Comment 27 Raphael Groner 2015-12-16 16:22:26 UTC
Sadly to say but there no senseful news to expect from upstream.
. Qt4 development has stopped, Qt4Pas is still in no good stable state at upstream.
. Gtk2 is in maintainance mode mostly and can not be expected to get new features.
. fpc (Free Pascal Compiler) still has severe issues with ARM support in general.

Closing. Feel free to reopen or restart a new review request if you still think doublecmd should be packaged officially.

Comment 28 Rex Dieter 2017-01-27 15:38:19 UTC
clearing flags

Comment 29 Daniel Laskowski 2017-12-11 12:30:49 UTC
Double Commander is still in development - new version 0.8.0 arrived:)
https://sourceforge.net/p/doublecmd/news/2017/12/double-commander-080-beta-released/

Sadly it still is not available in Fedora repos... It is because of commercial Total Commander dependencies? Why not put it in rpmfusion.org repo?

Comment 30 Kevin Kofler 2017-12-11 16:24:20 UTC
The main reason is that it is written in FPC/Lazarus, which is not a mainstream programming language, and which is fairly poorly maintained upstream. There are bindings (and corresponding backends for the cross-toolkit widget abstraction) only for Qt 4 and GTK+ 2, which are both deprecated. The GTK+ 3 backend is still in alpha stage, there is no mention of a Qt 5 or GTK+ 4 backend at all. So essentially, comment #27 still applies, 2 years later (which also means that the code has become even more outdated).

Comment 31 Vít Ondruch 2017-12-11 16:29:24 UTC
(In reply to Daniel Laskowski from comment #29)
> Double Commander is still in development - new version 0.8.0 arrived:)
> https://sourceforge.net/p/doublecmd/news/2017/12/double-commander-080-beta-
> released/
> 
> Sadly it still is not available in Fedora repos... It is because of
> commercial Total Commander dependencies?

It has nothing to do with TC IMO. The comment 1 and comment 3 explains my concerns.

But generally, somebody would have to be dedicated enough to get it into Fedora.

> Why not put it in rpmfusion.org repo?

It is available in Copr [1], but even there it needs some maintenance ...


[1] https://copr.fedorainfracloud.org/coprs/vondruch/doublecmd/

Comment 32 Daniel Laskowski 2017-12-12 21:11:12 UTC
(In reply to Kevin Kofler from comment #30)
> The main reason is that it is written in FPC/Lazarus, which is not a
> mainstream programming language, and which is fairly poorly maintained
> upstream.

Probably you are right that this application is poorly maintained, but from user point of view: "it just works". And, surprisingly, it is working very stable and in the same way on Fedora (installed from opensuse standalone rpm file) and Windows. I even abandoned licensed Total Commander for it. Now I could use the same file manager in work (Windows) and in home (Linux with Windows VMs) with very similar configuration...

It would be great to have it in official repo or in rpmfusion.org. I would even try to pack it by myself, but I'm afraid that my programming skills are too weak. Also looking on previous abandoned attempts - it looks like Fedora packaging process is too repressive.

Comment 33 Kevin Kofler 2017-12-12 23:26:58 UTC
It is not the application that's poorly maintained, it's the programming language (and its standard libraries). This means that packaging applications written in it are a PITA to package.

Comment 34 Kevin Kofler 2017-12-12 23:32:30 UTC
It looks like there is actually a Qt 5 interface now:
http://wiki.lazarus.freepascal.org/Qt5_Interface
but I did not find it yesterday because it is not linked from anywhere in the Free Pascal wiki. It is also not packaged in Fedora yet, I see only a qt4pas package, no qt5pas.

I think packaging doublecmd will have to start from taking care of the FPC and Lazarus packaging.


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