Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making new release (4.93.3) #96

Closed
6 of 7 tasks
masatake opened this issue Jun 5, 2020 · 21 comments
Closed
6 of 7 tasks

Making new release (4.93.3) #96

masatake opened this issue Jun 5, 2020 · 21 comments

Comments

@masatake
Copy link
Contributor

masatake commented Jun 5, 2020

We have so many changes. Let's make a release.

TODO in this release (easy):

(abort):

(done):

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

The version number will be 4.93.3.
Till documentation cleanup is done, we should not release 4.94.x.

@masatake masatake changed the title Making new release Making new release (4.93.3) Jun 5, 2020
@lrosenman
Copy link
Contributor

What's going to be the criteria for making new releases going forward?

I've got #95 to update the Cirrus Images, and then I want to get all the local patches I have in the FreeBSD ports tree up here and then cut a new release.

I'm also going to see if I can convince some of the FreeBSD kernel folks to modernize all the FreeBSD dialect-specific stuff.

@lrosenman
Copy link
Contributor

lrosenman commented Jun 5, 2020

And what is the process to make a new release tag/etc?

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

What's going to be the criteria for making new releases going forward?

About the criteria for the time of releasing?

  • We should make a release at least every year if we have any change.
  • If one of us wants, we will make a release in a month.
  • If there is a security issue, we should do the best.
    ...

I've got #95 to update the Cirrus Images, and then I want to get all the local patches I have in the FreeBSD ports tree up here and then cut a new release.

Could you do it in this June? If the answer is yes, let's include the change.
If not, let's make a new release (4.93.4) in July. In the case, I would like you to open an issue for releasing.

About the process, I wrote it somewhere but I cannot remember. I will search it.

@lrosenman
Copy link
Contributor

#95 is ready to go (It WILL fail CI till the other patches are done).

I can get the other patches in this weekend.
see https://svnweb.freebsd.org/ports/head/sysutils/lsof/files/ for all the patches I have against the current release.

do you want one big PR to get current or multiple PR's for each issue as I found them?

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

If you change the code common in dialects, I would like you to make separate SMALL pull requests
(or git commits) with enough commit log. @filbo, and I will review the impact of the change for
the common code on the other dialects. The review should be done in...two weeks.
If the reviewer doesn't respond in two weeks, let's go forward.
@filbo, how do you think this process?
"two weeks" is too short?

If the change is not for common code, please, do as you want.
Even a change is for a specified dialect, I would like you to keep following two things:

  • adding the description of user-visible change to 00DISTS, and
  • updating 00CREDIT.

@lrosenman
Copy link
Contributor

see #97.

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

I think the first line of a commit log has following format:

   [dialect] description...

This can also be an header of item of 00DISTS.

e.g.

commit 46d831d18b00aa9c5d1f6eff921a20a5534494e1 (origin/update-netlink-protocols, update-netlink-protocols)
Author: Masatake YAMATO <[email protected]>
Date:   Wed Dec 25 18:20:51 2019 +0900

    [linux] decode more netlink protocol numbers (RDMA, CRYPTO, and SMC)
    
    Signed-off-by: Masatake YAMATO <[email protected]>

This commit log can be found in 00DISTS:

[linux] decode more netlink protocol numbers (RDMA, CRYPTO, and
                SMC).

This doesn't mean all the commits should be enumerated in 00DISTS.
Only user-visible change should go to 00DISTS.

If a commit log doesn't have [dialect] prefix, it implies the change for the code common in dialects.
So the other maintainers must take time for reviewing it.

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

The changes proposed in #96 is done by you?
If not, we should the person who worked for lsof should be listed in 00CREDIT.

@lrosenman
Copy link
Contributor

They were from a bunch of FreeBSD committers.
I'll have to look to see who all submitted the patches to me (as FreeBSD port maintainer).

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

Yes, please. it takes your time however, putting the name of the contributor to 00CREDIT is only what we can do for the contributions.

@masatake
Copy link
Contributor Author

masatake commented Jun 5, 2020

Please, don't be hurry. We can make a release in every time we want.

@lrosenman
Copy link
Contributor

Done. (The names / id's were in the SVN logs at FreeBSD).

@masatake
Copy link
Contributor Author

masatake commented Jun 7, 2020

Release criteria of timing:

  • one of dialect maintainers (@lrosenman, @filbo, and @masatake) can propose any time one wants.
    Open an issue for releasing like this issue.
  • the proposer can propose a new version number.
  • if none responds to the proposal in a month, the proposer makes a release.
  • if someone responds to it, we should make a realistic TODO list for the releasing, and work hard for solving them. The items in the list should be fixed about two months. If it is not possible, the item should not be in the list. Dropping the item from the list is acceptable.
  • When all the items are fixed/solved, it is time for releasing. The proposer should take the action.
  • we should make a least per year at least as far as there is a change in our repository.

I cannot find the list of procedures for releasing. I will make a beta version to remember the procedures. I will summarize the procedures later.

@masatake
Copy link
Contributor Author

masatake commented Jun 7, 2020

@lrosenman, @filbo, do you have any item you want to add the TODO list.
I will pick up the item if you write it in a comment.

@lrosenman
Copy link
Contributor

None at the moment.

@masatake
Copy link
Contributor Author

@lrosenman, thank you.

@masatake
Copy link
Contributor Author

masatake commented Oct 3, 2020

Very sorry to be late. I also fix #102 and #103.

@masatake
Copy link
Contributor Author

masatake commented Nov 5, 2020

I found scripts support/LinuxDistrib and support/FreeBSDistrib.
With modification, LinuxDistrib works well. I think we can use them. With the result, we can generate dialect-specific tarballs.
I will explore more.

@masatake
Copy link
Contributor Author

So many changes have been introducd since the last release. So I decide the version of next release is 4.94.0.
I made a pre-release. See https://github.com/lsof-org/lsof/releases. I will convert the pre-release to a release in soon.

I wrote how to make a release. I will put this note to our git repo after releasing.

0. Install ksh
========================================================================

The script for making an archive needs ksh.


1. Implement "make dist" for your favorite dialect
========================================================================

See https://github.com/lsof-org/lsof/pull/131 how @masatake does for
linux dialect.

Merge the changes.


2. Update the version and release date in the source tree if you need
========================================================================

See git log 7412e7445377c0f629c1ecb2eecfd14255935c7d.

The version number has following form MAJOR.MINOR.MICRO.  When making a
release, update the version number.  If the change from the last release
is small, increment MICRO. If it is large, increment MINOR.

Merge the changes.

If you just want to make a release for a version already released in
another dialect, you don't need this step. Relase the version number.

e.g.

     conditions and situations:
     @masatake already released 4.94.0 for linux.
     No uesr visible change is commited to our git repo.
     You may want to make the same release but for dialect freebsd.

     In this case, you can use 4.94.0 as the version number.  If the
     condition doesn't meet, use 4.94.1 (or 4.95.0).


3. Make the source archive for the release
=======================================================
::

   $ ./Configure [dialect]
   $ make dist

The archive is put at support/ directory.

Checking whether you can build a lsof executable from the archive is
good idea.

e.g.
::

   $ cp support/support/lsof_4.94.0.linux.tar.bz2
   $ cd /tmp
   $ tar jxvf lsof_4.94.0.linux.tar.bz2
   $ cd lsof_4.94.0.linux
   $ ./Configure linux
   $ make
   $ make check (if your dialect support the target)

4. Visit https://github.com/lsof-org/lsof/releases
========================================================================

4.1 Click [Draft new release]
------------------------------------------------------------------------

4.2 Fill the fields
------------------------------------------------------------------------

4.2.1 Fill "Tag version"
........................................................................

Fill with the version number given in th step 2.

4.2.2 Fill "Release title"
........................................................................

Use the following form lsof-${theVersionNumber}-${dialect}.

e.g. lsof-4.94.0-linux

4.2.3 Fill "Describe this release"
........................................................................

Copy and paste the changes described in 00DIST since the last release in
your dialect.

4.2.4 Put the source archive generaeted step in 3.
........................................................................

Click "Attach binaries by dropping them here or selecting them. ", then
specify the archive file.

4.2.5 Check "This is a pre-release"
........................................................................

4.2.6 Click [Publish release]
........................................................................

5. Verify the release
========================================================================

After step 4.2.6, the browser may show the page for the release. You can
re-read the description and the source code archives. You can verify
what you did here.

If you find a fault or something, click the [Edit] in the page. You can
update the pre-release.

If you convince it is ready, click the [Edit] in the page, remove the
check at "This is a pre-release", then [Publish release]. The new
version is available at https://github.com/lsof-org/lsof/releases.

@masatake
Copy link
Contributor Author

See #134.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants