English Finnish
If you're not sure what will the name processed by the `+%{goname}+` macro be, simply build the SRPM with: Jos et ole varma, mikä makron `+%{goname}+` käsittelemä nimi tulee olemaan, rakenna SRPM käyttämällä:
fedpkg --release f31 srpm
fedpkg --release f31 srpm
The SRPM filename will be the one to use in your rpmspec and spec filename. RPM-tiedoston nimi on se, jota käytetään rpm-spesifikaatioissa ja spesifikaatioiden tiedostonimessä.
Source packages that provide a well-known application such as `+etcd+` MUST be named after the application. End users do not care about the language their applications are written in. But do not name packages after an obscure utility binary that happens to be built by the package. Lähdepaketit, jotka tarjoavat tunnetun sovelluksen, kuten `+etcd+` TÄYTYY nimetä sovelluksen mukaan. Loppukäyttäjät eivät välitä kielestä, jolla heidän sovelluksensa on kirjoitettu. Älä kuitenkaan nimeä paketteja epäselvän apuohjelman binaarin mukaan, jonka paketti sattuu rakentamaan.
Implementation: `+%{gorpmname}+` Toteutus: `+%{gorpmname}+`
`+%gometa+` uses the `+%{gorpmname}+` macro to compute the main `+%{goname}+` from `+%{goipath}+`. `+%gometa+` käyttää `+%{gorpmname}+`-makroa muodostaakseen `+%{goname}+`:n `+%{goipath}+`:sta.
*`+%{gorpmname}+` can produce collisions*
*`+%{gorpmname}+` voi aiheuttaa törmäyksiä*
`+%{gorpmname}+` tries to compute human-friendly and rpm-compatible naming from Go import paths. It simplifies them, removing redundancies and common qualifiers. As a result it is possible for two different import paths to produce the same result. In that case, feel free to adjust this result manually to avoid the collision. `+%{gorpmname}+` yrittää muodostaa ihmisystävällisen ja rpm-yhteensopivan nimen Go-tuontipoluista. Se yksinkertaistaa niitä poistamalla tarpeettomat ja yleiset tarkenteet. Tämän seurauksena on mahdollista, että kaksi eri tuontipolkua tuottaa saman tuloksen. Siinä tapauksessa voit vapaasti säätää tätä tulosta manuaalisesti välttääksesi törmäyksen.
Go code packages: `+%{goname}-devel+` Go-koodipaketit: `+%{goname}-devel+`
In a source package dedicated to providing Go code Lähdepaketissa, joka on omistettu Go-koodin tarjoamiseen
Packages that ship Go code in `+%{goipath}+` should be named `+%{goname}-devel+`. If your source package is already named `+%{goname}+`, that is easily achieved with: Pakettien, jotka tarjotaan Go-koodin muodossa `+%{goipath}+`, tulee nimetä `+%{goname}-devel+`. Jos lähdepakettisi on jo nimeltään `+%{goname}+`, se onnistuu helposti seuraavilla tavoilla:
%package devel
[…]
%description devel
[…]
%files devel -f devel.file-list
%package devel
[…]
%description devel
[…]
%files devel -f devel.file-list
In a another kind of source package Toisentyyppisessä lähdepaketissa
If your source package is named something other than `+%{goname}+`, you SHOULD use: Jos lähdepakettisi nimi on jokin muu kuin `+%{goname}+`, sinun TULISI käyttää:
%package -n %{goname}-devel
[…]
%description -n %{goname}-devel
[…]
%files -n %{goname}-devel -f devel.file-list
%package -n %{goname}-devel
[…]
%description -n %{goname}-devel
[…]
%files -n %{goname}-devel -f devel.file-list
Separate code packages Erilliset koodipaketit
And, finally, if you wish to split the project Go code in multiple packages, you can compute the corresponding names with: Ja lopuksi, jos haluat jakaa projektin Go-koodin useisiin paketteihin, voit muodostaa vastaavat nimet seuraavasti:
%global goname1 %gorpmname importpath1
[…]
%package -n %{goname1}-devel
[…]
%description -n %{goname1}-devel
[…]
%files -n %{goname1}-devel -f %{goname1}.file-list
%global goname1 %gorpmname importpath1
[…]
%package -n %{goname1}-devel
[…]
%description -n %{goname1}-devel
[…]
%files -n %{goname1}-devel -f %{goname1}.file-list
See also the xref:Golang_advanced.adoc#_dealing_with_cyclic_dependencies[Dealing with cyclic dependencies] chapter. Katso myös luku xref:Golang_advanced.adoc#_dealing_with_cyclic_dependencies[Syklisten riippuvuuksien käsittely].
Do remember that for Go, each directory is a package. Never separate the .go files contained in a single directory in different packages. Muista, että Go:lle jokainen hakemisto on paketti. Älä koskaan laita yhdessä hakemistossa olevia .go-tiedostoja eri paketteihin.