charm build dereferences symlinks in built charm

Bug #1750875 reported by Drew Freiberger on 2018-02-21
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
charm-tools (Ubuntu)
Undecided
Unassigned

Bug Description

Running charm 2.2.2/charm-tools 2.2.3 via latest stable snap, I find that the symlinks in the hooks and actions directories of my charms end up deferenced such that the resulting charm has X copies of the file that was originally symlinked to things such as hooks/config-changed or actions/pause.

As an example:

Charm Source:

drew@grimoire:~/src/charm-hacluster$ ls -l hooks
total 156
drwxr-xr-x 6 drew drew 4096 Oct 18 23:11 charmhelpers
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 config-changed -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 hanode-relation-changed -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 hanode-relation-joined -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 ha-relation-changed -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 ha-relation-joined -> hooks.py
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 hooks.py
-rwxr-xr-x 1 drew drew 421 Oct 18 23:11 install
lrwxrwxrwx 1 drew drew 8 Oct 18 23:11 install.real -> hooks.py
-rw-r--r-- 1 drew drew 2318 Jan 31 2017 maas.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 nrpe-external-master-relation-changed -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 nrpe-external-master-relation-joined -> hooks.py
-rw-r--r-- 1 drew drew 6336 Oct 18 23:11 pcmk.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 start -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 stop -> hooks.py
lrwxrwxrwx 1 drew drew 8 Jan 31 2017 upgrade-charm -> hooks.py
-rw-r--r-- 1 drew drew 30003 Oct 18 23:11 utils.py

Charm build output:
drew@grimoire:~/src/charm-hacluster$ ls -l /home/drew/src/charms/builds/hacluster/hooks
total 420
drwxr-xr-x 6 drew drew 4096 Feb 21 11:32 charmhelpers
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 config-changed
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 hanode-relation-changed
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 hanode-relation-joined
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 ha-relation-changed
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 ha-relation-joined
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 hooks.py
-rwxr-xr-x 1 drew drew 421 Oct 18 23:11 install
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 install.real
-rw-r--r-- 1 drew drew 2318 Jan 31 2017 maas.py
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 nrpe-external-master-relation-changed
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 nrpe-external-master-relation-joined
-rw-r--r-- 1 drew drew 6336 Oct 18 23:11 pcmk.py
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 start
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 stop
-rwxrwxr-x 1 drew drew 17449 Dec 22 16:23 upgrade-charm
-rw-r--r-- 1 drew drew 30003 Oct 18 23:11 utils.py

This both makes charm authoring/debugging more difficult and adds unnecessary size to the built charm.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers