]> git.ipfire.org Git - thirdparty/util-linux.git/blob - README
Merge branch 'meson-more-build-options' of https://github.com/jwillikers/util-linux
[thirdparty/util-linux.git] / README
1
2 util-linux
3
4 util-linux is a random collection of Linux utilities
5
6 Note: for the years 2006-2010 this project was named "util-linux-ng".
7
8 COMPILE & INSTALL:
9
10 See Documentation/howto-compilation.txt.
11
12 MAILING LIST:
13
14 E-MAIL: util-linux@vger.kernel.org
15 URL: http://vger.kernel.org/vger-lists.html#util-linux
16 ARCHIVE: https://lore.kernel.org/util-linux/
17
18 The mailing list will reject email messages that contain:
19 - more than 100K characters
20 - html
21 - spam phrases/keywords
22 See: http://vger.kernel.org/majordomo-info.html#taboo
23
24 IRC CHANNEL:
25
26 #util-linux at libera.chat:
27
28 irc://irc.libera.chat/util-linux
29
30 The IRC channel and Mailing list are for developers and project
31 maintainers. For end users it is recommended to utilize the
32 distribution's support system.
33
34 BUG REPORTING:
35
36 E-MAIL: util-linux@vger.kernel.org
37 Web: https://github.com/util-linux/util-linux/issues
38
39 Bug reports with sensitive or private information: Karel Zak <kzak@redhat.com>
40
41 This project has no resources to provide support for distribution specific
42 issues. For end users it is recommended to utilize the distribution's
43 support system.
44
45 NLS (PO TRANSLATIONS):
46
47 PO files are maintained by:
48 https://translationproject.org/domain/util-linux.html
49
50 VERSION SCHEMA:
51
52 Standard releases:
53 <major>.<minor>[.<maint>]
54 major = fatal and deep changes
55 minor = typical release with new features
56 maint = maintenance releases; bug fixes only
57
58 Development releases:
59 <major>.<minor>-rc<N>
60
61 SOURCE CODE:
62
63 Download archive:
64 https://www.kernel.org/pub/linux/utils/util-linux/
65
66 See also:
67 Documentation/howto-contribute.txt
68 Documentation/howto-build-sys.txt
69 Documentation/howto-pull-request.txt
70
71 SCM (Source Code Management) Repository:
72
73 Primary repository:
74 git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git
75
76 Backup repository:
77 git clone https://github.com/util-linux/util-linux.git
78
79 Web interfaces:
80 https://git.kernel.org/cgit/utils/util-linux/util-linux.git
81 https://github.com/util-linux/util-linux
82
83 Note: the GitHub repository may contain temporary development branches too.
84
85 The kernel.org repository contains master (current development) and stable/*
86 (maintenance) branches only. All master or stable/* changes are always pushed
87 to both repositories at the same time.
88
89 Repository Branches: 'git branch -a'
90 master branch
91 - current development
92 - the source for stable releases when deemed ready.
93 - day-to-day status is: 'it works for me'. This means that its
94 normal state is useful but not well tested.
95 - long-term development or invasive changes in active development are
96 forked into separate 'topic' branches from the tip of 'master'.
97
98 stable/ branches
99 - public releases
100 - branch name: stable/v<major>.<minor>.
101 - created from the 'master' branch after two or more release
102 candidates and the final public release. This means that the stable
103 releases are committed, tagged, and reachable in 'master'.
104 - these branches then become forked development branches. This means
105 that any changes made to them diverge from the 'master' branch.
106 - maintenance releases are part of, and belong to, their respective
107 stable branch. As such, they are tags(<major>.<minor>.<maint>) and
108 not branches of their own. They are not part of, visible in, or
109 have anything to do with the 'master' development branch. In git
110 terminology: maintenance releases are not reachable from 'master'.
111 - when initially cloned (as with the 'git clone' command given above)
112 these branches are created as 'remote tracking branches' and are
113 only visible by using the -a or -r options to 'git branch'. To
114 create a local branch use the desired tag with this command:
115 'git checkout -b v2.29.2 v2.29.2'
116
117 Tags: 'git tag'
118 - a new tag object is created for every release.
119 - tag name: v<version>.
120 - all tags are signed by the maintainer's PGP key.
121
122 Known Bugs:
123 - don't use tag v2.13.1 (created and published by mistake),
124 use v2.13.1-REAL instead.
125
126 WORKFLOW EXAMPLE:
127
128 1) development (branch: <master>)
129
130 2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)
131
132 3) development (work on v2.30, branch: <master>)
133
134 4) fork -- create a new branch <stable/v2.29> based on tag v2.29
135
136 4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)
137
138 4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)
139
140 4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)
141
142 5) master release v2.30 (branch: <master>)
143 ...
144
145 where 3) and 4) happen simultaneously.
146