Bug 266105 - New Port: Security/lurch
Summary: New Port: Security/lurch
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Felix Palmen
URL:
Keywords:
Depends on: 266104
Blocks:
  Show dependency treegraph
 
Reported: 2022-08-30 02:40 UTC by Michael Adeyeye Oshin
Modified: 2022-09-07 10:56 UTC (History)
4 users (show)

See Also:


Attachments
Tar file for the Security/Lurch (913 bytes, application/gzip)
2022-08-30 02:40 UTC, Michael Adeyeye Oshin
no flags Details
Securit/Lurch Poudriere Log (61.35 KB, text/plain)
2022-08-30 02:42 UTC, Michael Adeyeye Oshin
no flags Details
lurch-with-as-needed-linking (1.56 KB, patch)
2022-09-06 19:05 UTC, Felix Palmen
zirias: maintainer-approval? (micadeyeye)
Details | Diff
Poudriere log for lurch port (58.87 KB, text/plain)
2022-09-07 07:23 UTC, Michael Adeyeye Oshin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Adeyeye Oshin 2022-08-30 02:40:48 UTC
Created attachment 236234 [details]
Tar file for the Security/Lurch

The portlint and portfmt outputs are at https://paste.mozilla.org/mU8K0hwz.
Portlint is already enabled in Poudriere though.
Comment 1 Michael Adeyeye Oshin 2022-08-30 02:42:34 UTC
Created attachment 236235 [details]
Securit/Lurch Poudriere Log

Attached is the poudriere log for the port.
Comment 2 Felix Palmen freebsd_committer freebsd_triage 2022-09-06 19:05:21 UTC
Created attachment 236401 [details]
lurch-with-as-needed-linking

Hi, it turned out this plugin pulls in lots of seemingly unnecessary dependencies, which passing '--as-needed' to the linker seems to fix.

Could you please test whether the 'lurch.so' plugin built from the port in the attached patch still works as expected? Thank you!
Comment 3 Michael Adeyeye Oshin 2022-09-07 07:23:00 UTC
Created attachment 236409 [details]
Poudriere log for lurch port

The number of dependencies (306) did not change after applying the patch. Attached is the new log.
Comment 4 Felix Palmen freebsd_committer freebsd_triage 2022-09-07 07:27:09 UTC
(In reply to Michael Adeyeye Oshin from comment #3)
The number of *direct* dependencies changed.

Before:
 0x0000000000000001 NEEDED               Shared library: [libaxc.so.0]
 0x0000000000000001 NEEDED               Shared library: [libc.so.7]
 0x0000000000000001 NEEDED               Shared library: [libdl.so.1]
 0x0000000000000001 NEEDED               Shared library: [libgcrypt.so.20]
 0x0000000000000001 NEEDED               Shared library: [libglib-2.0.so.0]
 0x0000000000000001 NEEDED               Shared library: [libgpg-error.so.0]
 0x0000000000000001 NEEDED               Shared library: [libintl.so.8]
 0x0000000000000001 NEEDED               Shared library: [libjabber.so.0]
 0x0000000000000001 NEEDED               Shared library: [liblzma.so.5]
 0x0000000000000001 NEEDED               Shared library: [libm.so.5]
 0x0000000000000001 NEEDED               Shared library: [libmxml.so.1]
 0x0000000000000001 NEEDED               Shared library: [libomemo.so.0]
 0x0000000000000001 NEEDED               Shared library: [libsignal-protocol-c.so.2]
 0x0000000000000001 NEEDED               Shared library: [libsqlite3.so.0]
 0x0000000000000001 NEEDED               Shared library: [libthr.so.3]
 0x0000000000000001 NEEDED               Shared library: [libxml2.so.2]
 0x0000000000000001 NEEDED               Shared library: [libz.so.6]

After:
 0x0000000000000001 NEEDED               Shared library: [libaxc.so.0]
 0x0000000000000001 NEEDED               Shared library: [libc.so.7]
 0x0000000000000001 NEEDED               Shared library: [libglib-2.0.so.0]
 0x0000000000000001 NEEDED               Shared library: [libjabber.so.0]
 0x0000000000000001 NEEDED               Shared library: [libomemo.so.0]
 0x0000000000000001 NEEDED               Shared library: [libsignal-protocol-c.so.2]
---

I did build tests myself of course. I'd like to ask you to confirm the software still works ;)
Comment 5 Michael Adeyeye Oshin 2022-09-07 07:29:47 UTC
(In reply to Felix Palmen from comment #2)
Could you please test whether the 'lurch.so' plugin built from the port in the attached patch still works as expected? Thank you!

>No, it does not. The lurch.so is not available in /usr/local/lib/purple-2/ after running the 'poudriere testport'. Lurch.so used to be built into it before the patch was applied.
Comment 6 Felix Palmen freebsd_committer freebsd_triage 2022-09-07 07:31:49 UTC
(In reply to Michael Adeyeye Oshin from comment #5)
poudriere testport never installs anything outside its testing jail.

Please either install the port directly from your system or use poudriere bulk to build the package and install that.
Comment 7 Michael Adeyeye Oshin 2022-09-07 07:40:00 UTC
(In reply to Felix Palmen from comment #6)
 Please either install the port directly from your system or use poudriere  bulk to build the package and install that.

> My bad, I was looking at the poudriere log for the strip command to drop it in the base OS dir. I have so much going on (::). 'make -C ... install clean' worked with the lib now in /usr/local/lib/purple-2/.
Comment 8 Felix Palmen freebsd_committer freebsd_triage 2022-09-07 07:41:09 UTC
(In reply to Michael Adeyeye Oshin from comment #7)
Thanks, but: Does it *work* (IOW, do what it's supposed to do)?
Comment 9 Michael Adeyeye Oshin 2022-09-07 08:28:54 UTC
(In reply to Felix Palmen from comment #8)
Sorry, I had unplugged the PC, network and so on. 

Yes, it does. Before now, Pidgin indeed has a lurch plugin by riba@firemail.cc. However, when enabled, Omemo encrypted messages could not be sent. Given that FreeBSD now has the lurch.so as a purple plugin (for Pidgin too), Pidgin can now send OMEMO-encrypted messages to Conversations (tested). The Pidgin UI modification/extension is next to be added. At the moment, the cmd is being used e.g. /lurch enable. See https://github.com/gkdr/lurch#usage. Continuous testing is required. 

Lastly, this library makes it easy for other clients (e.g. Profanity) to implement OMEMO.
Comment 10 Felix Palmen freebsd_committer freebsd_triage 2022-09-07 08:32:18 UTC
(In reply to Michael Adeyeye Oshin from comment #9)
Just to double-check: you tested that with 'lurch.so' built from the port created by my latest patch, and made sure you're not using some other, locally-built 'lurch.so' possibly installed in your homedir?

Then, would you be fine with committing this port version? If so, please go to the patch details and set maintainer-approval to (+), thanks!
Comment 11 Michael Adeyeye Oshin 2022-09-07 10:06:50 UTC

would you be fine with committing this port version? If so, please go to the patch details and set maintainer-approval to (+), thanks!
> Yes, this port can be committed. It is available as a purple plugin for clients wanting to implement OMEMO. 

In accordance with https://people.freebsd.org/~olivierd/porters-handbook/makefile-maintainer.html, 
Maintainer already set (see 
https://github.com/freebsd/freebsd-ports/commit/d662eec547293284b7b640f57d71f10c3c54abaf).
Otherwise, if the maintainer-approval could be set to (+) for me, that would be appreciated. System and network are not currently down and will remain down for a few days.
Comment 12 Michael Adeyeye Oshin 2022-09-07 10:08:18 UTC
Lurch confirmed to work from the /ust/local/lib/purple...
Comment 13 commit-hook freebsd_committer freebsd_triage 2022-09-07 10:34:47 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=422c41dcb6f1fc0d5d6a24ba61727a467e171e9b

commit 422c41dcb6f1fc0d5d6a24ba61727a467e171e9b
Author:     Michael Adeyeye Oshin <micadeyeye@gmail.com>
AuthorDate: 2022-08-30 02:40:48 +0000
Commit:     Felix Palmen <zirias@FreeBSD.org>
CommitDate: 2022-09-07 10:33:30 +0000

    net-im/lurch: Add new port

    OMEMO Encryption Library for libpurple (plugin)

    PR:                     266105

 net-im/Makefile              |  1 +
 net-im/lurch/Makefile (new)  | 28 ++++++++++++++++++++++++++++
 net-im/lurch/distinfo (new)  |  3 +++
 net-im/lurch/pkg-descr (new) |  4 ++++
 4 files changed, 36 insertions(+)
Comment 14 Felix Palmen freebsd_committer freebsd_triage 2022-09-07 10:56:40 UTC
Committed, thanks!
(note primary category changed from security to net-im, which is more specific)