Changes

From SME Server
Jump to navigationJump to search
12,700 bytes added ,  06:24, 18 November 2017
m
Update CVS server details
Line 5: Line 5:  
In this howto we could let script-tools we need to build rpm
 
In this howto we could let script-tools we need to build rpm
   −
===mockbuild===
+
===Unnilennium===
 +
[[User:Unnilennium|Jean-Philippe Pialasse]]<br/>
 +
 
 +
====prepa====
 +
a script to update the cvs Tree and apply all patches
 +
cvs update -dPA
 +
make clean
 +
make prep
 +
 
 +
====refresh====
 +
a script to refresh the whole cvs Tree of smecontribs
 +
#!/bin/bash
 +
 +
cd ~/smecontribs/rpms
 +
cvs update -dPA
 +
cd ~/smecontribs
 +
cvs -z3 -d:ext:shell.koozali.org:/cvs/smecontribs co -P rpms
 +
cd ~/smecontribs/rpms
 +
 
 +
====addSubTree====
 +
A script to add srpm in Buildsrv
 +
 
 +
#!/bin/bash
 +
 +
if [ ! -f "$1" ]
 +
then
 +
echo "srpm does not exists"
 +
exit 99
 +
fi
 +
 +
package=$1
 +
 +
pkgname=`echo $1|rev|cut -d"/" -f1|cut -d"-" -f3-|rev`
 +
 +
VSME=${2:-'9'}
 +
 +
echo "$pkgname/contribs$VSME"
 +
 +
 +
#cd ~/smecontribs/rpms
 +
#cvs update -dPA
 +
#cd ~/smecontribs
 +
#cvs -z3 -d:ext:shell.koozali.org:/cvs/smecontribs co -P rpms
 +
#cd ~/smecontribs/rpms
 +
 +
cd ~/smecontribs/rpms
 +
 +
# contrib folder not found
 +
if [ ! -d "$pkgname" ]
 +
then
 +
echo " ~/smecontribs/rpms/$pkgname not found"
 +
exit 99
 +
fi
 +
 +
 +
if [ ! -d "$pkgname/contribs$VSME" ]
 +
then
 +
echo " ~/smecontribs/rpms/$pkgname/contribs$VSME not found : new subtree to create"
 +
mkdir -p $pkgname/contribs$VSME
 +
touch $pkgname/contribs$VSME/.cvsignore
 +
touch $pkgname/contribs$VSME/import.log
 +
cvs add $pkgname
 +
cvs add $pkgname/contribs$VSME
 +
cvs add $pkgname/contribs$VSME/.cvsignore
 +
cvs add $pkgname/contribs$VSME/import.log
 +
cvs commit -m "Prep for $pkgname import"
 +
 +
else
 +
echo " ~/smecontribs/rpms/$pkgname/contribs$VSME found : just need to import new source rpm"
 +
 +
fi
 +
 +
 +
./common/cvs-import.sh -b "contribs$VSME" -m "Initial import to v$VSME" "$package"
 +
 +
echo " now first build ..."
 +
cd ~/smecontribs/rpms/$pkgname/contribs$VSME
 +
cvs update -dPA
 +
make clean
 +
make prep
 +
make local
 +
cvs commit -m "$pkgname first build"
 +
make tag
 +
make build
 +
echo "now please fill a bug"
 +
echo "http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&component=${pkgname}&version=${VSME}beta&short_desc=first%20import%20to%20sme$VSME%20tree%20[$pkgname]"
 +
echo "http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&component=${pkgname}&version=${VSME}beta&short_desc=first%20import%20to%20sme$VSME%20tree%20[$pkgname]">>~/TODO
 +
 
 +
====listv9====
 +
List rpm version already online in the sme9contribs tree and build srpm from the folder ~/srpm which are not already online
 +
 
 +
#!/bin/bash
 +
 +
#liste contribs avec deja version v9
 +
#find  ~/smecontribs/rpms/ -name 'contribs9' -printf '%h\n' | sort -u |grep "smeserver-"|cut -d"/" -f6>~/alreadyV9
 +
# liste �tant deja released
 +
URL='http://mirror.contribs.org/releases/9/smecontribs/SRPMS/';
 +
curl $URL 2>&1 | grep -o -E 'href="(.+)"' | cut -d'"' -f2|grep  -E '^smeserver-'|rev| cut -d"-" -f3-|rev >~/lscontribs9
 +
