PackageKit: Remove hard coded first boot package processing scripts.

Once change 2342 is in place (running first boot scripts exported from
packages), see https://review.haiku-os.org/c/haiku/+/2342,
remove data/system/boot/post_install/add_catalog_entry_attributes.sh
and related support infrastructure (magic files, launch_roster entries).

The work this script did can in fact be done at image creation time
instead of at first boot.

Change-Id: I485e1a0a87c3e6a6ba3f882e65996f2327134d37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3751
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Alexander G. M. Smith
2021-05-14 16:08:17 +00:00
committed by Adrien Destugues
parent a4caca440c
commit b5efad4eae
21 changed files with 38 additions and 109 deletions
+2 -1
View File
@@ -3,7 +3,7 @@
# create directories that may remain empty # create directories that may remain empty
AddDirectoryToHaikuImage home : home.rdef ; AddDirectoryToHaikuImage home : home.rdef ;
AddDirectoryToHaikuImage home Desktop ; AddDirectoryToHaikuImage home Desktop : home-desktop.rdef ;
AddDirectoryToHaikuImage home mail ; AddDirectoryToHaikuImage home mail ;
AddDirectoryToHaikuImage home config : home-config.rdef ; AddDirectoryToHaikuImage home config : home-config.rdef ;
AddDirectoryToHaikuImage home config cache ; AddDirectoryToHaikuImage home config cache ;
@@ -42,6 +42,7 @@ AddDirectoryToHaikuImage system non-packaged add-ons Screen\ Savers ;
AddDirectoryToHaikuImage system non-packaged add-ons Translators ; AddDirectoryToHaikuImage system non-packaged add-ons Translators ;
AddDirectoryToHaikuImage system var empty ; AddDirectoryToHaikuImage system var empty ;
AddDirectoryToHaikuImage system var log ; AddDirectoryToHaikuImage system var log ;
AddDirectoryToHaikuImage trash : trash.rdef ;
#pragma mark - Optional Packages #pragma mark - Optional Packages
-5
View File
@@ -277,11 +277,6 @@ SEARCH on $(networkSettingsFiles)
= [ FDirName $(HAIKU_TOP) data settings network ] ; = [ FDirName $(HAIKU_TOP) data settings network ] ;
AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ; AddFilesToHaikuImage system settings network : $(networkSettingsFiles) ;
# fresh install indicator file for the post install scripts
SEARCH on <post-install>fresh_install
= [ FDirName $(HAIKU_TOP) data system settings ] ;
AddFilesToHaikuImage system settings : <post-install>fresh_install ;
# repository config and cache files # repository config and cache files
local repository ; local repository ;
for repository in $(HAIKU_REPOSITORIES) { for repository in $(HAIKU_REPOSITORIES) {
+10 -4
View File
@@ -250,9 +250,13 @@ SYSTEM_ADD_ONS_FILE_SYSTEMS +=
; ;
# Mailbox folders and symlink # Mailbox folders and symlink
AddDirectoryToHaikuImage home mail draft ; AddDirectoryToHaikuImage home mail : home-mail.rdef ;
AddDirectoryToHaikuImage home mail in ; AddDirectoryToHaikuImage home mail draft : home-mail-draft.rdef ;
AddDirectoryToHaikuImage home mail out ; AddDirectoryToHaikuImage home mail in : home-mail-in.rdef ;
AddDirectoryToHaikuImage home mail out : home-mail-out.rdef ;
AddDirectoryToHaikuImage home mail queries : home-mail-queries.rdef ;
AddDirectoryToHaikuImage home mail sent : home-mail-sent.rdef ;
AddDirectoryToHaikuImage home mail spam : home-mail-spam.rdef ;
# Add boot launch directory # Add boot launch directory
AddDirectoryToHaikuImage home config settings boot launch ; AddDirectoryToHaikuImage home config settings boot launch ;
@@ -262,6 +266,8 @@ AddFilesToHaikuImage home config settings Mail ProviderInfo :
$(HAIKU_PROVIDER_INFOS) ; $(HAIKU_PROVIDER_INFOS) ;
# Add Tracker New Templates # Add Tracker New Templates
AddDirectoryToHaikuImage home config settings Tracker "Tracker New Templates"
: tracker-new-templates.rdef ;
AddFilesToHaikuImage home config settings Tracker "Tracker New Templates" AddFilesToHaikuImage home config settings Tracker "Tracker New Templates"
: :
"<tracker-new-templates>C++ header" "<tracker-new-templates>C++ header"
@@ -278,4 +284,4 @@ AddDirectoryToHaikuImage home config settings printers "Save as PDF"
: home-config-settings-printers-save-as-pdf.rdef ; : home-config-settings-printers-save-as-pdf.rdef ;
# padblocker # padblocker
AddDirectoryToHaikuImage home config settings touchpad ; AddDirectoryToHaikuImage home config settings touchpad ;
+11 -10
View File
@@ -135,13 +135,7 @@ local userLaunchScripts = <data!launch>user ;
SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ; SEARCH on $(userLaunchScripts) = [ FDirName $(HAIKU_TOP) data launch ] ;
AddFilesToPackage data user_launch : $(userLaunchScripts) ; AddFilesToPackage data user_launch : $(userLaunchScripts) ;
# post install + first login scripts # first login scripts
local postInstallFiles = add_catalog_entry_attributes.sh ;
postInstallFiles = $(postInstallFiles:G=post-install) ;
SEARCH on $(postInstallFiles)
= [ FDirName $(HAIKU_TOP) data system boot post_install ] ;
AddFilesToPackage boot post-install : $(postInstallFiles) ;
local firstLoginFiles = default_deskbar_items.sh ; local firstLoginFiles = default_deskbar_items.sh ;
firstLoginFiles = $(firstLoginFiles:G=first-login) ; firstLoginFiles = $(firstLoginFiles:G=first-login) ;
SEARCH on $(firstLoginFiles) SEARCH on $(firstLoginFiles)
@@ -275,21 +269,27 @@ AddDirectoryToPackage preferences : system-preferences.rdef ;
# Deskbar menu symlinks # Deskbar menu symlinks
# "Applications" links
local linkTarget ; local linkTarget ;
# "Applications" links
AddDirectoryToPackage data deskbar menu Applications
: deskbar-applications.rdef ;
for linkTarget in $(DESKBAR_APPLICATIONS) { for linkTarget in $(DESKBAR_APPLICATIONS) {
AddSymlinkToPackage data deskbar menu Applications AddSymlinkToPackage data deskbar menu Applications
: ../../../../apps/$(linkTarget) : $(linkTarget) ; : ../../../../apps/$(linkTarget) : $(linkTarget) ;
} }
# "Desktop applets" links # "Desktop applets" links
AddDirectoryToPackage data deskbar menu Desktop\ applets
: deskbar-applets.rdef ;
for linkTarget in $(DESKBAR_DESKTOP_APPLETS) { for linkTarget in $(DESKBAR_DESKTOP_APPLETS) {
AddSymlinkToPackage data deskbar menu Desktop\ applets AddSymlinkToPackage data deskbar menu Desktop\ applets
: ../../../../apps/$(linkTarget) : $(linkTarget) ; : ../../../../apps/$(linkTarget) : $(linkTarget) ;
} }
# "Preferences" links # "Preferences" links
AddDirectoryToPackage data deskbar menu Preferences ; AddDirectoryToPackage data deskbar menu Preferences
: deskbar-preferences.rdef ;
DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ; DESKBAR_PREFERENCES = $(SYSTEM_PREFERENCES:B) ;
for linkTarget in $(DESKBAR_PREFERENCES) { for linkTarget in $(DESKBAR_PREFERENCES) {
AddSymlinkToPackage data deskbar menu Preferences AddSymlinkToPackage data deskbar menu Preferences
@@ -298,7 +298,8 @@ for linkTarget in $(DESKBAR_PREFERENCES) {
} }
# "Demo" links # "Demo" links
AddDirectoryToPackage data deskbar menu Demos ; AddDirectoryToPackage data deskbar menu Demos
: deskbar-demos.rdef ;
for linkTarget in $(SYSTEM_DEMOS) { for linkTarget in $(SYSTEM_DEMOS) {
AddSymlinkToPackage data deskbar menu Demos AddSymlinkToPackage data deskbar menu Demos
: ../../../../demos/$(linkTarget) : $(linkTarget) ; : ../../../../demos/$(linkTarget) : $(linkTarget) ;
-5
View File
@@ -73,11 +73,6 @@ job x-vnd.Haiku-cddb_lookup {
on volume_mounted on volume_mounted
} }
job post-install {
launch /bin/sh /system/boot/PostInstallScript "post install" /boot/system/settings/fresh_install /boot/system/boot/post-install
if file_exists /boot/system/settings/fresh_install
}
target login { target login {
job x-vnd.Haiku-autologin { job x-vnd.Haiku-autologin {
launch /system/bin/autologin launch /system/bin/autologin
@@ -1,83 +0,0 @@
#!/bin/sh
WriteCatalogEntryAttribute()
{
# $1 : signature
# $2 : path
# $3 : context
if ! [ -e "$2" ]
then
mkdir --parents "$2"
fi
addattr -t string SYS:NAME "$1:$3:$(basename "$2")" "$2"
}
WriteTrackerCatalogEntryAttribute()
{
WriteCatalogEntryAttribute "x-vnd.Haiku-libtracker" "$1" "$2"
}
WriteDeskbarCatalogEntryAttribute()
{
WriteCatalogEntryAttribute "x-vnd.Be-TSKB" "$1" "$2"
}
WriteMailCatalogEntryAttribute()
{
WriteCatalogEntryAttribute "x-vnd.Be-MAIL" "$1" "$2"
}
# TODO: Several of the directories are read-only, so this doesn't work.
WriteTrackerCatalogEntryAttribute \
"$(finddir B_DESKTOP_DIRECTORY)" B_DESKTOP_DIRECTORY
WriteTrackerCatalogEntryAttribute \
"$(finddir B_USER_SETTINGS_DIRECTORY)/Tracker/Tracker New Templates" \
"B_USER_SETTINGS_DIRECTORY/Tracker/Tracker New Templates"
WriteTrackerCatalogEntryAttribute \
"$(finddir B_TRASH_DIRECTORY)" B_TRASH_DIRECTORY
WriteDeskbarCatalogEntryAttribute \
"$(finddir B_USER_DESKBAR_DIRECTORY)/Applications" "B_USER_DESKBAR_DIRECTORY/Applications"
WriteDeskbarCatalogEntryAttribute \
"$(finddir B_USER_DESKBAR_DIRECTORY)/Demos" "B_USER_DESKBAR_DIRECTORY/Demos"
WriteDeskbarCatalogEntryAttribute \
"$(finddir B_USER_DESKBAR_DIRECTORY)/Desktop applets" "B_USER_DESKBAR_DIRECTORY/Desktop applets"
WriteDeskbarCatalogEntryAttribute \
"$(finddir B_USER_DESKBAR_DIRECTORY)/Preferences" "B_USER_DESKBAR_DIRECTORY/Preferences"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail" "B_USER_DIRECTORY/mail"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/draft" "B_USER_DIRECTORY/mail/draft"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/in" "B_USER_DIRECTORY/mail/in"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/out" "B_USER_DIRECTORY/mail/out"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/queries" "B_USER_DIRECTORY/mail/queries"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/sent" "B_USER_DIRECTORY/mail/sent"
WriteMailCatalogEntryAttribute \
"$(finddir B_USER_DIRECTORY)/mail/spam" "B_USER_DIRECTORY/mail/spam"
-1
View File
@@ -1 +0,0 @@
This file is only supposed to exist on fresh Haiku installations.
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-TSKB:B_USER_DESKBAR_DIRECTORY/Desktop applets:Desktop applets";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-TSKB:B_USER_DESKBAR_DIRECTORY/Applications:Applications";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-TSKB:B_USER_DESKBAR_DIRECTORY/Demos:Demos";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-TSKB:B_USER_DESKBAR_DIRECTORY/Preferences:Preferences";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Haiku-libtracker:B_DESKTOP_DIRECTORY:home";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/draft:draft";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/in:in";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/out:out";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/queries:queries";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/sent:sent";
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail/spam:spam";
+1
View File
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Be-MAIL:B_USER_DIRECTORY/mail:mail";
@@ -0,0 +1,2 @@
resource(0, "SYS:NAME") "x-vnd.Haiku-libtracker:B_USER_SETTINGS_DIRECTORY/Tracker/Tracker New Templates:Tracker New Templates";
+1
View File
@@ -0,0 +1 @@
resource(0, "SYS:NAME") "x-vnd.Haiku-libtracker:B_TRASH_DIRECTORY:Trash";