Commit Graph

29 Commits

Author SHA1 Message Date
Satadru Pramanik, DO, MPH, MEng
9f18d1f48a Fix remove such that files from essential packages are not removed. (#10342)
* Fix remove such that essential files are not removed.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* bump version

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-08-23 16:29:18 +10:00
Satadru Pramanik, DO, MPH, MEng
c6b102fece Use grep better to speed up crew remove of packages. (#10309)
* use grep to speed up crew remove

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* bump version

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add back CREW_ESSENTIAL_FILES to handle files like libC.so.6

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust CREW_ESSENTIAL_FILES logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix package_files_that_overlap

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* cleanup output of package_files_that_overlap

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Back out CREW_ESSENTIAL_FILES change, and use Package.load_package('pkg.rb').get_deps_list to find dependent packages of CREW_ESSENTIAL_PACKAGES in commands/remove.rb, and also fix Package.load_package('pkg.rb').get_deps_list to enable using it from commands/remove.rb

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust removal message in crew.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust some punctuation and capitalization.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix pkg_file path detection

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Only use CREW_LOCAL_REPO_ROOT file if it exists.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix ESSENTIAL_PACKAGE dependency expansion.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix essential_deps logic.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust remove logic to return quietly if in_upgrade, else exit 1, and also properly figure out essential_packages list.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix docopt so options like '-d' work.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add suggested changes for testing, add testing file for remove.rb, also in testing.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more testing

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move recursive package function to package.rb

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust function name.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* simplify

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* simplify

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use File.mtime for @last_update_check as per suggestion by @Zopolis4.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move essential package determination to crew:generate_compatible.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move load_json and save_json to package_utils and just use symbols for the json array in remove and package_utils.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Unify json usage globally.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix one remove test.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update remove.rb test.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* cleanup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust remove test.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Try to use new Unit Tests...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix installsh: git config --local commands cannot be run unless the git repo is already setup.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move json functions to package_utils.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix docopt for real, add docopt unit test, have install.sh generate ruby gem filelists just like a regular buildsystems/ruby gem install.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use CREW_META_PATH in install.sh.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Cleanup remove.rb tests.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add 'crew list essential'.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add unit test for list command.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Cleanup remove.rb test.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Cleanup wording.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move print_deps_tree to lib/package.rb.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Return changes from #10317

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-08-17 14:09:09 -05:00
Satadru Pramanik, DO, MPH, MEng
5621163c84 Refactor ruby gems in packages, crew cleanup of debugging, install.sh refactor for gems (#10294)
* Some ruby gem updates and cleanup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* bump version

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* move gem installs to core install

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add webkitgtk_6 binaries for x86_64, add librsvg binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add rebuilt librsvg binary for x86_64.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* rename gem function internals to make more sense

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust webkitgtk_6 deps

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update ruby gem packages, add a ruby gem package update script to tools

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* rebuild parted

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add parted binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* refactor ruby buildsystem

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add libsdl2, freerdp binaries

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* sync crew function to lib/fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* shellcheck fix

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add const for CREW_UPDATE_CHECK_INTERVAL

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Move time_difference into function for neatness.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes from @uberhacker

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* @Zopolis4 suggested change: Use git last update time

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add .blank? usage to downloader to avoid undefined method `empty?' for nil (NoMethodError)

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-08-13 11:25:39 -05:00
SupeChicken666
91f0f2ac98 lib/package: Get rid of eval strings (#10117)
* lib/package: Cleanup functions, get rid of `eval` strings

Signed-off-by: supechicken <me@supechicken666.dev>

* Fix error

Signed-off-by: supechicken <me@supechicken666.dev>

* Fix error

Signed-off-by: supechicken <me@supechicken666.dev>

* Add comments

Signed-off-by: supechicken <me@supechicken666.dev>

* Make rubocop happy

Signed-off-by: supechicken <me@supechicken666.dev>

* Fix error

Signed-off-by: supechicken <me@supechicken666.dev>

* Simplify

Signed-off-by: supechicken <me@supechicken666.dev>

* Bump crew version

Signed-off-by: supechicken <me@supechicken666.dev>

---------

Signed-off-by: supechicken <me@supechicken666.dev>
2024-07-10 14:49:10 -05:00
Maximilian Downey Twiss
33901368d7 Enable more rubocop cops (#9980)
* Remove self.check in python3.rb as tests were not actuallly being run

* Enable Lint/ImplicitStringConcatenation cop

* Enable Layout/CommentIndentation cop

* Remove unnecessary configuration of Layout/IndentationStyle to EnforcedStyle: spaces, as this is already the default

* Enable Layout/LeadingCommentSpace cop

* Enable Layout/SpaceInsideBlockBraces cop

* Enable Layout/SpaceInsideParens cop

* Enable Layout/TrailingEmptyLines cop

* Enable Lint/LiteralAsCondition cop

* Document the current issue stopping us from enabling Style/OptionalBooleanParameter

* Stop downloading our rubocop config when installing ruby_rubocop
2024-06-17 16:19:11 -04:00
Satadru Pramanik, DO, MPH, MEng
030eed2f1d Only access filelist and directorylist in remove function if they exist. (#9911)
Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-06-05 17:03:28 -05:00
Ed Reel
c897fde406 Fix crew help search (#9843) 2024-05-24 16:32:43 -04:00
Maximilian Downey Twiss
660211dbc8 Split search command into separate file (#9833) 2024-05-22 01:36:45 -05:00
Maximilian Downey Twiss
e0ff6b1c0e Split whatprovides command into separate file (#9828) 2024-05-20 22:59:15 -05:00
Maximilian Downey Twiss
c522b1744a Fix removing packages (#9771) 2024-05-08 19:39:21 -04:00
Maximilian Downey Twiss
fe3eba4fd4 Properly handle fake packages in commands/files.rb (#9769) 2024-05-08 19:10:26 -04:00
Ed Reel
45fe6cb4c6 Fix fake package removal bug (#9766) 2024-05-08 05:02:27 -04:00
Ed Reel
71b9e0d95f Remove restriction to remove a package (#9752) 2024-05-05 22:06:52 -04:00
Satadru Pramanik, DO, MPH, MEng
206d4acea0 Ruby rebuild + cmake => 3.29.2 (#9643)
* ruby update against 3.3 git

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* cmake => 3.29.2

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* trigger crew upgrade automatically when rerun_upgrade is set

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add at_exit hook for rerun_upgrade

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debugging upgrade...

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* escape

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* refactor CREW_ESSENTIAL_PACKAGES to allow for upgrades

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more debug changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add save_json function

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use rescue for device.json backup logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* use crewlog fxn for logging

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust cmake build

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* udpate ruby package

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update location of CREW_ESSENTIAL_PACKAGES

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use rescue block in save_json

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use distcc in CREW_NPROC calculation

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* rebuild cmake on arm

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add quoting to grep command in commands/remove

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* eliminate @device_json usage

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* adjust exit logic

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* remove redundant line

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-04-13 19:55:04 -05:00
Satadru Pramanik, DO, MPH, MEng
e89be60b8a Fix crew upgrade, llvm => 18.1.3, upx => 4.2.3, update ca-certificates (#9641)
* llvm => 18.1.3, upx => 4.2.3

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* update ca_certificates

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix verbose crew remove

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* bump crew version

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update ca_certificates postinstall

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add verbose pkg is fake check to crew

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add color

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add more verbosity to crew is_fake report

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* better is_fake debug reporting

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* more debug verbosity

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adding attr_accessor to all boolean_property entries appears to fix #9642

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* debug cleanup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fix ca_certificates date

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add more is_fake debug code

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Update debug code, add suggested changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* fixup

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* further debugging code added

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* further debugging code added

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Adjust is_fake to is_fake?

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* revert package.rb changes

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* add binaries properly for llvm18

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* cleanup debug code

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* readd space

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-04-12 14:31:34 -05:00
Maximilian Downey Twiss
8b19dcd05a Add lib/package_utils.rb to provide a number of package convenience functions. (#9617) 2024-04-10 13:00:04 -05:00
Satadru Pramanik, DO, MPH, MEng
e133fa9430 Allow package removal to not error out on missing files, in case of files from a package having been manually removed (#9625)
* Allow package removal to not error out on missing files.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Use FileUtils to allow Exception option

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-04-09 20:43:19 -05:00
Ed Reel
c141f4631d Update CREW_COMMANDS constant and replace hardcoded Available commmands (#9604) 2024-04-05 18:56:58 +11:00
Maximilian Downey Twiss
6c67b9fe98 Split file command into separate file (#9601) 2024-04-05 00:25:56 -05:00
Maximilian Downey Twiss
14a81ec42c Split remove command into separate file (#9529) 2024-04-04 19:11:36 +08:00
Maximilian Downey Twiss
d13b6dbf9b Split prop command into separate file (#9514) 2024-04-03 02:23:27 -05:00
Maximilian Downey Twiss
c6e3570062 Fix hardcoded device.json path in commands/list.rb (#9523) 2024-03-22 21:01:08 -04:00
Maximilian Downey Twiss
cb0227394d Split sysinfo command into separate file (#9513) 2024-03-20 20:20:57 -05:00
Ed Reel
7c17beeee7 Add check command (#9501) 2024-03-20 08:46:01 -04:00
Maximilian Downey Twiss
a634199dc0 Split list command into separate file (#9454) 2024-03-09 19:05:15 -05:00
Ed Reel
60d51d58a3 Add crew test command (#9446) 2024-03-07 07:29:10 -05:00
Satadru Pramanik, DO, MPH, MEng
a7292dd91c Add no_source_build property (#9444)
* Add no_source_build functionality

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Add to help.rb

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
2024-03-06 21:04:32 -06:00
Maximilian Downey Twiss
2a48058428 Split const command out into separate file (#9445) 2024-03-06 21:43:13 -05:00
Maximilian Downey Twiss
925a461efb Split out help command to separate file (#9392) 2024-02-26 16:21:11 -06:00