summaryrefslogtreecommitdiffstats
path: root/NEWS
blob: e5e04b46a82db707dc3b611dedcca27015334d01 (plain)
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
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
opkg-0.3.5
==========

- Handle conffiles that don't exist gracefully (show notice instead of error)

- Correctly handle symlink files collisions (issue 11033)

- Add verbose_status_file option to store all the package metadata in the status file

- Add support for user-defined control file fields

- Enhance PATH handling for intercepts

- Explicitly run scripts and intercepts with /bin/sh instead of sh

- Run maintainer scripts by default in the ATS

- Add support for installing packages with version constrains other than '='

Internal Solver:

- Do not process orphans in download-only case (issue 10243)

- Remove duplicate processing of provides and replacees

- Only install one provider for each virtual package (issue 10781)

- Skip dependency error message if --force-depends (issue 9060)

Libsolv:

- Allow removal of recommended packages, in case of conflict (issue 10777)

- During upgrades, also upgrade Recommends (issue 9939)

- Print solver errors to stderr (issue 10407)

- Add dist-upgrade support

opkg-0.3.4
==========

- Improve GPG signature check by making sure the signature is not only correct,
  but has an approved level of trust on the trusted database.

- Add support for xz and bzip2 compressed payloads.

- Handle 'opkg remove' and 'opkg install' (libsolv) correctly for packages in
  SS_HALF_INSTALLED state due to a previously failed installation (issues 10358
  & 9901).

- Remove redundant requirement to have check_signature enabled when
  check_pkg_signature is enabled (issue 10361)

- Add Installed-Size field to status file (issue 9906)

- Do not overwrite existing directory permissions on install (issue 9987)

- Add per-feed signature verification toggle (issue 10150)

- Add validation to opkg flag call (issue 8356)

- Add "find" command which searches package names and descriptions (e.g. opkg
  -i find "*autoconfig*")

- Add --force-checksum cmdline flag to be able to ignore mismatching md5sums
  (issue 8357)

- Expose lists_dir option as command line argument

- Extend 'opkg list' command to optionally display package size

- Add gzip support for tar.gzipped ipk packages.

- Make the /var and /etc directories configurable at compile time.

- Replace active_list structure with basic list type.

Internal Solver:

- Fix incorrect removal of packages during download only operations (issue
  10182)

Libsolv:

- Enable globs for install, remove and upgrade operaionts (issue 9792)

- Set libsolv version comparision to be Debian-compatible, instead of
  RPM-compatible.

- Allow package names to be matched against provides

- Display libsolv version in --version output, if enabled


opkg-0.3.3
==========

- Fix build breakage when using configure option --enable-sha256.
  Regression from 0.3.1

Internal Solver:

- Do not upgrade installed dependencies if version constrains are meet
  (issue 9802).

- Do not remove packages if removal operation is not valid due to installed
  dependendents (issue 9862). Regression from 0.3.1.


opkg-0.3.2
==========

- Remove configure script --enable-solver. To enable libsolv, add config option
  --with-libsolv.

- Add version constrain support for Replaces (issue 8931)

- Add targeted install support, enabling installation of a specific version of
  a package when multiple available (issue 76).

- Remove functions no longer used.

- Fix compare-version functionality (issue 166).

- Add disable_intercepts option (issue 8837)

- Add support for UTF-8 Package files (issue 9557)

Libsolv:

- Add pkg-config support

- Add --download-first option

- Fix crash when using more than 4 arch config options.

Internal Solver:

- Split internal solver from install/upgrade/remove transactions. Solving now
  happens first, instead of at the same time as installation/removal. New
  architecture fix issues 156 and 162.

- Abort installation if pkg A B is installed, and pkg A (Provides B, 
  Conflicts B) is set to be installed (issue 9533)

- Skip dependency if a Provider is already installed (issue 9059)

- Fix status file corruption (issue 8601)

- Mark top level package as not AutoInstalled, when circular dependencies are
  present (issue 167)

- Fix upgrade error when package A replaces provider B, and B is provided by A.

opkg-0.3.1
==========

- Libsolv backend support. Add --enable-solver=libsolv config option to have opkg
  use the external solver libsolv. This feature is fully functional, but in 
  experimental stage.

- Cache filenames are now based on the path md5sum instead of the full path, to
  fix errors on long filepaths.

- Fix several memory leaks

- Add --host-cache-dir and --cache-dir command line flag to change the cache directory 
  location

- Fix error when processing empty Package.gz files.

opkg-0.3.0
==========

- Fix exit status when upgrading multiple packages with inter-dependencies
  (issue 154).

opkg-0.3.0-rc2
==============

- Ensure `libopkg/xfuncs.h`, `tests/` and `scripts/` are included in the release
  archive!

opkg-0.3.0-rc1
==============

- Reformat all C code so that it is easier to read (issue 119).

- Fix a few minor logic bugs.

- Tidy up `autogen.sh` and ensure it runs correctly with old versions of
  `aclocal` and non-bash shells.

- Rearrange test scripts into logical categories.

- Fix segfault when reinstalling a package with `force_reinstall` set (issue
  153).

opkg-0.3.0-rc0
==============

Dependency changes:

- opkg now depends on libarchive.

opkg:

- Rename `opkg-cl` to `opkg`.

- Add config option `autoremove` equivalent to `--autoremove` command line
  flag.

- Add config option `overwrite_no_owner` allowing un-owned files to be
  overwritten during package install (issue 99).

- Add config options `connect_timeout_ms`, `transfer_timeout_ms` and
  `follow_location` for use with CURL.

- Add command line option `--volatile-cache`.

- Add config option `no_install_recommends` and command line option
  `--no-install-recommends` to prevent the installation of packages listed as
  Recommends.

- Add command line option `--add-exclude` to add packages to an exclusion list.

- Add config option `ignore_maintainer` to silently ignore changes to files
  listed as Conffiles during a package upgrade (issue 128, part 2).

- Add config option `lock_file`. This option replaces the configure script
  argument `--with-opkglockfile`, allowing the lock file path to be specified at
  run-time.

- Add config options `info_dir` and `status_file`. Together with the config
  option `lists_dir` which existed previously, these options replace the
  configure script argument `--with-opkglibdir`, allowing the paths to the the
  data files and directories to be specified at run-time and with better
  granularity.

- Add config option `signature_type` allowing the signature verification backend
  to be selected at runtime. Both openssl and gpg support may not coexist within
  a single build of opkg.

- Add config option `check_pkg_signature` which allows individual package files
  to be signed and verified.

- Add config option `cache_local_files` to copy local files into the cache when
  downloading. If this option is not set, any URL with a `file://` is symlinked
  into the cache rather than downloaded (issue 139).

- Drop support for the old `lists_dir` config option syntax. The new syntax
  introduced in v0.2.3 must now be used.

- Add support for passing package filename arguments to `opkg info` (issue 125).

- Add support for implicit and explicit FTP-over-SSL when using the curl
  download backend.

- Add support for a https proxy using the curl download backend.

- Add support for http basic authentication when using the CURL download
  backend.

- Add support for ASCII-armored gpg signatures.

- Change the default cache directory to `/var/cache` (issue 131).

- Improve package and package feed verification.

- Improve download caching.

- Improve heuristics to determine whether an argument is a package name, remote
  URI or local path.

- Improve detection and handling of package conflicts.

- Improve handling of package flags (such as hold) and status.

- Improve proxy authentication when using the curl download backend.

- Allow interrupted downloads to be resumed when curl is enabled (issue 115).

- Only upgrade installed packages during `opkg upgrade` (issue 127).

- Correctly handle pacakges which list a virtual package in Provides, Replaces
  and Conflicts (issue 89).

- Ensure that the lock file can be created by creating the parent directory if
  it does not already exist (issue 110).

- Issue a NOTICE message not an ERROR message if files listed as Conffiles have
  been changed by the user prior to a package upgrade but the `force_maintainer`
  option has not been set (issue 128, part 1).

- Call prerm and postrm scripts on package upgrade (issue 104).

opkg-key:

- Only install `opkg-key` when gpg support is enabled.

- Add `opkg-key reset` command to remove all trusted keys.

- Add `opkg-key populate` command to populated the list of trusted keys using
  the contents of `/usr/share/opkg/keyrings`.

- Improve usage output of `opkg-key`.

update-alternatives:

- `update-alternatives` has been moved out of opkg and into opkg-utils.

Developer visible:

- Add functions `opkg_conf_get_option` and `opkg_conf_set_option`, direct
  access to `options` array is no longer allowed.

- Add documentation in `developer-doc` directory.

- Add `scripts/checkpatch.pl`, adapted from the Linux kernel. This script may be
  used to check that patches match the expected coding style and are free from
  some common mistakes.

- Remove confusing `from_upgrade` argument from `opkg_remove_pkg`.

- Drop the configure script arguments `--with-opkglockfile`, `--with-opkglibdir`
  and `--with-opkgtcdir`.

- Drop unnecessary source files under 'tests'.

- Deprecate the libopkg API defined in 'libopkg/opkg.c'. The configure script
  argument `--enable-libopkg-api` must be given to build this API.

- Improve testsuite with more tests, `make check` now runs the testsuite and
  exits non-zero if any test fails.

- Improve `autogen.sh` script for developers & maintainers, no longer runs
  configure directly. `./autogen.sh --clean` now removes all generated files
  without requiring configure to have been ran.

- Rename `conf` -> `opkg_config` to prevent global symbol clashes (issue 92).

- Allow pkg-config to be used to find the gpg-error library.

- Use libarchive to extract packages instead of hand-rolled tar, ar and gzip
  handling (adds dependency on libarchive).

- Remove libbb!

- Lots of code refactoring and minor improvements.

opkg-0.2.4
==========

- Improve handling of failed installs. Package status is now set to 'install
  reinst-required half-installed' and advice on how to rectify the situation is
  now given.

- Improve handling of upgrades, and fix detection of orphan packages. Orphan
  RECOMMENDS will now be removed during an upgrade, as well as orphan DEPENDS,
  if autoremove is enabled. However, packages which move from DEPENDS to
  RECOMMENDS will now be kept. (issue 144)

- Improve handling of package flags.

- Fix 'opkg whatconflicts'.

- Fix handling of '--force-removal-of-dependent-packages'. (issue 140)

- Fix selection between multiple providers of the same abstract package. (issue
  152)

- Fix uname and gname caching during package extraction.

- Fix verification of release metadata files.

- Fix possible segfault in 'pkg_hash_fetch_conflicts()'.

- Use 'sh' instead of 'bash' as the interpreter for 'opkg-check-config'.

opkg-0.2.3
==========

- New, optional syntax for setting lists_dir in config files. This new syntax
  will be required in v0.3.0 and later, the old syntax is now deprecated. The
  new syntax is:

    option lists_dir <path>

- New 'opkg-check-config' helper script to check and update config files.
  Currently this just changes the old lists_dir syntax to the new syntax.

- Add the 'combine' option and '--combine' command line argument. These options
  combine the installation or upgrade of multiple packages so that dependency
  evaluation is carried out for the whole transaction rather than separately for
  each package. This resolves the case of issue 124 where multiple packages
  depend on a common package with version constraints in such a way that all
  dependent packages need to be upgraded together.

- Don't select packages for installation which break the dependencies of already
  installed packages (issue 124).

- Fix epoch:version split so that a colon is only interpreted as the epoch
  separator in a version string if it is the first non-numeric character.

- Fix package flags after failed upgrade. This ensures that subsequent
  installs or upgrades do not consider the old package as scheduled for removal.

- Prevent packages listed in RECOMMENDS of an installed package from being
  removed automatically when autoremove is set.

- Fix 'extern "C"' wrapping in header files.

- Improve check for gpgme in configure script. Now either pkg-config or
  gpgme-config can be used to find gpgme.

- Fix internal usage of 'config.h', this ensures building opkg and its
  dependencies with large file support will work correctly.

- Fix internal memory leaks and suboptimal code.

opkg-0.2.2
==========

- Fix '--force-reinstall' flag so that it acts as an upgrade rather than
  removing possibly critical packages before reinstall (issue 71)

- Symlinks are now correctly removed during package uninstall (issue 91)

- Fixed help and manual pages to reflect that shell globs not true regexps are
  accepted by opkg (issue 107)

- The error message "no valid architecture" is no longer given when the
  architecture of a package is valid but incompatible with the current system.

opkg-0.2.1
==========

- Updated AUTHORS, README, CONTRIBUTING, etc

- Dropped "config.h" from the list of installed headers and removed checks for
  HAVE_* symbols from all installed headers

- Made libopkg usable from C++ via `extern "C"` wrapping

opkg-0.2.0
==========

- No changes

opkg-0.2.0-rc2
==============

- Remove libopkg/config.h from the distribution archive, it's generated by
  configure and doesn't belong in there

opkg-0.2.0-rc1
==============

- Added basic regression test suite

- Added man pages for opkg-cl and opkg-key

- Added the `overlay_root` config option

- Added the `--prefer-arch-to-version` option

- Added the `--force-postinstall` option

- Added the `list-changed-conffiles` command

- Added the `opkg_compare_versions` function to libopkg

- Allow external gunzip binary to be used to perform decompression if the
  OPKG_USE_VFORK environment variable is set

- Do not read /etc/opkg/*.conf if -f option is specified

- Detect and handle circular dependencies

- Replaced GPLv3+ licensed sha256 implementation with GPLv2+ implementation

- Use `ln -snf` rather than `ln -sf` in update-alternatives

- Many other bugfixes, improvements and cleanups...