aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
blob: 7fb74998708201898d0774bbae20bd6ce95ee255 (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
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...