[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.