[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[task #15699] Unified format for software tarballs
From: |
Mohammad Akhlaghi |
Subject: |
[task #15699] Unified format for software tarballs |
Date: |
Sat, 1 Jan 2022 22:56:41 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0 |
Follow-up Comment #15, task #15699 (project reproduce):
Here is a more generalized script that will look into all the files in an
'odir' origin-directory (assuming it only contains tarballs) and converts them
to the proper format, while also printing the checksum that is also necessary
in Maneage.
Just note that it assumes the formatting of the R packages:
'NAME_VERSION.tar.gz' for the tarball but it can easily be even more
generalized.
Once it has been sufficiently generalized/tested, we should put this script in
'reproduce/software/shell/' (while accounting for the pax issue mentioned
below also).
P.S.
#!/bin/bash
# Script to convert all files (tarballs in any format; just recognized
# by 'tar') within an 'odir' to a unified '.tar.lz' format.
#
# The inputs are assumed to be formatted with 'NAME_VERSION', and only
# for the name, we are currently assuming '.tar.gz' (for the 'sed'
# command). Please modify/generalize accordingly.
#
# It will unpack the source in a certain empty directory (tmpunpack),
# and rename the top directory to the requested format of NAME-VERSION
# also. So irrespective of the name of the top original tarball
# directory, the resulting tarball's top directory will have a name
# formatting of NAME-VERSION.
#
# Copyright (C) 2022 Mohammad Akhlaghi <mohammad@akhlaghi.org>
# Released under GNU GPLv3+
# Abort the script in case of an error.
set -e
# Directory containing original tarballs (relative to running
# directory)
odir=orig
# Go over all the files in 'odir'.
for f in $(ls $odir); do
nv=$(echo $f | sed -e's/_/ /' -e's/.tar.gz//')
n=$(echo $nv | awk '{print $1}');
v=$(echo $nv | awk '{print $2}');
name=$n-$v
mkdir tmpunpack
cd tmpunpack
tar -xf ../$odir/$f
mv * $name/
tar -c -Hustar --owner=root --group=root \
-f $name.tar $name/
lzip -9 $name.tar
rm -r $name/
mv $name.tar.lz ../
cd ../
echo $(sha512sum $name.tar.lz)
rm -rf tmpunpack
done
_______________________________________________________
Reply to this item at:
<https://savannah.nongnu.org/task/?15699>
_______________________________________________
Message sent via Savannah
https://savannah.nongnu.org/