Changes

Jump to navigation Jump to search
1,517 bytes added ,  19:28, 15 February 2023
Added CURL to create the repo and also conform contents to Trevor's organisation.
Line 4: Line 4:  
# $1  = Module name e.g. smeserver-ddclient
 
# $1  = Module name e.g. smeserver-ddclient
 
# $2 = "contrib" ...anything else -=> core module
 
# $2 = "contrib" ...anything else -=> core module
 +
if [ $1 = "" ]
 +
then
 +
echo "cvs2git <modulename> <contrib|base>"
 +
exit 0
 +
fi
 
LocalUser="brianr"
 
LocalUser="brianr"
 
RemoteUser="brianr"
 
RemoteUser="brianr"
Line 25: Line 30:  
cd $1/contribs10
 
cd $1/contribs10
 
make prep
 
make prep
 +
 +
#Extract the directory name for the file tree (it will include the name of the module plus some version information)
 +
cd $CVSFiles/$1/contribs10/
 +
TREEPATH=`ls -d */ | grep $1 | grep -v "\.old" | grep -v "_sme"`
 +
echo "TreePATH:$TREEPATH"
    
# Create the local Git repository
 
# Create the local Git repository
Line 31: Line 41:  
git init $1
 
git init $1
 
cd $1
 
cd $1
echo `pwd`
+
echo "PWD:"`pwd`
 
#pull in all the files we want
 
#pull in all the files we want
 
if [ $2 == "contrib" ]; then
 
if [ $2 == "contrib" ]; then
    mkdir -p contribs10
+
     for fpath in "$TREEPATH" "*.spec" "Makefile" "$TREEPATH/createlinks"
     for fpath in "*.patch" "*.spec" "*.gz" "*.tgz" "*.xz" "Makefile"  
   
     do  
 
     do  
     cp $CVSFiles/$1/contribs10/$fpath ./contribs10/
+
     cp -R $CVSFiles/$1/contribs10/$fpath .
 
     done
 
     done
 +
    mv $TREEPATH/root ./root
 +
    rm -f $TREEPATH/*
 +
    rmdir $TREEPATH
 
else
 
else
mkdir -p sme10
+
     for fpath in "$TREEPATH" "*.spec" "Makefile" "$TREEPATH/createlinks"
     for fpath in "*.patch" "*.spec" "*.gz" "*.tgz" "*.xz" "Makefile"  
   
     do  
 
     do  
        cp $CVSFiles/$1/sme10/$fpath ./sme10/
+
    cp -R $CVSFiles/$1/sme10/$fpath .
 
     done
 
     done
 +
    mv $TREEPATH/root ./root
 +
    rm -f $TREEPATH/*
 +
    rmdir $TREEPATH
 
fi
 
fi
   −
#Get Clone the common directory
+
#Now edit the spec file to remove all those patches and adjust the paths
 +
sed -i '/^Patch/d; /^%patch/d' $1.spec
 +
# no paths adjusted yet!
 +
 
 +
#Create the tar file needed (currently) for the rpm build
 +
tar -czf $TREEPATH.tar.gz root/
 +
 
 +
#Clone the common directory
 
git clone https://src.koozali.org/brianr/common.git
 
git clone https://src.koozali.org/brianr/common.git
 
# and delete the .git else it pushes back a link to the repo
 
# and delete the .git else it pushes back a link to the repo
Line 53: Line 74:  
rm -fr ".git"
 
rm -fr ".git"
 
cd ..
 
cd ..
 +
 +
#
 +
# Use the https interface to create the remote repo (it will just bounce back if it exists already)
 +
# Currently this creates a private repo (making it public here causes a gitea internal server error, as does auto_init
 +
# Note that the token decides where the repo is created (i.e. under what user)
 +
# We will need this to be "organisation" (smecontribs or smeserver) finally.
 +
#
 +
curl -X 'POST'  'https://src.koozali.org/api/v1/user/repos'  \
 +
-H 'accept: application/json'  \
 +
-H 'Authorization: token 28b6ebca17d6a70d6c1848e8edce4007f072961c'  \
 +
-H 'Content-Type: application/json'  \
 +
-d '{
 +
  "auto_init": false,
 +
  "default_branch": "master",
 +
  "description": "'"SMEServer git repo for $1 $2"'",
 +
  "gitignores": "",
 +
  "issue_labels": "",
 +
  "license": "Apache 2.0",
 +
  "name": "'"$1"'",
 +
  "private": true,
 +
  "readme": "",
 +
  "template": false,
 +
  "trust_model": "default"
 +
}'
 +
    
#stage and commit them
 
#stage and commit them
Line 66: Line 112:  
echo "Created $1 Repo in $RemoteRepoURL"
 
echo "Created $1 Repo in $RemoteRepoURL"
 
exit 0  
 
exit 0  
 +
 +
 +
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Navigation menu