diff --git a/ChangeLog b/ChangeLog index 0b284cd..dd9aa8f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,471 +1 @@ -Changes for 2.0.1 (legion) - -o Build system: - - Disable arch-specific tests. -o Libkeymap: - - Fix regression in processing alt_is_meta keyword. -o Keymaps: - - Rename Bepo keymaps: - dvorak-fr-bepo.map -> fr-bepo-latin9.map - dvorak-fr-bepo-utf8.map -> fr-bepo.map. - -Changes for 2.0.0 (legion) - -o All operations with keymaps moved to libkeymap library. The loadkeys - and dumpkeys always use the libkeymap. -o Keymaps: - - Add Bepo keymaps (dvorak-fr-bepo.map, dvorak-fr-bepo-utf8.map). - - Add it.map keymap. - -Changes for 1.15.5 (legion) - -o Build system: - - Fix various vlock build errors (Mike Frysinger) - - Fix loadkeys.analyze lex handling (Mike Frysinger) - - Fix msgstr in es.po (Dmitry V. Levin) - -Changes for 1.15.4 (legion) - -o Programs: - - vlock: New utility which locks one or more virtual consoles. - - loadkeys: Change the handling of -C option. - - loadkeys: Fix -d option. -o Keymaps: - - Add dvorak-es keymap. - - Add dvorak-uk keymap (Joe MacMahon). - - Add dvorak-sv-a1 and dvorak-sv-a5 keymaps . - - Add ruwin_alt_sh-UTF-8 keymap (Dmitriy Perlow). - -Changes for 1.15.3 (legion) - -o Build system: - - Drop klibc support. -o Programs: - - kbdinfo: New utility to obtain information about console. - - setvtrgb: New utility to set the virtual terminal RGB colors. - - loadkeys: Add LOADKEYS_KEYMAP_PATH env variable. - - loadkeys: Fix some memory leaks. - - loadkeys: Do not set prefer_unicode for iso-8859-1. - - loadkeys -a: Switch to ASCII mode. - - loadkeys: Fix "compose as usual" for Unicode diacritics (Michael Schutte). -o Keymaps: - - Add dvorak-ru keymap. -o Fonts: - - Add LatGrkCyr fonts. - -Changes for 1.15.2 (legion) - -o Build system: - - Use automake to build translations. - - Fix colemak installation. - - psffontop: Fix possible alignment issues, wrt -Wcast-align. - - vcstime: Fix build warning. -o Programs: - - loadkeys -u: Switch to Unicode mode, if necessary (Michael Schutte). - - Use either /dev/vcs[a] or /dev/vcs[a]0 (Michael Schutte) -o Keymaps: - - Add "mobii" specific keymap (Richard Zidlicky). -o Fonts: - - Add georgian font. - -Changes for 1.15.1 (legion) - -o Build system: - - Add klibc support. - - Fix errors when building with -Werror=format-security - gcc option (Herton Ronaldo Krzesinski). - - Fix cross-compiling problems. -o Programs: - - loadkeys: Auto-convert “traditional”/Unicode keysyms (Michael Schutte). - - loadkeys: Support bidirectional conversion of keysyms (Michael Schutte). - - loadkeys: Support Unicode compose tables (Michael Schutte). - - showconsolefont: Print adequate space chars (Michael Schutte). - - dumpkeys: Use U+… in “compose” lines if KDGKBDIACRUC is available (Michael Schutte). - - Add support for Brl_dot9 and Brl_dot10 (Michael Schutte). - - Never handle plain ASCII characters as Unicode (Michael Schutte). - - Enable UNUMBERs in compose definitions (Michael Schutte). -o Keymaps: - - bg_pho-utf8 keycode 38 assignment fix. - - Add keymap for Colemak. - - Add keymap for German Intel based Macs. - - Add UK keymap for the Sun Type-6 keyboard. - - Add French keymap Dvorak. - - Add Kirghiz keymap. -o Fonts: - - Add U+2010, U+2012, U+2013, U+2018, U+2019, U+2212 - to the embedded character table. - -Changes for 1.15 (legion) - -o Build system: - - Use automake. - - Add --enable-strip configure option. - - Propagates configure options (Charles Clément) -o Programs: - - Fix internationalization (Benno Schulenberg). - - unicode_start: Without any arguments utility will only set unicode mode. - - analyze.l: Add warning for on U+xxxx keysym specifications >= 0xf000. - - analyze.l: Understand the CapsShift modifiers (Michael Schutte). - - openvt: Document the -f switch (Michael Schutte). - - openvt: Print an error message when calls to exec* functions fail. - - loadkeys: dump binary keymap (Michel Stempin). - - loadunimap should use UNIMAPDIR. -o Keymaps: - - Add qwerty/cz.map keymap. - - Recognize Ctrl-[ as Escape. - - ruwin_*: Use qwerty-layout.inc. - - Revert "include/*euro.map: Change 'currency' to 'euro' symbol". - - be-latin1 keycode 7 assignment fix (Herton Ronaldo Krzesinski). -o Fonts: - - iso07u-16.psfu: Update font (Lefteris Dimitroulakis) -o Unimaps: - - Update 8859-7_to_uni.trans - -Changes for 1.14.1 (legion) - -o Build system: - - Fix computing of the host-system type. - - Fix options handling (thanks for the help to Mike Frysinger). - - Fix DESTDIR handling. -o Programs: - - unicode_{start,stop}: To run loadkeys is allowed only to root. -o Keymaps: - - Add Norwegian dvorak keymap. - - Add turkish F (trf) keyboard map. - - Fix turkish Q (trq) keyboard map (Ozgur Murat Homurlu). - - Move qwerty/cz.map -> qwertz/cz.map. - - include/*euro.map: Change 'currency' to 'euro' symbol. - -Changes for 1.14 (legion) - -o Use autoconf for build system. -o Build system: - - Add --enable-nls option. - - Add --enable-optional-progs option. -o Keymaps: - - Add OLPC (One Laptop Per Child) keymaps - - Add more romanian keymaps (Vitezslav Crhonek) - - Add another ukrainian keymap - - Add Belarusian (Belarus) keymaps - - Add Kazakh keymap - - Add Kyrgyz keymap - - Add Bashkir (Russia) keymap - - Add Tatar keymaps - - Add more russian keymaps -o Fonts: - - Add unicode fonts (UniCyrExt_8x16.psf, UniCyr_8x14.psf, UniCyr_8x16.psf, - UniCyr_8x8.psf) - - Add Lat2-Terminus16 font - - Fix sun12x22 font unicode mapping table (Vitezslav Crhonek) -o Programs: - - Add '.acm' suffix for compatibility with console-tools - -Changes for 1.13 - -o Programs: - - fix findfile so that it does not find directories - - kbdrate: fix for sparc -o New translations: cs.po, de.po - -Changes for 1.12 - -o Programs: - - updated getkeycodes, showkey for Linux 2.6 -o Keymaps: - - Minor changes to is-latin1.map - - New is-latin1-us.map (Reynir H. Stefnsson) -o New translations: el.po, pl.po - -Changes for 1.11 - -o Programs: - - updated setkeycodes for Linux 2.6 -o New translations: es.po, nl.po - -Changes for 1.10 - -o Programs: - - openvt: new -e option (damjan@legolas) - - Makefiles: DESTDIR handling improved -o Keymaps: - - New bg-cp1251.map (Dimitar Zhekov) - - New bg_bds-cp1251.map, bg_pho-cp1251.map (Peter Georgiev) - - New bg_bds-utf8.map, bg_pho-utf8.map (Peter Georgiev) - - Renamed bg.map to bg-cp855.map - Probably one of bg-cp1251.map and bg_pho-cp1251.map should be deleted. - Can some Bulgarian tell me which one? -o Fonts: - - Added greek-polytonic.psfu (mpGr.psf, from Lefteris Dimitroulakis) -o New translations: cs.po, es.po, gr.po - -Changes for 1.09 - -o Programs, docs: - - update for Linux 2.6.1, with PIO_UNIMAP for non-fg consoles - - update for Linux 2.5.42: NR_KEYS=256 -o Keymaps: - - small fix for nl.map -o New translations: pl.po, ro.po - -Changes for 1.08 - -o Programs: - - loadkeys.y: fix for bison 1.50 (Per Lidn) - - loadkeys.y: fix in addfunc() - - Makefile etc: minor cleanup (Daniel R. Grayson) - - Makefile etc: --prefix support (Michael Covi) -o Keymaps: - - passim: don't map PrtSc to Ctrl-\ so that poor innocents do not - kill applications when they only want to print the screen; - only map Ctrl-PrtSc to Ctrl-\ (Kurt Garloff) - - modified fi-latin1.map, new fi-latin9.map (Marko Myllynen) - - bg-cp1251.map (Dimitar Zhekov) - - il-heb.map (Oded S. Resnik) - - sr-cy.map (Milos Rancic) - - fr-latin9.map (Guylhem Aznar), removed older fr-latin0.map. - -Changes for 1.07 - -o Programs: - - showfont renamed to showconsolefont to avoid clash with X - - loadkeys.y: fix in addfunc() (Shigeharu Hirayma) - - loadkeys.y: handle relative symlinks (Matthias Benkmann) - - sami.syms.h: symbol definitions for Northern Smi (Regnor Jernsletten) - - findfile.c: search entire dir before looking at subdirs (Matthias Benkmann) - - getfd.c, etc.: also try devfs names (Alastair McKinstry) - - kbdrate.c: do not use : the struct elements changed name - - setleds: typo fixed -o Man pages: - - New: fgconsole.1 (Alastair McKinstry) - - Added a few man[18]misc pages, for non-installed stuff (Alastair McKinstry) -o Fonts: - - Added cyr-sun16.psfu (Bero) -o Unimaps: - - Added cp1251_to_uni.trans, koi8-r_to_uni.trans, koi8-u_to_uni.trans (Bero) -o Keymaps: - - Renamed the Swedish se-latin1.map to sv-latin1.map - - Added se-fi-ir209.map, se-fi-lat6.map, se-ir209.map, se-lat6.map - for Northern Smi (Regnor Jernsletten) - - Added pt-latin9.map (Carlos Monteiro) - - The old nl.map was really bad. Renamed nl3.map to nl.map. - - fi-latin1.map small changes -o Docs: - - kbd.FAQ: small additions - -Changes for 1.06 (aeb) - -o Programs: - - Some Makefile changes (Peter Breitenlohner) - - Added fgconsole to the installed programs - - resizecons.c: removed .psf extension from default fonts (bero) - - psffontop.c: correction to handling of unicode sequences (Kurt Garloff) - - loadkeys: work better in the presence of symlinks -o Documentation: - - Removed scancode docs (these will be distributed separately, had grown to - over 1 MB; see also http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html) -o Fonts: - - Added iso02-12x22.psfu (Jacek Lipkowski) - - Renamed sun-12x22.psfu to iso01-12x22.psfu since Kurt Garloff - explained that it was not the kernel font but a modified version. - Added the original sun-12x22.psfu. - - Renamed lat7-16.psfu to iso07u-16.psfu. (lat7 is iso13, not iso07) - - Added lat7a-14.psfu (earlier: lt-brim*) and lat7a-16.psf (bad fonts) - - Added lat7-14.psfu (ugly, but with the right characters) -o Unimaps: - - Renamed lat7u.uni to iso07u.uni since it is not a Latin-7 map. - - Added lat7.uni -o Keymaps (mostly Kurt Garloff, SuSE): - - Corrected br-latin1-abnt2.map (Frdric Meunier), mac-de_CH.map, - sunt5-uk.map - - Added missing Latin-1 symbols to fi-latin1.map (Marko Myllynen) - - Added sundvorak.map, sunt4-no-latin1.map, sunt5-cz-us.map, - sunt5-us-cz.map, mac-dvorak.map, mac-qwertz-layout.inc - -Changes for 1.05 (aeb) - -o Programs: - - kdmapop.c, kdmapop.h, utf8.c, utf8.h: new - - loadunimap.c: also allow a range mapped to a single Unicode symbol - - mapscrn.c: also allow a character given as utf8 string - - mapscrn.c: handle PIO_SCRNMAP and PIO_UNISCRNMAP with same -m/-om options - - showfont.c: also show fonts larger than 256 glyphs - - unicode_start: updated; added text from Bruno Haible -o Documentation: - - font-formats, unicode_start.1, unicode_stop.1: new - - loadunimap.8, mapscrn.8, setfont.8: updated -o Fonts: - - Added drdos8xN.psfu -o Unimaps: - - Added cybercafe.uni -o Console translations: - - Added 8859-N_to_uni.trans, cpNNNN_to_uni.trans -o Data: - - Corrected corrupted 737.cp, lat5-N.psfu, baltic.trans - -Changes for 1.04 (aeb, Olaf Hering, Kurt Garloff): - -o Programs: - - setfont etc: support for font widths other than 8 - - loadkeys.y: also look at mac/include - - cp1250.syms.h: new - - setlogcons: new - - contrib/showfont: new - - contrib/psfsplit: new - - cad: don't create a temp file -o Documentation: - - Minor changes to kbd FAQ. Extended scancode FAQ. New A20 docs. - - Minor changes to man pages. -o Keymaps: - - New keymap include dir mac/include. - - Added euro1.map and euro2.map. - - Added some compose definitions to compose.latin and compose.latin1. - - Deleted be-latin1.map and renamed be2-latin1.map to be-latin1.map. - There seems to be consensus that it is better than the original - be-latin1.map. - - Renamed hebrew.map to il-phonetic.map and added il.map. - - Applied fix from Jochen Hein to de.map. - - Applied SuSE fixes to mac-de-latin1-nodeadkeys.map, us.map, de*.map. - - Added mac-be.map, mac-de-latin1.map, mac-de_CH.map, mac-dk-latin1.map, - mac-es.map, mac-fi-latin1.map, mac-fr.map, mac-fr_CH-latin1.map, - mac-it.map, mac-pt-latin1.map, mac-se.map, mac-uk.map, mac-us.map, - br-latin1-abnt2.map, br-latin1-us.map, cz.map, de_CH-latin1.map, - mk.map (renamed the old one to mk0.map), mk-cp1251.map, mk-utf.map, - ro_win.map and cz-cp1250.map. -o Unimaps: - - Added cp1250.uni. -o Console translations: - - Added iso02_to_cp1250.trans. -o Fonts: - - Added cybercafe.fnt, sun12x22.psfu, cp1250.psfu, - cp857.08, cp857.14, cp857.16. - -Changes for 1.03 (aeb): - -o Added doc/scancodes/* with information on the scancodes produced - by PC keyboards. -o Added by.map. -o Added Unicode maps to Greek fonts. - -Changes for 1.00 (aeb): - -o Introduced psf2 fonts, allowing one to describe a font position - with a Unicode sequence (base character with combining accents). -o Reorganized fonts; added Unicode table to most of them. - The consolefonts directory got a subdirectory partialfonts. - The Unicode maps got a directory of their own. -o Moved kbdrate from util-linux to here. -o Added -s (sort) option to getunimap.c. -o Setfont now accepts several psf2 fonts, each of arbitrary length. - Setfont now accepts certain codepage fonts. - Setfont now accepts a text file containing a list of fonts to load. -o Made distinction between koi8-r and koi8-u. -o spawn_console and spawn_login invoke openvt, not open. - -Changes for 0.98 (aeb): - -o Added internationalization and Dutch texts (nl.po) - -Changes for 0.96 (aeb): - -o Added keywords like strings_as_usual. Added keymap include files. -o Reorganized keymap directory. -o Added loading of compressed fonts. -o Added iso-8859-9 handling. -o Added -a option to showkey. - -Changes for 0.94 (aeb): - -o Added keyword alt_is_meta. - -Changes for 0.91 (aeb): - -o Added hpa's setfont patch. - -Changes for 0.90 (aeb): - -o Changed setfont to subsume mapscrn and escape sequence. -o Added hpa's psftable stuff. -o Added Unicode stuff (requires kernel 1.1.92 or later). - -Changes for 0.89 (aeb): - -o Some minor things. - -Changes for 0.88 (aeb): - -o Added dynamic keymap support. Added "keymaps" directive. -o Added dynamic console allocation. Added disalloc. -o Added resize. -o Changed LED handling. -o Added the contributed codepage.c (to extract codepages from a - DOS .cpi file). -o Many minor changes. - -Changes for 0.87 (aeb): - -o Added iso-8859-8 support. Added "charset" directive. -o Corrected a typo in "trivial". -o Added kbd_mode. -o Extended kbd.FAQ. Added contributed keymaps and fonts. - -Changes for 0.85-0.86 (aeb): - -o Minor things only. Added contributed keymaps and fonts. - -Changes for 0.84 (aeb): - -o Added more compose key support to loadkeys. -o Setfont, loadkeys and mapscrn look by default in /usr/lib/kbd/*. -o Setfont can read codepage font files (and select a font from them). -o Many minor changes. - -Changes for 0.83 (aeb): - -o Added KT_LETTER, so that CapsLock can work correctly. - For the time being, this is denoted by a leading + in the keymap. -o Added setfont, showfont, mapscrn. -o Added setleds, setmetamode. -o Put data by default in three subdirectories of /usr/lib/kbd. - -Changes from version 0.81 to version 0.82 (aeb@cwi.nl): - -o Made mktable an option of loadkeys, so that the file defkeymap.c - produced is independent of the current kernel, and independent of - the current keyboard settings. (The old mktable program is now - obsolete.) -o After dumpkeys > x; loadkeys x; dumpkeys > y the files x and y - should be identical. They were not. I hope they are now. -o Showkey now restores the original keyboard mode. -o Loadkeys now accepts quotes and backslashes in strings. -o Added compose key support. - -Changes from version 0.8 to version 0.81: - -o Updated and fixed the keytable files -o Minor additions to the loadkeys man page -o Added support for ISO 8859-{2,3,4} character symbols, updated - dumpkeys man page accordingly - -Changes from the prerelease to version 0.8: - -o Enhanced the shorthand notation `keycode xx = a', where `a' is an - ASCII letter and changed `dumpkeys' and `loadkeys' accordingly. - Now this entry defines useful values in shift+control, meta+shift, - meta+control and meta+control+shift keytables, too. AltGr entries - also default now to the value of non-AltGr entries. -o Added the possibility to split long lines into multiple shorter ones - by appending a backslash at the end of each partial line. -o Added a version number and a short usage message to `dumpkeys' -o Added the options --short-info, --long-info (replaces the symbol - dump, -s), --numeric, --full-table, --funcs-only, --keys-only to - `dumpkeys'. See manpage for more info. -o Added a version number, a short usage message and the ability to load - multiple map files at a time to `loadkeys'. -o Added the utility `mktable' to generate the kernel default binding - table automatically from the currently loaded keytable. -o Added the utility `showkey' for interactively inspecting the - scancodes and keycode values sent by key presses and releases. -o Fixed the value of Uncaps_Shift, eliminated obsolete Map_xx symbols -o Added Meta_Control_xxx symbols. -o Added symbols for locking modifiers (kernel 0.99pl12 doesn't support this) - +See version control history. diff --git a/README.md b/README.md index f229d5b..d77dfdf 100644 --- a/README.md +++ b/README.md @@ -5,24 +5,49 @@ This package contains tools for managing Linux console (Linux console, virtual terminals, keyboard, etc.) – mainly, what they do is loading console fonts and keyboard maps. -This distribution contains no binaries - the sources depend on the -kernel version - compile them yourself. +This distribution contains no binaries - the sources depend on the kernel +version - compile them yourself. The home site of this package: * http://kbd-project.org/ The latest stable version of kbd can always be found on: - * ftp://ftp.kernel.org/pub/linux/utils/kbd/ + * https://www.kernel.org/pub/linux/utils/kbd/ * ftp://ftp.altlinux.org/pub/people/legion/kbd/ + +Contributing +------------ + +See also [howto-contribute](docs/process/howto-contribute.md). + +Web interface: + * https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git + * https://github.com/legionus/kbd + +Checkout: +``` +git clone git://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git +``` + + +NLS (PO TRANSLATIONS) +--------------------- + +PO files are maintained by: +https://translationproject.org/domain/kbd.html + + LICENSE ------- -Kbd is licensed under the GNU General Public License (GPL), version 2, or at your -option any later version. +Kbd is licensed under the GNU General Public License (GPL), version 2, or at +your option any later version. -BUGS ----- -Report problems with this package to Alexey Gladkov . +BUG REPORTING +------------- + +Report problems with this package to the mailing list or +to the Alexey Gladkov . diff --git a/docs/process/README.md b/docs/process/README.md new file mode 100644 index 0000000..6c2bf10 --- /dev/null +++ b/docs/process/README.md @@ -0,0 +1,4 @@ +Introduction +============ + +This documentation is for those who want to help the project and contribute to it. diff --git a/docs/process/howto-compilation.md b/docs/process/howto-compilation.md new file mode 100644 index 0000000..b0dd8a4 --- /dev/null +++ b/docs/process/howto-compilation.md @@ -0,0 +1,22 @@ +The common case + +``` +./autogen.sh && ./configure && make +``` + +If something fails read the last lines. Typical reason to fail is a missing +dependency, such as libtool or gettext. + + +Autotools +========= + +`./autogen.sh` generates all files needed to compile and install the code (run +it after checkout from git) + +`make distclean` removes all unnecessary files, but the code can still be +recompiled with `./configure; make` + +`make dist-gzip` (or -bzip2) creates a tarball that can be configured and +compiled without running `./autogen.sh` + diff --git a/docs/process/howto-contribute.md b/docs/process/howto-contribute.md new file mode 100644 index 0000000..10148f4 --- /dev/null +++ b/docs/process/howto-contribute.md @@ -0,0 +1,95 @@ +Patches +======= + +Send your patches to the mailing list or to the upstream maintainer (see the +[README](../../README.md) file in project root directory), but sending to the +mailing list is more preferable. + +Email attachments are difficult to review and not recommended. +Hint: use `git send-email`. + +Email is accepted as an inline patch with, or without, a git pull request. Pull +request emails need to include the patch set for review purposes. See +[howto-pull-request](howto-pull-request.md) and [README](../../README.md) for git +repository instructions. + +Many small patches are preferred over a single large patch. Split patch sets +based upon logical functionality. + +Don't include generated (autotools) files in your patches. +Hint: use `git clean -Xd`. + +Neutrality: the files in kbd should be distribution-neutral. Packages like RPMs, +DEBs, and the rest, are not provided. They should be available from the +distribution. + +Make sure that after applying your patch the file(s) will compile without errors +on top of the 'master' branch. + +Test that the previously existing program behavior is not altered. If the patch +intentionally alters the behavior explain what changed, and the reason for it, +in the changelog/commit message. + + +Sending Patches +=============== + +Subject: [PATCH] subsystem: description. + +Start the message body with an explanation of the patch, that is, a changelog/commit +entry. + +Add a Signed-off-by line. +Hint: use `git commit -s` + +The sign-off is a simple line at the end of the explanation for the patch; which +certifies that you wrote it or otherwise have the right to pass it on as an +open-source patch. The rules are pretty simple; if you can certify the +following: + +By making a contribution to this project, I certify that: + +1. The contribution was created in whole or in part by me and I have the right + to submit it under the open source license indicated in the file; or + +2. The contribution is based upon previous work that, to the best of my + knowledge, is covered under an appropriate open source license and I have the + right under that license to submit that work with modifications, whether + created in whole or in part by me, under the same open source license (unless + I am permitted to submit under a different license), as indicated in the + file; or + +3. The contribution was provided directly to me by some other person who + certified (1), (2) or (3) and I have not modified it. + +4. I understand and agree that this project and the contribution are public and + that a record of the contribution (including all personal information I + submit with it, including my sign-off) is maintained indefinitely and may be + redistributed consistent with this project or the open source license(s) + involved. + +Then you just add a line like: +``` +Signed-off-by: Random J Developer +``` +Use your real name (sorry, no pseudonyms or anonymous contributions). + + +Coding Style +============ + +The clang-format used to format the code. Please use it before submitting +patches. The preferred coding style described in the .clang-format in project +root directory. + +Use 'FIXME:' with a good description, if you want to inform others that +something is not quite right, and you are unwilling to fix the issue in the +submitted change. + + +Various Notes +============= + +Patches relying on kernel features that are not in Linus Torvalds's tree are not +accepted. + diff --git a/docs/process/howto-pull-request.md b/docs/process/howto-pull-request.md new file mode 100644 index 0000000..4e6ea2e --- /dev/null +++ b/docs/process/howto-pull-request.md @@ -0,0 +1,71 @@ +Introduction +============ + +These instructions are wrote to contributors who tend to send lots of changes. +The basics from [howto-contribute](howto-contribute.md) file are assumed to be +read and understood by the time this file becomes useful. + + +Setup +===== + +1. Find a git server that can be reached from anywhere in internet anonymously. + Github is for example a popular choice. + +2. Create your own util-linux contributor repository, and push a upstream clone + to there. + +3. In these instructions the upstream remote repository is called 'origin' and + the 'yourgit' is the contributor repo. + +``` +cd ~/projects +git clone git://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git +cd kbd +git remote add yourgit git@github.com:yourlogin/kbd.git +git push yourgit +``` + + +Stay up to date +=============== + +1. Ensure you have the latest from all remote repositories. + +2. Merge upstream 'master' branch if needed to your local 'master'. + +3. Rebase your working contribution branches. + +4. Push the changes to 'yourgit'. + +``` +git fetch --all +git log --graph --decorate --pretty=oneline --abbrev-commit --all +``` + +5. If you notice upstream has changed while you were busy with your changes + rebase on top of the master, but before that: + +6. Push a backup of your branch 'textual' to 'yourgit', then + +``` +git checkout master +git merge origin/master +git checkout textual +git rebase master +``` + +If rebase reports conflicts fix the conflicts. In case the rebase conflict is +difficult to fix rebase --abort is good option, or recover from 'yourgit', +either way there is some serious re-work ahead with the change set. + +7. Assuming rebase went fine push the latest to 'yourgit'. + +``` +git push yourgit master:master +git push yourgit --force textual:textual +``` + +The contributor branch tends to need --force every now and then, don't be afraid +using it. +