home=~
 +
echo $home
 +
ls ~/srpm |grep "src.rpm"|sed  "s|.*|$home/srpm/&|"> ~/listsrpm
 +
 +
#listes juste import�e ou smedev
 +
comm -23 <(sort ~/lscontribs9) <(sort ~/alreadyV9)
 +
 +
while read fichier ; do
 +
 +
tmp=`echo $fichier|rev|cut -d"/" -f1| cut -d"-" -f3-|rev`
 +
#echo $fichier
 +
#echo $tmp
 +
if grep -Fxq "^$tmp$" ~/alreadyV9
 +
then
 +
    echo " $tmp : already there " # code if found
 +
echo " $tmp : already there " >>~/TODO
 +
else
 +
  echo "$tmp to import into v9"  # code if not found
 +
        # import
 +
        echo "addSubTree $fichier 9    "
 +
        addSubTree $fichier 9
 +
        echo "mv $fichier \"$home/done/\""
 +
        mv $fichier "$home/srpm/done/"
 +
        sleep 10
 +
fi
 +
 +
done < <(cat ~/listsrpm)
 +
 
 +
===Stephdl===
 +
[mailto:stephdl@de-labrusse.fr stephdl] Stéphane de Labrusse AKA [[User:stephdl|Stephdl]]<br />
 +
====mockbuild====
    
mock get a special syntax not always easy to recall, here a script that you need to record at /usr/bin/mockbuild (set it executable) https://github.com/stephdl/mockbuild
 
mock get a special syntax not always easy to recall, here a script that you need to record at /usr/bin/mockbuild (set it executable) https://github.com/stephdl/mockbuild
Line 15: Line 143:  
  smeserver-9-x86_64-base smeserver-9-i386-base
 
  smeserver-9-x86_64-base smeserver-9-i386-base
 
  smeserver-8-x86_64-base smeserver-8-i386-base
 
  smeserver-8-x86_64-base smeserver-8-i386-base
 +
epel-6-x86_64            epel-6-i386
 +
epel-5-x86_64            epel-5-i386
   −
  #!/bin/bash
+
  <nowiki>#!/bin/bash
 
     # who i'm
 
     # who i'm
 
     ME=$(whoami)
 
     ME=$(whoami)
Line 27: Line 157:  
     echo "  smeserver-9-x86_64-base smeserver-9-i386-base"
 
     echo "  smeserver-9-x86_64-base smeserver-9-i386-base"
 
     echo "  smeserver-8-x86_64-base smeserver-8-i386-base"
 
     echo "  smeserver-8-x86_64-base smeserver-8-i386-base"
 +
    echo "  epel-6-x86_64          epel-6-i386          "
 +
    echo "  epel-5-x86_64          epel-5-i386          "
 
     echo " mockbuild package.src.rpm  mock_configuration  "
 
     echo " mockbuild package.src.rpm  mock_configuration  "
 
     echo "################################################"
 
     echo "################################################"
Line 45: Line 177:  
     echo ""
 
     echo ""
 
     echo "3.Sign your rpms"
 
     echo "3.Sign your rpms"
     rpm --resign /home/$ME/exchange/$2/*.rpm 2>&1 > /dev/null
+
     rpm --resign /home/$ME/exchange/$2/*.rpm 2>&1 > /dev/null</nowiki>
 
                                                                  
 
                                                                  
 
A the end I use rpm to sign my rpm, if you don't need it you can remove it.
 
A the end I use rpm to sign my rpm, if you don't need it you can remove it.
   −
===git_ignore===
+
====git_ignore====
 
git don't track empty directory that we may need for a rpm, here a script that you need to record at /usr/bin/git_ignore (set it executable) https://github.com/stephdl/git_ignore
 
git don't track empty directory that we may need for a rpm, here a script that you need to record at /usr/bin/git_ignore (set it executable) https://github.com/stephdl/git_ignore
   Line 59: Line 191:  
  find * -type d -empty -exec touch {}/.gitignore \;
 
  find * -type d -empty -exec touch {}/.gitignore \;
   −
===git_mockbuild===
+
====git_mockbuild====
    
a git integration for mock, git and rpm https://github.com/stephdl/git_mockbuild
 
a git integration for mock, git and rpm https://github.com/stephdl/git_mockbuild
Line 116: Line 248:  
  # Find the centos version
 
  # Find the centos version
 
  DIST=$2
 
  DIST=$2
  if [[ -z $DIST && "$BRANCH" =~ "sme9" ]]; then
+
  <nowiki>if [[ -z $DIST && "$BRANCH" =~ "sme9" ]]; then</nowiki>
 
     DIST="el6"
 
     DIST="el6"
 
  elif [ -z $DIST ]; then
 
  elif [ -z $DIST ]; then
Line 150: Line 282:  
  cp $TMPDIR/$PACKAGE-$VERSION.tar.gz ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz
 
  cp $TMPDIR/$PACKAGE-$VERSION.tar.gz ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz
 
  cp $PACKAGE.spec ~/rpmbuild/SPECS/
 
  cp $PACKAGE.spec ~/rpmbuild/SPECS/
 +
 +
##copy a list of files to SOURCES when patches or archives are not in the root folder
 +
ls > /tmp/$PACKAGE-$VERSION
 +
cp -Rf $(</tmp/$PACKAGE-$VERSION) ~/rpmbuild/SOURCES/
 
   
 
   
 
  # And build
 
  # And build
Line 155: Line 291:  
  echo "0.Tips"
 
  echo "0.Tips"
 
  echo "# git_mockbuild    [ MOCKCONF ]    [ SME_Server_version ]"
 
  echo "# git_mockbuild    [ MOCKCONF ]    [ SME_Server_version ]"
  echo 'you can choose another build architecture : git_mockbuild sme8-386 sme8-64 sme9-386 sme9-64'
+
  echo 'you can choose another build architecture : git_mockbuild sme8-386 sme8-64 sme9-386 sme9-64 epel-6-x86_64 epel-6-i386 epel-5-x86_64 epel-5-i386'
 
  echo 'you can choose which SME_Server target version you want : sme8 sme9'
 
  echo 'you can choose which SME_Server target version you want : sme8 sme9'
 
  echo ""
 
  echo ""
Line 198: Line 334:  
     elif [ $1 = "sme9-64" ]; then
 
     elif [ $1 = "sme9-64" ]; then
 
         MOCKCONF="smeserver-9-x86_64-base"
 
         MOCKCONF="smeserver-9-x86_64-base"
 +
    elif [ $1 = "epel-6-x86_64" ]; then
 +
        MOCKCONF="epel-6-x86_64"
 +
    elif [ $1 = "epel-6-i386" ]; then
 +
        MOCKCONF="epel-6-i386"
 +
    elif [ $1 = "epel-5-x86_64" ]; then
 +
        MOCKCONF="epel-5-x86_64"
 +
    elif [ $1 = "epel-5-i386" ]; then
 +
        MOCKCONF="epel-5-i386"
 
     fi;
 
     fi;
 
  fi
 
  fi
+
 
 
  echo "The mock chroot configuration used is  $MOCKCONF"
 
  echo "The mock chroot configuration used is  $MOCKCONF"
 
  echo "=============================================================="
 
  echo "=============================================================="
Line 209: Line 353:  
   
 
   
 
  rm -f  ~/rpmbuild/SPECS/$PACKAGE.spec ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz ~/rpmbuild/SRPMS/$PACKAGE-$VERSION*.src.rpm
 
  rm -f  ~/rpmbuild/SPECS/$PACKAGE.spec ~/rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz ~/rpmbuild/SRPMS/$PACKAGE-$VERSION*.src.rpm
  rm -rf $TMPDIR  ~/$PACKAGE-$VERSION  
+
  rm -rf $TMPDIR  ~/rpmbuild/SOURCES/$PACKAGE-$VERSION
 +
 +
# clean ~/rpmbuild/SOURCES when patches or archives are not in the root folder
 +
cd ~/rpmbuild/SOURCES/
 +
rm -rf $(</tmp/$PACKAGE-$VERSION)
 +
#remove the file list
 +
rm -rf /tmp/$PACKAGE-$VERSION
 
   
 
   
 
  # we give the path where are files
 
  # we give the path where are files
Line 224: Line 374:  
  rpm --resign ~/exchange/$PACKAGE-$VERSION/*.rpm 2>&1 > /dev/null
 
  rpm --resign ~/exchange/$PACKAGE-$VERSION/*.rpm 2>&1 > /dev/null
   −
===contrib_migration===
+
====contrib_migration====
 
a script to migrate contrib from sme8 CVS to your local git and to your remote Github account for sme9 https://github.com/stephdl/contrib_migration . You need to record at /usr/bin/contrib_migration (set it executable)
 
a script to migrate contrib from sme8 CVS to your local git and to your remote Github account for sme9 https://github.com/stephdl/contrib_migration . You need to record at /usr/bin/contrib_migration (set it executable)
   Line 246: Line 396:  
  contrib_migration smeserver-packagename
 
  contrib_migration smeserver-packagename
   −
  #test if the first argument is here
+
  <nowiki>#test if the first argument is here
 
     if [[ -z $1 ]]; then
 
     if [[ -z $1 ]]; then
 
         echo "#################################################################################"
 
         echo "#################################################################################"
Line 325: Line 475:  
     echo "think also if you have a github project called stephdl/$1"
 
     echo "think also if you have a github project called stephdl/$1"
 
     echo "###################################"
 
     echo "###################################"
  fi
+
  fi</nowiki>
   −
===build_srpm===
+
====build_srpm====
 
a script to build srpm, create the git repository, and export all files to github https://github.com/stephdl/build_srpm . You need to record at /usr/bin/build_srpm (set it executable)
 
a script to build srpm, create the git repository, and export all files to github https://github.com/stephdl/build_srpm . You need to record at /usr/bin/build_srpm (set it executable)
   Line 335: Line 485:  
you must give arguments on the  git branch (master, sme9 or anything else) and the package name : build_srpm package_name master
 
you must give arguments on the  git branch (master, sme9 or anything else) and the package name : build_srpm package_name master
 
give the real name without number of version
 
give the real name without number of version
 +
build_srpm freedup sme9
   −
  ###a bit of tests to see if we will not do a mess
+
----
    if [[ -z $1 || -z $2 ]]; then
+
  <nowiki>###a bit of tests to see if we will not do a mess
 +
        if [[ -z $1 || -z $2 ]]; then
 
         echo "################################################################################################################################"
 
         echo "################################################################################################################################"
 
         echo "you must give arguments on the  git branch (master, sme9 or anything else) and the package name : build_srpm package_name master"
 
         echo "you must give arguments on the  git branch (master, sme9 or anything else) and the package name : build_srpm package_name master"
Line 456: Line 608:  
         echo " packages are in ~/git_work/$1-sdl"
 
         echo " packages are in ~/git_work/$1-sdl"
 
     fi
 
     fi
 +
</nowiki>
 +
 +
====cvs_update====
 +
a script to update all CVS entries of smeserver
 +
 +
Launch the script, all smeserver & smecontribs will be updated, adapt the path to your directory and to you cvs access. That script can be run the night to avoid lose time when you must work
 +
 +
usage
 +
cvs_update
 +
 +
#!/bin/bash
 +
 +
location=$(pwd)
 +
 +
echo "############################"
 +
echo "      Work In Progress      "
 +
echo "############################"
 +
 +
#first we update the smecontribs tree
 +
cd ~/work/smecontribs
 +
cvs -z3 -d:ext:shell.koozali.org:/cvs/smecontribs co -P rpms
 +
echo "############################"
 +
echo "    smecontribs uptodate  "
 +
echo "############################"
 +
echo "############################"
 +
echo "      Work In Progress      "
 +
echo "############################"
 +
 +
 +
 +
cd ~/work/smeserver
 +
cvs -z3 -d:ext:shell.koozali.org:/cvs/smeserver co -P rpms
 +
 +
echo "############################"
 +
echo "    smeserver uptodate    "
 +
echo "############################"
 +
 +
 +
cd $location
 +
 +
====git_srpm====
 +
This script is done to import a srpm and to push it after a 'rpmbuild -bp' to your git folder '~/git_work' here.
 +
 +
After that you can commit it if needed
 +
 +
<nowiki>#!/bin/bash
 +
  ### bit of tests to see if we will not do a mess
 +
      if [[ -z $1 || -z $2 ]]; then
 +
      echo "################################################################################################################################"
 +
      echo "you must give arguments on the  git branch (master, sme9, ns6 or anything else) and the package name : git_srpm package_name master"
 +
      echo "################################################################################################################################"
 +
      exit
 +
    fi
 +
 +
 +
 +
  if  [[ -d ~/git_work/$1 ]]; then
 +
      echo""
 +
      echo "###################################"
 +
      echo "the git directories ~/git_work/$1 is  already created."
 +
      echo "please remove it before to play with the script"
 +
      echo "think also if you have a github project called stephdl/$1"
 +
      echo "###################################"
 +
      exit
 +
  fi
 +
 +
# Create needed dirs on the build box
 +
 +
  mkdir -p ~/rpmbuild/{RPMS,SRPMS,SPECS,SOURCES,BUILD}
 +
  mkdir -p ~/exchange
 +
  mkdir -p ~/git_work/$1
 +
 +
  rpm -ivh $1*.src.rpm
 +
  cd ~/rpmbuild/SPECS
 +
  rpmbuild -bp --nodeps $1*.spec
 +
 +
##we remove all patch from the spec file
 +
#  sed '/Patch/d' $1*.spec > $1.bis.spec
 +
#  sed '/%patch/d' $1.bis.spec > $1.ter.spec
 +
#  mv -f $1.ter.spec $1.spec
 +
#  rm -f $1.bis.spec
 +
 +
 +
      cp -R ~/rpmbuild/BUILD/$1*/* ~/git_work/$1
 +
      cp ~/rpmbuild/SPECS/$1.spec ~/git_work/$1
 +
      cd ~/git_work/$1
 +
 +
      ##fill empty directories
 +
      find * -type d -empty -exec touch {}/.gitignore \;
 +
 +
