-
Notifications
You must be signed in to change notification settings - Fork 2
/
Changelog
355 lines (315 loc) · 15.5 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
NEXT:
e2factory-2.3.18p1
* add support for rsync 3.2.4 style path arguments
* add hashupdate feature for all file sources
e2factory-2.3.18p0
* fix collision created by glibc-2.34 adding closefrom()
e2factory-2.3.18
* fix env var alphabetical sorting order, may require small changes
* many smaller bugfixes
* misconfigured git source produces warning instead of error if not fatal
* fetch-sources --update improvements for git source
* experimental support for e2.conf.local (selectively overwriting the default)
* allow specifying temp dir in e2.conf (config.site.tmpdir)
* detect more typos and invalid settings in e2.conf
* git source automatically uses remote branch when no local branch exists
* many signal handling related improvements
* fix signaling e2-su without a controlling terminal (in CI settings)
* fix shell quoting source filename in collect project
* respect config.log.logrotate in e2.conf
* support tbz2 archives.
* repair fetch-project in --branch mode
* repair BuildID calculation in collect project when using wc-mode
* improve various error messages related to chroot failures.
* make signal handling and propagation with e2 more robust.
* reduce confusion between build settings, build and process mode
* improve error object information and handling
* refactor global info table into an e2project class
* optional use of sudo instead of e2-su-2.2 for chroot operations
* refactoring of e2factory core (e2project class)
* refactoring of build machinery towards parallelism (build sets, config, etc)
e2factory-2.3.18rc3
e2factory-2.3.18rc2
e2factory-2.3.18rc1
e2factory-2.3.17p0
* add support for --wc-mode res1,res2 style option parsing
* warn in likely unintended case when mixing multiple build modes
* fix wait()ing for children
* fix duplicate detection in build mode arguments
* improve permission string parsing
* extended buildid logging to ease debugging
* fix detection of exit status of a signaled process
e2factory-2.3.17
* fixed sub-licences handling for file sources
* ls-project add --unused option
* ls-project <result> only shows chroot groups used by listed results
* ls-project <result> only shows licences used by the listed sources
* Add new source type "licence", providing licence info to build environment
* Removed lazytag build mode, it was deprecated for a long time
* Fix error in cvs source if cvsroot unset
e2factory-2.3.16p0
* Fix collect_project, include default result and its deps into the BuildID
e2factory-2.3.16
* Fix e2 fetch-sources --update for git repos
* Add experimental gitrepo source type
e2factory-2.3.16rc1
* Fix doubled up error message on Control-C
* Fix e2factory sometimes ignoring Control-C
* Fix unintended modification of the git index in working source directory.
* Add sha256 support to e2source file config
* Add sha256 support to e2licence config
* Add sha256 support to e2chroot config
* Add selection of checksum algorithms to proj/config
* Fix checksum verification of some file sources used by collect_project
* Fix SourceID calculation in files plugin under artificial conditions
* Remove error message when an optional tool isn't present
e2factory-2.3.15
* result.tar does not contain leading ./ prefix any more
* added typo detection in source and result config files
* reduced warning noise
* add warning for empty e2env references
* make the cache truly transparent
* improve error reporting in dependency cycle detection
* ls-project displays sub-licenses of file sources
* add warning when deploying release builds to disabled server
* improve error handling when encountering erroneous config files
* prevent manipulation of the lua string module from config files
* reduce what's possible (but not advertised) in config files
* fix CVS/SVN LicenseID calculation
* detect if an unpack location in a source config points to non-existent dir
* put an end to changing the working directory of the process repeatedly
* replaced ad-hoc shell command strings with argument tables or safe quoting
* unified command execution facilities
* unified IO facilities and surrounding error handling
* removed reliance on many shell commands
* e2factory developer documentation improvements
* internal error handling has been rewritten
* collect_project now creates "Makefile" instead of "makefile".
* remove unusable E2_BUILD_NUMBER variable from build-script.
* on git source update, fetch tags and prevent non-ff merges
* object oriented structure for sources, results, chroot, build process, ...
* split e2factory core into logical modules
e2factory-2.3.14p1
* Provide io.open/io.popen wrappers that set FD_CLOEXEC
* On startup, close all file descriptors except for stdin, stdout, and stderr
as a precautionary measure.
* luafile.open() sets FD_CLOEXEC by default
* Fix incorrect use of shquote(), preventing x86_64 chroot builds
* Fix regression preventing use of x86_64 chroot
* Fix hashcache problem causing an incorrect BuildID
* Reset all signal handlers to their default values
* Fix rotating logs when the result name contains a dash
* Fix rsync silently skipping non-regular files and directories
e2factory-2.3.14p0
* This release continues to be compatible with 2.3.14 plugins.
* Unbreak --wc-mode and allow specifying multiple results, including
intermediary dependencies. Beware this changes wc-mode buildid from "scratch"
to "scratch-<buildid>".
* Include revision ID in SVN sourceid calculation, fixing various issue with
moving tags and branch mode. Also fix licenceid calculation for svn sources.
* Fix error message for unknown chroot tarball extension.
* Unbreak collect_project functionality with files in proj/init.
e2factory-2.3.14
e2factory-2.3.14rc1
* Fix: Include result name in buildid calculation.
* Fix: Removed hardcoded "base" chroot group in collect_project.
* Fix: Backtrace due to missing module in git plugin during wc-mode.
e2factory-2.3.13
e2factory-2.3.13rc5
* Bug fixes for showing the man-pages.
* Manpage fixes.
e2factory-2.3.13rc4
* interrupt_hook() bugfix.
e2factory-2.3.13rc3
* Add git url protocol support.
* Add http, https and svn url support to svn plugin.
e2factory-2.3.13rc2
* Drop guessing the archive file type using magic numbers.
* Add tar.xz support, requires tar and xz in the chroot.
* Update templates configs, add formating and modelines.
* Update various readme and documentation pointers.
* Do not accidentally drop error messages from stat() and others.
e2factory-2.3.13rc1
* Change source git URL construction to be compatible with assembla.
* e2-cf can now handle source and result groups, plus better error checking.
* Result and source names are better enforced, dots are only legal for groups.
* --help now displays the manual page of the tool.
* Add command e2-help to view project-specific help.
* Fix error propagation from sub-makes when building e2factory.
* Don't warn when hardlink optimization fails.
* Default .gitignore when creating a project improved.
* Many improvements and additions to the developer documentation.
* Bugfix: Remove undocumented requirement on "base" chroot group.
This requires a BUILDID change. All results will have to be rebuilt.
* Add, improve and update man pages for all tools.
* Remove outdated and misleading example directory.
* e2-fetch-sources now checks out working copy after cloning.
* Many fixes concerning proper pathname handling.
* Improve e2source copy attribute, auto-creates missing directories and more.
* Improve debug logging to be able to provide better assistance.
* Remove server component used by e2-build-numbers.
* Remove unused e2-build-numbers command.
* Many improvements to e2-new-source.
* Add a digest module to improve working with SHA1 and MD5 hashes.
* Add LDoc and dependencies to generate developer documentation.
* Bugfix: e2-new-source checks whether a file exists before upload.
* Bugfix: collect-project result does not copy non-existent files.
* Remove unused e2ssh command.
* Remove new-source option that doesn't do anything.
* Bugfix: transport correctly returns error when upload fails.
* CVS plugin understands scp:// URLs.
* Git URLs may now use http and https.
* Remove e2-su and e2-root commands, both are unused.
* Provide internal version of Lua, making it unnecessary to download it first.
* Improved the strict module to spot more programmer errors, reducing bugs.
* Turn the default SCM modules into plugins.
* Add a dependency mechanisms for plugins, they can now depend on each other.
* Rename local tools to be consistent with their installed name.
* Bugfix: user default options should work now.
* Bugfix: make argument parsing more precise.
* Don't call test(1) to determine whether something is a directory...
* Bugfix: order of --e2-config/E2_CONFIG selection now deterministic.
* Remove old and misleading documentation.
* Remove old, pre-opensource e2-2.1 tools that didn't help anyone.
* No more compiled Lua code which allows for better module separation.
* Improve error messages.
* Dead code removal.
* Lots of code cleanup and internal modularization.
* Remove test directory which was also unused.
* Remove unused server-tools.
* Remove unused buildversion and release scripts.
e2factory-2.3.12
* allow server paths to contain whitespace
* bugfixes
e2factory-2.3.11
* remove bashism, noted by Dominic Lemire
* release to sync with extensions
e2factory-2.3.10
* add method for plugins to register additional tools
e2factory-2.3.9
* e2-build: allow enabling/disabling writeback on command line
* use rsync to create remote directories when using rsync+ssh url, to
simplify restricted-shell setups
e2factory-2.3.8
* Bugfix: Large files (>2GB) in cache are detected correctly now on 32bit
* Bugfix: e2-install-e2 reports errors in local tools installation now
* Bugfix: e2-install-e2 removes an existing local plugin directory before
starting local tools installation
* Minor Bugfixes
e2factory-2.3.7
* BuildIds are now calculated in advance to detect errors immediately
before starting the first build process
* remove old local installation before re-installing. Plugins were not
removed in e2-install-e2 before.
e2factory-2.3.6
* the release build process changed: Results are now stored on the
results server, results listed in the deploy_results list are
deployed to the releases server for archive purposes.
* minor bugfixes
* rsync is now used instead of curl to access local files
* allow environment configuration in source and results configuration
files
e2factory-2.3.5
* bugfixes in collect_project: Copying files was not handled correctly
e2factory-2.3.4
* version information for plugins is displayed now when requested
* configuration file setting in .e2/e2config is honoured in e2-install-e2
now
* bugs and documentation issues in e2-new-source were fixed
* the plugin interface was extended to permit plugins to register
commandline options and permit tool specific initialization of plugins
* a serious bug in the hashcache was fixed. The buildid calculation
used outdated hash of files from the project tree.
* the username is included in the chroot environment path again
* the plugin interface was extended to allow plugins to change the
way dependencies are processed into the build order
* bugs were fixed
* compressed build log is stored within the result packages
* bugs were fixed
* a plugin interface was introduced. Local code is capable of loading
plugins and some initial interfaces are available with this release.
* the environment related code was rewritten in a far more robust way.
This fixes a few bugs: Missing environment files were silently ignored,
and adding result specific environment could change the id of the
global environment (not the environment itself) due to lua table behaviour.
* the cache module was turned into a true lua module.
* a design flaw in the cache module was fixed that lead to incorrect
caching for the builtin proj-storage server. Caching was disabled due
to this problem in the default configuration and is enabled now.
* support for per-project caches (using the %l format) in e2.conf is
no longer available. Cache is designed to be per user.
* the global interface version is no longer maintained in the file
.e2/version inside the project. Instead ./version on the server side
remains the only permanent copy and it is fetched to .e2/global-version
in the project environment
* the local tools check for their own support for the global interface
version in use.
* a few minor bugs were fixed
* code related to external tools was moved into the new tools module
* a lot of effort was done to further modularize code
* fix alignment of status messages for better readability
* tool invocations are no longer logged
e2factory-2.3.3
* use sha1 module instead of calling the sha1sum tool
* optimization: use stat() instead of calling 'test -f'
* rotate build logfiles
* introduce a hash cache depending on timestamps to further speed up
BuildId calculation
* release mode verifies hashes for server side files
* release mode checks that the correct version of e2factory is used with
a project
e2factory-2.3.2
* temporary build directories are located in a version specific directory
now
* e2-install-e2 installs branches properly now. Git refs can be specified.
* a bug in e2-build --force-rebuild was fixed that prevented forced rebuilds
* the chroot environment is locked now when in use
* hardlinks are used when preparing the result tarball, if possible, to
improve performance
* logfiles are rotated instead of deleting them
* a bug in configuration validation for files sources was fixed
* a bug in validating the licences attribute in source configurations was
fixed
* the location of a patch that does not apply is included in the error
message now
* unused code was removed
* the faq section in the documentation was extended
* outdated documentation was removed
* a bug was fixed that lead to partial results being left on local servers
or in the cache when copying was interrupted
* storing results to cache and to servers is optimized by trying to
create hardlinks if possible. This may fail due to filesystem boundaries.
In that case the code falls back to copying.
Hardlinking is not possible if push_permissions is set for the particular
server.
* the configuration file format for chroot and licence configuration files
has changed to prepare for configuring per-file checksums where files
are referenced
* sha1 checksums must be configured in the source-, licence- and chroot
configuration now where files are referenced. Exceptions are allowed
for files stored in the project configuration tree (on the "." server)
* fix the bug that the project name configuratino from `proj/config` did
not influence the BuildId
* the example project is now included in the main source tree. Additional
files and the e2factory.git repository can be fetched on-the-fly
e2factory-2.3.1
* bugfixes
e2factory-2.3.1rc1
* bugfixes, documentation
e2factory-2.3.1pre1
* bugfixes
* support grouping source and result configuration by allowing
subdirectories in the res/ and src/ directories
* support extension packages (see README.extensions)
* move all build time configuration to a single lua module
* split up the version string into parts, move all occurrences of version
information into one place
e2factory-2.3.0
* INSTALL documentation changes
e2factory 2.3.0pre3
* synchronize default e2factory local version again
e2factory 2.3.0pre2
* change email addresses
e2factory 2.3.0pre1
* create free software package
* almost no changes to the source since e2factory 2.2.0