[Bug 226920] devel/glib20: pull the latest file monitor fix from upstream

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Mar 26 22:01:31 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=226920

lightside <lightside at gmx.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |gnome at FreeBSD.org
 Attachment #191855|                            |maintainer-approval?(gnome@
              Flags|                            |FreeBSD.org)

--- Comment #4 from lightside <lightside at gmx.com> ---
Created attachment 191855
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=191855&action=edit
Proposed patch (since 460230 revision)

Hello.

(In reply to Ting-Wei Lan from comment #3)
> I am not going to reroll patches in patch-gio_filemonitor just to pass
> 'make checkpatch' unless it is strictly required.
There is not only `make checkpatch` error: 
-8<--
% make checkpatch
<..>
===>  Patching for glib-2.50.3_2,1
===>  Applying FreeBSD patches for glib-2.50.3_2,1
2 out of 2 hunks failed while patching gio/kqueue/kqueue-helper.c
=> FreeBSD patch patch-gio_filemonitor failed to apply cleanly.
*** Error code 1

Stop.
<..>
-->8-

because of three patches for gio/kqueue/kqueue-helper.c:
-8<--
cat files/patch-gio_filemonitor | grep "^+++ gio/kqueue/kqueue-helper.c" | wc
-l | tr -d ' '
3
-->8-

But also a `make check-plist` errors:
-8<--
% make check-plist
<..>
====> Running Q/A tests (stage-qa)
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: lib/charset.alias
Error: Orphaned: share/doc/gio/GAction.html
<..>
Error: Orphaned: share/doc/gobject/up.png
===> Checking for items in pkg-plist which are not in STAGEDIR
===> Error: Plist issues found.
*** Error code 1

Stop.
<..>
-->8-

because of USES+=autoreconf usage, which requires to patch configure.ac instead
of configure, Makefile.am instead of Makefile.in, etc.

I fixed these issues in attached patch.

The files/patch-gio_filemonitor patch was recreated with using known commits
(based on attachment #191837):
-8<--
% cat files/patch-gio_filemonitor | grep ^commit
commit e305fe971e4647d971428a772b7290b9c308a96f
commit 76072a2dde4a4acc8be8d3c47efbc6811ebe0c1e
commit aa39a0557c679fc345b0ba72a87c33152eb8ebcd
commit ba4a9538e14e8ba0ea037cab5f4b23aa47272a4c
-->8-

from https://github.com/GNOME/glib in some user's directory:
-8<--
% git clone https://github.com/GNOME/glib.git
<..>
% git clone glib glib-devel
<..>
% cd glib-devel
% git checkout -b devel 2.50.3
<..>
% git cherry-pick e305fe971e4647d971428a772b7290b9c308a96f
76072a2dde4a4acc8be8d3c47efbc6811ebe0c1e
<..>
% git cherry-pick aa39a0557c679fc345b0ba72a87c33152eb8ebcd
<..>
% git diff
* Unmerged path gio/kqueue/meson.build
% git rm gio/kqueue/meson.build
<..>
% git commit --no-edit
<..>
% git cherry-pick ba4a9538e14e8ba0ea037cab5f4b23aa47272a4c
<..>
% git show -s --format="# %s%n# https://github.com/GNOME/glib/commit/%H"
e305fe971e4647d971428a772b7290b9c308a96f
76072a2dde4a4acc8be8d3c47efbc6811ebe0c1e
aa39a0557c679fc345b0ba72a87c33152eb8ebcd
ba4a9538e14e8ba0ea037cab5f4b23aa47272a4c > ../patch-gio_filemonitor
% echo >> ../patch-gio_filemonitor
% git diff --no-color --no-prefix 2.50.3 HEAD | sed -e '/^index/d ;
/^deleted/d' >> ../patch-gio_filemonitor
-->8-

Remove local glib-devel repository (including glib directory, if needed):
% cd .. && rm -rf glib-devel

I think, there is no much point to include removal of
gio/kqueue/gkqueuefilemonitor.h, gio/kqueue/kqueue-thread.c,
gio/kqueue/kqueue-thread.h, gio/kqueue/kqueue-sub.c, gio/kqueue/kqueue-sub.h,
etc. files to patch-gio_filemonitor patch, because changes for
gio/kqueue/Makefile.am removes them from build. So, I removed such files with
"+++ /dev/null" from patch-gio_filemonitor patch manually.

Next step was to move patch-gio_filemonitor to
<..>/glib20/files/patch-gio_filemonitor of the port and recreate patch with
`make makepatch` command. I created a backup of files directory and removed all
patches from files directory, except patch-gio_filemonitor, then:
-8<--
% make extract
<..>
% find work -type f -iname "*.orig" -delete
% make patch
<..>
% make makepatch
<..>
% make clean
<..>
-->8-
and copy/move generated files/patch-gio_filemonitor to backup files directory,
then replace files directory in the port with backup files directory.

The attached patch was created with using following command:
% svn diff --ignore-properties > ../glib20.diff

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the freebsd-gnome mailing list