Wanna start contributing code? Ask your question here

If you wanna start contributing code to Trisquel project, you can ask your question here. I will try to regularly check this thread to answer your questions about Package Helpers, git, or anything related.

Im sure there are many flaws with these steps, but I think this process is worth defining so that the average person can understand how to help. It may be true that only elite developers can contribute, but I think this is probably not true as people when given a chance grow and improve in their skills when empowered.

As far as I know: 3, 4, and 5 are made through the scripts at the
package-helpers repository.

Also, decisions on 4 are based on:

- Which package needs to be rebranded?

- Which has a bug filled for which only Trisquel project can solve? I
said "only" because sometimes upstream (Ubuntu) has it too, so in
these cases, it's best to ask upstream to solve it first, and possibly
implement a temporary fix in Trisquel.

- Which package has an issue against GNU Free System Distribution
Guidelines (GNU FSDG)? These are generally listed at
[[https://libreplanet.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines]],
and additions to this list must be discussed and confirmed with
[[https://lists.nongnu.org/mailman/listinfo/gnu-linux-libre]] or with
RMS.

- There might exist other basis for decision for 4, but I'm not aware of
it right now, because it's been sometime since I last contributed
directly to the development of Trisquel, although I do remain in the
forums for user support and discussion.

What is the reason why package helpers are needed? From my point of view, Trisquel has all Ubuntu packages. In what ways specifically, perhaps with at least one example does a Bash script help with processing a package? Is it to clean the package of non-free files/code?

Im a beginner to intermediate coder and have never worked on a GNU/Linux based project or distro, so I don't fundamentally understand, in a human sense why package helpers are the way to help with Trisquel. What problem does it solve?

That could be one reason, yes. There is a package helper to turn Firefox into Abrowser for example. But the overall thing you seem to be missing is that Trisquel is not an exact copy of Ubuntu. It's not even "Ubuntu without the non-free bits." They also packaged up their own software that isn't available in Ubuntu (like the ath9k HTC firmware, which Ubuntu still does not have) and etc. And so, Package Helpers are the generic facility for accomplishing the generic task to "take software from somewhere (because Helpers can grab thing from anywhere, not just Ubuntu) and do whatever things are necessary to it so that it's in an appropriate condition to include in Trisquel."That *could* be to remove non-free bits, or perhaps to make privacy improvements, or perhaps to make technical changes so that the program works better in the Trisquel environment. Thus, the Package Helpers provide automation so that you don't have to keep making whatever those changes are over and over, every time the program is updated due to a new version.

And as I said in the other thread: Because automation is good. Packages from Ubuntu need modifying for various reasons. Would you rather keep making those changes to that same package over and over (i.e., every time it gets updated in Ubuntu due to, say, security fixes or whatever) or would you rather work on a program one time that is capable of making those changes for you? The only work that needs doing in the future is to fix the Helper if/when it needs it. This is less work in the long run. Automation for the win! :)

(The last time i used T8 i noticed that, but other fonctionilities where missing too such as "console environnement"but there was the APACHE, MySQL, PHP where available in the repos..note that Ubiquity was not yet "polished" so this is maybe an explanation, may you check the repo, package for GLAMP stack )

Hi Mangy Dog.
========
EDIT:
>i think you mentioned GLAMP Stack somewhere no ?
Yes, https://trisquel.info/es/forum/help-modify-package
========
I can install GLAMP server without tasksel, but I think that using tasksel the users can install it in one step.

> I don't understand how can I add webserice in this file.
You don't need to add the webservice to this file. 1. check if everything is OK upstream (in this case Ubuntu 16.04) and 2. find out which line has caused the problem 3. revert the changes in the package helper or modify it.

1. after cloning the source code, they have been built on Trisquel servers. but sometimes Trisquel wants to change non-free suggestions or when ubuntu is mentioned and Trisquel does not want them. (*NOT* all Ubuntu mentions will be erased, only some of them which the user interacts with them)

1.0 the changes Trisquel wants to apply on packages is done by 'package helpers', so we can automate the process and build packages automatically on servers using Jenkins.

I want to try to package the open-ath9k-htc-firmware package from Debian for Trisquel 8, but I can't get pbuilder to create a flidas-based build environment because openjdk-7-jre is missing from the apt repos. Is there a way around this requirement, or should I use a belenos-based build environment instead?

I think I found the issue. The pbuilderrc file in the trisquel-builder source code is configured to build a belenos environment. I had manually changed some of the code to build a flidas environment instead, but openjdk-7-jre was still in the EXTRAPACKAGES variable in my pbuilderrc file.

The following packages have unmet dependencies:
cdbs : Depends: dh-translations but it is not going to be installed
gnome-pkg-tools : Depends: dh-translations but it is not going to be installed
openjdk-8-jre : Depends: openjdk-8-jre-headless (= 8u121-b13-0ubuntu1.16.04.2) but it is not going to be installed
python3-distutils-extra : Depends: intltool but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

It turned out that I could add the packages mentioned by "Depends: " by manually adding them to EXTRA_PACKAGES in my pbuilderrc file. I did that until it stopped working, so now I have "Package 'aptitude' is not installed, so not removed
Package ca-certificates is not available, but is referred to by another package."

Hello everybody.
Hello Salman.
I know a fair of c programming language, but I am practising and studying more on the advance concepts of this language that I miss.
how can I contribute with code using C programming language in the Trisquel project that I Love so much?
Thanks in advance and a big hug full of love to all the community.

Well thanks for the response. I think the next logical question is:
what programming language do we need to know if we want to collaborate with the trisquel project in terms of programming language code.
Thanks in advance, I will wait eagerly for this particular answer.
Hugs!

i notice you say you have left "the project" - are you saying you are no longer a trisquel developer?

from what i see, you have been the one holding the dev team together for some time and the only one i have seen to offer mentoring for newcomers

so as it would seem there is a large barrier to entry for anyone new wanting to help out with trisquel, there are some obvious questions to be raised

* what does this mean for newcomers - will you still be watching this thread and mentoring?
* who are the active maintainers now?
* is there any project co-ordination (e.g. meetings or task assignments) or is trisquel a sort of loose adhocracy such as parabola?
* the only documented progress or road-map i see is this wiki article - yes? --> https://trisquel.info/en/wiki/flidas-release-issues
* the only other developer-centric documentation i can find is this, which is VERY thin --> https://trisqueldev.salcomputing.com/ - perhaps completing that document would be a good place to start