-
Notifications
You must be signed in to change notification settings - Fork 222
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
Added the possibility to use Alpine as OS #438
base: master
Are you sure you want to change the base?
Conversation
@redvex2460 Thanks for your work on adding support for Alpine to FOG. Are you willing to maintain this part of the FOG installer as well? The current developer team is small and busy and we can't afford the time to maintain another distro on top. The |
I've been working on adding this too the working-1.6 branch of course. I'm making a slight difference in the web server stuff in that I'm attempting to add a feature allowing nginx or apache. So I'm generalizing the webserver a bit more than how this PR is attempting. |
@redvex2460 I am still wondering if we should make this part of the code. There were discussions on dropping OS support in the forums. Don't get me wrong, I don't fancy throwing away your great work on adding Alpine OS support to FOG. But we do need people to keep up with the OS support and we ask you to help with it as you brought this up here. If we don't hear from you within the next two weeks we'll close this pull request unsolved and remove what was added to |
hey @Sebastian-Roth I don't know what it's used to be a maintainer for features. |
@redvex2460 said:
I can't tell you that either. It mostly depends on how many changes in package names and possibly default config changes (just thinking about some service we use in FOG based on default config that could break if Alpine changes things - we had that with vsftpd and isc-dhcp in other distros in the past) Alpine OS does. I don't know the package naming schema of Aline OS yet. Doing a quick search on the package that is causing the most trouble with other distros - PHP - it seems like Alpine OS only uses one name for PHP7 and PHP8 each. Is that correct? That'd be pretty easy compared to Debian/Ubuntu where we have php7.0, php7.2, php7.4, php8.0. As well Alpine OS uses subpackages to organize all the different PHP modules (like php-curl). Not sure if that is easy and stable to use or changed a lot? All in all keeping up with supporting an OS in FOG is just keeping up with the changes. So whenever a new Alpine OS release is on the door step you'd do a FOG install using the latest
Each and every FOG developer is working on this in her/his private time - beside jobs and family.
Just sticking around and being responsive would be enough for now. As Tom added your changes to the |
@redvex2460 Welcome aboard, great to have you with us. Don't worry, there is no big asks or anything with it. |
@redvex2460 I started to look into adding this to |
Im on it, cloned dev-branch and will test and rework script. |
@redvex2460 I am sorry, I phrased this the wrong way. I was hoping to include your changes into Not sure if you are aware of issue #447 - we plan to remove ARCH support now as there is no one working on this part. So my plan is to reuse the osid 3 for Alpine now. Worked on this a bit more and pushed some changes: 8950b7b Though there are still some major issues:
|
tbh, wouldn´t it be a better aproach to split that installscripts into seperate parts? |
Well, I am sure there is a lot that needs improving throughout the whole installer scripts. But who's gonna re-work all that? Those scripts have evolved over roughly ten years with several different people adding and adjusting code. So in fact it's all a bit of a mess if you start looking into the details. But it's currently working and the current dev team can't afford the time to re-work the scripts just now. I am just trying to get Alpine included and not break the installer for all the other distros. |
I reworked my part at around 30% for now with the approach to override that single parts of the installer like the part where it setup mysql.
Am 10.03.2022 19:29 schrieb Sebastian-Roth ***@***.***>:
tbh, wouldn´t it be a better aproach to split that installscripts into seperate parts?
Like user is selecting which OS he's using, after that it would load that functions.sh from that corresponding folder.
Well, I am sure there is a lot that needs improving throughout the whole installer scripts. But who's gonna re-work all that? Those scripts have evolved over roughly ten years with several different people adding and adjusting code. So in fact it's all a bit of a mess if you start looking into the details. But it's currently working and the current dev team can't afford the time to re-work the scripts just now. I am just trying to get Alpine included and not break the installer for all the other distros.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were mentioned. Message ID: ***@***.***>
|
something like: ./fogproject/lib/common/functions.sh
doOSSpecificIncludes() {
echo
case $osid in
1)
echo -e "\n\n Starting Redhat based Installation\n\n"
osname="Redhat"
. ../lib/redhat/config.sh
;;
2)
echo -e "\n\n Starting Debian based Installation\n\n"
osname="Debian"
. ../lib/ubuntu/config.sh
;;
3)
echo -e "\n\n Starting Arch Installation\n\n"
osname="Arch"
. ../lib/arch/config.sh
systemctl="yes"
;;
4)
echo -e "\n\n Starting Alpine Installation\n\n"
osname="Alpine"
. ../lib/alpine/config.sh
. ../lib/alpine/functions.sh
;;
*)
echo -e " Sorry, answer not recognized\n\n"
sleep 2
osid=""
;; ../lib/alpine/functions.sh
configureHttpd() {
/// New Code
} |
@redvex2460 While I can see your point I think it's making things just worse. Masking functions will make it even harder to understand how things work together I find. Also it means duplicating a fair amount of code in several files. |
tbh I`ve done my complete work like this now, and its working flawlessly. I normaly coding c# so it should be OOP functions.sh could be like an interface and other scripts would override that functions. |
Thanks for your effort on this. Unfortunately I can't add this code as is:
|
I guess you have not tried it because that installscript now works flawless, that duplicate of code should be the right way to rework that installscript, you source already that config.sh All problems of your last post are gone with that new version. Except that osid and true I branched from master because you added some alpine logic already to working1. 6 |
Tbh, i think splitting up the script into different parts improves readability by alot, with minimal one time work that needs to be put into it. Other than that, i like this pr, would be great, if it could get merged. |
@Joly0 Will you assist in changing the installer for all the other distros supported as well as testing it? It's not wise to split the scripts up only for one supported distro but leave the rest as is. It will be just a huge mess and not improve anything. Before we can think about merging this PR it will need to be made against |
Sry for not answering so long. I would assist in testing. I am using his alpine docker for a long while now and it works great so far so i would definitly help in testing this. But as i am not as skilled in bash scripting as i am with powershell scripting, i probably couldnt help alot in rewriting this, but i could still try and help. |
But another thing i had recently in my powershell world is a similiar case like this. I had a huge script that was hardly readable with different tasks and i did split it up into different scripts to improve maintainance and readability. Was a one time task and alot of work, but it was worth it. Isnt quite like this case here. I did not have to deal with different operating systems and such things, but imo it helps to split things up if its useful like here. One script should be for one "distro". We could write simple guidelines on how to write, style and format the scripts and could let them it do it their way. Thats just my view on this one, but i still have the same opinion as last year, that this is a good idea to do. Alot of work for sure, but i think it will be worth it |
2023-12-07: Alpine 3.19.0 released: |
Tested in a alpine-docker