[firmware-free] 05/19: Add support for installing symlinks

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Sun May 22 22:54:40 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch master
in repository firmware-free.

commit 34e416caf26d84ae93667697ed7f24e9f8b4b253
Author: Ben Hutchings <benh at debian.org>
Date:   Sun Jan 9 02:33:57 2011 +0000

    Add support for installing symlinks
    
    [bwh: Cherry-picked from firmware-nonfree commit
     013ebcbef2b9ab1f354fb9372c54c321fdea7f5a]
---
 debian/bin/gencontrol.py | 11 +++++++++++
 debian/rules.real        |  6 ++++++
 2 files changed, 17 insertions(+)

diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
index 44af010..d48f06d 100755
--- a/debian/bin/gencontrol.py
+++ b/debian/bin/gencontrol.py
@@ -187,6 +187,7 @@ class GenControl(debian_linux.gencontrol.Gencontrol):
 
         files_orig = config_entry['files']
         files_real = {}
+        links = {}
 
         for root, dirs, files in os.walk(package):
             try:
@@ -194,8 +195,13 @@ class GenControl(debian_linux.gencontrol.Gencontrol):
             except ValueError:
                 pass
             for f in files:
+                cur_path = root + '/' + f
                 if root != package:
                     f = root[len(package) + 1 : ] + '/' + f
+                if os.path.islink(cur_path):
+                    if f in files_orig:
+                        links[f] = os.readlink(cur_path)
+                    continue
                 f1 = f.rsplit('-', 1)
                 if f in files_orig:
                     files_real[f] = f, f, None
@@ -209,12 +215,17 @@ class GenControl(debian_linux.gencontrol.Gencontrol):
         makeflags['FILES'] = ' '.join(["%s:%s" % (i[1], i[0]) for i in files_real.itervalues()])
         vars['files_real'] = ' '.join(["/lib/firmware/%s" % i for i in config_entry['files']])
 
+        makeflags['LINKS'] = ' '.join(["%s:%s" % (link, target)
+                                       for link, target in links.iteritems()])
+
         files_desc = [u"Contents:"]
 
         wrap = TextWrapper(width = 71, fix_sentence_endings = True,
                            initial_indent = ' * ',
                            subsequent_indent = '   ').wrap
         for f in config_entry['files']:
+            if f in links:
+                continue
             f, f_real, version = files_real[f]
             c = self.config.get(('base', package, f), {})
             desc = c.get('desc')
diff --git a/debian/rules.real b/debian/rules.real
index 1c46c7d..51a182c 100644
--- a/debian/rules.real
+++ b/debian/rules.real
@@ -21,6 +21,12 @@ install:
 	  echo install -m644 -D "$$s" debian/$(PACKAGE_NAME)"$$d"; \
 	  install -m644 -D "$$s" debian/$(PACKAGE_NAME)"$$d"; \
 	done
+	@for i in $(LINKS); do \
+	  link=debian/$(PACKAGE_NAME)/lib/firmware/"$${i%:*}"; \
+	  target="$${i#*:}"; \
+	  echo ln -s "$$target" "$$link"; \
+	  ln -s "$$target" "$$link"; \
+	done
 	dh_bugfiles
 	dh_installchangelogs
 	dh_installdocs

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/firmware-free.git



More information about the Kernel-svn-changes mailing list