FORUMS
Remove All Ads from XDA

[Guide-Tool][Linux] Projekt ScriBt v2.2.1 [Build-A-ROM][Newbie-Friendly]

934 posts
Thanks Meter: 1,422
 
By Arvind7352, Senior Member on 19th November 2016, 09:31 AM
Post Reply Email Thread
Announcement from Arvind7352: Introducing Projekt ScriBt -- Android Source Building made understandable

[~] Projekt ScriBt [~]



Projekt ScriBt

Projekt ScriBt, is a Bash Shell Script which helps a Aspiring Developer to build an Android ROM, in an understandable way

Only for Serious students
Umm, you're in Chef Central right ?

It is recommended to view this thread in a Browser (Web/Mobile)

GitHub  Telegram  Wiki  GPLv3 License  Dev-Ongoing

These Badges describe various aspects of this Project.


Please take a read through the Disclaimer before proceeding
[!] About the Guide-Tool

[>] To explain the usage and purpose of every relevant command to the user, in an understandable representation.
[>] Helping the user in understanding any task involved in building a ROM.
[>] Preparing the System for building Android.
[>] To automate the entire process the user has undergone, based on the user responses to complete working with ScriBt. This configuration can also be shared with other people using ScriBt.
[>] It is meant to be a useful Guide, not a Spoon-Feeder (I'd say this as many times as I could) by virtue of it's Interactive Nature.


[!] Special Mention on XDA Portal

ScriBt on XDA Portal

Link to XDA Portal
Thanks XDA-Developers for bringing this thread in the XDA Portal!


[!] ScriBt in Action


Action!



[?] What do I require

1. A Linux PC (with Bash shell) meeting these Requirements
2. Working Internet Connection
3. A Person of Interest (You)
4. Device Sources - The Device, Kernel, and Vendor tree
5. A Guide to help you understand concepts on Android ROM Development
6. Glancing through Post #3 (Glossary and F.A.Q.)
7. Anything Else ?


[!] Supported Distributions

OSes are supported if they're based on Ubuntu/Debian or ArchLinux, so that Installation of Build Dependencies works properly
[>] Ubuntu
[>] Ubuntu's Official / Unofficial Flavors - Kubuntu, Lubuntu, Xubuntu, Builduntu VM, Ubuntu Budgie, etc.
[>] ArchLinux & Distros based on it - Tested on Manjaro Linux, Antergos
[>] Linux Mint
[>] Debian

Other Linux Distributions would be added if reported working by an user.


[!] Usual Sequence of Actions

Each Step is Hyperlinked to it's corresponding Wiki page, take a look.

ToolsInitSyncPre-BuildBuild



[?] Sounds Interest!ng, How shall I get started

Install git before proceeding

Ubuntu 14.xx and Older
Code:
sudo apt-get install git -y
Ubuntu 15.xx and Newer
Code:
sudo apt install git -y
Arch Linux
Code:
sudo pacman -Syu git
1. Open a Terminal and execute this command
Code:
git clone https://github.com/ScriBt/ScriBt -b master <name> && cd <name>;
where <name> is the name of the folder under which ScriBt would be cloned
k
2. Now that you’ve cloned the script, start using it with the usages below...
Code:
[[email protected] scribt]$ bash ROM.sh usage

[!] Usage:

To use ScriBt situated in Current Directory (irrespective of its presence in PATH)

	bash ./ROM.sh (Interactive Usage)
	bash ./ROM.sh automate (Automated Usage)
	bash ./ROM.sh version (For showing Version of ScriBt)
	bash ./ROM.sh usage (To get these usage statements)

To use ScriBt situated in PATH

	bash ROM.sh (Interactive Usage)
	bash ROM.sh automate (Automated Usage)
	bash ROM.sh version (For showing Version of ScriBt)
	bash ROM.sh usage (To get these usage statements)



[!] Credits - Thanks [!]
Projekt ScriBt has come all the way along till here, and many people deserve credits for it...

I'd like to thank...

All the ROM Developers for their Dedication towards Android ROM Development, and Linux Shell Programming

@jackeagle - For his Awesome Guide to build a ROM, an Inspiration!
@Adrian DC - For his Contributions and Support throughout the Entire Development of ScriBt
@nosedive - For adding ArchLinux support to ScriBt
#TeamSanam - For helping and supporting this project with their Experiences
@akhilnarang - For providing Initial support and providing usefulness to ScriBt
@TimSchumi - ScriBt contributor
CCAtAlvis - For ScriBt's Website Development
@CubeDev - For his contribution of showing build completion time
@Araib93 & @STRYDER~007 - For helping out with thread implementation

You users, for supporting and helping out with it's current Development


Several Bash Resources in the Internet

(Links are unordered)

StackOverflow - For being my Teacher

bash.cyberbiti.biz
Linux from Scratch
The Linux Documentation Project
wiki.bash-hackers.org and www.gnu.org for ANSI C Quoting
Ryan's Tutorials - Simple and Useful Bash Resource
Understanding the Working of bash in an OS
LinuxCommand.org
Greg's Wiki
Advancing in the Bash Shell - by samrowe.com

Feel free to add up resources which you may feel useful to others, by posting or PMing me



#HappyScriBting


XDA:DevDB Information
Projekt ScriBt, Tool/Utility for the Chef Central

Contributors
Arvind7352
Source Code: https://github.com/ScriBt/ScriBt


Version Information
Status: Beta
Current Stable Version: v0 (Hello World)
Stable Release Date: 2016-05-07
Current Beta Version: v2.2.1
Beta Release Date: 2017-08-09

Created 2016-11-19
Last Updated 2017-08-15
The Following 151 Users Say Thank You to Arvind7352 For This Useful Post: [ View ] Gift Arvind7352 Ad-Free
 
 
19th November 2016, 09:31 AM |#2  
Arvind7352's Avatar
OP Senior Member
Flag Mumbai
Thanks Meter: 1,422
 
More
Changelog


For every new version released, a commit link is posted that mentions the changes in the new release.
Quote:

ScriBt version 2.1.2 (Current)
Release Post
Changelog

ScriBt version 2.1.1
Release Post
Changelog

ScriBt version 2.1
Release Post
Changelog

Older Versions:

ScriBt version 2.00
Release Post
Changelog

ScriBt v1.89
Release Post
Changelog

[SIZE="2"]ScriBt v1.87
Release Post
Changelog

ScriBt v1.74
Release Post
Changelog

ScriBt v1.67
Changelog

ScriBt v1.64
Changelog

ScriBt v1.63
Compare

ScriBt v1.61 :
32ce2bb

ScriBt v1.60 :
d601fd7 (08/01/17)

2805078 (06/01/17)

ScriBt v1.57 : 32a136e


ScriBt v1.55 :
f6abcd9

c4c05aa

ScriBt v1.52 : 1f066ff

ScriBt 1.45 -> 1.50 :

c89448f

6c0a95c

91ef47b

9f4d5aa

fa128bf

ScriBt v1.44 : 024c43b

ScriBt v1.43 : d13188b

ScriBt v1.42 : 4e8055a

ScriBt v1.41 : 013c87d

ScriBt v1.40 : cbee474

ScriBt v1.39 : 312f192

ScriBt v1.38 : 2d627e0

ScriBt v1.37 : 85d6a15

ScriBt v1.36 : c33b581

ScriBt v1.35 : 53e5eb0

ScriBt v1.34 : 68fab43

ScriBt v1.33 : Initial Public Release, Hello XDA!

v0.01 -> v1.32 - Development Releases

If you want to take a look at ScriBt version 0 (before uploading it to GitHub), it's Here

Status

[!] Future Developments : (no ETAs please)

Quote:

[>] Wiki -> GitHub Pages transition [DONE] - https://scribt.github.io
[>] Command Explanation (Implemented, Under testing) [v2.00+]
[>] Switch to Git Tags for Versioning (under testing) [v2.00+]
[>] Custom Toolchain related Things (Just an Idea, a pretty rough one)
[>] Building Individual Android targets (such as Kernel, Recovery etc.)
[>] RoomService (Custom Manifest) Generator (to be shipped Soon™) [v2.1+]
[>] Share your Ideas if any!

[!] GitHub Organization : https://github.com/ScriBt

[!] Issues on GitHub repo : https://github.com/ScriBt/ScriBt/issues

[!] ScriBt WebPage : https://scribt.github.io
One Stop place for all Information related to ScriBt

[!] Anyone can help in it's development.

[!] Thread Status :

OP would undergo changes [15 August]

[!] Development - Ongoing
v2.2.1 - OKAY
The Following 36 Users Say Thank You to Arvind7352 For This Useful Post: [ View ] Gift Arvind7352 Ad-Free
19th November 2016, 09:31 AM |#3  
Arvind7352's Avatar
OP Senior Member
Flag Mumbai
Thanks Meter: 1,422
 
More
[!] Glossary :


Quote:

[*] AutoBot -> When ScriBt is automated, prompts are answered by this (just-like-that) Bot.

Quote:

[*] shut_my_mouth -> Function which auto-answers the prompts (instead of prompting) when in Automatic Mode

Quote:

[*] [VARIABLE] -> Value of 'Variable' is asked
eg. [BRANCH] -> User is requested to mention the value of branch in place of '[BRANCH]'

[?] F.A.Q. Time [?]


[?] : I'm having an Issue in using ScriBt, some of it's operations aren't working

[>] Provide me the following Details
  • Device Details - Links to Device Sources
  • ROM Details - The ROM Name, Branch of the ROM you're using
  • Location of the Repo/ScriBt from '/' an example for it is /home/arvind/rom/is/here
  • Version of ScriBt you were using (Refer the file VERSION)
  • Output of ScriBt which you feel erroneous/non-working/stuck
I also have my Academic Life to participate on, so have patience after reporting an Issue. Thanks :)

