📜 ⬆️ ⬇️

We give the project in good hands



Good day, dear users of Habr! I would like to share with you my feelings about one project and pass it on to good hands.

For several years I have been building RPM packages for CentOS and running my publicly available CentALT package repository , I was constantly faced with the same problem. Many users asked to include a package with mutually exclusive options in the assembly, the argumentation could be different, but the fact was the case.

Reasoning on this topic, I came to the conclusion that it is not possible to solve it within one repository, i.e. Each user must be given the opportunity to self-select the build options and, at the output, get a ready-made RPM package with the options and modules they need.
')
After discussing this topic with Komrad Wendor , we estimated that the project would be in demand and useful to people. Having pondered the venture and having estimated the technical part, with the words “G… oh question, let's do it.” We started to work. To be honest, Wendor set to work, and all the time I was preventing him from giving his "valuable" advice.

In the project, we laid a very simple philosophy - “Build your repository”. The user could select the packages he needs, with the modules he needs, and get a link to the ready-to-use repository at the output. When updating a package, it would automatically rebuild for all user repositories. The plans were to add the opportunity to write down my own config in the package. We enthusiastically imagined how it would be convenient to update the server park directly from the repository.

Two days later, the service was written by Anton from and to (though he is also an admin, but a little kodit). To begin with, we decided to build the nginx package, debug the entire system on it, and then start adding others. Having corrected the Nginx SRPMS package, I added options to the database that I could choose during the build. Voila - the service has earned, at the output we received an RPM package for the required OS (CentOS5 / CentOS 6) with the assembly options we need. We added about 50 third-party modules for Nginx to the list of options and in 95% percent of cases the build was successful. The remaining 5% were cases when we chose incompatible options like “disable support for http” and, for example, “support gzip”. All kinds of forks and Nginx modifications have been made to the system, and now you can assemble the following packages:


Having played with the assembly, we realized that the two of us on the bare enthusiasm to drag such a project and develop it we would not succeed. The project was abandoned for a couple of months "until better times." Time flew, and things are there.

In the end, we decided that we would not be able to work on the project anymore. Today we made a decision to give all the project's work in good hands.

If there are people willing to support this undertaking, we will be happy to explain and show you how to deploy the whole build system from scratch to them and transfer all the source codes.

Monetization. An interested reader will say, “Where is the money Zin? (with)". See simple and transparent schemes of monetization of the service:
  1. Put a restriction for free accounts in 5 packages in the repository.
  2. In paid accounts, add the ability to build with rare, but necessary modules, for example, passenger for Nginx.
  3. You can limit updates on free accounts.


Link to the working service http://repobuild.com/ .
For those who do not want to register:
username: user
password: user

Create a repository, add packages, select options to build the selected packages.




We are waiting for the package to get together and get a link to the repository.


If the build is unsuccessful, then we are looking for where in the options we’ve messed up (unfortunately, not all mutually exclusive options are listed yet).

Something like that. If you want to continue our business, we ask you to respond.

Source: https://habr.com/ru/post/195742/


All Articles