lmi
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [lmi] [PATCH] Use submodules for, and newer versions of, libxml2 and


From: Greg Chicares
Subject: Re: [lmi] [PATCH] Use submodules for, and newer versions of, libxml2 and libxslt
Date: Wed, 30 Sep 2020 13:28:23 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0

On 2020-09-29 23:57, Vadim Zeitlin wrote:
>  Here is, finally, the promised patch:
> 
>       https://github.com/vadz/lmi/pull/153

Two questions:

(1) Is this a correct way of incorporating that PR into lmi?
  [where "xanadu" is your github repository]
  git fetch xanadu
  git merge xanadu/submodule-for-xml-libs

(2) As a consequence of git-links used for submodules, is it
expected that these:
  drwxrwxr-x 2 greg greg 4096 Sep 30 12:01 third_party/libxml2
  drwxrwxr-x 2 greg greg 4096 Sep 30 12:01 third_party/libxslt
have been added, apparently as normal subdirectories with no
{suid, sgid, sticky} bits set?

Full details below in the stream of consciousness that led to
those questions, but feel free to skip it...

Instead of cherry-picking both commits, I tried this:

/opt/lmi/src/lmi[0]$git fetch xanadu 
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 9 (delta 3), reused 3 (delta 3), pack-reused 6
Unpacking objects: 100% (9/9), done.
>From https://github.com/vadz/lmi
   3299d705..f94663e9  master                 -> xanadu/master
 * [new branch]        submodule-for-xml-libs -> xanadu/submodule-for-xml-libs
/opt/lmi/src/lmi[0]$git merge xanadu/submodule-for-xml-libs      
Updating f94663e9..5395409f
Fast-forward
 .gitmodules                  |   8 +++
 install_libxml2_libxslt.make | 244 
--------------------------------------------------------------
 install_libxml2_libxslt.sh   | 197 
++++++++++++++++++++++++++++++++++++++++++++++++++
 install_msw.sh               |   7 +-
 third_party/libxml2          |   1 +
 third_party/libxslt          |   1 +
 6 files changed, 213 insertions(+), 245 deletions(-)
 create mode 100644 .gitmodules
 delete mode 100644 install_libxml2_libxslt.make
 create mode 100755 install_libxml2_libxslt.sh
 create mode 160000 third_party/libxml2
 create mode 160000 third_party/libxslt

Everything seems to have worked except that there's nothing in the
third_party/ subdirectories:

/opt/lmi/src/lmi[0]$ls -la third_party/*    
third_party/libxml2:
total 8
drwxrwxr-x 2 greg greg 4096 Sep 30 12:01 .
drwxrwxr-x 4 greg greg 4096 Sep 30 12:01 ..

third_party/libxslt:
total 8
drwxrwxr-x 2 greg greg 4096 Sep 30 12:01 .
drwxrwxr-x 4 greg greg 4096 Sep 30 12:01 ..

...even though the git log shows that files were added:

/opt/lmi/src/lmi[0]$git log -2 --oneline --patch -- third_party/
5395409f (HEAD -> master, xanadu/submodule-for-xml-libs) Upgrade libxlst 
submodule to build with MinGW 10.1
diff --git a/third_party/libxslt b/third_party/libxslt
index 9a1b3ddf..6a46106d 160000
--- a/third_party/libxslt
+++ b/third_party/libxslt
@@ -1 +1 @@
-Subproject commit 9a1b3ddf6034aa2f6a30b4b7ea4bfc3c4037cd58
+Subproject commit 6a46106dca44e9253a2e3b04485a4b8a637cb625
5adce639 Add lib{xml2,xslt} submodules; use them in the new build script
diff --git a/third_party/libxml2 b/third_party/libxml2
new file mode 160000
index 00000000..bdec2183
--- /dev/null
+++ b/third_party/libxml2
@@ -0,0 +1 @@
+Subproject commit bdec2183f34b37ee89ae1d330c6ad2bb4d76605f
diff --git a/third_party/libxslt b/third_party/libxslt
new file mode 160000
index 00000000..9a1b3ddf
--- /dev/null
+++ b/third_party/libxslt
@@ -0,0 +1 @@
+Subproject commit 9a1b3ddf6034aa2f6a30b4b7ea4bfc3c4037cd58

However, adding '--submodule'...

/opt/lmi/src/lmi[0]$git log -2 --oneline --patch --submodule -- third_party/
5395409f (HEAD -> master, xanadu/submodule-for-xml-libs) Upgrade libxlst 
submodule to build with MinGW 10.1
Submodule third_party/libxslt 9a1b3ddf...6a46106d (commits not present)
5adce639 Add lib{xml2,xslt} submodules; use them in the new build script
Submodule third_party/libxml2 00000000...bdec2183 (new submodule)
Submodule third_party/libxslt 00000000...9a1b3ddf (new submodule)

...suggests that everything's actually okay.

AFAICT, when git reports "mode 160000" above, that doesn't set any
of the {suid, sgid, sticky} bits of the filesystem modes:

/opt/lmi/src/lmi[0]$stat -c '%a %n' third_party/*
775 third_party/libxml2
775 third_party/libxslt

so "mode 160000" must be git's internal modes:

https://github.com/git/git/blob/master/Documentation/technical/index-format.txt

| 32-bit mode, split into (high to low bits)
|
|     4-bit object type
|       valid values in binary are 1000 (regular file), 1010 (symbolic link)
|       and 1110 (gitlink)
|
|     3-bit unused
|
|     9-bit unix permission. Only 0755 and 0644 are valid for regular files.
|     Symbolic links and gitlinks have value 0 in this field.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]