modernize basic files and docs in repo

pull/775/head
Brad House 6 months ago
parent f527554c7a
commit b35fc6dc69
  1. 7
      CHANGES
  2. 1218
      CHANGES.0
  3. 2
      INSTALL.md
  4. 8
      Makefile.am
  5. 21
      NEWS
  6. 15
      README.cares
  7. 62
      RELEASE-PROCEDURE.md
  8. 4
      TODO
  9. 29
      get_ver.awk
  10. 71
      maketgz

@ -1,7 +0,0 @@
This file no longer holds the changelog. Now you can generate it yourself
like this:
$ git log --pretty=fuller --no-color --date=short --decorate=full -1000 |
./git2changes.pl
The older, manually edited, changelog is found in git named CHANGES.0

File diff suppressed because it is too large Load Diff

@ -1,5 +1,3 @@
** This file is adapted from libcurl and not yet fully rewritten for c-ares! **
```
___ __ _ _ __ ___ ___
/ __| ___ / _` | '__/ _ \/ __|

@ -26,11 +26,11 @@ MSVCFILES = msvc_ver.inc buildconf.bat
# adig and ahost are just sample programs and thus not mentioned with the
# regular sources and headers
EXTRA_DIST = AUTHORS CHANGES README.cares $(man_MANS) RELEASE-NOTES.md \
c-ares-config.cmake.in libcares.pc.cmake libcares.pc.in buildconf get_ver.awk \
maketgz TODO README.msvc $(MSVCFILES) INSTALL.md README.md LICENSE.md \
EXTRA_DIST = AUTHORS $(man_MANS) RELEASE-NOTES.md \
c-ares-config.cmake.in libcares.pc.cmake libcares.pc.in buildconf \
README.msvc $(MSVCFILES) INSTALL.md README.md LICENSE.md \
CMakeLists.txt Makefile.dj Makefile.m32 Makefile.netware Makefile.msvc \
Makefile.Watcom AUTHORS CONTRIBUTING.md SECURITY.md DEVELOPER-NOTES.md TODO \
Makefile.Watcom CONTRIBUTING.md SECURITY.md DEVELOPER-NOTES.md \
cmake/EnableWarnings.cmake
CLEANFILES = $(PDFPAGES) $(HTMLPAGES)

21
NEWS

@ -1,21 +0,0 @@
Major changes since:
* see the CHANGES file
Major changes in release 1.1.1:
* ares should now compile as C++ code (no longer uses reserved word
"class").
* Added SRV support to adig test program.
* Fixed a few error handling bugs in query processing.
Major changes in release 1.1.0:
* Added ares_free_string() function so that memory can be freed in the
same layer as it is allocated, a desirable feature in some
environments.
* A few of the ares_dns.h macros are fixed to use the proper bitwise
operator.
* Fixed a couple of fenceposts fixed in ares_expand_name()'s
bounds-checking.
* In process_timeouts(), extract query->next before calling
next_server() and possibly freeing the query structure.
* Casted arguments to ctype macros casted to unsigned char, since not
all char values are valid inputs to those macros according to ANSI.

@ -1,15 +0,0 @@
c-ares
======
This package is based on ares 1.1.1 (written by Greg Hudson). Daniel Stenberg
decided to fork and release a separate project since the original ares author
didn't want the improvements that were vital for our use of it.
This package is dubbed 'c-ares' since Daniel wanted this for use within the
curl project (hence the letter C) and it makes a nice pun. c-ares is not API
compatible with ares: a new name makes that more obvious to the public.
The original libares was distributed at
ftp://athena-dist.mit.edu:pub/ATHENA/ares (which seems to not be alive
anymore). A local copy of the original ares package is kept here:
https://c-ares.org/download/ares-1.1.1.tar.gz

@ -4,30 +4,46 @@ c-ares release procedure - how to do a release
in the source code repo
-----------------------
- edit `RELEASE-NOTES` to be accurate
- edit `RELEASE-NOTES.md` to be accurate
- edit `configure.ac`'s `CARES_VERSION_INFO`, and `CMakeLists.txt`'s
`CARES_LIB_VERSIONINFO` set to the same value to denote the current shared
object versioning.
- edit `include/ares_version.h` and set `ARES_VERSION_*` definitions to reflect
the current version.
- make sure all relevant changes are committed on the master branch
- tag the git repo in this style: `git tag -a cares-1_14_0` -a annotates the
tag and we use underscores instead of dots in the version number.
- run "./maketgz 1.14.0" to build the release tarball. It is important that
you run this on a machine with the correct set of autotools etc installed
as this is what then will be shipped and used by most users on *nix like
systems.
- push the git commits and the new tag
- gpg sign the tarball
- upload the resulting files to https://c-ares.org/download/
- All release tags need to be made off a release branch named `vX.Y`, where `X`
is the Major version number, and `Y` is the minor version number. If this
branch is not yet created, you may create it off the `main` branch like:
```
git checkout -b v1.30 main
git push -u origin v1.30
```
- make sure all relevant changes are committed on the release branch
- Create a signed tag for the release using a name of `vX.Y.Z` where `X` is the
Major version number, `Y` is the minor version number, and `Z` is the release.
This tag needs to be created from the release branch, for example:
```
git tag -s v1.30.0 -m 'c-ares release 1.30.0' v1.30
git push origin --tags
```
- Create the release tarball using `make dist`, it is best to check out the
specific tag fresh and build from that:
```
git clone --depth 1 --branch v1.30.0 https://github.com/c-ares/c-ares c-ares-1.30.0 && \
cd c-ares-1.30.0 && \
autoreconf -fi && \
./configure && \
make && \
make dist VERSION=1.30.0
```
- GPG sign the release with a detached signature. Valid signing keys are currently:
- Daniel Stenberg <daniel@haxx.se> - 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
- Brad House <brad@brad-house.com> - DA7D64E4C82C6294CB73A20E22E3D13B5411B7CA
```
gpg -ab c-ares-1.30.0.tar.gz
```
- Create a new release on GitHub using the `RELEASE-NOTES.md` as the body.
Upload the generated tarball and signature as an artifact.
in the c-ares-www repo
----------------------
@ -36,17 +52,19 @@ in the c-ares-www repo
- edit `changelog.t` (add the new release in there)
- commit all local changes
- edit `download/index.t` for the new release
- tag the repo with the same tag as used for the source repo
- commit all local changes
- push the git commits and the new tag
inform
------
- send an email to the c-ares mailing list. Insert the RELEASE-NOTES into the
- send an email to the c-ares mailing list. Insert the RELEASE-NOTES.md into the
mail.
- Create an announcement in the GitHub Discussions Announcements section:
https://github.com/c-ares/c-ares/discussions/categories/announcements
celebrate
---------

@ -1,4 +0,0 @@
TODO
====
Please see https://github.com/c-ares/c-ares/issues

@ -1,29 +0,0 @@
# ***************************************************************************
# * Project: c-ares
# *
# * Copyright (C) The c-ares project and its contributors
# * SPDX-License-Identifier: MIT
# ***************************************************************************
# awk script which fetches c-ares version number and string from input
# file and writes them to STDOUT. Here you can get an awk version for Win32:
# http://www.gknw.net/development/prgtools/awk-20100523.zip
#
BEGIN {
while ((getline < ARGV[1]) > 0) {
sub("\r", "") # make MSYS gawk work with CRLF header input.
if (match ($0, /^#define ARES_COPYRIGHT "[^"]+"$/))
copyright_string = substr($0, 25, length($0)-25)
else if (match ($0, /^#define ARES_VERSION_STR "[^"]+"$/))
version_string = substr($3, 2, length($3)-2)
else if (match ($0, /^#define ARES_VERSION_MAJOR [0-9]+$/))
version_major = $3
else if (match ($0, /^#define ARES_VERSION_MINOR [0-9]+$/))
version_minor = $3
else if (match ($0, /^#define ARES_VERSION_PATCH [0-9]+$/))
version_patch = $3
}
print "LIBCARES_VERSION = " version_major "," version_minor "," version_patch
print "LIBCARES_VERSION_STR = " version_string
print "LIBCARES_COPYRIGHT_STR = " copyright_string
}

@ -1,71 +0,0 @@
#!/usr/bin/env perl
# Copyright (C) Daniel Stenberg
# SPDX-License-Identifier: MIT
$version = $ARGV[0];
if($version eq "") {
print "Enter version number!\n";
exit;
}
if(!-f "include/ares.h") {
print "run this script in the ares source root dir\n";
exit;
}
my ($major, $minor, $patch)=split(/\./, $version);
$major += 0;
$minor += 0;
$patch += 0;
open(VER, "<include/ares_version.h") ||
die "can't open include/ares_version.h";
open(NEWV, ">include/ares_version.h.dist");
while(<VER>) {
$_ =~ s/^\#define ARES_VERSION_MAJOR .*/\#define ARES_VERSION_MAJOR $major/;
$_ =~ s/^\#define ARES_VERSION_MINOR .*/\#define ARES_VERSION_MINOR $minor/;
$_ =~ s/^\#define ARES_VERSION_PATCH .*/\#define ARES_VERSION_PATCH $patch/;
$_ =~ s/^\#define ARES_VERSION_STR .*/\#define ARES_VERSION_STR \"$version\"/;
print NEWV $_;
}
close(VER);
close(NEWV);
print "include/ares_version.h.dist created\n";
if(!-f "configure") {
print "running buildconf\n";
`./buildconf`;
}
print "adding $version in the configure.ac file\n";
`sed -e 's/AC_INIT.*/AC_INIT([c-ares], [$version],/' < configure.ac > configure.ac.dist`;
print "adding $version in the CMakeLists.txt file\n";
`sed -e 's/SET.*CARES_VERSION.*/SET (CARES_VERSION "$version")/' < CMakeLists.txt > CMakeLists.txt.dist && rm -f CMakeLists.txt && mv CMakeLists.txt.dist CMakeLists.txt`;
# now make a new configure script with this
print "makes a new configure script\n";
`autoconf configure.ac.dist >configure`;
# now run this new configure to get a fine makefile
print "running configure\n";
`./configure`;
print "produce CHANGES\n";
`git log --pretty=fuller --no-color --date=short --decorate=full -1000 | ./git2changes.pl > CHANGES.dist`;
# now make the actual tarball
print "running make dist\n";
`make dist VERSION=$version`;
# remove temporary sourced man pages
`make -s clean-sourced-manpages`;
print "removing temporary configure.ac file\n";
`rm configure.ac.dist`;
print "removing temporary ares_version.h file\n";
`rm include/ares_version.h.dist`;
print "NOTE: now tag this release!\n";
Loading…
Cancel
Save