echo "Now you have to create the correct github remote repository and add the origin"
 +
echo "  Think to remove all Patches in the specfile"
 +
echo ""
 +
echo "  cd ~/git_work/$1"
 +
echo "  git init; git add . ; git commit -m 'first commit' ; git checkout -b $2"
 +
echo "  git remote add origin git@github.com:stephdl/$1.git"
 +
echo "  git push -u origin $2"
 +
 +
rm -f  ~/rpmbuild/SPECS/$1*.spec ~/rpmbuild/SOURCES/$1* ~/rpmbuild/SRPMS/$1*.src.rpm
 +
</nowiki>
 +
 +
====Cron night Job====
 +
 +
I don't like to wait so each night I do an init of mock on all configurations I need
 +
 +
* 2  * * * mock -r epel-5-x86_64 --init; mock -r epel-5-i386 --init
 +
* 3  * * * mock -r epel-6-x86_64 --init; mock -r epel-6-i386 --init
 +
* 4  * * * mock -r smeserver-9-x86_64-base --init; mock -r smeserver-9-i386-base --init
 +
* 5  * * * mock -r smeserver-8-x86_64-base --init; mock -r smeserver-8-i386-base --init
 +
* 6  * * * /usr/bin/cvs_update
 +
 +
====srpm-import to buildsrv====
 +
 +
srpm-import is a script to import to buildsrv, you need to be granted to use it. the purpose is to create new source in CVS from a remote srpm
 +
 +
usage:
 +
 +
srpm-import smeserver-contribs contrib9 http://mirror.de-labrusse.fr/smeserver/6/SRPMS/smeserver-php-scl-0.4-3.el6.sme.src.rpm
 +
 +
code:
 +
 +
#!/bin/bash
 +
 +
# Author : stephane de labrusse <stephdl@de-labrusse.fr> @2015
 +
# the purpose is to import a srpm from a remote url in the CVS of buildsrv
 +
 +
 +
#test if all arguments are here
 +
    <nowiki>if [[ -z $3 ]]; then</nowiki>
 +
    echo "########################################################################################################"
 +
    echo "Import srpm to CVS on buildsrv  : srpm-import Folder_Name Branch_Name(smeX|contribsX) Url_2_Remote_Srpm"
 +
    echo "########################################################################################################"
 +
    exit
 +
    fi
 +
 +
#we test the branchname
 +
    <nowiki>if [[ $2 != "sme"[8-9] && $2 != "contribs"[8-9] ]];then</nowiki>
 +
    echo ""
 +
    echo "the branchname name is not good, must be sme[8-9] or contribs[8-9]"
 +
    exit 1
 +
    fi
 +
 +
#we test the remote url
 +
    <nowiki>if wget $3 >/dev/null 2>&1 ; then</nowiki>
 +
    echo "Url : $3 exists..."
 +
    else
 +
    echo ""
 +
    echo "Url : $3 doesn't exists.."
 +
    exit 1
 +
    fi
 +
 +
#test root cvs folder
 +
    <nowiki>if [[ -d $1 ]]; then</nowiki>
 +
    echo "the source folder $1 already exists"
 +
    fi
 +
 +
#mkdir root cvs folder
 +
mkdir -p $1
 +
cvs add $1
 +
cd $1
 +
 +
#test the branch name
 +
    <nowiki>if [[ -d $2 ]];then</nowiki>
 +
    echo ""
 +
    echo "the branch name $1/$2 already exists : we stop the script."
 +
    echo ""
 +
    echo "You must import a new tarball manually if needed :"
 +
    echo "    cd $1/$2"
 +
    echo "    wget http://your.src.rpm"
 +
    echo "    rpm2cpio  *.src.rpm | cpio -idmv --no-absolute-filenames"
 +
    echo "    make new-sources FILES=*.?z"
 +
    echo "    rm -rf *.src.rpm *.?z *.spec"
 +
    echo "    cvs commit -m 'new source commited for the branch $2 of $1'"
 +
    exit 1
 +
    fi
 +
 +
#mkdir branch name (smeX or contribsX)
 +
mkdir -p $2
 +
cvs add $2
 +
cd $2
 +
#import correct date of first import
 +
echo $(date +%s) > import.log
 +
#copy makefile FIXME
 +
cp -f ~/Makefile .
 +
sed -i -e "s/smeserver-durep/$1/g" Makefile
 +
#wget the srpm by remote url
 +
wget $3
 +
#untar the srpm
 +
rpm2cpio  *.src.rpm | cpio -idmv --no-absolute-filenames
 +
#import the new source
 +
make new-sources FILES=*.?z
 +
#a bit of clean
 +
rm -rf *.src.rpm *.?z
 +
#import all to cvs
 +
cvs add *
 +
# Informations needed from the spec file
 +
version=$(rpm -q --qf "%{version}\n" --specfile $1.spec| head -1)
 +
#ARCH=$(rpm -q --qf "%{arch}\n" --specfile $1.spec | head -1)
 +
release=$(rpm -q --qf "%{release}\n" --specfile $1.spec | head -1| sed s/\.el.//)
 +
 +
#sed work no needed anymore(see above)
 +
#version=$(grep -sri 'define version' *.spec | sed 's/%define version //gI')
 +
#release=$(grep -sri 'define release' *.spec | sed 's/%define release //gI')
 +
 +
#bump the release
 +
release=$((release + 1))
 +
#write to the spec file
 +
sed -i "/%define release/c %define release $release" *.spec
 +
sed -i "/changelog/a * $(LC_ALL=C date +"%a %b %d %Y") stephane de Labrusse <stephdl@de-labrusse.fr> $version-$release.sme\n- Initial release to $2\n" *.spec
 +
echo ""
 +
echo "Verify in $1/$2 if all is well, then commit the changes"
 +
echo "    cvs commit -m '$(LC_ALL=C date +"%a %b %d %Y") stephane de Labrusse <stephdl@de-labrusse.fr> $version-$release.sme - Initial release to $2'"
 +
echo ""
 +
echo " If it is the first importation of a srpm, you must enable it in the CVSROOT, first you have to refresh the CVS source"
 +
echo "    cvs co CVSROOT"
 +
echo " Then you must edit /CVSROOT/modules and add the name of the new CVS module (alphabetically sorted), after that commit the changes"
 +
echo "now please fill a bug"
 +
pkgname=$1
 +
VSME=$(echo $2|sed 's/sme\|contribs//gI')
 +
 +
echo "http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&component=${pkgname}&version=${VSME}beta&short_desc=first%20import%20to%20sme$VSME%20tree%20[$pkgname]"
 +
echo "$(date)
 +
http://bugs.contribs.org/enter_bug.cgi?product=SME%20Contribs&component=${pkgname}&version=${VSME}beta&short_desc=first%20import%20to%20sme$VSME%20tree%20[$pkgname]">>~/TODO
 +
 +
==== search ====
 +
Like the name, simply search rpm in buildsrv
 +
 +
#!/bin/bash
 +
<nowiki>if [[ -z $1 ]]; then</nowiki>
 +
echo "You must specify a name of rpm"
 +
exit
 +
fi
 +
find /distros -name "*$1*"
 +
echo ''
 +
echo '## other repo ##'
 +
echo ''
 +
find /mirrors/ -name "*$1*"
 +
 +
 +
usage:
 +
./find rpmname

Navigation menu