[?] : Why not execute the script with ./ROM.sh OR . ROM.sh OR source ROM.sh

[>] exit command will close the terminal when script is called in that way, bash ROM.sh runs the script in a separate bash shell, so if the exit command is used, it will terminate that shell and not the terminal in which it was executed.

[?] : Why the name ScriBt

[>] ScriBt gives two meanings, "Script" and the Capitalized letters 'S' and 'B' meaning Sync and Build. It's not a Typo :p

[?] : What to do if i find a flaw/issue with ScriBt

[>] If you find any issue while using ScriBt, don't hesitate to mention the issue in the thread and post terminal output under any Paste-service -> hastebin.com / pastebin.com / gist.github.com

The Issue should be only related to the working of ScriBt, and NOT the Build/Sync Errors.

[?] : I am facing 'X' build error, what to do

[>] Most of the Build errors, relevant or irrelevant to your Device are getting solved as time progresses in many of the threads in the Chef-Central.

The most active thread for reporting your Build issues is HERE

Please have patience while asking for a solution to your problem. Meanwhile, you can search for your Error on similar lines on Google, Search XDA, it's likely that the Error has been solved.

[?] : I have a Non-Linux System, What about Me

[>] Install a Linux Distro. Please.

There are Softwares that allows the user to Virtually Boot any Operating System under a running OS environment.

