Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] emerge self edited ibus-cangjie
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Fri Dec 30, 2016 5:41 am    Post subject: [Solved] emerge self edited ibus-cangjie Reply with quote

I have fetched the ibus-cangjie package, expanded it. I will do some very minimal change in the following three files
scripts/ibus-setup-cangjie.in tests/test_prefs.py src/setup.py
I then want to emerge this copy of ibus-cangjie, but not sure how.

I am willing to read, to learn, but hope somebody can lead me to the relevant "sub-topic" in the sea of wiki and manpage. Any keywords I should look for?

Thank you for your attention and assistance.

==============
BACKGROUND

I am migrating from Archlinux to Gentoo; because after I migrated from VBox to KVM, I find that Gentoo vm has Spice's feature running much better than Arch. On the other hand, I am not a technical guy, I can do some simple script but not programming.

I need ibus-cangjie to do Chinese input. Sadly that only Hong Kong people use it.
No update on upstream for 20 months. https://github.com/Cangjians/ibus-cangjie
I did google and search the forum. Just find someone else encountered the same problem and received no reply 11 months ago. https://forums.gentoo.org/viewtopic-t-1036552.html

While googling, I find that the problem may be resolved by replacing
Code:
from gi.repository import Gtk

with
Code:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk


I used grep to locate the string "from gi.repository import Gtk" and find that it appears four times in three files. A manageable size.
I know it is stupid but it is my last hope.

Even if I will fail, I can learn more about Gentoo along the way.


Last edited by dboat on Sat Dec 31, 2016 2:38 pm; edited 1 time in total
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Fri Dec 30, 2016 9:22 am    Post subject: Reply with quote

I need ibus for Chinese input, as well, although I personally use Chewing.

I am still encountering many problems in setting ibus up. It mostly does not work. I have not yet spend a lot of time trying to troubleshoot because I am still working on more pressing problems.

However, I think I can help you. I think I see what you want to achieve, but I need to check existing documentation to see how to do it. Give me some time.

I hope we will be able to help each other out! :)
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Fri Dec 30, 2016 9:37 am    Post subject: Reply with quote

Here is what you are trying to do:
https://wiki.gentoo.org/wiki//etc/portage/patches
"User patches provide a way for users to apply patches to ebuilds. This is useful for the rare cases of site-specific patches, but also for testing patches before sending them to upstream or to the Gentoo bug tracker. "
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Fri Dec 30, 2016 10:22 am    Post subject: Reply with quote

augustin wrote:
Here is what you are trying to do:
https://wiki.gentoo.org/wiki//etc/portage/patches
"User patches provide a way for users to apply patches to ebuilds. This is useful for the rare cases of site-specific patches, but also for testing patches before sending them to upstream or to the Gentoo bug tracker. "


Thanks a lot for your help.

A whole new area to me. I seldom use the diff command. A lot of reading ahead. :D

BTW, would like to know if I guess right. To do it, basically I need to
1. enable portage patches
2. run diff somewhere to get the patch file
3. name and put it correctly at the right place
4. run emerge -avu @world to apply it ??
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 27436
Location: here

PostPosted: Fri Dec 30, 2016 10:40 am    Post subject: Reply with quote

You can only rebuild package that need patch
Code:
# emerge -1v ibus-cangjie

If you use flag -v, after source unpack, you can see if portage has applied your patches, like this
Code:
>>> Source unpacked in /tmp/portage/category/package/work
 * Applying user patches from /etc/portage/patches//category/package-version ...
 *   my-patch.patch ...

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Fri Dec 30, 2016 11:01 am    Post subject: Reply with quote

fedeliallalinea wrote:
You can only rebuild package that need patch
Code:
# emerge -1v ibus-cangjie

If you use flag -v, after source unpack, you can see if portage has applied your patches, like this
Code:
>>> Source unpacked in /tmp/portage/category/package/work
 * Applying user patches from /etc/portage/patches//category/package-version ...
 *   my-patch.patch ...


Thanks a lot! The option --oneshot really fit my situation. :D
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Fri Dec 30, 2016 1:15 pm    Post subject: Reply with quote

dboat wrote:
fedeliallalinea wrote:
You can only rebuild package that need patch
Code:
# emerge -1v ibus-cangjie

If you use flag -v, after source unpack, you can see if portage has applied your patches, like this
Code:
>>> Source unpacked in /tmp/portage/category/package/work
 * Applying user patches from /etc/portage/patches//category/package-version ...
 *   my-patch.patch ...


Thanks a lot! The option --oneshot really fit my situation. :D


I don't think it does.
If you use --oneshot, cangjie support will be removed next time you do emerge --depclean.
Instead, you do want to keep ibus-cangjie in your world file.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Fri Dec 30, 2016 2:21 pm    Post subject: Reply with quote

dboat wrote:
augustin wrote:
Here is what you are trying to do:
https://wiki.gentoo.org/wiki//etc/portage/patches
"User patches provide a way for users to apply patches to ebuilds. This is useful for the rare cases of site-specific patches, but also for testing patches before sending them to upstream or to the Gentoo bug tracker. "


Thanks a lot for your help.

A whole new area to me. I seldom use the diff command. A lot of reading ahead. :D

BTW, would like to know if I guess right. To do it, basically I need to
1. enable portage patches
2. run diff somewhere to get the patch file
3. name and put it correctly at the right place
4. run emerge -avu @world to apply it ??


I imagine you already have a copy of the source.
Creating a patch is easy.
Do:
Code:

diff -upr directory-with-original-source/ directory-with-modified-source/ > my-changes.patch

Then, as per the above documentation, place the patch in /etc/portage/patches/app-i18n/ibus-cangjie/ , then re-emerge.
I've never tried but I think that's all there is to it.
I am not sure how to handle the -p1 that the patch command would require.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Fri Dec 30, 2016 3:08 pm    Post subject: Reply with quote

augustin wrote:
dboat wrote:
augustin wrote:
Here is what you are trying to do:
https://wiki.gentoo.org/wiki//etc/portage/patches
"User patches provide a way for users to apply patches to ebuilds. This is useful for the rare cases of site-specific patches, but also for testing patches before sending them to upstream or to the Gentoo bug tracker. "


Thanks a lot for your help.

A whole new area to me. I seldom use the diff command. A lot of reading ahead. :D

BTW, would like to know if I guess right. To do it, basically I need to
1. enable portage patches
2. run diff somewhere to get the patch file
3. name and put it correctly at the right place
4. run emerge -avu @world to apply it ??


I imagine you already have a copy of the source.
Creating a patch is easy.
Do:
Code:

diff -upr directory-with-original-source/ directory-with-modified-source/ > my-changes.patch

Then, as per the above documentation, place the patch in /etc/portage/patches/app-i18n/ibus-cangjie/ , then re-emerge.
I've never tried but I think that's all there is to it.
I am not sure how to handle the -p1 that the patch command would require.


Thank you for following up.

As I want to have a better understanding about the Patches page, I have been reading "Basic guide to write Gentoo Ebuilds" (interesting) and "Ebuild Functions" (horrible). I feel more comfortable when come back to the Patches page now. Will start test tomorrow.

I can't find the "-p1" on the Patches page, what is it about?

About the --oneshot, I read the manpage again and still think that it means it is not going to be removed by depclean. I also read it somewhere before when emerge the portage package itself on a broken system (boot from livecd).
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 27436
Location: here

PostPosted: Fri Dec 30, 2016 3:39 pm    Post subject: Reply with quote

dboat wrote:
I can't find the "-p1" on the Patches page, what is it about?

Use man pages also:
man patch wrote:
-pnum or --strip=num
Strip the smallest prefix containing num leading slashes from each file name found in the patch file. A sequence of one or more adjacent slashes is counted as a single
slash. This controls how file names found in the patch file are treated, in case you keep your files in a different directory than the person who sent out the patch. For
example, supposing the file name in the patch file was

/u/howard/src/blurfl/blurfl.c

setting -p0 gives the entire file name unmodified, -p1 gives

u/howard/src/blurfl/blurfl.c

without the leading slash, -p4 gives

blurfl/blurfl.c

and not specifying -p at all just gives you blurfl.c. Whatever you end up with is looked for either in the current directory, or the directory specified by the -d option.

dboat wrote:
About the --oneshot, I read the manpage again and still think that it means it is not going to be removed by depclean. I also read it somewhere before when emerge the portage package itself on a broken system (boot from livecd).

If package is a dependency depclean will not remove package emerged with --oneshot, in the other case yes.
Examples:
Code:
# emerge squashfs-tools
# emerge --depclean
>>> No packages selected for removal by depclean
Packages installed:   556
Packages in world:    79
Packages in system:   44
Required packages:    556
Number removed:  0

Code:
# emerge -1 squashfs-tools
# emerge --depclean
>>> These are the packages that would be unmerged:

 sys-fs/squashfs-tools
    selected: 4.3-r2
   protected: none
     omitted: none

All selected packages: =sys-fs/squashfs-tools-4.3-r2

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

Would you like to unmerge these packages? [Yes/No]

Code:
# emerge -1 squashfs-tools
# emerge grs (has squashfs as direct dependency)
# emerge --depclean
>>> No packages selected for removal by depclean
Packages installed:   556
Packages in world:    79
Packages in system:   44
Required packages:    556
Number removed:  0

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 4:13 am    Post subject: Reply with quote

dboat,



As fedeliallalinea mentioned, see man patch for the use of -p1 (-pnum), although I found out we don't need to worry about it.

Regarding --oneshot, do:
Code:

$ cat /var/lib/portage/world | grep cangjie
app-i18n/ibus-cangjie

If ibus-cangjie is not output here, then it will eventually be auto-removed (i.e. unmerged) with --depclean. You want ibu-cangjie in your world file but --oneshot prevents it from being added.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 4:19 am    Post subject: Reply with quote

dboat,

I just went through the whole process you want to do. It's the first time I use a custom patch myself. It's actually easy.


Get the source:
Code:

$ git clone https://github.com/Cangjians/ibus-cangjie.git


Use any text editor to edit the source as you yourself describe above.
Then create a patch:
Code:

$ git diff > gi-repository.patch


As root:
Code:

# mkdir -p /etc/portage/patches/app-i18n/ibus-cangjie/
# cp gi-repository.patch /etc/portage/patches/app-i18n/ibus-cangjie/


The re-emerge:
Code:

# emerge -av ibus-cangjie
...
 [ebuild R ] app-i18n/ibus-cangjie-2.4::gentoo PYTHON_TARGETS="python3_4" 0 KiB
...
 >>> Unpacking source...
 >>> Unpacking ibus-cangjie-2.4.tar.xz to /scratch/var/tmp/portage/app-i18n/ibus-cangjie-2.4/work
 >>> Source unpacked in /scratch/var/tmp/portage/app-i18n/ibus-cangjie-2.4/work
 >>> Preparing source in /scratch/var/tmp/portage/app-i18n/ibus-cangjie-2.4/work/ibus-cangjie-2.4 ...
 * Applying user patches from /etc/portage/patches//app-i18n/ibus-cangjie ...
 * gi-repository.patch ... [ ok ]
 * Done with patching
...


The output clearly indicates that the patch was properly applied.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 4:34 am    Post subject: Reply with quote

Testing cangjie configuration, it appears that we need more patching:
Code:


$ ibus-setup
....
/usr/bin/ibus-setup-cangjie:38: PyGIWarning: IBus was imported without specifying a version first. Use gi.require_version('IBus', '1.0') before import to ensure that the right version gets loaded.
  from gi.repository import IBus


Above: easily fixed with further patching.



Code:

(ibus-setup-cangjie:27937): GLib-GIO-ERROR **: Settings schema 'org.cangjians.ibus.cangjie' is not installed


It appears to be a packaging problem. The code is there but apparently not installed:
Code:


~/git/ibus-cangjie/ $ grep -R org.cangjians.ibus.cangjie *
data/org.cangjians.ibus.cangjie.gschema.xml.in:  <schema path="/org/cangjians/ibus/cangjie/" id="org.cangjians.ibus.cangjie">
Makefile.am:gsettings_in_files = data/org.cangjians.ibus.cangjie.gschema.xml.in data/org.cangjians.ibus.quick.gschema.xml.in


Like in the forum thread you linked to, I cannot configure cangjie nor type with it. Same problem as with Chewing, which I'm trying to use.

Do you use KDE or something else?
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 5:05 am    Post subject: Reply with quote

It appears that there is a Gentoo packaging problem.

I solved the issue by compiling and installing from the source, bypassing emerge:

Code:

$ ./autogen.sh
...
$ make
...
$ sudo make install
Password:
Sorry, try again.
Password:
  GEN      data
make  install-recursive
make[1]: Entering directory '/home/gentou/git/ibus-cangjie'
Making install in po
make[2]: Entering directory '/home/gentou/git/ibus-cangjie/po'
linguas="pt_BR zh_HK zh_TW "; \
for lang in $linguas; do \
  dir=/usr/local/share/locale/$lang/LC_MESSAGES; \
  /bin/sh /home/gentou/git/ibus-cangjie/install-sh -d $dir; \
  if test -r $lang.gmo; then \
    /usr/bin/install -c -m 644 $lang.gmo $dir/ibus-cangjie.mo; \
    echo "installing $lang.gmo as $dir/ibus-cangjie.mo"; \
  else \
    /usr/bin/install -c -m 644 ./$lang.gmo $dir/ibus-cangjie.mo; \
    echo "installing ./$lang.gmo as" \
         "$dir/ibus-cangjie.mo"; \
  fi; \
  if test -r $lang.gmo.m; then \
    /usr/bin/install -c -m 644 $lang.gmo.m $dir/ibus-cangjie.mo.m; \
    echo "installing $lang.gmo.m as $dir/ibus-cangjie.mo.m"; \
  else \
    if test -r ./$lang.gmo.m ; then \
      /usr/bin/install -c -m 644 ./$lang.gmo.m \
        $dir/ibus-cangjie.mo.m; \
      echo "installing ./$lang.gmo.m as" \
           "$dir/ibus-cangjie.mo.m"; \
    else \
      true; \
    fi; \
  fi; \
