From Fedora Project Wiki



Case Study

Mercurial Eclipse

hg archive -r RELEASE_1.8.1 --type=tar ../mercurialeclipse_1-8-1.tar.bz2
problem with this ccommand:
type=tar caused problem while decompressing the tar ball with pde-script, so we can just archive as a regular folder
It's better to keep the name of the folder as just mercurial then we will put it in a folder called eclipse-mercurial
so the new command is: hg archive -r RELEASE_1.8.1 ../eclipse-mercurial-1.8.1/mercurial
  • Create a new feature in Eclipse using New -> feature

Mercurial Create Feature

  • Add this feature id to %build in .spec file in -f option
Don't need to add -d (dependencies) for now, until it complains
Added mylyn as the dependency later
  • Create an archive file of the feature then add it to the SOURCES in RPM project.
Before, I put the com.vectrace.mercurialeclipse-feature plugin folder in eclipse-mercurial folder. --not anymore
you may need to add that to the %prep in .spec file.
     %setup -T -D -a 1
  • For using changelog
Go to window -> preferences -> changelog -> enter your name and email
in .spec file editor -> %changelog -> Ctrl+Alt+C
  • After making sure it works,: use this command to create the tar ball: tar -cf eclipse-mercurial-1.8.1.tar.bz2 eclipse-mercurial-1.8.1: some times it complained that it couldn't remove the folder eclipse-mercurial because it was not empty, one solution is to kill the process:
    pgrep rpmbuild    #if it showed the id so it's running
    kill `rpmbuild`

Eclipse Mercurial Spec File

  • To install the package
Install for the first time:
rpm -i eclipse-mercurial-1.8.1.noarch.rpm
Install the updated packages
Yum remove eclipse-mercurial-1.8.1
again rpm -i....
This will created a folder called mercurial in /usr/share/eclipse/dropins which will contain the feature.xml
  • The bash script
This script will be used to clone and create the source later, when using FedoraPackaer

  hg clone && \
  pushd hgeclipse > /dev/null && \
  hg archive -r RELEASE_${RELEASE} eclipse-mercurial-${RELEASE}/mercurial &&\
  tar -cf eclipse-mercurial-${RELEASE}.tar.bz2 eclipse-mercurial-${RELEASE}  && \
  mv eclipse-mercurial-${RELEASE}.tar.bz2 ../ && \
  popd > /dev/null && rm -rf hgeclipse
pushd makes the mentioned directory, the top level directory
  • find the version qualifier of mercurial-feature-group
eclipse -nosplash -consolelog -application org.eclipse.equinox.p2.director -repository -list | grep
  • Ticket on javaforge (codeBeamer) for release of feature.xml of mercurial-eclipse
  • Errors on Koji build
Make sure to run fedora-cert -n
Not sure what fedora-packager-setup is for.....
If there was an error, it might have been because the certificate is expired or it was created using another machine so again do the fedora-cert -n