Q: can I upload a tweaked SFOS app (direc85's GPSInfo) to OpenRepos to make it available for the community?

I have tweaked @direc85 's GPSInfo app and added a slider that corrects the altitude display for +/- 100 meters to adjust the difference between the real earth and the data coming from GPS receiver. Have tested some time on my own device and now generated a rpm file using RPM rebuild from Chum.
Now I have a RPM file for 32 bit devices and could successfully install it on another Xperia 10 and this also works.

My questions are now: Is it OK to simply upload the rpm file in my OpenRepos account for publishing it, if I only write into the description text that it’s a fork of direc85’s original app?
As I now only have an armv7hl version, will OpenRepos automatically generate an aarch64 and an i486 version?
On what other things do I have to take care about?

Thanks in advance for any hints!

1 Like

Of course it won’t.
If you haven’t, read this: Apps | Sailfish OS Documentation

RPM rebuild is not a serious way to do anything.

And in general; why don’t you speak to direc85 about incorporating the changes in the existing version?
Edit, answering myself: a static altitude correction is probably not interesting to most peole.

I’ll send a PM to @direc85 and then i’ll see what he thinks about this. I’m sure a static altitude correction is better than having a wrong displayed value and having no option to correct anything.

No idea if this interests anyone, but it would support the spirit of sharing ideas and creativity.

4 Likes

If you’re building on chum, you could point us to the location and one could look at making a ‘clean’ request to @direc85 . If it has a home on chum, it makes everyone’s lives easier.

2 Likes

I’ld rather have that in geoclue-hybris, because other GPS receivers don’t suffer that miscomputation of altitude. With a static offset in GPSInfo there will be mismatches between different applications and errors for external receivers.

4 Likes

What I did is simple and sketchy. I inserted in FirstPage.qml beginning from line 185 this:

            SectionHeader {                                                                               
                anchors.left: parent.left                                                                
                anchors.leftMargin: Theme.paddingMedium * 2                                  
                text: "Altitude Offset"                                           
            }                                                                          
                                                                                                  
            Slider {                                                                             
                minimumValue: -100                                                              
                maximumValue: 100                                                       
                stepSize: 1                                                            
                value: settings.altitudeOffset
                valueText: value + "m"                                                           
                width: parent.width                                                          
                onReleased: settings.altitudeOffset = value                             
            }                                                                          

and beginning from line 89, InfoField Altitude changed the formula this way:

            InfoField {
                label: qsTr("Altitude")
                visible: settings.showAltitudeApp
                value: {
                    if (providers.position.position.altitudeValid) {
                        if (settings.units === "MET") {
                            return locationFormatter.roundToDecimal(providers.position.position.coordinate.altitude - settings.altitudeOffset, 2) + " m"
                        } else {
                            return locationFormatter.roundToDecimal((providers.position.position.coordinate.altitude - settings.altitudeOffset) * 3.2808399, 2) + " ft"
                        }
                    }
                    return "-"
                }
            }

and I changed in CoverPage.qml the InfoField beginning from line 56 this way:

        InfoField {
            label: qsTr("Altitude")
            visible: settings.showAltitudeCover
            fontpixelSize: Theme.fontSizeMedium
            value: {
                if (providers.position.position.altitudeValid) {
                    if (settings.units == "MET") {
//                        return locationFormatter.roundToDecimal(providers.position.position.coordinate.altitude, 2) + " m"
                        return locationFormatter.roundToDecimal(providers.position.position.coordinate.altitude - settings.altitudeOffset, 2) + " m"
                    } else {
//                        return locationFormatter.roundToDecimal(providers.position.position.coordinate.altitude * 3.2808399, 2) + " ft"
                        return locationFormatter.roundToDecimal((providers.position.position.coordinate.altitude - settings.altitudeOffset) * 3.2808399, 2) + " ft"
                    }
                }
                return "-"
            }
        }

This does only change the display on GPSInfo and has no effect to other apps.

1 Like

The SailfishOS:Chum repository is definitely the wrong place to publish such an experimental version, and at both SailfishOS:Chum and SailfishOS:Chum:Testing @Seven.of.nine’s version will create a naming conflict with the version @direc85 maintains. The fact that SailfishOS:Chum and SailfishOS:Chum:Testing are each a single repository is a property (which can be seen as good and / or bad, depending on the perspective) which OpenRepos does not have: As the name implies it hosts many repositories, one for each user.

Maybe you meant “building at the SailfishOS-OBS” (which SailfishOS:Chum utilises: SailfishOS:Chum and SailfishOS:Chum:Testing are each a single SailfishOS-OBS repository), but I hesitate to suggest @Seven.of.nine to start building there, because the initial learning curve for OBS is a bit steep.
OTOH, once one mastered using the SailfishOS-OBS, it is quite convenient to build “in the cloud”.

1 Like

Yes, build.sailfishos.org is what I meant. I always aim to release to chum, so it’s a synonym for me. But, you’re right, it’s not something to push to chum at this point. I just want to see the code to see if I can aid in making a merge-able PR.

I didn’t find GPSinfo on obs. Is it there? EDIT: I had checked here: Home of direc85 - SailfishOS Open Build Service

1 Like

Please start submitting such suggestions of code changes via pull-requests (PRs) at GitHub, because that is exactly what they are designed for, they are much more convenient to handle and discuss there for all involved, and PRs are way better that posting code changes in a forum. If you want to discuss such changes here, provide a web-link (URL) to that PR.

3 Likes

I agree, surely that’s the best way. But for me GitHub is complex, so I’ll have a look at GitHub in the next days and try to get familiar with it.

Also I wrote a PM to @direc85 and will see what he’ll say to it.

1 Like

We have already been at this point three weeks ago.

so I’ll have a look at GitHub in the next days and try to get familiar with it.

For your own progress (in doing this and learning to use GitHub), please stop taking these “maximum effort approaches” of “try[ing] to get familiar with it”: You will read some documentation and become fearful of the complexity, again.

Please simply perform these steps:

  1. Create a GitHub account, preferably with a name which lets people recognise you, e.g. Seven.of.nine.
  2. Go to direc85's harbour-gpsinfo source code repository while being logged in at GitHub.
  3. Hit the fork button there, then GitHub will create and display your clone of this repository.
  4. Employ your changes in your clone of harbour-gpsinfo with GitHub’s web-editor (by copy&pasting) and GitHub will suggest to pose a pull-request to the original repository (i.e. direc85's):
    Do as suggested and you are finished by reaching your goal!

Just do that, i.e. cease revolving around “trying to get familiar”, using workarounds (as here) etc.: You simply waste your and many other people’s time.

If anything does not work for you, do ask.

Also I wrote a PM to @direc85 and will see what he’ll say to it.

The GitHub process eliminates all this manual churn of writing separate personal messages, asking people for feedback in this forum etc.! It does all that implicitly in a single place: GitHub’s web-frontend.

P.S.: An do not listen to people who suggest using git at the command line or the SailfishOS-OBS, SailfishOS:Chum, whatever else: All this is more complex than starting to use GitHub’s web-frontend.
Actually this task is optimal for performing the first steps at GitHub while doing something practical (and not just as a learning lesson).

7 Likes

I will do so. (20 characters)

PM received and replied to!

Instead of having multiple versions of the application, let’s add the feature to GPSinfo and I’ll update the OpenRepos version. It’s been a while since the last update anyway.

I didn’t look at the code snippet yet. Is it all there? If so, I could just pick it up from there…

3 Likes

Yes that’s all i added to the existing code, nothing else. It’s only a tiny little tweak from an amateur like me. edit: please feel free to use it as you like!

I couldn’t get to make a github account because I once had such an account with username Seven-of-nine years ago and forgot the password and the mail address i entered at that time. So GitHub says username is occupied and I have no idea how to restore it. I hope there is an option to send a message to a human admin and describe the problem and will try now.

edit: there is no option to simply e-mail to an admin or support. All options to make a customer care request via GitHub want an e-mail address and as said I don’t remember what address out of my three I used at creating time years ago.

Well, why don’t you try to create seven_of_nine then or Andrea-SON or whatever else suits you well?

This is only the login name, there is also a display name you are free to choose.

I had to live with Olf0, because olf was already occupied, but I sure set my display name to olf.

1 Like

Or try password reset on those 3 emails.

1 Like