done
installing pt_BR.gmo as /usr/local/share/locale/pt_BR/LC_MESSAGES/ibus-cangjie.mo
installing zh_HK.gmo as /usr/local/share/locale/zh_HK/LC_MESSAGES/ibus-cangjie.mo
installing zh_TW.gmo as /usr/local/share/locale/zh_TW/LC_MESSAGES/ibus-cangjie.mo
make[2]: Leaving directory '/home/gentou/git/ibus-cangjie/po'
make[2]: Entering directory '/home/gentou/git/ibus-cangjie'
make[3]: Entering directory '/home/gentou/git/ibus-cangjie'
 /bin/mkdir -p '/usr/local/bin'
 /usr/bin/install -c scripts/ibus-setup-cangjie '/usr/local/bin'
 /bin/mkdir -p '/usr/local/lib/ibus-cangjie'
 /usr/bin/install -c scripts/ibus-engine-cangjie '/usr/local/lib/ibus-cangjie'
 /bin/mkdir -p '/usr/local/share/appdata'
 /usr/bin/install -c -m 644 data/cangjie.appdata.xml data/quick.appdata.xml '/usr/local/share/appdata'
 /bin/mkdir -p '/usr/local/share/ibus/component'
 /usr/bin/install -c -m 644 data/cangjie.xml data/quick.xml '/usr/local/share/ibus/component'
 /bin/mkdir -p '/usr/local/share/applications'
 /usr/bin/install -c -m 644 data/ibus-setup-cangjie.desktop data/ibus-setup-quick.desktop '/usr/local/share/applications'
 /bin/mkdir -p '/usr/local/lib64/python3.4/site-packages/ibus_cangjie'
 /usr/bin/install -c -m 644 src/__init__.py src/canberra.py src/engine.py src/setup.py '/usr/local/lib64/python3.4/site-packages/ibus_cangjie'
Byte-compiling python modules...
__init__.pycanberra.pyengine.pysetup.py
Byte-compiling python modules (optimized versions) ...
__init__.pycanberra.pyengine.pysetup.py
 /bin/mkdir -p '/usr/local/share/ibus-cangjie'
 /usr/bin/install -c -m 644 data/setup.ui '/usr/local/share/ibus-cangjie'
 /bin/mkdir -p '/usr/local/share/icons/hicolor/16x16/intl'
 /usr/bin/install -c -m 644 data/icons/16x16/cangjie.png data/icons/16x16/quick.png '/usr/local/share/icons/hicolor/16x16/intl'
 /bin/mkdir -p '/usr/local/share/icons/hicolor/scalable/intl'
 /usr/bin/install -c -m 644 data/icons/scalable/cangjie.svg data/icons/scalable/quick.svg '/usr/local/share/icons/hicolor/scalable/intl'
if test -n "data/org.cangjians.ibus.cangjie.gschema.xml data/org.cangjians.ibus.quick.gschema.xml"; then \
        test -z "/usr/local/share/glib-2.0/schemas" || /bin/mkdir -p "/usr/local/share/glib-2.0/schemas"; \
        /usr/bin/install -c -m 644 data/org.cangjians.ibus.cangjie.gschema.xml data/org.cangjians.ibus.quick.gschema.xml "/usr/local/share/glib-2.0/schemas"; \
        test -n "" || glib-compile-schemas /usr/local/share/glib-2.0/schemas; \
fi
make[3]: Leaving directory '/home/gentou/git/ibus-cangjie'
make[2]: Leaving directory '/home/gentou/git/ibus-cangjie'
make[1]: Leaving directory '/home/gentou/git/ibus-cangjie'


Curiously, there is no make test option available, although test sources exist.

Having done that, I can now configure cangjie, but I still cannot type any Chinese.
I do meta+space to switch to cangjie, but the output is still English characters.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 5:11 am    Post subject: Reply with quote

Both Chewing and cangjie kinda work within firefox,
but neither work within konsole, konqueror, libreoffice....
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 8:54 am    Post subject: Reply with quote

fedeliallalinea wrote:

If package is a dependency depclean will not remove package emerged with --oneshot, in the other case yes.
Examples:


Thank you for your explanation. The example clarify a lot.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 9:19 am    Post subject: Reply with quote

@augustin

You are so fast!

I am still struggling with the patch, without success. :oops:
I followed line-by-line the wiki here.
On the xxx.patch.out I have
Code:
====================================
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- scripts/ibus-setup-cangjie.in   2014-12-31 21:20:03.000000000 +0800
|+++ /tmp/ibus-setup-cangjie.in   2016-12-31 16:38:26.196000000 +0800
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored

patch program exited with status 1
====================================

and content of the patch file is
Code:
--- scripts/ibus-setup-cangjie.in       2014-12-31 21:20:03.000000000 +0800
+++ /tmp/ibus-setup-cangjie.in  2016-12-31 16:38:26.196000000 +0800
@@ -32,6 +32,8 @@

 import locale

+import gi
+gi.repository_version("Gtk", "3.0")
 from gi.repository import Gtk
 from gi.repository import IBus

Any suggestion? Should I remove the line "import locale"?

Even it is not useful, I would like to get the patch done. :?

Regarding Chinese input, I may setup a Debian fluxbox vm for it, copy and paste across vm's when needed. :(

For the WM, I always prefer Xfce.

I read from a ubuntu forum that rime supports Quick5. I tried, unfortunately, Gentoo's version does not. But it can output Chinese characters. Not sure if it is useful to you.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 9:31 am    Post subject: Reply with quote

augustin wrote:
Both Chewing and cangjie kinda work within firefox,
but neither work within konsole, konqueror, libreoffice....


Have you tried re-start ibus?

I had some similar experience with Manjaro, resolved by delay the start up of ibus.
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 9:51 am    Post subject: Reply with quote

Did you try with the git repository? It's easy.
I think git is installed by default, otherwise do:
# emerge dev-vcs/git
then pick up from the git clone command noted above.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 10:07 am    Post subject: Reply with quote

augustin wrote:
Did you try with the git repository? It's easy.
I think git is installed by default, otherwise do:
# emerge dev-vcs/git
then pick up from the git clone command noted above.


Did you run everything as root, or add the normal user to portage group?
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 11:05 am    Post subject: Reply with quote

Commands with the $ prompt were run as user, and with the # prompt as root.
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 11:44 am    Post subject: Reply with quote

augustin wrote:
Did you try with the git repository? It's easy.
I think git is installed by default, otherwise do:
# emerge dev-vcs/git
then pick up from the git clone command noted above.


I try to follow your example.
yes, git is installed by default.
I created a subfolder under home, cd into it, run the git clone and can download the ibus-cangjie directories
but when I run
Code:
$ git diff > gi-repository.patch

I get
Code:
Not a git repository
To compare two paths outside a working tree:
usage: git diff [--no-index] <path> <path>

Do I need to setup something about git if I use this approach?
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 11:47 am    Post subject: Reply with quote

My bad.
You must run git diff from within the git repository:
Code:

$ cd ibus-cangjie/

You should have a .git/ subdirectory:
Code:

$ ls -d .git
.git
$ git diff > my.patch
Back to top
View user's profile Send private message
dboat
n00b
n00b


Joined: 30 Dec 2016
Posts: 23

PostPosted: Sat Dec 31, 2016 12:12 pm    Post subject: Reply with quote

augustin wrote:
My bad.
You must run git diff from within the git repository:
Code:

$ cd ibus-cangjie/

You should have a .git/ subdirectory:
Code:

$ ls -d .git
.git
$ git diff > my.patch


It works!!! Million thanks.
I google and find that I need to run "git init" to make the current directory a git repository.
(does this command merely create a .git folder?)

The previous failure should be due to a wrong path name, the one you use is
/etc/portage/patches/app-i18n/ibus-cangjie/
while the wrong one I used before was
/etc/portage/patches/app-i18n/ibus-cangjie-2.4/


Will try your "bypassing emerge" approach and see what I can get. :wink:
Back to top
View user's profile Send private message
augustin
Guru
Guru


Joined: 23 Feb 2015
Posts: 318

PostPosted: Sat Dec 31, 2016 12:20 pm    Post subject: Reply with quote

dboat wrote:


It works!!! Million thanks.
I google and find that I need to run "git init" to make the current directory a git repository.
(does this command merely create a .git folder?)


Strange. I always run git init when I start a new project for myself, but it's not supposed to be necessary if you git clone an existing project.


Quote:

Will try your "bypassing emerge" approach and see what I can get. :wink:


This one has got me puzzled. I just checked: the latest code (git's HEAD) is the same as the one pulled by portage (2.4), so I can't explain the difference I observed. YMMV.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum