FS#66363 - [389-ds-base] Cockpit Management

Attached to Project: Arch Linux
Opened by Jameson Pugh (ImNtReal) - Thursday, 23 April 2020, 17:55 GMT
Last edited by Sven-Hendrik Haase (Svenstaro) - Thursday, 14 May 2020, 14:49 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Sven-Hendrik Haase (Svenstaro)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description: Can't manage 389 Directory Server via Cockpit


Additional info:
* 389-ds-base 1.4.3.4-2
* cockpit 217-1
~ sudo pkcon search 389-ds-base 5.9s  Thu 23 Apr 2020 01:44:03 PM EDT
Searching by details [=========================]
Finished [=========================]
Installed 389-ds-base-1.4.3.4-2.x86_64 (installed) 389 Directory Server (base)

Steps to reproduce:

Despite PackageKit showing 389-ds-base being installed, when I log in to Cockpit, and click the 389 Directory Server tab, I get a message that says:
There is no 389-ds-base package installed on this system. Sorry there is nothing to manage...

If I attempt to install 389-ds-base via Cockpit, I get a message stating:
Error installed/389-ds-base: could not find database

I have even removed the package via pacman, and re-installed it from the Cockpit interface. It appears to have installed the package, but still shows the Install button for it, and I still can't manage it.

I'm not sure if this is a problem with the 389-ds-base package, the cockpit package, or something with my config. I'm definitely willing to help collect more information, and debug. Please, let me know steps to troubleshoot this issue.
This task depends upon

Closed by  Sven-Hendrik Haase (Svenstaro)
Thursday, 14 May 2020, 14:49 GMT
Reason for closing:  Fixed
Comment by Sven-Hendrik Haase (Svenstaro) - Saturday, 25 April 2020, 21:46 GMT
Ok frankly I have no idea what's wrong here. I'd ask upstream about this. Link them this issue and our PKGBUILD. Maybe they can help sort it out.
Comment by Jameson Pugh (ImNtReal) - Thursday, 30 April 2020, 00:59 GMT
Unfortunately, I haven't had much time to debug the issue, yet, but I did discover that if /usr/share/metainfo/389-console/org.port389.cockpit_console.metainfo.xml is instead /usr/share/metainfo/org.port389.cockpit_console.metainfo.xml, Cockpit sees it as installed.
Comment by Jameson Pugh (ImNtReal) - Thursday, 30 April 2020, 01:11 GMT
I'm thinking it might be an issue with Cockpit, instead, though. The Fedora RPM seems to install the metainfo.xml to the subdirectory.
Comment by Jameson Pugh (ImNtReal) - Thursday, 30 April 2020, 13:34 GMT
Looking at the upstream cockpit-389-ds package, it installs these files:
/usr/share/cockpit/389-console/css/branding.css
/usr/share/cockpit/389-console/css/ds.css
/usr/share/cockpit/389-console/index.html
/usr/share/cockpit/389-console/index.min.js.gz
/usr/share/cockpit/389-console/index.min.js.map
/usr/share/cockpit/389-console/manifest.json
/usr/share/doc/cockpit-389-ds/README.rd
/usr/share/metainfo/389-console/org.port389.cockpit_console.metainfo.xml

To me, it looks like the only important thing we're missing is index.min.js.map. I'm still trying to figure out where that comes from.
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 30 April 2020, 13:46 GMT
This still seems like an upstream problem. We mostly use the install target. That file seems to be part of the install target. Could you check with upstream? They are usually pretty responsive and helpful.
Comment by Jameson Pugh (ImNtReal) - Friday, 01 May 2020, 19:05 GMT Comment by Jameson Pugh (ImNtReal) - Tuesday, 05 May 2020, 17:05 GMT
It sounds like we will need Cockpit people involved as well. I opened https://bugs.archlinux.org/task/66551 to start that discussion.
Comment by Jameson Pugh (ImNtReal) - Tuesday, 05 May 2020, 17:21 GMT Comment by Jameson Pugh (ImNtReal) - Thursday, 07 May 2020, 21:05 GMT
Unfortunately, it seems moving to 1.4.4 has resulted in the Cockpit files disappearing:
imntreal@server ~ pacman -Ql 389-ds-base | egrep 'cockpit|metainfo'
389-ds-base /usr/share/cockpit/
389-ds-base /usr/share/cockpit/389-console/
389-ds-base /usr/share/metainfo/
389-ds-base /usr/share/metainfo/389-console/
389-ds-base /usr/share/metainfo/389-console/org.port389.cockpit_console.metainfo.xml
Comment by Jameson Pugh (ImNtReal) - Thursday, 07 May 2020, 21:13 GMT
Probably a different issue if it is one at all, but this appears to be using an undefined variable:
--libexecdir=/usr/lib/${pkgbase}
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 07 May 2020, 22:38 GMT
I noticed that too but thought that this might have been an upstream decision. I'll look into it.
Comment by Jameson Pugh (ImNtReal) - Friday, 08 May 2020, 12:29 GMT
I believe the PKBUILD was at one point a split package. That's probably where the $pkgbase variable comes from.
Comment by Jameson Pugh (ImNtReal) - Monday, 11 May 2020, 16:05 GMT
I don't know if there's a better way to do this, but to build the Cockpit plugin, I added this to the bottom of the build section:
# Build cockpit plugin
cd "${srcdir}/${pkgname}-${pkgname}-${pkgver}/src/cockpit/389-console"
make -f node_modules.mk install
mv -f dist cockpit_dist
Comment by Jameson Pugh (ImNtReal) - Wednesday, 13 May 2020, 16:14 GMT
Making the changes recommended by upstream to my LDAPI config got it working. I haven't built a new directory in quite a while, so I'm not sure what the defaults look like, anymore. Please, consider adding the steps I left in my previous comment to the PKGBUILD, so that the Cockpit plugin will be built. Alternatively, we could add a separate Cockpit package. Other than that, I think this issue can be closed.
Comment by Sven-Hendrik Haase (Svenstaro) - Thursday, 14 May 2020, 00:21 GMT
Alright, we should be good now. please check 1.4.4.2-2 and see whether that works ok for you.
Comment by Jameson Pugh (ImNtReal) - Thursday, 14 May 2020, 12:59 GMT
Looks good to me. Thanks for your help.

Loading...