Some of the known Softwares are Oracle VirtualBox (Free) and VMWare Workstation (Paid). Guides to accomplish this task are available in the Internet.

[?] : I don't have what's so called "Device Sources". Where do I get it

[>] Possible ways...

Search the LineageOS GitHub Organization which contains the largest number of Supported Devices.

Next way is by taking help of GitHub search. Search for Device's codename in the GitHub search, it would return a list of Repositories (default behavior) which contain that name in it. If you got some repositories which are Device trees to build android, you've got it!

Next way and the last way is by Googling. Search for Device's keywords (codename, device name).

[?] : Can you add Non-CAF based ROMs

[>] Added, available from ScriBt v1.40

[?] : Can I contribute to ScriBt

[>] Of course, you can! Contributions are always welcome, either in the GitHub repository (staging branch) OR by requesting it in this thread. Functions are added on the basis of usability by the Developers.

[>] After all, ScriBt is open-source, and is licensed under the GNU GPL version 3

[?] : How did ScriBt take place

[>] After gaining knowledge from several compilations, some interesting Bash Resources, and Inspirations from some people, I thought of creating an Interactive Interface which would help the people gain knowledge in an easier way by various explanations, that's how ScriBt took place.

Development started off on 07th May, 2016.

More F.A.Qs will be added as you start using it :D

