Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restructure repository #298

Open
Werni2A opened this issue Apr 7, 2021 · 4 comments
Open

Restructure repository #298

Werni2A opened this issue Apr 7, 2021 · 4 comments

Comments

@Werni2A
Copy link
Contributor

Werni2A commented Apr 7, 2021

@gkovacs First of all thanks for the merge of the CMake PR.

There are a few more changes I would like to make to the repository's structure.

I imagine something like this:

  • src
    • cpp/hpp files
  • build_scripts
  • utils
    • All the precompiled executables
  • images
  • translation
    • po
    • ts
      • All the *.ts files but maybe they can be automatically generated from *.po? I'm not familiar how the translation files are generated and from which files they are derived.

What do you think about this proposal?

@gkovacs
Copy link
Member

gkovacs commented Apr 9, 2021

With regards to the translation files, the *.ts files are generated from the *.po files. They are generated by the mktsfiles script at https://github.com/unetbootin/unetbootin/blob/master/src/unetbootin/mktsfiles which uses the lconvert tool from QT

The translations are imported from launchpad translations https://translations.launchpad.net/unetbootin via the script lpimport at https://github.com/unetbootin/unetbootin/blob/master/src/unetbootin/lpimport

The main reason I haven't ever modified the repository structure is that I was worried it might break third party distro packaging scripts that I don't maintain - like the script that generate the Arch Linux package at https://aur.archlinux.org/packages/unetbootin/ or the Gentoo package at https://packages.gentoo.org/packages/sys-boot/unetbootin or the debian package I maintain at https://github.com/unetbootin/unetbootin-debian

There are also third-party tool integrations that might break if the repository structure changes - for example, the Launchpad Translations integration that automatically imports the translation template files from git whenever there are new translatable strings - which I set up years ago and have forgotten how to update them if the repository structure changes.

@gkovacs
Copy link
Member

gkovacs commented Apr 9, 2021

But if you're willing to test and fix whatever third-party build scripts and integrations might break from changing the repository structure then go ahead, I can give you access to the project's launchpad translations and transifex projects, I think those are the only third-party integrations I use that depend on the git repository structure

@Werni2A
Copy link
Contributor Author

Werni2A commented Apr 9, 2021

Thanks for the explanation, I haven't thought about the OS packaging. I will take a look at it maybe it's not too much effort to adjust the packaging scripts. So for now I will leave the structure as is, therefore I don't need access to the project at the moment. I will make some noise again if I have a plan how to address the packaging.

As next step I give it a try to pull the new launchpad translations and convert them to *.ts from within the CI.

@gkovacs
Copy link
Member

gkovacs commented Apr 9, 2021

If you restructure the repository you'll have to update build-src as well, which generates the tar.gz source files that the distro packaging uses https://github.com/unetbootin/unetbootin/blob/master/src/unetbootin/build-src

TBH I think it's probably more effort than whatever benefit will be gained from it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants