add option to delete overlays partly if needed #191

Closed
opened 2016-02-28 14:34:02 +00:00 by philm · 23 comments
philm commented 2016-02-28 14:34:02 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

Sometimes you have to redo some steps like live-session build or you missed some in custom-image step. It would be great to have a simple option to do it without deleting the folders manually. Rebuild will be done with -c switch as usual.

*Created by: philmmanjaro* Sometimes you have to redo some steps like **live-session** build or you missed some in **custom-image** step. It would be great to have a simple option to do it without deleting the folders manually. Rebuild will be done with **-c** switch as usual.
philm commented 2016-02-28 16:57:50 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

How do you propose the file to delete is selected?
I am not sure if the effort is worth it, instead of rm foo.file.
Just saying, we shouldn't put too many options in there.

*Created by: udeved* How do you propose the file to delete is selected? I am not sure if the effort is worth it, instead of rm foo.file. Just saying, we shouldn't put too many options in there.
philm commented 2016-05-11 10:02:06 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

Well you could always just have a -R option and use a find statement to find the folders.

#!/usr/bin/env bash

rmdirs() {
  unset -v finddirs
  for dir in "$@"
  do
    if [[ "$finddirs" = "" ]]
    then
      finddirs=("\(" "-name" "$dir")
    else
      finddirs+=("-o" "-name" "$dir")
    fi
  done
  finddirs+=("\)") 
  eval find ./ -type d "${finddirs[@]}" -exec rm -r {} +
}
$ mkdir one two three
$ ls
code  one  three  two
$ . ./code
$ rmdirs one two three
$ ls
code

This works with nested stuff too.

$ mkdir -p  build/{one,two,three}
$ tree
.
├── build
│   ├── one
│   ├── three
│   └── two
└── code
$ rmdirs one two three
$ tree
.
├── build
└── code
*Created by: edge226* Well you could always just have a -R <folder> option and use a find statement to find the folders. ``` #!/usr/bin/env bash rmdirs() { unset -v finddirs for dir in "$@" do if [[ "$finddirs" = "" ]] then finddirs=("\(" "-name" "$dir") else finddirs+=("-o" "-name" "$dir") fi done finddirs+=("\)") eval find ./ -type d "${finddirs[@]}" -exec rm -r {} + } ``` ``` $ mkdir one two three $ ls code one three two $ . ./code $ rmdirs one two three $ ls code ``` This works with nested stuff too. ``` $ mkdir -p build/{one,two,three} $ tree . ├── build │   ├── one │   ├── three │   └── two └── code $ rmdirs one two three $ tree . ├── build └── code ```
philm commented 2016-05-22 18:14:52 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

I asked how to select the image routine in cli that should be rebuilt, not about how to implement it.

In my view, its trivial to manually delete the file in $work_dir, and probably not worth the effort to implement a switch that needs optional path arg.

Other than that, a delete option could probably work by indexing the steps and to select the index.
How feasible is that, if we release it community? You got to know the index. @philmmanjaro

*Created by: udeved* I asked how to select the image routine in cli that should be rebuilt, not about how to implement it. In my view, its trivial to manually delete the file in $work_dir, and probably not worth the effort to implement a switch that needs optional path arg. Other than that, a delete option could probably work by indexing the steps and to select the index. How feasible is that, if we release it community? You got to know the index. @philmmanjaro
philm commented 2016-05-22 20:35:14 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

The index is already there. I write them when successfully passed: build.x. We simply have to delete that folder which exist without the build.x file. If all folders exist and we have all the build.x files for them, we can create a dialog to select which folder should be deleted. But yes, the effort and deleting it manually might not make much sense ...

*Created by: philmmanjaro* The index is already there. I write them when successfully passed: **build.x**. We simply have to delete that folder which exist without the **build.x** file. If all folders exist and we have all the **build.x** files for them, we can create a dialog to select which folder should be deleted. But yes, the effort and deleting it manually might not make much sense ...
philm commented 2016-05-22 20:41:26 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

So we create subdirs in $workdir? Probably no good idea.
I don't like this to be honest.
We could write the index files to /tmp instead, and create sub dirs there?

*Created by: udeved* So we create subdirs in $workdir? Probably no good idea. I don't like this to be honest. We could write the index files to /tmp instead, and create sub dirs there?
philm commented 2016-05-22 20:52:25 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

What I mean

buildiso -e build.make_image_mhwd

no cool

better

buildiso -e mhwd,boot

Where /tmp/buildiso/ holds the lock files.

*Created by: udeved* What I mean ``` buildiso -e build.make_image_mhwd ``` no cool better ``` buildiso -e mhwd,boot ``` Where /tmp/buildiso/ holds the lock files.
philm commented 2016-05-22 21:37:31 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

I think you didn't read my code at all. These are files created by touch:
https://github.com/manjaro/manjaro-tools/blob/master/lib/util-iso.sh#L197
https://github.com/manjaro/manjaro-tools/blob/master/lib/util-iso.sh#L211

so the folder is ${work_dir}/root-image and the index file is ${work_dir}/build.make_image_root

*Created by: philmmanjaro* I think you didn't read my code at all. These are files created by touch: https://github.com/manjaro/manjaro-tools/blob/master/lib/util-iso.sh#L197 https://github.com/manjaro/manjaro-tools/blob/master/lib/util-iso.sh#L211 so the folder is `${work_dir}/root-image` and the index file is `${work_dir}/build.make_image_root`
philm commented 2016-05-22 22:06:32 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Yes, I fully understood and know that.
So you want to specify the full name eg build.make_image_root?

Give me an example how you envision to use buildiso with args for that.

*Created by: udeved* Yes, I fully understood and know that. So you want to specify the full name eg build.make_image_root? Give me an example how you envision to use buildiso with args for that.
philm commented 2016-05-22 22:07:36 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

We wouldn't take this long in german btw 😈

*Created by: udeved* We wouldn't take this long in german btw :smiling_imp:
philm commented 2016-05-22 22:44:42 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

@udeved No, you did not. You asked for a proposal and I proposed one. You're lack of respect has lost you my advice for this project as a whole. I've got more important tasks to do than to waste time on your little mess you've got here.

@philmmanjaro should have had the marbles to say, "Your code is not working correctly, You're acting like a little dictator, Your code is being pulled.". < This is what you honestly deserve @udeved Artoo because of your lack of listening and actively trying to attack people who are HELPING you within the community.

I wish you luck because with your poor attitude towards those willing to assist you, you're going to need it. This poor attitude unfortunately is not only shown by @udeved as I've encountered similar from many of the Manjaro team.

*Created by: edge226* @udeved No, you did not. You asked for a proposal and I proposed one. You're lack of respect has lost you my advice for this project as a whole. I've got more important tasks to do than to waste time on your little mess you've got here. @philmmanjaro should have had the marbles to say, "Your code is not working correctly, You're acting like a little dictator, Your code is being pulled.". < This is what you honestly deserve @udeved Artoo because of your lack of listening and actively trying to attack people who are HELPING you within the community. I wish you luck because with your poor attitude towards those willing to assist you, you're going to need it. This poor attitude unfortunately is not only shown by @udeved as I've encountered similar from many of the Manjaro team.
philm commented 2016-05-22 22:54:52 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Respect is to be earned.
Didn't go well with a half baked report on a automated analysis tool you didn't use properly.
Let alone you said yourself you did not look at any code.
Enough said here.

*Created by: udeved* Respect is to be earned. Didn't go well with a half baked report on a automated analysis tool you didn't use properly. Let alone you said yourself you did not look at any code. Enough said here.
philm commented 2016-05-22 22:59:49 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

@udeved I didnt say I didnt look at any of the code, How the hell would I point you exactly a line if I didnt? I said I didnt examine and review in order to understand your spegetti code. I also showed you my code base that BUILDS AN OPERATING SYSTEM and is 2700 lines currently. How many lines is this tool? Over 8k lines and it ONLY builds an ISO.

Had you reviewed my code you would have realized that none of my code suffers from the vulnerabilities your code does... My objective was simply to let you know the tool exists to fix your code and this is how you thank people who give you advice?

Even giants fall. Shitty tools created by you will make this distro fall. You almost had Spatry drop your distro once... You should know who is who and who has done what before you start stating I've not earned respect.

Go port manjaro to chromebook, Port manjaro to docker. I had 0 help from anyone from the Manjaro team. Do some real work that was not already done before and you will gain my respect. I've done these tasks, You have not.

Are we clear here who actually has more experience doing these things?

*Created by: edge226* @udeved I didnt say I didnt look at any of the code, How the hell would I point you exactly a line if I didnt? I said I didnt examine and review in order to understand your spegetti code. I also showed you my code base that **BUILDS AN OPERATING SYSTEM** and is 2700 lines currently. How many lines is this tool? Over 8k lines and it **ONLY builds an ISO**. Had you reviewed my code you would have realized that none of my code suffers from the vulnerabilities your code does... My objective was simply to let you know the tool exists to fix your code and this is how you thank people who give you advice? Even giants fall. Shitty tools created by you will make this distro fall. You almost had Spatry drop your distro once... You should know who is who and who has done what before you start stating I've not earned respect. Go port manjaro to chromebook, Port manjaro to docker. I had 0 help from anyone from the Manjaro team. Do some real work that was not already done before and you will gain my respect. I've done these tasks, **You have not**. Are we clear here who actually has more experience doing these things?
philm commented 2016-05-22 23:01:20 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Do you want a dick measuring contest? Go away and don't troll this issue here.

*Created by: udeved* Do you want a dick measuring contest? Go away and don't troll this issue here.
philm commented 2016-05-22 23:06:07 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

@udeved I am a community member and you're a member of staff that is meaning to drag Manjaro through the ground, I'm not happy about it and I have ever right to say so. Do not want me to tell you the truth about your development? Start developing good tools instead of tools that do not work and replacing good tools with tools that do not work.

Do not ask for assistance and then jump on the person that did. You're really making Manjaro look bad. I hope you realize that because I actually have promoted Manjaro on Spatry's podcast. I'm one of the people with a HELL of a lot more of a VOICE than you.

But hey your just some peasant who didnt realize how important Spatry was in the first comment you started BS on.

*Created by: edge226* @udeved I am a community member and you're a member of staff that is meaning to drag Manjaro through the ground, I'm not happy about it and I have ever right to say so. Do not want me to tell you the truth about your development? Start developing good tools instead of tools that do not work and replacing good tools with tools that do not work. Do not ask for assistance and then jump on the person that did. You're really making Manjaro look bad. I hope you realize that because I actually have promoted Manjaro on Spatry's podcast. I'm one of the people with a HELL of a lot more of a VOICE than you. But hey your just some peasant who didnt realize how important Spatry was in the first comment you started BS on.
philm commented 2016-05-22 23:09:17 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

What is your freaking point? You troll our issue system.
Tools work fine, docker containers likely do not work with aufs or overlayfs we use for iso assembling.

*Created by: udeved* What is your freaking point? You troll our issue system. Tools work fine, docker containers likely do not work with aufs or overlayfs we use for iso assembling.
philm commented 2016-05-22 23:16:23 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

I found the resources on how to use aufs and overlayfs with docker. It is entirely your code that is broken. I even linked resources and gave you examples. If you call trying to be collaborative its not called trolling. Your saying it is trolling because You write poorly written code and do not debug as you go, Leaving a whole giant mess that wouldnt exist if you cleaned up as you went or knew how. Which I showed you how.

You guys Need to be at the point where everything is automated. Guess what... Everything is automated in my build system, Everything.

Had you not acted like you know more than me... Maybe this would be knowledge you would have too. At least a lot faster than what you're doing now.

Good Luck @udeved Troll, For everyone I've shown these posts to have come to dislike you because you're an unreasonable dev and they know what I'm building/have built already.

*Created by: edge226* I found the resources on how to use aufs and overlayfs with docker. It is entirely your code that is broken. I even linked resources and gave you examples. If you call trying to be collaborative its not called trolling. Your saying it is trolling because **You** write poorly written code and do not debug as you go, Leaving a whole giant mess that wouldnt exist if you cleaned up as you went or knew how. Which I showed you how. You guys **Need** to be at the point where everything is automated. Guess what... Everything is automated in my build system, Everything. Had you not acted like you know more than me... Maybe this would be knowledge you would have too. At least a lot faster than what you're doing now. Good Luck @udeved Troll, For everyone I've shown these posts to have come to dislike you because you're an unreasonable dev and they know what I'm building/have built already.
philm commented 2016-05-22 23:21:12 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Go away, and don't ever try to blackmail with threatening to pour smud on YT whatever.
This issue is about how to use buildiso from cli to delete a lock file.

*Created by: udeved* Go away, and don't ever try to blackmail with threatening to pour smud on YT whatever. This issue is about how to use buildiso from cli to delete a lock file.
philm commented 2016-05-22 23:24:06 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

@udeved When something need to happen I state it. I'm trying to HELP you in behalf of Spatry to get his work done and YOU seem to want to stand in the way. All I did was provide example code. That is NOT trolling. AFAIK anyone who attemps to put input on this tool gets you acting like this towards them.

So the real question is and I honestly want to hear @philmmanjaro answer to this: How many people have tried to help with this tool and have been pushed out due to @udeved poor attitude?

*Created by: edge226* @udeved When something need to happen I state it. I'm trying to HELP you in behalf of Spatry to get his work done and **YOU** seem to want to stand in the way. All I did was provide example code. That is **NOT** trolling. AFAIK anyone who attemps to put input on this tool gets you acting like this towards them. So the real question is and I honestly want to hear @philmmanjaro answer to this: How many people have tried to help with this tool and have been pushed out due to @udeved poor attitude?
philm commented 2016-05-22 23:28:13 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

I started these tools, and transferred ownership to manjaro.
You perhaps want to try defunct manjaroiso?

*Created by: udeved* I started these tools, and transferred ownership to manjaro. You perhaps want to try defunct manjaroiso?
philm commented 2016-05-22 23:33:59 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

At least when I did my build on manjaroiso it worked. I've tried this on a VM and on hardware and not once had it working.

I used to do a spin and I still have people ask me to recreate it. @philmmanjaro Even asked me to have it as an official spin due to the quality of it.

Honestly what you should have done is had a upgrade/conversion program for peoples profiles that used manjaroiso that changed the layout of the files prior to even creating this tool.

Honestly if manjaroiso still worked as I said in the other thread I would test on them instead, But those tools have entirely been replaced in the repos and I'd have to do a whole bunch of work to even Test whether that works in docker or not.

Honestly the encapsulation was needed when you created it, Now if docker can serve this purpose that completely invalidates the reason for this tools creation in the first place.

You do not need aufs/overlayfs to encapsulate data if its already being done by another tool that already uses these tools.

*Created by: edge226* At least when I did my build on manjaroiso it worked. I've tried this on a VM and on hardware and not once had it working. I used to do a spin and I still have people ask me to recreate it. @philmmanjaro Even asked me to have it as an official spin due to the quality of it. Honestly what you should have done is had a upgrade/conversion program for peoples profiles that used manjaroiso that changed the layout of the files prior to even creating this tool. Honestly if manjaroiso still worked as I said in the other thread I would test on them instead, But those tools have entirely been replaced in the repos and I'd have to do a whole bunch of work to even **Test** whether that works in docker or not. Honestly the encapsulation was needed when you created it, Now if docker can serve this purpose that completely invalidates the reason for this tools creation in the first place. You do not need aufs/overlayfs to encapsulate data if its already being done by another tool that already uses these tools.
philm commented 2016-05-22 23:37:25 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: udeved

Fell free to fork if you are unhappy, and don't further post irrelevant stuff to the issue opened.
This is not facebook, its our issue and bugtracking.

*Created by: udeved* Fell free to fork if you are unhappy, and don't further post irrelevant stuff to the issue opened. This is not facebook, its our issue and bugtracking.
philm commented 2016-05-23 06:14:20 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: philmmanjaro

@edge226: Please calm down a little. You already posted your thread https://github.com/manjaro/manjaro-tools/issues/213 on using shellcheck. We will take a look on it for sure. However we can't always drive in cycles here with arguing with you about how bad our present code might be. To review the whole code shellcheck is a great tool. However it doesn't know the code and might give you false positives. Some of the basics however we can fix.

So if you have optimized code with shorter lines doing the same, feel free to share it with us. After a review we might even use it. As of now it is what it is. We are also in direct contact with Spatry. If he has a problem or issue we fix it in high priority, as we know how important his work is for the Manjaro community.

manjaro-tools not only builds the ISOs, it also builds our PKGs and provides us the chroots. We wrote it as binary and libraries. We have functions for each task and source these files.

manjaroiso on the other hand was just a one big bash script I had coded many years before. Again you posted your suggestion on how to find a folder and even delete it. Thx for that.

However we have to find out if my suggestion to delete an overlay is worth to put some automatisation behind it or not. I know when I found an issue and need to rebuild one of the overlay parts again, without deleting all those I created before on how to do it manually. My suggestion was only to have options for people not knowing that feature also been able to do that. I don't need that function at all as I know how my old ported manjaroiso code works. Also most of the code of manjaro-tools is the old one just rearranged.

So if you have code on how to run Manjaro on docker or on a Chromebook, it is excellent and good to know. Please link your work and I review it.

*Created by: philmmanjaro* @edge226: Please calm down a little. You already posted your thread https://github.com/manjaro/manjaro-tools/issues/213 on using `shellcheck`. We will take a look on it for sure. However we can't always drive in cycles here with arguing with you about how bad our present code might be. To review the whole code `shellcheck` is a great tool. However it doesn't know the code and might give you false positives. Some of the basics however we can fix. So if you have optimized code with shorter lines doing the same, feel free to share it with us. After a review we might even use it. As of now it is what it is. We are also in direct contact with Spatry. If he has a problem or issue we fix it in high priority, as we know how important his work is for the Manjaro community. **manjaro-tools** not only builds the ISOs, it also builds our PKGs and provides us the chroots. We wrote it as binary and libraries. We have functions for each task and source these files. **manjaroiso** on the other hand was just a one big **bash script** I had coded many years before. Again you posted your suggestion on how to find a folder and even delete it. Thx for that. However we have to find out if my suggestion to delete an overlay is worth to put some automatisation behind it or not. I know when I found an issue and need to rebuild one of the overlay parts again, without deleting all those I created before on how to do it manually. My suggestion was only to have options for people not knowing that feature also been able to do that. I don't need that function at all as I know how my old ported **manjaroiso** code works. Also most of the code of **manjaro-tools** is the old one just rearranged. So if you have code on how to run Manjaro on docker or on a Chromebook, it is excellent and good to know. Please link your work and I review it.
philm commented 2016-05-23 07:56:22 +00:00 (Migrated from gitlab2.manjaro.org)

Created by: edge226

@philmmanjaro Thank you for your response. It was a response with decent attitude and not an attack which was what I wanted. The Chromebook stuff is long passed. The docker stuff was posted on the old Forum a few days before it switched and was linked in #212

*Created by: edge226* @philmmanjaro Thank you for your response. It was a response with decent attitude and not an attack which was what I wanted. The Chromebook stuff is long passed. The docker stuff was posted on the old Forum a few days before it switched and was linked in #212
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
tools/manjaro-tools#191
No description provided.