Help on ABF

I’m still needing guiding tips on dealing with ABF!

I would like to ask for help on the following. I successfully upload files,

simgear-2017.2.1.tar.bz2  sha1: d25908ff4af75f06a7155fadd24af9aed1999e94
simgear.spec              sha1: 4a02d4b89a878ed4b4d0af74cd972a4fabe8060b

at file-store.openmandriva.org.

I guess I successfully update project

openmandriva/simgear/adhefe/.abf.yml

with the source file above (simgear-2017.2.1.tar.bz2).

But I was not able to update

openmandriva/simgear/adhefe/simgear.spec

with the new spec file already uploaded in file-store.

I also made the mistake of uploading the source file and renaming it as simgear.spec. Would like to know how to remove it from,

openmandriva/simgear/adhefe.

Sorry for all of that!

Thanks in advance

I guess the correct is to write,

openmandriva/adhefe/simgear

I apologize if I was not clear about this point on previous posts.

On ABF repository you should upload only sources file(s) i.e. the ones you declare in Source*: field(s) inside the .spec file. To be more clear in you case you have only one source which is simgear-2017.2.1.tar.bz2. BTW I prefer Source0: in place of Source: which may ambiguous is some situations. On the contrary .spec file, .abf.yml file and patch files should not be uploaded on ABF but on github repository only. An exception could be done for very small source files (few bytes sized) may be uploaded on github instead on ABF: this may be the case of single text configuration file or single icon file. But, let me stress it again, these are just exceptional cases. In your case this means you should remove simgear-2017.2.1.tar.bz2 from github repo. And please also check the syntax of your .abf.yml file.

So as a general rule you may take the following: put *.spec, .abf.yml and patches on github and put all the other stuffs on ABF. If you have some doubts please ask at this forum.

A little tip to work with files to put on ABF is to use abf cli command: first get the git repo locally on you machine (you may fetch it with git clone command) and change it according your needs. Then put all source files and all patch files in the same folder and use abf put command which provides automatically for the following tasks in place of you:

  1. push the source flles on ABF;
  2. update the .abf.yml with correct sintax;
  3. delete the files uploaded on ABF from your folder.

You only have to check if it makes all things right but in my own experience abf push always automatically detects and upload the right files.

Finally I don’t think users can delete files on file-stores,maybe admins can.

Hi Mandian,

I would like to do the right thing to share my efforts to build simgear, flightgear, flightgear-data.
It seems that the only thing I did right was to upload the source and spec files of simgear at file-store so I don’t intend to remove them.

I just would like to fix my fork of simgear at adhefe/simgear.

Is it possible to file a request for building simgear, flightgear, flightgear-data, providing only files at file-store (with their sha1)?

Meanwhile, I’ll look for more understanding of how to work with github forks and ABF …

Thanks

:+1:
All we appreciated this a lot. :slight_smile:

Too pessimistic here: just remove simgear-2017.2.1.tar.bz2 from your github repo, upload the new spec you cooked and add a valid .abf.yml (tip: use abf put). :wink:

Syntax for a really simple .abf.yml is (note: colon are important here):

source:
 _package-name_:  _package-sha1sum_

Here package-name is the same name you specify in Source*: fields inside of .spec file without the whole url.

If you already updated .spec and .abf.yml (as I understand you did) I suggest to you to push your work on your githur repo and to make a pull request from here. Then you may file a request on bugzilla. If for some reason you can’t upload some sources on ABF (for instance a common problem may be sources too big for your upload bandwidth) just specify it in your file request.

I’ve tried abf put but didn’t see any change in my repo at github adhefe/simgear.
I’ve manually removed .abf.yml and simgear.spec and recreated them.
Tried a pull request, hope I did it right.

abf only puts things on abf server. To push changes on github you may use git command. Also note ABF is mainly a storage server for source files while github repository contains all the other useful stuff to build a packages.

The first time you use git you have to set you name and your mail according to the ones you use on github (otherwise the name of you local user will be used)

git config user.name <your-name>
git config user.email <your-mail-address>

A complete list of your configurations can be obtained with the following command:

git config -l

To push you changes into your github repository you may use the following commands:

git add <files-you-modified>
git commit
git push

You may use TAB with gti add to get the list of the files you modified.

The first time you make a commit in a branch you should do explicitly, so, for instance

git push origin master  # first push on master branch
git push origin 3.0     # first push on 3.0 branch

To switch from one branch to another you may use git checkout. For example

git chechout 3.0         # switch to 3.0 branch
git chechout master   # switch to master branch

You may use -b option of git chechout to create a new branch if it doesn’t exist already.

For pull requests you may refer to github help. On the opposite the help claims, usually there is not need to create a new branch for a pull request.

For a complete guide about git you may refer to Pro Git book (there are also localized edition) and for quick reference you may use this. For a very simple introduction you may look here. Git Magic is another translated quick guide.

For a guide about abf you may refer here, but bring in mind there are some differences between ROSA and OpenMandriva so not all commands described there are usable with OpenMandriva.

I hope this may help you a bit. :wink:

There is also a git gui program names gtik bit I never used it.

… or git gui.