Check for optional terminator in archives

Archive files have an optional '/' terminator in the member file name
field.  (See /usr/include/ar.h)

This change makes opkg-make-index more forgiving on packages created
manually with alternative tools like CPack.

Signed-off-by: Rob Woolley <rob.woolley@windriver.com>
Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
This commit is contained in:
Rob Woolley
2017-01-26 10:17:11 -08:00
committed by Alejandro del Castillo
parent b736b318fd
commit 1a708fd73d

View File

@@ -89,7 +89,11 @@ class ArFile(object):
l = l[field_len:]
# print(descriptor)
size = int(descriptor[5])
memberName = descriptor[0][:-1]
# Check for optional / terminator
if descriptor[0][-1] == "/":
memberName = descriptor[0][:-1]
else:
memberName = descriptor[0]
self.directory[memberName] = descriptor + [self.f.tell()]
# print(("read:", memberName))
if memberName == fname: