Difference between revisions of "First Steps with Gitea"

From SME Server
Jump to navigationJump to search
(Added in contribs10 dir under module.)
Line 7: Line 7:
 
LocalUser="brianr"
 
LocalUser="brianr"
 
RemoteUser="brianr"
 
RemoteUser="brianr"
if [ $2 = "contrib" ]; then
+
if [ $2 == "contrib" ]; then
 
   CVSFiles="/home/$LocalUser/smecontribs/rpms"
 
   CVSFiles="/home/$LocalUser/smecontribs/rpms"
 
else  
 
else  
Line 30: Line 30:
 
git init $1
 
git init $1
 
cd $1
 
cd $1
 +
echo `pwd`
 
#pull in all the files we want
 
#pull in all the files we want
if [ $2 = "contrib" ]; then
+
if [ $2 == "contrib" ]; then
cp $CVSFiles/$1/contribs10/*.patch .
+
    mkdir -p contribs10
cp $CVSFiles/$1/contribs10/*.spec .
+
cp $CVSFiles/$1/contribs10/*.patch ./contribs10/
cp $CVSFiles/$1/contribs10/*.tar.gz .
+
cp $CVSFiles/$1/contribs10/*.spec ./contribs10/
cp $CVSFiles/$1/contribs10/*.tgz .
+
cp $CVSFiles/$1/contribs10/*.tar.gz ./contribs10/
cp $CVSFiles/$1/contribs10/*.xz .
+
cp $CVSFiles/$1/contribs10/*.tgz ./contribs10/
 +
cp $CVSFiles/$1/contribs10/*.xz ./contribs10/
 +
cp $CVSFiles/$1/contribs10/Makefile ./contribs10/
 
else
 
else
         cp $CVSFiles/$1/sme10/*.patch .
+
mkdir -p sme10
         cp $CVSFiles/$1/sme10/*.spec .
+
         cp $CVSFiles/$1/sme10/*.patch ./sme10/
         cp $CVSFiles/$1/sme10/*.tar.gz .
+
         cp $CVSFiles/$1/sme10/*.spec ./sme10/
         cp $CVSFiles/$1/sme10/*.tgz .
+
         cp $CVSFiles/$1/sme10/*.tar.gz ./sme10/
         cp $CVSFiles/$1/sme10/*.xz .
+
         cp $CVSFiles/$1/sme10/*.tgz ./sme10/
 +
         cp $CVSFiles/$1/sme10/*.xz ./sme10/
 +
cp $CVSFiles/$1/sme10/Makefile ./sme10/
 
fi
 
fi
 +
 +
#Get Clone the common directory
 +
git clone https://src.koozali.org/brianr/common.git
  
 
#stage and commit them
 
#stage and commit them

Revision as of 10:27, 7 February 2023

Initial script to take the latest version of a module and move it to Gitea.

#!/bin/bash
# $1  = Module name e.g. smeserver-ddclient
# $2 = "contrib" ot anything else -=> core module
LocalUser="brianr"
RemoteUser="brianr"
if [ $2 == "contrib" ]; then
  CVSFiles="/home/$LocalUser/smecontribs/rpms"
else 
  CVSFiles="/home/$LocalUser/smeserver/rpms"
fi
GitFiles="/home/$LocalUser/GitFiles"
RemoteRepoURL="https://src.koozali.org/$RemoteUser/$1"
mkdir -p $GitFiles
#Make sure credentials taken from store
git config --global credential.helper store

# Clone the CVS repository
cd $CVSFiles
cvs -d:ext:shell.koozali.org:/cvs/smecontribs checkout $1

# Fully populate the directory (gets the tar file - which is not strictly in CVS)
cd $1/contribs10
make prep

# Create the local Git repository
cd $GitFiles
git init $1
cd $1
echo `pwd`
#pull in all the files we want
if [ $2 == "contrib" ]; then
    mkdir -p contribs10
	cp $CVSFiles/$1/contribs10/*.patch ./contribs10/
	cp $CVSFiles/$1/contribs10/*.spec ./contribs10/
	cp $CVSFiles/$1/contribs10/*.tar.gz ./contribs10/
	cp $CVSFiles/$1/contribs10/*.tgz ./contribs10/
	cp $CVSFiles/$1/contribs10/*.xz ./contribs10/
	cp $CVSFiles/$1/contribs10/Makefile ./contribs10/
else
		mkdir -p sme10
        cp $CVSFiles/$1/sme10/*.patch ./sme10/
        cp $CVSFiles/$1/sme10/*.spec ./sme10/
        cp $CVSFiles/$1/sme10/*.tar.gz ./sme10/
        cp $CVSFiles/$1/sme10/*.tgz ./sme10/
        cp $CVSFiles/$1/sme10/*.xz ./sme10/
		cp $CVSFiles/$1/sme10/Makefile ./sme10/
fi

#Get Clone the common directory
git clone https://src.koozali.org/brianr/common.git

#stage and commit them
git add -A
git commit -m "initial commit of file from CVS for $1"

# Create the remote repo and push the converted git repository to the remote
git remote remove origin
git remote add origin $RemoteRepoURL
# Need to have created the repo at this point....
git pull --no-edit origin master
git push -u origin master
echo "Created $1 Repo in $RemoteRepoURL"
exit 0

Issues:

  1. How to partition the repos between smecontribs and core? different User?
  2. Need ssh access to gitea for automatic creation of repos, else each one has to be created by hand!
  3. Realising that I need the contribs10/11/12 directories under the module name if I am going to get make mockbuild to work.