An Important Note : ScriBt just makes use of various Linux commands which do the actual work, and deliver it in an Interactive Manner to the users :fingers-crossed:
The Following 36 Users Say Thank You to Arvind7352 For This Useful Post: [ View ] Gift Arvind7352 Ad-Free
19th November 2016, 09:41 AM |#4  
Megatron007's Avatar
Recognized Developer
Flag 183.87.243.173 / Mumbai
Thanks Meter: 3,999
 
Donate to Me
More
Nice Work
The Following 2 Users Say Thank You to Megatron007 For This Useful Post: [ View ]
19th November 2016, 11:04 AM |#5  
TheAvengingTITAN's Avatar
Senior Member
Thanks Meter: 1,263
 
More
Learn to spell script ya skrub. Get gud noob.
The Following 5 Users Say Thank You to TheAvengingTITAN For This Useful Post: [ View ] Gift TheAvengingTITAN Ad-Free
19th November 2016, 11:16 AM |#6  
Recognized Contributor / Recognized Developer
Flag Pune
Thanks Meter: 11,836
 
Donate to Me
More
Great stuff
The Following 2 Users Say Thank You to akhilnarang For This Useful Post: [ View ]
19th November 2016, 01:05 PM |#7  
STRYDER~007's Avatar
Inactive Recognized Developer / Recognized Themer
Flag Pune
Thanks Meter: 9,294
 
Donate to Me
More
Nice work! Building ROMs made easy!
The Following 6 Users Say Thank You to STRYDER~007 For This Useful Post: [ View ] Gift STRYDER~007 Ad-Free
19th November 2016, 02:08 PM |#8  
Vivek_Neel's Avatar
Recognized Contributor / Themer
Flag Chennai
Thanks Meter: 25,067
 
Donate to Me
More
Fantastic!
The Following 3 Users Say Thank You to Vivek_Neel For This Useful Post: [ View ] Gift Vivek_Neel Ad-Free
20th November 2016, 11:11 PM |#9  
dracinn's Avatar
Senior Member
Flag Salem, MO
Thanks Meter: 106
 
More
I'm new at this but I don't believe I'm entering ID nor Branch correctly. This is what I typed for CM14.1 [0] [cm-14.1]
21st November 2016, 12:34 AM |#10  
dracinn's Avatar
Senior Member
Flag Salem, MO
Thanks Meter: 106
 
More
Quote:
Originally Posted by dracinn

I'm new at this but I don't believe I'm entering ID nor Branch correctly. This is what I typed for CM14.1 [0] [cm-14.1]

Update: Sorry I figured it out no brackets.
The Following User Says Thank You to dracinn For This Useful Post: [ View ] Gift dracinn Ad-Free
21st November 2016, 11:03 AM |#11  
Arvind7352's Avatar
OP Senior Member
Flag Mumbai
Thanks Meter: 1,422
 
More
Quote:
Originally Posted by dracinn

Update: Sorry I figured it out no brackets.

Good that you figured it out, I've added a Glossary Section in 2nd post to explain some keywords and various other things in ScriBt.

#HappyScriBting
The Following 2 Users Say Thank You to Arvind7352 For This Useful Post: [ View ] Gift Arvind7352 Ad-Free
Post Reply Subscribe to Thread

Tags
automated, projekt scribt, rom build script, scribt, sync and build

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes