Re: [PATCH] scripts/release: Release also tarball with everything

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 31, 2021 at 11:09 AM Petr Lautrbach <plautrba@xxxxxxxxxx> wrote:
>
> Nicolas Iooss <nicolas.iooss@xxxxxxx> writes:
>
> > On Fri, Jan 29, 2021 at 9:06 PM Petr Lautrbach <plautrba@xxxxxxxxxx> wrote:
> >>
> >> Create and publish with sha256sum also tarball called
> >> selinux-$VERS.tar.gz with the whole tree. It could be useful for unit
> >> testing directly from tarball or backporting patches which affects more
> >> subdirectories. Github already provides similar archive called "Source
> >> code (tar.gz)" via release assets, but there's no guarantee this file
> >> would not change.
> >>
> >> Signed-off-by: Petr Lautrbach <plautrba@xxxxxxxxxx>
> >> ---
> >>  scripts/release | 23 ++++++++++++++++++++---
> >>  1 file changed, 20 insertions(+), 3 deletions(-)
> >>
> >> diff --git a/scripts/release b/scripts/release
> >> index 895a0e1ca1a1..40a9c06f56b9 100755
> >> --- a/scripts/release
> >> +++ b/scripts/release
> >> @@ -35,6 +35,8 @@ for i in $DIRS_NEED_PREFIX; do
> >>         cd ..
> >>  done
> >>
> >> +git archive -o $DEST/selinux-$VERS.tar.gz --prefix=selinux-$VERS/ $VERS
> >> +
> >>  cd $DEST
> >>
> >>  git add .
> >> @@ -54,13 +56,28 @@ echo ""
> >>  echo "[short log](https://github.com/SELinuxProject/selinux/releases/download/$RELEASE_TAG/shortlog-$RELEASE_TAG.txt)"
> >>  echo ""
> >>
> >> -for i in *.tar.gz; do
> >> +for i in $DIRS; do
> >> +       tarball=$i-$VERS.tar.gz
> >> +       echo -n "[$tarball](https://github.com/SELinuxProject/selinux/releases/download/$RELEASE_TAG/$tarball) "
> >> +       sha256sum $tarball | cut -d " " -f 1
> >> +       echo ""
> >> +done
> >>
> >> -       echo -n "[$i](https://github.com/SELinuxProject/selinux/releases/download/$RELEASE_TAG/$i) "
> >> -       sha256sum $i | cut -d " " -f 1
> >> +for i in $DIRS_NEED_PREFIX; do
> >> +       tarball=selinux-$i-$VERS.tar.gz
> >> +       echo -n "[$tarball](https://github.com/SELinuxProject/selinux/releases/download/$RELEASE_TAG/$tarball) "
> >> +       sha256sum $tarball | cut -d " " -f 1
> >>         echo ""
> >>  done
> >>
> >> +echo "### Everything"
> >> +
> >> +echo ""
> >> +
> >> +echo -n "[selinux-$VERS.tar.gz](https://github.com/SELinuxProject/selinux/releases/download/$RELEASE_TAG/selinux-$VERS.tar.gz) "
> >> +sha256sum selinux-$VERS.tar.gz | cut -d " " -f 1
> >> +echo ""
> >
> > Hello, there are at least two issues here:
> > * The section is named "Everything" but on
> > https://github.com/SELinuxProject/selinux/wiki/Releases it is named
> > "All in one". What is the proper name?
>
>
> I used "All in one" in rc1 release but I didn't announce it properly and
> it didn't feel good to me. So I sent this patch to make this official.
> And I like "Everything" more than the original "All in one". I can
> change it on the release page if the change is accepted or drop it
> completely if it's denied.

I find "Everything" to be quite unclear, because for example the
archive does not contain the git history... What about "Source
repository snapshot", which better describes what the archive really
is? This is a personal opinion and I am also fine with keeping
"Everything" if you do not like my suggestion.

> > * $VERS comes from a VERSION file in a subdirectory. It would be more
> > consistent to either use $RELEASE_TAG (which is the content of the
> > main VERSION file) or to use a single $VERS variable (and to verify
> > that the */VERSION files all contain the same content, for example
> > with "diff VERSION $i/VERSION"). Which option would be preferable?
>
> For now I'd use $RELEASE_TAG for selinux-X.Y.tar.gz
>
> and maybe something like:
>
> -for i in $DIRS; do
> -       tarball=$i-$VERS.tar.gz
> +for i in $DIRS; do
> +       tarball=`ls $i-*.tar.gz`

I do not like using wildcard patterns. In the patch I sent
(https://lore.kernel.org/selinux/20210130133313.1759011-1-nicolas.iooss@xxxxxxx/)
I replaced this part with reading $i/VERSION again:

+for COMPONENT in "${DIRS[@]}"; do
+ DIR="${COMPONENT#selinux-}"
+ VERS="$(cat "$DIR/VERSION")"
+ TAG="$COMPONENT-$VERS"
+ tarball="$TAG.tar.gz"

Nevertheless the script is currently using wildcards and your
suggestion works, so you can use `ls $i-*.tar.gz` and I will then
propose a new version of my patch to remove this. Or you can include
my changes in your patch, if you agree with them. How do you want to
proceed?

Thanks,
Nicolas




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux